Repository navigation
suite: --bindings reports which delegated invariants repos bind - #22
Conversation
Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>
NetworkTheoryAppliedResearchInstitute
left a comment
There was a problem hiding this comment.
Tested at 3ad6c9b (content identical to 73d97c7, tested earlier): plain run and --list byte-identical to main; --bindings ../Cloudy gives 7 of 23 bound and 20 of 27 self-attested, as described; scanned all five sibling repos; planted fixtures confirm unregistered IDs and missing paths fail the run, instrument/document IDs are listed not counted, and hyphenated and L10-vs-L1 IDs resolve correctly. DCO now green.
Follow-up (non-blocking): a commented-out JS test and a Go test file under //go:build ignore are both reported BOUND though neither ever runs. Anchoring JS_TEST to line start (^\s*, re.M) and skipping Go files whose header has //go:build ... ignore fixes both; verified it leaves the real-repo counts and the plain run unchanged.
Approved.
Signed-off-by: Calvin Secrest dev@calvinsecrest.com
Adds --bindings REPO [REPO ...] to jfa-conformance-suite.py.
It scans sibling repos' test files for TestInvariant__ functions (Go and JS/TS) and marks each implementation invariant they cite as BOUND — the binding P1-001 §9.14(b) defines. It does not run those tests: pass/fail stays with each repo's CI, so nothing is reported as passing (§9.15). Instrument- and document-bound citations are listed, not counted. A citation of an unregistered ID fails the run. Standard library only, offline.
The plain run is unchanged (byte-identical output), so the Conformance check and pre-push hook are unaffected. This is suite maintenance under §9.17: no registry ID, anchor or binding changes.
Against Cloudy main: 7 of 23 implementation-bound invariants bound; 20 of 27 delegated remain self-attested.
Not included: running --bindings in Janus CI (it's a required check, and a cross-repo checkout would let another repo's typo block Janus). Suggest that for Phase 3.
Noticed, not changed: CONTRIBUTING.md says twenty-five invariants are anchored; the registry now has thirty.