Files
msd-core/tests/fixtures/install-tree/qwen.json
Tom Boucher a27cb6b2fa enhance(#4139): Phase 6 — the lazily-read remainder and the artifact templates (#4540)
* enhance(#4406): the lazily-read remainder and the artifact templates

ADR-4139 Decision 3, Phase 6 of the #4139 Compact Content epic. Covers stream 1b
(gsd-core/workflows/<name>/{modes,steps,templates}/*.md) and stream 4
(gsd-core/templates/**) with a variant-swap mechanism, confirmed with the user:
two independent, complete files per covered path (canonical + .compact.md
sibling), with the gate picking which one gets Read at the call site. This is
a different shape from Phase 5's spine+detail partition, and is safe here
specifically because these files are already reached only by a runtime Read —
a missed Read already means zero overlay content today, with or without
workflow.compact_content, so selecting between two independently-complete
files introduces no new failure mode (documented in
gsd-core/references/compact-content-gate.md's new "Streams 1b and 4" section).

Disposition, after inspecting every candidate rather than trusting a byte-size
threshold (same rigor Phase 5 applied to review.md):

- Stream 1b: 1 of 78 files compacted (help/modes/full.md, a user-facing
  reference doc emitted verbatim, not orchestrator instruction). The other 9
  size-threshold candidates are dominated by fail-closed guards, exact CLI
  invocations, or output-format contracts (AskUserQuestion blocks) — recorded
  not-worth-compacting, same reasoning as Phase 5's review.md.
- Stream 4: a ground-truth reachability audit replaced the initial size-only
  candidate list. Two files (summary.md, user-setup.md) got compact variants;
  a third (spec.md) was drafted, then dropped after discovering its only two
  call sites are eager @-includes, not a runtime Read — stream-1 material
  hiding under gsd-core/templates/, not stream-4's actual mechanism. summary.md
  itself has 3 eager call sites and only 1 genuine runtime-Read call site
  (execute-plan.md); only that one was wired, so the compact variant's savings
  apply to the sequential single-plan execution path only.
- Discovered while auditing reachability: 12 gsd-core/templates/** files with
  zero references anywhere in workflow/agent/command prose, compiled source,
  or tests — dead scaffolding predating this phase. Deleted in this same PR
  per this repo's no-defer policy, after re-verifying against a computed
  path.join(...) pattern (not just a plain-string search) that nearly caused
  two genuinely load-bearing templates (user-profile.md, dev-preferences.md)
  to be misclassified as dead.

New checker (tests/helpers/compact-content-variant.cjs): registration,
reachability, protected-content-preserved, size-smaller — replacing Phase
3/5's disjointness/completeness checks, which assume a partition rather than
two deliberately-overlapping documents. The reachability check's own
"unprefixed match" guard had a real bug (rejected the repo's own
`~/.claude/gsd-core/...` convention), caught by running it against the
already-wired help/modes/full.compact.md pair rather than only synthetic
fixtures — fixed to anchor on the nearest `gsd-core` path segment instead.

Template consumer parity (tests/compact-content-template-variant-parity.test.cjs):
proves each compact variant's `## File Template` fenced block — the actual
output-format contract a generated SUMMARY.md/USER-SETUP.md is parsed
against — is byte-identical to the canonical file, then runs the one real
deterministic consumer (gsd-core/bin/lib/coverage.cjs's classifyContent,
backing `gsd-tools uat classify-coverage`) against content built from that
shared contract.

Added a sibling benchmark script (scripts/benchmark-compact-content-variants.cjs)
rather than extending the existing spine/detail one — different data shape,
and the existing script's own contract deliberately isolates it from a
test-only helper's shape changing.

Emitted-drift acknowledgement: not needed. Every changed/added path in this
diff is hand-authored and present in the diff itself, so diffEmitted's
attribution loop resolves `via` to the path's own source before reaching the
ack-lookup branch (same reasoning Phase 5 verified for its own diff).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* enhance(#4406): address code-review findings on the variant-swap gate

- docs/CONFIGURATION.md and gsd-core/references/planning-config.md's
  workflow.compact_content entries described only the spine+detail mechanism
  (Phase 5) and were missing this phase's variant-swap mechanism and its
  benchmark:compact-content-variants script entirely — required since this
  PR's changeset is type Added (CLAUDE.md's "Missing Docs for Changesets"
  rule). Both now describe both mechanisms and which call sites are wired.
- Added the missing RED^-1/no-op fixture for checkProtectedContentPreserved:
  a canonical file with zero <!-- gsd:protected --> blocks must be a
  no-op, not a violation — the only branch of that function the existing
  fixtures didn't exercise.
- Collapsed findCompactFiles/findMarkdownFiles in
  tests/helpers/compact-content-variant.cjs into one findFilesWithSuffix
  helper — the two were identical recursive walks differing only in the
  extension predicate (minor Duplicated-Code finding).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(#4406): restore copilot-instructions.md, a false-positive dead-template classification

gsd-test caught this, not static analysis: 10 real failures in
tests/copilot-install.test.cjs, tests/installer-migration-install.integration.test.cjs,
and tests/repo-layout.test.cjs — all downstream of bin/install.js's Copilot install
path, which does
fs.readFileSync(path.join(targetDir, 'gsd-core', 'templates', 'copilot-instructions.md'))
after copying gsd-core/templates/** into the target project, then merges it into both
.github/copilot-instructions.md and (local installs) AGENTS.md. The reachability audit
that flagged this file as dead checked src/*.cts and gsd-core/bin/*.cjs but never the
repo-root bin/install.js — a separately maintained installer bundle outside the
src/-to-gsd-core/bin/lib/ compiled-output convention. The fs.existsSync guard around
that read degrades to a silent skip rather than a crash when the template is missing,
which is why this surfaced only once the real E2E install test ran, not from any
static check.

Re-verified the remaining 11 deleted filenames against bin/install.js specifically
(plain substring and quoted-filename search) before trusting that list — all 11 have
zero hits there, confirmed dead by the same standard this one file failed.

Regenerated the installer emitted-tree goldens (tests/fixtures/install-tree/*.json) to
reflect the restored file, and corrected the "Removed" changeset (jolly-lynx-sprint.md)
and the phase design doc from 12 to 11 deleted files.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Emitted-Drift-Ack-Growth: execute-plan.md — call-site wiring for the summary.md and user-setup.md .compact.md variants
Emitted-Drift-Ack-Growth: help.md — call-site wiring for full.compact.md, same variant-resolution rule

* docs(#4406): backfill changeset PR numbers

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(#4406): resolve removed-but-needed lint findings on the dead-template deletion

CI's own full-test matrix (not gsd-test's matrix, which does not run this
check) caught 4 more false-positive dead-template classifications via
tests/removed-but-needed-lint.test.cjs / scripts/lint-removed-but-needed.cjs
— a literal, word-boundary basename check across .github/workflows/,
gsd-core/, and docs/ (excluding docs/adr/** and docs/research/**) for every
file a PR deletes. It has no semantic awareness, so a deleted template's
basename colliding with something else entirely still fires:

- claude-md.md: gsd-core/templates/README.md had a stale table row claiming
  /gsd-profile reads this template to generate CLAUDE.md. Verified false (no
  code reads it anywhere, same search that already covered bin/install.js) —
  fixed the row to *(inline)*, matching every other command-generated
  artifact in that table. File stays deleted.
- codebase/testing.md: collided with docs/guides/testing.md, an illustrative
  example row in docs-update.md's sample output table (an unrelated real
  generated-docs path). Swapped the example topic to "contributing" — the
  row is illustrative, any topic works. File stays deleted.
- codebase/architecture.md, codebase/stack.md: collided with docs/reference/
  planning-artifacts.md's directory listing of a user's own generated
  .planning/codebase/architecture.md and stack.md output — the same
  semantic mismatch already investigated and dismissed as unrelated earlier
  in this phase's audit, now caught by a gate instead of judgment. That
  listing repeats across 5 locale copies of the doc.
- continue-here.md: collided with the real .continue-here.md pause-work
  artifact, referenced across 15+ locale and workflow files.

For the last two, the lint's own error message offers "restore the file or
update every consumer in the same commit." Rewording 15+ files across
languages I cannot verify translation quality for, to shave 2 already-tiny
templates that were merely presumed dead, is disproportionate to this PR's
actual scope — restored codebase/architecture.md, codebase/stack.md, and
continue-here.md instead, and corrected docs/ARCHITECTURE.md's Templates
section accordingly.

Final confirmed-dead set: claude-md.md, codebase/concerns.md,
codebase/conventions.md, codebase/integrations.md, codebase/structure.md,
codebase/testing.md, debug-subagent-prompt.md, discovery.md — 8 files, down
from the original 12. Verified locally: GSD_REMOVED_BUT_NEEDED_BASE=next
node scripts/lint-removed-but-needed.cjs now passes clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Emitted-Drift-Ack-Growth: docs-update.md — swapped an illustrative example-table topic (testing -> contributing) to avoid a removed-but-needed basename collision with the deleted codebase/testing.md template; net +10 bytes

* fix(#4406): split codex-config.test.cjs to fix a genuine Windows CI timeout

Root cause of the `full test (windows-latest, 24, shard 2/3)` failure the
user asked to be actually fixed, not just re-run past: PR #4497 (landed
2026-09-07, one day before this PR's CI run) isolated
tests/codex-config.test.cjs into its own dedicated chunk because its
measured weight (17.87, ~45% of the post-cut Windows budget) made it unsafe
to share a chunk with any other file. That isolation was necessary but not
sufficient — even alone, with zero companion-file contention, the file's
real Windows execution time sits right at the 600s per-chunk ceiling. Two
independent CI runs on two unrelated PRs (this one and #4154) were both
killed within ~1.4s of the identical 600000ms mark — not random contention,
a deterministic near-miss the isolation fix couldn't address because it
never reduced the file's own cost, only removed the risk of a companion
file's cost stacking on top of it (which the PR #4497 comment explicitly
anticipated: "if a future profiling pass genuinely speeds up
codex-config.test.cjs itself, this isolation can be revisited").

The file itself explains why it's this heavy: 11,262 lines / 433 tests / 79
describe blocks, accumulated over dozens of bug-fix PRs (#2695, #2760,
#3245, #3285, #3346, #3426, #3427, #3562, #3566, #3582, #3808, and more),
several of which are explicitly documented as "folded" in from separate
files that were never actually split back out ("Verified non-duplicate
against both the pre-existing target and the other three folded sources").

Split into 4 files by top-level AST statement boundaries (never a naive
column-0 regex — an early attempt at that overcounted 79 apparent
"describe(" matches when only 21 are genuinely top-level; the rest are
nested inside a handful of large folded-in blocks, which a regex can't tell
apart from real top-level statements). Verified lossless twice: the split
script asserts byte-for-byte reconstruction of every source character, and
independently, total test()/describe() call counts match exactly between
the original file and the sum across all 4 new files (433/79 both sides).
Each new file carries the complete original shared header (imports/helpers)
for safety; per-file unused-import warnings from that duplication are
resolved via ESLint-precise alias renames (`{ foo: _foo }`, the standard
form for an intentionally-unused destructured binding — never a bare `{
_foo }`, which would destructure a different, nonexistent property).

No change needed to scripts/run-tests.cjs's ISOLATED_HEAVY_FILES or its
pinned test in tests/run-tests-harness.test.cjs: the file that keeps the
original name (tests/codex-config.test.cjs) is now only ~28% of the
original's size and safely isolated in its own chunk as before; the other
three new files re-enter normal weight-balanced packing, none individually
close to disproportionate. Confirmed no other file hardcodes the hardcoded
filename anywhere that would silently stop these tests from running (the
CI test-selection scripts determine scope algorithmically, not by literal
filename).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: sim <sim@local>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-08 14:31:04 -04:00

642 lines
29 KiB
JSON

[
".gsd-profile",
"agents/gsd-advisor-researcher.md",
"agents/gsd-ai-researcher.md",
"agents/gsd-assumptions-analyzer.md",
"agents/gsd-code-fixer.md",
"agents/gsd-code-reviewer.md",
"agents/gsd-codebase-mapper.md",
"agents/gsd-debug-session-manager.md",
"agents/gsd-debugger.md",
"agents/gsd-doc-classifier.md",
"agents/gsd-doc-synthesizer.md",
"agents/gsd-doc-verifier.md",
"agents/gsd-doc-writer.md",
"agents/gsd-dom-verifier.md",
"agents/gsd-domain-researcher.md",
"agents/gsd-eval-auditor.md",
"agents/gsd-eval-planner.md",
"agents/gsd-executor.md",
"agents/gsd-framework-selector.md",
"agents/gsd-integration-checker.md",
"agents/gsd-intel-updater.md",
"agents/gsd-mempalace-curator.md",
"agents/gsd-nyquist-auditor.md",
"agents/gsd-pattern-mapper.md",
"agents/gsd-phase-researcher.md",
"agents/gsd-plan-checker.md",
"agents/gsd-planner.md",
"agents/gsd-project-researcher.md",
"agents/gsd-research-synthesizer.md",
"agents/gsd-roadmapper.md",
"agents/gsd-security-auditor.md",
"agents/gsd-ui-auditor.md",
"agents/gsd-ui-checker.md",
"agents/gsd-ui-researcher.md",
"agents/gsd-user-profiler.md",
"agents/gsd-verifier.md",
"gsd-core/.gsd-runtime",
"gsd-core/VERSION",
"gsd-core/agents/gsd-advisor-researcher.md",
"gsd-core/agents/gsd-ai-researcher.md",
"gsd-core/agents/gsd-assumptions-analyzer.md",
"gsd-core/agents/gsd-code-fixer.md",
"gsd-core/agents/gsd-code-reviewer.md",
"gsd-core/agents/gsd-codebase-mapper.md",
"gsd-core/agents/gsd-debug-session-manager.md",
"gsd-core/agents/gsd-debugger.md",
"gsd-core/agents/gsd-doc-classifier.md",
"gsd-core/agents/gsd-doc-synthesizer.md",
"gsd-core/agents/gsd-doc-verifier.md",
"gsd-core/agents/gsd-doc-writer.md",
"gsd-core/agents/gsd-dom-verifier.md",
"gsd-core/agents/gsd-domain-researcher.md",
"gsd-core/agents/gsd-eval-auditor.md",
"gsd-core/agents/gsd-eval-planner.md",
"gsd-core/agents/gsd-executor.md",
"gsd-core/agents/gsd-framework-selector.md",
"gsd-core/agents/gsd-integration-checker.md",
"gsd-core/agents/gsd-intel-updater.md",
"gsd-core/agents/gsd-mempalace-curator.md",
"gsd-core/agents/gsd-nyquist-auditor.md",
"gsd-core/agents/gsd-pattern-mapper.md",
"gsd-core/agents/gsd-phase-researcher.md",
"gsd-core/agents/gsd-plan-checker.md",
"gsd-core/agents/gsd-planner.md",
"gsd-core/agents/gsd-project-researcher.md",
"gsd-core/agents/gsd-research-synthesizer.md",
"gsd-core/agents/gsd-roadmapper.md",
"gsd-core/agents/gsd-security-auditor.md",
"gsd-core/agents/gsd-ui-auditor.md",
"gsd-core/agents/gsd-ui-checker.md",
"gsd-core/agents/gsd-ui-researcher.md",
"gsd-core/agents/gsd-user-profiler.md",
"gsd-core/agents/gsd-verifier.md",
"gsd-core/bin/check-latest-version.cjs",
"gsd-core/bin/ensure-runtime-build.cjs",
"gsd-core/bin/gsd-tools.cjs",
"gsd-core/bin/gsd_run",
"gsd-core/bin/shared/config-defaults.manifest.json",
"gsd-core/bin/shared/config-schema.manifest.json",
"gsd-core/bin/shared/exit-codes.json",
"gsd-core/bin/shared/exit-codes.sh",
"gsd-core/bin/shared/model-catalog.json",
"gsd-core/bin/shared/runtime-aliases.manifest.json",
"gsd-core/bin/verify-reapply-patches.cjs",
"gsd-core/commands/gsd/add-tests.md",
"gsd-core/commands/gsd/ai-integration-phase.md",
"gsd-core/commands/gsd/audit-fix.md",
"gsd-core/commands/gsd/audit-milestone.md",
"gsd-core/commands/gsd/audit-uat.md",
"gsd-core/commands/gsd/autonomous.md",
"gsd-core/commands/gsd/capture.md",
"gsd-core/commands/gsd/cleanup.md",
"gsd-core/commands/gsd/code-review.md",
"gsd-core/commands/gsd/complete-milestone.md",
"gsd-core/commands/gsd/config.md",
"gsd-core/commands/gsd/debug.md",
"gsd-core/commands/gsd/discuss-phase.md",
"gsd-core/commands/gsd/docs-update.md",
"gsd-core/commands/gsd/eval-review.md",
"gsd-core/commands/gsd/execute-phase.md",
"gsd-core/commands/gsd/explore.md",
"gsd-core/commands/gsd/extract-learnings.md",
"gsd-core/commands/gsd/fast.md",
"gsd-core/commands/gsd/forensics.md",
"gsd-core/commands/gsd/graphify.md",
"gsd-core/commands/gsd/health.md",
"gsd-core/commands/gsd/help.md",
"gsd-core/commands/gsd/import.md",
"gsd-core/commands/gsd/inbox.md",
"gsd-core/commands/gsd/ingest-docs.md",
"gsd-core/commands/gsd/manager.md",
"gsd-core/commands/gsd/map-codebase.md",
"gsd-core/commands/gsd/mempalace-capture.md",
"gsd-core/commands/gsd/mempalace-recall.md",
"gsd-core/commands/gsd/milestone-summary.md",
"gsd-core/commands/gsd/mvp-phase.md",
"gsd-core/commands/gsd/new-milestone.md",
"gsd-core/commands/gsd/new-project.md",
"gsd-core/commands/gsd/next.md",
"gsd-core/commands/gsd/ns-context.md",
"gsd-core/commands/gsd/ns-ideate.md",
"gsd-core/commands/gsd/ns-manage.md",
"gsd-core/commands/gsd/ns-project.md",
"gsd-core/commands/gsd/ns-review.md",
"gsd-core/commands/gsd/ns-workflow.md",
"gsd-core/commands/gsd/onboard.md",
"gsd-core/commands/gsd/pause-work.md",
"gsd-core/commands/gsd/phase.md",
"gsd-core/commands/gsd/plan-phase.md",
"gsd-core/commands/gsd/plan-review-convergence.md",
"gsd-core/commands/gsd/pr-branch.md",
"gsd-core/commands/gsd/profile-user.md",
"gsd-core/commands/gsd/progress.md",
"gsd-core/commands/gsd/quick-batch.md",
"gsd-core/commands/gsd/quick.md",
"gsd-core/commands/gsd/resume-work.md",
"gsd-core/commands/gsd/review-backlog.md",
"gsd-core/commands/gsd/review.md",
"gsd-core/commands/gsd/secure-phase.md",
"gsd-core/commands/gsd/settings.md",
"gsd-core/commands/gsd/ship.md",
"gsd-core/commands/gsd/sketch.md",
"gsd-core/commands/gsd/spec-phase.md",
"gsd-core/commands/gsd/spike.md",
"gsd-core/commands/gsd/stats.md",
"gsd-core/commands/gsd/surface.md",
"gsd-core/commands/gsd/thread.md",
"gsd-core/commands/gsd/ui-phase.md",
"gsd-core/commands/gsd/ui-review.md",
"gsd-core/commands/gsd/ultraplan-phase.md",
"gsd-core/commands/gsd/undo.md",
"gsd-core/commands/gsd/update.md",
"gsd-core/commands/gsd/validate-phase.md",
"gsd-core/commands/gsd/verify-work.md",
"gsd-core/commands/gsd/workspace.md",
"gsd-core/commands/gsd/workstreams.md",
"gsd-core/contexts/dev.md",
"gsd-core/contexts/research.md",
"gsd-core/contexts/review.md",
"gsd-core/references/agent-contracts.md",
"gsd-core/references/agent-skills-bootstrap.md",
"gsd-core/references/ai-evals.md",
"gsd-core/references/ai-frameworks.md",
"gsd-core/references/api-coverage.md",
"gsd-core/references/artifact-types.md",
"gsd-core/references/autonomous-smart-discuss.md",
"gsd-core/references/autonomous-ui-design-contract.md",
"gsd-core/references/checkpoints.md",
"gsd-core/references/common-bug-patterns.md",
"gsd-core/references/compact-content-gate.md",
"gsd-core/references/context-budget.md",
"gsd-core/references/continuation-format.md",
"gsd-core/references/debugger-bug-taxonomy.md",
"gsd-core/references/debugger-fix-acceptance.md",
"gsd-core/references/debugger-philosophy.md",
"gsd-core/references/debugger-prevention.md",
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/debugger-techniques.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/dispatch-isolation-gate.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json",
"gsd-core/references/edge-probe.md",
"gsd-core/references/execute-mvp-tdd.md",
"gsd-core/references/execute-phase-between-wave-reset.md",
"gsd-core/references/execute-phase-context-guard.md",
"gsd-core/references/execute-phase-quota-recovery.md",
"gsd-core/references/execute-phase-requirement-revert.md",
"gsd-core/references/execute-phase-response-language.md",
"gsd-core/references/execute-phase-wave-guard.md",
"gsd-core/references/executor-examples.md",
"gsd-core/references/failing-direction.md",
"gsd-core/references/few-shot-examples/plan-checker.md",
"gsd-core/references/few-shot-examples/verifier.md",
"gsd-core/references/gate-prompts.md",
"gsd-core/references/gates.md",
"gsd-core/references/git-integration.md",
"gsd-core/references/git-planning-commit.md",
"gsd-core/references/gsd-run-resolver.md",
"gsd-core/references/honest-verifier.md",
"gsd-core/references/ios-scaffold.md",
"gsd-core/references/loop-hook-dispatch.md",
"gsd-core/references/mandatory-initial-read.md",
"gsd-core/references/model-profile-resolution.md",
"gsd-core/references/model-profiles.md",
"gsd-core/references/mvp-concepts.md",
"gsd-core/references/nyquist-compliance.md",
"gsd-core/references/offer-next.md",
"gsd-core/references/phase-argument-parsing.md",
"gsd-core/references/plan-checker-examples.md",
"gsd-core/references/planner-antipatterns.md",
"gsd-core/references/planner-chunked.md",
"gsd-core/references/planner-coupling.md",
"gsd-core/references/planner-failing-direction.md",
"gsd-core/references/planner-gap-closure.md",
"gsd-core/references/planner-graphify-auto-update.md",
"gsd-core/references/planner-guidance.md",
"gsd-core/references/planner-human-verify-mode.md",
"gsd-core/references/planner-interface-context.md",
"gsd-core/references/planner-load-graph-context.md",
"gsd-core/references/planner-mvp-mode.md",
"gsd-core/references/planner-preconditions.md",
"gsd-core/references/planner-quick-batch.md",
"gsd-core/references/planner-reversibility.md",
"gsd-core/references/planner-reviews.md",
"gsd-core/references/planner-revision.md",
"gsd-core/references/planner-source-audit.md",
"gsd-core/references/planner-verify-command-grounding.md",
"gsd-core/references/planning-config.md",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json",
"gsd-core/references/prohibition-probe.md",
"gsd-core/references/project-skills-discovery.md",
"gsd-core/references/questioning.md",
"gsd-core/references/research-documentation-lookup.md",
"gsd-core/references/research-philosophy.md",
"gsd-core/references/research-verification-protocol.md",
"gsd-core/references/response-language-directive.md",
"gsd-core/references/reviewer-instances.md",
"gsd-core/references/revision-loop.md",
"gsd-core/references/runtime-aware-dispatch.md",
"gsd-core/references/scout-codebase.md",
"gsd-core/references/security-asvs-levels.md",
"gsd-core/references/skeleton-template.md",
"gsd-core/references/sketch-interactivity.md",
"gsd-core/references/sketch-theme-system.md",
"gsd-core/references/sketch-tooling.md",
"gsd-core/references/sketch-variant-patterns.md",
"gsd-core/references/specless-probe-fallback.md",
"gsd-core/references/spidr-splitting.md",
"gsd-core/references/tdd.md",
"gsd-core/references/thinking-models-debug.md",
"gsd-core/references/thinking-models-execution.md",
"gsd-core/references/thinking-models-planning.md",
"gsd-core/references/thinking-models-research.md",
"gsd-core/references/thinking-models-verification.md",
"gsd-core/references/thinking-partner.md",
"gsd-core/references/ui-brand.md",
"gsd-core/references/ui-consideration-probe.md",
"gsd-core/references/universal-anti-patterns.md",
"gsd-core/references/untrusted-input-boundary.md",
"gsd-core/references/user-profiling.md",
"gsd-core/references/user-story-template.md",
"gsd-core/references/verification-overrides.md",
"gsd-core/references/verification-patterns.md",
"gsd-core/references/verifier-evidence-gate.md",
"gsd-core/references/verifier-phase-gates.md",
"gsd-core/references/verifier-wiring-patterns.md",
"gsd-core/references/verify-command-path-resolvability.md",
"gsd-core/references/verify-mvp-mode.md",
"gsd-core/references/workstream-flag.md",
"gsd-core/references/worktree-branch-check.md",
"gsd-core/references/worktree-path-safety.md",
"gsd-core/templates/AI-SPEC.md",
"gsd-core/templates/DEBUG.md",
"gsd-core/templates/README.md",
"gsd-core/templates/SECURITY.md",
"gsd-core/templates/UAT.md",
"gsd-core/templates/UI-SPEC.md",
"gsd-core/templates/VALIDATION.md",
"gsd-core/templates/codebase/architecture.md",
"gsd-core/templates/codebase/stack.md",
"gsd-core/templates/config.json",
"gsd-core/templates/context.md",
"gsd-core/templates/continue-here.md",
"gsd-core/templates/copilot-instructions.md",
"gsd-core/templates/dev-preferences.md",
"gsd-core/templates/discussion-log.md",
"gsd-core/templates/milestone-archive.md",
"gsd-core/templates/milestone.md",
"gsd-core/templates/phase-prompt.md",
"gsd-core/templates/planner-subagent-prompt.md",
"gsd-core/templates/project.md",
"gsd-core/templates/requirements.md",
"gsd-core/templates/research-project/ARCHITECTURE.md",
"gsd-core/templates/research-project/FEATURES.md",
"gsd-core/templates/research-project/PITFALLS.md",
"gsd-core/templates/research-project/STACK.md",
"gsd-core/templates/research-project/SUMMARY.md",
"gsd-core/templates/research.md",
"gsd-core/templates/retrospective.md",
"gsd-core/templates/roadmap.md",
"gsd-core/templates/spec.md",
"gsd-core/templates/state.md",
"gsd-core/templates/summary-complex.md",
"gsd-core/templates/summary-minimal.md",
"gsd-core/templates/summary-standard.md",
"gsd-core/templates/summary.compact.md",
"gsd-core/templates/summary.md",
"gsd-core/templates/user-profile.md",
"gsd-core/templates/user-setup.compact.md",
"gsd-core/templates/user-setup.md",
"gsd-core/templates/verification-report.md",
"gsd-core/workflows/_runtime-launcher.snippet.sh",
"gsd-core/workflows/add-backlog.md",
"gsd-core/workflows/add-phase.md",
"gsd-core/workflows/add-tests.md",
"gsd-core/workflows/add-todo.md",
"gsd-core/workflows/ai-integration-phase.md",
"gsd-core/workflows/analyze-dependencies.md",
"gsd-core/workflows/audit-fix.md",
"gsd-core/workflows/audit-milestone.md",
"gsd-core/workflows/audit-uat.md",
"gsd-core/workflows/autonomous.md",
"gsd-core/workflows/autonomous/steps/converge-banner.md",
"gsd-core/workflows/autonomous/steps/converge-dispatch-bg.md",
"gsd-core/workflows/autonomous/steps/converge-dispatch-inline.md",
"gsd-core/workflows/autonomous/steps/converge-fail-fast.md",
"gsd-core/workflows/autonomous/steps/converge-loop.md",
"gsd-core/workflows/check-todos.md",
"gsd-core/workflows/cleanup.md",
"gsd-core/workflows/code-review-fix.md",
"gsd-core/workflows/code-review.md",
"gsd-core/workflows/code-review/steps/dispatch-fix.md",
"gsd-core/workflows/code-review/steps/structural-pre-pass.md",
"gsd-core/workflows/complete-milestone.md",
"gsd-core/workflows/complete-milestone/detail/elaboration.md",
"gsd-core/workflows/complete-milestone/steps/git-tag.md",
"gsd-core/workflows/debug.md",
"gsd-core/workflows/diagnose-issues.md",
"gsd-core/workflows/discuss-phase-assumptions.md",
"gsd-core/workflows/discuss-phase-assumptions/steps/auto-advance-dispatch.md",
"gsd-core/workflows/discuss-phase-power.md",
"gsd-core/workflows/discuss-phase.md",
"gsd-core/workflows/discuss-phase/modes/advisor.md",
"gsd-core/workflows/discuss-phase/modes/all.md",
"gsd-core/workflows/discuss-phase/modes/analyze.md",
"gsd-core/workflows/discuss-phase/modes/auto.md",
"gsd-core/workflows/discuss-phase/modes/batch.md",
"gsd-core/workflows/discuss-phase/modes/chain.md",
"gsd-core/workflows/discuss-phase/modes/default.md",
"gsd-core/workflows/discuss-phase/modes/power.md",
"gsd-core/workflows/discuss-phase/modes/text.md",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json",
"gsd-core/workflows/discuss-phase/templates/context.md",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md",
"gsd-core/workflows/do.md",
"gsd-core/workflows/docs-update.md",
"gsd-core/workflows/docs-update/detail/elaboration.md",
"gsd-core/workflows/docs-update/steps/dispatch-monorepo-packages.md",
"gsd-core/workflows/edit-phase.md",
"gsd-core/workflows/eval-review.md",
"gsd-core/workflows/execute-phase.md",
"gsd-core/workflows/execute-phase/detail/elaboration.md",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md",
"gsd-core/workflows/execute-phase/steps/completion-reconciliation.md",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md",
"gsd-core/workflows/execute-phase/steps/executor-progress-policy.md",
"gsd-core/workflows/execute-phase/steps/gap-closure-artifacts.md",
"gsd-core/workflows/execute-phase/steps/partial-wave.md",
"gsd-core/workflows/execute-phase/steps/per-plan-executor-routing.md",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md",
"gsd-core/workflows/execute-phase/steps/protected-branch.md",
"gsd-core/workflows/execute-phase/steps/regression-gate-run.md",
"gsd-core/workflows/execute-phase/steps/regression-gate.md",
"gsd-core/workflows/execute-phase/steps/sequential-root-pin.md",
"gsd-core/workflows/execute-phase/steps/tdd-applicability-resolution.md",
"gsd-core/workflows/execute-phase/steps/wave-post-gate-hooks.md",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md",
"gsd-core/workflows/execute-plan.md",
"gsd-core/workflows/explore.md",
"gsd-core/workflows/extract-learnings.md",
"gsd-core/workflows/fast.md",
"gsd-core/workflows/forensics.md",
"gsd-core/workflows/graduation.md",
"gsd-core/workflows/health.md",
"gsd-core/workflows/help.md",
"gsd-core/workflows/help/modes/brief.md",
"gsd-core/workflows/help/modes/default.md",
"gsd-core/workflows/help/modes/full.compact.md",
"gsd-core/workflows/help/modes/full.md",
"gsd-core/workflows/help/modes/topic.md",
"gsd-core/workflows/import.md",
"gsd-core/workflows/inbox.md",
"gsd-core/workflows/ingest-docs.md",
"gsd-core/workflows/insert-phase.md",
"gsd-core/workflows/list-phase-assumptions.md",
"gsd-core/workflows/list-seeds.md",
"gsd-core/workflows/list-workspaces.md",
"gsd-core/workflows/manager.md",
"gsd-core/workflows/map-codebase.md",
"gsd-core/workflows/milestone-summary.md",
"gsd-core/workflows/mvp-phase.md",
"gsd-core/workflows/new-milestone.md",
"gsd-core/workflows/new-milestone/steps/project-md-milestone-write.md",
"gsd-core/workflows/new-milestone/steps/reset-phase-safety.md",
"gsd-core/workflows/new-project.md",
"gsd-core/workflows/new-project/detail/elaboration.md",
"gsd-core/workflows/new-project/steps/auto-mode-config.md",
"gsd-core/workflows/new-project/steps/auto-mode-detection.md",
"gsd-core/workflows/new-project/steps/codebase-map-offer.md",
"gsd-core/workflows/new-workspace.md",
"gsd-core/workflows/next.md",
"gsd-core/workflows/node-repair.md",
"gsd-core/workflows/note.md",
"gsd-core/workflows/onboard.md",
"gsd-core/workflows/pause-work.md",
"gsd-core/workflows/plan-phase.md",
"gsd-core/workflows/plan-phase/detail/elaboration.md",
"gsd-core/workflows/plan-phase/steps/adr-ingest-express-path.md",
"gsd-core/workflows/plan-phase/steps/chunked-planning-mode.md",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md",
"gsd-core/workflows/plan-phase/steps/prd-express-gate.md",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md",
"gsd-core/workflows/plan-phase/steps/research-only-early-exit.md",
"gsd-core/workflows/plan-phase/steps/research-only-modifiers.md",
"gsd-core/workflows/plan-phase/steps/reviews-prerequisite.md",
"gsd-core/workflows/plan-phase/steps/stall-detection-helpers.md",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md",
"gsd-core/workflows/plan-review-convergence.md",
"gsd-core/workflows/plant-seed.md",
"gsd-core/workflows/pr-branch.md",
"gsd-core/workflows/profile-user.md",
"gsd-core/workflows/progress.md",
"gsd-core/workflows/progress/steps/forensic-audit.md",
"gsd-core/workflows/progress/steps/mvp-display.md",
"gsd-core/workflows/quick-batch.md",
"gsd-core/workflows/quick-batch/steps/batch-init.md",
"gsd-core/workflows/quick-batch/steps/completion.md",
"gsd-core/workflows/quick-batch/steps/merge-wave.md",
"gsd-core/workflows/quick-batch/steps/plan-checker-loop.md",
"gsd-core/workflows/quick-batch/steps/planner-wave.md",
"gsd-core/workflows/quick-batch/steps/research-phase.md",
"gsd-core/workflows/quick-batch/steps/resume-mode.md",
"gsd-core/workflows/quick-batch/steps/verification-wave.md",
"gsd-core/workflows/quick-batch/steps/worktree-dispatch.md",
"gsd-core/workflows/quick.md",
"gsd-core/workflows/quick/steps/discussion-phase.md",
"gsd-core/workflows/quick/steps/plan-checker-loop.md",
"gsd-core/workflows/quick/steps/quick-verification.md",
"gsd-core/workflows/quick/steps/research-phase.md",
"gsd-core/workflows/quick/steps/worktree-pre-dispatch-commit.md",
"gsd-core/workflows/reapply-patches.md",
"gsd-core/workflows/remove-phase.md",
"gsd-core/workflows/remove-workspace.md",
"gsd-core/workflows/resume-project.md",
"gsd-core/workflows/review.md",
"gsd-core/workflows/review/steps/reviewer-instances-note-1.md",
"gsd-core/workflows/review/steps/reviewer-instances-note-2.md",
"gsd-core/workflows/scan.md",
"gsd-core/workflows/section-manifest.json",
"gsd-core/workflows/secure-phase.md",
"gsd-core/workflows/session-report.md",
"gsd-core/workflows/settings-advanced.md",
"gsd-core/workflows/settings-integrations.md",
"gsd-core/workflows/settings.md",
"gsd-core/workflows/ship.md",
"gsd-core/workflows/sketch-wrap-up.md",
"gsd-core/workflows/sketch.md",
"gsd-core/workflows/smart-entry.md",
"gsd-core/workflows/spec-phase.md",
"gsd-core/workflows/spike-wrap-up.md",
"gsd-core/workflows/spike.md",
"gsd-core/workflows/stats.md",
"gsd-core/workflows/sync-skills.md",
"gsd-core/workflows/thread.md",
"gsd-core/workflows/transition.md",
"gsd-core/workflows/transition/steps/workstream-collision-check.md",
"gsd-core/workflows/ui-phase.md",
"gsd-core/workflows/ui-review.md",
"gsd-core/workflows/ultraplan-phase.md",
"gsd-core/workflows/undo.md",
"gsd-core/workflows/update.md",
"gsd-core/workflows/update/steps/channel-banner.md",
"gsd-core/workflows/validate-phase.md",
"gsd-core/workflows/verify-work.md",
"gsd-core/workflows/verify-work/detail/elaboration.md",
"gsd-core/workflows/verify-work/steps/automated-ui-verification.md",
"gsd-core/workflows/verify-work/steps/mvp-uat-framing.md",
"hooks/gsd-agent-isolation-guard.js",
"hooks/gsd-check-update-worker.js",
"hooks/gsd-check-update.js",
"hooks/gsd-config-reload.js",
"hooks/gsd-context-monitor.js",
"hooks/gsd-cursor-post-tool.js",
"hooks/gsd-cursor-pre-tool.js",
"hooks/gsd-cursor-session-start.js",
"hooks/gsd-cursor-stop.js",
"hooks/gsd-cursor-subagent-start.js",
"hooks/gsd-cursor-subagent-stop.js",
"hooks/gsd-ensure-canonical-path.js",
"hooks/gsd-graphify-update.sh",
"hooks/gsd-node-runner.sh",
"hooks/gsd-phase-boundary.sh",
"hooks/gsd-prompt-guard.js",
"hooks/gsd-read-guard.js",
"hooks/gsd-read-injection-scanner.js",
"hooks/gsd-secret-read-guard.js",
"hooks/gsd-session-state.sh",
"hooks/gsd-statusline.js",
"hooks/gsd-update-banner.js",
"hooks/gsd-validate-commit.sh",
"hooks/gsd-windsurf-pre-command.js",
"hooks/gsd-windsurf-pre-write.js",
"hooks/gsd-workflow-guard.js",
"hooks/gsd-worktree-path-guard.js",
"hooks/gsd-write-guard.js",
"hooks/lib/cli-exit.js",
"hooks/lib/cursor-workspace.js",
"hooks/lib/exit-code-registry.js",
"hooks/lib/git-cmd.js",
"hooks/lib/git-probe.js",
"hooks/lib/gsd-graphify-rebuild.sh",
"hooks/lib/hook-exit.js",
"hooks/lib/injection-patterns.js",
"hooks/lib/isolation-deny-reason.js",
"hooks/lib/isolation-sentinel.js",
"hooks/managed-hooks-registry.cjs",
"hooks/package.json",
"scripts/changeset/README.md",
"scripts/changeset/cli.cjs",
"scripts/changeset/github-release-notes.cjs",
"scripts/changeset/lint.cjs",
"scripts/changeset/new.cjs",
"scripts/changeset/parse.cjs",
"scripts/changeset/render.cjs",
"scripts/changeset/serialize.cjs",
"scripts/fix-slash-commands.cjs",
"scripts/gen-capability-registry.cjs",
"scripts/gen-loop-host-contract.cjs",
"scripts/lib/alias-drift-families.cjs",
"scripts/lib/allowlist-ratchet.cjs",
"scripts/lib/ci-job-timing.cjs",
"scripts/lib/cli-exit.cjs",
"scripts/lib/drift-scan.cjs",
"scripts/lib/exit-code-registry.cjs",
"scripts/lib/ndjson-reporter.cjs",
"scripts/lib/shellcheck-fetch.cjs",
"skills/gsd-ns-context/SKILL.md",
"skills/gsd-ns-context/skills/docs-update/SKILL.md",
"skills/gsd-ns-context/skills/extract-learnings/SKILL.md",
"skills/gsd-ns-context/skills/graphify/SKILL.md",
"skills/gsd-ns-context/skills/map-codebase/SKILL.md",
"skills/gsd-ns-context/skills/mempalace-capture/SKILL.md",
"skills/gsd-ns-context/skills/mempalace-recall/SKILL.md",
"skills/gsd-ns-ideate/SKILL.md",
"skills/gsd-ns-ideate/skills/capture/SKILL.md",
"skills/gsd-ns-ideate/skills/explore/SKILL.md",
"skills/gsd-ns-ideate/skills/sketch/SKILL.md",
"skills/gsd-ns-ideate/skills/spec-phase/SKILL.md",
"skills/gsd-ns-ideate/skills/spike/SKILL.md",
"skills/gsd-ns-manage/SKILL.md",
"skills/gsd-ns-manage/skills/cleanup/SKILL.md",
"skills/gsd-ns-manage/skills/config/SKILL.md",
"skills/gsd-ns-manage/skills/health/SKILL.md",
"skills/gsd-ns-manage/skills/help/SKILL.md",
"skills/gsd-ns-manage/skills/inbox/SKILL.md",
"skills/gsd-ns-manage/skills/manager/SKILL.md",
"skills/gsd-ns-manage/skills/pause-work/SKILL.md",
"skills/gsd-ns-manage/skills/pr-branch/SKILL.md",
"skills/gsd-ns-manage/skills/resume-work/SKILL.md",
"skills/gsd-ns-manage/skills/settings/SKILL.md",
"skills/gsd-ns-manage/skills/ship/SKILL.md",
"skills/gsd-ns-manage/skills/stats/SKILL.md",
"skills/gsd-ns-manage/skills/surface/SKILL.md",
"skills/gsd-ns-manage/skills/thread/SKILL.md",
"skills/gsd-ns-manage/skills/undo/SKILL.md",
"skills/gsd-ns-manage/skills/update/SKILL.md",
"skills/gsd-ns-manage/skills/workspace/SKILL.md",
"skills/gsd-ns-manage/skills/workstreams/SKILL.md",
"skills/gsd-ns-project/SKILL.md",
"skills/gsd-ns-project/skills/audit-milestone/SKILL.md",
"skills/gsd-ns-project/skills/complete-milestone/SKILL.md",
"skills/gsd-ns-project/skills/import/SKILL.md",
"skills/gsd-ns-project/skills/ingest-docs/SKILL.md",
"skills/gsd-ns-project/skills/milestone-summary/SKILL.md",
"skills/gsd-ns-project/skills/new-milestone/SKILL.md",
"skills/gsd-ns-project/skills/new-project/SKILL.md",
"skills/gsd-ns-project/skills/onboard/SKILL.md",
"skills/gsd-ns-project/skills/profile-user/SKILL.md",
"skills/gsd-ns-project/skills/review-backlog/SKILL.md",
"skills/gsd-ns-review/SKILL.md",
"skills/gsd-ns-review/skills/audit-fix/SKILL.md",
"skills/gsd-ns-review/skills/audit-uat/SKILL.md",
"skills/gsd-ns-review/skills/code-review/SKILL.md",
"skills/gsd-ns-review/skills/debug/SKILL.md",
"skills/gsd-ns-review/skills/eval-review/SKILL.md",
"skills/gsd-ns-review/skills/forensics/SKILL.md",
"skills/gsd-ns-review/skills/review/SKILL.md",
"skills/gsd-ns-review/skills/secure-phase/SKILL.md",
"skills/gsd-ns-review/skills/ui-phase/SKILL.md",
"skills/gsd-ns-review/skills/ui-review/SKILL.md",
"skills/gsd-ns-review/skills/validate-phase/SKILL.md",
"skills/gsd-ns-workflow/SKILL.md",
"skills/gsd-ns-workflow/skills/add-tests/SKILL.md",
"skills/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/autonomous/SKILL.md",
"skills/gsd-ns-workflow/skills/discuss-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/execute-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/fast/SKILL.md",
"skills/gsd-ns-workflow/skills/mvp-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/next/SKILL.md",
"skills/gsd-ns-workflow/skills/phase/SKILL.md",
"skills/gsd-ns-workflow/skills/plan-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md",
"skills/gsd-ns-workflow/skills/progress/SKILL.md",
"skills/gsd-ns-workflow/skills/quick-batch/SKILL.md",
"skills/gsd-ns-workflow/skills/quick/SKILL.md",
"skills/gsd-ns-workflow/skills/spec-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md",
"skills/gsd-ns-workflow/skills/verify-work/SKILL.md"
]