Skip to content

Commit 267e8cc

Browse files
0xLeifcursoragent
andauthored
Fix: tolerate inert 5.0.1 registry.toml stubs during module resolution (CHG-0059) (#405)
* Update: repair adoption-era archived ledgers via exact-delivery ownership in legacy reconstruction (CHG-0056) * Update: add native 5.0 to 5.1 change-ledger migration with idempotent reopening digest backfill (CHG-0057, CHG-0058) * Update: reverify and reaccept CHG-0056 against canonical change contract version 42 * Update: re-verify CHG-0055–0058 after merging main (#403) Reconcile batch correct-owner with migrate backfill evidence so accepted changes stay exact against the combined canonical contract. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix: tolerate inert 5.0.1 registry.toml stubs during module resolution (CHG-0059) Treat empty legacy registry stubs as absent so canonical_module_paths falls back to conventional specs/<module>/ paths, while non-inert unparsable registries keep the established fail-closed diagnostic. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 82fed88 commit 267e8cc

38 files changed

Lines changed: 1656 additions & 93 deletions

File tree

.specsync/change-sequence.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"schema_version": 1,
3-
"sequence": 58,
4-
"id": "CHG-0058-cover-the-chg-0057-delivery-scope-for-the-src-main-rs-migrate-subcommand-dispatc",
3+
"sequence": 59,
4+
"id": "CHG-0059-tolerate-inert-5-0-1-registry-toml-stubs-so-module-resolution-falls-back-to-defa",
55
"acknowledged_collisions": [
66
{
77
"sequence": 16,

.specsync/changes/CHG-0055-batch-mode-for-change-correct-owner-so-multiple-omitted-exact-canonical-owners-c/approvals.json

Lines changed: 265 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@
5555
"timestamp": 1784476017,
5656
"digest": "e7f3da555270f42a6d235aabdb350e3846415a1a70b8f669b37f96a8e85b14c1",
5757
"note": "Reaccepted after merging origin/main batch correct-owner with migrate backfill on the reconciled change contract."
58+
},
59+
{
60+
"gate": "acceptance",
61+
"actor": "0xLeif",
62+
"timestamp": 1784484681,
63+
"digest": "775b8819a17485eff6f4c033403192d8a7bbe4193b2a117ff18a25597aa3088f",
64+
"note": "Reaccepted after CHG-0059 advanced the change contract to version 43."
5865
}
5966
],
6067
"reopenings": [
@@ -573,6 +580,264 @@
573580
},
574581
"stale_acceptance_input_digest": "0604080dc4dda1cc5e89ed32ffe267af93ba776ff3a6d8e83fe0ad89b2b0d660",
575582
"current_acceptance_input_digest": "2e67921421b886bfb28485c4616d1635dc1787ac76e1100e5317dc59ced55856"
583+
},
584+
{
585+
"schema_version": 1,
586+
"change_id": "CHG-0055-batch-mode-for-change-correct-owner-so-multiple-omitted-exact-canonical-owners-c",
587+
"actor": "0xLeif",
588+
"reason": "Accepted CHG-0059 advanced specs/change/change.spec.md to version 43; re-verifying predecessor evidence against the current canonical contract.",
589+
"timestamp": 1784484171,
590+
"from_state": "accepted",
591+
"to_state": "verifying",
592+
"superseded_approval": {
593+
"gate": "acceptance",
594+
"actor": "0xLeif",
595+
"timestamp": 1784476017,
596+
"digest": "e7f3da555270f42a6d235aabdb350e3846415a1a70b8f669b37f96a8e85b14c1",
597+
"note": "Reaccepted after merging origin/main batch correct-owner with migrate backfill on the reconciled change contract."
598+
},
599+
"prior_verification": {
600+
"timestamp": 1784476001,
601+
"commit": "3e0c04922e0224a80a56605dc112907cc2deef75",
602+
"contract_digest": "af93fb6f06e0e2ee84d7ca7b9ba41e0d7aa2268bc92198a7905652aea448c42d",
603+
"workspace_digest": "4b117689f5db1cbd33e9cd2936f98d290d19ef04ba156de1702518e3f403fbe2",
604+
"acceptance_input_digest": "2e67921421b886bfb28485c4616d1635dc1787ac76e1100e5317dc59ced55856",
605+
"acceptance_manifest": {
606+
"schema_version": 1,
607+
"entries": [
608+
{
609+
"path": ".specsync/change-sequence.json",
610+
"kind": "file",
611+
"mode": 33188,
612+
"payload_digest": "331a494d1a61db9d13a596ba13b193b51e8f0ddc1c8eb543acc17f188276c62b",
613+
"entry_digest": "1c3deb612864ed99530fc03a9b290bca8fa2185a86f2496eb37f5e5090aaaa19",
614+
"owners": [
615+
"@exact:delivery"
616+
]
617+
},
618+
{
619+
"path": "specs/change/change.spec.md",
620+
"kind": "file",
621+
"mode": 33188,
622+
"payload_digest": "037df3ce210386d57f0a7009465aabbafb576939fc45677d3e32f199c282de14",
623+
"entry_digest": "822808e907def02017aa32e8874705832e29919e1e4b77660ae21d8ced963774",
624+
"owners": [
625+
"change"
626+
]
627+
},
628+
{
629+
"path": "specs/change/context.md",
630+
"kind": "file",
631+
"mode": 33188,
632+
"payload_digest": "3bfb16fdea7f60b0ea864c03fffb5dc2c4771462139371236eb1f60e29bbfd69",
633+
"entry_digest": "f54f9de3dc3f22c53fcb85cc0d0a58545073a7493d9c6bb887872a85d1ed37f6",
634+
"owners": [
635+
"change"
636+
]
637+
},
638+
{
639+
"path": "specs/change/requirements.md",
640+
"kind": "file",
641+
"mode": 33188,
642+
"payload_digest": "0bb43ef7aeee149fc584827efd62abc30cfe01d0643e34aa74c0f127a33d2564",
643+
"entry_digest": "a6034c6d124d65f522ef1ce07aab9a1842b2f8ba1c273b8b9da3fbcf81881b0a",
644+
"owners": [
645+
"change"
646+
]
647+
},
648+
{
649+
"path": "specs/change/tasks.md",
650+
"kind": "file",
651+
"mode": 33188,
652+
"payload_digest": "d431a84ea9f86f010e3f9fdd3179de6d4accf68835383adfec76304e6db0e7dd",
653+
"entry_digest": "681758ce659ee101ccb4db96920967aa26cf54cacc9386d406e380c97f772dce",
654+
"owners": [
655+
"change"
656+
]
657+
},
658+
{
659+
"path": "specs/change/testing.md",
660+
"kind": "file",
661+
"mode": 33188,
662+
"payload_digest": "bcd6a4b7e7ed0733aea71d71e9d295c2e2aa90b9fce296629b3e2dcb921bc86b",
663+
"entry_digest": "938a401b5bb08f8a56f64abd51d5066eb3e81d0f6849c5a805ef751bae9245ae",
664+
"owners": [
665+
"change"
666+
]
667+
},
668+
{
669+
"path": "specs/cli_args/cli_args.spec.md",
670+
"kind": "file",
671+
"mode": 33188,
672+
"payload_digest": "e367473b255a8b3d8303b16853a2246af999fc96a24326bed803098d6199f2b4",
673+
"entry_digest": "965d774874a2f4c87f473b54e3f0c477a57ff416780f37035e317799f5da9776",
674+
"owners": [
675+
"cli_args"
676+
]
677+
},
678+
{
679+
"path": "specs/cli_args/context.md",
680+
"kind": "file",
681+
"mode": 33188,
682+
"payload_digest": "52505f42090904698eebe55dae4994e1ebd57430252257ae88d7297c91ded39b",
683+
"entry_digest": "e8a52e60fe50c81bcdefb0202e68257a18f39eaa0708ec83d0aac2d9b8e9a25a",
684+
"owners": [
685+
"cli_args"
686+
]
687+
},
688+
{
689+
"path": "specs/cli_args/requirements.md",
690+
"kind": "file",
691+
"mode": 33188,
692+
"payload_digest": "a37c8fca47e4ca8717aa653e9eec696ce2c71cce39f9535b25b8ea3f30d044d9",
693+
"entry_digest": "6af08a9410fddb8d780c4f25b0abea945657222dff26060ab49dee3aa7f4968c",
694+
"owners": [
695+
"cli_args"
696+
]
697+
},
698+
{
699+
"path": "specs/cli_args/tasks.md",
700+
"kind": "file",
701+
"mode": 33188,
702+
"payload_digest": "7399641da5f2f10eb2275204556a5988fb302ba98c1811861e27db733be0d697",
703+
"entry_digest": "1a48806324b3b8d2da8ebad83f54b2f2b80e3e6c54f0cf82af8a9c9ceca8e6e3",
704+
"owners": [
705+
"cli_args"
706+
]
707+
},
708+
{
709+
"path": "specs/cli_args/testing.md",
710+
"kind": "file",
711+
"mode": 33188,
712+
"payload_digest": "d235cc36328724f46bf5fefcd7efec6f72798d7a12f9eb418d3f305628f4c1d2",
713+
"entry_digest": "aacbd3f130c8990fc5bc527eae4300b37c969ea3391b285d53997b48a74264c4",
714+
"owners": [
715+
"cli_args"
716+
]
717+
},
718+
{
719+
"path": "specs/cmd_change/cmd_change.spec.md",
720+
"kind": "file",
721+
"mode": 33188,
722+
"payload_digest": "8da53aed79b0570683fb12fffde7282ec9462c1045ed8cae52ce82130b75a838",
723+
"entry_digest": "148057f82bc5bb136eb597542ad1ef0da37fa72fdcbb46a2d91f24f5e4a3226a",
724+
"owners": [
725+
"cmd_change"
726+
]
727+
},
728+
{
729+
"path": "specs/cmd_change/context.md",
730+
"kind": "file",
731+
"mode": 33188,
732+
"payload_digest": "57c46fb5db60973e1ce189eb1eba6fb0023eea805502842c8ed01abad0450511",
733+
"entry_digest": "c28087a70cd4e45a7556e2a23e672543fdd7d7524ff18490381a248eb0385e7f",
734+
"owners": [
735+
"cmd_change"
736+
]
737+
},
738+
{
739+
"path": "specs/cmd_change/requirements.md",
740+
"kind": "file",
741+
"mode": 33188,
742+
"payload_digest": "b128cf08327f8b292b35cd91783fcf31bdb8c703f5dc27d5ec68b49d0a47d898",
743+
"entry_digest": "e7cd40c2140c3df0f940944aa09ef9b73ab85914b2c7ee171c375b054eb9c7e1",
744+
"owners": [
745+
"cmd_change"
746+
]
747+
},
748+
{
749+
"path": "specs/cmd_change/tasks.md",
750+
"kind": "file",
751+
"mode": 33188,
752+
"payload_digest": "801cc7885ccf2c83c5201e7f669a80a91c6227f92d23a16b8e1c4b648b58648d",
753+
"entry_digest": "26d8a7977e767af25c1ab7936dec1820c4e68bab40463795619cd51b105b7d53",
754+
"owners": [
755+
"cmd_change"
756+
]
757+
},
758+
{
759+
"path": "specs/cmd_change/testing.md",
760+
"kind": "file",
761+
"mode": 33188,
762+
"payload_digest": "a74290a3fd5164cff9f5091810c18f84ddfcde5515a36863c638cad3e7127b09",
763+
"entry_digest": "95b5b719353d3eb5f7a099caa8ebc62c559327c6714da9d54ef8a40e74b2073a",
764+
"owners": [
765+
"cmd_change"
766+
]
767+
},
768+
{
769+
"path": "src/change.rs",
770+
"kind": "file",
771+
"mode": 33188,
772+
"payload_digest": "cbbee0112fcad50e89ae0e34b562afc8574725fa2cadbf71fdda7f5772e86e9a",
773+
"entry_digest": "16591f294b54d021f5a6221b216639f249266a8e8aaaa76e736fd7504cdee016",
774+
"owners": [
775+
"change"
776+
]
777+
},
778+
{
779+
"path": "src/cli.rs",
780+
"kind": "file",
781+
"mode": 33188,
782+
"payload_digest": "88b2f5238a23eac77b1b14e162929e23afcb6002af9e6d8c7a4ddd4a86978282",
783+
"entry_digest": "5dcedf2ba5f9daffa406d953509ebcb96ecdd4b301b738bf0f51f0d5adfce402",
784+
"owners": [
785+
"cli_args"
786+
]
787+
},
788+
{
789+
"path": "src/commands/change.rs",
790+
"kind": "file",
791+
"mode": 33188,
792+
"payload_digest": "4301a846e88681df07f03e48638753fad942b3fa134bfed80c8abfa37db9a960",
793+
"entry_digest": "95316dff4b68072f750fdf36382965a918f52283b4ea74290a40056c8d350c07",
794+
"owners": [
795+
"cmd_change"
796+
]
797+
},
798+
{
799+
"path": "tests/integration/change.rs",
800+
"kind": "file",
801+
"mode": 33188,
802+
"payload_digest": "f158bee2a860ca87f659e5ce74d982e12d0a6f3607be8ff3cae98e3b23238f91",
803+
"entry_digest": "cf6496c5236dfd3d7cd42039c8992f7bba87e53e9e48a37d38e7746c13d62bd4",
804+
"owners": [
805+
"@exact:test"
806+
]
807+
}
808+
]
809+
},
810+
"passed": true,
811+
"commands": [
812+
{
813+
"command": "ruby --version",
814+
"success": true,
815+
"exit_code": 0
816+
},
817+
{
818+
"command": "cargo test",
819+
"success": true,
820+
"exit_code": 0
821+
},
822+
{
823+
"command": "python3 -S .github/scripts/validate-release-version.py",
824+
"success": true,
825+
"exit_code": 0
826+
},
827+
{
828+
"command": "python3 -S .github/scripts/validate-workflow-runtime-pins.py",
829+
"success": true,
830+
"exit_code": 0
831+
}
832+
],
833+
"requirement_ids": [
834+
"REQ-change-038",
835+
"REQ-cli-args-006",
836+
"REQ-cmd-change-004"
837+
]
838+
},
839+
"stale_acceptance_input_digest": "2e67921421b886bfb28485c4616d1635dc1787ac76e1100e5317dc59ced55856",
840+
"current_acceptance_input_digest": "a0bdafd5f2e2c602dd7134a8163d1c4791c067415dffe6c088a7c053b625f836"
576841
}
577842
]
578843
}

.specsync/changes/CHG-0055-batch-mode-for-change-correct-owner-so-multiple-omitted-exact-canonical-owners-c/state.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"canonical_applied": true,
1010
"base_commit": "37120cb60407efed08b4868858e76fb847d1ee9d",
1111
"created_at": 1784427492,
12-
"updated_at": 1784476017,
12+
"updated_at": 1784484681,
1313
"affected_specs": [
1414
"change",
1515
"cli_args",

.specsync/changes/CHG-0055-batch-mode-for-change-correct-owner-so-multiple-omitted-exact-canonical-owners-c/verification-attempts.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,40 @@
136136
"REQ-cli-args-006",
137137
"REQ-cmd-change-004"
138138
]
139+
},
140+
{
141+
"timestamp": 1784484669,
142+
"commit": "418235bcf78087c923db45f6a6a5e13f90b451b8",
143+
"contract_digest": "af93fb6f06e0e2ee84d7ca7b9ba41e0d7aa2268bc92198a7905652aea448c42d",
144+
"workspace_digest": "5d994a599a17f5d4a9e24c15d3b451cf836685222b8f20b1db64be671eb560c0",
145+
"passed": true,
146+
"commands": [
147+
{
148+
"command": "ruby --version",
149+
"success": true,
150+
"exit_code": 0
151+
},
152+
{
153+
"command": "cargo test",
154+
"success": true,
155+
"exit_code": 0
156+
},
157+
{
158+
"command": "python3 -S .github/scripts/validate-release-version.py",
159+
"success": true,
160+
"exit_code": 0
161+
},
162+
{
163+
"command": "python3 -S .github/scripts/validate-workflow-runtime-pins.py",
164+
"success": true,
165+
"exit_code": 0
166+
}
167+
],
168+
"requirement_ids": [
169+
"REQ-change-038",
170+
"REQ-cli-args-006",
171+
"REQ-cmd-change-004"
172+
]
139173
}
140174
]
141175
}

0 commit comments

Comments
 (0)