feat: algo-agnostic canonical ID validators + Tier 3b Pydantic boundary tests
- Change _GENESIS_ID_RE and _OBJECT_ID_RE from sha256-only to ^[a-z][a-z0-9]*:[0-9a-f]{32,}$ so future hash upgrades (blake3, sha3-256, …) require no validator change - Add missing @field_validator to ProposalReviewResponse, ReleaseAssetResponse, WireTagInput, CreateRepoRequest.template_repo_id, IssueCommentCreate.parent_id, ProposalCommentCreate.parent_comment_id, WireFetchRequest, WireNegotiateRequest - Add Tier 3b test class (TestPydanticBoundaryWireModels, TestPydanticBoundaryResponseModels, TestPydanticBoundaryOptionalFields) verifying canonical-ID enforcement at the Pydantic validation boundary - Fix missing datetime import in test file - 72 passed, 4 skipped (Tier 4 skipped pending muse.core.genesis CLI module)
sha256:5956c96de2415b19a6bf7d4b4b1c3950b1d9dea47a2f33b561bb3befbbc354f8
sha
+62
~13
−2
symbols
sha256:11c8d315a42e37b448f1b091ce8e11ac2aaf5396282e1523e3e17fc655813a7d
snapshot
+62
symbols added
~13
symbols modified
−2
symbols removed
0
dead code introduced
Semantic Changes
77 symbols
+
test_create_repo_template_future_algo
method
method test_create_repo_template_future_algo L411–413
+
test_issue_comment_parent_future_algo
method
method test_issue_comment_parent_future_algo L426–428
+
test_proposal_comment_parent_bad_uuid
method
method test_proposal_comment_parent_bad_uuid L445–450
+
test_proposal_comment_parent_future_algo
method
method test_proposal_comment_parent_future_algo L441–443
+
test_proposal_review_accepts_future_algo
method
method test_proposal_review_accepts_future_algo L359–364
+
test_proposal_review_rejects_bad_proposal_id
method
method test_proposal_review_rejects_bad_proposal_id L352–357
+
test_release_asset_accepts_future_algo
method
method test_release_asset_accepts_future_algo L380–385
+
test_release_asset_rejects_bad_asset_id
method
method test_release_asset_rejects_bad_asset_id L366–371
+
test_release_asset_rejects_bad_release_id
method
method test_release_asset_rejects_bad_release_id L373–378
+
test_fetch_request_accepts_valid_and_future_ids
method
method test_fetch_request_accepts_valid_and_future_ids L325–327
+
test_negotiate_request_accepts_future_algo
method
method test_negotiate_request_accepts_future_algo L337–339
+
test_negotiate_request_rejects_bad_have
method
method test_negotiate_request_rejects_bad_have L329–331
+
test_negotiate_request_rejects_bad_want
method
method test_negotiate_request_rejects_bad_want L333–335
+
test_wire_commit_rejects_bad_commit_id
method
method test_wire_commit_rejects_bad_commit_id L292–295
+
test_wire_object_rejects_bad_object_id
method
method test_wire_object_rejects_bad_object_id L309–311
+
test_wire_snapshot_accepts_future_algo
method
method test_wire_snapshot_accepts_future_algo L305–307
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:5956c96de2415b19a6bf7d4b4b1c3950b1d9dea47a2f33b561bb3befbbc354f8 --body "your comment"
No comments yet. Be the first to start the discussion.