Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
253 commits
Select commit Hold shift + click to select a range
df0171b
sdg(liaison): update PHILOSOPHY.md
claude Aug 3, 2026
85a9dd2
sdg(phase-2): finalize IP 0001 per Developer-confirmed scope; consume…
claude Aug 3, 2026
9b173b4
sdg(phase-3): apply review round 1 to IP 0001 β€” imperfect-workspace m…
claude Aug 3, 2026
3900780
sdg(phase-3): apply review round 2 to IP 0001 β€” occurrence spans, exi…
claude Aug 3, 2026
b590c53
sdg(phase-3): apply review round 3 to patch 0001 (external UI APIs)
claude Aug 3, 2026
5bd9c08
sdg(phase-3): apply review round 4 to IP 0001 β€” area/durable composit…
claude Aug 3, 2026
b913612
sdg(phase-3): one ownership rule for graph-area paths; scope occurren…
claude Aug 3, 2026
1c595e4
sdg(phase-3): pin code-range outputs; ground unattributed-path rule i…
claude Aug 3, 2026
3643efa
sdg(phase-3): apply iteration-7 review to patch 0001 (diagnostics car…
claude Aug 3, 2026
b24d2aa
sdg(phase-3): decide text-value and identity-uniqueness rules on impe…
claude Aug 3, 2026
9c86b59
sdg(phase-3): disambiguate attribute-view datum; seal stable-code del…
claude Aug 3, 2026
d6f8c6e
sdg(phase-3): pin invalid-form id-prop identity semantics (iter 10)
claude Aug 3, 2026
937e36d
sdg(phase-3): define unreadable-record outcome for preview delta; dro…
claude Aug 3, 2026
a724662
sdg(phase-3): apply optional clarifications O2/O3, accept patch 0001
claude Aug 3, 2026
6040942
sdg(phase-4): apply IP 0001 external-UI machine surfaces to SPEC.md (…
claude Aug 3, 2026
f5b312e
sdg(phase-4): define invalid-path behavior on UI surfaces; close refr…
claude Aug 3, 2026
f979178
sdg(phase-4): define machine-facing JSON forms (12.7); pin finding co…
claude Aug 3, 2026
71f18e0
sdg(phase-4): seal refused-preview form, unify build-validation gate,…
claude Aug 3, 2026
9cc71e8
sdg(phase-4): define .mdx-less derived map, import name datum, anchor…
claude Aug 3, 2026
32b5bd4
sdg(phase-4): pin preview reporting for created files, finding-order …
claude Aug 3, 2026
1df1cf6
sdg(phase-4): pin policy-violation finding form and invalid-workspace…
claude Aug 3, 2026
b2094c4
sdg(phase-4): pin old-ID existence datum, disjoint refusal scopes, de…
claude Aug 4, 2026
ccc02b8
sdg(phase-4): pin move target occupancy, origin kind, rename collisio…
claude Aug 4, 2026
e34bcdd
sdg(phase-4): pin check's graph-data staleness form, classify mixed m…
claude Aug 4, 2026
6a74e5b
sdg(phase-4): pin per-file staleness occupant judgment and absent-fil…
claude Aug 4, 2026
926ce74
sdg(phase-4): pin gated-read precedence and move-destination componen…
claude Aug 5, 2026
253e7e0
sdg(phase-4): close IP 0001 β€” write-path occupancy, spells-no-identit…
claude Aug 5, 2026
0fb8dca
sdg(phase-6): cover IP 0001 surfaces in TEST-SPEC (iter 1)
claude Aug 5, 2026
9efbd86
sdg(phase-6): close literal-\$, read-gate, occupant, and directory-cr…
claude Aug 5, 2026
638cfd0
sdg(phase-6): close move-refusal, gate-vs-corruption, presence, and M…
claude Aug 5, 2026
213b935
sdg(phase-6): positively assert 14.10's graph-data unit form at check…
claude Aug 5, 2026
b0984f3
sdg(phase-6): cover undefined-source occurrences and unknown code uni…
claude Aug 5, 2026
8a24dad
sdg(phase-6): correct P-5's section-move oracle; string-literal keys,…
claude Aug 6, 2026
2e236c7
sdg(phase-6): byte-assert the move's real import edits and conversion…
claude Aug 6, 2026
320f063
sdg(phase-6): align T14-4 with 11.2's non-attachment of 13/22; test 1…
claude Aug 6, 2026
bdab22a
sdg(phase-6): retire 6.5's unspellable destination refusals to exit-2…
claude Aug 6, 2026
d5e47a6
sdg(phase-6): assert @1 unknown; record the ignored-order dead pair a…
claude Aug 6, 2026
1eaeaf2
sdg(phase-7): add CONF-AVAIL datum-form violators; refresh CONF-VALID…
claude Aug 6, 2026
d4b4143
sdg(phase-7): pin CHATTYREADS line inertness; certify T11.3-4's restr…
claude Aug 6, 2026
327f67e
sdg(phase-7): pin read sweeps and pre-generation discovery observatio…
claude Aug 6, 2026
6daf3a0
sdg(phase-7): pin CONF-AVAIL command routing as staging constraint; e…
claude Aug 10, 2026
5d11f16
sdg(phase-7): CERTIFICATIONS.md converged; flip patch 0001 to Stage: …
claude Aug 10, 2026
8294929
sdg(phase-8): run CI on pushes to the patch branch β€” its conflicted P…
claude Aug 10, 2026
1c8747e
sdg(phase-9): plan 93 harness compliance tasks into FIX_PLAN.md
claude Aug 10, 2026
561c4b7
sdg(phase-9): decode findings literally per SPEC 12.7 with datum deco…
claude Aug 10, 2026
2ebe4b9
sdg(phase-9): assert the 12.7 error document on exit 2 with JSON in e…
claude Aug 10, 2026
88840e2
sdg(phase-9): re-pin the S-1 universe to 81 keys; renumber T6.6-1 to …
claude Aug 10, 2026
b568d85
sdg(phase-9): assert the present code-impact scope's source range; st…
claude Aug 10, 2026
fc91e6e
sdg(phase-9): restage the #-containing and non-UTF-8 move destination…
claude Aug 10, 2026
ba212a1
sdg(phase-9): mark FP-006 done β€” Β§Β§1–9 condition assertions already t…
claude Aug 10, 2026
a0db855
sdg(phase-9): assert stable refusal codes with their Β§14 concerns acr…
claude Aug 10, 2026
2fbe39d
sdg(phase-9): add T1.3-6's invalid-id-form arms and CONF-VALID's 14.1…
claude Aug 10, 2026
080ed86
sdg(phase-9): stage T3-1's grammar-boundary arm and give CONF-MD fenc…
claude Aug 11, 2026
a95a25c
sdg(phase-9): assert bare-identity edge endpoints across edges rows, …
claude Aug 11, 2026
5fe7e8c
sdg(phase-9): add T4.3-2's zero- and two-argument text(...) arity arm…
claude Aug 11, 2026
a53c343
sdg(phase-9): add T4.5-2's upstream cross-file impact arm (FP-014)
claude Aug 11, 2026
c810d67
sdg(phase-9): assert rename's applied-mapping report through a new H-…
claude Aug 11, 2026
4406923
sdg(phase-9): add T6.4-4's wrong-kind and parse-local old-ID-existenc…
claude Aug 11, 2026
c8f717f
sdg(phase-9): assert move's applied-mapping report in both forms (FP-…
claude Aug 11, 2026
6d83761
sdg(phase-9): add T6.5-4's destination-occupant, empty-id, and derive…
claude Aug 11, 2026
118b164
sdg(phase-9): add T6.5-5's wrong-kind, mixed-synopsis, and parse-loca…
claude Aug 11, 2026
dd90204
sdg(phase-9): add T7-2's string-literal group-name keys arm (FP-020)
claude Aug 11, 2026
60e608b
sdg(phase-9): add T7.5-5's literal-$ forms arms (FP-021)
claude Aug 11, 2026
500548c
sdg(phase-9): implement T1.7-2 β€” code-location ranges via occurrence …
claude Aug 11, 2026
4b4f562
sdg(phase-9): implement T5.7-1 β€” occurrence units and duplicates (FP-…
claude Aug 11, 2026
31a170e
sdg(phase-9): implement T5.7-2 β€” byte-precise occurrence spans per ki…
claude Aug 11, 2026
3976719
sdg(phase-9): implement T5.7-3 β€” occurrence record data and total ord…
claude Aug 11, 2026
17e2b7e
sdg(phase-9): implement T5.7-4 β€” no-occurrence constructs and exit-1 …
claude Aug 11, 2026
853df77
sdg(phase-9): implement T6.5-7 β€” operation-side rewrite bytes (FP-027)
claude Aug 11, 2026
6304869
sdg(phase-9): implement T6.6-2 β€” preview is inert and predictive (FP-…
claude Aug 11, 2026
12cf7b2
sdg(phase-9): implement T6.6-3 β€” preview refusal and scheduling equiv…
claude Aug 11, 2026
5512c3f
sdg(phase-9): implement T6.6-4 β€” preview report content, the ten 12.7…
claude Aug 11, 2026
b160ae1
sdg(phase-9): implement T6.6-5 β€” record-based derived-file delta (FP-…
claude Aug 11, 2026
a524885
sdg(phase-9): implement T6.6-6 β€” preview under a corrupt graph record…
claude Aug 11, 2026
7155de4
sdg(phase-9): implement T10.1-4 malformed-recorded-decompositions arm…
claude Aug 11, 2026
4ac3afa
sdg(phase-9): implement T10.4-2 non-scope presence-recording arms (FP…
claude Aug 11, 2026
58c9eee
sdg(phase-9): assert T10.7-7 payload source ranges for every present …
claude Aug 13, 2026
ebcf248
sdg(phase-9): add T11-6 wrong-kind, unknown-unit, and disambiguator a…
claude Aug 13, 2026
2eb5d3d
sdg(phase-9): extend the 12.0 command sweep with the new surfaces (FP…
claude Aug 13, 2026
797f29e
sdg(phase-9): add T12.0-9's new exit-partition representatives (FP-038)
claude Aug 13, 2026
5a7db48
sdg(phase-9): implement T12.0-10's own precedence arms (FP-039)
claude Aug 13, 2026
d3ab5fd
sdg(phase-9): extend T12.0-12's git-less sweep to the new surfaces (F…
claude Aug 13, 2026
c160785
sdg(phase-9): add T12.2-2 occupant-kind and graph-data unit-form arms…
claude Aug 13, 2026
f66579d
sdg(phase-9): pin T12.2-3's never-refreshes per state (FP-042)
claude Aug 13, 2026
c3e311a
sdg(phase-9): extend T12.5-1's dispatch sweep to the Β§11 surfaces (FP…
claude Aug 13, 2026
102abe4
sdg(phase-9): extend T13.3-1/-2 sweeps to the Β§11 surfaces; add the r…
claude Aug 13, 2026
f3f455a
sdg(phase-9): add T13.3-3's whole-gate arms and never-gated contrast …
claude Aug 13, 2026
7e2a9cf
sdg(phase-9): add T13.4-6's plain-file occupant and 14.22 cardinality…
claude Aug 13, 2026
6a77873
sdg(phase-9): add T13.5-1's seam-neutrality twin compare (FP-047)
claude Aug 13, 2026
5fa521b
sdg(phase-9): extend T14-4's reporter matrix to the new-surface rows …
claude Aug 13, 2026
917683e
sdg(phase-9): implement T10.1-5's gate-precedence-over-corruption pai…
claude Aug 13, 2026
46168b7
sdg(phase-9): implement T11.2-1's parse-local availability suite (FP-…
claude Aug 13, 2026
aacac62
sdg(phase-9): implement T11.2-2's spelled-identity/interpreted-data m…
claude Aug 13, 2026
960e5b3
sdg(phase-9): implement T11.2-3's invalid-paths suite (FP-052)
claude Aug 13, 2026
9699c23
sdg(phase-9): implement T11.2-4's resolution and expanded-text matrix…
claude Aug 13, 2026
d3d7518
sdg(phase-9): implement T11.2-5's domain/findings/exit discipline (FP…
claude Aug 13, 2026
50638f8
sdg(phase-9): implement T11.2-6's never-stale gate-findings-never-att…
claude Aug 14, 2026
8cfceb2
sdg(phase-9): implement T11.3-1's occurrences enumeration over shared…
claude Aug 14, 2026
55d6e9c
sdg(phase-9): implement T11.3-2's --file set restriction (FP-057)
claude Aug 14, 2026
af3eb4d
sdg(phase-9): implement T11.3-3's --to acceptance/malformed/selection…
claude Aug 14, 2026
d516812
sdg(phase-9): implement T11.3-4's definitive-emptiness contrast pair …
claude Aug 14, 2026
defe0d4
sdg(phase-9): implement T11.4-1's whole-domain views and positional t…
claude Aug 14, 2026
9c5a9bb
sdg(phase-9): implement T11.4-2's operands-vs-restriction matrix (FP-…
claude Aug 14, 2026
fb3bdeb
sdg(phase-9): implement T11.4-3's attribute matrix and per-node datum…
claude Aug 14, 2026
dde2e09
sdg(phase-9): implement T11.4-4's imports datum matrix (FP-063)
claude Aug 14, 2026
f964c21
sdg(phase-9): implement T11.4-5's --text expansion domain (FP-064)
claude Aug 14, 2026
d2fdd17
sdg(phase-9): implement T11.4-6's byte classification via the P-2 ora…
claude Aug 14, 2026
2b65f41
sdg(phase-9): implement T11.5-1's total at resolution and view deriva…
claude Aug 14, 2026
b06bbda
sdg(phase-9): implement T11.5-2's offset spelling and operand matrix …
claude Aug 14, 2026
2d79e1a
sdg(phase-9): implement T11.5-3's occurrence containment and imperfec…
claude Aug 14, 2026
5f9a14e
sdg(phase-9): implement T11.6-1's inventory anchoring with the E-6 Li…
claude Aug 14, 2026
2c81f28
sdg(phase-9): implement T11.6-2's resolved configuration/sources/deri…
claude Aug 14, 2026
e787702
sdg(phase-9): implement T11.6-3's record, area, durables, and orders …
claude Aug 14, 2026
69e0e41
sdg(phase-9): implement T11.6-4's no-parse/no-write/one-finding arms …
claude Aug 14, 2026
949c3c9
sdg(phase-9): implement T12.0-13's multi-# malformedness and whole-pa…
claude Aug 14, 2026
726d719
sdg(phase-9): implement T12.6-1/-2, the version command's surface and…
claude Aug 14, 2026
79edb59
sdg(phase-9): implement T12.7-1, the 12.7 value forms, and wire the m…
claude Aug 14, 2026
015e04a
sdg(phase-9): implement T12.7-2, the findings-array ordering and docu…
claude Aug 16, 2026
2a5bbfa
sdg(phase-9): implement T12.7-3, the exit-2 error document (FP-077)
claude Aug 16, 2026
3bced2e
sdg(phase-9): implement T13.4-8, writes create missing directories (F…
claude Aug 16, 2026
56dde0b
sdg(phase-9): implement T14-6, the stable-code sweep (FP-079)
claude Aug 16, 2026
6a8b3c8
sdg(phase-9): implement T14-7, the refusal-reason contract (FP-080)
claude Aug 16, 2026
aa68a6b
sdg(phase-9): implement T14-8, the location-cardinality contract (FP-…
claude Aug 17, 2026
377a057
sdg(phase-9): implement FP-082, the P-2 fence/code-span staging
claude Aug 17, 2026
8a403ee
sdg(phase-9): implement FP-083, the P-5 section-move category oracle
claude Aug 17, 2026
1bd23d5
sdg(phase-9): generalize P-5 to random section moves on the FP-083 or…
claude Aug 29, 2026
5c55122
sdg(phase-9): implement FP-085, the P-6 graph-diff oracle + its S-6 s…
claude Aug 29, 2026
b693078
sdg(phase-9): add the P-7 literal $-at-capture-boundary forms (FP-086)
claude Aug 29, 2026
464ec19
sdg(phase-9): implement P-11, the availability robustness fuzz (FP-087)
claude Aug 29, 2026
dba5be9
sdg(phase-9): implement P-12, the at-view/occurrence-order equivalenc…
claude Aug 29, 2026
eef2736
sdg(phase-9): implement FP-089, the P-13 coverage-reachability oracle…
claude Aug 29, 2026
bb5cf75
sdg(phase-9): implement P-13, the coverage oracle property (FP-090)
claude Aug 29, 2026
3b81b12
sdg(phase-9): build the CONF-AVAIL certification family (FP-091)
claude Aug 29, 2026
26adc0b
sdg(phase-9): extend the E-6 fixture with the new command steps (FP-092)
claude Aug 29, 2026
2e76888
sdg(phase-9): add the Windows-subset drive-mismatch anchoring arm of …
claude Aug 29, 2026
dacaf3f
sdg(phase-9): restage T11.5-1's fixture as real MDX blocks (FP-094)
claude Aug 29, 2026
138c91d
sdg(phase-9): plan compliance round-2 fixes (FP-095, FP-096)
claude Aug 29, 2026
bd7250b
sdg(phase-9): stage and assert the embedding half of SPEC 10.5's note…
claude Aug 29, 2026
d2abb67
sdg(phase-9): compare decoded documents, not bytes, in T12.0-1's JSON…
claude Aug 29, 2026
2be1bc7
sdg(phase-9): flip patch 0001 stage to Tested β€” code review clean, ha…
claude Aug 29, 2026
f419122
sdg(phase-10): plan product-compliance fixes from review findings
claude Aug 29, 2026
f9c0fb4
sdg(phase-10): rebuild findings into the 12.7 five-member form with s…
claude Aug 29, 2026
c0a32cb
sdg(phase-10): present non-UTF-8 finding paths in the 12.7 marked byt…
claude Aug 29, 2026
dfc35f8
sdg(phase-10): locate every participant of jointly-violated conditions
claude Aug 29, 2026
ec820b4
sdg(phase-10): emit the exit-2 JSON error document with anchored conf…
claude Aug 29, 2026
2c11bce
sdg(phase-10): report review-operation refusals as code-less findings
claude Aug 29, 2026
d1b3bdd
sdg(phase-10): report rename/move success as the applied mapping
claude Aug 29, 2026
c8fc353
sdg(phase-10): register the workspace-independent version command
claude Aug 29, 2026
39f7b69
sdg(phase-10): analyze invalid-path sources per-file with identities …
claude Aug 29, 2026
37134c1
sdg(phase-10): record reference occurrences in core analysis and grap…
claude Aug 30, 2026
64eba7b
sdg(phase-10): compute code-location source ranges
claude Aug 30, 2026
5a448c6
sdg(phase-10): add xspec occurrences and the shared 11.2 availability…
claude Aug 30, 2026
84ae644
sdg(phase-10): register xspec view with the 11.4 document form
claude Aug 30, 2026
92a8f7e
sdg(phase-10): resolve byte positions with xspec at
claude Aug 30, 2026
eeace33
sdg(phase-10): report the workspace inventory
claude Aug 30, 2026
532b644
sdg(phase-10): report every rename/move refusal reason as stable-code…
claude Aug 30, 2026
2a7a139
sdg(phase-10): preview rename and move plans with the derived-file delta
claude Aug 30, 2026
4649eb9
sdg(phase-10): classify move operands by spelling at parse level
claude Aug 30, 2026
8acae2a
sdg(phase-10): run gated-read argument checks before the invalid-work…
claude Aug 30, 2026
9003712
sdg(phase-10): sequence baseline-content validation past the read gate
claude Aug 30, 2026
ca2afce
sdg(phase-10): refuse any non-directory write-path component before m…
claude Aug 30, 2026
f62eb67
sdg(phase-10): persist unreadable recorded state past every refreshin…
claude Aug 30, 2026
4c0a3f8
sdg(phase-10): report both 14.10 unit forms against the graph-data area
claude Aug 30, 2026
e43c3d3
sdg(phase-10): carry source ranges on every present review-payload node
claude Aug 30, 2026
35acd95
sdg(phase-10): bound deep-nesting cost across serializer, view, and s…
claude Aug 30, 2026
e239f0c
sdg(phase-10): log P-11 harness-decoder blockage to TEST-SPEC problems
claude Aug 30, 2026
7cf2f05
sdg(phase-10): record CI leg verdicts and the artifact-upload skip in C7
claude Aug 30, 2026
22e5ead
sdg(phase-6): mandate harness answer-scale capacity (H-11, S-8); pin …
claude Aug 30, 2026
15b6c6f
sdg(phase-6): extend answer-scale capacity to stream capture (H-11, S-8)
claude Aug 30, 2026
f762919
sdg(phase-6): pin added-import insertion bytes; gate staged-scale fix…
claude Aug 30, 2026
9f8d09b
sdg(phase-6): TEST-SPEC iteration 4 β€” universal 12.7 value forms; T12…
claude Aug 30, 2026
46a6aed
sdg(phase-6): TEST-SPEC iteration 5 β€” impact/journal gate contradicti…
claude Sep 1, 2026
be6c7da
sdg(phase-6): TEST-SPEC iteration 6 β€” configuration member/shape arms…
claude Sep 1, 2026
2bc11fa
sdg(phase-6): TEST-SPEC iteration 7 β€” third-module bindings in moved …
claude Sep 1, 2026
897bfea
sdg(phase-6): TEST-SPEC iteration 8 β€” valueless id/coverage/tags at b…
claude Sep 2, 2026
587edca
sdg(phase-7): revisit CERTIFICATIONS for the Phase 6 TEST-SPEC change…
claude Sep 2, 2026
2911c14
sdg(phase-7): CERTIFICATIONS revisit round 1 β€” configuration location…
claude Sep 2, 2026
3b61122
sdg(phase-7): CERTIFICATIONS revisit round 2 β€” T13.5-4 compare-scope …
claude Sep 2, 2026
831df39
sdg(phase-9): retire the Phase 10 sweep task C7 and delete the leftov…
claude Sep 2, 2026
1f74dd1
sdg(phase-9): plan the harness re-descent β€” FIX_PLAN.md with 47 tasks…
claude Sep 2, 2026
f218488
sdg(phase-9): CONF-CORE conformer β€” refresh stale graph data inside m…
claude Sep 2, 2026
f7e6054
sdg(phase-9): T13.5-1 stale-workspace arm β€” the hold precedes the 13.…
claude Sep 2, 2026
75b6b8f
sdg(phase-9): VIOL-CORE-EARLYREFRESH violator β€” the 13.3 refresh runs…
claude Sep 2, 2026
300f23a
sdg(phase-9): certification manifest and gate pins for the revised CE…
claude Sep 2, 2026
5407ec3
sdg(phase-9): de-recurse the view decode path β€” decodeViewNodeForm, t…
claude Sep 2, 2026
f2cb541
sdg(phase-9): finish de-recursing the H-3 decoders β€” walkForRangeData…
claude Sep 2, 2026
7199b50
sdg(phase-9): de-recurse the registry modules' JSON walkers β€” canonic…
claude Sep 2, 2026
a6adf40
sdg(phase-9): add the S-8 answer-scale capacity gate β€” decoders and w…
claude Sep 2, 2026
fd7216b
sdg(phase-9): add the S-2 scale vectors β€” the 4096-deep tower and the…
claude Sep 2, 2026
20ee9fd
sdg(phase-9): add the T1.3-7 depth anchor β€” a valid 2048-deep chained…
claude Sep 2, 2026
d091075
sdg(phase-9): size P-11's hang guard to the staged answer scale β€” 120…
claude Sep 2, 2026
f266007
sdg(phase-9): CONF-DISC conformer β€” code groups discovered under the …
claude Sep 2, 2026
39b659d
sdg(phase-9): VIOL-DISC-DERIVED header β€” describe the revised deviati…
claude Sep 2, 2026
5a98aac
sdg(phase-9): T7-6 code-group exclusion arm β€” each excluded code-glob…
claude Sep 2, 2026
ca7cb7a
sdg(phase-9): T1.2-3 β€” locate the root's ignored reason through the c…
claude Sep 2, 2026
d39eec6
sdg(phase-9): T1.3-6 valueless-`id` arm β€” a bare `<S id>` bearer repo…
claude Sep 2, 2026
a80dba5
sdg(phase-9): T2.7-3 valueless `<S id>`, `<S id="x" coverage>`, `<S i…
claude Sep 2, 2026
8a831b8
sdg(phase-9): T4.5-4 callee-side arm β€” an inner-scope `function text`…
liamcardenas Sep 2, 2026
ed51219
sdg(phase-9): T4.6-3 value-side boundary arm β€” `const s = text(SPEC.v…
claude Sep 2, 2026
8b79fed
sdg(phase-9): T6.1-1 never-modifies sweep over every command surface …
claude Sep 2, 2026
557fb86
sdg(phase-9): T6.4-2 keepable-form rename arms β€” the affected segment…
claude Sep 2, 2026
f122975
sdg(phase-9): T6.4-3 two-bearer collision arm β€” a second staged file …
claude Sep 2, 2026
506bc87
sdg(phase-9): T6.4-4 second nonexistent-<file> spelling β€” a valid `do…
claude Sep 2, 2026
f99f809
sdg(phase-9): T6.4-5 move arm β€” a `typeof` reference to a node then s…
claude Sep 2, 2026
fa21756
sdg(phase-9): T6.5-1 specifier-rewrite byte contract for the file-for…
claude Sep 2, 2026
5f9752b
sdg(phase-9): T6.5-3 third-file arms β€” a spec source neither origin n…
claude Sep 2, 2026
a75fbc2
sdg(phase-9): T6.5-4 directory-occupant and symbolic-link-component a…
claude Sep 2, 2026
19f88b5
sdg(phase-9): T6.5-5 present-but-undiscovered origin `<file>` spellin…
claude Sep 2, 2026
b1e5d51
sdg(phase-9): T6.5-7 single-quoted descendant `id` and the code-sourc…
claude Sep 2, 2026
068a325
sdg(phase-9): T6.5-8 added-import insertion discipline β€” three sectio…
claude Sep 2, 2026
72e63b5
sdg(phase-9): T6.5-9 fresh identifiers in code β€” T6.5-8's TS arm re-s…
claude Sep 2, 2026
723652d
sdg(phase-9): T6.5-10 third-module bindings carried with moved text —…
claude Sep 2, 2026
08de4be
sdg(phase-9): T6.6-4 rename-preview mapping-order fixture β€” arm (a)'s…
claude Sep 2, 2026
c13ede1
sdg(phase-9): T6.6-5 lagging-record counterpart β€” a fourth arm over a…
claude Sep 2, 2026
e476c96
sdg(phase-9): T7-1 `--config` naming a nonexistent file is missing co…
claude Sep 2, 2026
215ccb2
sdg(phase-9): T7-3 value-shape arms (14.14) β€” seven fixtures in a new…
claude Sep 2, 2026
0d245a6
sdg(phase-9): T7.4-1 `edgeKinds` non-subset and non-string `targetTag…
claude Sep 2, 2026
fc1ace9
sdg(phase-9): T7.5-1 `kinds` non-subset and non-string selector `tags…
claude Sep 2, 2026
9c54d84
sdg(phase-9): T10.5-1 two-levels-deep chain arm (10.5) β€” a third work…
claude Sep 2, 2026
b7ed965
sdg(phase-9): T11-6 `query subtree`/`query ancestors` wrong-kind oper…
claude Sep 2, 2026
7e004fa
sdg(phase-9): extend T2.7-3's exported `<S id="x" tags>` fixture with…
claude Sep 2, 2026
07652a6
sdg(phase-9): T11.4-3 `view` arm on T2.7-3's shared `<S id="x" tags>`…
claude Sep 2, 2026
238f9c2
sdg(phase-9): T12.0-10 missing required flag/argument rows in the wit…
claude Sep 2, 2026
dfe294e
sdg(phase-9): T12.7-1 marker-exclusivity walk at every adjustable ada…
claude Sep 3, 2026
13f7bc1
sdg(phase-9): T12.7-2 clean-workspace `build --json` is exactly `{"fi…
claude Sep 3, 2026
5a8ad43
sdg(phase-9): T12.7-3 `--config ../cfg/xspec.config.ts` from a siblin…
claude Sep 3, 2026
515f252
sdg(phase-9): T13.3-3 `impact --base` leaves the journal-error stagin…
claude Sep 3, 2026
f29cbb2
sdg(phase-9): T13.4-3 unreadable-record half β€” the record corrupted s…
claude Sep 3, 2026
09852d6
sdg(phase-9): T14-7 `refused-id-collision` locates every colliding be…
claude Sep 3, 2026
c574214
sdg(phase-9): P-1 stages a `.`-bearing draw as nested segments and sp…
claude Sep 3, 2026
68797f6
sdg(phase-9): plan the round-2 harness fixes β€” E-6 exchange upload on…
claude Sep 3, 2026
f3acd32
sdg(phase-9): CI uploads the E-6 exchange whenever the Linux job is n…
claude Sep 3, 2026
fb8229b
sdg(phase-9): S-4 checks TS2440 detection directly β€” an import bindin…
claude Sep 3, 2026
6b136ee
sdg(phase-9): S-4 checks TS2300 detection directly β€” an import bindin…
claude Sep 3, 2026
36bec90
sdg(phase-9): plan 2 harness tasks from the third compliance determin…
claude Sep 3, 2026
c55255e
sdg(phase-9): staged-scale derivation carries the deterministic stage…
claude Sep 3, 2026
a45fb26
sdg(phase-9): S-2 stages the largest document the suite stages β€” T1.3…
claude Sep 3, 2026
72ad038
sdg(phase-10): plan 5 product tasks from the re-descent's first compl…
claude Sep 3, 2026
d83e1bc
sdg(liaison): update PHILOSOPHY.md
liamcardenas Sep 3, 2026
af2b468
sdg(phase-4): resolve SPEC-PROBLEMS 2026-09-03 β€” exclude U+FFFD from …
claude Sep 3, 2026
981ff62
sdg(phase-4): make a synopsis mismatch a usage error, fix flag arity …
claude Sep 3, 2026
b67b451
sdg(phase-4): fix rename's surplus-operand example, locate a would-be…
claude Sep 3, 2026
4ab1bf6
sdg(phase-4): pin the rename/move write order with the journal append…
claude Sep 3, 2026
845abc1
sdg(phase-4): fix every located condition's range per condition, make…
claude Sep 3, 2026
204df66
sdg(phase-4): fix the tag-set and kind-set value forms and every inve…
claude Sep 3, 2026
db5af1e
sdg(phase-4): report the recorded-file staleness form on a failing wo…
claude Sep 3, 2026
0cc11e6
sdg(phase-4): read an absent record as the empty record whatever the …
claude Sep 4, 2026
eb1764b
sdg(phase-4): rewrite a moved target's TypeScript text(...) call whol…
claude Sep 4, 2026
19c379e
sdg(phase-4): make rewrites byte-changing only, define import use by …
claude Sep 4, 2026
dcf3034
sdg(phase-4): make a same-scope value-level declaration colliding wit…
claude Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 32 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,16 @@ name: CI

on:
pull_request:
# GitHub creates no pull_request-event runs while a PR is unmergeable.
# PR #7 (patch 0001, branch claude/xspec-ui-apis-4df8fa, standing in for
# patch/external-ui-apis) is conflicted with main (specs/PHILOSOPHY.md), so
# its CI signal comes from push-event runs on the branch head instead β€”
# same workflow, same tree; checks attach to the head commit and surface on
# the PR. Drop that branch from this list once its PR is mergeable again or
# the patch completes. (Same channel sdg/initial-build used, kept for
# history.)
push:
branches: [main, sdg/initial-build]
branches: [main, sdg/initial-build, claude/xspec-ui-apis-4df8fa]
workflow_dispatch:

concurrency:
Expand Down Expand Up @@ -72,12 +80,23 @@ jobs:
env:
XSPEC_E6_EXCHANGE_DIR: ${{ github.workspace }}/.e6-exchange
- name: Upload E-6 exchange outputs for the Windows leg
# No files exist until the harness writes the representative fixture's
# outputs into XSPEC_E6_EXCHANGE_DIR on this leg. The exchange lives
# in a dot-directory, which upload-artifact v4 excludes by default
# (include-hidden-files: false since v4.4) β€” without the override the
# written exchange uploads as nothing and the Windows comparison
# fails loudly on a missing manifest (E-6, H-9).
# Runs regardless of the suite step's verdict (a step without `if:` is
# skipped once an earlier step fails), so an exchange written by the
# passing E-6 writer test (test/suite/e6-exchange-writer.test.ts)
# always reaches the Windows leg even while unrelated Linux product
# tests are red β€” the Phase 9 red-green period included. `!cancelled()`
# rather than `always()`: a cancelled job uploads nothing. The Windows
# byte-identity test still fails loudly (H-9) exactly when no exchange
# was written β€” never because some other Linux test failed. No files
# exist until the harness writes the representative fixture's outputs
# into XSPEC_E6_EXCHANGE_DIR on this leg; `if-no-files-found: ignore`
# keeps this step harmless when the suite step never ran or the writer
# test wrote nothing. The exchange lives in a dot-directory, which
# upload-artifact v4 excludes by default (include-hidden-files: false
# since v4.4) β€” without the override the written exchange uploads as
# nothing and the Windows comparison fails loudly on a missing
# manifest (E-6, H-9).
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: e6-linux-outputs
Expand All @@ -103,9 +122,12 @@ jobs:
- name: Build the product
run: npm run build
- name: Download E-6 exchange outputs from the Linux leg
# The artifact does not exist until the Linux leg produces outputs; the
# harness's E-6 comparison must itself fail loudly when the exchange
# directory is missing while the product exists.
# The artifact is absent only when the Linux job produced no exchange
# (it died before its suite step, or the E-6 writer test itself did not
# complete) β€” its upload step runs whenever that job is not cancelled,
# red product tests notwithstanding. The harness's E-6 comparison must
# itself fail loudly when the exchange directory is missing while the
# product exists.
continue-on-error: true
uses: actions/download-artifact@v4
with:
Expand Down
23 changes: 15 additions & 8 deletions AGENTS.md

Large diffs are not rendered by default.

97 changes: 71 additions & 26 deletions specs/CERTIFICATIONS.md

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions specs/PHILOSOPHY.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@ IMPORTANT: This file may only be edited and interpreted by Liaison. Only Liaison
- Operational and infrastructure setup work is not a patch in Developer's eyes: "this is not intended to be a patch, its just a one off set up task" (2026-07-28, correcting the npm-publishing work after triage drafted a Bug Report patch for it). Work whose substance is release/deploy/distribution machinery with zero product-behavior change routes as one-off release/devops execution under DEVOPS.md β€” not through the patch pipeline β€” and any patch artifacts created by such a misclassification are retired, not refined. Reserve the patch taxonomy for changes to specified product behavior (IP) or to the harness's ability to catch defects (Bug Report).
- Developer prefers tokenless, workload-identity credentials over long-lived stored secrets for automation: asked "can we use OIDC?" (2026-07-28) immediately after receiving the NPM_TOKEN setup checklist, choosing npm Trusted Publishing over a stored automation token. General rule: when a platform offers an OIDC/trusted-publisher path for a credential the process manages, default to it β€” long-lived secrets are bootstrap-only fallbacks, and Developer checklists should not require creating or rotating a token that workload identity can replace.
- xspec's consumption targets include coding-agent cloud environments β€” Developer asked how best to distribute the CLI into Claude Code web sessions (2026-07-29). Distribution is npm-only: `@modularcloud/xspec` on the public registry is the sole artifact channel; `vX.Y.Z` tags are release records and GitHub Releases carry no distribution artifacts. Consumption guidance (Liaison recommendation accepted as working default, 2026-07-29): per-repo devDependency + `npx xspec` preferred (rides the environment's normal dependency install, lockfile-pinned); `npx -y @modularcloud/xspec` for ad-hoc use; global install only where a bare `xspec` on PATH is explicitly wanted, via the environment's session-setup mechanism. A dependency-free compiled binary distributed via GitHub Releases would be new work, warranted only if a no-Node target ever matters.
- The xspec product boundary stays headless (2026-07-31): Developer plans an interactive UI on top of xspec β€” editing specs, visualizing requirement dependencies, seeing the nested structure inline with the MDX, jumping between references β€” but the UI itself is expected to live outside the xspec product ("won't necessarily be a part of the xspec spec itself"). xspec's role is to expose the foundational, machine-consumable APIs such an interface needs. When scoping UI-adjacent work: programmatic/observability surfaces belong in the product spec; rendering, editing chrome, and interaction design belong outside it. Developer routed this as a patch and asked the process to recommend the concrete changes β€” an open-ended seed that requests recommendations is a valid seed; the 2026-07-09 near-complete-draft pattern is Developer's habit, not a requirement.
- UI-adjacent scope rulings, approved 2026-08-03 (single "That sounds great" to the grouped seven-surface proposal for the external-UI patch β€” the concise grouped-approval pattern again): (1) an external UI connects by invoking the `xspec` CLI per interaction; no persistent service, watch, or push surface without a fresh proposal (one would also touch GOALS' interface statement, an approval-gated edit); (2) the UI owns text editing β€” xspec supplies positions, structure, validation, and previews, and its only source-rewriting operations remain `rename`/`move`; structured content-mutation commands ("add dependency", "insert section") are deliberately absent; (3) xspec reads only saved files β€” unsaved-buffer diagnostics are at most a later addition. Treat these as standing defaults for future UI-adjacent scoping, not just this patch.
- modularcloud/cspec (the repo renamed 2026-07-27 to free the xspec name) contains Developer's earlier partial UI β€” the "cspec editor" β€” built on an outdated conception of xspec. Developer's standing filter (2026-08-03): it may be mined for individual good ideas ("see if there are any other good ideas that we should take from it") but is never authoritative and "we should not draw from this too much" β€” never import its architecture, data model, or naming; adopted ideas must stand on their own merits in current-xspec terms.
- Refinement loops that plateau are closed by valve ruling, not run to a spontaneous clean round (first applied 2026-07-10, TEST-SPEC.md at iteration 12 of the xspec initial build). Plateau markers: each fresh review yields only one or two genuine but ever-narrower findings, nothing is re-litigated or reversed, and the upstream documents are already converged. Closure shape: one final iteration whose Driver applies what is necessary and then HALTs, with escape hatches for blocking upstream problems or an indefensible late discovery; residual gaps are deliberately left to the downstream problems-file net, which finds them with implementation eyes when they actually matter. Basis: Developer's revealed preference for bounded forward progress over open-ended polishing (bare "continue" nudges, cost sensitivity shown by the 2026-07-09 credits outage, full delegation of process judgment).
- Name grammars favor addressability over permissiveness (ruled 2026-09-03 by Liaison on Developer's behalf, without consulting Developer, for the external-UI patch's SPEC revisit): when a character admitted in requirement IDs, tags, source paths, or configuration names cannot be spelled or addressed through xspec's own interface β€” U+FFFD, which a command-line argument cannot distinguish from an invalid byte; `"`, `'`, `\`, and `&`, which MDX attribute values, MDX/TypeScript string literals, and `rename`'s in-place quote-preserving rewrite cannot always spell β€” exclude the character from the grammar (a validation finding / configuration error) rather than admit valid-but-unaddressable names or add spelling-and-refusal machinery. Basis: GOALS' complete-CLI-interface, every-behavior-observable, and durable-identity (rename/move rewrite all references) goals, and the seed's identifier-friendly naming guidance; such characters in names are pathological (mojibake, injection-like spellings), so the narrowing costs realistic workspaces nothing. General rule: Liaison answers product-shaping edge-case questions on Developer's behalf when GOALS plus the seed's stated intent determine the answer and the cost falls only on pathological inputs; choices that change realistic workspaces' behavior, or touch approval-gated documents, still go to Developer.
Loading
Loading