Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
a55c8dc
sdg(liaison): update PHILOSOPHY.md
claude Jul 31, 2026
e85f836
sdg(liaison): write SEED.md β€” foundational APIs for an external spec UI
claude Jul 31, 2026
2cd687e
sdg(phase-2): draft IP 0001-external-ui-apis (intent question pending)
claude Jul 31, 2026
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
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
3 changes: 3 additions & 0 deletions specs/PHILOSOPHY.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ 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).
Loading