* 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>
689 lines
21 KiB
JSON
689 lines
21 KiB
JSON
{
|
|
"families": {
|
|
"agents": [
|
|
"gsd-advisor-researcher",
|
|
"gsd-ai-researcher",
|
|
"gsd-assumptions-analyzer",
|
|
"gsd-code-fixer",
|
|
"gsd-code-reviewer",
|
|
"gsd-codebase-mapper",
|
|
"gsd-debug-session-manager",
|
|
"gsd-debugger",
|
|
"gsd-doc-classifier",
|
|
"gsd-doc-synthesizer",
|
|
"gsd-doc-verifier",
|
|
"gsd-doc-writer",
|
|
"gsd-dom-verifier",
|
|
"gsd-domain-researcher",
|
|
"gsd-eval-auditor",
|
|
"gsd-eval-planner",
|
|
"gsd-executor",
|
|
"gsd-framework-selector",
|
|
"gsd-integration-checker",
|
|
"gsd-intel-updater",
|
|
"gsd-mempalace-curator",
|
|
"gsd-nyquist-auditor",
|
|
"gsd-pattern-mapper",
|
|
"gsd-phase-researcher",
|
|
"gsd-plan-checker",
|
|
"gsd-planner",
|
|
"gsd-project-researcher",
|
|
"gsd-research-synthesizer",
|
|
"gsd-roadmapper",
|
|
"gsd-security-auditor",
|
|
"gsd-ui-auditor",
|
|
"gsd-ui-checker",
|
|
"gsd-ui-researcher",
|
|
"gsd-user-profiler",
|
|
"gsd-verifier"
|
|
],
|
|
"commands": [
|
|
"/gsd-add-tests",
|
|
"/gsd-ai-integration-phase",
|
|
"/gsd-audit-fix",
|
|
"/gsd-audit-milestone",
|
|
"/gsd-audit-uat",
|
|
"/gsd-autonomous",
|
|
"/gsd-capture",
|
|
"/gsd-cleanup",
|
|
"/gsd-code-review",
|
|
"/gsd-complete-milestone",
|
|
"/gsd-config",
|
|
"/gsd-debug",
|
|
"/gsd-discuss-phase",
|
|
"/gsd-docs-update",
|
|
"/gsd-eval-review",
|
|
"/gsd-execute-phase",
|
|
"/gsd-explore",
|
|
"/gsd-extract-learnings",
|
|
"/gsd-fast",
|
|
"/gsd-forensics",
|
|
"/gsd-graphify",
|
|
"/gsd-health",
|
|
"/gsd-help",
|
|
"/gsd-import",
|
|
"/gsd-inbox",
|
|
"/gsd-ingest-docs",
|
|
"/gsd-manager",
|
|
"/gsd-map-codebase",
|
|
"/gsd-mempalace-capture",
|
|
"/gsd-mempalace-recall",
|
|
"/gsd-milestone-summary",
|
|
"/gsd-mvp-phase",
|
|
"/gsd-new-milestone",
|
|
"/gsd-new-project",
|
|
"/gsd-next",
|
|
"/gsd-ns-context",
|
|
"/gsd-ns-ideate",
|
|
"/gsd-ns-manage",
|
|
"/gsd-ns-project",
|
|
"/gsd-ns-review",
|
|
"/gsd-ns-workflow",
|
|
"/gsd-onboard",
|
|
"/gsd-pause-work",
|
|
"/gsd-phase",
|
|
"/gsd-plan-phase",
|
|
"/gsd-plan-review-convergence",
|
|
"/gsd-pr-branch",
|
|
"/gsd-profile-user",
|
|
"/gsd-progress",
|
|
"/gsd-quick",
|
|
"/gsd-quick-batch",
|
|
"/gsd-resume-work",
|
|
"/gsd-review",
|
|
"/gsd-review-backlog",
|
|
"/gsd-secure-phase",
|
|
"/gsd-settings",
|
|
"/gsd-ship",
|
|
"/gsd-sketch",
|
|
"/gsd-spec-phase",
|
|
"/gsd-spike",
|
|
"/gsd-stats",
|
|
"/gsd-surface",
|
|
"/gsd-thread",
|
|
"/gsd-ui-phase",
|
|
"/gsd-ui-review",
|
|
"/gsd-ultraplan-phase",
|
|
"/gsd-undo",
|
|
"/gsd-update",
|
|
"/gsd-validate-phase",
|
|
"/gsd-verify-work",
|
|
"/gsd-workspace",
|
|
"/gsd-workstreams"
|
|
],
|
|
"workflows": [
|
|
"add-backlog.md",
|
|
"add-phase.md",
|
|
"add-tests.md",
|
|
"add-todo.md",
|
|
"ai-integration-phase.md",
|
|
"analyze-dependencies.md",
|
|
"audit-fix.md",
|
|
"audit-milestone.md",
|
|
"audit-uat.md",
|
|
"autonomous.md",
|
|
"check-todos.md",
|
|
"cleanup.md",
|
|
"code-review-fix.md",
|
|
"code-review.md",
|
|
"complete-milestone.md",
|
|
"debug.md",
|
|
"diagnose-issues.md",
|
|
"discuss-phase-assumptions.md",
|
|
"discuss-phase-power.md",
|
|
"discuss-phase.md",
|
|
"do.md",
|
|
"docs-update.md",
|
|
"edit-phase.md",
|
|
"eval-review.md",
|
|
"execute-phase.md",
|
|
"execute-plan.md",
|
|
"explore.md",
|
|
"extract-learnings.md",
|
|
"fast.md",
|
|
"forensics.md",
|
|
"graduation.md",
|
|
"health.md",
|
|
"help.md",
|
|
"import.md",
|
|
"inbox.md",
|
|
"ingest-docs.md",
|
|
"insert-phase.md",
|
|
"list-phase-assumptions.md",
|
|
"list-seeds.md",
|
|
"list-workspaces.md",
|
|
"manager.md",
|
|
"map-codebase.md",
|
|
"milestone-summary.md",
|
|
"mvp-phase.md",
|
|
"new-milestone.md",
|
|
"new-project.md",
|
|
"new-workspace.md",
|
|
"next.md",
|
|
"node-repair.md",
|
|
"note.md",
|
|
"onboard.md",
|
|
"pause-work.md",
|
|
"plan-phase.md",
|
|
"plan-review-convergence.md",
|
|
"plant-seed.md",
|
|
"pr-branch.md",
|
|
"profile-user.md",
|
|
"progress.md",
|
|
"quick-batch.md",
|
|
"quick.md",
|
|
"reapply-patches.md",
|
|
"remove-phase.md",
|
|
"remove-workspace.md",
|
|
"resume-project.md",
|
|
"review.md",
|
|
"scan.md",
|
|
"secure-phase.md",
|
|
"session-report.md",
|
|
"settings-advanced.md",
|
|
"settings-integrations.md",
|
|
"settings.md",
|
|
"ship.md",
|
|
"sketch-wrap-up.md",
|
|
"sketch.md",
|
|
"smart-entry.md",
|
|
"spec-phase.md",
|
|
"spike-wrap-up.md",
|
|
"spike.md",
|
|
"stats.md",
|
|
"sync-skills.md",
|
|
"thread.md",
|
|
"transition.md",
|
|
"ui-phase.md",
|
|
"ui-review.md",
|
|
"ultraplan-phase.md",
|
|
"undo.md",
|
|
"update.md",
|
|
"validate-phase.md",
|
|
"verify-work.md"
|
|
],
|
|
"references": [
|
|
"agent-contracts.md",
|
|
"agent-skills-bootstrap.md",
|
|
"ai-evals.md",
|
|
"ai-frameworks.md",
|
|
"api-coverage.md",
|
|
"artifact-types.md",
|
|
"autonomous-smart-discuss.md",
|
|
"autonomous-ui-design-contract.md",
|
|
"checkpoints.md",
|
|
"common-bug-patterns.md",
|
|
"compact-content-gate.md",
|
|
"context-budget.md",
|
|
"continuation-format.md",
|
|
"debugger-bug-taxonomy.md",
|
|
"debugger-fix-acceptance.md",
|
|
"debugger-philosophy.md",
|
|
"debugger-prevention.md",
|
|
"debugger-rca-branching.md",
|
|
"debugger-repro-hardening.md",
|
|
"debugger-sbfl.md",
|
|
"debugger-semantic-recall.md",
|
|
"debugger-techniques.md",
|
|
"decimal-phase-calculation.md",
|
|
"dispatch-isolation-gate.md",
|
|
"doc-conflict-engine.md",
|
|
"domain-probes.md",
|
|
"edge-probe.md",
|
|
"execute-mvp-tdd.md",
|
|
"execute-phase-between-wave-reset.md",
|
|
"execute-phase-context-guard.md",
|
|
"execute-phase-quota-recovery.md",
|
|
"execute-phase-requirement-revert.md",
|
|
"execute-phase-response-language.md",
|
|
"execute-phase-wave-guard.md",
|
|
"executor-examples.md",
|
|
"failing-direction.md",
|
|
"gate-prompts.md",
|
|
"gates.md",
|
|
"git-integration.md",
|
|
"git-planning-commit.md",
|
|
"gsd-run-resolver.md",
|
|
"honest-verifier.md",
|
|
"ios-scaffold.md",
|
|
"loop-hook-dispatch.md",
|
|
"mandatory-initial-read.md",
|
|
"model-profile-resolution.md",
|
|
"model-profiles.md",
|
|
"mvp-concepts.md",
|
|
"nyquist-compliance.md",
|
|
"offer-next.md",
|
|
"phase-argument-parsing.md",
|
|
"plan-checker-examples.md",
|
|
"planner-antipatterns.md",
|
|
"planner-chunked.md",
|
|
"planner-coupling.md",
|
|
"planner-failing-direction.md",
|
|
"planner-gap-closure.md",
|
|
"planner-graphify-auto-update.md",
|
|
"planner-guidance.md",
|
|
"planner-human-verify-mode.md",
|
|
"planner-interface-context.md",
|
|
"planner-load-graph-context.md",
|
|
"planner-mvp-mode.md",
|
|
"planner-preconditions.md",
|
|
"planner-quick-batch.md",
|
|
"planner-reversibility.md",
|
|
"planner-reviews.md",
|
|
"planner-revision.md",
|
|
"planner-source-audit.md",
|
|
"planner-verify-command-grounding.md",
|
|
"planning-config.md",
|
|
"prohibition-probe.md",
|
|
"project-skills-discovery.md",
|
|
"questioning.md",
|
|
"research-documentation-lookup.md",
|
|
"research-philosophy.md",
|
|
"research-verification-protocol.md",
|
|
"response-language-directive.md",
|
|
"reviewer-instances.md",
|
|
"revision-loop.md",
|
|
"runtime-aware-dispatch.md",
|
|
"scout-codebase.md",
|
|
"security-asvs-levels.md",
|
|
"skeleton-template.md",
|
|
"sketch-interactivity.md",
|
|
"sketch-theme-system.md",
|
|
"sketch-tooling.md",
|
|
"sketch-variant-patterns.md",
|
|
"specless-probe-fallback.md",
|
|
"spidr-splitting.md",
|
|
"tdd.md",
|
|
"thinking-models-debug.md",
|
|
"thinking-models-execution.md",
|
|
"thinking-models-planning.md",
|
|
"thinking-models-research.md",
|
|
"thinking-models-verification.md",
|
|
"thinking-partner.md",
|
|
"ui-brand.md",
|
|
"ui-consideration-probe.md",
|
|
"universal-anti-patterns.md",
|
|
"untrusted-input-boundary.md",
|
|
"user-profiling.md",
|
|
"user-story-template.md",
|
|
"verification-overrides.md",
|
|
"verification-patterns.md",
|
|
"verifier-evidence-gate.md",
|
|
"verifier-phase-gates.md",
|
|
"verifier-wiring-patterns.md",
|
|
"verify-command-path-resolvability.md",
|
|
"verify-mvp-mode.md",
|
|
"workstream-flag.md",
|
|
"worktree-branch-check.md",
|
|
"worktree-path-safety.md"
|
|
],
|
|
"cli_modules": [
|
|
"active-workstream-store.cjs",
|
|
"adapter-declarative.cjs",
|
|
"adapter-imperative.cjs",
|
|
"adr-parser.cjs",
|
|
"agent-command-router.cjs",
|
|
"agent-install-check.cjs",
|
|
"api-coverage.cjs",
|
|
"artifacts.cjs",
|
|
"assumption-delta.cjs",
|
|
"audit-command-router.cjs",
|
|
"audit.cjs",
|
|
"broken-windows.cjs",
|
|
"capability-activation.cjs",
|
|
"capability-command-router.cjs",
|
|
"capability-consent.cjs",
|
|
"capability-ledger.cjs",
|
|
"capability-lifecycle.cjs",
|
|
"capability-loader.cjs",
|
|
"capability-lock.cjs",
|
|
"capability-registry.cjs",
|
|
"capability-source.cjs",
|
|
"capability-state.cjs",
|
|
"capability-trust.cjs",
|
|
"capability-validator.cjs",
|
|
"capability-writer.cjs",
|
|
"check-command-router.cjs",
|
|
"cjs-command-router-adapter.cjs",
|
|
"claude-orchestration-command-router.cjs",
|
|
"claude-orchestration.cjs",
|
|
"cli-exit.cjs",
|
|
"cli-skew-check.cjs",
|
|
"clock.cjs",
|
|
"clusters.cjs",
|
|
"code-review-depth.cjs",
|
|
"code-review-flags.cjs",
|
|
"codex-agent-toml.cjs",
|
|
"command-aliases.cjs",
|
|
"command-arg-projection.cjs",
|
|
"command-roster.cjs",
|
|
"command-routing-hub.cjs",
|
|
"commands.cjs",
|
|
"commonjs-marker.cjs",
|
|
"complexity-trigger.cjs",
|
|
"config-loader.cjs",
|
|
"config-schema.cjs",
|
|
"config-types.cjs",
|
|
"config.cjs",
|
|
"configuration.cjs",
|
|
"context-composer.cjs",
|
|
"context-predicates.cjs",
|
|
"context-utilization.cjs",
|
|
"core-utils.cjs",
|
|
"coverage.cjs",
|
|
"decisions.cjs",
|
|
"docs.cjs",
|
|
"drift.cjs",
|
|
"edge-probe.cjs",
|
|
"embedding-adapter.cjs",
|
|
"estimate-cli.cjs",
|
|
"eval-command-router.cjs",
|
|
"eval.cjs",
|
|
"exit-code-registry.cjs",
|
|
"external-descriptor-trust.cjs",
|
|
"external-job.cjs",
|
|
"fallow-runner.cjs",
|
|
"federated-config.cjs",
|
|
"file-overlap-partitioner.cjs",
|
|
"frontmatter.cjs",
|
|
"gap-checker.cjs",
|
|
"gate-predicate-evaluator.cjs",
|
|
"git-base-branch.cjs",
|
|
"graphify-command-router.cjs",
|
|
"graphify.cjs",
|
|
"gsd2-import.cjs",
|
|
"handshake-serialized.cjs",
|
|
"health-diagnostic-rules/agent-install.cjs",
|
|
"health-diagnostic-rules/config-validation.cjs",
|
|
"health-diagnostic-rules/consistency.cjs",
|
|
"health-diagnostic-rules/install-surface-shadowing.cjs",
|
|
"health-diagnostic-rules/milestone-archive-hygiene.cjs",
|
|
"health-diagnostic-rules/phase-structure.cjs",
|
|
"health-diagnostic-rules/roadmap-disk-consistency.cjs",
|
|
"health-diagnostic-rules/root-existence.cjs",
|
|
"health-diagnostic-rules/state-consistency.cjs",
|
|
"health-diagnostic-rules/worktree-health.cjs",
|
|
"health-diagnostic-types.cjs",
|
|
"health-diagnostic.cjs",
|
|
"hook-bus.cjs",
|
|
"host-integration-adapters/cline-sdk-binding.cjs",
|
|
"host-integration-adapters/imperative-hook-bus.cjs",
|
|
"host-integration-sdk.cjs",
|
|
"host-integration.cjs",
|
|
"host-runtime-detection.cjs",
|
|
"init-command-router.cjs",
|
|
"init.cjs",
|
|
"install-effort-resolver.cjs",
|
|
"install-engine.cjs",
|
|
"install-fs-adapter.cjs",
|
|
"install-model-override-resolver.cjs",
|
|
"install-profiles.cjs",
|
|
"install-scope.cjs",
|
|
"install-shadow-report.cjs",
|
|
"installed-surface-resolver.cjs",
|
|
"installer-migration-authoring.cjs",
|
|
"installer-migration-report.cjs",
|
|
"installer-migrations.cjs",
|
|
"installer-migrations/000-first-time-baseline.cjs",
|
|
"installer-migrations/001-legacy-orphan-files.cjs",
|
|
"installer-migrations/002-codex-legacy-hooks-json.cjs",
|
|
"installer-migrations/003-rename-get-shit-done-to-gsd-core.cjs",
|
|
"installer-migrations/004-prune-stale-pristine-snapshots.cjs",
|
|
"installer-migrations/005-opencode-baseline-commands-dir.cjs",
|
|
"installer-migrations/006-pi-extension-cjs-to-js.cjs",
|
|
"installer-migrations/007-retire-config-root-commonjs-marker.cjs",
|
|
"installer-migrations/008-cursor-retire-commands-surface.cjs",
|
|
"installer-migrations/009-pi-retire-reserved-hooks-dir.cjs",
|
|
"installer-migrations/010-antigravity-retire-confighome-artifacts.cjs",
|
|
"intel-command-router.cjs",
|
|
"intel.cjs",
|
|
"io.cjs",
|
|
"learnings.cjs",
|
|
"legacy-cleanup.cjs",
|
|
"loop-host-contract.cjs",
|
|
"loop-resolver.cjs",
|
|
"markdown-sectionizer.cjs",
|
|
"markdown-table.cjs",
|
|
"mcp-catalog.cjs",
|
|
"mcp-server.cjs",
|
|
"milestone-lock.cjs",
|
|
"milestone.cjs",
|
|
"model-adapter.cjs",
|
|
"model-catalog.cjs",
|
|
"model-profiles.cjs",
|
|
"model-resolver.cjs",
|
|
"normalize-test-command.cjs",
|
|
"observability/event.cjs",
|
|
"observability/logger.cjs",
|
|
"observability/redaction.cjs",
|
|
"onboard-projection.cjs",
|
|
"package-identity.cjs",
|
|
"package-legitimacy.cjs",
|
|
"pattern.cjs",
|
|
"phase-command-router.cjs",
|
|
"phase-estimation.cjs",
|
|
"phase-id.cjs",
|
|
"phase-lifecycle.cjs",
|
|
"phase-locator.cjs",
|
|
"phase.cjs",
|
|
"phases-command-router.cjs",
|
|
"plan-dependency-graph.cjs",
|
|
"plan-document.cjs",
|
|
"plan-drift-guard.cjs",
|
|
"plan-scan.cjs",
|
|
"planning-command-router.cjs",
|
|
"planning-inspect.cjs",
|
|
"planning-scope.cjs",
|
|
"planning-snapshot.cjs",
|
|
"planning-workspace.cjs",
|
|
"pristine-baseline.cjs",
|
|
"probe-core.cjs",
|
|
"profile-output.cjs",
|
|
"profile-pipeline-command-router.cjs",
|
|
"profile-pipeline.cjs",
|
|
"prohibition-enforcement.cjs",
|
|
"project-root.cjs",
|
|
"prompt-budget.cjs",
|
|
"quick-batch-command-router.cjs",
|
|
"quick-batch-dispatch.cjs",
|
|
"quick-batch.cjs",
|
|
"real-home-guard.cjs",
|
|
"refactor-trigger-command-router.cjs",
|
|
"research-provider.cjs",
|
|
"research-store.cjs",
|
|
"resolution.cjs",
|
|
"retired-artifact-cleanup.cjs",
|
|
"review-lane-descriptor.cjs",
|
|
"review-lane-invocation.cjs",
|
|
"review-lane-runner.cjs",
|
|
"review-reviewer-selection.cjs",
|
|
"reviewer-step-dispatch.cjs",
|
|
"roadmap-command-router.cjs",
|
|
"roadmap-parser.cjs",
|
|
"roadmap-upgrade.cjs",
|
|
"roadmap.cjs",
|
|
"runtime-artifact-conversion.cjs",
|
|
"runtime-artifact-install-plan.cjs",
|
|
"runtime-artifact-layout.cjs",
|
|
"runtime-config-adapter-registry.cjs",
|
|
"runtime-homes.cjs",
|
|
"runtime-hooks-surface.cjs",
|
|
"runtime-identity.cjs",
|
|
"runtime-name-policy.cjs",
|
|
"runtime-slash.cjs",
|
|
"schema-detect.cjs",
|
|
"secrets.cjs",
|
|
"section-manifest.cjs",
|
|
"security.cjs",
|
|
"semver-compare.cjs",
|
|
"shell-command-projection.cjs",
|
|
"smart-entry.cjs",
|
|
"spec-section.cjs",
|
|
"stale-bake-guard.cjs",
|
|
"state-command-router.cjs",
|
|
"state-contract.cjs",
|
|
"state-document.cjs",
|
|
"state-io.cjs",
|
|
"state-md-schema.cjs",
|
|
"state-transition.cjs",
|
|
"state.cjs",
|
|
"surface.cjs",
|
|
"task-command-router.cjs",
|
|
"task-content-resolution.cjs",
|
|
"tdd-red-evidence.cjs",
|
|
"teams-status.cjs",
|
|
"template.cjs",
|
|
"text-lines.cjs",
|
|
"token-scanner.cjs",
|
|
"uat-predicate.cjs",
|
|
"uat.cjs",
|
|
"ui-consideration-probe.cjs",
|
|
"ui-frontend-evidence.cjs",
|
|
"ui-safety-gate.cjs",
|
|
"unusable-input.cjs",
|
|
"update-context.cjs",
|
|
"user-artifact-staging.cjs",
|
|
"validate-command-router.cjs",
|
|
"validate.cjs",
|
|
"vendor/js-yaml.cjs",
|
|
"vendor/re2js.cjs",
|
|
"verification-command-router.cjs",
|
|
"verification.cjs",
|
|
"verify-command-grounding.cjs",
|
|
"verify-command-router.cjs",
|
|
"verify.cjs",
|
|
"workflow-fragments.cjs",
|
|
"workstream-inventory-builder.cjs",
|
|
"workstream-inventory.cjs",
|
|
"workstream-name-policy.cjs",
|
|
"workstream.cjs",
|
|
"worktree-base-ref.cjs",
|
|
"worktree-safety.cjs",
|
|
"write-set.cjs"
|
|
],
|
|
"hooks": [
|
|
"gsd-agent-isolation-guard.js",
|
|
"gsd-check-update-worker.js",
|
|
"gsd-check-update.js",
|
|
"gsd-config-reload.js",
|
|
"gsd-context-monitor.js",
|
|
"gsd-cursor-post-tool.js",
|
|
"gsd-cursor-pre-tool.js",
|
|
"gsd-cursor-session-start.js",
|
|
"gsd-cursor-stop.js",
|
|
"gsd-cursor-subagent-start.js",
|
|
"gsd-cursor-subagent-stop.js",
|
|
"gsd-ensure-canonical-path.js",
|
|
"gsd-graphify-update.sh",
|
|
"gsd-node-runner.sh",
|
|
"gsd-phase-boundary.sh",
|
|
"gsd-prompt-guard.js",
|
|
"gsd-read-guard.js",
|
|
"gsd-read-injection-scanner.js",
|
|
"gsd-secret-read-guard.js",
|
|
"gsd-session-state.sh",
|
|
"gsd-statusline.js",
|
|
"gsd-update-banner.js",
|
|
"gsd-validate-commit.sh",
|
|
"gsd-windsurf-pre-command.js",
|
|
"gsd-windsurf-pre-write.js",
|
|
"gsd-workflow-guard.js",
|
|
"gsd-worktree-path-guard.js",
|
|
"gsd-write-guard.js"
|
|
],
|
|
"workflow_modes": [
|
|
"discuss-phase/modes/advisor.md",
|
|
"discuss-phase/modes/all.md",
|
|
"discuss-phase/modes/analyze.md",
|
|
"discuss-phase/modes/auto.md",
|
|
"discuss-phase/modes/batch.md",
|
|
"discuss-phase/modes/chain.md",
|
|
"discuss-phase/modes/default.md",
|
|
"discuss-phase/modes/power.md",
|
|
"discuss-phase/modes/text.md",
|
|
"help/modes/brief.md",
|
|
"help/modes/default.md",
|
|
"help/modes/full.compact.md",
|
|
"help/modes/full.md",
|
|
"help/modes/topic.md"
|
|
],
|
|
"workflow_steps": [
|
|
"autonomous/steps/converge-banner.md",
|
|
"autonomous/steps/converge-dispatch-bg.md",
|
|
"autonomous/steps/converge-dispatch-inline.md",
|
|
"autonomous/steps/converge-fail-fast.md",
|
|
"autonomous/steps/converge-loop.md",
|
|
"code-review/steps/dispatch-fix.md",
|
|
"code-review/steps/structural-pre-pass.md",
|
|
"complete-milestone/steps/git-tag.md",
|
|
"discuss-phase-assumptions/steps/auto-advance-dispatch.md",
|
|
"docs-update/steps/dispatch-monorepo-packages.md",
|
|
"execute-phase/steps/codebase-drift-gate.md",
|
|
"execute-phase/steps/completion-reconciliation.md",
|
|
"execute-phase/steps/executor-isolation-dispatch.md",
|
|
"execute-phase/steps/executor-progress-policy.md",
|
|
"execute-phase/steps/gap-closure-artifacts.md",
|
|
"execute-phase/steps/partial-wave.md",
|
|
"execute-phase/steps/per-plan-executor-routing.md",
|
|
"execute-phase/steps/per-plan-worktree-gate.md",
|
|
"execute-phase/steps/post-merge-gate.md",
|
|
"execute-phase/steps/protected-branch.md",
|
|
"execute-phase/steps/regression-gate-run.md",
|
|
"execute-phase/steps/regression-gate.md",
|
|
"execute-phase/steps/sequential-root-pin.md",
|
|
"execute-phase/steps/tdd-applicability-resolution.md",
|
|
"execute-phase/steps/wave-post-gate-hooks.md",
|
|
"execute-phase/steps/worktree-recovery-policy.md",
|
|
"new-milestone/steps/project-md-milestone-write.md",
|
|
"new-milestone/steps/reset-phase-safety.md",
|
|
"new-project/steps/auto-mode-config.md",
|
|
"new-project/steps/auto-mode-detection.md",
|
|
"new-project/steps/codebase-map-offer.md",
|
|
"plan-phase/steps/adr-ingest-express-path.md",
|
|
"plan-phase/steps/chunked-planning-mode.md",
|
|
"plan-phase/steps/closed-phase-gate.md",
|
|
"plan-phase/steps/prd-express-gate.md",
|
|
"plan-phase/steps/prd-express-path.md",
|
|
"plan-phase/steps/research-only-early-exit.md",
|
|
"plan-phase/steps/research-only-modifiers.md",
|
|
"plan-phase/steps/reviews-prerequisite.md",
|
|
"plan-phase/steps/stall-detection-helpers.md",
|
|
"plan-phase/steps/windows-troubleshooting.md",
|
|
"progress/steps/forensic-audit.md",
|
|
"progress/steps/mvp-display.md",
|
|
"quick-batch/steps/batch-init.md",
|
|
"quick-batch/steps/completion.md",
|
|
"quick-batch/steps/merge-wave.md",
|
|
"quick-batch/steps/plan-checker-loop.md",
|
|
"quick-batch/steps/planner-wave.md",
|
|
"quick-batch/steps/research-phase.md",
|
|
"quick-batch/steps/resume-mode.md",
|
|
"quick-batch/steps/verification-wave.md",
|
|
"quick-batch/steps/worktree-dispatch.md",
|
|
"quick/steps/discussion-phase.md",
|
|
"quick/steps/plan-checker-loop.md",
|
|
"quick/steps/quick-verification.md",
|
|
"quick/steps/research-phase.md",
|
|
"quick/steps/worktree-pre-dispatch-commit.md",
|
|
"review/steps/reviewer-instances-note-1.md",
|
|
"review/steps/reviewer-instances-note-2.md",
|
|
"transition/steps/workstream-collision-check.md",
|
|
"update/steps/channel-banner.md",
|
|
"verify-work/steps/automated-ui-verification.md",
|
|
"verify-work/steps/mvp-uat-framing.md"
|
|
],
|
|
"workflow_detail": [
|
|
"complete-milestone/detail/elaboration.md",
|
|
"docs-update/detail/elaboration.md",
|
|
"execute-phase/detail/elaboration.md",
|
|
"new-project/detail/elaboration.md",
|
|
"plan-phase/detail/elaboration.md",
|
|
"verify-work/detail/elaboration.md"
|
|
],
|
|
"workflow_templates": [
|
|
"discuss-phase/templates/context.md",
|
|
"discuss-phase/templates/discussion-log.md"
|
|
]
|
|
}
|
|
}
|