refactor(#2724): delete the committed golden fixtures and size baselines (#2767)

* test(#2724): delete golden-install-parity fixtures, test, and generator

Removes the 19 committed path->hash manifests, the two per-file size
baselines, tests/golden-install-parity.test.cjs, and
scripts/gen-golden-install-parity-zcode.cjs. These were pure functions
of the source tree (ADR-2719); the differential attribution check
(tests/emitted-attribution.test.cjs + tests/emitted-provenance.test.cjs)
is now the sole gate for emitted-artifact propagation.

tests/fixtures/install-tree/*.json and tests/golden-install-tree.test.cjs
are unchanged (ADR-2719 section 7 exception).

Follow-up commits fix the resulting bookkeeping: scripts/ci-test-scope.cjs's
existence guard, .gitattributes, package.json scripts, the emitted-provenance
totality guard's IO, the differential check's baseline acquisition, CI
wiring to publish/restore the baseline artifact, and docs.

* refactor(#2724): make the differential attribution check self-sufficient

Three fixes required to delete the golden fixtures without breaking CI:

- scripts/ci-test-scope.cjs: remove tests/golden-install-parity.test.cjs
  from the three rules that named it. #2759's missingRuleTestFiles guard
  hard-throws at module load if a rule names a test file absent from
  disk, which would break the changes job on every PR the moment the
  fixture-deletion commit landed.

- tests/helpers/emitted-provenance.cjs: loadManifests() read the
  committed golden fixture directory. With that directory deleted at
  every future ref, this would throw at module load forever, taking
  the Phase 2 totality guard down with it. Rebuilt from real installer
  spawns (MANIFEST_FAMILIES + runMinimalInstall + buildParityManifest),
  the same shape emitted-runtime.cjs's currentManifests() already uses.

- tests/emitted-attribution.test.cjs / tests/helpers/emitted-runtime.cjs:
  the real-tree test's baseline acquisition swaps from
  baselineManifestsAtRef(base) (git show at a ref that no longer carries
  fixtures) to resolveBaseline()'s documented precedence: env, then the
  on-disk cache, then an in-job build. The build fallback
  (buildBaselineAtRef, new) checks out base into a throwaway git
  worktree and runs the new scripts/gen-emitted-baseline.cjs there --
  no npm ci needed, since bin/install.js and the test helper shells are
  Node-builtins-only. That script also publishes the baseline artifact
  from CI's push-to-next job (wired in a follow-up commit).

* refactor(#2724): retire the merge-driver bridge and per-file size baselines

The Phase 1 bridge (#2721) is retired now that the artifacts it guarded
are deleted: scripts/git-merge-regen-driver.cjs, its test, and the
'setup:merge-driver' npm script are removed, and the .gitattributes
merge=gsd-regen/linguist-generated block for the three deleted-path
globs is dropped. tests/fixtures/install-tree/*.json keeps its normal
merge behavior, unchanged (ADR-2719 section 7).

scripts/update-size-baseline.cjs and its test are removed: their sole
purpose was regenerating tests/workflow-size-baseline.json and
tests/agent-size-baseline.json, both deleted. The 'size:baseline' npm
script and its step in 'regen:derived' go with it. The per-file
baseline describe blocks in tests/workflow-size-budget.test.cjs and
tests/agent-size-budget.test.cjs are removed for the same reason; the
independent loose-tier hard caps are untouched. The differential
attribution check's size ratchet (tests/emitted-diff.cjs, already
shipped in #2723) is the replacement anti-creep mechanism.

'npm run gen:golden' is replaced by 'npm run gen:install-tree', which
keeps regenerating tests/fixtures/install-tree/*.json (the one artifact
family ADR-2719 section 7 keeps committed); tests/golden-install-tree.test.cjs's
error messages point at the new command name.

tests/golden-parity-single-source.test.cjs's anti-divergence guard
(#2266) is retargeted from the two deleted golden-parity consumers to
their two replacements (tests/helpers/emitted-runtime.cjs and
tests/helpers/emitted-provenance.cjs), which import buildParityManifest
the same way — the divergence risk the guard exists for is unchanged.

Also wires CI: a new publish-emitted-baseline job runs
scripts/gen-emitted-baseline.cjs after a push to next and caches the
result keyed on the sha; the test and test-full jobs restore that cache
on pull_request events, keyed on the PR's base sha, and export
GSD_EMITTED_BASELINE for tests/emitted-attribution.test.cjs's real-tree
test to pick up.

* docs(#2724): flip ADR-2719 to Accepted and update contributor docs

Status: Proposed -> Accepted. Regenerated docs/adr/README.md index.

CONTRIBUTING.md, docs/TESTING-SUITES.md, and CONTEXT.md (RULESET.
EMITTED_ATTRIBUTION, RULESET.WORKFLOW_SIZE_BUDGET, RULESET.
AGENT_SIZE_BUDGET, and the Emitted Artifact Provenance glossary entry)
no longer point at the deleted golden-install-parity fixtures, size
baselines, gen:golden, UPDATE_GOLDEN, or the setup:merge-driver /
git-merge-regen-driver.cjs bridge. Editing shipped content now
requires zero manual fixture regeneration, documented against the
differential attribution check instead of the deleted commands.

* docs(#2724): add changeset for removed golden-parity commands

* fix(#2724): drop stale scripts/update-size-baseline.cjs glossary ref

check-glossary-refs.cjs verifies every backtick-wrapped scripts/*.cjs
token in CONTEXT.md resolves to a real file. The RULESET.
EMITTED_ATTRIBUTION rewrite named the deleted script inside backticks,
which the checker reads as a live reference, not historical prose.

* test(#2724): retarget ci-test-scope tests off the deleted golden test

tests/ci-test-scope.test.cjs asserted specific RULES entries select
tests/golden-install-parity.test.cjs, and that every rule selecting it
also selects both emitted gates. Both premises broke when the golden
test was deleted (#2724): the deleted filename never re-appears in
targeted_tests, and there was no longer a third file for the gates to
travel alongside. Retargeted the two selection describe blocks to
assert tests/emitted-provenance.test.cjs directly (the drift guard the
golden gate's rules were retargeted to), and simplified the third block
to assert the two emitted gates always travel together, without
reference to the golden filename.

* docs(#2724): repoint two contributor how-to guides at the differential check

Both guides told contributors to regenerate a baseline against
tests/golden-install-parity.test.cjs, which #2724 deletes. Repointed
at the differential attribution check (tests/emitted-attribution.test.cjs,
ADR-2719), which needs no manual regeneration step.

* fix(#2724): repair phase6-capstone-conformance's deleted-baseline read

An independent orthogonal review caught a real regression this branch
introduced into a test file the branch's diff never touched:
tests/phase6-capstone-conformance.test.cjs read
tests/workflow-size-baseline.json (deleted earlier in this branch) with
no fallback, so the whole suite would throw ENOENT the moment this
branch landed. The test's actual intent — prove the host-loop workflow
files are real, tracked, non-empty docs — is preserved by asserting the
live byte count via the same shared counter (scripts/workflow-size.cjs)
the size guards already use, instead of a committed snapshot.

Also, from the same review: a stale doc comment in
scripts/workflow-size.cjs still named the deleted
scripts/update-size-baseline.cjs as a consumer, and
buildBaselineAtRef's cleanup in tests/helpers/emitted-runtime.cjs left
two fs.rmSync calls unguarded against masking the primary result/error,
inconsistent with the try/catch already wrapping the git cleanup beside
them. Both fixed. A doc comment was added to baselineFamilyNamesAtRef
explaining why it (and its siblings) are kept despite having no
production caller post-cutover — they still answer real questions
about refs that predate the cutover.

* fix(#2724): repair three real regressions found by remote verification

1. tests/emitted-provenance.test.cjs's two hostile-input tests
   (non-object manifest, unreadable fixture) drove loadManifests(tmp)
   and monkeypatched fs.readFileSync, both premised on the deleted
   fixture-directory read this branch already replaced with real
   installer spawns -- the negative assertions silently stopped firing.
   loadManifests() now accepts injected {families, install, build,
   clean} (defaulting to production values), giving the tests a real
   seam to drive a bad build result and a build failure through the
   ACTUAL loader instead of a reimplementation, and added coverage that
   clean() still runs on both paths.

2. .github/workflows/test.yml's two 'Export GSD_EMITTED_BASELINE'
   steps hardcoded shell: bash, which is wrong on windows-latest (native
   pwsh) and on test-full's macos-latest legs (native zsh per that job's
   own matrix) -- the repo's H1 shell policy (tests/policy-shell-pinning
   .test.cjs) caught it. Replaced the inline bash script with
   scripts/ci-export-emitted-baseline-env.cjs, a plain Node script: a
   bare 'node <path>' command line has no shell-specific syntax, so it
   runs correctly under bash, zsh, and pwsh without a shell override.

tests/phase6-capstone-conformance.test.cjs's deleted-baseline read
(caught by the same remote run, at a commit prior to this one) was
already fixed in d0c3b1242 and is not touched here; verified still
passing after these changes.

* fix(#2724): revive ADR-1610's new-file size cap inside the differential

An isolated review caught a real regression: deleting
tests/workflow-size-baseline.json silently dropped NEW_FILE_CAP
(ADR-1610 Decision point 3, the Codex project_doc_max_bytes anchor)
with no successor. tests/helpers/emitted-diff.cjs's size ratchet
already 'continue's past any file absent from sizeBaseline -- exactly
the files this cap exists to bound -- so a brand-new workflow file
sized 32,769-40,960 bytes passed CI clean and shipped, then risked
silent truncation at the Codex anchor at runtime. ADR-1610 is Accepted
and never referenced anywhere in this branch.

Fix: NEW_FILE_CAP=32768 revived inside emitted-diff.cjs's own
size-ratchet loop, keyed off the SAME hasOwnProperty(sizeBaseline,
name) signal the growth check already computes -- 'new' is exactly
'present in sizeCurrent, absent from sizeBaseline'. Not ack-able,
matching the tier hard caps it sits beside: the fix is extraction, not
an acknowledgment entry. Documented, disclosed narrowing: the pure
differential module cannot see XL_WORKFLOWS/LARGE_WORKFLOWS tiering
(tests/workflow-size-budget.test.cjs's classification), so a
legitimately large new file must extract rather than tier in, one
release earlier than an existing file would need to. ADR-1610 itself is
left unamended -- this restores its decision rather than re-litigating
it.

Also fixes a stale comment plus a redundant real 19-installer-spawn
assertion left over from the pre-injection-seam version of
tests/emitted-provenance.test.cjs's build-failure test, and annotates
3 of 4 stale golden-fixture citations in
docs/reference/host-integration-capability-matrix.md as superseded
(the 4th is an accurate historical PR narrative, left alone).

* fix(#2724): repair three red CI defects on the golden-fixture cutover

Windows-only provenance false attribution (defect A): the `hooks-built`
provenance rule attributed `hooks/<name>.cmd` to itself. Those shims are
Windows-only installer output (ensureCodexHooksJsonSessionStart /
ensureCodexHooksJsonEvent, both in src/runtime-hooks-surface.cts) wrapping
the same-named `.js` hook — no `.cmd` file is ever tracked in the repo, so
the self-attribution resolved to a path that exists on no platform. Only
windows-latest ever emits the key, so this only failed there. Fixed by
special-casing `.cmd` inside the SAME `hooks-built` rule (not a dedicated
rule) — a dedicated rule would match zero paths, and therefore report as a
dead rule, on every non-Windows lane of the same totality guard. `sources`
already supported per-match functions; `transforms` is extended to support
the same shape so the attribution can vary by match within one rule.

Baseline bootstrap was structurally impossible (defect B): `buildBaselineAtRef`
ran `scripts/gen-emitted-baseline.cjs` from INSIDE the base-ref worktree, but
that script is new in this PR and therefore absent at any base ref that
predates it — every call failed closed with "Cannot find module". Fixed by
running the PR checkout's own generator against the worktree via a new `--dir`
parameter, decoupling "which copy of the script runs" from "which tree it
measures" (`currentManifests`/`currentSizes` gained a `repoRoot` override,
threaded down to `runMinimalInstall`'s new `installScript` override). This is
not just a bootstrap fix: a differential needs ONE measurement schema applied
to both sides, or the two stop being comparable the moment that schema
evolves — running each side's own copy would silently reintroduce that risk.
Verified locally end-to-end against real origin/next: resolves a valid
{version, sha, manifests, sizes} artifact with the correct sha and no leaked
worktree.

Changeset placeholder (defect C): `pr: 0` -> `pr: 2767`, which is what let
docs-lint evaluate the fragment for the first time; it already passes
(docs/TESTING-SUITES.md and friends already document the removed scripts).

Also fixed while in this file: an eslint no-unused-vars warning surfaced by
the changed lint run (unused `cleanup` import in
tests/emitted-provenance.test.cjs).

Added regression coverage for both A and B: a cross-platform spot-check that
drives the real hooks-built rule against `.cmd` keys directly (not through a
real Windows install), and a real-tree test that drives buildBaselineAtRef
against a base ref verified (via git cat-file) to lack the generator, both
skipping honestly rather than false-passing when their precondition does not
hold.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W5kQs6ZufZDySC6zDJfYP6

* fix(#2724): repair false .cmd byte-provenance and a permanently-skipping regression test

Two isolated-review findings on PR #2767:

- `hooks-built`'s `.cmd` branch attributed the Windows shim's bytes to the
  wrapped `hooks/<name>.js` script, asserting a byte-provenance link that
  does not exist — traced against buildCodexHookWindowsShimIR
  (src/runtime-hooks-surface.cts), only the script's NAME (a literal in that
  same file) flows into the .cmd bytes, never its content. Point `sources`
  at HOOKS_WINDOWS_SHIM_SRC instead, matching the code-derived convention
  used elsewhere in the table. Since `sources` is checked before
  `transforms` in the differential, the wrong mapping silently excused any
  .cmd byte movement caused by editing the wrapped .js file.

- The `buildBaselineAtRef` regression test skipped unless a resolvable base
  ref still lacked scripts/gen-emitted-baseline.cjs — true only until this
  PR merges, after which every base ref carries the file and the test skips
  forever with zero ongoing coverage. Rebuilt hermetically: synthesize the
  missing-generator condition in-place via git plumbing (a throwaway commit,
  child of HEAD, with just that one file removed from a scratch index),
  never touching the real working tree, HEAD, or index, and never depending
  on ambient history or remotes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W5kQs6ZufZDySC6zDJfYP6

* fix(#2724): tolerate the remote runner's dubious-ownership git mount in the emitted baseline path

The runner container mounts the repo at a path owned by a different uid than
the process running the suite, so git's dubious-ownership protection refuses
every git operation there. GitHub Actions never hits this because
actions/checkout registers the workspace as safe automatically; this
runner's container does not.

buildBaselineAtRef is the production build-fallback the sole remaining
emitted gate depends on (resolveBaseline's in-job-build leg), not just a
test helper, so the fix is in the shared git() wrapper (emitted-runtime.cjs)
that every caller — resolveChangedPaths, resolveBase, buildBaselineAtRef's
worktree add/remove/prune, and the hermetic regression test added in the
prior commit — funnels through, plus gen-emitted-baseline.cjs's own
rev-parse (now reusing that same wrapper instead of a second execFileSync,
so the fix has one source of truth). Each call declares -c
safe.directory=<the exact directory it already operates on>, never the *
wildcard.

Audited every other helper on this surface (emitted-diff.cjs,
emitted-baseline.cjs, install-shared.cjs) for the same gap: none of them
shell out to git at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W5kQs6ZufZDySC6zDJfYP6

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-07-28 15:41:43 -04:00
committed by GitHub
parent d04592de58
commit 1c1af70a4b
56 changed files with 1244 additions and 10805 deletions

View File

@@ -1,36 +0,0 @@
{
"gsd-advisor-researcher.md": 4727,
"gsd-ai-researcher.md": 5943,
"gsd-assumptions-analyzer.md": 4646,
"gsd-code-fixer.md": 36640,
"gsd-code-reviewer.md": 16870,
"gsd-codebase-mapper.md": 21614,
"gsd-debug-session-manager.md": 19751,
"gsd-debugger.md": 57197,
"gsd-doc-classifier.md": 11717,
"gsd-doc-synthesizer.md": 13154,
"gsd-doc-verifier.md": 12403,
"gsd-doc-writer.md": 38924,
"gsd-domain-researcher.md": 7032,
"gsd-eval-auditor.md": 12496,
"gsd-eval-planner.md": 7008,
"gsd-executor.md": 48872,
"gsd-framework-selector.md": 6778,
"gsd-integration-checker.md": 15238,
"gsd-intel-updater.md": 18166,
"gsd-mempalace-curator.md": 4325,
"gsd-nyquist-auditor.md": 7345,
"gsd-pattern-mapper.md": 12487,
"gsd-phase-researcher.md": 40866,
"gsd-plan-checker.md": 46363,
"gsd-planner.md": 49311,
"gsd-project-researcher.md": 22242,
"gsd-research-synthesizer.md": 13847,
"gsd-roadmapper.md": 22273,
"gsd-security-auditor.md": 9431,
"gsd-ui-auditor.md": 17249,
"gsd-ui-checker.md": 14118,
"gsd-ui-researcher.md": 19557,
"gsd-user-profiler.md": 8516,
"gsd-verifier.md": 49140
}

View File

@@ -43,12 +43,10 @@ const assert = require('node:assert/strict');
const fs = require('fs');
const os = require('node:os');
const path = require('path');
const { assertFileBaseline } = require('../scripts/lib/allowlist-ratchet.cjs');
const { lfByteCount, measureMdFiles } = require('../scripts/workflow-size.cjs');
const { lfByteCount } = require('../scripts/workflow-size.cjs');
const { cleanup } = require('./helpers.cjs');
const AGENTS_DIR = path.join(__dirname, '..', 'agents');
const BASELINE_PATH = path.join(__dirname, 'agent-size-baseline.json');
const isGsdAgent = (f) => f.startsWith('gsd-');
// Tier HARD CAPS (#1074, bytes) — absolute red lines, not high-water-hugging
@@ -132,25 +130,16 @@ describe('SIZE: agent hard-cap boundary fixtures (#1074 — negative proof)', ()
});
});
describe('SIZE: per-agent baseline (issue #1074)', () => {
// Per-agent exact-size ratchet — the primary anti-creep guard. Guards EVERY
// agent by name against tests/agent-size-baseline.json. Growth fails with the
// file and delta; shrinkage fails as a stale snapshot. Fix: `npm run
// size:baseline` plus a PR justification for genuine growth (or extraction).
test('every agent matches its committed baseline', () => {
const baseline = JSON.parse(fs.readFileSync(BASELINE_PATH, 'utf-8'));
const current = measureMdFiles(AGENTS_DIR, isGsdAgent);
assertFileBaseline({
label: 'agent-size',
current,
baseline,
fail: assert.fail,
updateHint:
'Run `npm run size:baseline` to update tests/agent-size-baseline.json, ' +
'then justify any growth in your PR (or extract shared boilerplate to gsd-core/references/).',
});
});
});
// A prior "SIZE: per-agent baseline (issue #1074)" describe block lived here,
// asserting every agent's exact byte count against the committed
// `tests/agent-size-baseline.json` snapshot. #2724 (ADR-2719 Phase 4) deletes that
// snapshot: it was a pure function of the source tree, and its purpose — "growth
// must be noticed and justified" — is now served by the same differential machine
// that replaced the golden-install-parity fixtures (tests/emitted-attribution.test.cjs's
// real-tree test, via `emitted-diff.cjs`'s size ratchet: growth is reported with its
// exact byte delta and requires an entry in tests/emitted-drift-ack.json, ADR-2719 §4 /
// must-have 6). The tier hard caps above are unaffected — they are independent of the
// deleted baseline and remain the outer bound.
describe('SIZE: every agent is classified', () => {
test('every agent falls in exactly one tier', () => {

View File

@@ -609,43 +609,47 @@ describe('test-full shard matrix parity (#1212)', () => {
});
});
describe('golden-install-parity selection (#1691 drift guard)', () => {
describe('emitted-provenance selection (#1691 drift guard, retargeted by #2724)', () => {
// Regression: a src/*.cts-only edit recompiles bin/lib/*.cjs (changing installed
// hashes), but the scoped CI lane was not re-running golden-install-parity —
// causing golden fixtures to silently drift (#1691 milestone/roadmap cts change).
// Both the 'TS runtime sources' and 'installer and package layout' rules must now
// select tests/golden-install-parity.test.cjs.
// hashes), but the scoped CI lane was not re-running the drift guard — causing
// emitted state to silently drift (#1691 milestone/roadmap cts change). Both the
// 'TS runtime sources' and 'installer and package layout' rules must select
// tests/emitted-provenance.test.cjs. Originally asserted against
// tests/golden-install-parity.test.cjs, deleted by #2724 (ADR-2719 Phase 4); the
// differential attribution check is the sole replacement, so this now asserts
// its selection directly instead of "travels with the golden".
test('src/*.cts change selects golden-install-parity (TS runtime sources rule)', () => {
test('src/*.cts change selects emitted-provenance (TS runtime sources rule)', () => {
const result = scopeFor(['src/milestone.cts']);
assert.strictEqual(result.code_changed, true,
`expected code_changed=true for src/ change, got: ${JSON.stringify(result)}`);
assert.ok(
result.targeted_tests.includes('tests/golden-install-parity.test.cjs'),
`expected golden-install-parity in targeted_tests for src/*.cts change, got: ${JSON.stringify(result.targeted_tests)}`,
result.targeted_tests.includes('tests/emitted-provenance.test.cjs'),
`expected emitted-provenance in targeted_tests for src/*.cts change, got: ${JSON.stringify(result.targeted_tests)}`,
);
});
test('bin/install.js change selects golden-install-parity (installer and package layout rule)', () => {
test('bin/install.js change selects emitted-provenance (installer and package layout rule)', () => {
const result = scopeFor(['bin/install.js']);
assert.strictEqual(result.code_changed, true,
`expected code_changed=true for bin/ change, got: ${JSON.stringify(result)}`);
assert.ok(
result.targeted_tests.includes('tests/golden-install-parity.test.cjs'),
`expected golden-install-parity in targeted_tests for bin/install.js change, got: ${JSON.stringify(result.targeted_tests)}`,
result.targeted_tests.includes('tests/emitted-provenance.test.cjs'),
`expected emitted-provenance in targeted_tests for bin/install.js change, got: ${JSON.stringify(result.targeted_tests)}`,
);
});
});
describe('shipped install content (golden-parity drift guard, #2267)', () => {
describe('shipped install content (emitted-attribution drift guard, #2267, retargeted by #2724)', () => {
// #2266 regression: hooks/gsd-statusline.js changed installed output but no
// RULES entry selected golden-install-parity, so stale golden fixtures merged
// to `next` undetected. The installer emits hooks/*, commands/*, agents/*,
// skills/*, gsd-core/workflows/*, gsd-core/templates/*, gsd-core/references/*,
// RULES entry selected the drift guard, so stale emitted state merged to `next`
// undetected. The installer emits hooks/*, commands/*, agents/*, skills/*,
// gsd-core/workflows/*, gsd-core/templates/*, gsd-core/references/*,
// gsd-core/bin/shared/*.json, and a handful of shipped scripts/* files — every
// one of those paths must additionally select golden-install-parity AND the
// one of those paths must additionally select the emitted gates AND the
// install-tree snapshot (union semantics: this rule ADDS to whatever
// content-specific rule already matched the path).
// content-specific rule already matched the path). Originally asserted the now-
// deleted tests/golden-install-parity.test.cjs (#2724, ADR-2719 Phase 4).
// One path per prefix the rule handles — every installed-source dir the
// installer emits. gsd-core/contexts/ is the regression for the review miss
// (a real shipped dir that the initial enumeration omitted).
@@ -667,13 +671,13 @@ describe('shipped install content (golden-parity drift guard, #2267)', () => {
];
for (const file of SHIPPED_PATHS) {
test(`${file} selects golden-install-parity + golden-install-tree`, () => {
test(`${file} selects emitted-provenance + golden-install-tree`, () => {
const result = scopeFor([file]);
assert.strictEqual(result.code_changed, true,
`expected code_changed=true for ${file}, got: ${JSON.stringify(result)}`);
assert.ok(
result.targeted_tests.includes('tests/golden-install-parity.test.cjs'),
`expected golden-install-parity in targeted_tests for ${file}, got: ${JSON.stringify(result.targeted_tests)}`,
result.targeted_tests.includes('tests/emitted-provenance.test.cjs'),
`expected emitted-provenance in targeted_tests for ${file}, got: ${JSON.stringify(result.targeted_tests)}`,
);
assert.ok(
result.targeted_tests.includes('tests/golden-install-tree.test.cjs'),
@@ -682,13 +686,13 @@ describe('shipped install content (golden-parity drift guard, #2267)', () => {
});
}
test('docs/ change does NOT select golden-install-parity (negative case)', () => {
test('docs/ change does NOT select emitted-provenance (negative case)', () => {
const result = scopeFor(['docs/usage.md']);
assert.strictEqual(result.code_changed, false,
`expected code_changed=false for docs-only change, got: ${JSON.stringify(result)}`);
assert.ok(
!result.targeted_tests.includes('tests/golden-install-parity.test.cjs'),
`docs-only change must NOT select golden-install-parity, got: ${JSON.stringify(result.targeted_tests)}`,
!result.targeted_tests.includes('tests/emitted-provenance.test.cjs'),
`docs-only change must NOT select emitted-provenance, got: ${JSON.stringify(result.targeted_tests)}`,
);
});
@@ -696,9 +700,9 @@ describe('shipped install content (golden-parity drift guard, #2267)', () => {
// The rule allowlists only 3 named scripts + scripts/changeset|lib/. A
// sibling script that is code but NOT installed verbatim must NOT pull in
// the install-tree snapshot — proving this is not a blanket 'scripts/'
// prefix that would re-run the golden on every script edit. Assert on
// golden-install-TREE (the rule's dedicated test), not parity: many scripts/
// paths legitimately select parity via the installer rule's
// prefix that would re-run the guard on every script edit. Assert on
// golden-install-TREE (the rule's dedicated test), not the emitted gates: many
// scripts/ paths legitimately select those via the installer rule's
// path.includes('install') substring.
const result = scopeFor(['scripts/build-hooks.js']);
assert.ok(
@@ -708,40 +712,38 @@ describe('shipped install content (golden-parity drift guard, #2267)', () => {
});
});
describe('differential attribution gates travel with golden-parity (#2758)', () => {
// #2758: the golden-parity rules ran tests/golden-install-parity.test.cjs on a
// shipped-content-only PR — the archetypal emitted ripple — but selected neither
// tests/emitted-provenance.test.cjs nor tests/emitted-attribution.test.cjs. Fix:
// every rule that selects the golden also selects both emitted gates, so the
// differential travels with the golden everywhere the golden travels (the
// ADR-2719 dual-run premise: both green, fixtures untouched, until Phase 4).
describe('the two emitted gates always travel together (#2758, simplified by #2724)', () => {
// #2758: a shipped-content-only PR — the archetypal emitted ripple — must select
// BOTH tests/emitted-provenance.test.cjs and tests/emitted-attribution.test.cjs.
// Originally phrased as "gates travel with the golden" during the #2723 dual-run
// window; #2724 (ADR-2719 Phase 4) deleted tests/golden-install-parity.test.cjs,
// so there is no longer a third file for the gates to travel alongside — this
// now asserts the pairing directly, on the same rule table.
const { RULES } = require('../scripts/ci-test-scope.cjs');
const GOLDEN = 'tests/golden-install-parity.test.cjs';
const GATES = ['tests/emitted-provenance.test.cjs', 'tests/emitted-attribution.test.cjs'];
test('every RULES entry selecting golden-install-parity also selects both emitted gates', () => {
const goldenRules = RULES.filter(r => r.tests.includes(GOLDEN));
test('every RULES entry selecting one emitted gate selects both', () => {
const partial = RULES.filter(r => GATES.some(g => r.tests.includes(g)));
// Guards the guard: if this count ever drops to 0, the assertion below is
// vacuously true and would silently stop meaning anything.
assert.ok(
goldenRules.length >= 3,
`expected at least 3 RULES entries selecting ${GOLDEN}, found ${goldenRules.length}: ` +
`${goldenRules.map(r => r.name).join(', ')}`,
partial.length >= 3,
`expected at least 3 RULES entries selecting an emitted gate, found ${partial.length}: ` +
`${partial.map(r => r.name).join(', ')}`,
);
const offenders = goldenRules.filter(r => !GATES.every(g => r.tests.includes(g)));
const offenders = partial.filter(r => !GATES.every(g => r.tests.includes(g)));
assert.deepStrictEqual(
offenders.map(r => r.name),
[],
`rule(s) select ${GOLDEN} without both emitted gates: ${offenders.map(r => r.name).join(', ')}`,
`rule(s) select one emitted gate without the other: ${offenders.map(r => r.name).join(', ')}`,
);
});
test('a pure shipped-content path selects both emitted gates alongside the golden', () => {
test('a pure shipped-content path selects both emitted gates', () => {
// #2758 AC: "a pure shipped-content path (e.g. gsd-core/workflows/plan-phase.md)
// selects the differential." The archetypal emitted ripple.
const result = scopeFor(['gsd-core/workflows/plan-phase.md']);
assert.strictEqual(result.code_changed, true);
assert.ok(result.targeted_tests.includes(GOLDEN));
for (const g of GATES) {
assert.ok(
result.targeted_tests.includes(g),

View File

@@ -1,25 +1,26 @@
'use strict';
/**
* emitted-attribution.test.cjs — the differential attribution check (#2723,
* ADR-2719 §1/§3/§4/§5/§6, epic #2719 Phase 3).
* emitted-attribution.test.cjs — the differential attribution check (#2723/#2724,
* ADR-2719 §1/§3/§4/§5/§6, epic #2719 Phases 3-4).
*
* Runs BESIDE tests/golden-install-parity.test.cjs — both green, fixtures untouched.
* Any PR where the golden fails and this passes is a Phase 2 provenance-table hole;
* that disagreement is the entire point of the dual-run window, and Phase 4 (#2724)
* must not land until it has been observed on real PRs.
* This is the SOLE gate for emitted-artifact propagation (#2724, Phase 4 cutover).
* `tests/golden-install-parity.test.cjs` — the committed path->hash fixtures it dual-ran
* beside during Phase 3 — is deleted. The dual-run window it ran on real PRs (#2412,
* #2566, #2728) surfaced two real defects (#2750, #2760), both now fixed and merged; no
* disagreement between the two checks was ever observed once both landed correctly.
*
* The law: every emitted path whose hash moved between `next` HEAD and PR HEAD must be
* attributable — through the Phase 2 table — to a path the PR actually changed.
* Unattributable deltas fail with the paths NAMED. The only way through is a committed
* acknowledgment, never a flag (a contributor facing a red gate sets a flag, which is
* what UPDATE_GOLDEN=1 is today).
* what UPDATE_GOLDEN=1 used to be, before #2724 removed it).
*
* Structure: the pure law is exercised against synthetic manifests, which is what makes
* the four failing-first criteria practical to assert at all — and then the final test
* runs that same law against the REAL tree: 19 actual installer spawns for the current
* side, `git show origin/next:<fixture>` for the baseline side, real `git diff` for the
* changed paths, and the real `tests/emitted-drift-ack.json`.
* side, `resolveBaseline()` (env / cache / in-job build) for the baseline side, real
* `git diff` for the changed paths, and the real `tests/emitted-drift-ack.json`.
*
* That last test is load-bearing. Without it this file would be interface-only — every
* assertion true of hand-built inputs and none of the repo — which is the
@@ -42,8 +43,7 @@ const {
resolveChangedPaths,
resolveBase,
baseRefCandidates,
baselineManifestsAtRef,
baselineSizesAtRef,
buildBaselineAtRef,
currentManifests,
currentSizes,
readAckFile,
@@ -54,11 +54,13 @@ const {
FAMILY_REASON,
touchesRuntimeRegistry,
reconcileFamilies,
safeDirArgs,
} = require('./helpers/emitted-runtime.cjs');
const { EXPECTED_MANIFEST_COUNT, loadManifests } = require('./helpers/emitted-provenance.cjs');
const {
ACK_VERSION,
NEW_FILE_CAP,
sourceSatisfiedBy,
parseAck,
diffEmitted,
@@ -68,12 +70,17 @@ const {
const {
BASELINE_ENV,
BASELINE_VERSION,
DEFAULT_CACHE_PATH,
resolveBaseline,
} = require('./helpers/emitted-baseline.cjs');
const SHA_A = 'a'.repeat(40);
const SHA_B = 'b'.repeat(40);
/** This checkout's own root — used to build a synthetic commit in-place (see
* `buildBaselineAtRef resolves a baseline via the in-job build...` below). */
const REPO_ROOT = path.join(__dirname, '..');
/** A real emitted key + its real source, so rows assert the shape production uses. */
const WORKFLOW_KEY = 'gsd-core/workflows/plan-phase.md';
const WORKFLOW_SRC = 'gsd-core/workflows/plan-phase.md';
@@ -553,6 +560,70 @@ test('shrinkage is reported but needs no ack', () => {
assert.ok(r.ok, 'shrinkage is not creep — gating it would punish what the ratchet wants');
});
// ─── New-file cap (ADR-1610 Decision point 3, revived after #2724) ───────────
//
// tests/workflow-size-baseline.json used to double as the "has this file been
// baselined before" signal a NEW_FILE_CAP check keyed off. #2724 deleted it without
// reviving that check anywhere — a brand-new workflow/agent file (present in
// sizeCurrent, absent from sizeBaseline) got zero size scrutiny at all, silently
// loosening the bound from 32768 (ADR-1610) to whichever tier cap it happened to
// fall under (DEFAULT_CAP = 40960, nearly 8 KiB looser) with nothing in CI to say so.
// A file in that gap risks silent truncation at the Codex `project_doc_max_bytes`
// anchor. Not ack-able — same as the tier hard caps, the fix is extraction.
test('a brand-new file at exactly the cap is accepted (limit)', () => {
const r = diffEmitted({
baseline: mf({}), current: mf({}), changedPaths: [],
sizeBaseline: {}, sizeCurrent: { 'new-workflow.md': NEW_FILE_CAP },
});
assert.deepEqual(r.newFileCapExceeded, []);
assert.ok(r.ok, `exactly ${NEW_FILE_CAP} bytes must be accepted`);
});
test('a brand-new file one byte over the cap is rejected (limit+1)', () => {
const r = diffEmitted({
baseline: mf({}), current: mf({}), changedPaths: [],
sizeBaseline: {}, sizeCurrent: { 'new-workflow.md': NEW_FILE_CAP + 1 },
});
assert.deepEqual(r.newFileCapExceeded, [
{ name: 'new-workflow.md', bytes: NEW_FILE_CAP + 1, cap: NEW_FILE_CAP },
]);
assert.ok(!r.ok, `${NEW_FILE_CAP + 1} bytes must be rejected`);
assert.match(formatReport(r), /new-workflow\.md is 32769 bytes/);
});
test('a brand-new file one byte under the cap is accepted (limit-1)', () => {
const r = diffEmitted({
baseline: mf({}), current: mf({}), changedPaths: [],
sizeBaseline: {}, sizeCurrent: { 'new-workflow.md': NEW_FILE_CAP - 1 },
});
assert.deepEqual(r.newFileCapExceeded, []);
assert.ok(r.ok, `${NEW_FILE_CAP - 1} bytes must be accepted`);
});
test('the new-file cap is not ack-able (extraction, not acknowledgment, is the fix)', () => {
const r = diffEmitted({
baseline: mf({}), current: mf({}), changedPaths: [],
sizeBaseline: {}, sizeCurrent: { 'new-workflow.md': NEW_FILE_CAP + 1 },
ack: { version: ACK_VERSION, paths: { 'new-workflow.md': { reason: 'trying to bypass it' } } },
});
assert.equal(r.newFileCapExceeded.length, 1, 'an ack entry must not exempt the new-file cap');
assert.ok(!r.ok);
});
test('an existing (baselined) file is governed by growth, not the new-file cap', () => {
// A file already IN sizeBaseline is not "new" even if it happens to sit above
// NEW_FILE_CAP — that is the tier hard cap's job, not this one's.
const r = diffEmitted({
baseline: mf({}), current: mf({}), changedPaths: [],
sizeBaseline: { 'old.md': NEW_FILE_CAP + 5000 },
sizeCurrent: { 'old.md': NEW_FILE_CAP + 5000 },
});
assert.deepEqual(r.newFileCapExceeded, []);
assert.deepEqual(r.grown, []);
assert.ok(r.ok);
});
// ─── Baseline resolution + staleness ─────────────────────────────────────────
const goodBaseline = (sha) => ({
@@ -677,6 +748,104 @@ test('an unreadable baseline surfaces an error', () => {
assert.match(r.errors.join('\n'), /injected read failure/);
});
// ─── buildBaselineAtRef: the in-job build must bootstrap without its own generator ──
test(
'buildBaselineAtRef resolves a baseline via the in-job build even when the generator '
+ 'script is absent at the ref (#2767 regression)',
{ timeout: 300_000 },
(t) => {
// Mirrors "differential attribution over the real tree": install output is
// platform-specific on Windows, and this drives the same heavy worktree +
// build:lib + 19-installer pipeline.
if (process.platform === 'win32') {
t.skip('emitted parity is asserted on macOS + Linux; Windows install output is platform-specific');
return;
}
// Hermetic by construction (#2767 review finding B). This test used to resolve a
// real base ref (typically `origin/next`) and skip unless that ref, checked via
// `git cat-file -e`, still LACKED scripts/gen-emitted-baseline.cjs — the file THIS
// PR adds. That was true only until this PR merged: after merge every resolvable
// base ref carries the file, the precondition is permanently false, and the test
// would skip forever, losing all regression value silently (a skip reads as green).
// It also depended on `origin/next` being resolvable at all, which the gsd-test
// runner's shallow clone + base/head merge does not guarantee (no remote-tracking
// refs) — the same non-hermetic-history failure mode "baseline families are
// enumerated from the ref, not from the current registry" (above) was rewritten to
// avoid, by building its own throwaway git repo instead of reaching for this
// repo's history.
//
// That precedent doesn't directly transplant here: `buildBaselineAtRef` needs a
// REAL, buildable gsd-core tree (`npm run build:lib`, the compiled `bin/lib/*.cjs`,
// `node_modules`) to produce a real manifest — a minimal from-scratch repo has none
// of that. So instead of a from-scratch repo, this synthesizes the missing-generator
// condition IN-PLACE with git plumbing: read this checkout's own HEAD tree into a
// scratch index (a temp `GIT_INDEX_FILE`, never the real `.git/index`), remove just
// `scripts/gen-emitted-baseline.cjs` from that index, write the resulting tree, and
// commit it as a child of HEAD. The result is one loose commit object — a real,
// buildable tree identical to HEAD's except missing the one file under test — that
// is never referenced by any branch, tag, or ref, so it is not checked out, not
// pushed, and needs no cleanup beyond the scratch index directory itself. The real
// working tree, HEAD, and index of this checkout are never touched.
const tmpIndexDir = createTempDir('emitted-baseline-synth-index-');
t.after(() => cleanup(tmpIndexDir));
const tmpIndexFile = path.join(tmpIndexDir, 'index');
const gitEnv = {
...process.env,
GIT_INDEX_FILE: tmpIndexFile,
GIT_AUTHOR_NAME: 'GSD Test', GIT_AUTHOR_EMAIL: 'test@example.invalid',
GIT_COMMITTER_NAME: 'GSD Test', GIT_COMMITTER_EMAIL: 'test@example.invalid',
};
// `-c safe.directory=<REPO_ROOT>` via the shared `safeDirArgs` (emitted-runtime.cjs):
// the remote runner mounts this repo at a path owned by a different uid, and git's
// dubious-ownership protection refuses every operation there otherwise — this test
// proved that the hard way (#2767 review) when its first `git rev-parse HEAD` failed
// closed. Reusing the SAME helper `buildBaselineAtRef` now uses (below) rather than
// hand-rolling the flag here keeps the fix from silently diverging per call site.
const run = (...args) => execFileSync('git', [...safeDirArgs(REPO_ROOT), ...args], {
cwd: REPO_ROOT, encoding: 'utf8', timeout: 30_000, env: gitEnv, stdio: ['ignore', 'pipe', 'pipe'],
}).trim();
const headSha = run('rev-parse', 'HEAD');
run('read-tree', 'HEAD');
run('update-index', '--force-remove', 'scripts/gen-emitted-baseline.cjs');
const syntheticTree = run('write-tree');
const syntheticSha = run(
'commit-tree', syntheticTree, '-p', headSha, '-m',
'synthetic: missing scripts/gen-emitted-baseline.cjs (#2767 test fixture — unreferenced, never pushed)',
);
// Precondition, ASSERTED not assumed: the synthetic commit truly lacks the file —
// otherwise this test would prove nothing.
assert.throws(
() => execFileSync('git', [...safeDirArgs(REPO_ROOT), 'cat-file', '-e', `${syntheticSha}:scripts/gen-emitted-baseline.cjs`], {
cwd: REPO_ROOT, encoding: 'utf8', timeout: 30_000, stdio: 'pipe',
}),
/./,
'the synthetic ref must genuinely lack the generator script for this test to prove anything',
);
// The actual regression assertion: this must NOT throw "Cannot find module", and
// must produce a well-formed baseline artifact measuring the SYNTHETIC ref, not the
// caller's own tree. Before the #2767 fix, `buildBaselineAtRef` unconditionally ran
// `<worktreeDir>/scripts/gen-emitted-baseline.cjs` — the checked-out WORKTREE'S OWN
// copy — which fails closed with `Cannot find module` for exactly this ref shape.
const artifact = buildBaselineAtRef(syntheticSha, { cwd: REPO_ROOT });
assert.equal(artifact.version, BASELINE_VERSION);
assert.equal(
artifact.sha, syntheticSha,
'the artifact must report the REF\'s sha, not the caller checkout\'s',
);
assert.ok(artifact.manifests && typeof artifact.manifests === 'object');
assert.ok(
Object.keys(artifact.manifests).length >= MINIMUM_MANIFEST_FAMILIES,
`expected at least ${MINIMUM_MANIFEST_FAMILIES} manifest families, got ${Object.keys(artifact.manifests).length}`,
);
assert.ok(artifact.sizes && Object.keys(artifact.sizes).length > 0, 'sizes must be non-empty');
},
);
test('readAckFile: absent is legal, malformed and unreadable are not', () => {
const tmp = fs.mkdtempSync(path.join(require('node:os').tmpdir(), 'gsd-ack-'));
try {
@@ -1125,6 +1294,10 @@ test('baseline families are enumerated from the ref, not from the current regist
// clone and fails in the runner, which is exactly what it did.
const repo = createTempDir('emitted-baseline-ref');
t.after(() => cleanup(repo));
// No `safeDirArgs` needed here (unlike the #2767 fix above): `repo` is a directory
// this same process just created with `mkdtempSync` + `git init`, so its owner is
// always the uid running the test regardless of container — it is never the
// externally-mounted repo path the dubious-ownership check reacts to.
const run = (...args) => execFileSync('git', args, { cwd: repo, encoding: 'utf8', timeout: 30_000 });
run('init', '--quiet', '-b', 'main');
@@ -1225,15 +1398,19 @@ test('property: reported added/dropped are exactly the set differences', () => {
// Everything above exercises the pure law against synthetic input, which is what makes
// the acceptance criteria practical to assert at all. This block is what stops the
// phase from being interface-only: it builds the CURRENT emitted manifests for real
// (one installer spawn per runtime), reads the BASELINE from `origin/next`, resolves
// the changed paths with real git, reads the real ack file, and runs the conservation
// law over all of it.
// (one installer spawn per runtime), resolves the BASELINE via `resolveBaseline()`,
// resolves the changed paths with real git, reads the real ack file, and runs the
// conservation law over all of it.
//
// Baseline source note: `git show origin/next:<fixture>` — next's RECORDED emitted
// state. Deliberately not the working-tree fixtures, which are whatever this PR's
// author regenerated; comparing against those would be vacuous. Phase 4 (#2724)
// deletes the fixtures and swaps in resolveBaseline's cache path, which is already
// implemented and tested above.
// Baseline source note (#2724, post-cutover): the committed golden fixtures this test
// used to read via `git show origin/next:<fixture>` are deleted. `resolveBaseline()`'s
// documented precedence takes over: `GSD_EMITTED_BASELINE` env (CI's PR-lane cache
// restore, keyed on the PR's base sha) -> the on-disk cache at
// `.gsd-cache/emitted-baseline.json` (populated by CI's push-to-next publish step,
// scripts/gen-emitted-baseline.cjs) -> an in-job build (a throwaway `git worktree`
// checked out at `base`, running the same script there — slow but never absent). Never
// the working-tree fixtures, which would be whatever this PR's author regenerated;
// comparing against those would be vacuous.
test('differential attribution over the real tree', { timeout: 900_000 }, async (t) => {
if (process.platform === 'win32') {
@@ -1271,13 +1448,26 @@ test('differential attribution over the real tree', { timeout: 900_000 }, async
const { ref: base, sha: baseSha } = resolved;
assert.match(baseSha, /^[0-9a-f]{40}$/);
const baseline = baselineManifestsAtRef(base);
// Phase 4 (#2724): the golden fixtures this used to read via `baselineManifestsAtRef`
// (git show <base>:<fixture>) are deleted, so the baseline now comes through
// `resolveBaseline()`'s documented precedence: GSD_EMITTED_BASELINE env (CI's PR-lane
// cache restore) -> the on-disk cache (CI's push-to-next publish step) -> an in-job
// build at `base` (a throwaway git worktree + scripts/gen-emitted-baseline.cjs) ->
// explicit failure. The build fallback is deliberately the slow path — it exists so a
// cache miss degrades rather than fails outright (ADR-2719 §5).
const readBaselineJson = (p) => (fs.existsSync(p) ? JSON.parse(fs.readFileSync(p, 'utf8')) : null);
const resolvedBaseline = resolveBaseline({
expectedSha: baseSha,
readJson: readBaselineJson,
buildFallback: () => buildBaselineAtRef(base),
});
assert.ok(
baseline && Object.keys(baseline).length > 0,
`no baseline manifests found at ${base}. During the dual-run window these come from the ` +
'committed golden fixtures at that ref; after Phase 4 they come from the cached ' +
'baseline artifact via resolveBaseline().',
resolvedBaseline.ok,
`no usable emitted baseline for ${base}@${baseSha.slice(0, 12)} (tried env, ` +
`${DEFAULT_CACHE_PATH}, and an in-job build):\n ${(resolvedBaseline.errors || []).join('\n ')}`,
);
const baseline = resolvedBaseline.baseline;
assert.ok(baseline && Object.keys(baseline).length > 0, `resolved baseline via ${resolvedBaseline.via} has no families`);
const changedPaths = resolveChangedPaths(base);
const ack = readAckFile();
@@ -1308,7 +1498,7 @@ test('differential attribution over the real tree', { timeout: 900_000 }, async
current,
changedPaths,
ack,
sizeBaseline: baselineSizesAtRef(base),
sizeBaseline: resolvedBaseline.sizeBaseline,
sizeCurrent: currentSizes(),
});

View File

@@ -34,12 +34,12 @@ const fs = require('node:fs');
const path = require('node:path');
const fc = require('fast-check');
const { cleanup } = require('./helpers.cjs');
const {
EXPECTED_MANIFEST_COUNT,
PROVENANCE_RULES,
COMMANDS_SRC,
CLINE_BODY_SRC,
HOOKS_WINDOWS_SHIM_SRC,
KIMI_ROOT_AGENT_SRC,
AGENT_TRANSFORM_SRCS,
stripSkillPrefix,
@@ -100,9 +100,10 @@ test('every attributed source exists in the repo (identity/rewrite/derived rules
// points at the wrong place. A source path that does not exist is proof the rule
// is wrong, and it is how the three real bugs in this table were found.
const missing = [];
const missingTransforms = [];
for (const { runtime, file, keys } of manifests()) {
for (const rel of keys) {
const { ruleId, kind, sources } = attributeEmittedPath(rel, runtime);
const { ruleId, kind, sources, transforms } = attributeEmittedPath(rel, runtime);
if (kind === 'synthesized') {
assert.equal(sources.length, 0, `synthesized rule "${ruleId}" must have no sources`);
continue;
@@ -116,9 +117,23 @@ test('every attributed source exists in the repo (identity/rewrite/derived rules
const full = path.join(REPO_ROOT, src);
if (!fs.existsSync(full)) missing.push(`${file}: ${rel} -> ${src} (rule ${ruleId})`);
}
// Same existence gate for `transforms` (#2757/#2767). This is what actually
// exercises a FUNCTION-valued transforms field (e.g. hooks-built's `.cmd`
// special-case) against every REAL emitted key on the platform that emits
// it — the static "every declared transform path exists" test below cannot
// do this for a function, since it never invokes it.
for (const t of transforms) {
const full = path.join(REPO_ROOT, t);
if (!fs.existsSync(full)) missingTransforms.push(`${file}: ${rel} -> ${t} (rule ${ruleId})`);
}
}
}
assert.deepEqual(missing, [], `attributed sources that do not exist:\n ${missing.slice(0, 10).join('\n ')}`);
assert.deepEqual(
missingTransforms,
[],
`attributed transforms that do not exist:\n ${missingTransforms.slice(0, 10).join('\n ')}`,
);
});
// ─── Spot-checks: known emitted/source pairs (#2722 "add spot-check tests") ──
@@ -251,6 +266,57 @@ test('spot-check: hooks attribute to repo source, not the dist build artifact',
assert.deepEqual(reg.sources, [CLINE_BODY_SRC]);
});
test('spot-check: Windows-only .cmd shim is code-derived from its generator, not from the .js hook it wraps (#3426/#2767)', () => {
// Regression coverage for the windows-latest-only CI failure: the shim is emitted
// ONLY when the installer actually runs on win32 (ensureCodexHooksJsonSessionStart /
// ensureCodexHooksJsonEvent), so this drives attributeEmittedPath directly rather
// than through `manifests()` — that keeps the test meaningful on every OS this
// suite runs on, not just the one CI lane that happens to emit the key for real.
//
// Verified empirically: zero `.cmd` files are tracked anywhere in the repo
// (`git ls-files | grep '\\.cmd$'` is empty), so the original generic `hooks-built`
// attribution (source = the emitted path itself) resolved every `.cmd` shim to a
// file that exists on no platform — exactly the false-attribution class "every
// attributed source exists" exists to catch, and it only fired on windows-latest
// because that is the only lane where the key is ever actually emitted.
//
// A SECOND false-attribution then replaced the first (caught by isolated review,
// #2767): pointing `sources` at `hooks/<name>.js` asserts the wrapped script's
// BYTES flow into the `.cmd` bytes. Traced against buildCodexHookWindowsShimIR
// (src/runtime-hooks-surface.cts), they do not — the `.cmd` bytes are
// `@ECHO OFF\r\n@SETLOCAL\r\n@<runner> <script> %*\r\n`, built from the install-time
// interpreter token and the absolute install path, plus a hardcoded literal
// filename baked into that same source file. Only the `.js` file's NAME flows in;
// its content never does. `sources` must therefore point at the SAME file as
// `transforms` (HOOKS_WINDOWS_SHIM_SRC) — the `code-derived` shape used elsewhere
// in this table — not at the wrapped script.
for (const name of ['gsd-check-update', 'gsd-context-monitor']) {
const got = attributeEmittedPath(`hooks/${name}.cmd`, 'codex');
assert.equal(got.ruleId, 'hooks-built');
assert.deepEqual(got.sources, [HOOKS_WINDOWS_SHIM_SRC]);
assert.ok(
!got.sources.includes(`hooks/${name}.cmd`),
'a .cmd shim must never attribute to itself — no .cmd file is ever tracked in the repo',
);
assert.ok(
!got.sources.includes(`hooks/${name}.js`),
'a .cmd shim must not attribute to the wrapped .js script — its CONTENT never flows into the .cmd bytes, only its NAME (a literal inside HOOKS_WINDOWS_SHIM_SRC) does',
);
assert.deepEqual(got.transforms, [HOOKS_WINDOWS_SHIM_SRC]);
assert.ok(
fs.existsSync(path.join(REPO_ROOT, HOOKS_WINDOWS_SHIM_SRC)),
'the declared source/transform path must exist',
);
}
// A plain (non-.cmd) hook is unaffected: still a straight identity-shaped copy
// sourced from the repo hook it was built from, still no transform (the shim
// generator cannot move a plain hook's bytes).
const plain = attributeEmittedPath('hooks/gsd-statusline.js', 'claude');
assert.deepEqual(plain.sources, ['hooks/gsd-statusline.js']);
assert.deepEqual(plain.transforms, []);
});
test('spot-check: cline rules are code-derived (attributable), not exempt', () => {
for (const rel of ['.clinerules/gsd.md', '.clinerules/hooks/PreToolUse']) {
const got = attributeEmittedPath(rel, 'cline');
@@ -298,6 +364,38 @@ test('a rule with no transforms field still returns an empty array, never undefi
assert.deepEqual(got.transforms, [], 'absence of transforms must be a stable empty array, not undefined');
});
test('a FUNCTION-valued transforms field is invoked with (match, ctx) and its array is returned', () => {
// hooks-built's `.cmd` special-case exercises this in production, but this test
// pins the general contract with an injected rule so it does not depend on
// hooks-built's specific pattern surviving a future refactor.
const rules = [{
id: 'fn-transforms-probe',
kind: 'derived',
roots: ['probe'],
pattern: /^(.+)$/,
sources: (m) => [`probe/${m[1]}`],
transforms: (m, ctx) => [`transform-for-${m[1]}-on-${ctx.runtime}`],
}];
const got = attributeEmittedPath('probe/thing.txt', 'claude', rules);
assert.deepEqual(got.transforms, ['transform-for-thing.txt-on-claude']);
});
test('a FUNCTION-valued transforms field that returns a non-array throws, naming the rule', () => {
const rules = [{
id: 'bad-fn-transforms',
kind: 'derived',
roots: ['probe'],
pattern: /^(.+)$/,
sources: (m) => [`probe/${m[1]}`],
transforms: () => 'not-an-array',
}];
assert.throws(
() => attributeEmittedPath('probe/thing.txt', 'claude', rules),
(err) => err.message.includes('bad-fn-transforms') && err.message.includes('array'),
'a malformed transforms() return value must fail loud and name the rule',
);
});
test('every declared transform path exists in the repo', () => {
// Same philosophy as "every attributed source exists in the repo": a transform path
// that does not exist is proof the rule (or the design's own suggested files) is
@@ -305,6 +403,11 @@ test('every declared transform path exists in the repo', () => {
// design: it does not exist in this tree.
const missing = [];
for (const rule of PROVENANCE_RULES) {
// Function-valued transforms (#2767, e.g. hooks-built's `.cmd` special-case) vary
// per match and can't be enumerated statically without one — they are checked
// against every REAL emitted key instead, by "every attributed source exists in
// the repo" above (which now also asserts transform-path existence).
if (typeof rule.transforms === 'function') continue;
for (const t of rule.transforms || []) {
if (!fs.existsSync(path.join(REPO_ROOT, t))) missing.push(`${rule.id}: ${t}`);
}
@@ -330,6 +433,21 @@ test('assertNoIdentityTransforms rejects an identity rule declaring transforms,
);
});
test('assertNoIdentityTransforms rejects a FUNCTION-valued transforms on an identity rule (#2767)', () => {
// hooks-built's `.cmd` special-case (this PR) proved `transforms` can legally be a
// function on a `derived` rule. This pins the other half: the function form must be
// rejected on `identity` exactly like the array form is — an identity copy's bytes
// can only move when its source moves, regardless of which shape declares otherwise.
const corrupted = PROVENANCE_RULES.map((r) => (
r.id === 'scripts-verbatim' ? { ...r, transforms: () => ['scripts/build-hooks.js'] } : r
));
assert.throws(
() => assertNoIdentityTransforms(corrupted),
(err) => err.message.includes('scripts-verbatim') && err.message.includes('identity'),
'a function-valued transforms on an identity rule must be named and rejected',
);
});
test('assertNoIdentityTransforms does not throw when transforms is absent or empty', () => {
const emptyArray = PROVENANCE_RULES.map((r) => (
r.id === 'scripts-verbatim' ? { ...r, transforms: [] } : r
@@ -578,52 +696,59 @@ test('partial failure names only the offending key (limit+1)', () => {
// ─── Hostile input ───────────────────────────────────────────────────────────
test('non-object manifest JSON is rejected, not silently treated as empty', () => {
const tmp = fs.mkdtempSync(path.join(require('node:os').tmpdir(), 'gsd-prov-'));
try {
// Each of these parses cleanly but has no keys — treating them as "no paths"
// would let the entire guard pass vacuously on a corrupt fixture.
for (const [name, body] of [
['zero.json', '0'],
['str.json', '"a string"'],
['arr.json', '[]'],
['null.json', 'null'],
['bool.json', 'true'],
]) {
fs.writeFileSync(path.join(tmp, name), body);
assert.throws(
() => loadManifests(tmp),
(err) => err.message.includes(name) && err.message.includes('path->hash'),
`${name} must be rejected with a message naming the file`,
);
fs.unlinkSync(path.join(tmp, name));
}
// #2724 (ADR-2719 Phase 4): loadManifests() used to read committed fixture JSON off
// disk (`fs.readFileSync` over `tests/fixtures/golden-install-parity/*.json`), which
// is what made these two hostile-input tests injectable — write a bad file, point
// the loader at the temp dir. That fixture directory is deleted; loadManifests()
// now builds every manifest for real (install + hash), so the injection seam moved
// to loadManifests()'s own {families, install, build, clean} parameters instead.
// Present but empty.
fs.writeFileSync(path.join(tmp, 'empty.json'), '');
assert.throws(() => loadManifests(tmp), /empty\.json is empty/);
fs.unlinkSync(path.join(tmp, 'empty.json'));
const FAKE_FAMILY = [{ name: 'fake', runtime: 'fake', scope: 'global' }];
const fakeInstall = () => ({ configDir: '/fake/config', root: '/fake/root' });
// Valid JSON object is accepted.
fs.writeFileSync(path.join(tmp, 'ok.json'), '{"scripts/lib/cli-exit.cjs":"deadbeef"}');
assert.equal(loadManifests(tmp).length, 1);
} finally {
cleanup(tmp);
test('a non-object build result is rejected, not silently treated as empty', () => {
// Each of these "parses" cleanly but has no keys — treating them as "no paths"
// would let the entire guard pass vacuously on a corrupt build.
for (const bad of [0, 'a string', [], null, true]) {
let cleaned = false;
assert.throws(
() => loadManifests({
families: FAKE_FAMILY,
install: fakeInstall,
build: () => bad,
clean: () => { cleaned = true; },
}),
(err) => err.message.includes('fake') && err.message.includes('path->hash'),
`${JSON.stringify(bad)} must be rejected with a message naming the family`,
);
assert.ok(cleaned, 'clean() must still run when build() returns a bad value');
}
// A valid object is accepted.
const result = loadManifests({
families: FAKE_FAMILY,
install: fakeInstall,
build: () => ({ 'scripts/lib/cli-exit.cjs': 'deadbeef' }),
clean: () => {},
});
assert.equal(result.length, 1);
assert.deepEqual(result[0], { file: 'fake.json', runtime: 'fake', keys: ['scripts/lib/cli-exit.cjs'] });
});
test('unreadable fixture surfaces an error', () => {
// Deterministic fs monkeypatch restored in `finally` — NEVER chmod 0o000, which
// root bypasses (the test would silently pass with zero coverage in root CI).
const orig = fs.readFileSync;
try {
fs.readFileSync = () => { throw new Error('injected read failure'); };
assert.throws(() => loadManifests(), /injected read failure/);
} finally {
fs.readFileSync = orig;
}
// Restoration is real, not assumed.
assert.equal(loadManifests().length, EXPECTED_MANIFEST_COUNT);
test('a build failure surfaces an error, and clean() still runs', () => {
let cleaned = false;
assert.throws(
() => loadManifests({
families: FAKE_FAMILY,
install: fakeInstall,
build: () => { throw new Error('injected build failure'); },
clean: () => { cleaned = true; },
}),
/injected build failure/,
);
// The `finally` around build() must run clean() even when build() throws —
// an install left behind on every hostile build is a real resource leak.
assert.ok(cleaned, 'clean() must run even when build() throws');
});
// ─── Table invariants ────────────────────────────────────────────────────────

View File

@@ -1,444 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "3f87862c1f6b7d30",
"agents/gsd-advisor-researcher.md": "45af60c237748ee1",
"agents/gsd-ai-researcher.md": "ba8898d9e739a501",
"agents/gsd-assumptions-analyzer.md": "00a02fdcbaa8d833",
"agents/gsd-code-fixer.md": "6937a1f20beaa1c6",
"agents/gsd-code-reviewer.md": "a700d295bbf110a9",
"agents/gsd-codebase-mapper.md": "aa06b807bd7a5e3e",
"agents/gsd-debug-session-manager.md": "58cead58ae6f455a",
"agents/gsd-debugger.md": "9c8f34fc022b2616",
"agents/gsd-doc-classifier.md": "fca19595590391df",
"agents/gsd-doc-synthesizer.md": "0e5184bbcf0dca02",
"agents/gsd-doc-verifier.md": "888c6ac870cb91a6",
"agents/gsd-doc-writer.md": "d4400c8dab4a9efc",
"agents/gsd-domain-researcher.md": "1db46cac3f4d9889",
"agents/gsd-eval-auditor.md": "1b8391f1aafb067f",
"agents/gsd-eval-planner.md": "3d10fd11147f6857",
"agents/gsd-executor.md": "5c31f63a3e9559a0",
"agents/gsd-framework-selector.md": "daa62c79619c76bf",
"agents/gsd-integration-checker.md": "0643cd2d779b131c",
"agents/gsd-intel-updater.md": "26c1f1e028c6346a",
"agents/gsd-mempalace-curator.md": "dafdc4394d514a93",
"agents/gsd-nyquist-auditor.md": "805a1404d03629f1",
"agents/gsd-pattern-mapper.md": "e62ee90d39084802",
"agents/gsd-phase-researcher.md": "cff1196c8e8bb4fa",
"agents/gsd-plan-checker.md": "893e88036b4ad419",
"agents/gsd-planner.md": "e916e99dab32a95b",
"agents/gsd-project-researcher.md": "85de7f562872ee9b",
"agents/gsd-research-synthesizer.md": "18a2e1b30ff7ae3a",
"agents/gsd-roadmapper.md": "7a8465ac6d4dd29e",
"agents/gsd-security-auditor.md": "7730a026680cb821",
"agents/gsd-ui-auditor.md": "f777f9c7bf62788c",
"agents/gsd-ui-checker.md": "216af34b01e277aa",
"agents/gsd-ui-researcher.md": "5f86de1decbd16d2",
"agents/gsd-user-profiler.md": "25d65f6458454764",
"agents/gsd-verifier.md": "134de2aa70d323b4",
"gsd-core/.gsd-runtime": "54e851f5dd76ba94",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "ea841e2865248e74",
"gsd-core/bin/gsd-tools.cjs": "14e050d487a715e6",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "8bc541aabc2e143c",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "51b5d0ba5b1e98d9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "425dd69c629230e7",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "e176817364a7cbf4",
"gsd-core/references/autonomous-smart-discuss.md": "efd80aca449032ad",
"gsd-core/references/checkpoints.md": "130bb6ef705fc065",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "0c8a4b3dee1f6666",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "4c13da220b6a4261",
"gsd-core/references/debugger-fix-acceptance.md": "87d367e4e864910e",
"gsd-core/references/debugger-philosophy.md": "459a8ac647c4ce9c",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "745e517012e03d23",
"gsd-core/references/debugger-sbfl.md": "de9cd1bd0e1485c6",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "89c8d04ce0d31d0d",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "826cf9315e592a1d",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "43e867720e736464",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "9e6076a137f9e156",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "c11c191ffad86a9f",
"gsd-core/references/honest-verifier.md": "a31a4bf42d82d5e9",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "fc72060a71580bc6",
"gsd-core/references/model-profiles.md": "6568ca29b6ee00d8",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "dff6b2a56a2946cd",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "88a0cd714d33fe34",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "a6a2435b0e5b2871",
"gsd-core/references/planner-human-verify-mode.md": "676e43b03af6b25b",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "90cb2ecd1f3eb4d8",
"gsd-core/references/planner-mvp-mode.md": "cdac9dde7cd8fa84",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "a5fa9b0aec6f321d",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "e1cf3b27e936e07d",
"gsd-core/references/project-skills-discovery.md": "d8701bc00a470923",
"gsd-core/references/questioning.md": "8f26dfe5794b1e6e",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "a602b41bfa081fdf",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "558870a1c4bc4c29",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5a308e4beeabd013",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "2e476a78c8dab51b",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "8e023a908d968af1",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "de7ebb43dea1d20f",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "225910640adbb76d",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "72e93b7f650d9bae",
"gsd-core/templates/README.md": "28160dd8b0631652",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "8797c0c7da927c8e",
"gsd-core/templates/codebase/architecture.md": "282db635ba093b1a",
"gsd-core/templates/codebase/concerns.md": "e66c584daa636fc5",
"gsd-core/templates/codebase/conventions.md": "c5f0324730852701",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "6c505bdf5af338c8",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "593d4e6d20fdde7c",
"gsd-core/templates/continue-here.md": "8b1dce4832c7922b",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "da4e8e266efdc6c2",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "31f627d456ab14b0",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "fae14114f2b79b10",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "b454f96fdf8b1d3d",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "8734f0df4df3a34b",
"gsd-core/templates/state.md": "a45a134631efe3f9",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "52abe2af968e8533",
"gsd-core/templates/user-setup.md": "1da2382725db080f",
"gsd-core/templates/verification-report.md": "78ab9264ce63ed7e",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "8cc2e884a021b79b",
"gsd-core/workflows/add-phase.md": "820572da6367308c",
"gsd-core/workflows/add-tests.md": "6eb1897c448bbd21",
"gsd-core/workflows/add-todo.md": "69af1e11021d6765",
"gsd-core/workflows/ai-integration-phase.md": "95585dbc4065f09c",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "fa1c3b3cb96b9031",
"gsd-core/workflows/audit-milestone.md": "3bfd8fd204d97a68",
"gsd-core/workflows/audit-uat.md": "ea8ddd910ed16ba4",
"gsd-core/workflows/autonomous.md": "4c772d7c708706d1",
"gsd-core/workflows/check-todos.md": "d0c7e3e4df580256",
"gsd-core/workflows/cleanup.md": "260c5e46afc1c174",
"gsd-core/workflows/code-review-fix.md": "5a28df1688f34e72",
"gsd-core/workflows/code-review.md": "faff151cfc12fe8e",
"gsd-core/workflows/complete-milestone.md": "f54214679be6a98a",
"gsd-core/workflows/debug.md": "9b63abb371ca9097",
"gsd-core/workflows/diagnose-issues.md": "1a70a1bcd3b98511",
"gsd-core/workflows/discovery-phase.md": "222887a5b2094a50",
"gsd-core/workflows/discuss-phase-assumptions.md": "525a4d2dda3ea615",
"gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383",
"gsd-core/workflows/discuss-phase.md": "c0a977154470b7f5",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "ab0c68941386998b",
"gsd-core/workflows/discuss-phase/modes/all.md": "e5fe9c9c1e2bec1a",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "c412dfbb5d536935",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "a6f486a303c9bd53",
"gsd-core/workflows/discuss-phase/modes/default.md": "4c5ba5975dcc1e9c",
"gsd-core/workflows/discuss-phase/modes/power.md": "96822b22c42d75e8",
"gsd-core/workflows/discuss-phase/modes/text.md": "c384c22ffff4dc02",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "2b56ec2868cbddb4",
"gsd-core/workflows/do.md": "6be997df35e9e82b",
"gsd-core/workflows/docs-update.md": "53dd4148dd0f4c90",
"gsd-core/workflows/edit-phase.md": "fc932e82ba1f585a",
"gsd-core/workflows/eval-review.md": "610775f4968f7807",
"gsd-core/workflows/execute-phase.md": "a20deff10f1a9c7b",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "1832b97d0923fa67",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "0404bcd32f47715e",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "13aa54f8279960ae",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "476f88892510a09e",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "5c6fcb36e16f5bf7",
"gsd-core/workflows/explore.md": "965e1c0ede05f40c",
"gsd-core/workflows/extract-learnings.md": "82f8b60ab36e4818",
"gsd-core/workflows/fast.md": "568e6c3ec00b6e00",
"gsd-core/workflows/forensics.md": "b64f0309b8c3fde1",
"gsd-core/workflows/graduation.md": "c892887f212c9cff",
"gsd-core/workflows/health.md": "8202d3532bde3952",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "4d35519480fe338c",
"gsd-core/workflows/help/modes/topic.md": "0bf9ab39d7044d69",
"gsd-core/workflows/import.md": "91314267f921961b",
"gsd-core/workflows/inbox.md": "923bf25e18a71698",
"gsd-core/workflows/ingest-docs.md": "a0ae5398022c8730",
"gsd-core/workflows/insert-phase.md": "cdd83cf77d0f7485",
"gsd-core/workflows/list-phase-assumptions.md": "e7b5e35c9452e3b3",
"gsd-core/workflows/list-seeds.md": "3a8b612306ecf9c3",
"gsd-core/workflows/list-workspaces.md": "f6b1bc9fa13cc155",
"gsd-core/workflows/manager.md": "7cd083b4f5b721b6",
"gsd-core/workflows/map-codebase.md": "19f186f82b4f0b01",
"gsd-core/workflows/milestone-summary.md": "c4620853fe489126",
"gsd-core/workflows/mvp-phase.md": "3675856fb091e68a",
"gsd-core/workflows/new-milestone.md": "9d9935f346190a0c",
"gsd-core/workflows/new-project.md": "750dcb2c591fbbdf",
"gsd-core/workflows/new-workspace.md": "2310910fea2368db",
"gsd-core/workflows/next.md": "2efc12058dee2d29",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "3ce09c0aa0a20599",
"gsd-core/workflows/onboard.md": "af12b0573b14ce7f",
"gsd-core/workflows/pause-work.md": "564de32981a24337",
"gsd-core/workflows/plan-milestone-gaps.md": "dd6a4b3a8b05ab6e",
"gsd-core/workflows/plan-phase.md": "165e3fcee7184009",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "ab0b22244c3389aa",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "bd6f71b3c63a2411",
"gsd-core/workflows/plant-seed.md": "1dddbafe892d8cf3",
"gsd-core/workflows/pr-branch.md": "dc5598ae8accdecd",
"gsd-core/workflows/profile-user.md": "3a3f8e417de0074c",
"gsd-core/workflows/progress.md": "9fb8c93970e0b4aa",
"gsd-core/workflows/quick.md": "82c394ebc1a034cb",
"gsd-core/workflows/reapply-patches.md": "4dcd6117d0a507ca",
"gsd-core/workflows/remove-phase.md": "23b9eb0858a2535e",
"gsd-core/workflows/remove-workspace.md": "1058d1d3160eb120",
"gsd-core/workflows/resume-project.md": "98e2cf8908e73a52",
"gsd-core/workflows/review.md": "0c3c483764110a1c",
"gsd-core/workflows/scan.md": "5230ac0e5f876f6d",
"gsd-core/workflows/secure-phase.md": "63a7b808a8b81e36",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "6d25100a9de15b31",
"gsd-core/workflows/settings-integrations.md": "e1fda52e8c9afa5f",
"gsd-core/workflows/settings.md": "9b7e0a34f4f41a80",
"gsd-core/workflows/ship.md": "668ea5179629e722",
"gsd-core/workflows/sketch-wrap-up.md": "0f842a609851a401",
"gsd-core/workflows/sketch.md": "c42d993c1e9a6240",
"gsd-core/workflows/smart-entry.md": "6d887ca5d9df9185",
"gsd-core/workflows/spec-phase.md": "978462218855c213",
"gsd-core/workflows/spike-wrap-up.md": "8db41edc87cb7886",
"gsd-core/workflows/spike.md": "a6daeb0b927563a3",
"gsd-core/workflows/stats.md": "b64bda5c0a1a06fb",
"gsd-core/workflows/sync-skills.md": "8326a7ff0411b077",
"gsd-core/workflows/thread.md": "31201839d0530e89",
"gsd-core/workflows/transition.md": "d3486f115d808175",
"gsd-core/workflows/ui-phase.md": "97072787afd14ebc",
"gsd-core/workflows/ui-review.md": "1b03d7b20d80406e",
"gsd-core/workflows/ultraplan-phase.md": "d8e92b0b7214eba6",
"gsd-core/workflows/undo.md": "a2c65d90d5761f71",
"gsd-core/workflows/update.md": "c0d21c81e93571bb",
"gsd-core/workflows/validate-phase.md": "08f11923d7576e46",
"gsd-core/workflows/verify-phase.md": "913acaef091797d7",
"gsd-core/workflows/verify-work.md": "d7d1aff3cb9876f8",
"hooks/gsd-check-update-worker.js": "fa301e6366270d5f",
"hooks/gsd-check-update.js": "4617a98bf529e4c3",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "31a4d99fd3b260ad",
"hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
"hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
"hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
"hooks/gsd-cursor-stop.js": "80de723949cee847",
"hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
"hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
"hooks/gsd-ensure-canonical-path.js": "64d092d7e4a01211",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "66dc137d0a079940",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "ba8422027f710711",
"hooks/gsd-update-banner.js": "55143a25f978f301",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
"hooks/gsd-worktree-path-guard.js": "5f64275e48fb8284",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "82a4121cbcb82756",
"mcp_config.json": "9956d6a6e88a49e1",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "95cd3eb1698fc79b",
"skills/gsd-ai-integration-phase/SKILL.md": "df6dad8e87226f35",
"skills/gsd-audit-fix/SKILL.md": "e5e30c307bca6c89",
"skills/gsd-audit-milestone/SKILL.md": "f701c229ac380077",
"skills/gsd-audit-uat/SKILL.md": "8b304b54e1c587d1",
"skills/gsd-autonomous/SKILL.md": "5610d6fceff3774e",
"skills/gsd-capture/SKILL.md": "c554bbadc3885b8f",
"skills/gsd-cleanup/SKILL.md": "c3ed4f3abf6945b6",
"skills/gsd-code-review/SKILL.md": "9aa941f7cfa5f185",
"skills/gsd-complete-milestone/SKILL.md": "169568f9004be781",
"skills/gsd-config/SKILL.md": "4b099e45ec600133",
"skills/gsd-debug/SKILL.md": "168a98458c3b41db",
"skills/gsd-discuss-phase/SKILL.md": "3fb922bfac348f8d",
"skills/gsd-docs-update/SKILL.md": "b50b433dfe6208ef",
"skills/gsd-eval-review/SKILL.md": "32bb1f952e4b905e",
"skills/gsd-execute-phase/SKILL.md": "eddbad8efb90ab66",
"skills/gsd-explore/SKILL.md": "8e3a822f314389af",
"skills/gsd-extract-learnings/SKILL.md": "1d913b8cecc42506",
"skills/gsd-fast/SKILL.md": "d62c1699462f6e74",
"skills/gsd-forensics/SKILL.md": "352bd1d8b4c26c3b",
"skills/gsd-graphify/SKILL.md": "5b812b9ed52f8d9a",
"skills/gsd-health/SKILL.md": "9acfbd91df231ada",
"skills/gsd-help/SKILL.md": "75a119a393b6c65b",
"skills/gsd-import/SKILL.md": "72f38b97d8397dba",
"skills/gsd-inbox/SKILL.md": "4ec0198966ac4f7d",
"skills/gsd-ingest-docs/SKILL.md": "f4e43968af317ed8",
"skills/gsd-manager/SKILL.md": "6e51785860784d8c",
"skills/gsd-map-codebase/SKILL.md": "552f914f43b2181c",
"skills/gsd-mempalace-capture/SKILL.md": "0f8eae8ef21ea89a",
"skills/gsd-mempalace-recall/SKILL.md": "2d95e385fee26dee",
"skills/gsd-milestone-summary/SKILL.md": "2955ab3e3a444ca3",
"skills/gsd-mvp-phase/SKILL.md": "1cf7622d655840ac",
"skills/gsd-new-milestone/SKILL.md": "f97a28dd1e2b9317",
"skills/gsd-new-project/SKILL.md": "31b46764278d1c1a",
"skills/gsd-next/SKILL.md": "e7e03391c0e3a235",
"skills/gsd-ns-context/SKILL.md": "e791bc60e4cf124e",
"skills/gsd-ns-ideate/SKILL.md": "b85f270e8415f595",
"skills/gsd-ns-manage/SKILL.md": "d55c53b5b0513033",
"skills/gsd-ns-project/SKILL.md": "905eff81dbb98b38",
"skills/gsd-ns-review/SKILL.md": "2e30158e112d173c",
"skills/gsd-ns-workflow/SKILL.md": "529e21833a6a8831",
"skills/gsd-onboard/SKILL.md": "1447665c64c8ade8",
"skills/gsd-pause-work/SKILL.md": "9d3cc6bd70b03df1",
"skills/gsd-phase/SKILL.md": "00676bbea61410bf",
"skills/gsd-plan-phase/SKILL.md": "84e89f076dc6bef3",
"skills/gsd-plan-review-convergence/SKILL.md": "79d264b132ca360d",
"skills/gsd-pr-branch/SKILL.md": "5e050db73988f9a8",
"skills/gsd-profile-user/SKILL.md": "10f2ff4be2e7d55f",
"skills/gsd-progress/SKILL.md": "df0d06cf9d5963d0",
"skills/gsd-quick/SKILL.md": "c18b11b12ba134fa",
"skills/gsd-resume-work/SKILL.md": "fa2ee37470c6ae07",
"skills/gsd-review-backlog/SKILL.md": "d8a150558cc9326a",
"skills/gsd-review/SKILL.md": "1abcf1f6a7b73ab2",
"skills/gsd-secure-phase/SKILL.md": "47a4ecd2aa680fda",
"skills/gsd-settings/SKILL.md": "fda7af8331acd352",
"skills/gsd-ship/SKILL.md": "4529b04a357cdacd",
"skills/gsd-sketch/SKILL.md": "eea837cc70ef1238",
"skills/gsd-spec-phase/SKILL.md": "6b35d59f65e2e607",
"skills/gsd-spike/SKILL.md": "63b5093cbc7978ca",
"skills/gsd-stats/SKILL.md": "1cef40c0a0e7b19b",
"skills/gsd-surface/SKILL.md": "19e018ebe4c89857",
"skills/gsd-thread/SKILL.md": "4d91aab9f5ed4ca7",
"skills/gsd-ui-phase/SKILL.md": "b2412418ebf0dfb8",
"skills/gsd-ui-review/SKILL.md": "e49734488684fd9a",
"skills/gsd-ultraplan-phase/SKILL.md": "c71b716028d9ca24",
"skills/gsd-undo/SKILL.md": "c03cd1ab3c78cec4",
"skills/gsd-update/SKILL.md": "536ee29e2c205cdd",
"skills/gsd-validate-phase/SKILL.md": "4c9058e7240bc28b",
"skills/gsd-verify-work/SKILL.md": "82bd049e7ea36a5a",
"skills/gsd-workspace/SKILL.md": "f0d1512b46227344",
"skills/gsd-workstreams/SKILL.md": "737841783c7fdd4f"
}

View File

@@ -1,515 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "de00bae0761140d7",
"agents/gsd-advisor-researcher.md": "e5be2680b690c198",
"agents/gsd-ai-researcher.md": "f3baf9025a5bc4b1",
"agents/gsd-assumptions-analyzer.md": "b3219da6b194fdef",
"agents/gsd-code-fixer.md": "68b2d2faccfdd8a3",
"agents/gsd-code-reviewer.md": "bc8a6f2e1f787ff5",
"agents/gsd-codebase-mapper.md": "d369048683978297",
"agents/gsd-debug-session-manager.md": "7ac3a457c926082d",
"agents/gsd-debugger.md": "584692481a9f5e0f",
"agents/gsd-doc-classifier.md": "262a94b947a4e2aa",
"agents/gsd-doc-synthesizer.md": "01f90ea9b0d05d7d",
"agents/gsd-doc-verifier.md": "b3433e0db51e1c60",
"agents/gsd-doc-writer.md": "376011bd99026bf7",
"agents/gsd-domain-researcher.md": "671c9ea949889c4a",
"agents/gsd-eval-auditor.md": "fcaec7b00f94c435",
"agents/gsd-eval-planner.md": "a4a5b4b3f7828ba3",
"agents/gsd-executor.md": "0fd0329cfa05519d",
"agents/gsd-framework-selector.md": "4b77eebbe9288d80",
"agents/gsd-integration-checker.md": "fa53e2d78be1de74",
"agents/gsd-intel-updater.md": "fa40e685d7441ace",
"agents/gsd-mempalace-curator.md": "78f4894a9d5f44b1",
"agents/gsd-nyquist-auditor.md": "230e6667411ccf2f",
"agents/gsd-pattern-mapper.md": "43c6021cf7caabfa",
"agents/gsd-phase-researcher.md": "f1f6fd6a3e67c7a8",
"agents/gsd-plan-checker.md": "d9aca5f75d649fc0",
"agents/gsd-planner.md": "5143e54864af6a63",
"agents/gsd-project-researcher.md": "4531b7cc8f5e5f7d",
"agents/gsd-research-synthesizer.md": "4a4f68e6c75b133a",
"agents/gsd-roadmapper.md": "bb2f57695dbab32c",
"agents/gsd-security-auditor.md": "4db2c41181ad1f97",
"agents/gsd-ui-auditor.md": "dcd5712e6b160a53",
"agents/gsd-ui-checker.md": "5c27ec0d88ef87c2",
"agents/gsd-ui-researcher.md": "bcc591f2dfebdb60",
"agents/gsd-user-profiler.md": "622220df0654b6bf",
"agents/gsd-verifier.md": "b310112ee195819b",
"commands/gsd-add-tests.md": "3608d0cf4b515103",
"commands/gsd-ai-integration-phase.md": "cbc59ad7a5064b26",
"commands/gsd-audit-fix.md": "1b805946362c4f19",
"commands/gsd-audit-milestone.md": "046573a643714178",
"commands/gsd-audit-uat.md": "d3de44d1c3e59b57",
"commands/gsd-autonomous.md": "44598590349df325",
"commands/gsd-capture.md": "a4e4537bae4c90d3",
"commands/gsd-cleanup.md": "313e0443e1ae1557",
"commands/gsd-code-review.md": "1a32afb26a3a2926",
"commands/gsd-complete-milestone.md": "7f62fe57c67173fb",
"commands/gsd-config.md": "e00bef4533ce1648",
"commands/gsd-debug.md": "6ca109f930fe4b5a",
"commands/gsd-discuss-phase.md": "d5fc70a10ecf4c03",
"commands/gsd-docs-update.md": "58252664de1cc9d8",
"commands/gsd-eval-review.md": "b24d1b556dccf306",
"commands/gsd-execute-phase.md": "6db2b511bdfc7ee6",
"commands/gsd-explore.md": "cf09cdbd70a5320c",
"commands/gsd-extract-learnings.md": "46bfbbbb66207a43",
"commands/gsd-fast.md": "aceb53156d0dea5b",
"commands/gsd-forensics.md": "1be3c723d76f089a",
"commands/gsd-graphify.md": "ae5de1d629fcfa72",
"commands/gsd-health.md": "1a2707c6bc28c8fe",
"commands/gsd-help.md": "0d8c5a849465d771",
"commands/gsd-import.md": "5931425062f516ec",
"commands/gsd-inbox.md": "c218298db8b36e31",
"commands/gsd-ingest-docs.md": "6718b04c597a5428",
"commands/gsd-manager.md": "8f4ae79774902293",
"commands/gsd-map-codebase.md": "e4e170d4ef2d46c6",
"commands/gsd-mempalace-capture.md": "63c35058ba60209f",
"commands/gsd-mempalace-recall.md": "38716c0983a3ef9c",
"commands/gsd-milestone-summary.md": "ff5e11e6b33d4b5e",
"commands/gsd-mvp-phase.md": "ffc5905aed8f450a",
"commands/gsd-new-milestone.md": "82d075372a862d9a",
"commands/gsd-new-project.md": "56552a324cff669e",
"commands/gsd-next.md": "d9f43d56e1bca2ca",
"commands/gsd-ns-context.md": "011c44e7aa46e64a",
"commands/gsd-ns-ideate.md": "edc5e543512dd48a",
"commands/gsd-ns-manage.md": "0409d810e499357f",
"commands/gsd-ns-project.md": "ff67e85bc6f7fc5a",
"commands/gsd-ns-review.md": "3766ed10827882a0",
"commands/gsd-ns-workflow.md": "c3b3c046a74ec0ee",
"commands/gsd-onboard.md": "1e8acf7be31834be",
"commands/gsd-pause-work.md": "4fb032f72238fe33",
"commands/gsd-phase.md": "4920d15d779329eb",
"commands/gsd-plan-phase.md": "e6c1bcd1da345fa5",
"commands/gsd-plan-review-convergence.md": "4523045c95d4cd52",
"commands/gsd-pr-branch.md": "e168fcd545d72d0d",
"commands/gsd-profile-user.md": "ffd9c2feb4c69f11",
"commands/gsd-progress.md": "0b4d5b73a6c5e958",
"commands/gsd-quick.md": "a6124a2443394092",
"commands/gsd-resume-work.md": "e54b929de88b11ce",
"commands/gsd-review-backlog.md": "6e8a0417fab95cd3",
"commands/gsd-review.md": "87d9b3f0705afb5e",
"commands/gsd-secure-phase.md": "a2320ecca4cb160b",
"commands/gsd-settings.md": "53b90624a70fd530",
"commands/gsd-ship.md": "81136d903d261b33",
"commands/gsd-sketch.md": "0c44d54d15c8f96f",
"commands/gsd-spec-phase.md": "8bb332566911dfd9",
"commands/gsd-spike.md": "a99190d9496c6ac0",
"commands/gsd-stats.md": "58b4d86a5390e243",
"commands/gsd-surface.md": "12078dca898a6c16",
"commands/gsd-thread.md": "51be0cdeb925ab28",
"commands/gsd-ui-phase.md": "75d4be44797ccef7",
"commands/gsd-ui-review.md": "9191082973068dbf",
"commands/gsd-ultraplan-phase.md": "a0cfcc5970e77341",
"commands/gsd-undo.md": "c62f376b4a0af5b1",
"commands/gsd-update.md": "bda7815908d9977b",
"commands/gsd-validate-phase.md": "948bdde83cc66341",
"commands/gsd-verify-work.md": "1cb62ea69b117acb",
"commands/gsd-workspace.md": "dd1bc09d2b768e0b",
"commands/gsd-workstreams.md": "52ab9c585d3a00f3",
"gsd-core/.gsd-runtime": "ba737a9959aad238",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6749084395889c6a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "77bf9dff38b2c9d4",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "e067ad3df6770db1",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "ab3b698fe23bab9b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "93d3426fc64e2c12",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "d1d333e4b963c0d2",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1bc7377b105194fc",
"gsd-core/workflows/add-phase.md": "ac43883e2d8e34d8",
"gsd-core/workflows/add-tests.md": "7e7268602f9e1b2a",
"gsd-core/workflows/add-todo.md": "5dc04cfaa0b6b072",
"gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "6174b6f87844973c",
"gsd-core/workflows/audit-uat.md": "fcfbec501620b564",
"gsd-core/workflows/autonomous.md": "aed5e67104346cc2",
"gsd-core/workflows/check-todos.md": "c484e472cff0e4e3",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155",
"gsd-core/workflows/code-review.md": "22b53c0d29508d57",
"gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a",
"gsd-core/workflows/debug.md": "3f0218b051c1afb1",
"gsd-core/workflows/diagnose-issues.md": "7ec385c89a3672d4",
"gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858",
"gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "5c5e8d8c2c9d95aa",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "5502a67de7776853",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "da6d45207da4a988",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "90df4f1fe248cdf3",
"gsd-core/workflows/docs-update.md": "fba7329f525c9463",
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
"gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac",
"gsd-core/workflows/execute-phase.md": "d9ecf8b35ae4a771",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f7782680c2b8ad6b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "334bb2053908a049",
"gsd-core/workflows/explore.md": "3f3b4f83e23349bc",
"gsd-core/workflows/extract-learnings.md": "ab26f2cbb14efef2",
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
"gsd-core/workflows/forensics.md": "0d500a3f5ab26913",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "c25b5e5f62874c31",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "08a02976c0c5cc50",
"gsd-core/workflows/help/modes/full.md": "84468010d1ee078e",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "57abe514a9b0f6ac",
"gsd-core/workflows/inbox.md": "a7d439981775bc29",
"gsd-core/workflows/ingest-docs.md": "781799b47d282b37",
"gsd-core/workflows/insert-phase.md": "08dca838d831bb5b",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "b687f2a843032d65",
"gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453",
"gsd-core/workflows/manager.md": "c18fab593344253d",
"gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf",
"gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "8164a9abc301f143",
"gsd-core/workflows/new-project.md": "7b2ac462000156ba",
"gsd-core/workflows/new-workspace.md": "bbeb706c7a697617",
"gsd-core/workflows/next.md": "4e1eb6b46d15798d",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "f2b33bba5593d422",
"gsd-core/workflows/plan-milestone-gaps.md": "852f6d7c0c4299dc",
"gsd-core/workflows/plan-phase.md": "4dfd63c95b80741a",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "49f58c3f75be3eb5",
"gsd-core/workflows/plan-review-convergence.md": "db69460dd4df0d29",
"gsd-core/workflows/plant-seed.md": "9596db80ab282c6f",
"gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b",
"gsd-core/workflows/profile-user.md": "59e5066c5c66572a",
"gsd-core/workflows/progress.md": "46c83ad61b3c4a84",
"gsd-core/workflows/quick.md": "f0f5588861a18005",
"gsd-core/workflows/reapply-patches.md": "39050f72601aec89",
"gsd-core/workflows/remove-phase.md": "df9a45f0b1880999",
"gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe",
"gsd-core/workflows/resume-project.md": "f28da1200e4545f4",
"gsd-core/workflows/review.md": "8724993cbc91bcc5",
"gsd-core/workflows/scan.md": "0583dac337623f82",
"gsd-core/workflows/secure-phase.md": "00225810eaed265b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44",
"gsd-core/workflows/settings-integrations.md": "effcef778d4a855f",
"gsd-core/workflows/settings.md": "85ceb482dc713169",
"gsd-core/workflows/ship.md": "ca94c87c80a70c27",
"gsd-core/workflows/sketch-wrap-up.md": "5f5ebb6a80d610c6",
"gsd-core/workflows/sketch.md": "efc5a794b4bd6e78",
"gsd-core/workflows/smart-entry.md": "004b4060eab97cb9",
"gsd-core/workflows/spec-phase.md": "fa8669b75392cf6c",
"gsd-core/workflows/spike-wrap-up.md": "8467dadf2af758e6",
"gsd-core/workflows/spike.md": "a159bf4018564cb2",
"gsd-core/workflows/stats.md": "76a42cbeaf6007c2",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "927e7eeefd2fcf5c",
"gsd-core/workflows/transition.md": "aea486bb7a0e80e7",
"gsd-core/workflows/ui-phase.md": "450d14bf2494990a",
"gsd-core/workflows/ui-review.md": "387f7cefc849dba1",
"gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d",
"gsd-core/workflows/undo.md": "1712417bade30b30",
"gsd-core/workflows/update.md": "b0a12ed14e5cc441",
"gsd-core/workflows/validate-phase.md": "171ff4aa9b392475",
"gsd-core/workflows/verify-phase.md": "d26a2c3269340caf",
"gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81",
"hooks/gsd-check-update-worker.js": "cc1ef5f840f9dfc9",
"hooks/gsd-check-update.js": "7b3a7983d5f1f5d3",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "493e24c139c61129",
"hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
"hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
"hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
"hooks/gsd-cursor-stop.js": "80de723949cee847",
"hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
"hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
"hooks/gsd-ensure-canonical-path.js": "d569f5f3578e93e5",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "0fb57708a3c10ab1",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "85141ec6a067fce2",
"hooks/gsd-update-banner.js": "55143a25f978f301",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
"hooks/gsd-worktree-path-guard.js": "97c2f736d085fe8e",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "29a8d4fa81378d7d",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-ns-context/SKILL.md": "90ff2716402f8f61",
"skills/gsd-ns-context/skills/docs-update/SKILL.md": "e7ab14a984f7462c",
"skills/gsd-ns-context/skills/extract-learnings/SKILL.md": "48846bf26ccaf0e7",
"skills/gsd-ns-context/skills/graphify/SKILL.md": "3d6341614add6ccd",
"skills/gsd-ns-context/skills/map-codebase/SKILL.md": "2017007dcd69d153",
"skills/gsd-ns-context/skills/mempalace-capture/SKILL.md": "9923f0164d27f27f",
"skills/gsd-ns-context/skills/mempalace-recall/SKILL.md": "646e59e76acd548f",
"skills/gsd-ns-ideate/SKILL.md": "d70360a5f7e8ac90",
"skills/gsd-ns-ideate/skills/capture/SKILL.md": "74651f6959cfbbd3",
"skills/gsd-ns-ideate/skills/explore/SKILL.md": "bb8413dc283a5bb1",
"skills/gsd-ns-ideate/skills/sketch/SKILL.md": "3c1218159bbf4eb0",
"skills/gsd-ns-ideate/skills/spec-phase/SKILL.md": "2f88d0fc0c1abefe",
"skills/gsd-ns-ideate/skills/spike/SKILL.md": "799932a60c21fddc",
"skills/gsd-ns-manage/SKILL.md": "123d32471bc44cee",
"skills/gsd-ns-manage/skills/cleanup/SKILL.md": "cc78257dc49e91ab",
"skills/gsd-ns-manage/skills/config/SKILL.md": "c99f48d175be9c5a",
"skills/gsd-ns-manage/skills/health/SKILL.md": "f3c7f00b39802522",
"skills/gsd-ns-manage/skills/help/SKILL.md": "fefeb84914e1ab94",
"skills/gsd-ns-manage/skills/inbox/SKILL.md": "9a9224c09c095438",
"skills/gsd-ns-manage/skills/manager/SKILL.md": "e810eb24d1b0cb42",
"skills/gsd-ns-manage/skills/pause-work/SKILL.md": "c3e1186348abbaca",
"skills/gsd-ns-manage/skills/pr-branch/SKILL.md": "b5be687b86830368",
"skills/gsd-ns-manage/skills/resume-work/SKILL.md": "753c45ba8c91e640",
"skills/gsd-ns-manage/skills/settings/SKILL.md": "8751c29421208a00",
"skills/gsd-ns-manage/skills/ship/SKILL.md": "7498424e965545e1",
"skills/gsd-ns-manage/skills/stats/SKILL.md": "0bce39e8f3b64f5e",
"skills/gsd-ns-manage/skills/surface/SKILL.md": "ca10834ce41967c9",
"skills/gsd-ns-manage/skills/thread/SKILL.md": "fbe591e8162f8b1c",
"skills/gsd-ns-manage/skills/undo/SKILL.md": "5ffc86a2c67aa9df",
"skills/gsd-ns-manage/skills/update/SKILL.md": "c8165b8085ba106a",
"skills/gsd-ns-manage/skills/workspace/SKILL.md": "98cc03aa8c735e9d",
"skills/gsd-ns-manage/skills/workstreams/SKILL.md": "94d00b5116523f36",
"skills/gsd-ns-project/SKILL.md": "ae47130ec878de8c",
"skills/gsd-ns-project/skills/audit-milestone/SKILL.md": "6d4c77390c549fc7",
"skills/gsd-ns-project/skills/complete-milestone/SKILL.md": "0af489daf6fd3f16",
"skills/gsd-ns-project/skills/import/SKILL.md": "a3cfa7abc5ddd26d",
"skills/gsd-ns-project/skills/ingest-docs/SKILL.md": "53e838f8f509d0ac",
"skills/gsd-ns-project/skills/milestone-summary/SKILL.md": "18dc0c134cb62657",
"skills/gsd-ns-project/skills/new-milestone/SKILL.md": "a94ff34b09e17a98",
"skills/gsd-ns-project/skills/new-project/SKILL.md": "81f681f54ca61f90",
"skills/gsd-ns-project/skills/onboard/SKILL.md": "1f5b29c75a91be4f",
"skills/gsd-ns-project/skills/profile-user/SKILL.md": "68b015a40d386bff",
"skills/gsd-ns-project/skills/review-backlog/SKILL.md": "0f25310aa0cd48f6",
"skills/gsd-ns-review/SKILL.md": "d7567fd9a75a5c21",
"skills/gsd-ns-review/skills/audit-fix/SKILL.md": "c085b5f9585e7fc8",
"skills/gsd-ns-review/skills/audit-uat/SKILL.md": "abbb16c85efd493d",
"skills/gsd-ns-review/skills/code-review/SKILL.md": "36dbfd5aa2d3c3c7",
"skills/gsd-ns-review/skills/debug/SKILL.md": "4b9bde6d213185f0",
"skills/gsd-ns-review/skills/eval-review/SKILL.md": "61d28536af6794c9",
"skills/gsd-ns-review/skills/forensics/SKILL.md": "e68fc285c39dad5e",
"skills/gsd-ns-review/skills/review/SKILL.md": "3d1cbf005e02c948",
"skills/gsd-ns-review/skills/secure-phase/SKILL.md": "ff7949b3261c09fa",
"skills/gsd-ns-review/skills/ui-phase/SKILL.md": "d0e75ee06eaa0165",
"skills/gsd-ns-review/skills/ui-review/SKILL.md": "bdab072171d79877",
"skills/gsd-ns-review/skills/validate-phase/SKILL.md": "8972b413eb712cae",
"skills/gsd-ns-workflow/SKILL.md": "9c03c167c9af062a",
"skills/gsd-ns-workflow/skills/add-tests/SKILL.md": "851084b695ab8328",
"skills/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "125533edf40cb047",
"skills/gsd-ns-workflow/skills/autonomous/SKILL.md": "1565a532889d3ea3",
"skills/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "94ac4065ceeee80b",
"skills/gsd-ns-workflow/skills/execute-phase/SKILL.md": "67c9a6189f045de0",
"skills/gsd-ns-workflow/skills/fast/SKILL.md": "34b741cc323f5f15",
"skills/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "f259f089a8d07a54",
"skills/gsd-ns-workflow/skills/next/SKILL.md": "e7409245f1a0f9de",
"skills/gsd-ns-workflow/skills/phase/SKILL.md": "fe5b26417ee466be",
"skills/gsd-ns-workflow/skills/plan-phase/SKILL.md": "3e0237a7433e99b0",
"skills/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "32b4344ec427afce",
"skills/gsd-ns-workflow/skills/progress/SKILL.md": "68bda87136db9fb3",
"skills/gsd-ns-workflow/skills/quick/SKILL.md": "014dec52d85dcb0e",
"skills/gsd-ns-workflow/skills/spec-phase/SKILL.md": "2f88d0fc0c1abefe",
"skills/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "8673b6e4fc14d0ec",
"skills/gsd-ns-workflow/skills/verify-work/SKILL.md": "b92b0e8428a8e80c"
}

View File

@@ -1,442 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
"agents/gsd-advisor-researcher.md": "c81b55d567dcd99e",
"agents/gsd-ai-researcher.md": "27c7df941b01cc13",
"agents/gsd-assumptions-analyzer.md": "d796f8245bbe05d2",
"agents/gsd-code-fixer.md": "c6148e5511d02459",
"agents/gsd-code-reviewer.md": "e2c45baa8c0b5f6d",
"agents/gsd-codebase-mapper.md": "39d22382c5897858",
"agents/gsd-debug-session-manager.md": "cd8e20170b1ee7a0",
"agents/gsd-debugger.md": "d6785173fbeee901",
"agents/gsd-doc-classifier.md": "a76778bdde1c7f72",
"agents/gsd-doc-synthesizer.md": "8b0b6fc187c9d353",
"agents/gsd-doc-verifier.md": "4232dcf9076e3566",
"agents/gsd-doc-writer.md": "22264239fa0ee611",
"agents/gsd-domain-researcher.md": "f1e03df842ddfb95",
"agents/gsd-eval-auditor.md": "d0f45fff7370bb0b",
"agents/gsd-eval-planner.md": "9cc049b82897daa4",
"agents/gsd-executor.md": "b5262908713115ab",
"agents/gsd-framework-selector.md": "85005d716f9d98f7",
"agents/gsd-integration-checker.md": "17a8ee731986564d",
"agents/gsd-intel-updater.md": "4953a465db9dadc1",
"agents/gsd-mempalace-curator.md": "77b53f1b155242b4",
"agents/gsd-nyquist-auditor.md": "f86a28f5c164a0d3",
"agents/gsd-pattern-mapper.md": "b45b5e106775bec1",
"agents/gsd-phase-researcher.md": "4772d9eada32e8bd",
"agents/gsd-plan-checker.md": "b3f510f1257ff383",
"agents/gsd-planner.md": "a22751cc49456236",
"agents/gsd-project-researcher.md": "d7f355894519f9fe",
"agents/gsd-research-synthesizer.md": "1c738df9932d325a",
"agents/gsd-roadmapper.md": "453e9471ad27c7ea",
"agents/gsd-security-auditor.md": "4551e5f621cf13ff",
"agents/gsd-ui-auditor.md": "a0b09cc8e4645956",
"agents/gsd-ui-checker.md": "33ffdc73d2105a24",
"agents/gsd-ui-researcher.md": "4b36852c839f1134",
"agents/gsd-user-profiler.md": "d40584599906f3b7",
"agents/gsd-verifier.md": "5280f380566a4eb6",
"commands/gsd-add-tests.md": "057e3e440989e681",
"commands/gsd-ai-integration-phase.md": "e1f1e0bd6c50506d",
"commands/gsd-audit-fix.md": "ebdcc267a2bebaab",
"commands/gsd-audit-milestone.md": "319caced85c69ff3",
"commands/gsd-audit-uat.md": "99c9af1b2a2c600a",
"commands/gsd-autonomous.md": "c256989da0d3e736",
"commands/gsd-capture.md": "d3f4353483df3637",
"commands/gsd-cleanup.md": "110473269dabd608",
"commands/gsd-code-review.md": "d2f3160f3a1a790a",
"commands/gsd-complete-milestone.md": "561b8e6bf35ee6e9",
"commands/gsd-config.md": "24d7e8cb8237456e",
"commands/gsd-debug.md": "488ec45a06eb7afa",
"commands/gsd-discuss-phase.md": "e50613dc10e1bab5",
"commands/gsd-docs-update.md": "e314a24fd3926ace",
"commands/gsd-eval-review.md": "c636c832d9a7f5c0",
"commands/gsd-execute-phase.md": "a2c4ad3e635c280a",
"commands/gsd-explore.md": "6d5e1f5f14b2d380",
"commands/gsd-extract-learnings.md": "e43d320cb3ed1aaa",
"commands/gsd-fast.md": "5357a1cf3f363dd2",
"commands/gsd-forensics.md": "b816a6cd5ea304f8",
"commands/gsd-graphify.md": "a07ffe1827c512e1",
"commands/gsd-health.md": "253680291c74b8ed",
"commands/gsd-help.md": "eb2c387f97c59e66",
"commands/gsd-import.md": "bcd7c5018b6c96b2",
"commands/gsd-inbox.md": "e829f45bfe8b4ca5",
"commands/gsd-ingest-docs.md": "ded9013d0de7e77b",
"commands/gsd-manager.md": "72d5b31b88f77703",
"commands/gsd-map-codebase.md": "ecd69887996ae561",
"commands/gsd-mempalace-capture.md": "7ec09056410d8e63",
"commands/gsd-mempalace-recall.md": "38716c0983a3ef9c",
"commands/gsd-milestone-summary.md": "908509042caf5beb",
"commands/gsd-mvp-phase.md": "1ef0d7c2871be49a",
"commands/gsd-new-milestone.md": "0ec387159e1f7182",
"commands/gsd-new-project.md": "d68b36481d09bfd4",
"commands/gsd-next.md": "e976ddf80b6cb425",
"commands/gsd-ns-context.md": "011c44e7aa46e64a",
"commands/gsd-ns-ideate.md": "edc5e543512dd48a",
"commands/gsd-ns-manage.md": "0409d810e499357f",
"commands/gsd-ns-project.md": "ff67e85bc6f7fc5a",
"commands/gsd-ns-review.md": "3766ed10827882a0",
"commands/gsd-ns-workflow.md": "c3b3c046a74ec0ee",
"commands/gsd-onboard.md": "d0d9405bc73899bd",
"commands/gsd-pause-work.md": "01dbaebfefacd252",
"commands/gsd-phase.md": "e8c226d2694692a5",
"commands/gsd-plan-phase.md": "a893b7e30eaed754",
"commands/gsd-plan-review-convergence.md": "cb6a8e074c0ab0cd",
"commands/gsd-pr-branch.md": "382c23a6a644c0e4",
"commands/gsd-profile-user.md": "adbc5b025b30e836",
"commands/gsd-progress.md": "75a6dc71b74c54c2",
"commands/gsd-quick.md": "fe2f6655e67a4223",
"commands/gsd-resume-work.md": "cb393bc9f46dcc15",
"commands/gsd-review-backlog.md": "434ebe7b63c107e0",
"commands/gsd-review.md": "e990b7adb72472f9",
"commands/gsd-secure-phase.md": "ca4c23a332ca6204",
"commands/gsd-settings.md": "ed3fe2f6c845226d",
"commands/gsd-ship.md": "35a93b86512a7dff",
"commands/gsd-sketch.md": "c35f09bf0698c0c9",
"commands/gsd-spec-phase.md": "383b4928c4df4bf1",
"commands/gsd-spike.md": "98d789db7ca53873",
"commands/gsd-stats.md": "a9c0e3f338bd61a5",
"commands/gsd-surface.md": "20bbba15eac52024",
"commands/gsd-thread.md": "1b78c7b75b53ad4e",
"commands/gsd-ui-phase.md": "67a759b3973f961f",
"commands/gsd-ui-review.md": "9b4ecf2d40bdc476",
"commands/gsd-ultraplan-phase.md": "4b42890e7d7a0c30",
"commands/gsd-undo.md": "e3cf64bb9562a0d8",
"commands/gsd-update.md": "23342d312e49a125",
"commands/gsd-validate-phase.md": "36c1a57cf7e1e724",
"commands/gsd-verify-work.md": "246ac304c4dfde48",
"commands/gsd-workspace.md": "5928e93b8ab475ac",
"commands/gsd-workstreams.md": "52ab9c585d3a00f3",
"gsd-core/.gsd-runtime": "98038b25280788a4",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "251040866a3a1818",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "3565d2150c2124e1",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "36f44960a5c1dc45",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "5c70ef3203b7c9ce",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "1541604e8301ff6d",
"gsd-core/references/honest-verifier.md": "809f3488bc5a79d0",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "c4ac0d783b10f282",
"gsd-core/references/model-profiles.md": "c249163663bbea53",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "e483957e308f1022",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "782fa05092be3ffa",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "add55e135dd968da",
"gsd-core/references/planner-mvp-mode.md": "98bcd2020c30cbd2",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "2dc9cc2ac26ccdcd",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "2d3b728f8ef5cf6e",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "c0331cc8b7df24a8",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ea15fb1a274ed7c4",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "cfaf338f42b1111e",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "90d2617778373147",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "d8f0fe8dba3bb28a",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "d34c1d0eb4f15ed6",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "974daa528c2ce3f1",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "8d05775f367d1e48",
"gsd-core/workflows/add-phase.md": "b3c61dc9b4d799ed",
"gsd-core/workflows/add-tests.md": "040ed419b025f233",
"gsd-core/workflows/add-todo.md": "5f85e6eb5b1136d2",
"gsd-core/workflows/ai-integration-phase.md": "bb2ea9e09ffee8a2",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "25fee59ee209ec62",
"gsd-core/workflows/audit-milestone.md": "3a7d5069d6ad910a",
"gsd-core/workflows/audit-uat.md": "1c4a02a8c1ab930f",
"gsd-core/workflows/autonomous.md": "e2cfff95bc98501c",
"gsd-core/workflows/check-todos.md": "d36898ef5423b4ee",
"gsd-core/workflows/cleanup.md": "8490f912cd609049",
"gsd-core/workflows/code-review-fix.md": "34e600bb6c905b88",
"gsd-core/workflows/code-review.md": "c08a59f66f2e297a",
"gsd-core/workflows/complete-milestone.md": "529119d0ff9664d9",
"gsd-core/workflows/debug.md": "3f307270fc329c39",
"gsd-core/workflows/diagnose-issues.md": "517bc4b60d4b81c4",
"gsd-core/workflows/discovery-phase.md": "6d691c38a911e27d",
"gsd-core/workflows/discuss-phase-assumptions.md": "d5fac9d437bd65a6",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "ff2563dc378c5e5c",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "f64ece6d53b6d432",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d0d68b06bcd43bcf",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "94548620da9708dd",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "dfcf239382e9bd67",
"gsd-core/workflows/discuss-phase/modes/text.md": "b62c9085d4dc2963",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "0f7b639ff37660b5",
"gsd-core/workflows/docs-update.md": "dc44aa6aab38535d",
"gsd-core/workflows/edit-phase.md": "dbbb6191f5a8b65e",
"gsd-core/workflows/eval-review.md": "c0cf2d0c5dd9df36",
"gsd-core/workflows/execute-phase.md": "3a1457523d8cf965",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "9a1f3deffb4dab14",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ea0ebff5ac00fee6",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "a7f9b9a45303382f",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "b14d7fa2c4ec2406",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "724d726833e222ed",
"gsd-core/workflows/explore.md": "fabe8e5553de16c0",
"gsd-core/workflows/extract-learnings.md": "3778273aaba5d477",
"gsd-core/workflows/fast.md": "7f7687b920d79b29",
"gsd-core/workflows/forensics.md": "857d7b064f4cca21",
"gsd-core/workflows/graduation.md": "7a1d9e1327dce4e7",
"gsd-core/workflows/health.md": "dddcdd72162d23b5",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "1b30f768b9551f7d",
"gsd-core/workflows/help/modes/topic.md": "6e42db16f1568be9",
"gsd-core/workflows/import.md": "2a4013c380ce3acc",
"gsd-core/workflows/inbox.md": "47e718a37c7a738f",
"gsd-core/workflows/ingest-docs.md": "115e3b18febdd5cd",
"gsd-core/workflows/insert-phase.md": "ae977afd1509dc86",
"gsd-core/workflows/list-phase-assumptions.md": "2a6b6a5acfb7742c",
"gsd-core/workflows/list-seeds.md": "7576156b91e9abee",
"gsd-core/workflows/list-workspaces.md": "90caeeb11cec0128",
"gsd-core/workflows/manager.md": "9dcb5eaf64f86627",
"gsd-core/workflows/map-codebase.md": "e9e1e18ed59012dc",
"gsd-core/workflows/milestone-summary.md": "99636900c216c8d2",
"gsd-core/workflows/mvp-phase.md": "88cf363abd25f41e",
"gsd-core/workflows/new-milestone.md": "99a1dca3d86a16b6",
"gsd-core/workflows/new-project.md": "26f3680b17330514",
"gsd-core/workflows/new-workspace.md": "8ec67b5bc4c3f95a",
"gsd-core/workflows/next.md": "cbb891feeeff0c5f",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "a2cc926854a5666c",
"gsd-core/workflows/onboard.md": "f7d0dbcfd94ab130",
"gsd-core/workflows/pause-work.md": "da902807d2213204",
"gsd-core/workflows/plan-milestone-gaps.md": "7679fac068d1009d",
"gsd-core/workflows/plan-phase.md": "b4f63c7f924f915d",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "b810f9f2374e23a5",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "df545a376a37f33d",
"gsd-core/workflows/plant-seed.md": "727991ecd521b617",
"gsd-core/workflows/pr-branch.md": "513f6cff722eff2d",
"gsd-core/workflows/profile-user.md": "7a7786eb43efda0d",
"gsd-core/workflows/progress.md": "01079a85cbc41ffe",
"gsd-core/workflows/quick.md": "edd9f4c7b3026c01",
"gsd-core/workflows/reapply-patches.md": "44a96b52b975e9bb",
"gsd-core/workflows/remove-phase.md": "8effc8742d58a11a",
"gsd-core/workflows/remove-workspace.md": "64b73daff58b9aec",
"gsd-core/workflows/resume-project.md": "af9761bcec0f6fe9",
"gsd-core/workflows/review.md": "73f78512f2c33aed",
"gsd-core/workflows/scan.md": "4cb3b0e2736ebaaf",
"gsd-core/workflows/secure-phase.md": "afb4f0a565d99715",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "94d61da368e9f85b",
"gsd-core/workflows/settings-integrations.md": "9e0108e01e78832c",
"gsd-core/workflows/settings.md": "a1a35e58da33b23b",
"gsd-core/workflows/ship.md": "543ce4997a00999c",
"gsd-core/workflows/sketch-wrap-up.md": "d52a5462bafda830",
"gsd-core/workflows/sketch.md": "9bc12018344f8110",
"gsd-core/workflows/smart-entry.md": "70445afde3a9ead6",
"gsd-core/workflows/spec-phase.md": "ec4d7e4e83bb001d",
"gsd-core/workflows/spike-wrap-up.md": "4bdfaf9d05c63e7c",
"gsd-core/workflows/spike.md": "0ec1ff41fefe5012",
"gsd-core/workflows/stats.md": "3953356f476b5053",
"gsd-core/workflows/sync-skills.md": "5624d529dae1ad79",
"gsd-core/workflows/thread.md": "14a9d195572a198f",
"gsd-core/workflows/transition.md": "42c46f7bdf3d97cc",
"gsd-core/workflows/ui-phase.md": "774439a4584a89eb",
"gsd-core/workflows/ui-review.md": "7f4e2c13f5b301a2",
"gsd-core/workflows/ultraplan-phase.md": "b926ba7e4de0c76d",
"gsd-core/workflows/undo.md": "71ee46d4ab85e5c4",
"gsd-core/workflows/update.md": "47431df1f75a9fdb",
"gsd-core/workflows/validate-phase.md": "0690727a090d9247",
"gsd-core/workflows/verify-phase.md": "90773de32a966c85",
"gsd-core/workflows/verify-work.md": "8f1ef09cb0fcbe2f",
"hooks/gsd-check-update-worker.js": "a530efdb5fdc0da3",
"hooks/gsd-check-update.js": "25cde66a12d6b886",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "f2ac6a1033d140de",
"hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71",
"hooks/gsd-cursor-pre-tool.js": "8cb8e8f895edaec9",
"hooks/gsd-cursor-session-start.js": "c78754e3516853e4",
"hooks/gsd-cursor-stop.js": "c46dc9be21b75f50",
"hooks/gsd-cursor-subagent-start.js": "ec1ea84a9a589b0a",
"hooks/gsd-cursor-subagent-stop.js": "8ee488d826bf3c37",
"hooks/gsd-ensure-canonical-path.js": "b4b3b88a0e493b16",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "18b32bb7401058da",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "bc03b97ef19328c0",
"hooks/gsd-update-banner.js": "b457746cb76c1957",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "41c59d9765ac36ae",
"hooks/gsd-worktree-path-guard.js": "f65356c80c9805b2",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "1d955ec5d64e8a5f",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7"
}

View File

@@ -1,442 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
"agents/gsd-advisor-researcher.md": "6f1f17e206e2c0c4",
"agents/gsd-ai-researcher.md": "e2236ee7b717c925",
"agents/gsd-assumptions-analyzer.md": "f94fdd67f70b4a5d",
"agents/gsd-code-fixer.md": "3d5f67cfd24ac452",
"agents/gsd-code-reviewer.md": "d626a828e8de3648",
"agents/gsd-codebase-mapper.md": "7b9d1f97d593e300",
"agents/gsd-debug-session-manager.md": "0d99579bf29cd355",
"agents/gsd-debugger.md": "064815a723abac0c",
"agents/gsd-doc-classifier.md": "a636ae9594b25770",
"agents/gsd-doc-synthesizer.md": "dfb95eedfb3789bf",
"agents/gsd-doc-verifier.md": "4232dcf9076e3566",
"agents/gsd-doc-writer.md": "8cb62907c6458111",
"agents/gsd-domain-researcher.md": "5f7d366251b957fe",
"agents/gsd-eval-auditor.md": "fea2759beff0a642",
"agents/gsd-eval-planner.md": "112f6730f23854e3",
"agents/gsd-executor.md": "74e35ceab5fc727f",
"agents/gsd-framework-selector.md": "c350ee693cb1aa4e",
"agents/gsd-integration-checker.md": "c8b4e65dee89c8ea",
"agents/gsd-intel-updater.md": "5b41e05f90ce89d9",
"agents/gsd-mempalace-curator.md": "77b53f1b155242b4",
"agents/gsd-nyquist-auditor.md": "0bc0cdad7b3a0013",
"agents/gsd-pattern-mapper.md": "b45b5e106775bec1",
"agents/gsd-phase-researcher.md": "85217c69c1ed2ac6",
"agents/gsd-plan-checker.md": "670e4ad7132a66ca",
"agents/gsd-planner.md": "cef4c830e0fa2bd8",
"agents/gsd-project-researcher.md": "f468e96f8339d1e0",
"agents/gsd-research-synthesizer.md": "7be02e47f4fd901b",
"agents/gsd-roadmapper.md": "8a7f1f1256a6aed5",
"agents/gsd-security-auditor.md": "757f72894f79f11b",
"agents/gsd-ui-auditor.md": "40c0dcc15bcfb9fb",
"agents/gsd-ui-checker.md": "8126405043f99cb6",
"agents/gsd-ui-researcher.md": "9e3ac030767167e0",
"agents/gsd-user-profiler.md": "003276f85792cfda",
"agents/gsd-verifier.md": "d1fe290d4673e379",
"gsd-core/.gsd-runtime": "98038b25280788a4",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "b2c7b1703642a342",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "5c70ef3203b7c9ce",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "c249163663bbea53",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "8f98bc9d5956a004",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "140b1266eeb096cb",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "2dc9cc2ac26ccdcd",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "52872d5393ea9daf",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "90d2617778373147",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "d8f0fe8dba3bb28a",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "213ccd947451ff2b",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "485c4b6673ddf832",
"gsd-core/workflows/add-phase.md": "b2c06b7ed648658c",
"gsd-core/workflows/add-tests.md": "5168c1de6321484c",
"gsd-core/workflows/add-todo.md": "1841baacd58b7593",
"gsd-core/workflows/ai-integration-phase.md": "164ed8e703474267",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "97877a45e3689b5f",
"gsd-core/workflows/audit-uat.md": "e11db0d74c2a7405",
"gsd-core/workflows/autonomous.md": "b26d23f3eb102969",
"gsd-core/workflows/check-todos.md": "166cc8d4f308b064",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "02eb79bb83321034",
"gsd-core/workflows/code-review.md": "0781664b59c27fd3",
"gsd-core/workflows/complete-milestone.md": "c3798c50670f6801",
"gsd-core/workflows/debug.md": "5050e2771e837615",
"gsd-core/workflows/diagnose-issues.md": "4a22064390778eab",
"gsd-core/workflows/discovery-phase.md": "89a3084e40430039",
"gsd-core/workflows/discuss-phase-assumptions.md": "b22d4c158b8a217e",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "df56c8cd170b2150",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "ecdb88a9aa70d5bf",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "b62c9085d4dc2963",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "97a456ceda9d4513",
"gsd-core/workflows/docs-update.md": "7a0be3529a99b11f",
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
"gsd-core/workflows/eval-review.md": "02cefe2dbdd0af52",
"gsd-core/workflows/execute-phase.md": "4bc5300e8b3aa889",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "d2020c5e01c7bd7f",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "da0c2286b1aed11d",
"gsd-core/workflows/explore.md": "9348b54b526b8938",
"gsd-core/workflows/extract-learnings.md": "13929ce8a04013e0",
"gsd-core/workflows/fast.md": "41a6568b873aef99",
"gsd-core/workflows/forensics.md": "c01da0178fb97b21",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "a0ec33a0401a4dbe",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "d15064afbbd07067",
"gsd-core/workflows/help/modes/topic.md": "6e42db16f1568be9",
"gsd-core/workflows/import.md": "6d9f45d10ac15d3e",
"gsd-core/workflows/inbox.md": "e47920b4495b019a",
"gsd-core/workflows/ingest-docs.md": "36da388c7bb5b36d",
"gsd-core/workflows/insert-phase.md": "964ca91863a8749a",
"gsd-core/workflows/list-phase-assumptions.md": "2a6b6a5acfb7742c",
"gsd-core/workflows/list-seeds.md": "5a46337f55ae8453",
"gsd-core/workflows/list-workspaces.md": "418570fbc8b938da",
"gsd-core/workflows/manager.md": "441d052077bee516",
"gsd-core/workflows/map-codebase.md": "1997d3da64546ebd",
"gsd-core/workflows/milestone-summary.md": "ad8e69fcb3463ce4",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "5f418c8e37e485d3",
"gsd-core/workflows/new-project.md": "6d845574ed6f7d80",
"gsd-core/workflows/new-workspace.md": "63ab4cb51ad88df4",
"gsd-core/workflows/next.md": "f6aeff5f3f9fea15",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "42b66686b2c102cb",
"gsd-core/workflows/onboard.md": "0f0af11294d31715",
"gsd-core/workflows/pause-work.md": "5716362557f44ce4",
"gsd-core/workflows/plan-milestone-gaps.md": "1b43d12812f7bc1e",
"gsd-core/workflows/plan-phase.md": "52940b65ba6655b8",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "ddfd8e3ba2bdd974",
"gsd-core/workflows/plant-seed.md": "3dd79b65ad08e456",
"gsd-core/workflows/pr-branch.md": "ab157cd8e49621dd",
"gsd-core/workflows/profile-user.md": "84fff69a630033ed",
"gsd-core/workflows/progress.md": "1b56219777ea078c",
"gsd-core/workflows/quick.md": "adc8f6f22db5482e",
"gsd-core/workflows/reapply-patches.md": "ba9406b60f2c4041",
"gsd-core/workflows/remove-phase.md": "ada8a0546c686483",
"gsd-core/workflows/remove-workspace.md": "015cde237c75be39",
"gsd-core/workflows/resume-project.md": "7f8dc986f0f35d96",
"gsd-core/workflows/review.md": "9f271477cf84c34b",
"gsd-core/workflows/scan.md": "6b49ce7bcc615145",
"gsd-core/workflows/secure-phase.md": "93565460878833d6",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "339def28c34b0797",
"gsd-core/workflows/settings-integrations.md": "9c9db643112b2371",
"gsd-core/workflows/settings.md": "d3f05e22f21bfb3a",
"gsd-core/workflows/ship.md": "8fdad757ea7512f1",
"gsd-core/workflows/sketch-wrap-up.md": "121ed4b8127abf04",
"gsd-core/workflows/sketch.md": "ac7a5265c6970bdf",
"gsd-core/workflows/smart-entry.md": "99c73236890605a1",
"gsd-core/workflows/spec-phase.md": "d935df4ab9dd4f7c",
"gsd-core/workflows/spike-wrap-up.md": "e2704024992b3fee",
"gsd-core/workflows/spike.md": "a5b1e3c15271f21e",
"gsd-core/workflows/stats.md": "e7852c5d8f2b05a9",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "3b2c560d7189576d",
"gsd-core/workflows/transition.md": "fb35a3de7feaa056",
"gsd-core/workflows/ui-phase.md": "01c47ee2137ae445",
"gsd-core/workflows/ui-review.md": "32605a52b3dd47b3",
"gsd-core/workflows/ultraplan-phase.md": "328664400a001fd5",
"gsd-core/workflows/undo.md": "894deb5d28769ac9",
"gsd-core/workflows/update.md": "c4518a3d865a19cd",
"gsd-core/workflows/validate-phase.md": "7a5c50a462022479",
"gsd-core/workflows/verify-phase.md": "b8cca6ef3be502b9",
"gsd-core/workflows/verify-work.md": "e63397816868c9e3",
"hooks/gsd-check-update-worker.js": "a530efdb5fdc0da3",
"hooks/gsd-check-update.js": "25cde66a12d6b886",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "f2ac6a1033d140de",
"hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71",
"hooks/gsd-cursor-pre-tool.js": "8cb8e8f895edaec9",
"hooks/gsd-cursor-session-start.js": "c78754e3516853e4",
"hooks/gsd-cursor-stop.js": "c46dc9be21b75f50",
"hooks/gsd-cursor-subagent-start.js": "ec1ea84a9a589b0a",
"hooks/gsd-cursor-subagent-stop.js": "8ee488d826bf3c37",
"hooks/gsd-ensure-canonical-path.js": "b4b3b88a0e493b16",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "18b32bb7401058da",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "bc03b97ef19328c0",
"hooks/gsd-update-banner.js": "b457746cb76c1957",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "41c59d9765ac36ae",
"hooks/gsd-worktree-path-guard.js": "f65356c80c9805b2",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "1d955ec5d64e8a5f",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "6661195a66f25ae8",
"skills/gsd-ai-integration-phase/SKILL.md": "e58f7e9b779b8cee",
"skills/gsd-audit-fix/SKILL.md": "d47c757ad361e503",
"skills/gsd-audit-milestone/SKILL.md": "edb6a0cc6305d724",
"skills/gsd-audit-uat/SKILL.md": "f3cb11adb6dab54f",
"skills/gsd-autonomous/SKILL.md": "fb57d2c08ea9e8bc",
"skills/gsd-capture/SKILL.md": "05fa421c95fbad2d",
"skills/gsd-cleanup/SKILL.md": "ea0ddedf403f309d",
"skills/gsd-code-review/SKILL.md": "051da89e9f09932a",
"skills/gsd-complete-milestone/SKILL.md": "f6799a5a713be7bb",
"skills/gsd-config/SKILL.md": "f830f8c9887064de",
"skills/gsd-debug/SKILL.md": "42de44884d97d86d",
"skills/gsd-discuss-phase/SKILL.md": "99e764f6fb1f5dd4",
"skills/gsd-docs-update/SKILL.md": "3d41e81ec571de60",
"skills/gsd-eval-review/SKILL.md": "b6b6059061388363",
"skills/gsd-execute-phase/SKILL.md": "cd7d2b134924d57b",
"skills/gsd-explore/SKILL.md": "7ee5c455f37093be",
"skills/gsd-extract-learnings/SKILL.md": "8d38e55e5f8b774b",
"skills/gsd-fast/SKILL.md": "5f3f8b0c3f564d14",
"skills/gsd-forensics/SKILL.md": "4ef11f4cf902186f",
"skills/gsd-graphify/SKILL.md": "20804d74e63f594d",
"skills/gsd-health/SKILL.md": "ab21123ba99ec255",
"skills/gsd-help/SKILL.md": "503130b761263411",
"skills/gsd-import/SKILL.md": "e0c88bc1ceed0dd2",
"skills/gsd-inbox/SKILL.md": "d05a099c0be02c60",
"skills/gsd-ingest-docs/SKILL.md": "eb85e654917a503a",
"skills/gsd-manager/SKILL.md": "1370d93741e47828",
"skills/gsd-map-codebase/SKILL.md": "cf65e61890448285",
"skills/gsd-mempalace-capture/SKILL.md": "175c5441158a0a9c",
"skills/gsd-mempalace-recall/SKILL.md": "c3f412d5a64f3921",
"skills/gsd-milestone-summary/SKILL.md": "33d51a325d314f3a",
"skills/gsd-mvp-phase/SKILL.md": "f9a1348c6c297579",
"skills/gsd-new-milestone/SKILL.md": "24c97f2814d30501",
"skills/gsd-new-project/SKILL.md": "e4d930027074d3b6",
"skills/gsd-next/SKILL.md": "13e394affe675498",
"skills/gsd-ns-context/SKILL.md": "3102e7ad9b60f182",
"skills/gsd-ns-ideate/SKILL.md": "c2c129408a046d22",
"skills/gsd-ns-manage/SKILL.md": "8d786e01fa28a7bb",
"skills/gsd-ns-project/SKILL.md": "76c77b121ad68b6c",
"skills/gsd-ns-review/SKILL.md": "4111ea56e820479f",
"skills/gsd-ns-workflow/SKILL.md": "4282c40a5e6e8bbe",
"skills/gsd-onboard/SKILL.md": "46460b479b7524bf",
"skills/gsd-pause-work/SKILL.md": "35e8a148e44f5361",
"skills/gsd-phase/SKILL.md": "00be96e7ae36c6f0",
"skills/gsd-plan-phase/SKILL.md": "295e3211497cb5a8",
"skills/gsd-plan-review-convergence/SKILL.md": "53242a6abe90c405",
"skills/gsd-pr-branch/SKILL.md": "c5e26f2c6dff1355",
"skills/gsd-profile-user/SKILL.md": "894eb2850ecd2dde",
"skills/gsd-progress/SKILL.md": "9b288501db99c7ea",
"skills/gsd-quick/SKILL.md": "bd5e4cb79bc41611",
"skills/gsd-resume-work/SKILL.md": "e23d2fb963d47d04",
"skills/gsd-review-backlog/SKILL.md": "1708aab6cb919223",
"skills/gsd-review/SKILL.md": "17cf20dd9a4796ff",
"skills/gsd-secure-phase/SKILL.md": "a6adf4729b606d5a",
"skills/gsd-settings/SKILL.md": "6d9fbddb0b00fd46",
"skills/gsd-ship/SKILL.md": "9f7929947aac3c27",
"skills/gsd-sketch/SKILL.md": "e531174c131acc85",
"skills/gsd-spec-phase/SKILL.md": "7e4dfa2070b7d9d1",
"skills/gsd-spike/SKILL.md": "04d5f50d8d4a1c1a",
"skills/gsd-stats/SKILL.md": "5403a46852241fa8",
"skills/gsd-surface/SKILL.md": "4b9c977a74a975ed",
"skills/gsd-thread/SKILL.md": "a76c70c368f82dee",
"skills/gsd-ui-phase/SKILL.md": "7c9404102a9b9d74",
"skills/gsd-ui-review/SKILL.md": "ef8f643abff1486b",
"skills/gsd-ultraplan-phase/SKILL.md": "a6c5aeacfa9bcbf1",
"skills/gsd-undo/SKILL.md": "0ad1218f55c94e4b",
"skills/gsd-update/SKILL.md": "25328e1ae7b51c98",
"skills/gsd-validate-phase/SKILL.md": "70375e2381319d2b",
"skills/gsd-verify-work/SKILL.md": "7ab3c2c1d008abd6",
"skills/gsd-workspace/SKILL.md": "047c3f4247bc869e",
"skills/gsd-workstreams/SKILL.md": "f4e54cb9b1ca0442"
}

View File

@@ -1,418 +0,0 @@
{
".agents/AGENTS.md": "4393766ace757e9d",
".clinerules/gsd.md": "d72c089c31c1fef3",
".clinerules/hooks/PreToolUse": "7271c83ab8a80911",
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "267b26d00031ac1f",
"agents/gsd-advisor-researcher.md": "e5be2680b690c198",
"agents/gsd-ai-researcher.md": "49ebcbe6985b86c9",
"agents/gsd-assumptions-analyzer.md": "b3219da6b194fdef",
"agents/gsd-code-fixer.md": "6aa74a2fb2ad244a",
"agents/gsd-code-reviewer.md": "e5ec12d4d409e800",
"agents/gsd-codebase-mapper.md": "efedbf9228fc9dc6",
"agents/gsd-debug-session-manager.md": "a9142cfb9932383d",
"agents/gsd-debugger.md": "427daaf994a596ba",
"agents/gsd-doc-classifier.md": "5011d7358d2b2848",
"agents/gsd-doc-synthesizer.md": "e59cdd669876582d",
"agents/gsd-doc-verifier.md": "b60290c9d9f6d8d2",
"agents/gsd-doc-writer.md": "27655a8cfdeb97ee",
"agents/gsd-domain-researcher.md": "0fecdaea86466a56",
"agents/gsd-eval-auditor.md": "36c44303085df2f8",
"agents/gsd-eval-planner.md": "3ddea88a69b4da3f",
"agents/gsd-executor.md": "b7270d3e755f6058",
"agents/gsd-framework-selector.md": "564669d479433f15",
"agents/gsd-integration-checker.md": "1bbbdd3d420b994e",
"agents/gsd-intel-updater.md": "42c40fffbc720d0b",
"agents/gsd-mempalace-curator.md": "78f4894a9d5f44b1",
"agents/gsd-nyquist-auditor.md": "4f9bba7b9762835d",
"agents/gsd-pattern-mapper.md": "b526065fd2efa19c",
"agents/gsd-phase-researcher.md": "c507db2ba66038f4",
"agents/gsd-plan-checker.md": "70ccc072a52cc4ce",
"agents/gsd-planner.md": "4aaa7d9fab92a01e",
"agents/gsd-project-researcher.md": "049f816c6caa4316",
"agents/gsd-research-synthesizer.md": "2f7dcbff50371d4c",
"agents/gsd-roadmapper.md": "bbb23d3097911516",
"agents/gsd-security-auditor.md": "38935b2d0c532c29",
"agents/gsd-ui-auditor.md": "9338efa31b9b7b99",
"agents/gsd-ui-checker.md": "151d12b4e007cbbf",
"agents/gsd-ui-researcher.md": "1bb303f3a3c4dfc9",
"agents/gsd-user-profiler.md": "622220df0654b6bf",
"agents/gsd-verifier.md": "403502d1071ef8df",
"gsd-core/.gsd-runtime": "98d4891544955482",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "476aa24e8c4f03cf",
"gsd-core/bin/gsd-tools.cjs": "44fca1b82643e3ad",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "59f782556e4e611f",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "f66fb7d5b435682d",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "20caa988a2bca07a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "63521aea0206d4ac",
"gsd-core/references/debugger-fix-acceptance.md": "1057d70f7f2d654a",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "98872822b7f1ef08",
"gsd-core/references/debugger-sbfl.md": "6e4975ee50973c23",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "e9582246dbc617e0",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "742bb890af014c87",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "f5403e1470e46e69",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "07544d9a957fc2ca",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "1794ad3d9854129e",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "0519ef5438b2ed30",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "e469016f2d51b5bc",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "fe89ba623a93d84b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "76b9d6526741fd0e",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "987c665ef6c15e73",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "be4f9fe09213210b",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "19340c1a3be74ad2",
"gsd-core/references/worktree-branch-check.md": "f99ec1acb76014f5",
"gsd-core/references/worktree-path-safety.md": "8e5b4d542d2d9853",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "004c355d4b02b145",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "c9fea2d8afa17d80",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "988307dc093216d1",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "6c4393113fa9d209",
"gsd-core/workflows/add-phase.md": "2558614a81b9e977",
"gsd-core/workflows/add-tests.md": "0dd47f73dd3ca32a",
"gsd-core/workflows/add-todo.md": "13a465fa41ba5aec",
"gsd-core/workflows/ai-integration-phase.md": "670b0a143b1ccf98",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "3db85a39cd17e98c",
"gsd-core/workflows/audit-milestone.md": "cdccd915ab3b0369",
"gsd-core/workflows/audit-uat.md": "1fb7b2ab9d587c8f",
"gsd-core/workflows/autonomous.md": "dbdbc526853b4a7f",
"gsd-core/workflows/check-todos.md": "5f6b887a365ce692",
"gsd-core/workflows/cleanup.md": "6ed44dc47fd9972b",
"gsd-core/workflows/code-review-fix.md": "a0847c55a6e295b9",
"gsd-core/workflows/code-review.md": "7c6d960f104c34c5",
"gsd-core/workflows/complete-milestone.md": "85be65035bcd4e41",
"gsd-core/workflows/debug.md": "3c669867e6306b22",
"gsd-core/workflows/diagnose-issues.md": "873902ec4e4bf869",
"gsd-core/workflows/discovery-phase.md": "0fa751163960abc2",
"gsd-core/workflows/discuss-phase-assumptions.md": "710c72d4e7187e8a",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "a290d5ee19607bb7",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "250de9aae90daebc",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d6392f268422768c",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "1b26642897eebb36",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "e38583ffc6743580",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "6b3cad91b3bd1419",
"gsd-core/workflows/docs-update.md": "5f953a0d4c0f3cad",
"gsd-core/workflows/edit-phase.md": "9c9fadc047c61d74",
"gsd-core/workflows/eval-review.md": "f67caf4dba0586d1",
"gsd-core/workflows/execute-phase.md": "b8c122c15467a6d8",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "1b3558cb8f41b65a",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "e01459552d587863",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "35612890c1173577",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "26825e1aacf224d0",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "204a0ac94a4bb545",
"gsd-core/workflows/explore.md": "db9e1a79dbe88090",
"gsd-core/workflows/extract-learnings.md": "9a39a7b2b7592141",
"gsd-core/workflows/fast.md": "e4f74a454b6ca5e8",
"gsd-core/workflows/forensics.md": "9fc65a8eed5d8bfc",
"gsd-core/workflows/graduation.md": "68d83a47e9cfaa7a",
"gsd-core/workflows/health.md": "ac50e6c68edc2667",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "86f7a14ad06e2f6f",
"gsd-core/workflows/help/modes/full.md": "602610e03d46f391",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "df36af1592df5e70",
"gsd-core/workflows/inbox.md": "2e584f45e52f26f5",
"gsd-core/workflows/ingest-docs.md": "1ca9c5c3f14a7afb",
"gsd-core/workflows/insert-phase.md": "147f0009ec74b589",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "25050c5e1b2b7176",
"gsd-core/workflows/list-workspaces.md": "8f0707ecbc395856",
"gsd-core/workflows/manager.md": "2988de4db361ceae",
"gsd-core/workflows/map-codebase.md": "b928e6525dc9ad03",
"gsd-core/workflows/milestone-summary.md": "20e56b9e3902e1d2",
"gsd-core/workflows/mvp-phase.md": "a95d43689a43163c",
"gsd-core/workflows/new-milestone.md": "1ec5c9ad4c611b02",
"gsd-core/workflows/new-project.md": "276ced215e4508e0",
"gsd-core/workflows/new-workspace.md": "dc67033c5ad37f97",
"gsd-core/workflows/next.md": "090a6db8989952dd",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "3530607514b0ac00",
"gsd-core/workflows/plan-milestone-gaps.md": "bafdc6945cd2bd87",
"gsd-core/workflows/plan-phase.md": "36c8d7bf34528c6c",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "4b0a2cb0f4f28179",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "090c31e22b1508fe",
"gsd-core/workflows/plan-review-convergence.md": "47193d4e29b3f64a",
"gsd-core/workflows/plant-seed.md": "94b54ead506385d3",
"gsd-core/workflows/pr-branch.md": "9923878a4f6a2d91",
"gsd-core/workflows/profile-user.md": "4c51320e7caa09ca",
"gsd-core/workflows/progress.md": "53b4310b873d233e",
"gsd-core/workflows/quick.md": "ee587f96e9f5b8fa",
"gsd-core/workflows/reapply-patches.md": "eb4272145a117904",
"gsd-core/workflows/remove-phase.md": "e336350f8113a328",
"gsd-core/workflows/remove-workspace.md": "79d3669cc9eb0b10",
"gsd-core/workflows/resume-project.md": "e23981178fa37b3d",
"gsd-core/workflows/review.md": "9f7d0f99ed40205b",
"gsd-core/workflows/scan.md": "d54e06f1ae992358",
"gsd-core/workflows/secure-phase.md": "81df9857cf75e0f3",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "69f3a19bf2c61160",
"gsd-core/workflows/settings-integrations.md": "a2682897e663fec4",
"gsd-core/workflows/settings.md": "17a5de032a64eb22",
"gsd-core/workflows/ship.md": "c95e39057dab8c51",
"gsd-core/workflows/sketch-wrap-up.md": "1f44789553180d84",
"gsd-core/workflows/sketch.md": "fadc2cbe6763c010",
"gsd-core/workflows/smart-entry.md": "22ef18e897b67907",
"gsd-core/workflows/spec-phase.md": "641208ed90684364",
"gsd-core/workflows/spike-wrap-up.md": "846958e0012a0899",
"gsd-core/workflows/spike.md": "94dd22a21565921c",
"gsd-core/workflows/stats.md": "f9241bb65770c5a4",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "d71b1e815925c5cc",
"gsd-core/workflows/transition.md": "6fa9751b097a3f52",
"gsd-core/workflows/ui-phase.md": "a0055dc46901a28a",
"gsd-core/workflows/ui-review.md": "d4971d478d48c0cb",
"gsd-core/workflows/ultraplan-phase.md": "ceff456b1e9d94d8",
"gsd-core/workflows/undo.md": "8de0e036f58d9b17",
"gsd-core/workflows/update.md": "d8fb48b56d2196c0",
"gsd-core/workflows/validate-phase.md": "23930a6e44c90b90",
"gsd-core/workflows/verify-phase.md": "a8b3c15e7ef9c394",
"gsd-core/workflows/verify-work.md": "a086b73034a72c90",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-ns-context/SKILL.md": "e278a50f3ecb8f56",
"skills/gsd-ns-context/skills/docs-update/SKILL.md": "d150afd41a25ec08",
"skills/gsd-ns-context/skills/extract-learnings/SKILL.md": "d39269bea995fabc",
"skills/gsd-ns-context/skills/graphify/SKILL.md": "030050fcd08d129d",
"skills/gsd-ns-context/skills/map-codebase/SKILL.md": "fa6a37402430af7d",
"skills/gsd-ns-context/skills/mempalace-capture/SKILL.md": "0f8eae8ef21ea89a",
"skills/gsd-ns-context/skills/mempalace-recall/SKILL.md": "2d95e385fee26dee",
"skills/gsd-ns-ideate/SKILL.md": "c10342345c01c91f",
"skills/gsd-ns-ideate/skills/capture/SKILL.md": "fb53053848bb6695",
"skills/gsd-ns-ideate/skills/explore/SKILL.md": "d8e26a5ed95a4ecc",
"skills/gsd-ns-ideate/skills/sketch/SKILL.md": "e52cfc46eeb203c2",
"skills/gsd-ns-ideate/skills/spec-phase/SKILL.md": "19726b83ca2c3d2d",
"skills/gsd-ns-ideate/skills/spike/SKILL.md": "d407644a84678e58",
"skills/gsd-ns-manage/SKILL.md": "0f4fb6d2f96ed7e9",
"skills/gsd-ns-manage/skills/cleanup/SKILL.md": "a578d6536b9cabc3",
"skills/gsd-ns-manage/skills/config/SKILL.md": "bcc58a5b17d29e82",
"skills/gsd-ns-manage/skills/health/SKILL.md": "74a68e1c1b310bef",
"skills/gsd-ns-manage/skills/help/SKILL.md": "8d01c91265b6357f",
"skills/gsd-ns-manage/skills/inbox/SKILL.md": "34370c6138415209",
"skills/gsd-ns-manage/skills/manager/SKILL.md": "a37ecdbe32952262",
"skills/gsd-ns-manage/skills/pause-work/SKILL.md": "da59910491639404",
"skills/gsd-ns-manage/skills/pr-branch/SKILL.md": "c25b5a3e31ab6f74",
"skills/gsd-ns-manage/skills/resume-work/SKILL.md": "5f0d4d0e86b99180",
"skills/gsd-ns-manage/skills/settings/SKILL.md": "67eff2d16e17403c",
"skills/gsd-ns-manage/skills/ship/SKILL.md": "4ad9695934e069ee",
"skills/gsd-ns-manage/skills/stats/SKILL.md": "25898070fb2a4b20",
"skills/gsd-ns-manage/skills/surface/SKILL.md": "a89b3bde1d2b620a",
"skills/gsd-ns-manage/skills/thread/SKILL.md": "67b5a0451b58c50c",
"skills/gsd-ns-manage/skills/undo/SKILL.md": "88407c6379617c7b",
"skills/gsd-ns-manage/skills/update/SKILL.md": "2666ab7786b69017",
"skills/gsd-ns-manage/skills/workspace/SKILL.md": "c2616b157ec2350b",
"skills/gsd-ns-manage/skills/workstreams/SKILL.md": "737841783c7fdd4f",
"skills/gsd-ns-project/SKILL.md": "fac77a9e770fd655",
"skills/gsd-ns-project/skills/audit-milestone/SKILL.md": "739ed755ad84e58e",
"skills/gsd-ns-project/skills/complete-milestone/SKILL.md": "a69d534b385d6aaf",
"skills/gsd-ns-project/skills/import/SKILL.md": "bc9b615cb141d26f",
"skills/gsd-ns-project/skills/ingest-docs/SKILL.md": "8fce43ae1144b8c3",
"skills/gsd-ns-project/skills/milestone-summary/SKILL.md": "e3636a5e9bbaab1f",
"skills/gsd-ns-project/skills/new-milestone/SKILL.md": "bc8989d97f3161ad",
"skills/gsd-ns-project/skills/new-project/SKILL.md": "ff0d57491df30624",
"skills/gsd-ns-project/skills/onboard/SKILL.md": "56c34282575926d4",
"skills/gsd-ns-project/skills/profile-user/SKILL.md": "0406eed4dbd9560c",
"skills/gsd-ns-project/skills/review-backlog/SKILL.md": "d8a150558cc9326a",
"skills/gsd-ns-review/SKILL.md": "c5afe33c212947dd",
"skills/gsd-ns-review/skills/audit-fix/SKILL.md": "2c1f601f2fb52585",
"skills/gsd-ns-review/skills/audit-uat/SKILL.md": "2c450432b6fd1c3e",
"skills/gsd-ns-review/skills/code-review/SKILL.md": "2d615701a36de114",
"skills/gsd-ns-review/skills/debug/SKILL.md": "2017ee8a5c39357a",
"skills/gsd-ns-review/skills/eval-review/SKILL.md": "c76022e94ee30cb1",
"skills/gsd-ns-review/skills/forensics/SKILL.md": "bbab359eaa388d34",
"skills/gsd-ns-review/skills/review/SKILL.md": "befdc84f5a0acf03",
"skills/gsd-ns-review/skills/secure-phase/SKILL.md": "ceded474164b4e2d",
"skills/gsd-ns-review/skills/ui-phase/SKILL.md": "c35f175ccc747d56",
"skills/gsd-ns-review/skills/ui-review/SKILL.md": "48267dc071481a89",
"skills/gsd-ns-review/skills/validate-phase/SKILL.md": "62dc6ae62bb38c16",
"skills/gsd-ns-workflow/SKILL.md": "0cb9c23c065fe448",
"skills/gsd-ns-workflow/skills/add-tests/SKILL.md": "addc3a220961a9c7",
"skills/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "0b1553cb7f4c8f7a",
"skills/gsd-ns-workflow/skills/autonomous/SKILL.md": "37dc7b78ceb74803",
"skills/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "fedb2e2c77ff82ae",
"skills/gsd-ns-workflow/skills/execute-phase/SKILL.md": "e249a35959e49e99",
"skills/gsd-ns-workflow/skills/fast/SKILL.md": "3eae6536d09c2532",
"skills/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "6c2beccceb46fda1",
"skills/gsd-ns-workflow/skills/next/SKILL.md": "3856471d0f64bf09",
"skills/gsd-ns-workflow/skills/phase/SKILL.md": "4e1363db6013a1e5",
"skills/gsd-ns-workflow/skills/plan-phase/SKILL.md": "90d3631e4ed4204f",
"skills/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "a7be67e1bd14b5fb",
"skills/gsd-ns-workflow/skills/progress/SKILL.md": "493f467c22d55b6b",
"skills/gsd-ns-workflow/skills/quick/SKILL.md": "605e596c680cbb1c",
"skills/gsd-ns-workflow/skills/spec-phase/SKILL.md": "19726b83ca2c3d2d",
"skills/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "8606e89121ffaba3",
"skills/gsd-ns-workflow/skills/verify-work/SKILL.md": "584a3485842de0a4"
}

View File

@@ -1,514 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "3abafed57651459c",
"agents/gsd-advisor-researcher.md": "e5be2680b690c198",
"agents/gsd-ai-researcher.md": "93ca6e24f4fd3681",
"agents/gsd-assumptions-analyzer.md": "b3219da6b194fdef",
"agents/gsd-code-fixer.md": "1cf3a9fdade9a470",
"agents/gsd-code-reviewer.md": "5342fcc0da974696",
"agents/gsd-codebase-mapper.md": "0c8f04c738c20a29",
"agents/gsd-debug-session-manager.md": "9f9606259531abf6",
"agents/gsd-debugger.md": "e454548710419254",
"agents/gsd-doc-classifier.md": "c2bf59af9467810b",
"agents/gsd-doc-synthesizer.md": "b2a179bf3c9bd636",
"agents/gsd-doc-verifier.md": "e74d930905a782ea",
"agents/gsd-doc-writer.md": "ed5678dd38c83716",
"agents/gsd-domain-researcher.md": "1c1a800108a2b225",
"agents/gsd-eval-auditor.md": "99012004b14ea602",
"agents/gsd-eval-planner.md": "4ebdd7fe9cbb0cfe",
"agents/gsd-executor.md": "5c9d4b46c025a8af",
"agents/gsd-framework-selector.md": "7726fccc86bfeb50",
"agents/gsd-integration-checker.md": "2d8339790bbb2dc3",
"agents/gsd-intel-updater.md": "c51339956197cbd3",
"agents/gsd-mempalace-curator.md": "78f4894a9d5f44b1",
"agents/gsd-nyquist-auditor.md": "42676eea063d2ec5",
"agents/gsd-pattern-mapper.md": "92cfa2e6c2a06bf3",
"agents/gsd-phase-researcher.md": "6338474da1a5d65e",
"agents/gsd-plan-checker.md": "3fdccb7353c69340",
"agents/gsd-planner.md": "c482d13228f2efd8",
"agents/gsd-project-researcher.md": "e43c59f7f1f2f37a",
"agents/gsd-research-synthesizer.md": "87955470c3c129b2",
"agents/gsd-roadmapper.md": "20b69eff61a7a9fa",
"agents/gsd-security-auditor.md": "bcd9c4859eb5b448",
"agents/gsd-ui-auditor.md": "a26bbc733817959b",
"agents/gsd-ui-checker.md": "25822359044cd708",
"agents/gsd-ui-researcher.md": "e37d9f53ade25d1f",
"agents/gsd-user-profiler.md": "622220df0654b6bf",
"agents/gsd-verifier.md": "107ad9d3193bcafc",
"commands/gsd-add-tests.md": "aa65032141557fb7",
"commands/gsd-ai-integration-phase.md": "6199b7198f928adc",
"commands/gsd-audit-fix.md": "c21ef925131fade7",
"commands/gsd-audit-milestone.md": "accbb975f85df506",
"commands/gsd-audit-uat.md": "f34f9d211780c8e7",
"commands/gsd-autonomous.md": "b2ddf4f71008055a",
"commands/gsd-capture.md": "73066649385d6a30",
"commands/gsd-cleanup.md": "15c306114555468e",
"commands/gsd-code-review.md": "fb1fee97d4ce7aa7",
"commands/gsd-complete-milestone.md": "42b9f738a6ef27bb",
"commands/gsd-config.md": "d2ca72138eb3e185",
"commands/gsd-debug.md": "279b3814e35e57e1",
"commands/gsd-discuss-phase.md": "b0e66df97b3d35b4",
"commands/gsd-docs-update.md": "0bd04559e7daaf8f",
"commands/gsd-eval-review.md": "5c0bf98aee70535f",
"commands/gsd-execute-phase.md": "4c2e81399876492a",
"commands/gsd-explore.md": "8a59d0d0ea3daebd",
"commands/gsd-extract-learnings.md": "727feb914d501f1a",
"commands/gsd-fast.md": "79bf42c66008a6db",
"commands/gsd-forensics.md": "f068866c568749a4",
"commands/gsd-graphify.md": "5e0efaed49aa8384",
"commands/gsd-health.md": "60c111036afc00d2",
"commands/gsd-help.md": "1a617e1b8e383b73",
"commands/gsd-import.md": "00e560b7e4b85523",
"commands/gsd-inbox.md": "eecfcfff57f89975",
"commands/gsd-ingest-docs.md": "ab3e58239c23d61d",
"commands/gsd-manager.md": "bfe9e261fa918876",
"commands/gsd-map-codebase.md": "5093093d42240325",
"commands/gsd-mempalace-capture.md": "abe0eb543cedb9fb",
"commands/gsd-mempalace-recall.md": "6efef238d8c62569",
"commands/gsd-milestone-summary.md": "e3a36fbd695a1833",
"commands/gsd-mvp-phase.md": "671791ba61c4654a",
"commands/gsd-new-milestone.md": "288fa7dfcec18094",
"commands/gsd-new-project.md": "490195d5003d3d17",
"commands/gsd-next.md": "dbec71acc9d5d2a2",
"commands/gsd-ns-context.md": "cc8954f405ae7916",
"commands/gsd-ns-ideate.md": "fd1dd80d705e6e36",
"commands/gsd-ns-manage.md": "5cc012d0be1caabb",
"commands/gsd-ns-project.md": "76672fae61723e55",
"commands/gsd-ns-review.md": "a28dbfd4aba5f74b",
"commands/gsd-ns-workflow.md": "a1b874be9cf16caf",
"commands/gsd-onboard.md": "63283b90aa671229",
"commands/gsd-pause-work.md": "6caa75a7c2b4dd2d",
"commands/gsd-phase.md": "e3ca4958ea20a935",
"commands/gsd-plan-phase.md": "4646767cfd0c240a",
"commands/gsd-plan-review-convergence.md": "da885320edff822b",
"commands/gsd-pr-branch.md": "f5be514b9f69eaf5",
"commands/gsd-profile-user.md": "7a9289910719d828",
"commands/gsd-progress.md": "80f75f428fc0949d",
"commands/gsd-quick.md": "8585535a111660d1",
"commands/gsd-resume-work.md": "9c4ee571a15fefae",
"commands/gsd-review-backlog.md": "41ee0337839b8e9d",
"commands/gsd-review.md": "763f91f5f823fa3a",
"commands/gsd-secure-phase.md": "6daf0c899069ab74",
"commands/gsd-settings.md": "57edae813aae049c",
"commands/gsd-ship.md": "9190bbab8119a365",
"commands/gsd-sketch.md": "4013cb35a4a800be",
"commands/gsd-spec-phase.md": "145f2ab750344022",
"commands/gsd-spike.md": "54c094f40b601688",
"commands/gsd-stats.md": "60f7077e7949d2ad",
"commands/gsd-surface.md": "84d89b840d00b7f0",
"commands/gsd-thread.md": "07da4f657b3efcc1",
"commands/gsd-ui-phase.md": "3b90f3d1c8fa531d",
"commands/gsd-ui-review.md": "4e5fb1e77def9b64",
"commands/gsd-ultraplan-phase.md": "728a2e57e10e6179",
"commands/gsd-undo.md": "a52c89b888e6c1b7",
"commands/gsd-update.md": "58bc4232c21a74ba",
"commands/gsd-validate-phase.md": "a735abb7db023543",
"commands/gsd-verify-work.md": "6edbbb82a1f2aea7",
"commands/gsd-workspace.md": "d765ff60cde657a6",
"commands/gsd-workstreams.md": "884b6c8d648422c7",
"gsd-core/.gsd-runtime": "04e9f0f6433d6d58",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6749084395889c6a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "77bf9dff38b2c9d4",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "e067ad3df6770db1",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "ab3b698fe23bab9b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "93d3426fc64e2c12",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "d1d333e4b963c0d2",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1bc7377b105194fc",
"gsd-core/workflows/add-phase.md": "ac43883e2d8e34d8",
"gsd-core/workflows/add-tests.md": "7e7268602f9e1b2a",
"gsd-core/workflows/add-todo.md": "5dc04cfaa0b6b072",
"gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "6174b6f87844973c",
"gsd-core/workflows/audit-uat.md": "fcfbec501620b564",
"gsd-core/workflows/autonomous.md": "aed5e67104346cc2",
"gsd-core/workflows/check-todos.md": "c484e472cff0e4e3",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155",
"gsd-core/workflows/code-review.md": "22b53c0d29508d57",
"gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a",
"gsd-core/workflows/debug.md": "3f0218b051c1afb1",
"gsd-core/workflows/diagnose-issues.md": "8219a1e1213f498e",
"gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858",
"gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "02a5381c9a2173be",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "5502a67de7776853",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "da6d45207da4a988",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "90df4f1fe248cdf3",
"gsd-core/workflows/docs-update.md": "fba7329f525c9463",
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
"gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac",
"gsd-core/workflows/execute-phase.md": "40765d7517891c09",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f7782680c2b8ad6b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "874689d8678e6186",
"gsd-core/workflows/explore.md": "3f3b4f83e23349bc",
"gsd-core/workflows/extract-learnings.md": "ab26f2cbb14efef2",
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
"gsd-core/workflows/forensics.md": "0d500a3f5ab26913",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "c25b5e5f62874c31",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "08a02976c0c5cc50",
"gsd-core/workflows/help/modes/full.md": "56178cea79dd6ffe",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "57abe514a9b0f6ac",
"gsd-core/workflows/inbox.md": "a7d439981775bc29",
"gsd-core/workflows/ingest-docs.md": "781799b47d282b37",
"gsd-core/workflows/insert-phase.md": "08dca838d831bb5b",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "b687f2a843032d65",
"gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453",
"gsd-core/workflows/manager.md": "c18fab593344253d",
"gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf",
"gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "8164a9abc301f143",
"gsd-core/workflows/new-project.md": "f4afb433342e7745",
"gsd-core/workflows/new-workspace.md": "bbeb706c7a697617",
"gsd-core/workflows/next.md": "4e1eb6b46d15798d",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "f2b33bba5593d422",
"gsd-core/workflows/plan-milestone-gaps.md": "852f6d7c0c4299dc",
"gsd-core/workflows/plan-phase.md": "9242c6d8c447afa8",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "49f58c3f75be3eb5",
"gsd-core/workflows/plan-review-convergence.md": "db69460dd4df0d29",
"gsd-core/workflows/plant-seed.md": "9596db80ab282c6f",
"gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b",
"gsd-core/workflows/profile-user.md": "1419f1dad1853da0",
"gsd-core/workflows/progress.md": "46c83ad61b3c4a84",
"gsd-core/workflows/quick.md": "8f54f91ff4b56149",
"gsd-core/workflows/reapply-patches.md": "39050f72601aec89",
"gsd-core/workflows/remove-phase.md": "df9a45f0b1880999",
"gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe",
"gsd-core/workflows/resume-project.md": "f28da1200e4545f4",
"gsd-core/workflows/review.md": "8724993cbc91bcc5",
"gsd-core/workflows/scan.md": "0583dac337623f82",
"gsd-core/workflows/secure-phase.md": "00225810eaed265b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44",
"gsd-core/workflows/settings-integrations.md": "effcef778d4a855f",
"gsd-core/workflows/settings.md": "85ceb482dc713169",
"gsd-core/workflows/ship.md": "ca94c87c80a70c27",
"gsd-core/workflows/sketch-wrap-up.md": "2aba89ecd8f41a0d",
"gsd-core/workflows/sketch.md": "2913d90416a3c0f0",
"gsd-core/workflows/smart-entry.md": "004b4060eab97cb9",
"gsd-core/workflows/spec-phase.md": "fa8669b75392cf6c",
"gsd-core/workflows/spike-wrap-up.md": "2b004744c52e565c",
"gsd-core/workflows/spike.md": "9d189e302ce51694",
"gsd-core/workflows/stats.md": "76a42cbeaf6007c2",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "927e7eeefd2fcf5c",
"gsd-core/workflows/transition.md": "aea486bb7a0e80e7",
"gsd-core/workflows/ui-phase.md": "f93ee056a8b89033",
"gsd-core/workflows/ui-review.md": "387f7cefc849dba1",
"gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d",
"gsd-core/workflows/undo.md": "1712417bade30b30",
"gsd-core/workflows/update.md": "057ac2d783fda3ae",
"gsd-core/workflows/validate-phase.md": "171ff4aa9b392475",
"gsd-core/workflows/verify-phase.md": "d26a2c3269340caf",
"gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81",
"hooks/gsd-check-update-worker.js": "bdc9324a2f080ddd",
"hooks/gsd-check-update.js": "b7669f605631e506",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "8d512ba0b08fc4e3",
"hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
"hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
"hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
"hooks/gsd-cursor-stop.js": "80de723949cee847",
"hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
"hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
"hooks/gsd-ensure-canonical-path.js": "434887487ae63ec5",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "5bea3d3fce675489",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "7cdf1ae0e5b17969",
"hooks/gsd-update-banner.js": "55143a25f978f301",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
"hooks/gsd-worktree-path-guard.js": "a1a3d4618b41a804",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "9c0d837594c7b772",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "60dd7f9779d5f493",
"skills/gsd-ai-integration-phase/SKILL.md": "eb9b5d76d91dd2fe",
"skills/gsd-audit-fix/SKILL.md": "309dcbc406750fd6",
"skills/gsd-audit-milestone/SKILL.md": "1f328f0c7448f27c",
"skills/gsd-audit-uat/SKILL.md": "597d4f8cd0fa5240",
"skills/gsd-autonomous/SKILL.md": "faf243b21954b407",
"skills/gsd-capture/SKILL.md": "6de5ad4b9ea3b599",
"skills/gsd-cleanup/SKILL.md": "fa47be0052de815b",
"skills/gsd-code-review/SKILL.md": "86a9df56bbd7ac7b",
"skills/gsd-complete-milestone/SKILL.md": "a0a9e43312160286",
"skills/gsd-config/SKILL.md": "862626bacdeb9e75",
"skills/gsd-debug/SKILL.md": "ecd7e69309a6e6dc",
"skills/gsd-discuss-phase/SKILL.md": "75fec0c03892505a",
"skills/gsd-docs-update/SKILL.md": "bec33cfc810194d9",
"skills/gsd-eval-review/SKILL.md": "65e26f5ec8ff57cc",
"skills/gsd-execute-phase/SKILL.md": "40e479d06dbd8da4",
"skills/gsd-explore/SKILL.md": "fc2d0fd090e7090d",
"skills/gsd-extract-learnings/SKILL.md": "778faa10f3c33788",
"skills/gsd-fast/SKILL.md": "6c81b52c310d43fa",
"skills/gsd-forensics/SKILL.md": "6c69cbd255d3a33a",
"skills/gsd-graphify/SKILL.md": "579180d7ea6e24cf",
"skills/gsd-health/SKILL.md": "e60400c5acb8248c",
"skills/gsd-help/SKILL.md": "98a2eeba302621d2",
"skills/gsd-import/SKILL.md": "f3d3ad26dfdfbd53",
"skills/gsd-inbox/SKILL.md": "0eb81a1b2e1835d3",
"skills/gsd-ingest-docs/SKILL.md": "2df55e0ec95d57d9",
"skills/gsd-manager/SKILL.md": "816db4d4ed618537",
"skills/gsd-map-codebase/SKILL.md": "b304ec25e9a95c93",
"skills/gsd-mempalace-capture/SKILL.md": "b6aee382ec1a6c2b",
"skills/gsd-mempalace-recall/SKILL.md": "70c8491f53f4161b",
"skills/gsd-milestone-summary/SKILL.md": "9eb030a1ac307fa1",
"skills/gsd-mvp-phase/SKILL.md": "236fcdd69f47d101",
"skills/gsd-new-milestone/SKILL.md": "be371ad30631385e",
"skills/gsd-new-project/SKILL.md": "793f7177d3bd026b",
"skills/gsd-next/SKILL.md": "43c805425b88bf75",
"skills/gsd-ns-context/SKILL.md": "305b9b6248e8cc95",
"skills/gsd-ns-ideate/SKILL.md": "c63a1aed61888b35",
"skills/gsd-ns-manage/SKILL.md": "6a5b711b5103c566",
"skills/gsd-ns-project/SKILL.md": "3711ce904d20ca66",
"skills/gsd-ns-review/SKILL.md": "98f1f3b3caf1a279",
"skills/gsd-ns-workflow/SKILL.md": "b77682820700300b",
"skills/gsd-onboard/SKILL.md": "6ad789a03124cd4f",
"skills/gsd-pause-work/SKILL.md": "e2de20b7539e78d4",
"skills/gsd-phase/SKILL.md": "f87211f779315ced",
"skills/gsd-plan-phase/SKILL.md": "ae3f6a76c08f7782",
"skills/gsd-plan-review-convergence/SKILL.md": "1b1526f5d7a34306",
"skills/gsd-pr-branch/SKILL.md": "87bb3306488565fb",
"skills/gsd-profile-user/SKILL.md": "ee8e8547298006b8",
"skills/gsd-progress/SKILL.md": "88c8229b673004e3",
"skills/gsd-quick/SKILL.md": "b895cb9835f3fc0e",
"skills/gsd-resume-work/SKILL.md": "f8bc8b92dffd07b7",
"skills/gsd-review-backlog/SKILL.md": "c0c743e1376c2eff",
"skills/gsd-review/SKILL.md": "e47c285346aaba06",
"skills/gsd-secure-phase/SKILL.md": "bd36a3157c28df37",
"skills/gsd-settings/SKILL.md": "fbe736decd04a85d",
"skills/gsd-ship/SKILL.md": "8d40fc9f9436d2c3",
"skills/gsd-sketch/SKILL.md": "0686257acc865e0b",
"skills/gsd-spec-phase/SKILL.md": "96a095cd634129d8",
"skills/gsd-spike/SKILL.md": "d4af42b801139876",
"skills/gsd-stats/SKILL.md": "7d1fbadcae5f0b67",
"skills/gsd-surface/SKILL.md": "1b840c8ddd76b9c7",
"skills/gsd-thread/SKILL.md": "18ddd2aa60997949",
"skills/gsd-ui-phase/SKILL.md": "132ccf2ddc9e24e0",
"skills/gsd-ui-review/SKILL.md": "7e8cf0bcee9859cd",
"skills/gsd-ultraplan-phase/SKILL.md": "212a60a2df7bbb71",
"skills/gsd-undo/SKILL.md": "ebaca8bea34afd2e",
"skills/gsd-update/SKILL.md": "fd60247c80431aa9",
"skills/gsd-validate-phase/SKILL.md": "5216ef11d14f109b",
"skills/gsd-verify-work/SKILL.md": "d467197419fdbdf5",
"skills/gsd-workspace/SKILL.md": "7fcacf69b4c07655",
"skills/gsd-workstreams/SKILL.md": "b84ca1f541d6dfd1"
}

View File

@@ -1,451 +0,0 @@
{
".agents/skills/gsd-add-tests/SKILL.md": "77b8cc2260347f34",
".agents/skills/gsd-ai-integration-phase/SKILL.md": "a7d2527fdacdfca8",
".agents/skills/gsd-audit-fix/SKILL.md": "dcf56fbc7dddfa05",
".agents/skills/gsd-audit-milestone/SKILL.md": "5f0c7c1212a1aab9",
".agents/skills/gsd-audit-uat/SKILL.md": "60e3113cd4f79d30",
".agents/skills/gsd-autonomous/SKILL.md": "814575ceee96bf7f",
".agents/skills/gsd-capture/SKILL.md": "24c497365eb1dc88",
".agents/skills/gsd-cleanup/SKILL.md": "a98cf0c1a9cd043f",
".agents/skills/gsd-code-review/SKILL.md": "8d437487fdf22dd8",
".agents/skills/gsd-complete-milestone/SKILL.md": "4db2dfdb992f1ddc",
".agents/skills/gsd-config/SKILL.md": "d461419ef4715e8a",
".agents/skills/gsd-debug/SKILL.md": "0b6f9657b8d951b3",
".agents/skills/gsd-discuss-phase/SKILL.md": "9576325fe81d2fa3",
".agents/skills/gsd-docs-update/SKILL.md": "cb3b313895cb02c2",
".agents/skills/gsd-eval-review/SKILL.md": "0047cb3cf40d1e56",
".agents/skills/gsd-execute-phase/SKILL.md": "2f74b8bf59526a07",
".agents/skills/gsd-explore/SKILL.md": "0114f763a0b23e1b",
".agents/skills/gsd-extract-learnings/SKILL.md": "386a4dc07b1531bb",
".agents/skills/gsd-fast/SKILL.md": "f56a7f5dcd552e1d",
".agents/skills/gsd-forensics/SKILL.md": "8e316475309e0244",
".agents/skills/gsd-graphify/SKILL.md": "89b024ca307dbef2",
".agents/skills/gsd-health/SKILL.md": "6236cb12b1ad87a0",
".agents/skills/gsd-help/SKILL.md": "dcec9a38b65a3fe7",
".agents/skills/gsd-import/SKILL.md": "2bfbdb1d8e968e92",
".agents/skills/gsd-inbox/SKILL.md": "6cb4b0a7d204a57f",
".agents/skills/gsd-ingest-docs/SKILL.md": "89d7a1600280cea0",
".agents/skills/gsd-manager/SKILL.md": "30871970a7f114fd",
".agents/skills/gsd-map-codebase/SKILL.md": "9e8075f7e40f71b0",
".agents/skills/gsd-mempalace-capture/SKILL.md": "90e246d2fcb69742",
".agents/skills/gsd-mempalace-recall/SKILL.md": "af823f0ba710ae9f",
".agents/skills/gsd-milestone-summary/SKILL.md": "bc764a054f502fb9",
".agents/skills/gsd-mvp-phase/SKILL.md": "0510a25c1812c14e",
".agents/skills/gsd-new-milestone/SKILL.md": "6a0f49871aa109ce",
".agents/skills/gsd-new-project/SKILL.md": "2b0ed171caff620f",
".agents/skills/gsd-next/SKILL.md": "e5bbd32e2ddf7898",
".agents/skills/gsd-ns-context/SKILL.md": "701f9c8b888da86d",
".agents/skills/gsd-ns-ideate/SKILL.md": "9d7fadf4e720d0f7",
".agents/skills/gsd-ns-manage/SKILL.md": "7796f26fef6f37ed",
".agents/skills/gsd-ns-project/SKILL.md": "334d912c373dd510",
".agents/skills/gsd-ns-review/SKILL.md": "b8c0e8c006750d9e",
".agents/skills/gsd-ns-workflow/SKILL.md": "74cfe054960e3d3a",
".agents/skills/gsd-onboard/SKILL.md": "405f1bafd7923f63",
".agents/skills/gsd-pause-work/SKILL.md": "035ba2eb44694897",
".agents/skills/gsd-phase/SKILL.md": "fcaf25f68fb69aa9",
".agents/skills/gsd-plan-phase/SKILL.md": "2e32fc011f5a967a",
".agents/skills/gsd-plan-review-convergence/SKILL.md": "d2a06c49143781a7",
".agents/skills/gsd-pr-branch/SKILL.md": "ec4b400d07d513ae",
".agents/skills/gsd-profile-user/SKILL.md": "2121b67e7a15bab5",
".agents/skills/gsd-progress/SKILL.md": "c437575d9db40ec5",
".agents/skills/gsd-quick/SKILL.md": "2903daf3d7a7721d",
".agents/skills/gsd-resume-work/SKILL.md": "ae8d0d364e4253e7",
".agents/skills/gsd-review-backlog/SKILL.md": "e7f1864923ac2364",
".agents/skills/gsd-review/SKILL.md": "7da0004c99fa4bb0",
".agents/skills/gsd-secure-phase/SKILL.md": "c9e188e7245d1737",
".agents/skills/gsd-settings/SKILL.md": "300cd125bcf6ed36",
".agents/skills/gsd-ship/SKILL.md": "a4e4754b1ec4acc1",
".agents/skills/gsd-sketch/SKILL.md": "aeb24dbbb9fdf53b",
".agents/skills/gsd-spec-phase/SKILL.md": "8f83fab7e9bf7cf2",
".agents/skills/gsd-spike/SKILL.md": "c1cf5ac37ab91f5a",
".agents/skills/gsd-stats/SKILL.md": "baf175aeb2ab443d",
".agents/skills/gsd-surface/SKILL.md": "aa799cd1fcd19314",
".agents/skills/gsd-thread/SKILL.md": "dcf2f37027521f34",
".agents/skills/gsd-ui-phase/SKILL.md": "f5566a58fb643a93",
".agents/skills/gsd-ui-review/SKILL.md": "cc4621cf9f34c203",
".agents/skills/gsd-ultraplan-phase/SKILL.md": "a3102b7aa3358374",
".agents/skills/gsd-undo/SKILL.md": "eda2192b937bc7bf",
".agents/skills/gsd-update/SKILL.md": "c6cef6debd103e68",
".agents/skills/gsd-validate-phase/SKILL.md": "0e628cd8455f5127",
".agents/skills/gsd-verify-work/SKILL.md": "7025ea9c3bb18bc4",
".agents/skills/gsd-workspace/SKILL.md": "d7e1436cd4b79c54",
".agents/skills/gsd-workstreams/SKILL.md": "88c2e54d79078ba3",
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "5ca58f5ff7ef0b92",
"agents/gsd-advisor-researcher.md": "eea6d1604aaf305c",
"agents/gsd-advisor-researcher.toml": "144f037c79aa9c26",
"agents/gsd-ai-researcher.md": "303be751c91da4c8",
"agents/gsd-ai-researcher.toml": "5a16e952628fdeb0",
"agents/gsd-assumptions-analyzer.md": "21ee3cd4095f7cf8",
"agents/gsd-assumptions-analyzer.toml": "9460360826f33ab1",
"agents/gsd-code-fixer.md": "4fa4dbb501513bc3",
"agents/gsd-code-fixer.toml": "c8286e7d68753288",
"agents/gsd-code-reviewer.md": "854d93fb1e91fca4",
"agents/gsd-code-reviewer.toml": "66420d6e6ffd14eb",
"agents/gsd-codebase-mapper.md": "7a1560013a0182d0",
"agents/gsd-codebase-mapper.toml": "98041d44c9d9f69e",
"agents/gsd-debug-session-manager.md": "fc82168262151338",
"agents/gsd-debug-session-manager.toml": "b477ba74d03ed5c8",
"agents/gsd-debugger.md": "b2a4aff97b1b87e3",
"agents/gsd-debugger.toml": "dcf71d070a325e67",
"agents/gsd-doc-classifier.md": "2745bc04d7b93666",
"agents/gsd-doc-classifier.toml": "3fe5ec83f62b586e",
"agents/gsd-doc-synthesizer.md": "4f545f2e916458ad",
"agents/gsd-doc-synthesizer.toml": "5b3b3badcc1e3219",
"agents/gsd-doc-verifier.md": "42d07e55a2e571ce",
"agents/gsd-doc-verifier.toml": "c0b7ac150730b954",
"agents/gsd-doc-writer.md": "0a3557268f169722",
"agents/gsd-doc-writer.toml": "d21d67f9ba074156",
"agents/gsd-domain-researcher.md": "fbd2f916f265c106",
"agents/gsd-domain-researcher.toml": "a49ddec9005b4bf5",
"agents/gsd-eval-auditor.md": "2810917e02e5547c",
"agents/gsd-eval-auditor.toml": "9b81d61b3c5f722d",
"agents/gsd-eval-planner.md": "73f2ad2ff2797a51",
"agents/gsd-eval-planner.toml": "09468ad1a34ac468",
"agents/gsd-executor.md": "c357dad443b0bdf0",
"agents/gsd-executor.toml": "5d3156365295b12d",
"agents/gsd-framework-selector.md": "ebae32430887d2e0",
"agents/gsd-framework-selector.toml": "637e4e021b7ec380",
"agents/gsd-integration-checker.md": "9cc875676cf7d741",
"agents/gsd-integration-checker.toml": "53f3cfac6fbd6447",
"agents/gsd-intel-updater.md": "8e5453421c92c0fd",
"agents/gsd-intel-updater.toml": "94888d7182fd2fb5",
"agents/gsd-mempalace-curator.md": "60a8ec0e990ba777",
"agents/gsd-mempalace-curator.toml": "015f156ad7d2dd0f",
"agents/gsd-nyquist-auditor.md": "554dbb4a01760a9d",
"agents/gsd-nyquist-auditor.toml": "b3d7214b42fb67fa",
"agents/gsd-pattern-mapper.md": "efbcfa7c5de4027f",
"agents/gsd-pattern-mapper.toml": "48a17baa3d7d142c",
"agents/gsd-phase-researcher.md": "87d74324e7708ea0",
"agents/gsd-phase-researcher.toml": "44a3d510cd0ce3bd",
"agents/gsd-plan-checker.md": "9ba8ea7643f0a7f5",
"agents/gsd-plan-checker.toml": "03488397d892ea09",
"agents/gsd-planner.md": "932266ed67ea0947",
"agents/gsd-planner.toml": "8fd81d2367979851",
"agents/gsd-project-researcher.md": "959f2e57c3d69ed8",
"agents/gsd-project-researcher.toml": "f395e8e8c4baf1ed",
"agents/gsd-research-synthesizer.md": "497f85adf53259ef",
"agents/gsd-research-synthesizer.toml": "053616d4941a1458",
"agents/gsd-roadmapper.md": "e15d82d7781dbff3",
"agents/gsd-roadmapper.toml": "0b17f618eafe9be8",
"agents/gsd-security-auditor.md": "d7b62f9a93cfbf78",
"agents/gsd-security-auditor.toml": "e991aa6e7c70f813",
"agents/gsd-ui-auditor.md": "abbf560bc8d5069c",
"agents/gsd-ui-auditor.toml": "5e9dd62a12a16a1e",
"agents/gsd-ui-checker.md": "b65d350a4e0564e9",
"agents/gsd-ui-checker.toml": "3815693c6649f9f5",
"agents/gsd-ui-researcher.md": "e18cc90fadc5ab2e",
"agents/gsd-ui-researcher.toml": "7a38aff7b13d9e37",
"agents/gsd-user-profiler.md": "1bf5033c929181c1",
"agents/gsd-user-profiler.toml": "b9c244bb8fbf8140",
"agents/gsd-verifier.md": "c924485d9feb6a8d",
"agents/gsd-verifier.toml": "e37a57b02a7647a9",
"config.toml": "aa0b484a070f603c",
"gsd-core/.gsd-runtime": "243b0dc9b847e66c",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "51b5d0ba5b1e98d9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "425dd69c629230e7",
"gsd-core/references/api-coverage.md": "3e87a58d0cd6518a",
"gsd-core/references/artifact-types.md": "3218cafb0c92dc32",
"gsd-core/references/autonomous-smart-discuss.md": "4156025334411073",
"gsd-core/references/checkpoints.md": "d52116f59e92ca43",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "8bde1f8516046fa7",
"gsd-core/references/continuation-format.md": "e64c0da2b3d0f2f0",
"gsd-core/references/debugger-bug-taxonomy.md": "49f94fe75cabba52",
"gsd-core/references/debugger-fix-acceptance.md": "b2732420bdbcadcd",
"gsd-core/references/debugger-philosophy.md": "459a8ac647c4ce9c",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "097c2da83d697566",
"gsd-core/references/debugger-sbfl.md": "391e732abf32786a",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "ee363ec47be68922",
"gsd-core/references/doc-conflict-engine.md": "257aba80c93854d4",
"gsd-core/references/domain-probes.md": "4901deac8eac0f49",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a483199612e216f1",
"gsd-core/references/execute-phase-quota-recovery.md": "885cbb5843f4f066",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "95e55087876a0d96",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "2d3efd04749f56d4",
"gsd-core/references/gates.md": "11fd2bdf27df57a5",
"gsd-core/references/git-integration.md": "94715b69448bb818",
"gsd-core/references/git-planning-commit.md": "5aad099c51135a0f",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "11d144acecab34fb",
"gsd-core/references/model-profiles.md": "bd90862f68007f2e",
"gsd-core/references/mvp-concepts.md": "23201c8118fb074a",
"gsd-core/references/offer-next.md": "449c021d2552df02",
"gsd-core/references/phase-argument-parsing.md": "531176f66da49c98",
"gsd-core/references/planner-antipatterns.md": "88a0cd714d33fe34",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "ccd62140264bed71",
"gsd-core/references/planner-guidance.md": "5f62d3f50b8fc42b",
"gsd-core/references/planner-human-verify-mode.md": "3a625b42d9cb93ee",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "c23fee2f4c9bd9a9",
"gsd-core/references/planner-reviews.md": "7889bfa28e82156b",
"gsd-core/references/planner-revision.md": "2ebf1a714d1ec4bf",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "bf430b3ea2bf44ff",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "f0e320677bcd8e19",
"gsd-core/references/project-skills-discovery.md": "d3a8f760d63ea3b9",
"gsd-core/references/questioning.md": "8f26dfe5794b1e6e",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "a602b41bfa081fdf",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "1a677abcfba49da4",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "1919d07d3db600da",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "347c33b2d5646c93",
"gsd-core/references/ui-brand.md": "37a2dc822a4b77c4",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "865f7ba442795487",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "8e023a908d968af1",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "0c8cac962c2bb105",
"gsd-core/references/verification-patterns.md": "ac45d99076067f17",
"gsd-core/references/verify-mvp-mode.md": "78faa99df1668aab",
"gsd-core/references/workstream-flag.md": "c764d9cbdf6faff4",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "6411a4789f481c15",
"gsd-core/templates/DEBUG.md": "0be1256352e79375",
"gsd-core/templates/README.md": "dc13994dabe139a2",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "59a3d4f6c4afbfc9",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "dae6246879d09d13",
"gsd-core/templates/claude-md.md": "dd1a9011684f9753",
"gsd-core/templates/codebase/architecture.md": "282db635ba093b1a",
"gsd-core/templates/codebase/concerns.md": "e66c584daa636fc5",
"gsd-core/templates/codebase/conventions.md": "c5f0324730852701",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "5b5dd37145241462",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "593d4e6d20fdde7c",
"gsd-core/templates/continue-here.md": "8b1dce4832c7922b",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "a3948171649b686a",
"gsd-core/templates/dev-preferences.md": "975e1534eea2f695",
"gsd-core/templates/discovery.md": "7afefd109c2d5316",
"gsd-core/templates/discussion-log.md": "da4e8e266efdc6c2",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "56c67fdc5d31b556",
"gsd-core/templates/planner-subagent-prompt.md": "a48a5a2ebd5a9f47",
"gsd-core/templates/project.md": "c6005bd88a346a3e",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "1485bc6d64c5d8ec",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "34cb8124f37c9b14",
"gsd-core/templates/state.md": "3bac0c4a26c094f9",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "c95dfa4653791314",
"gsd-core/templates/user-profile.md": "52abe2af968e8533",
"gsd-core/templates/user-setup.md": "1da2382725db080f",
"gsd-core/templates/verification-report.md": "78ab9264ce63ed7e",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "62431b27424ff1ff",
"gsd-core/workflows/add-phase.md": "d7a401b48271964f",
"gsd-core/workflows/add-tests.md": "f2f30978099144d3",
"gsd-core/workflows/add-todo.md": "fc26decc33e3e6a4",
"gsd-core/workflows/ai-integration-phase.md": "e83102e5bd9b7c50",
"gsd-core/workflows/analyze-dependencies.md": "f799abc00907377f",
"gsd-core/workflows/audit-fix.md": "677638d4081117c5",
"gsd-core/workflows/audit-milestone.md": "b2b735ae6557f5ad",
"gsd-core/workflows/audit-uat.md": "2564078edb15b5e9",
"gsd-core/workflows/autonomous.md": "47bf003aefcf806b",
"gsd-core/workflows/check-todos.md": "a9a6c39859451fa7",
"gsd-core/workflows/cleanup.md": "2f7d77d1b13d0410",
"gsd-core/workflows/code-review-fix.md": "63a0f94622f1e20a",
"gsd-core/workflows/code-review.md": "b450f53af43cb606",
"gsd-core/workflows/complete-milestone.md": "bd3d10386edf1121",
"gsd-core/workflows/debug.md": "b8caa6ef11a4feb5",
"gsd-core/workflows/diagnose-issues.md": "1ee3c02cf691c1db",
"gsd-core/workflows/discovery-phase.md": "ae93d9d808c8c018",
"gsd-core/workflows/discuss-phase-assumptions.md": "a7df65a8c0b4abe1",
"gsd-core/workflows/discuss-phase-power.md": "3f8b83dc6be2e9d5",
"gsd-core/workflows/discuss-phase.md": "7c9df6656b81fda9",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "42e58e1f499f7824",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "c824ef897199b730",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d48968f75a2056b7",
"gsd-core/workflows/discuss-phase/modes/batch.md": "21ee55869eaa7ece",
"gsd-core/workflows/discuss-phase/modes/chain.md": "862a2c45a6096400",
"gsd-core/workflows/discuss-phase/modes/default.md": "4c5ba5975dcc1e9c",
"gsd-core/workflows/discuss-phase/modes/power.md": "55b61b7dc83a58b2",
"gsd-core/workflows/discuss-phase/modes/text.md": "6e1c6f4d8fdd0be3",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "2b56ec2868cbddb4",
"gsd-core/workflows/do.md": "b30d5b8eca60ef79",
"gsd-core/workflows/docs-update.md": "2b0db5c092ac573d",
"gsd-core/workflows/edit-phase.md": "e592a4d85ce5380f",
"gsd-core/workflows/eval-review.md": "4d367d1e028629bd",
"gsd-core/workflows/execute-phase.md": "4d94ef7b8cf41b80",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "cd8678d082d6e191",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "e4723e1669f7c508",
"gsd-core/workflows/explore.md": "d12f68770c65093a",
"gsd-core/workflows/extract-learnings.md": "44efe9756da774f9",
"gsd-core/workflows/fast.md": "e4ed60f96a7b3ac8",
"gsd-core/workflows/forensics.md": "2e8a01b5b44e65f3",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "6fedf96650e0f1e5",
"gsd-core/workflows/help.md": "08e1349950c5602a",
"gsd-core/workflows/help/modes/brief.md": "da44b130d1afe556",
"gsd-core/workflows/help/modes/default.md": "4bb3082d28026eea",
"gsd-core/workflows/help/modes/full.md": "8cd7914e402b9edb",
"gsd-core/workflows/help/modes/topic.md": "b7c7e4a8800bc3ea",
"gsd-core/workflows/import.md": "a81daf70f8603666",
"gsd-core/workflows/inbox.md": "ddb6832b7e0ad46b",
"gsd-core/workflows/ingest-docs.md": "78261210c823bcfa",
"gsd-core/workflows/insert-phase.md": "5e23bd8d55b388c7",
"gsd-core/workflows/list-phase-assumptions.md": "4d245f6ea899bcb9",
"gsd-core/workflows/list-seeds.md": "0a2d9fd5b06b8ded",
"gsd-core/workflows/list-workspaces.md": "bb74607336897b94",
"gsd-core/workflows/manager.md": "5f9365147f53e3f5",
"gsd-core/workflows/map-codebase.md": "9b6ede881432a8d1",
"gsd-core/workflows/milestone-summary.md": "a53b30a84f904b50",
"gsd-core/workflows/mvp-phase.md": "85fea39f30f8c698",
"gsd-core/workflows/new-milestone.md": "f37160cbe1606b77",
"gsd-core/workflows/new-project.md": "9e5142a0e4dbfd42",
"gsd-core/workflows/new-workspace.md": "2d9dc09dd7739921",
"gsd-core/workflows/next.md": "19dceee48dbf6e34",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "664da466ab989f9d",
"gsd-core/workflows/onboard.md": "f022a379ede13512",
"gsd-core/workflows/pause-work.md": "a217770ecafcb2e0",
"gsd-core/workflows/plan-milestone-gaps.md": "73d46f77c50a0690",
"gsd-core/workflows/plan-phase.md": "c6c3a4faf0b2aa2c",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "d838b87563feedf6",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "f10975692cbd036e",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "f5edc589cab52a7b",
"gsd-core/workflows/plan-review-convergence.md": "b4e8d6a46e62d68a",
"gsd-core/workflows/plant-seed.md": "25b0c824f7eff40e",
"gsd-core/workflows/pr-branch.md": "d13e1cc81de40896",
"gsd-core/workflows/profile-user.md": "6d23d0594082c78a",
"gsd-core/workflows/progress.md": "e57d5a148df38508",
"gsd-core/workflows/quick.md": "74c2046a98f99004",
"gsd-core/workflows/reapply-patches.md": "26297b84736e66a4",
"gsd-core/workflows/remove-phase.md": "9ee0fddd11a0d9d4",
"gsd-core/workflows/remove-workspace.md": "d0160c5d05bcb2bb",
"gsd-core/workflows/resume-project.md": "9965f87eb278f7f8",
"gsd-core/workflows/review.md": "f2d0cf16167cb107",
"gsd-core/workflows/scan.md": "93da00ba119f3488",
"gsd-core/workflows/secure-phase.md": "70b2db8ee9697fdb",
"gsd-core/workflows/session-report.md": "dd8fa011c9394075",
"gsd-core/workflows/settings-advanced.md": "2431433811616f76",
"gsd-core/workflows/settings-integrations.md": "d6d222af8690d09b",
"gsd-core/workflows/settings.md": "3c8bd45b123b5db6",
"gsd-core/workflows/ship.md": "0a6314edbb01a345",
"gsd-core/workflows/sketch-wrap-up.md": "07724a390fbb43f6",
"gsd-core/workflows/sketch.md": "3f6ed885d2ee5528",
"gsd-core/workflows/smart-entry.md": "2914f9d54d365931",
"gsd-core/workflows/spec-phase.md": "3dd8ae6137492d80",
"gsd-core/workflows/spike-wrap-up.md": "ace265c114298376",
"gsd-core/workflows/spike.md": "1f70a13fe2080da7",
"gsd-core/workflows/stats.md": "6dfc500555849d74",
"gsd-core/workflows/sync-skills.md": "e2b793963799f8ce",
"gsd-core/workflows/thread.md": "3eef3b6baf50fbfa",
"gsd-core/workflows/transition.md": "de3c63b3f62e6988",
"gsd-core/workflows/ui-phase.md": "e9cf501439c68a96",
"gsd-core/workflows/ui-review.md": "a743920f2135ce3b",
"gsd-core/workflows/ultraplan-phase.md": "0bafc2af27be4591",
"gsd-core/workflows/undo.md": "bd29a3a4fbc3fdc2",
"gsd-core/workflows/update.md": "79e0f4924b92d85b",
"gsd-core/workflows/validate-phase.md": "52ba0281ba743566",
"gsd-core/workflows/verify-phase.md": "ce508f9c2242b91f",
"gsd-core/workflows/verify-work.md": "ecc416d545e55a71",
"hooks/gsd-check-update.js": "ef48957eb6ac6a10",
"hooks/gsd-context-monitor.js": "ec76b23f45d29b02",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7"
}

View File

@@ -1,416 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "56eda2d6c407679d",
"agents/gsd-advisor-researcher.agent.md": "1fb10242ff7fb1c9",
"agents/gsd-ai-researcher.agent.md": "8e9c3a2ddd179bb1",
"agents/gsd-assumptions-analyzer.agent.md": "cdabed4777a842fe",
"agents/gsd-code-fixer.agent.md": "8f39aacb760aab57",
"agents/gsd-code-reviewer.agent.md": "fa1e7c421c78eae1",
"agents/gsd-codebase-mapper.agent.md": "347d66bb17975c3e",
"agents/gsd-debug-session-manager.agent.md": "a43baa522459203d",
"agents/gsd-debugger.agent.md": "f7d0307490617a8a",
"agents/gsd-doc-classifier.agent.md": "aea81c0ba00e06cf",
"agents/gsd-doc-synthesizer.agent.md": "6ae32e4db005696d",
"agents/gsd-doc-verifier.agent.md": "0230208ae7ab1a08",
"agents/gsd-doc-writer.agent.md": "37ea4932a4b80355",
"agents/gsd-domain-researcher.agent.md": "d603239b3e9fe428",
"agents/gsd-eval-auditor.agent.md": "3c03009564de55c8",
"agents/gsd-eval-planner.agent.md": "14751876fc2b5f16",
"agents/gsd-executor.agent.md": "79770a630b4f9e58",
"agents/gsd-framework-selector.agent.md": "cafeec0b3489be45",
"agents/gsd-integration-checker.agent.md": "30439b804927acc7",
"agents/gsd-intel-updater.agent.md": "238c1a886f35a25c",
"agents/gsd-mempalace-curator.agent.md": "9e5290ea4c4ac211",
"agents/gsd-nyquist-auditor.agent.md": "6463a50d90ada125",
"agents/gsd-pattern-mapper.agent.md": "b1f488b0fa6a2395",
"agents/gsd-phase-researcher.agent.md": "03cfb510a766fe93",
"agents/gsd-plan-checker.agent.md": "0d68eb258b85e24e",
"agents/gsd-planner.agent.md": "aaef800d164c3475",
"agents/gsd-project-researcher.agent.md": "d73bdbe986ffa8a6",
"agents/gsd-research-synthesizer.agent.md": "f03eed4aa89e47c5",
"agents/gsd-roadmapper.agent.md": "322048cf8ddcb4e5",
"agents/gsd-security-auditor.agent.md": "464cfbe9aafcd5af",
"agents/gsd-ui-auditor.agent.md": "92f50549e84ef482",
"agents/gsd-ui-checker.agent.md": "47d8cf3486009e11",
"agents/gsd-ui-researcher.agent.md": "0746daeb54f83008",
"agents/gsd-user-profiler.agent.md": "ae16a248e18dd42b",
"agents/gsd-verifier.agent.md": "b8fd5f43eac96078",
"copilot-instructions.md": "1fb04111759f1645",
"gsd-core/.gsd-runtime": "d0bcfb0a7f01f8c9",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "ea841e2865248e74",
"gsd-core/bin/gsd-tools.cjs": "14e050d487a715e6",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "10226e9512dd44bf",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "51b5d0ba5b1e98d9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "425dd69c629230e7",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "f992de8b2b1a4420",
"gsd-core/references/autonomous-smart-discuss.md": "efd80aca449032ad",
"gsd-core/references/checkpoints.md": "d26b11ab5ece9e61",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "371da06bb42df63b",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "ddfb2bbc1f3de50a",
"gsd-core/references/debugger-fix-acceptance.md": "812922e2b5db9410",
"gsd-core/references/debugger-philosophy.md": "459a8ac647c4ce9c",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "62089f91dfa470bd",
"gsd-core/references/debugger-sbfl.md": "5bb65a8653bf2e06",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5b91dca815b765e0",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "1eb1e1e552ebd17b",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "43e867720e736464",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "657a93c539c16cab",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "fca7e30efb0afe3f",
"gsd-core/references/honest-verifier.md": "08b1e82f59c18078",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "9f6dd88b2bc08921",
"gsd-core/references/model-profiles.md": "6568ca29b6ee00d8",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "220b59815223d1b7",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "88a0cd714d33fe34",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "ccb2eab7d941313c",
"gsd-core/references/planner-human-verify-mode.md": "5262b23d822d9541",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "641b6c1ce4dd0c8c",
"gsd-core/references/planner-mvp-mode.md": "355d8a9ff2b2b67e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "6ab82d1d7a354521",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "55178368c9d049d2",
"gsd-core/references/project-skills-discovery.md": "625f6e30257e10ee",
"gsd-core/references/questioning.md": "8f26dfe5794b1e6e",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "a602b41bfa081fdf",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "558870a1c4bc4c29",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "99905f064311ee46",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "c37eebe8fbf89b1c",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "8e023a908d968af1",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "a8e13ea38218638b",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "225910640adbb76d",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "72e93b7f650d9bae",
"gsd-core/templates/README.md": "da29c64b438065b3",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "f436ae75a9c8518a",
"gsd-core/templates/codebase/architecture.md": "282db635ba093b1a",
"gsd-core/templates/codebase/concerns.md": "e66c584daa636fc5",
"gsd-core/templates/codebase/conventions.md": "c5f0324730852701",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "27318be7b7c984e1",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "593d4e6d20fdde7c",
"gsd-core/templates/continue-here.md": "8b1dce4832c7922b",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "da4e8e266efdc6c2",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "e2b07376944c84e8",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "fae14114f2b79b10",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "b454f96fdf8b1d3d",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "8734f0df4df3a34b",
"gsd-core/templates/state.md": "a45a134631efe3f9",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "52abe2af968e8533",
"gsd-core/templates/user-setup.md": "1da2382725db080f",
"gsd-core/templates/verification-report.md": "78ab9264ce63ed7e",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "98f2dbb7c7cc93c2",
"gsd-core/workflows/add-phase.md": "f4fbfad54be5d46f",
"gsd-core/workflows/add-tests.md": "bc656e055e09138d",
"gsd-core/workflows/add-todo.md": "0f6cdf522df6c87e",
"gsd-core/workflows/ai-integration-phase.md": "beba57424c9b358c",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "8658bba76328a84f",
"gsd-core/workflows/audit-milestone.md": "3b5a9eb5fd4f4ca3",
"gsd-core/workflows/audit-uat.md": "5ea0e30548ed0933",
"gsd-core/workflows/autonomous.md": "39dbe19d74c14e75",
"gsd-core/workflows/check-todos.md": "333b04e0d144596b",
"gsd-core/workflows/cleanup.md": "90d4119b70f32fce",
"gsd-core/workflows/code-review-fix.md": "3dddba6755e75426",
"gsd-core/workflows/code-review.md": "d538c261e31a1457",
"gsd-core/workflows/complete-milestone.md": "c3d961cc123a7492",
"gsd-core/workflows/debug.md": "79b20a238746c28c",
"gsd-core/workflows/diagnose-issues.md": "8311fee5f2d6f3b5",
"gsd-core/workflows/discovery-phase.md": "c97943b1f3d3db96",
"gsd-core/workflows/discuss-phase-assumptions.md": "83c36e990586fa1f",
"gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383",
"gsd-core/workflows/discuss-phase.md": "31a79ea11c1cdd5f",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "654cdaf1138d5e27",
"gsd-core/workflows/discuss-phase/modes/all.md": "e5fe9c9c1e2bec1a",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "329ac35098e50297",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "c30f4a4bcd174259",
"gsd-core/workflows/discuss-phase/modes/default.md": "4c5ba5975dcc1e9c",
"gsd-core/workflows/discuss-phase/modes/power.md": "9c97731f22d7bce9",
"gsd-core/workflows/discuss-phase/modes/text.md": "c384c22ffff4dc02",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "2b56ec2868cbddb4",
"gsd-core/workflows/do.md": "ba9dd204343ab48b",
"gsd-core/workflows/docs-update.md": "df1d2f6a653e0bb4",
"gsd-core/workflows/edit-phase.md": "8667c28b22b1599f",
"gsd-core/workflows/eval-review.md": "6fd7f2b0770b48f1",
"gsd-core/workflows/execute-phase.md": "261fb868e55c9289",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "ca37f91f7bd6f05c",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "e0ec3d9748a0fed9",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "25bebed74e645109",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "dc0b96d285327b18",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "c82c959f78a1917d",
"gsd-core/workflows/explore.md": "35431c40bb1b245a",
"gsd-core/workflows/extract-learnings.md": "6ed17a7b6c9f68a6",
"gsd-core/workflows/fast.md": "66821090b6b8ed3b",
"gsd-core/workflows/forensics.md": "459644dce26ee2ef",
"gsd-core/workflows/graduation.md": "343e287b8bfac6b2",
"gsd-core/workflows/health.md": "53f350663df5f7b2",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "3c11811e5dea5543",
"gsd-core/workflows/help/modes/topic.md": "0bf9ab39d7044d69",
"gsd-core/workflows/import.md": "8395523544bf88cc",
"gsd-core/workflows/inbox.md": "2f4edb2681b84d9c",
"gsd-core/workflows/ingest-docs.md": "3473b15a3387bedf",
"gsd-core/workflows/insert-phase.md": "60a52a63a8b288f6",
"gsd-core/workflows/list-phase-assumptions.md": "e7b5e35c9452e3b3",
"gsd-core/workflows/list-seeds.md": "71dc6f748b1d1c0e",
"gsd-core/workflows/list-workspaces.md": "3c9f76af08ced623",
"gsd-core/workflows/manager.md": "5acdd15485a04ab0",
"gsd-core/workflows/map-codebase.md": "e3f23c4d2f1fe176",
"gsd-core/workflows/milestone-summary.md": "8a53906253984a62",
"gsd-core/workflows/mvp-phase.md": "3c00d29043864af2",
"gsd-core/workflows/new-milestone.md": "3824b311f868ccd8",
"gsd-core/workflows/new-project.md": "bea1d5b4c1973860",
"gsd-core/workflows/new-workspace.md": "a609b382e83c2f10",
"gsd-core/workflows/next.md": "752cb4ce1e5d31a5",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "4a5ee74cf2fc1f54",
"gsd-core/workflows/onboard.md": "357b7ae1367560dd",
"gsd-core/workflows/pause-work.md": "9ce66367be6c40db",
"gsd-core/workflows/plan-milestone-gaps.md": "5cf589802d08bdf3",
"gsd-core/workflows/plan-phase.md": "7159628ad9cf76a9",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "bb052483744f0a6d",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "972d475548d48809",
"gsd-core/workflows/plant-seed.md": "aac7ffbbec7e7a22",
"gsd-core/workflows/pr-branch.md": "2833905f119b5722",
"gsd-core/workflows/profile-user.md": "e2135bdd20e17620",
"gsd-core/workflows/progress.md": "97f4971366c381ee",
"gsd-core/workflows/quick.md": "d130414be9aaacc5",
"gsd-core/workflows/reapply-patches.md": "8fd59e24b486f180",
"gsd-core/workflows/remove-phase.md": "e262654e319d1bc4",
"gsd-core/workflows/remove-workspace.md": "e7e5b5b1e0cc9d81",
"gsd-core/workflows/resume-project.md": "40db7f350f5866d8",
"gsd-core/workflows/review.md": "09f390a2f11b40d3",
"gsd-core/workflows/scan.md": "485c6ed37c08042f",
"gsd-core/workflows/secure-phase.md": "ccd856701929382d",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "230a658de9c017a6",
"gsd-core/workflows/settings-integrations.md": "58acee11162b4a4e",
"gsd-core/workflows/settings.md": "876e954acd64cb18",
"gsd-core/workflows/ship.md": "f210f33e40b8990a",
"gsd-core/workflows/sketch-wrap-up.md": "f2590cb6ddbfad94",
"gsd-core/workflows/sketch.md": "9cbf5860b6a005e5",
"gsd-core/workflows/smart-entry.md": "93f90cd7a12dbbc7",
"gsd-core/workflows/spec-phase.md": "44bd9c50b42e73fb",
"gsd-core/workflows/spike-wrap-up.md": "a34d1e9ec15ae904",
"gsd-core/workflows/spike.md": "bf51085ab23117d1",
"gsd-core/workflows/stats.md": "1db01bd96aa570fe",
"gsd-core/workflows/sync-skills.md": "eca50ffe8320dba8",
"gsd-core/workflows/thread.md": "c5cbd66223906998",
"gsd-core/workflows/transition.md": "9219cd7c61e3323f",
"gsd-core/workflows/ui-phase.md": "5d4bac0adeed39ac",
"gsd-core/workflows/ui-review.md": "947fa71e7d77e497",
"gsd-core/workflows/ultraplan-phase.md": "7217c34dc9eaf7bb",
"gsd-core/workflows/undo.md": "e168c2eb8f7e105c",
"gsd-core/workflows/update.md": "af2a7e4e8d53abda",
"gsd-core/workflows/validate-phase.md": "688bad3aed86b240",
"gsd-core/workflows/verify-phase.md": "3fcc54a0c46e5e2f",
"gsd-core/workflows/verify-work.md": "a7198047363772d7",
"hooks/gsd-session.json": "3382597f61e3a559",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "dfe3f8a07f34c438",
"skills/gsd-ai-integration-phase/SKILL.md": "22593b80a1f3e340",
"skills/gsd-audit-fix/SKILL.md": "ac3e209167e2171a",
"skills/gsd-audit-milestone/SKILL.md": "faa9473569f5fa4b",
"skills/gsd-audit-uat/SKILL.md": "00f0a430a5c43da0",
"skills/gsd-autonomous/SKILL.md": "14495e0ad75bc1fb",
"skills/gsd-capture/SKILL.md": "cbae7b34a19b53bb",
"skills/gsd-cleanup/SKILL.md": "d6eb72a251354d07",
"skills/gsd-code-review/SKILL.md": "bc47a62d7788d723",
"skills/gsd-complete-milestone/SKILL.md": "d92573108882ac2f",
"skills/gsd-config/SKILL.md": "2bbc2d3ee41d5360",
"skills/gsd-debug/SKILL.md": "7abbde8111d8592c",
"skills/gsd-discuss-phase/SKILL.md": "1a6496fbbf49df6d",
"skills/gsd-docs-update/SKILL.md": "abca4017f556ebb6",
"skills/gsd-eval-review/SKILL.md": "8efd5502979365d2",
"skills/gsd-execute-phase/SKILL.md": "40fb582d30596e03",
"skills/gsd-explore/SKILL.md": "410ba39431b4741d",
"skills/gsd-extract-learnings/SKILL.md": "1651508a604db325",
"skills/gsd-fast/SKILL.md": "ee4c04a1f009052a",
"skills/gsd-forensics/SKILL.md": "604425b1aff67ddb",
"skills/gsd-graphify/SKILL.md": "ad09359c401677a5",
"skills/gsd-health/SKILL.md": "f5a554c058adc41a",
"skills/gsd-help/SKILL.md": "effcefa49fba6aca",
"skills/gsd-import/SKILL.md": "1b3dde7a9bbdb928",
"skills/gsd-inbox/SKILL.md": "cb9ed3865b67c04f",
"skills/gsd-ingest-docs/SKILL.md": "10500de29525f6cf",
"skills/gsd-manager/SKILL.md": "9946975bec15e737",
"skills/gsd-map-codebase/SKILL.md": "39e7fd6bcc561f9d",
"skills/gsd-mempalace-capture/SKILL.md": "1ccddd50b3d77a4a",
"skills/gsd-mempalace-recall/SKILL.md": "89523db66f834b2f",
"skills/gsd-milestone-summary/SKILL.md": "5ca1dabfe0cd85f0",
"skills/gsd-mvp-phase/SKILL.md": "60ac3c3fa6a6a19b",
"skills/gsd-new-milestone/SKILL.md": "65670b65fb89d928",
"skills/gsd-new-project/SKILL.md": "4ce68352221126c6",
"skills/gsd-next/SKILL.md": "16507fc39a3a0684",
"skills/gsd-ns-context/SKILL.md": "d61edde87ae53105",
"skills/gsd-ns-ideate/SKILL.md": "ca62cdf78ebe3585",
"skills/gsd-ns-manage/SKILL.md": "9b1b7f6d9b877fcd",
"skills/gsd-ns-project/SKILL.md": "597b8dde8702c22d",
"skills/gsd-ns-review/SKILL.md": "6405d0b1cf3f245d",
"skills/gsd-ns-workflow/SKILL.md": "243287d21663ba87",
"skills/gsd-onboard/SKILL.md": "4d325f3033df2d37",
"skills/gsd-pause-work/SKILL.md": "4f0caa008a8001ff",
"skills/gsd-phase/SKILL.md": "d38c7f9b1d0d2360",
"skills/gsd-plan-phase/SKILL.md": "19d47df062dfc220",
"skills/gsd-plan-review-convergence/SKILL.md": "29e903e25047ebd1",
"skills/gsd-pr-branch/SKILL.md": "9cd9740db385d95a",
"skills/gsd-profile-user/SKILL.md": "052a8e17ecda40f1",
"skills/gsd-progress/SKILL.md": "28b94a19f2bccb78",
"skills/gsd-quick/SKILL.md": "d66072399c0aa371",
"skills/gsd-resume-work/SKILL.md": "e3ab06060bdd9df0",
"skills/gsd-review-backlog/SKILL.md": "2af20161e555fb42",
"skills/gsd-review/SKILL.md": "948c44f78429cb97",
"skills/gsd-secure-phase/SKILL.md": "8666d8933e02c74f",
"skills/gsd-settings/SKILL.md": "4ef66b6dc3a2b8ff",
"skills/gsd-ship/SKILL.md": "ea26e3a839afb372",
"skills/gsd-sketch/SKILL.md": "1187d843efabea37",
"skills/gsd-spec-phase/SKILL.md": "e402110c96d1f44f",
"skills/gsd-spike/SKILL.md": "de84271bdba0ef67",
"skills/gsd-stats/SKILL.md": "e0beaf89d27c8058",
"skills/gsd-surface/SKILL.md": "c6ae441eb5e2e84a",
"skills/gsd-thread/SKILL.md": "8db4d6ebcf0a8898",
"skills/gsd-ui-phase/SKILL.md": "317081b3be7c536f",
"skills/gsd-ui-review/SKILL.md": "dc07bbe9094b6dbe",
"skills/gsd-ultraplan-phase/SKILL.md": "b528b261b43000cc",
"skills/gsd-undo/SKILL.md": "a9675a18d90cf91d",
"skills/gsd-update/SKILL.md": "94e3baab2c32b338",
"skills/gsd-validate-phase/SKILL.md": "6130f42daa172ceb",
"skills/gsd-verify-work/SKILL.md": "da83518143f85525",
"skills/gsd-workspace/SKILL.md": "d5ae2727cb5d9c0c",
"skills/gsd-workstreams/SKILL.md": "c9d172e6f971f846"
}

View File

@@ -1,492 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "40c874a6a3dd0469",
"agents/gsd-advisor-researcher.md": "e5be2680b690c198",
"agents/gsd-ai-researcher.md": "abfc97706f16aaaf",
"agents/gsd-assumptions-analyzer.md": "b3219da6b194fdef",
"agents/gsd-code-fixer.md": "76085f4442f268e6",
"agents/gsd-code-reviewer.md": "f29d6edbac0a01b6",
"agents/gsd-codebase-mapper.md": "71113be5f5cacfe9",
"agents/gsd-debug-session-manager.md": "0779ec0e315e7a19",
"agents/gsd-debugger.md": "bd40d58a35995f22",
"agents/gsd-doc-classifier.md": "a6ab02b8f45f9d0b",
"agents/gsd-doc-synthesizer.md": "fd3c18addbc8265d",
"agents/gsd-doc-verifier.md": "9934ec11845d41c3",
"agents/gsd-doc-writer.md": "73b55c50c0a6bd61",
"agents/gsd-domain-researcher.md": "56395dbdabf076f6",
"agents/gsd-eval-auditor.md": "ad2840fd5cd76172",
"agents/gsd-eval-planner.md": "2049dac060d00eda",
"agents/gsd-executor.md": "8c86bf037dc02e8c",
"agents/gsd-framework-selector.md": "4b77eebbe9288d80",
"agents/gsd-integration-checker.md": "5da30584d06b878c",
"agents/gsd-intel-updater.md": "b8971c5d96e63b38",
"agents/gsd-mempalace-curator.md": "78f4894a9d5f44b1",
"agents/gsd-nyquist-auditor.md": "e18b0209cea56a2e",
"agents/gsd-pattern-mapper.md": "1229c215677f740d",
"agents/gsd-phase-researcher.md": "982d59921bed463d",
"agents/gsd-plan-checker.md": "30bc89279d6586b7",
"agents/gsd-planner.md": "1c0d5aaa124f56ab",
"agents/gsd-project-researcher.md": "beeac940d3a10e76",
"agents/gsd-research-synthesizer.md": "6315f016d55176f4",
"agents/gsd-roadmapper.md": "d28e7d4bac46dde2",
"agents/gsd-security-auditor.md": "1e6a10833f556e4c",
"agents/gsd-ui-auditor.md": "d824acc3b2a18c53",
"agents/gsd-ui-checker.md": "c6c24e8066470830",
"agents/gsd-ui-researcher.md": "0f5be5e55501f7e8",
"agents/gsd-user-profiler.md": "622220df0654b6bf",
"agents/gsd-verifier.md": "f618c5051fa5c317",
"commands/gsd-add-tests.md": "1f89b16ab2cca426",
"commands/gsd-ai-integration-phase.md": "99f66291ded1899d",
"commands/gsd-audit-fix.md": "d88502ffa2151cec",
"commands/gsd-audit-milestone.md": "db525e85095d268a",
"commands/gsd-audit-uat.md": "70d1d0f175734d8f",
"commands/gsd-autonomous.md": "b4724d55cb75d902",
"commands/gsd-capture.md": "4071615ec4f8e92d",
"commands/gsd-cleanup.md": "b83caf1561ecd265",
"commands/gsd-code-review.md": "67cc90ca2ed00f06",
"commands/gsd-complete-milestone.md": "203e0b262ac5caff",
"commands/gsd-config.md": "3bc7743f39e28a92",
"commands/gsd-debug.md": "145a7f7f15436296",
"commands/gsd-discuss-phase.md": "3a484d3d237dbfc5",
"commands/gsd-docs-update.md": "d224ab2eeb46d98c",
"commands/gsd-eval-review.md": "bc16912f0a5584da",
"commands/gsd-execute-phase.md": "d0ce08060b83d88c",
"commands/gsd-explore.md": "dad2dfe948cd0d9f",
"commands/gsd-extract-learnings.md": "c4fb98df89e4f380",
"commands/gsd-fast.md": "184dd72f2f00203b",
"commands/gsd-forensics.md": "ff8a9a8f91c2c5e5",
"commands/gsd-graphify.md": "42bd74b6c09a75d6",
"commands/gsd-health.md": "0239b3eafb48000b",
"commands/gsd-help.md": "d7685d97f7fab1d5",
"commands/gsd-import.md": "02134b777c821174",
"commands/gsd-inbox.md": "e6bcee3f863d20db",
"commands/gsd-ingest-docs.md": "9e7f8757b9408c01",
"commands/gsd-manager.md": "f300b708a5487c76",
"commands/gsd-map-codebase.md": "12f705917eb202fb",
"commands/gsd-mempalace-capture.md": "8f5afec4dde75478",
"commands/gsd-mempalace-recall.md": "08c910285469a394",
"commands/gsd-milestone-summary.md": "adfad2cf43fc5aad",
"commands/gsd-mvp-phase.md": "e8debeee627a0bf2",
"commands/gsd-new-milestone.md": "64b997f99b1e6293",
"commands/gsd-new-project.md": "f1a6288e80cc16b0",
"commands/gsd-next.md": "e9d8b7c71627e03b",
"commands/gsd-ns-context.md": "b551dcc549c6a23f",
"commands/gsd-ns-ideate.md": "32f561de74b1bc7b",
"commands/gsd-ns-manage.md": "24445a84bd817c5b",
"commands/gsd-ns-project.md": "525f84d73f5c51e9",
"commands/gsd-ns-review.md": "c8550463fbab5e76",
"commands/gsd-ns-workflow.md": "2c1f1fde3c46bb40",
"commands/gsd-onboard.md": "d9e52f558fc2b90f",
"commands/gsd-pause-work.md": "59630f05f95fff68",
"commands/gsd-phase.md": "9a073dcd0f934f90",
"commands/gsd-plan-phase.md": "a80206719884ab3b",
"commands/gsd-plan-review-convergence.md": "ea3bec0ae494ecc8",
"commands/gsd-pr-branch.md": "ef2eedb0ed4295da",
"commands/gsd-profile-user.md": "0e99de36619c3b7d",
"commands/gsd-progress.md": "44a7c784dc98f735",
"commands/gsd-quick.md": "0061e478a896265d",
"commands/gsd-resume-work.md": "a98b447fffe07e1e",
"commands/gsd-review-backlog.md": "347abbe2fdad79c9",
"commands/gsd-review.md": "14369ea01aff093f",
"commands/gsd-secure-phase.md": "1631b1ecedbee373",
"commands/gsd-settings.md": "8e4a2673e7c96cad",
"commands/gsd-ship.md": "de9d81fe35184ae2",
"commands/gsd-sketch.md": "021add6f8eb7e7f3",
"commands/gsd-spec-phase.md": "7c95987dcd7aa3fb",
"commands/gsd-spike.md": "8102cc426fa1f1b3",
"commands/gsd-stats.md": "eb39e4c4ec8eccea",
"commands/gsd-surface.md": "96a66a3607b253b4",
"commands/gsd-thread.md": "fc5975fdb73eb045",
"commands/gsd-ui-phase.md": "b91b691e1eb007c2",
"commands/gsd-ui-review.md": "2f9842e07e7df4df",
"commands/gsd-ultraplan-phase.md": "2d50a8e37952daeb",
"commands/gsd-undo.md": "5504f2280ad1e6d4",
"commands/gsd-update.md": "1e0e80a3bfeebddf",
"commands/gsd-validate-phase.md": "9c37396572d1d58c",
"commands/gsd-verify-work.md": "86a42f859bc26dd6",
"commands/gsd-workspace.md": "5c40114e6af87e3d",
"commands/gsd-workstreams.md": "112660ceb663c750",
"gsd-core/.gsd-runtime": "0e49decc490cf91d",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "2525f1ae8b086828",
"gsd-core/bin/gsd-tools.cjs": "43676f8f8ba97bdd",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "3d62d178004db5cc",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "273b371c5751f35a",
"gsd-core/references/checkpoints.md": "a44e66095240c46e",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "1aada627aab75f46",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "63c03b8afbd21b8a",
"gsd-core/references/debugger-fix-acceptance.md": "86b7cbde0171fafd",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "d5f1796cde97e7d2",
"gsd-core/references/debugger-sbfl.md": "838445590aab52e3",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "692b44ca096f96e6",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "44e31bdae72ed5d5",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "b0e27ed2d8405974",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "9840f521ad6612b5",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "5452b2e19e19f77e",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "1c9ae4014a95d269",
"gsd-core/references/phase-argument-parsing.md": "e562947d1bf5c5a4",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "140b1266eeb096cb",
"gsd-core/references/planner-human-verify-mode.md": "5e7925ad77d931d1",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "1f52183344323a34",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "8f3eb787e3845e2f",
"gsd-core/references/project-skills-discovery.md": "2d352e05e7773a6b",
"gsd-core/references/questioning.md": "faac32813d1735bd",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "8ea08f8aa21febda",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "19c02b83bd1692bf",
"gsd-core/references/worktree-branch-check.md": "46f222a2e2c2edd7",
"gsd-core/references/worktree-path-safety.md": "66de0b35266c807d",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "83a3d5b593587e83",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "d6d7da8b7817a04c",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "762b16f9a6488474",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "213ccd947451ff2b",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "2926457ed07b4500",
"gsd-core/workflows/add-phase.md": "b2c06b7ed648658c",
"gsd-core/workflows/add-tests.md": "100349c1d23af47f",
"gsd-core/workflows/add-todo.md": "8f2b65d7ce28e4fd",
"gsd-core/workflows/ai-integration-phase.md": "6d4a309d7176d5d5",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "97877a45e3689b5f",
"gsd-core/workflows/audit-uat.md": "e11db0d74c2a7405",
"gsd-core/workflows/autonomous.md": "409a340e36b90331",
"gsd-core/workflows/check-todos.md": "18a405fea9a842dc",
"gsd-core/workflows/cleanup.md": "c0c243aa070b993b",
"gsd-core/workflows/code-review-fix.md": "5d9c72b2233380a5",
"gsd-core/workflows/code-review.md": "55386c37fe68ddeb",
"gsd-core/workflows/complete-milestone.md": "2281ee0a53264ca5",
"gsd-core/workflows/debug.md": "ff3e267a87251ece",
"gsd-core/workflows/diagnose-issues.md": "1b6787debfcb8c56",
"gsd-core/workflows/discovery-phase.md": "13393233272db9b6",
"gsd-core/workflows/discuss-phase-assumptions.md": "c8d792ca34ac9ace",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "14688ff19ce2184c",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "30612a2de153cb5b",
"gsd-core/workflows/discuss-phase/modes/all.md": "d2a1d16e2508a0cd",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "c824ef897199b730",
"gsd-core/workflows/discuss-phase/modes/auto.md": "7ae3410133d7f580",
"gsd-core/workflows/discuss-phase/modes/batch.md": "c23d5bdbdb60362c",
"gsd-core/workflows/discuss-phase/modes/chain.md": "13d7b2c7d8e5b82e",
"gsd-core/workflows/discuss-phase/modes/default.md": "4ada4fe332c5c985",
"gsd-core/workflows/discuss-phase/modes/power.md": "55b61b7dc83a58b2",
"gsd-core/workflows/discuss-phase/modes/text.md": "adec29a0217b6664",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "cd5d01c9ef84ab73",
"gsd-core/workflows/do.md": "53839c6429ae1234",
"gsd-core/workflows/docs-update.md": "b4bf43f3005f2e45",
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
"gsd-core/workflows/eval-review.md": "e8a7646e1699a17d",
"gsd-core/workflows/execute-phase.md": "f33882f452e603d0",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "d2020c5e01c7bd7f",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "06b54ecd4015c64c",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "09ea0688882eb30e",
"gsd-core/workflows/explore.md": "9348b54b526b8938",
"gsd-core/workflows/extract-learnings.md": "13929ce8a04013e0",
"gsd-core/workflows/fast.md": "77b49793e26b3323",
"gsd-core/workflows/forensics.md": "a65f817d4a515291",
"gsd-core/workflows/graduation.md": "0c0f4e6258ae482f",
"gsd-core/workflows/health.md": "3da94d58e1d40ed1",
"gsd-core/workflows/help.md": "08e1349950c5602a",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "b88ff431fffe40ae",
"gsd-core/workflows/help/modes/full.md": "e71cafdb92d91d32",
"gsd-core/workflows/help/modes/topic.md": "cee80e0adfa3b06c",
"gsd-core/workflows/import.md": "c0f1b98a78ce3f49",
"gsd-core/workflows/inbox.md": "07404a616a95fe6c",
"gsd-core/workflows/ingest-docs.md": "4b0b471f37b57f78",
"gsd-core/workflows/insert-phase.md": "964ca91863a8749a",
"gsd-core/workflows/list-phase-assumptions.md": "eb986c301d59f620",
"gsd-core/workflows/list-seeds.md": "831ddc27b684e30b",
"gsd-core/workflows/list-workspaces.md": "418570fbc8b938da",
"gsd-core/workflows/manager.md": "c6c3dc3eaa815c51",
"gsd-core/workflows/map-codebase.md": "cde7ab8943dc6a0d",
"gsd-core/workflows/milestone-summary.md": "6c76386b500cc5d3",
"gsd-core/workflows/mvp-phase.md": "f0f7d7d6c2e5435f",
"gsd-core/workflows/new-milestone.md": "34fa4f13da1cd2f3",
"gsd-core/workflows/new-project.md": "d80977d7989a6cf1",
"gsd-core/workflows/new-workspace.md": "4da5355de8f19485",
"gsd-core/workflows/next.md": "8ddf186b8970df72",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "1c1e466c764e3deb",
"gsd-core/workflows/onboard.md": "7d0c7449b84c7997",
"gsd-core/workflows/pause-work.md": "5716362557f44ce4",
"gsd-core/workflows/plan-milestone-gaps.md": "1b43d12812f7bc1e",
"gsd-core/workflows/plan-phase.md": "862053b9255b27d5",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "e06ccd4d4c0703fb",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "3bed01c3c906ac52",
"gsd-core/workflows/plan-review-convergence.md": "b2783918bccc0e27",
"gsd-core/workflows/plant-seed.md": "3c36a48064aa98d1",
"gsd-core/workflows/pr-branch.md": "c67d90c65da47168",
"gsd-core/workflows/profile-user.md": "e1a6ec04051931f7",
"gsd-core/workflows/progress.md": "2dbc495deed1a36d",
"gsd-core/workflows/quick.md": "e1b53ef41d76dbe8",
"gsd-core/workflows/reapply-patches.md": "ba9406b60f2c4041",
"gsd-core/workflows/remove-phase.md": "ada8a0546c686483",
"gsd-core/workflows/remove-workspace.md": "0572a83d71650937",
"gsd-core/workflows/resume-project.md": "7f8dc986f0f35d96",
"gsd-core/workflows/review.md": "907cf2747dfb833d",
"gsd-core/workflows/scan.md": "6b49ce7bcc615145",
"gsd-core/workflows/secure-phase.md": "950db6bc4cfb6803",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "bf8ea69c8f7ae019",
"gsd-core/workflows/settings-integrations.md": "37d4212d83664224",
"gsd-core/workflows/settings.md": "f90f106a9490c7c9",
"gsd-core/workflows/ship.md": "253f80ad6e1bee08",
"gsd-core/workflows/sketch-wrap-up.md": "5be73b7bdf96b539",
"gsd-core/workflows/sketch.md": "64543e59b00637d4",
"gsd-core/workflows/smart-entry.md": "fdc5113754223df8",
"gsd-core/workflows/spec-phase.md": "239b6e6cbddaf8c2",
"gsd-core/workflows/spike-wrap-up.md": "4a3bf1058691e55d",
"gsd-core/workflows/spike.md": "4cb55efeeacc9661",
"gsd-core/workflows/stats.md": "e7852c5d8f2b05a9",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "bf9a944978dad763",
"gsd-core/workflows/transition.md": "fb35a3de7feaa056",
"gsd-core/workflows/ui-phase.md": "b177bba31d448d31",
"gsd-core/workflows/ui-review.md": "7683595f11d98e40",
"gsd-core/workflows/ultraplan-phase.md": "466e01d65c350ef6",
"gsd-core/workflows/undo.md": "052c99f02bb5eb0a",
"gsd-core/workflows/update.md": "1cefe4c58755e05f",
"gsd-core/workflows/validate-phase.md": "3c87426aff05a649",
"gsd-core/workflows/verify-phase.md": "b8cca6ef3be502b9",
"gsd-core/workflows/verify-work.md": "a96c38f2cc9a0a0f",
"hooks/gsd-cursor-post-tool.js": "019d503aee8b4a3f",
"hooks/gsd-cursor-pre-tool.js": "fe274720781fcbb5",
"hooks/gsd-cursor-session-start.js": "928fddd165e17b7b",
"hooks/gsd-cursor-stop.js": "cce2bf0e14e267a1",
"hooks/gsd-cursor-subagent-start.js": "bb004049f0e49aa9",
"hooks/gsd-cursor-subagent-stop.js": "8da03aad6bb05d3f",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "1719810d0f8dd79e",
"skills/gsd-ai-integration-phase/SKILL.md": "56ee07ad9596c6f3",
"skills/gsd-audit-fix/SKILL.md": "2d2ee3894efbee1c",
"skills/gsd-audit-milestone/SKILL.md": "d953bd7170402fc3",
"skills/gsd-audit-uat/SKILL.md": "97794348d617f873",
"skills/gsd-autonomous/SKILL.md": "93eaad5fa3cb4d5a",
"skills/gsd-capture/SKILL.md": "0a3e8e1ec622ac20",
"skills/gsd-cleanup/SKILL.md": "1c15f1f846614fdf",
"skills/gsd-code-review/SKILL.md": "20510d2cdc0a087b",
"skills/gsd-complete-milestone/SKILL.md": "409785384c03e9a1",
"skills/gsd-config/SKILL.md": "bfb2c9a68658ea8a",
"skills/gsd-debug/SKILL.md": "9b9bd960dec805a6",
"skills/gsd-discuss-phase/SKILL.md": "528dde84ab54176b",
"skills/gsd-docs-update/SKILL.md": "be12b6b48447df38",
"skills/gsd-eval-review/SKILL.md": "892d1f5fb5665941",
"skills/gsd-execute-phase/SKILL.md": "e866ad459c9b0f5b",
"skills/gsd-explore/SKILL.md": "68c3b41f8203e7d4",
"skills/gsd-extract-learnings/SKILL.md": "9356725f248182f1",
"skills/gsd-fast/SKILL.md": "7348338dca150e4b",
"skills/gsd-forensics/SKILL.md": "dca13ed03d434edc",
"skills/gsd-graphify/SKILL.md": "1dd14bfcdb6d0f1b",
"skills/gsd-health/SKILL.md": "6b18ac9d649f63a8",
"skills/gsd-help/SKILL.md": "d159ee08c7fc95a4",
"skills/gsd-import/SKILL.md": "01ebb01767d47e8b",
"skills/gsd-inbox/SKILL.md": "8f7e1c95413968d5",
"skills/gsd-ingest-docs/SKILL.md": "1a2e87caa9011682",
"skills/gsd-manager/SKILL.md": "8a506b1b8b3841c3",
"skills/gsd-map-codebase/SKILL.md": "74a827b893d70dfa",
"skills/gsd-mempalace-capture/SKILL.md": "ff7e3bcfa0d23d5f",
"skills/gsd-mempalace-recall/SKILL.md": "04364d3012644204",
"skills/gsd-milestone-summary/SKILL.md": "1d0b245b74176236",
"skills/gsd-mvp-phase/SKILL.md": "485356f67c196015",
"skills/gsd-new-milestone/SKILL.md": "882af2f4995929b7",
"skills/gsd-new-project/SKILL.md": "daad247764b4e466",
"skills/gsd-next/SKILL.md": "ef4221025da5ed3a",
"skills/gsd-ns-context/SKILL.md": "adf3509008907983",
"skills/gsd-ns-ideate/SKILL.md": "701590ef59fefa9c",
"skills/gsd-ns-manage/SKILL.md": "2820ca89ec707808",
"skills/gsd-ns-project/SKILL.md": "799f9651be83ec24",
"skills/gsd-ns-review/SKILL.md": "1dac39c855555b0b",
"skills/gsd-ns-workflow/SKILL.md": "975c89ee2846b40c",
"skills/gsd-onboard/SKILL.md": "c7f216749ba4c09c",
"skills/gsd-pause-work/SKILL.md": "7d310e7329b7ae7d",
"skills/gsd-phase/SKILL.md": "49fca93e5f2ccc70",
"skills/gsd-plan-phase/SKILL.md": "848d571bd385a0f4",
"skills/gsd-plan-review-convergence/SKILL.md": "3e13dd1bf82f74c0",
"skills/gsd-pr-branch/SKILL.md": "a8f8838a6aa5e1dd",
"skills/gsd-profile-user/SKILL.md": "3be8d50399836ef2",
"skills/gsd-progress/SKILL.md": "1245ea9e6af6ae25",
"skills/gsd-quick/SKILL.md": "05670e9238811a5f",
"skills/gsd-resume-work/SKILL.md": "6c8b592295a2edc9",
"skills/gsd-review-backlog/SKILL.md": "b1070503042ddb13",
"skills/gsd-review/SKILL.md": "27bb3cfc1f54f650",
"skills/gsd-secure-phase/SKILL.md": "02828a6254eae50e",
"skills/gsd-settings/SKILL.md": "8f32c4a4085bc72a",
"skills/gsd-ship/SKILL.md": "c54eb2511f8e8417",
"skills/gsd-sketch/SKILL.md": "a1ce42548d7287bd",
"skills/gsd-spec-phase/SKILL.md": "7cfdb9fc879d9b6b",
"skills/gsd-spike/SKILL.md": "c9b2e4ab15ade118",
"skills/gsd-stats/SKILL.md": "5796e221ab9ab7ae",
"skills/gsd-surface/SKILL.md": "d219dd20380caa2f",
"skills/gsd-thread/SKILL.md": "a73159bc8269dd68",
"skills/gsd-ui-phase/SKILL.md": "c69cbdf977e2a840",
"skills/gsd-ui-review/SKILL.md": "fbed8745f1abb289",
"skills/gsd-ultraplan-phase/SKILL.md": "749373bb067636fa",
"skills/gsd-undo/SKILL.md": "6ebcaaaea575bf85",
"skills/gsd-update/SKILL.md": "df643c197bd9ad5e",
"skills/gsd-validate-phase/SKILL.md": "10a5d3f8de0d9683",
"skills/gsd-verify-work/SKILL.md": "eec11aab679a8116",
"skills/gsd-workspace/SKILL.md": "c2e42b0b5c105991",
"skills/gsd-workstreams/SKILL.md": "14f44c061fef78f8"
}

View File

@@ -1,445 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "c4a285ff34429381",
"agents/gsd-advisor-researcher.md": "f1c4a47d3d8cea72",
"agents/gsd-ai-researcher.md": "08847faf5494ff08",
"agents/gsd-assumptions-analyzer.md": "f11a80795163bb5d",
"agents/gsd-code-fixer.md": "94628312f25decb5",
"agents/gsd-code-reviewer.md": "5ef947ca5baed775",
"agents/gsd-codebase-mapper.md": "4749858e8e97f1d2",
"agents/gsd-debug-session-manager.md": "cc2a5c12354fd0df",
"agents/gsd-debugger.md": "3b00e344e8200dce",
"agents/gsd-doc-classifier.md": "29b563a146c9d22c",
"agents/gsd-doc-synthesizer.md": "652beb928e93fa1d",
"agents/gsd-doc-verifier.md": "d3d8457bdd44bf10",
"agents/gsd-doc-writer.md": "2858a8335170e85c",
"agents/gsd-domain-researcher.md": "412cdbb05ba252ea",
"agents/gsd-eval-auditor.md": "4ffb265063c318e5",
"agents/gsd-eval-planner.md": "03448fc9c5774b56",
"agents/gsd-executor.md": "481d921115690b41",
"agents/gsd-framework-selector.md": "ea9981d65d6b3429",
"agents/gsd-integration-checker.md": "35b4f2969d279871",
"agents/gsd-intel-updater.md": "5fe5edfae2719cb8",
"agents/gsd-mempalace-curator.md": "399e90e473b33814",
"agents/gsd-nyquist-auditor.md": "8bfde4a9a36318aa",
"agents/gsd-pattern-mapper.md": "cea092600aeb3978",
"agents/gsd-phase-researcher.md": "2bd0402f33d757ca",
"agents/gsd-plan-checker.md": "c31dc063b5506aaf",
"agents/gsd-planner.md": "3be8aff696060e6c",
"agents/gsd-project-researcher.md": "425a7df7f37a5c06",
"agents/gsd-research-synthesizer.md": "9d31c87fc2c87ffa",
"agents/gsd-roadmapper.md": "64dce5d5f9fa5654",
"agents/gsd-security-auditor.md": "ed330ecbd9dbc377",
"agents/gsd-ui-auditor.md": "86797e85f718dfac",
"agents/gsd-ui-checker.md": "cfc8a3bac0a0ef5b",
"agents/gsd-ui-researcher.md": "8799b6013e06ae49",
"agents/gsd-user-profiler.md": "ca3bf75581f211a0",
"agents/gsd-verifier.md": "de64454ee98634cd",
"gsd-core/.gsd-runtime": "d53ba9ce30ffd743",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "3a3409215044af9f",
"gsd-core/bin/gsd-tools.cjs": "e2c74ef42f582c9d",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "892f086e846cd8e4",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "6e4b08a89c485c71",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6e9dbeb47e90493f",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "fd9b10fffb3bd052",
"gsd-core/references/debugger-fix-acceptance.md": "b04b913d5ea0ac90",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "8318008696c1e0b2",
"gsd-core/references/debugger-sbfl.md": "70e699200f6197e0",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "4d6ea8e85e88b1fe",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "b13d8860a76b7a41",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "12d23fcbaa7fcf06",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "769d1472c989cd54",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "7135dd5d81246b0e",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "a3fc0f81fbb5121d",
"gsd-core/references/model-profiles.md": "6012c3b53473f04f",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "8f98bc9d5956a004",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "140b1266eeb096cb",
"gsd-core/references/planner-human-verify-mode.md": "6cfa61ca5f6c1879",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "8f598e08696843c0",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "207597aadbb12108",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "52872d5393ea9daf",
"gsd-core/references/project-skills-discovery.md": "0885d973eeac5234",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "c6d28ea1a820af7e",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "fba5dfb6ed07bbc2",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "15ebe63b708d46b8",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "50ddf79d58950730",
"gsd-core/references/worktree-branch-check.md": "ecfbf0e65dd8ccac",
"gsd-core/references/worktree-path-safety.md": "fa79fcdff2aaa5f0",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "89560317a9097a05",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "7c778398f79e25a3",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "6f968b6bb6e1982f",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "855f2457818b4955",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "213ccd947451ff2b",
"gsd-core/templates/planner-subagent-prompt.md": "d2a1373a1d8f53ae",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "79a453a2270483fb",
"gsd-core/workflows/add-phase.md": "2a6452fc51339b9c",
"gsd-core/workflows/add-tests.md": "beaec899e9a70b0e",
"gsd-core/workflows/add-todo.md": "aa7be08f52478922",
"gsd-core/workflows/ai-integration-phase.md": "fc161460e4eb193b",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "7e1d184ffde7aa34",
"gsd-core/workflows/audit-milestone.md": "53b4f196583d0a39",
"gsd-core/workflows/audit-uat.md": "86d9131fccabf2ad",
"gsd-core/workflows/autonomous.md": "b1d848b753564dad",
"gsd-core/workflows/check-todos.md": "ab38b0c7190b93c4",
"gsd-core/workflows/cleanup.md": "c811970042bc4ff1",
"gsd-core/workflows/code-review-fix.md": "d8f074c1ae9ebdf3",
"gsd-core/workflows/code-review.md": "88e6ce8cb2f7310f",
"gsd-core/workflows/complete-milestone.md": "e87bf463430945d6",
"gsd-core/workflows/debug.md": "1784b5f8edd05f2c",
"gsd-core/workflows/diagnose-issues.md": "bc0dd9eb0fc5195a",
"gsd-core/workflows/discovery-phase.md": "56d07842d140f388",
"gsd-core/workflows/discuss-phase-assumptions.md": "5f1e46806c372d23",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "0aa052ae4ee70bf6",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "624db27cd84c4626",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "af2d9d6ebb3f69c9",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "eff83e92368c983a",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "e6d930e2b6769e49",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "b30d1efcb0297580",
"gsd-core/workflows/docs-update.md": "c017abde0209656e",
"gsd-core/workflows/edit-phase.md": "7f27003f20e88fb8",
"gsd-core/workflows/eval-review.md": "6d1c9c167f91b0f8",
"gsd-core/workflows/execute-phase.md": "e66dfb357797ab51",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "9b2193de25506b3b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "4dfefdd56d814d06",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "26ee34c543926402",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "362123fdf99e9980",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "a691e3afe88031b8",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "0c5e0455252b5a46",
"gsd-core/workflows/explore.md": "843e66f101a56dfa",
"gsd-core/workflows/extract-learnings.md": "7f44f65fbf32a427",
"gsd-core/workflows/fast.md": "c801145115755524",
"gsd-core/workflows/forensics.md": "91961b811917c5c4",
"gsd-core/workflows/graduation.md": "938c71f1e7650da0",
"gsd-core/workflows/health.md": "6ea6ceba2568909b",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "8874dac94eb68ae6",
"gsd-core/workflows/help/modes/full.md": "4df9dedd9a131071",
"gsd-core/workflows/help/modes/topic.md": "6e42db16f1568be9",
"gsd-core/workflows/import.md": "ac5993e79d809fd4",
"gsd-core/workflows/inbox.md": "20159d4f9a1fca7f",
"gsd-core/workflows/ingest-docs.md": "1625f5660f6d32c7",
"gsd-core/workflows/insert-phase.md": "a0537c09191121f6",
"gsd-core/workflows/list-phase-assumptions.md": "2a6b6a5acfb7742c",
"gsd-core/workflows/list-seeds.md": "ad1d81683e48c4e1",
"gsd-core/workflows/list-workspaces.md": "1fe28ba52cee1394",
"gsd-core/workflows/manager.md": "f0eb25349617495b",
"gsd-core/workflows/map-codebase.md": "0c956951dc52fd11",
"gsd-core/workflows/milestone-summary.md": "353fffb60749d892",
"gsd-core/workflows/mvp-phase.md": "593faf3ec49b26d0",
"gsd-core/workflows/new-milestone.md": "a2a2e318ca566cd3",
"gsd-core/workflows/new-project.md": "96f95fc63edda4e9",
"gsd-core/workflows/new-workspace.md": "5e4ace6da343b8a8",
"gsd-core/workflows/next.md": "55002eb30ab4193e",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "42b66686b2c102cb",
"gsd-core/workflows/onboard.md": "0f0af11294d31715",
"gsd-core/workflows/pause-work.md": "ae2d5789a95f70fe",
"gsd-core/workflows/plan-milestone-gaps.md": "c86cdc1964256b98",
"gsd-core/workflows/plan-phase.md": "17b40d35982556f3",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "9607e6d03e93c1c2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "62f8e4f3b475fe5f",
"gsd-core/workflows/plan-review-convergence.md": "3e6356a922e4fe77",
"gsd-core/workflows/plant-seed.md": "4643bc78faaf9005",
"gsd-core/workflows/pr-branch.md": "ecabd55e4eabf229",
"gsd-core/workflows/profile-user.md": "877c2c9b3ab8742c",
"gsd-core/workflows/progress.md": "589f60eb809c0bb9",
"gsd-core/workflows/quick.md": "0c826ca484b1ba41",
"gsd-core/workflows/reapply-patches.md": "158083a310859594",
"gsd-core/workflows/remove-phase.md": "fce799aae3ab2715",
"gsd-core/workflows/remove-workspace.md": "42029a7559f1d8fb",
"gsd-core/workflows/resume-project.md": "a0443839f1f83c2d",
"gsd-core/workflows/review.md": "272f7d8befd51657",
"gsd-core/workflows/scan.md": "b04522820db04e51",
"gsd-core/workflows/secure-phase.md": "4c44df1c96be27ca",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "49be159144d7f426",
"gsd-core/workflows/settings-integrations.md": "75405795c8462a8a",
"gsd-core/workflows/settings.md": "41c0f737bfd311fd",
"gsd-core/workflows/ship.md": "cfee017dc9a3d4e4",
"gsd-core/workflows/sketch-wrap-up.md": "f1ece50ac65ea281",
"gsd-core/workflows/sketch.md": "592283400d70317b",
"gsd-core/workflows/smart-entry.md": "4dc50d4af659c651",
"gsd-core/workflows/spec-phase.md": "6ace28390408475f",
"gsd-core/workflows/spike-wrap-up.md": "367325e6d567b904",
"gsd-core/workflows/spike.md": "176cf0ecfc038581",
"gsd-core/workflows/stats.md": "49a991d0d3905a56",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "5a6759e01763c2a6",
"gsd-core/workflows/transition.md": "bcfaad44668d07fd",
"gsd-core/workflows/ui-phase.md": "22038d7e7952e371",
"gsd-core/workflows/ui-review.md": "aff735457e4d9267",
"gsd-core/workflows/ultraplan-phase.md": "0d103bf2622436f7",
"gsd-core/workflows/undo.md": "0a03405c0345fcf7",
"gsd-core/workflows/update.md": "72caebc54a750df9",
"gsd-core/workflows/validate-phase.md": "1369ec5a7e14a30a",
"gsd-core/workflows/verify-phase.md": "42f0fba74d069537",
"gsd-core/workflows/verify-work.md": "b9f227dcb7df57a4",
"hooks/gsd-check-update-worker.js": "7989cc2bedd1138d",
"hooks/gsd-check-update.js": "25f5ad726f76fc11",
"hooks/gsd-config-reload.js": "880b696458e85e9b",
"hooks/gsd-context-monitor.js": "b829f618e82406de",
"hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71",
"hooks/gsd-cursor-pre-tool.js": "8cb8e8f895edaec9",
"hooks/gsd-cursor-session-start.js": "c78754e3516853e4",
"hooks/gsd-cursor-stop.js": "c46dc9be21b75f50",
"hooks/gsd-cursor-subagent-start.js": "ec1ea84a9a589b0a",
"hooks/gsd-cursor-subagent-stop.js": "8ee488d826bf3c37",
"hooks/gsd-ensure-canonical-path.js": "7d116d7d65c50b4b",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "8284fcbcef0c2062",
"hooks/gsd-read-injection-scanner.js": "e85d29d90ca73ec2",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "3f59c6becf124608",
"hooks/gsd-update-banner.js": "b457746cb76c1957",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "41c59d9765ac36ae",
"hooks/gsd-worktree-path-guard.js": "37dd85a1591a4d8c",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "bc58c3a7609d7eae",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd/DESCRIPTION.md": "d93e29a1a09cfd11",
"skills/gsd/gsd-ns-context/SKILL.md": "bd883f6319dd2c81",
"skills/gsd/gsd-ns-context/skills/docs-update/SKILL.md": "b059b3045d5daf5c",
"skills/gsd/gsd-ns-context/skills/extract-learnings/SKILL.md": "36e59d6e514dcaf0",
"skills/gsd/gsd-ns-context/skills/graphify/SKILL.md": "169eefd42c444cde",
"skills/gsd/gsd-ns-context/skills/map-codebase/SKILL.md": "9d36eee52586bb34",
"skills/gsd/gsd-ns-context/skills/mempalace-capture/SKILL.md": "b55a640c7bae4c97",
"skills/gsd/gsd-ns-context/skills/mempalace-recall/SKILL.md": "5d06922e0d7ab7d9",
"skills/gsd/gsd-ns-ideate/SKILL.md": "b36bb4700ed6723a",
"skills/gsd/gsd-ns-ideate/skills/capture/SKILL.md": "76fc7c1200124ece",
"skills/gsd/gsd-ns-ideate/skills/explore/SKILL.md": "bb39acf6117cb9ca",
"skills/gsd/gsd-ns-ideate/skills/sketch/SKILL.md": "2d9390383b2cd939",
"skills/gsd/gsd-ns-ideate/skills/spec-phase/SKILL.md": "848cec32c341713c",
"skills/gsd/gsd-ns-ideate/skills/spike/SKILL.md": "a87bf704b753cd06",
"skills/gsd/gsd-ns-manage/SKILL.md": "60bb07572d442561",
"skills/gsd/gsd-ns-manage/skills/cleanup/SKILL.md": "66c29a633fd54751",
"skills/gsd/gsd-ns-manage/skills/config/SKILL.md": "927cf658e1bd1c00",
"skills/gsd/gsd-ns-manage/skills/health/SKILL.md": "4401da73b980a4cc",
"skills/gsd/gsd-ns-manage/skills/help/SKILL.md": "0d4a5bfdc292096e",
"skills/gsd/gsd-ns-manage/skills/inbox/SKILL.md": "842ac7e207845549",
"skills/gsd/gsd-ns-manage/skills/manager/SKILL.md": "e02da9da44a8ddd7",
"skills/gsd/gsd-ns-manage/skills/pause-work/SKILL.md": "761f9ac48e63882f",
"skills/gsd/gsd-ns-manage/skills/pr-branch/SKILL.md": "8e9fc7da5290e7ac",
"skills/gsd/gsd-ns-manage/skills/resume-work/SKILL.md": "1d497e355ddfc0c9",
"skills/gsd/gsd-ns-manage/skills/settings/SKILL.md": "db053a82acb85969",
"skills/gsd/gsd-ns-manage/skills/ship/SKILL.md": "3f7e7023802a185d",
"skills/gsd/gsd-ns-manage/skills/stats/SKILL.md": "847f1a79382e05a3",
"skills/gsd/gsd-ns-manage/skills/surface/SKILL.md": "232dc849db8ec365",
"skills/gsd/gsd-ns-manage/skills/thread/SKILL.md": "12e14ca63fe5a982",
"skills/gsd/gsd-ns-manage/skills/undo/SKILL.md": "cb410bf1813a2d1e",
"skills/gsd/gsd-ns-manage/skills/update/SKILL.md": "433a236998c305b0",
"skills/gsd/gsd-ns-manage/skills/workspace/SKILL.md": "d655afc6f16565ed",
"skills/gsd/gsd-ns-manage/skills/workstreams/SKILL.md": "6893312eaf14dab0",
"skills/gsd/gsd-ns-project/SKILL.md": "6b3af15e7c4441c9",
"skills/gsd/gsd-ns-project/skills/audit-milestone/SKILL.md": "de0556f07d899e50",
"skills/gsd/gsd-ns-project/skills/complete-milestone/SKILL.md": "180cccc09bf99444",
"skills/gsd/gsd-ns-project/skills/import/SKILL.md": "bf781c7a0d83c2cd",
"skills/gsd/gsd-ns-project/skills/ingest-docs/SKILL.md": "a38273c6b6604830",
"skills/gsd/gsd-ns-project/skills/milestone-summary/SKILL.md": "c4bda5737f1137f8",
"skills/gsd/gsd-ns-project/skills/new-milestone/SKILL.md": "384b6754a950e6eb",
"skills/gsd/gsd-ns-project/skills/new-project/SKILL.md": "8f22ba75717b3c88",
"skills/gsd/gsd-ns-project/skills/onboard/SKILL.md": "1d8d06ac1f27dacd",
"skills/gsd/gsd-ns-project/skills/profile-user/SKILL.md": "5a8e01bc7b873a20",
"skills/gsd/gsd-ns-project/skills/review-backlog/SKILL.md": "f3ef97da4e9b1d4c",
"skills/gsd/gsd-ns-review/SKILL.md": "23fbadeca640e2bd",
"skills/gsd/gsd-ns-review/skills/audit-fix/SKILL.md": "4bc3b75acebc3f82",
"skills/gsd/gsd-ns-review/skills/audit-uat/SKILL.md": "c330007f3893f757",
"skills/gsd/gsd-ns-review/skills/code-review/SKILL.md": "9ce2b92032654820",
"skills/gsd/gsd-ns-review/skills/debug/SKILL.md": "d4145201fd86560b",
"skills/gsd/gsd-ns-review/skills/eval-review/SKILL.md": "940e0682291e93f9",
"skills/gsd/gsd-ns-review/skills/forensics/SKILL.md": "e05e2a39a14995b5",
"skills/gsd/gsd-ns-review/skills/review/SKILL.md": "c0d8452082aa1dd5",
"skills/gsd/gsd-ns-review/skills/secure-phase/SKILL.md": "1a70020fcb3c3d4a",
"skills/gsd/gsd-ns-review/skills/ui-phase/SKILL.md": "3207854a4f0fab67",
"skills/gsd/gsd-ns-review/skills/ui-review/SKILL.md": "512c54662616c3f9",
"skills/gsd/gsd-ns-review/skills/validate-phase/SKILL.md": "f2c31c34fc8e24c4",
"skills/gsd/gsd-ns-workflow/SKILL.md": "f54502a2c6bf5495",
"skills/gsd/gsd-ns-workflow/skills/add-tests/SKILL.md": "29e5863322ad6f2d",
"skills/gsd/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "97eb01851d368d50",
"skills/gsd/gsd-ns-workflow/skills/autonomous/SKILL.md": "3c9bc726e13c4916",
"skills/gsd/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "326303209b745eea",
"skills/gsd/gsd-ns-workflow/skills/execute-phase/SKILL.md": "a2e4e6211e09b3c0",
"skills/gsd/gsd-ns-workflow/skills/fast/SKILL.md": "c8517ba44da99147",
"skills/gsd/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "0804dfd4124526ba",
"skills/gsd/gsd-ns-workflow/skills/next/SKILL.md": "1d30cf6061d15168",
"skills/gsd/gsd-ns-workflow/skills/phase/SKILL.md": "610bd06d71198849",
"skills/gsd/gsd-ns-workflow/skills/plan-phase/SKILL.md": "20c30f2aa80a6145",
"skills/gsd/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "9f67e59967b3f5eb",
"skills/gsd/gsd-ns-workflow/skills/progress/SKILL.md": "6ec0e4715dde7ee2",
"skills/gsd/gsd-ns-workflow/skills/quick/SKILL.md": "65e377345e9c49a8",
"skills/gsd/gsd-ns-workflow/skills/spec-phase/SKILL.md": "848cec32c341713c",
"skills/gsd/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "3a88dde399df4e63",
"skills/gsd/gsd-ns-workflow/skills/verify-work/SKILL.md": "3bedfdb2aeeb3804"
}

View File

@@ -1,516 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "5a791a3c4ae9eb23",
"agents/gsd-advisor-researcher.md": "3296fc4edef47f2e",
"agents/gsd-ai-researcher.md": "9607993fbaafe9ba",
"agents/gsd-assumptions-analyzer.md": "567d823ccd036b39",
"agents/gsd-code-fixer.md": "9652d5b56a2afbf5",
"agents/gsd-code-reviewer.md": "922c08885bc78662",
"agents/gsd-codebase-mapper.md": "1f45939542994a42",
"agents/gsd-debug-session-manager.md": "0c58daac3de75755",
"agents/gsd-debugger.md": "aab7ddbbdc75f6c8",
"agents/gsd-doc-classifier.md": "6256bbc0b887f60f",
"agents/gsd-doc-synthesizer.md": "212aaf89a34b51d7",
"agents/gsd-doc-verifier.md": "8016f792d0766b77",
"agents/gsd-doc-writer.md": "72a21cf92542f6c0",
"agents/gsd-domain-researcher.md": "a3874d80bcbc7380",
"agents/gsd-eval-auditor.md": "630d4cd3bd6ea195",
"agents/gsd-eval-planner.md": "3db12cde12aeb2c1",
"agents/gsd-executor.md": "9ac9bf30383cf94c",
"agents/gsd-framework-selector.md": "ad5f2c6b9bec6270",
"agents/gsd-integration-checker.md": "c503e2f4a3d8ec05",
"agents/gsd-intel-updater.md": "231393da62a45b2e",
"agents/gsd-mempalace-curator.md": "c6a7fe754b6ca5e1",
"agents/gsd-nyquist-auditor.md": "7bc3cc159c7be987",
"agents/gsd-pattern-mapper.md": "6a5408fd11d70391",
"agents/gsd-phase-researcher.md": "94818f28c498bb26",
"agents/gsd-plan-checker.md": "2546e311f7e8e0e8",
"agents/gsd-planner.md": "e6bc5cf0ac9e9c06",
"agents/gsd-project-researcher.md": "60573a38d3dfd9fe",
"agents/gsd-research-synthesizer.md": "1f7cd286c5783c86",
"agents/gsd-roadmapper.md": "277e0a3252553ab7",
"agents/gsd-security-auditor.md": "30b1f87cdfc05de1",
"agents/gsd-ui-auditor.md": "9b988b95d28e56ed",
"agents/gsd-ui-checker.md": "e078ea5a07313976",
"agents/gsd-ui-researcher.md": "cc9578c4f686d926",
"agents/gsd-user-profiler.md": "b8cb09319c517701",
"agents/gsd-verifier.md": "49a733b54fa955c2",
"command/gsd-add-tests.md": "c314f9a6be312bfa",
"command/gsd-ai-integration-phase.md": "9c47e446af993c53",
"command/gsd-audit-fix.md": "4106e9dce9b71585",
"command/gsd-audit-milestone.md": "0f627d956b5030ed",
"command/gsd-audit-uat.md": "119f204ca3cd0cd6",
"command/gsd-autonomous.md": "b85f720c4675d567",
"command/gsd-capture.md": "678c0ff889b2ad77",
"command/gsd-cleanup.md": "36cfddb3528b7c46",
"command/gsd-code-review.md": "a60c5b90d7d40c43",
"command/gsd-complete-milestone.md": "c7f5d90ab35bfff6",
"command/gsd-config.md": "3ec39530e1569ea7",
"command/gsd-debug.md": "aa1b885755bf3469",
"command/gsd-discuss-phase.md": "718155162fa3557a",
"command/gsd-docs-update.md": "d9d1d24eba748102",
"command/gsd-eval-review.md": "6f0737654a3fd4bb",
"command/gsd-execute-phase.md": "ce4cdfb79eaf6403",
"command/gsd-explore.md": "c161fa4bf2caceef",
"command/gsd-extract-learnings.md": "d18cbd1a3a03f845",
"command/gsd-fast.md": "66cc15c968a72270",
"command/gsd-forensics.md": "219d4a8d7241603a",
"command/gsd-graphify.md": "043152b6c9d82538",
"command/gsd-health.md": "4e45942f1cc53493",
"command/gsd-help.md": "4ae69106952f5d23",
"command/gsd-import.md": "8038513633f0470b",
"command/gsd-inbox.md": "1429fc7f556337c3",
"command/gsd-ingest-docs.md": "e655ecf1d4433ba9",
"command/gsd-manager.md": "1cdc133079833552",
"command/gsd-map-codebase.md": "704cb63214f51523",
"command/gsd-mempalace-capture.md": "081236c25ce5b337",
"command/gsd-mempalace-recall.md": "d358cdd89c935877",
"command/gsd-milestone-summary.md": "4ab29b777f62f0bb",
"command/gsd-mvp-phase.md": "273a1c26ca13274b",
"command/gsd-new-milestone.md": "dbf06cebb4c10039",
"command/gsd-new-project.md": "f2763e2ccbb70ebe",
"command/gsd-next.md": "dfdcfb2fd79957fa",
"command/gsd-ns-context.md": "9a2b55b64f2e1e4b",
"command/gsd-ns-ideate.md": "27e7fcdc69eeeb5f",
"command/gsd-ns-manage.md": "eded59052ca4b240",
"command/gsd-ns-project.md": "c56395edb9bc7467",
"command/gsd-ns-review.md": "61fe33e28eb1b961",
"command/gsd-ns-workflow.md": "13c1ab91080c0cc3",
"command/gsd-onboard.md": "3e87a21c9c04f0d7",
"command/gsd-pause-work.md": "04e993b1c9f8322b",
"command/gsd-phase.md": "8f0e98dc6c223229",
"command/gsd-plan-phase.md": "7a7f244d9523bc55",
"command/gsd-plan-review-convergence.md": "b957f86414b6c73f",
"command/gsd-pr-branch.md": "68e724607de3c480",
"command/gsd-profile-user.md": "9704158b2d79cad2",
"command/gsd-progress.md": "cba4805469307416",
"command/gsd-quick.md": "704662b2172df14d",
"command/gsd-resume-work.md": "e4bb44fb2e8076c0",
"command/gsd-review-backlog.md": "1e99d6a7a3806fa5",
"command/gsd-review.md": "1e14af38d6d421b3",
"command/gsd-secure-phase.md": "65eb1cd3fa6430a5",
"command/gsd-settings.md": "9bf5d13f13f7d49c",
"command/gsd-ship.md": "c0ae46a2cbc7a2b4",
"command/gsd-sketch.md": "5237dfdbb55735db",
"command/gsd-spec-phase.md": "8f8e3e109ebb7011",
"command/gsd-spike.md": "fdcb1ae289790818",
"command/gsd-stats.md": "b54c0d533cff9710",
"command/gsd-surface.md": "e2e7898a020a954b",
"command/gsd-thread.md": "9c6a1900b3c57be6",
"command/gsd-ui-phase.md": "efeba2d2381173e3",
"command/gsd-ui-review.md": "35a12e93cddf266c",
"command/gsd-ultraplan-phase.md": "f2cfeb972bbb90f7",
"command/gsd-undo.md": "2522a6a2fbc1d0d2",
"command/gsd-update.md": "6f1d4ce787925990",
"command/gsd-validate-phase.md": "f647bae9dba988bb",
"command/gsd-verify-work.md": "d07409c940a6ff00",
"command/gsd-workspace.md": "9048133312f47fdc",
"command/gsd-workstreams.md": "5e57eed1881c3891",
"gsd-core/.gsd-runtime": "687db6a1b110b149",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "51b5d0ba5b1e98d9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "425dd69c629230e7",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "3986d58011bf9006",
"gsd-core/references/checkpoints.md": "d52116f59e92ca43",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "b2c7b1703642a342",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "49f94fe75cabba52",
"gsd-core/references/debugger-fix-acceptance.md": "b2732420bdbcadcd",
"gsd-core/references/debugger-philosophy.md": "459a8ac647c4ce9c",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "097c2da83d697566",
"gsd-core/references/debugger-sbfl.md": "391e732abf32786a",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "43e867720e736464",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "fbdf814a3af9c051",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "11d144acecab34fb",
"gsd-core/references/model-profiles.md": "6568ca29b6ee00d8",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "8f98bc9d5956a004",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "88a0cd714d33fe34",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "b791ceb40cb79d8c",
"gsd-core/references/planner-human-verify-mode.md": "3a625b42d9cb93ee",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "b7a4fb3d8215ac6a",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "52872d5393ea9daf",
"gsd-core/references/project-skills-discovery.md": "0ada2e0c44531865",
"gsd-core/references/questioning.md": "a083e5e3e16dd802",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "a602b41bfa081fdf",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "558870a1c4bc4c29",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "8e023a908d968af1",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "ac45d99076067f17",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "225910640adbb76d",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "72e93b7f650d9bae",
"gsd-core/templates/README.md": "73d3c9689b6efbc9",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "f35856254768bf7d",
"gsd-core/templates/codebase/architecture.md": "282db635ba093b1a",
"gsd-core/templates/codebase/concerns.md": "e66c584daa636fc5",
"gsd-core/templates/codebase/conventions.md": "c5f0324730852701",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "5b5dd37145241462",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "593d4e6d20fdde7c",
"gsd-core/templates/continue-here.md": "8b1dce4832c7922b",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "da4e8e266efdc6c2",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "2e6fd96c2cc26470",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "fae14114f2b79b10",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "b454f96fdf8b1d3d",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "8734f0df4df3a34b",
"gsd-core/templates/state.md": "a45a134631efe3f9",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "52abe2af968e8533",
"gsd-core/templates/user-setup.md": "1da2382725db080f",
"gsd-core/templates/verification-report.md": "78ab9264ce63ed7e",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "485c4b6673ddf832",
"gsd-core/workflows/add-phase.md": "b2c06b7ed648658c",
"gsd-core/workflows/add-tests.md": "cb6e4492adfcc5d4",
"gsd-core/workflows/add-todo.md": "edd50462079c77d0",
"gsd-core/workflows/ai-integration-phase.md": "5c0eac04bd0ad2d6",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "677638d4081117c5",
"gsd-core/workflows/audit-milestone.md": "41a36d6b6e85612b",
"gsd-core/workflows/audit-uat.md": "e11db0d74c2a7405",
"gsd-core/workflows/autonomous.md": "fa2e85a195c98636",
"gsd-core/workflows/check-todos.md": "27ab86858d04c7a9",
"gsd-core/workflows/cleanup.md": "1c669fc358db3e19",
"gsd-core/workflows/code-review-fix.md": "de6a7e241942be41",
"gsd-core/workflows/code-review.md": "34b6d139d5109f86",
"gsd-core/workflows/complete-milestone.md": "e507b10f26188186",
"gsd-core/workflows/debug.md": "78026708b07bba3b",
"gsd-core/workflows/diagnose-issues.md": "b64b0ba4ab7716e4",
"gsd-core/workflows/discovery-phase.md": "af5ec483093bcede",
"gsd-core/workflows/discuss-phase-assumptions.md": "e7917dda73e3a94f",
"gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383",
"gsd-core/workflows/discuss-phase.md": "bd4b26ba168bb51f",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "f8ae26ba4e07672b",
"gsd-core/workflows/discuss-phase/modes/all.md": "5ed71228ac96e728",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "e6d4ef26786946ea",
"gsd-core/workflows/discuss-phase/modes/batch.md": "78f6ef61690acb66",
"gsd-core/workflows/discuss-phase/modes/chain.md": "ecdb88a9aa70d5bf",
"gsd-core/workflows/discuss-phase/modes/default.md": "5d12f2593ae4a813",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "daf23a04b101ab38",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "04e4feee14772275",
"gsd-core/workflows/do.md": "ea068f5a797f2178",
"gsd-core/workflows/docs-update.md": "4bbc9fcc8fea78a0",
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
"gsd-core/workflows/eval-review.md": "fb3b8244d66972ee",
"gsd-core/workflows/execute-phase.md": "f0697801da646722",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "b1e6588cd32a6f08",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "731d2947b623be4f",
"gsd-core/workflows/explore.md": "e6c94f8b6f083109",
"gsd-core/workflows/extract-learnings.md": "13929ce8a04013e0",
"gsd-core/workflows/fast.md": "41a6568b873aef99",
"gsd-core/workflows/forensics.md": "c01da0178fb97b21",
"gsd-core/workflows/graduation.md": "636df3c43e9b3bca",
"gsd-core/workflows/health.md": "2be3dcec0d4865df",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "7a8c3e17336bd8d0",
"gsd-core/workflows/help/modes/topic.md": "0bf9ab39d7044d69",
"gsd-core/workflows/import.md": "d753481b47934dee",
"gsd-core/workflows/inbox.md": "f2b38be09a2dee08",
"gsd-core/workflows/ingest-docs.md": "731f118200eb2d94",
"gsd-core/workflows/insert-phase.md": "964ca91863a8749a",
"gsd-core/workflows/list-phase-assumptions.md": "e7b5e35c9452e3b3",
"gsd-core/workflows/list-seeds.md": "5a46337f55ae8453",
"gsd-core/workflows/list-workspaces.md": "418570fbc8b938da",
"gsd-core/workflows/manager.md": "2fadda5e3ebd3c4e",
"gsd-core/workflows/map-codebase.md": "415a1c9ce9da3ab8",
"gsd-core/workflows/milestone-summary.md": "25775eeb4e2747be",
"gsd-core/workflows/mvp-phase.md": "b2f6ba5de4c96180",
"gsd-core/workflows/new-milestone.md": "62a85a1d1c7627d6",
"gsd-core/workflows/new-project.md": "f89cd808d75beb36",
"gsd-core/workflows/new-workspace.md": "00162d8c32428d55",
"gsd-core/workflows/next.md": "7cf4607dc8138d1f",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "f8c2842a2217f776",
"gsd-core/workflows/onboard.md": "c8d9795021d4fce6",
"gsd-core/workflows/pause-work.md": "a6e5336c409fdc8b",
"gsd-core/workflows/plan-milestone-gaps.md": "1b43d12812f7bc1e",
"gsd-core/workflows/plan-phase.md": "05b86da6954ee8dd",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "f10975692cbd036e",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "2057c9018cdb6d20",
"gsd-core/workflows/plant-seed.md": "107bfe8f5b2a7843",
"gsd-core/workflows/pr-branch.md": "ab157cd8e49621dd",
"gsd-core/workflows/profile-user.md": "645f81d80c4775c4",
"gsd-core/workflows/progress.md": "172e4168e326ca61",
"gsd-core/workflows/quick.md": "e1d6700bef26dff1",
"gsd-core/workflows/reapply-patches.md": "becf9728cdb124c4",
"gsd-core/workflows/remove-phase.md": "ada8a0546c686483",
"gsd-core/workflows/remove-workspace.md": "f5dc82bb63e2efa4",
"gsd-core/workflows/resume-project.md": "7f8dc986f0f35d96",
"gsd-core/workflows/review.md": "cb218a57c772a041",
"gsd-core/workflows/scan.md": "e9e28d23375dfe10",
"gsd-core/workflows/secure-phase.md": "d094bed752dd2c94",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "edd858cd6cfddaf1",
"gsd-core/workflows/settings-integrations.md": "3ec4f77c421b87b4",
"gsd-core/workflows/settings.md": "0e3cf91e952b48a2",
"gsd-core/workflows/ship.md": "ab02688abfa65d9e",
"gsd-core/workflows/sketch-wrap-up.md": "888c0548e63197b3",
"gsd-core/workflows/sketch.md": "75ffbd233fd9a762",
"gsd-core/workflows/smart-entry.md": "2ad5b63a9deea0ce",
"gsd-core/workflows/spec-phase.md": "a5f3de15eeb7ce72",
"gsd-core/workflows/spike-wrap-up.md": "458230d4d7c44b09",
"gsd-core/workflows/spike.md": "30d080d99b2555ca",
"gsd-core/workflows/stats.md": "e7852c5d8f2b05a9",
"gsd-core/workflows/sync-skills.md": "dc7b8b015afa4b3b",
"gsd-core/workflows/thread.md": "3b2c560d7189576d",
"gsd-core/workflows/transition.md": "590128488fe2ad66",
"gsd-core/workflows/ui-phase.md": "39da57b4bd093d83",
"gsd-core/workflows/ui-review.md": "c251d4c9a5ad047e",
"gsd-core/workflows/ultraplan-phase.md": "29245758b8497fa0",
"gsd-core/workflows/undo.md": "774615a01c20e4a3",
"gsd-core/workflows/update.md": "7f0d3148d851b8f6",
"gsd-core/workflows/validate-phase.md": "359983cf0b92e6de",
"gsd-core/workflows/verify-phase.md": "b8cca6ef3be502b9",
"gsd-core/workflows/verify-work.md": "c7b27185e935e056",
"hooks/gsd-check-update-worker.js": "c992bbad91d0e994",
"hooks/gsd-check-update.js": "fdd77abe7ef26a2d",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "6578822a701b2a94",
"hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
"hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
"hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
"hooks/gsd-cursor-stop.js": "80de723949cee847",
"hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
"hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
"hooks/gsd-ensure-canonical-path.js": "3ce09b366839d324",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "af1d4cbe4ea912ba",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "69a706d0d86f0c8d",
"hooks/gsd-update-banner.js": "55143a25f978f301",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
"hooks/gsd-worktree-path-guard.js": "9734e43bee1d7d2e",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "b63a879b8b3436bf",
"kilo.json": "13151e97ff23c1aa",
"package.json": "dbf8353f77358bc1",
"plugins/gsd-core.js": "eb1ac14ffd7abfae",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "addc3a220961a9c7",
"skills/gsd-ai-integration-phase/SKILL.md": "0b1553cb7f4c8f7a",
"skills/gsd-audit-fix/SKILL.md": "2c1f601f2fb52585",
"skills/gsd-audit-milestone/SKILL.md": "739ed755ad84e58e",
"skills/gsd-audit-uat/SKILL.md": "2c450432b6fd1c3e",
"skills/gsd-autonomous/SKILL.md": "37dc7b78ceb74803",
"skills/gsd-capture/SKILL.md": "6536a7dcc4ef6c46",
"skills/gsd-cleanup/SKILL.md": "a578d6536b9cabc3",
"skills/gsd-code-review/SKILL.md": "c0db8e37e7133bd8",
"skills/gsd-complete-milestone/SKILL.md": "048fd8cf3f502433",
"skills/gsd-config/SKILL.md": "5d6f52a964d06e4d",
"skills/gsd-debug/SKILL.md": "f5ca8a5780d89659",
"skills/gsd-discuss-phase/SKILL.md": "d9465728b0582991",
"skills/gsd-docs-update/SKILL.md": "d150afd41a25ec08",
"skills/gsd-eval-review/SKILL.md": "c76022e94ee30cb1",
"skills/gsd-execute-phase/SKILL.md": "e0a4298151e692b3",
"skills/gsd-explore/SKILL.md": "d8e26a5ed95a4ecc",
"skills/gsd-extract-learnings/SKILL.md": "d39269bea995fabc",
"skills/gsd-fast/SKILL.md": "8773badbed73f5b1",
"skills/gsd-forensics/SKILL.md": "68952d0d846737ff",
"skills/gsd-graphify/SKILL.md": "dfe8264197d8e525",
"skills/gsd-health/SKILL.md": "74a68e1c1b310bef",
"skills/gsd-help/SKILL.md": "8d01c91265b6357f",
"skills/gsd-import/SKILL.md": "f76076ae9fbc8b1d",
"skills/gsd-inbox/SKILL.md": "34370c6138415209",
"skills/gsd-ingest-docs/SKILL.md": "f049f06a6ec7da43",
"skills/gsd-manager/SKILL.md": "a37ecdbe32952262",
"skills/gsd-map-codebase/SKILL.md": "e06d6ac1b7632cbe",
"skills/gsd-mempalace-capture/SKILL.md": "ddb5c1322d6237ad",
"skills/gsd-mempalace-recall/SKILL.md": "2091c48e6e986e28",
"skills/gsd-milestone-summary/SKILL.md": "da645171ca2299d8",
"skills/gsd-mvp-phase/SKILL.md": "eeb0ac0f88647475",
"skills/gsd-new-milestone/SKILL.md": "bc8989d97f3161ad",
"skills/gsd-new-project/SKILL.md": "c08047e101dbac9c",
"skills/gsd-next/SKILL.md": "3856471d0f64bf09",
"skills/gsd-ns-context/SKILL.md": "110fb2227bcde535",
"skills/gsd-ns-ideate/SKILL.md": "d093d59a8519decc",
"skills/gsd-ns-manage/SKILL.md": "2756981de613022e",
"skills/gsd-ns-project/SKILL.md": "56d3d8a321d267f8",
"skills/gsd-ns-review/SKILL.md": "680bdd33c882b049",
"skills/gsd-ns-workflow/SKILL.md": "579b7f0dac74e1fb",
"skills/gsd-onboard/SKILL.md": "0e3cc902f44b41b8",
"skills/gsd-pause-work/SKILL.md": "34366b18a392a717",
"skills/gsd-phase/SKILL.md": "64a241d4f8665aa2",
"skills/gsd-plan-phase/SKILL.md": "163fb90e26285762",
"skills/gsd-plan-review-convergence/SKILL.md": "db311b1dbb0024d1",
"skills/gsd-pr-branch/SKILL.md": "a80da6aa95efc50d",
"skills/gsd-profile-user/SKILL.md": "4ac2c5ea45d17a9d",
"skills/gsd-progress/SKILL.md": "493f467c22d55b6b",
"skills/gsd-quick/SKILL.md": "605e596c680cbb1c",
"skills/gsd-resume-work/SKILL.md": "0c92e4a51d1b6d94",
"skills/gsd-review-backlog/SKILL.md": "27a9dbfe92e5d04c",
"skills/gsd-review/SKILL.md": "a967b30f10269e15",
"skills/gsd-secure-phase/SKILL.md": "ceded474164b4e2d",
"skills/gsd-settings/SKILL.md": "4587e4bef7b8942c",
"skills/gsd-ship/SKILL.md": "4ad9695934e069ee",
"skills/gsd-sketch/SKILL.md": "d062bef61ffe98a7",
"skills/gsd-spec-phase/SKILL.md": "749dee6f739b9b44",
"skills/gsd-spike/SKILL.md": "0938ac1386ca4a58",
"skills/gsd-stats/SKILL.md": "25898070fb2a4b20",
"skills/gsd-surface/SKILL.md": "0672169f8292ed7d",
"skills/gsd-thread/SKILL.md": "d5917840279459f1",
"skills/gsd-ui-phase/SKILL.md": "c35f175ccc747d56",
"skills/gsd-ui-review/SKILL.md": "48267dc071481a89",
"skills/gsd-ultraplan-phase/SKILL.md": "5de4d0d88ce11eb3",
"skills/gsd-undo/SKILL.md": "23c275bc4a127bde",
"skills/gsd-update/SKILL.md": "f2ed6c6d4d89c32c",
"skills/gsd-validate-phase/SKILL.md": "62dc6ae62bb38c16",
"skills/gsd-verify-work/SKILL.md": "9b185c0aa2e000a8",
"skills/gsd-workspace/SKILL.md": "f8eac0ef91888629",
"skills/gsd-workstreams/SKILL.md": "44c62598142837b9"
}

View File

@@ -1,443 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "69d7d1cb64e02085",
".kimi/hooks/gsd-check-update-worker.js": "6593f80914f4edee",
".kimi/hooks/gsd-check-update.js": "0f8b9e967af103fb",
".kimi/hooks/gsd-config-reload.js": "96546e0e8bb47904",
".kimi/hooks/gsd-context-monitor.js": "4c0535bc269e130e",
".kimi/hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
".kimi/hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
".kimi/hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
".kimi/hooks/gsd-cursor-stop.js": "80de723949cee847",
".kimi/hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
".kimi/hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
".kimi/hooks/gsd-ensure-canonical-path.js": "353a5d7bf6697acb",
".kimi/hooks/gsd-graphify-update.sh": "81d716df76159e60",
".kimi/hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
".kimi/hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
".kimi/hooks/gsd-read-guard.js": "54e1dcaaffe47693",
".kimi/hooks/gsd-read-injection-scanner.js": "c97a8a46a07058b2",
".kimi/hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
".kimi/hooks/gsd-statusline.js": "9a92a1986182921a",
".kimi/hooks/gsd-update-banner.js": "55143a25f978f301",
".kimi/hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
".kimi/hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
".kimi/hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
".kimi/hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
".kimi/hooks/gsd-worktree-path-guard.js": "d00a75505429355c",
".kimi/hooks/lib/cursor-workspace.js": "45061acd75d55a28",
".kimi/hooks/lib/git-cmd.js": "268ba15992ca0b23",
".kimi/hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
".kimi/hooks/managed-hooks-registry.cjs": "08ec2585a3f8f132",
".kimi/package.json": "dbf8353f77358bc1",
"agents/gsd-advisor-researcher.md": "f1c4a47d3d8cea72",
"agents/gsd-ai-researcher.md": "2f2da4b89d445860",
"agents/gsd-assumptions-analyzer.md": "f11a80795163bb5d",
"agents/gsd-code-fixer.md": "78549833f0411b0c",
"agents/gsd-code-reviewer.md": "7d94fe8bfa6661aa",
"agents/gsd-codebase-mapper.md": "3941bfc98c091018",
"agents/gsd-debug-session-manager.md": "7065bea4cedab2f6",
"agents/gsd-debugger.md": "7840ed78e3f662a8",
"agents/gsd-doc-classifier.md": "146acf4d176134b5",
"agents/gsd-doc-synthesizer.md": "b1f5e2eb28fa3659",
"agents/gsd-doc-verifier.md": "7ed4d9611f678a95",
"agents/gsd-doc-writer.md": "3ed3dc255d7eca8d",
"agents/gsd-domain-researcher.md": "049f588663814fa2",
"agents/gsd-eval-auditor.md": "54870d3b07433525",
"agents/gsd-eval-planner.md": "552e9fa164c51ce8",
"agents/gsd-executor.md": "ab4f1cbca7c22663",
"agents/gsd-framework-selector.md": "8a795f230436ad2e",
"agents/gsd-integration-checker.md": "c1760a0bbd4f7bf5",
"agents/gsd-intel-updater.md": "944f1d903e2e9e09",
"agents/gsd-mempalace-curator.md": "399e90e473b33814",
"agents/gsd-nyquist-auditor.md": "f2232a1be0835709",
"agents/gsd-pattern-mapper.md": "68ecefd60811a669",
"agents/gsd-phase-researcher.md": "2235f61764d8e969",
"agents/gsd-plan-checker.md": "f3caf89525709445",
"agents/gsd-planner.md": "88acabd0285bb25b",
"agents/gsd-project-researcher.md": "f572892f138734ff",
"agents/gsd-research-synthesizer.md": "29949bf3f049a8f1",
"agents/gsd-roadmapper.md": "840ac933e3b094f9",
"agents/gsd-security-auditor.md": "4b86fa11ebda981e",
"agents/gsd-ui-auditor.md": "76f446c50edf81f8",
"agents/gsd-ui-checker.md": "15949ccab982b71c",
"agents/gsd-ui-researcher.md": "0e8ec8509d476904",
"agents/gsd-user-profiler.md": "ca3bf75581f211a0",
"agents/gsd-verifier.md": "cd5bea62bf704829",
"gsd-core/.gsd-runtime": "9d2afd32abbcfa97",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6749084395889c6a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "77bf9dff38b2c9d4",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "e067ad3df6770db1",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "ab3b698fe23bab9b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "93d3426fc64e2c12",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "d1d333e4b963c0d2",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1bc7377b105194fc",
"gsd-core/workflows/add-phase.md": "ac43883e2d8e34d8",
"gsd-core/workflows/add-tests.md": "7e7268602f9e1b2a",
"gsd-core/workflows/add-todo.md": "5dc04cfaa0b6b072",
"gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "6174b6f87844973c",
"gsd-core/workflows/audit-uat.md": "fcfbec501620b564",
"gsd-core/workflows/autonomous.md": "aed5e67104346cc2",
"gsd-core/workflows/check-todos.md": "c484e472cff0e4e3",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155",
"gsd-core/workflows/code-review.md": "22b53c0d29508d57",
"gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a",
"gsd-core/workflows/debug.md": "3f0218b051c1afb1",
"gsd-core/workflows/diagnose-issues.md": "8a93b2aece3d79f0",
"gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858",
"gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "0c0465ba668adb33",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "5502a67de7776853",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "da6d45207da4a988",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "90df4f1fe248cdf3",
"gsd-core/workflows/docs-update.md": "fba7329f525c9463",
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
"gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac",
"gsd-core/workflows/execute-phase.md": "87111d41f6498208",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f7782680c2b8ad6b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "74de71f01739f7ac",
"gsd-core/workflows/explore.md": "3f3b4f83e23349bc",
"gsd-core/workflows/extract-learnings.md": "ab26f2cbb14efef2",
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
"gsd-core/workflows/forensics.md": "0d500a3f5ab26913",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "c25b5e5f62874c31",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "08a02976c0c5cc50",
"gsd-core/workflows/help/modes/full.md": "884a607679b95d8c",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "57abe514a9b0f6ac",
"gsd-core/workflows/inbox.md": "a7d439981775bc29",
"gsd-core/workflows/ingest-docs.md": "781799b47d282b37",
"gsd-core/workflows/insert-phase.md": "08dca838d831bb5b",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "b687f2a843032d65",
"gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453",
"gsd-core/workflows/manager.md": "c18fab593344253d",
"gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf",
"gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "8164a9abc301f143",
"gsd-core/workflows/new-project.md": "8d33ff0a282a2a46",
"gsd-core/workflows/new-workspace.md": "bbeb706c7a697617",
"gsd-core/workflows/next.md": "4e1eb6b46d15798d",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "f2b33bba5593d422",
"gsd-core/workflows/plan-milestone-gaps.md": "852f6d7c0c4299dc",
"gsd-core/workflows/plan-phase.md": "8c25006c81b99eed",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "49f58c3f75be3eb5",
"gsd-core/workflows/plan-review-convergence.md": "db69460dd4df0d29",
"gsd-core/workflows/plant-seed.md": "9596db80ab282c6f",
"gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b",
"gsd-core/workflows/profile-user.md": "37af07833c81a0bd",
"gsd-core/workflows/progress.md": "46c83ad61b3c4a84",
"gsd-core/workflows/quick.md": "fcc563eedb118943",
"gsd-core/workflows/reapply-patches.md": "39050f72601aec89",
"gsd-core/workflows/remove-phase.md": "df9a45f0b1880999",
"gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe",
"gsd-core/workflows/resume-project.md": "f28da1200e4545f4",
"gsd-core/workflows/review.md": "8724993cbc91bcc5",
"gsd-core/workflows/scan.md": "0583dac337623f82",
"gsd-core/workflows/secure-phase.md": "00225810eaed265b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44",
"gsd-core/workflows/settings-integrations.md": "effcef778d4a855f",
"gsd-core/workflows/settings.md": "85ceb482dc713169",
"gsd-core/workflows/ship.md": "ca94c87c80a70c27",
"gsd-core/workflows/sketch-wrap-up.md": "b767a1d3db129a8a",
"gsd-core/workflows/sketch.md": "5f0a7d3640cdff54",
"gsd-core/workflows/smart-entry.md": "004b4060eab97cb9",
"gsd-core/workflows/spec-phase.md": "fa8669b75392cf6c",
"gsd-core/workflows/spike-wrap-up.md": "da0dcb252c54fa82",
"gsd-core/workflows/spike.md": "a51eaa05bd40e3cf",
"gsd-core/workflows/stats.md": "76a42cbeaf6007c2",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "927e7eeefd2fcf5c",
"gsd-core/workflows/transition.md": "aea486bb7a0e80e7",
"gsd-core/workflows/ui-phase.md": "e262bcd081fab253",
"gsd-core/workflows/ui-review.md": "387f7cefc849dba1",
"gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d",
"gsd-core/workflows/undo.md": "1712417bade30b30",
"gsd-core/workflows/update.md": "04cef644f58f24f7",
"gsd-core/workflows/validate-phase.md": "171ff4aa9b392475",
"gsd-core/workflows/verify-phase.md": "d26a2c3269340caf",
"gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "9ca6e30d5db6a6ad",
"skills/gsd-ai-integration-phase/SKILL.md": "da4ae7d9a40e8cf1",
"skills/gsd-audit-fix/SKILL.md": "237d305c47306488",
"skills/gsd-audit-milestone/SKILL.md": "98a151b178864aa5",
"skills/gsd-audit-uat/SKILL.md": "2a8bd6b7f04812a7",
"skills/gsd-autonomous/SKILL.md": "935ac2fcb4761b82",
"skills/gsd-capture/SKILL.md": "240f21aa797cdf6b",
"skills/gsd-cleanup/SKILL.md": "13db60637c9eb3df",
"skills/gsd-code-review/SKILL.md": "70e97fb3c1bc3481",
"skills/gsd-complete-milestone/SKILL.md": "d848ff449f33913b",
"skills/gsd-config/SKILL.md": "c4fe0acbcc31ce80",
"skills/gsd-debug/SKILL.md": "52128dc1598d50bd",
"skills/gsd-discuss-phase/SKILL.md": "4b0144358b18d76e",
"skills/gsd-docs-update/SKILL.md": "7f055c7670d76ddc",
"skills/gsd-eval-review/SKILL.md": "211ea8dac477167e",
"skills/gsd-execute-phase/SKILL.md": "b8bb25d57570d784",
"skills/gsd-explore/SKILL.md": "782f037fe0729c2e",
"skills/gsd-extract-learnings/SKILL.md": "837e58da3df453e8",
"skills/gsd-fast/SKILL.md": "77bd35a9d540054e",
"skills/gsd-forensics/SKILL.md": "a367f70c3fc92f37",
"skills/gsd-graphify/SKILL.md": "186094e3fb368335",
"skills/gsd-health/SKILL.md": "741a7c6e887a232f",
"skills/gsd-help/SKILL.md": "eb28c85cfdcc16bd",
"skills/gsd-import/SKILL.md": "766932cce8d8a17e",
"skills/gsd-inbox/SKILL.md": "3bf4e410df04cb77",
"skills/gsd-ingest-docs/SKILL.md": "6139d3e98a634745",
"skills/gsd-manager/SKILL.md": "4f02cf2b27d360f8",
"skills/gsd-map-codebase/SKILL.md": "49c49fc4ff88b8c1",
"skills/gsd-mempalace-capture/SKILL.md": "aeb01fa8be356ba8",
"skills/gsd-mempalace-recall/SKILL.md": "c6e0195e55cd934c",
"skills/gsd-milestone-summary/SKILL.md": "d2f96bb139402a7a",
"skills/gsd-mvp-phase/SKILL.md": "fe7e70a5296c10dc",
"skills/gsd-new-milestone/SKILL.md": "729100f0360f3cc0",
"skills/gsd-new-project/SKILL.md": "7ef91103638c4736",
"skills/gsd-next/SKILL.md": "bd417a9df6d0b2fb",
"skills/gsd-ns-context/SKILL.md": "89f5bffe6702c0c5",
"skills/gsd-ns-ideate/SKILL.md": "e0c0420f6878906a",
"skills/gsd-ns-manage/SKILL.md": "b7fbe29e45e75f54",
"skills/gsd-ns-project/SKILL.md": "fcb8a93ade9ecc72",
"skills/gsd-ns-review/SKILL.md": "2ff62330379f947f",
"skills/gsd-ns-workflow/SKILL.md": "86272fd655c206bc",
"skills/gsd-onboard/SKILL.md": "814509644f2dd7da",
"skills/gsd-pause-work/SKILL.md": "86886de012e27314",
"skills/gsd-phase/SKILL.md": "7692fa5a0821e51e",
"skills/gsd-plan-phase/SKILL.md": "8038d698f8de6aad",
"skills/gsd-plan-review-convergence/SKILL.md": "28dc35da86b93b10",
"skills/gsd-pr-branch/SKILL.md": "b51ca03728fd5e79",
"skills/gsd-profile-user/SKILL.md": "4a53d59bc19e3f17",
"skills/gsd-progress/SKILL.md": "b0a206e0ad93bf60",
"skills/gsd-quick/SKILL.md": "faf4f26a707fe212",
"skills/gsd-resume-work/SKILL.md": "78a048666a26016a",
"skills/gsd-review-backlog/SKILL.md": "ffc6216cfb6c3002",
"skills/gsd-review/SKILL.md": "6d1bbc8a6184b78a",
"skills/gsd-secure-phase/SKILL.md": "3dc6088c9889d5bb",
"skills/gsd-settings/SKILL.md": "4615c7f527403f9c",
"skills/gsd-ship/SKILL.md": "993a34f93d7bda8c",
"skills/gsd-sketch/SKILL.md": "87f28aee46e5d06e",
"skills/gsd-spec-phase/SKILL.md": "443faa42c1c8cd8c",
"skills/gsd-spike/SKILL.md": "558c0149816f111a",
"skills/gsd-stats/SKILL.md": "1ecd859ba893f7b9",
"skills/gsd-surface/SKILL.md": "68d58321293942f0",
"skills/gsd-thread/SKILL.md": "78e6f1c56c629942",
"skills/gsd-ui-phase/SKILL.md": "cc63649847cc2e50",
"skills/gsd-ui-review/SKILL.md": "18ab050b4723f9a7",
"skills/gsd-ultraplan-phase/SKILL.md": "fb49cef690fb4673",
"skills/gsd-undo/SKILL.md": "a1ab63a1e875ef24",
"skills/gsd-update/SKILL.md": "6ef33a94caa8f63e",
"skills/gsd-validate-phase/SKILL.md": "d502ca602526ceab",
"skills/gsd-verify-work/SKILL.md": "136debbb14db2086",
"skills/gsd-workspace/SKILL.md": "9951bff5391884f8",
"skills/gsd-workstreams/SKILL.md": "cd2ed0019f00302a"
}

View File

@@ -1,479 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "fea73a3ad95e3454",
".kimi/hooks/gsd-check-update-worker.js": "6593f80914f4edee",
".kimi/hooks/gsd-check-update.js": "aac7612ee04ff5fe",
".kimi/hooks/gsd-config-reload.js": "96546e0e8bb47904",
".kimi/hooks/gsd-context-monitor.js": "4c0535bc269e130e",
".kimi/hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
".kimi/hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
".kimi/hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
".kimi/hooks/gsd-cursor-stop.js": "80de723949cee847",
".kimi/hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
".kimi/hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
".kimi/hooks/gsd-ensure-canonical-path.js": "8bd016237c88b738",
".kimi/hooks/gsd-graphify-update.sh": "81d716df76159e60",
".kimi/hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
".kimi/hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
".kimi/hooks/gsd-read-guard.js": "54e1dcaaffe47693",
".kimi/hooks/gsd-read-injection-scanner.js": "c97a8a46a07058b2",
".kimi/hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
".kimi/hooks/gsd-statusline.js": "fb90ca297b60bddf",
".kimi/hooks/gsd-update-banner.js": "55143a25f978f301",
".kimi/hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
".kimi/hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
".kimi/hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
".kimi/hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
".kimi/hooks/gsd-worktree-path-guard.js": "d00a75505429355c",
".kimi/hooks/lib/cursor-workspace.js": "45061acd75d55a28",
".kimi/hooks/lib/git-cmd.js": "268ba15992ca0b23",
".kimi/hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
".kimi/hooks/managed-hooks-registry.cjs": "08ec2585a3f8f132",
".kimi/package.json": "dbf8353f77358bc1",
"agents/gsd.md": "60fee7782ae4f2c6",
"agents/gsd.yaml": "b5f16c9fcf92cbff",
"agents/subagents/gsd-advisor-researcher.md": "81bdc6cbd8fcde40",
"agents/subagents/gsd-advisor-researcher.yaml": "662ced4837207406",
"agents/subagents/gsd-ai-researcher.md": "f4cd2f17d2c3e35f",
"agents/subagents/gsd-ai-researcher.yaml": "59edec2a11eb0a27",
"agents/subagents/gsd-assumptions-analyzer.md": "507b93a7d3375ad3",
"agents/subagents/gsd-assumptions-analyzer.yaml": "e7da772d8c7e3723",
"agents/subagents/gsd-code-fixer.md": "9a397598c2df98f3",
"agents/subagents/gsd-code-fixer.yaml": "41147d668c7e75cb",
"agents/subagents/gsd-code-reviewer.md": "27cee6e8adae57da",
"agents/subagents/gsd-code-reviewer.yaml": "5f2398f56018f50d",
"agents/subagents/gsd-codebase-mapper.md": "91fc76ecb02bbc30",
"agents/subagents/gsd-codebase-mapper.yaml": "bce1c6d15f55c477",
"agents/subagents/gsd-debug-session-manager.md": "089b27a1ddc520bd",
"agents/subagents/gsd-debug-session-manager.yaml": "aab147717b5082e7",
"agents/subagents/gsd-debugger.md": "2021c72a39d56fe5",
"agents/subagents/gsd-debugger.yaml": "6d02d7feb90cad43",
"agents/subagents/gsd-doc-classifier.md": "632dc6c61bafa63e",
"agents/subagents/gsd-doc-classifier.yaml": "a4e9cf7025b57503",
"agents/subagents/gsd-doc-synthesizer.md": "5ab76355a13557be",
"agents/subagents/gsd-doc-synthesizer.yaml": "b4cfc60e11571632",
"agents/subagents/gsd-doc-verifier.md": "6b6eb3998d2167c8",
"agents/subagents/gsd-doc-verifier.yaml": "7200c09cefcd7667",
"agents/subagents/gsd-doc-writer.md": "7021d4512cd1afac",
"agents/subagents/gsd-doc-writer.yaml": "166fa569d11adb9f",
"agents/subagents/gsd-domain-researcher.md": "c29b96a2c40f6e96",
"agents/subagents/gsd-domain-researcher.yaml": "269e21863e94f29f",
"agents/subagents/gsd-eval-auditor.md": "2de50778b9b5a219",
"agents/subagents/gsd-eval-auditor.yaml": "e3d868bd5fefe938",
"agents/subagents/gsd-eval-planner.md": "70f8c5727bfb9876",
"agents/subagents/gsd-eval-planner.yaml": "df8499f7af297ec2",
"agents/subagents/gsd-executor.md": "6cbab4fe3103856a",
"agents/subagents/gsd-executor.yaml": "e29422986636fd64",
"agents/subagents/gsd-framework-selector.md": "a15b7aa1e0576e16",
"agents/subagents/gsd-framework-selector.yaml": "fb52c31cde27b0e3",
"agents/subagents/gsd-integration-checker.md": "6939640ba16c3f3b",
"agents/subagents/gsd-integration-checker.yaml": "3500c65ccbbe432d",
"agents/subagents/gsd-intel-updater.md": "1964fb57cf27be8d",
"agents/subagents/gsd-intel-updater.yaml": "01445ee99bec4b31",
"agents/subagents/gsd-mempalace-curator.md": "62b7c34d6c33ed0b",
"agents/subagents/gsd-mempalace-curator.yaml": "28dd095c371ada3b",
"agents/subagents/gsd-nyquist-auditor.md": "d9dbd1e92e2598c2",
"agents/subagents/gsd-nyquist-auditor.yaml": "48ad300fa775dd5d",
"agents/subagents/gsd-pattern-mapper.md": "eb2d4e838aaeb10c",
"agents/subagents/gsd-pattern-mapper.yaml": "d1e537e77f953fd4",
"agents/subagents/gsd-phase-researcher.md": "897080d9383bd176",
"agents/subagents/gsd-phase-researcher.yaml": "7633c8e82617e7cc",
"agents/subagents/gsd-plan-checker.md": "410639f4c4f16e7a",
"agents/subagents/gsd-plan-checker.yaml": "8295181071121db8",
"agents/subagents/gsd-planner.md": "ddf881be44151dbd",
"agents/subagents/gsd-planner.yaml": "2e83ee194bcd7fbd",
"agents/subagents/gsd-project-researcher.md": "39bc2ec5a8b18283",
"agents/subagents/gsd-project-researcher.yaml": "ce12586b0347e2dc",
"agents/subagents/gsd-research-synthesizer.md": "d384c27f7f045ecd",
"agents/subagents/gsd-research-synthesizer.yaml": "898104ab3bb0b81a",
"agents/subagents/gsd-roadmapper.md": "62359d6876022b48",
"agents/subagents/gsd-roadmapper.yaml": "679772cb14f3a015",
"agents/subagents/gsd-security-auditor.md": "c6108af63b5f481d",
"agents/subagents/gsd-security-auditor.yaml": "924783f1da6777b4",
"agents/subagents/gsd-ui-auditor.md": "e4a319070959ebbc",
"agents/subagents/gsd-ui-auditor.yaml": "3fc98c1d9e8f10fd",
"agents/subagents/gsd-ui-checker.md": "07cd4e382ca55994",
"agents/subagents/gsd-ui-checker.yaml": "c42316006654fae3",
"agents/subagents/gsd-ui-researcher.md": "974f7ecca58c7afa",
"agents/subagents/gsd-ui-researcher.yaml": "15e215874bc2c37d",
"agents/subagents/gsd-user-profiler.md": "c16f94e09e433394",
"agents/subagents/gsd-user-profiler.yaml": "645826a29d079159",
"agents/subagents/gsd-verifier.md": "862e8f8dcb059014",
"agents/subagents/gsd-verifier.yaml": "2d2bd6b37626f382",
"gsd-core/.gsd-runtime": "cb556f5d5cee2779",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6749084395889c6a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "77bf9dff38b2c9d4",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "e067ad3df6770db1",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "ab3b698fe23bab9b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "93d3426fc64e2c12",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "d1d333e4b963c0d2",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1bc7377b105194fc",
"gsd-core/workflows/add-phase.md": "ac43883e2d8e34d8",
"gsd-core/workflows/add-tests.md": "7e7268602f9e1b2a",
"gsd-core/workflows/add-todo.md": "5dc04cfaa0b6b072",
"gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "6174b6f87844973c",
"gsd-core/workflows/audit-uat.md": "fcfbec501620b564",
"gsd-core/workflows/autonomous.md": "aed5e67104346cc2",
"gsd-core/workflows/check-todos.md": "c484e472cff0e4e3",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155",
"gsd-core/workflows/code-review.md": "22b53c0d29508d57",
"gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a",
"gsd-core/workflows/debug.md": "3f0218b051c1afb1",
"gsd-core/workflows/diagnose-issues.md": "232f9e87bf60d8b4",
"gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858",
"gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "0c0465ba668adb33",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "5502a67de7776853",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "da6d45207da4a988",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "90df4f1fe248cdf3",
"gsd-core/workflows/docs-update.md": "fba7329f525c9463",
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
"gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac",
"gsd-core/workflows/execute-phase.md": "357e82b83fb4719d",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f7782680c2b8ad6b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "74de71f01739f7ac",
"gsd-core/workflows/explore.md": "3f3b4f83e23349bc",
"gsd-core/workflows/extract-learnings.md": "ab26f2cbb14efef2",
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
"gsd-core/workflows/forensics.md": "0d500a3f5ab26913",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "c25b5e5f62874c31",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "08a02976c0c5cc50",
"gsd-core/workflows/help/modes/full.md": "884a607679b95d8c",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "57abe514a9b0f6ac",
"gsd-core/workflows/inbox.md": "a7d439981775bc29",
"gsd-core/workflows/ingest-docs.md": "781799b47d282b37",
"gsd-core/workflows/insert-phase.md": "08dca838d831bb5b",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "b687f2a843032d65",
"gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453",
"gsd-core/workflows/manager.md": "c18fab593344253d",
"gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf",
"gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "8164a9abc301f143",
"gsd-core/workflows/new-project.md": "8d33ff0a282a2a46",
"gsd-core/workflows/new-workspace.md": "bbeb706c7a697617",
"gsd-core/workflows/next.md": "4e1eb6b46d15798d",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "f2b33bba5593d422",
"gsd-core/workflows/plan-milestone-gaps.md": "852f6d7c0c4299dc",
"gsd-core/workflows/plan-phase.md": "8c25006c81b99eed",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "49f58c3f75be3eb5",
"gsd-core/workflows/plan-review-convergence.md": "db69460dd4df0d29",
"gsd-core/workflows/plant-seed.md": "9596db80ab282c6f",
"gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b",
"gsd-core/workflows/profile-user.md": "37af07833c81a0bd",
"gsd-core/workflows/progress.md": "46c83ad61b3c4a84",
"gsd-core/workflows/quick.md": "6cb15abcd8d9ac67",
"gsd-core/workflows/reapply-patches.md": "39050f72601aec89",
"gsd-core/workflows/remove-phase.md": "df9a45f0b1880999",
"gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe",
"gsd-core/workflows/resume-project.md": "f28da1200e4545f4",
"gsd-core/workflows/review.md": "8724993cbc91bcc5",
"gsd-core/workflows/scan.md": "0583dac337623f82",
"gsd-core/workflows/secure-phase.md": "00225810eaed265b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44",
"gsd-core/workflows/settings-integrations.md": "effcef778d4a855f",
"gsd-core/workflows/settings.md": "85ceb482dc713169",
"gsd-core/workflows/ship.md": "ca94c87c80a70c27",
"gsd-core/workflows/sketch-wrap-up.md": "b767a1d3db129a8a",
"gsd-core/workflows/sketch.md": "5f0a7d3640cdff54",
"gsd-core/workflows/smart-entry.md": "004b4060eab97cb9",
"gsd-core/workflows/spec-phase.md": "fa8669b75392cf6c",
"gsd-core/workflows/spike-wrap-up.md": "da0dcb252c54fa82",
"gsd-core/workflows/spike.md": "a51eaa05bd40e3cf",
"gsd-core/workflows/stats.md": "76a42cbeaf6007c2",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "927e7eeefd2fcf5c",
"gsd-core/workflows/transition.md": "aea486bb7a0e80e7",
"gsd-core/workflows/ui-phase.md": "e262bcd081fab253",
"gsd-core/workflows/ui-review.md": "387f7cefc849dba1",
"gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d",
"gsd-core/workflows/undo.md": "1712417bade30b30",
"gsd-core/workflows/update.md": "04cef644f58f24f7",
"gsd-core/workflows/validate-phase.md": "171ff4aa9b392475",
"gsd-core/workflows/verify-phase.md": "d26a2c3269340caf",
"gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "217fc2587d3e7ec2",
"skills/gsd-ai-integration-phase/SKILL.md": "949c29f9a6f4a256",
"skills/gsd-audit-fix/SKILL.md": "ed585da70ba6da12",
"skills/gsd-audit-milestone/SKILL.md": "ad78e50cef304155",
"skills/gsd-audit-uat/SKILL.md": "b8e73cbb993a30e2",
"skills/gsd-autonomous/SKILL.md": "20b5483ce0cfac1b",
"skills/gsd-capture/SKILL.md": "d229a25109ab5f25",
"skills/gsd-cleanup/SKILL.md": "188302809e37f3a8",
"skills/gsd-code-review/SKILL.md": "f1e4c9d83d367715",
"skills/gsd-complete-milestone/SKILL.md": "d64cf8e60bf953d8",
"skills/gsd-config/SKILL.md": "234548c60b978332",
"skills/gsd-debug/SKILL.md": "71a61812bfd55246",
"skills/gsd-discuss-phase/SKILL.md": "77340d9f1fffa66f",
"skills/gsd-docs-update/SKILL.md": "05f4d618a938d3d4",
"skills/gsd-eval-review/SKILL.md": "6b32f5735b170d73",
"skills/gsd-execute-phase/SKILL.md": "8c92fb28c150b645",
"skills/gsd-explore/SKILL.md": "4ed4085d70b490b5",
"skills/gsd-extract-learnings/SKILL.md": "f16892f054247db9",
"skills/gsd-fast/SKILL.md": "dbf45fa1a88a9a16",
"skills/gsd-forensics/SKILL.md": "3077371ecd612e1d",
"skills/gsd-graphify/SKILL.md": "dc7e931f4acf8bfb",
"skills/gsd-health/SKILL.md": "9aa2cfcd42443dce",
"skills/gsd-help/SKILL.md": "b592e8ac7d2e512f",
"skills/gsd-import/SKILL.md": "8cdba84960d1e5fa",
"skills/gsd-inbox/SKILL.md": "955779a4b1df1c33",
"skills/gsd-ingest-docs/SKILL.md": "6366644e623ae9e4",
"skills/gsd-manager/SKILL.md": "8a11a1beb8e35a9c",
"skills/gsd-map-codebase/SKILL.md": "73ab0afb2398de2c",
"skills/gsd-mempalace-capture/SKILL.md": "aeb01fa8be356ba8",
"skills/gsd-mempalace-recall/SKILL.md": "c6e0195e55cd934c",
"skills/gsd-milestone-summary/SKILL.md": "3ea93ccaa0d4d967",
"skills/gsd-mvp-phase/SKILL.md": "d2f98f1e955797b6",
"skills/gsd-new-milestone/SKILL.md": "52c3cbe5b931985b",
"skills/gsd-new-project/SKILL.md": "d74e7583377e3563",
"skills/gsd-next/SKILL.md": "0a5109eb81fbeb4b",
"skills/gsd-ns-context/SKILL.md": "89f5bffe6702c0c5",
"skills/gsd-ns-ideate/SKILL.md": "e0c0420f6878906a",
"skills/gsd-ns-manage/SKILL.md": "b7fbe29e45e75f54",
"skills/gsd-ns-project/SKILL.md": "fcb8a93ade9ecc72",
"skills/gsd-ns-review/SKILL.md": "2ff62330379f947f",
"skills/gsd-ns-workflow/SKILL.md": "86272fd655c206bc",
"skills/gsd-onboard/SKILL.md": "fd66b3c5b9c6a871",
"skills/gsd-pause-work/SKILL.md": "95017c70ae9dca0d",
"skills/gsd-phase/SKILL.md": "31578c329cc2583e",
"skills/gsd-plan-phase/SKILL.md": "fc4464af5649282f",
"skills/gsd-plan-review-convergence/SKILL.md": "fcac3c24e566438e",
"skills/gsd-pr-branch/SKILL.md": "67f468db29ff2cf1",
"skills/gsd-profile-user/SKILL.md": "19a1d3aba57f6c7c",
"skills/gsd-progress/SKILL.md": "cc46a92b92b989ce",
"skills/gsd-quick/SKILL.md": "e6aa7d96326fc874",
"skills/gsd-resume-work/SKILL.md": "6e83a416db8253e1",
"skills/gsd-review-backlog/SKILL.md": "ffc6216cfb6c3002",
"skills/gsd-review/SKILL.md": "9cb8c2bc78c9bc51",
"skills/gsd-secure-phase/SKILL.md": "9aa4378c6371e5e4",
"skills/gsd-settings/SKILL.md": "dee7f5011c9a46f4",
"skills/gsd-ship/SKILL.md": "b2e10966b6781b95",
"skills/gsd-sketch/SKILL.md": "010431b46e681600",
"skills/gsd-spec-phase/SKILL.md": "23ff63ddf425c1c2",
"skills/gsd-spike/SKILL.md": "aa740909d20a82f2",
"skills/gsd-stats/SKILL.md": "a7e478f76e0b6db1",
"skills/gsd-surface/SKILL.md": "f0356c0fef0b1d4c",
"skills/gsd-thread/SKILL.md": "fb52a782c6e83e03",
"skills/gsd-ui-phase/SKILL.md": "1d7ed00d7970ed51",
"skills/gsd-ui-review/SKILL.md": "39b36951bafe1495",
"skills/gsd-ultraplan-phase/SKILL.md": "766e038ea49f1ca7",
"skills/gsd-undo/SKILL.md": "ce1c97ed1228ff6d",
"skills/gsd-update/SKILL.md": "5ecb292eca7e9563",
"skills/gsd-validate-phase/SKILL.md": "2995d65030d9e441",
"skills/gsd-verify-work/SKILL.md": "9268ea031159f121",
"skills/gsd-workspace/SKILL.md": "0ebfbc00112e3802",
"skills/gsd-workstreams/SKILL.md": "cd2ed0019f00302a"
}

View File

@@ -1,516 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "22e30e82b5758469",
"agents/gsd-advisor-researcher.md": "6955bcd8ca353de0",
"agents/gsd-ai-researcher.md": "28a05307dad84020",
"agents/gsd-assumptions-analyzer.md": "45c01017e84ba193",
"agents/gsd-code-fixer.md": "3622ae5d90fb15f6",
"agents/gsd-code-reviewer.md": "2249774416314c57",
"agents/gsd-codebase-mapper.md": "89c6eed5863f1c23",
"agents/gsd-debug-session-manager.md": "8b9638711e768732",
"agents/gsd-debugger.md": "f08bcc712bc98469",
"agents/gsd-doc-classifier.md": "fb776cfbb7e991b0",
"agents/gsd-doc-synthesizer.md": "2389f388d291c2eb",
"agents/gsd-doc-verifier.md": "65bbc2ae6b9ace29",
"agents/gsd-doc-writer.md": "0696a8cdc0028917",
"agents/gsd-domain-researcher.md": "71250e759ca9e723",
"agents/gsd-eval-auditor.md": "c88890105f32ace6",
"agents/gsd-eval-planner.md": "60bddb70a937f796",
"agents/gsd-executor.md": "92a84bdd8895a4bb",
"agents/gsd-framework-selector.md": "1c0a10355e787675",
"agents/gsd-integration-checker.md": "a9de5928e5a5c649",
"agents/gsd-intel-updater.md": "493e07482fa6198a",
"agents/gsd-mempalace-curator.md": "197308371baa53ad",
"agents/gsd-nyquist-auditor.md": "7a7e0d1cbafd6b63",
"agents/gsd-pattern-mapper.md": "7c6d1d9817a9c1e7",
"agents/gsd-phase-researcher.md": "9874110700b41f48",
"agents/gsd-plan-checker.md": "f39aca1ea261d720",
"agents/gsd-planner.md": "50f660afd4ddd599",
"agents/gsd-project-researcher.md": "dae210ae0b3c6e2b",
"agents/gsd-research-synthesizer.md": "e02c6ad5d1b74171",
"agents/gsd-roadmapper.md": "1658a40b20d8b575",
"agents/gsd-security-auditor.md": "64aa435793af52ec",
"agents/gsd-ui-auditor.md": "e810012e685b2466",
"agents/gsd-ui-checker.md": "4f88fd4c9d4c56a3",
"agents/gsd-ui-researcher.md": "ecb617901cb7ad06",
"agents/gsd-user-profiler.md": "d825b4c0a6431f8b",
"agents/gsd-verifier.md": "2460e48bbb991adc",
"commands/gsd-add-tests.md": "b9cd93ed01945f75",
"commands/gsd-ai-integration-phase.md": "038709fe91d897e4",
"commands/gsd-audit-fix.md": "5615403843d5e491",
"commands/gsd-audit-milestone.md": "4c700c081f3918ba",
"commands/gsd-audit-uat.md": "47dce58d5823da8d",
"commands/gsd-autonomous.md": "d6444c6d39585b07",
"commands/gsd-capture.md": "a1085d451e138028",
"commands/gsd-cleanup.md": "66b219076f1e2aa3",
"commands/gsd-code-review.md": "3256032e666821b5",
"commands/gsd-complete-milestone.md": "92ee70af4d6235bb",
"commands/gsd-config.md": "11045b66313fb788",
"commands/gsd-debug.md": "cb6ac21129dff67f",
"commands/gsd-discuss-phase.md": "a2a59956edf33a2c",
"commands/gsd-docs-update.md": "668979b6c56708c0",
"commands/gsd-eval-review.md": "28499776a3fde3ad",
"commands/gsd-execute-phase.md": "da51f21998c75175",
"commands/gsd-explore.md": "7618219025e28c15",
"commands/gsd-extract-learnings.md": "42fd40385c7a7a3b",
"commands/gsd-fast.md": "d1fcda0719ae90be",
"commands/gsd-forensics.md": "051270e8c76c1b13",
"commands/gsd-graphify.md": "1a4ec781f74862e2",
"commands/gsd-health.md": "66d298ed71d57cb0",
"commands/gsd-help.md": "a26c6ba391002635",
"commands/gsd-import.md": "e1bff34deb61c802",
"commands/gsd-inbox.md": "cc850bab897aed1f",
"commands/gsd-ingest-docs.md": "b47c812c247e58a4",
"commands/gsd-manager.md": "86ece154b34b6d1b",
"commands/gsd-map-codebase.md": "9aba6b4eed565912",
"commands/gsd-mempalace-capture.md": "081236c25ce5b337",
"commands/gsd-mempalace-recall.md": "d358cdd89c935877",
"commands/gsd-milestone-summary.md": "86a827271bc647c5",
"commands/gsd-mvp-phase.md": "d45fd76cb9cff3ef",
"commands/gsd-new-milestone.md": "613902b46d2ba6ef",
"commands/gsd-new-project.md": "0086f0de26002219",
"commands/gsd-next.md": "b0ef81652d72d894",
"commands/gsd-ns-context.md": "9a2b55b64f2e1e4b",
"commands/gsd-ns-ideate.md": "27e7fcdc69eeeb5f",
"commands/gsd-ns-manage.md": "eded59052ca4b240",
"commands/gsd-ns-project.md": "c56395edb9bc7467",
"commands/gsd-ns-review.md": "61fe33e28eb1b961",
"commands/gsd-ns-workflow.md": "13c1ab91080c0cc3",
"commands/gsd-onboard.md": "3aafaeb5d3941efe",
"commands/gsd-pause-work.md": "bb5bf91a2e3e480e",
"commands/gsd-phase.md": "6bcda1539f949d5a",
"commands/gsd-plan-phase.md": "cbb349ad7520db85",
"commands/gsd-plan-review-convergence.md": "348d02775fd62977",
"commands/gsd-pr-branch.md": "31fca4f1d6c4ee62",
"commands/gsd-profile-user.md": "725c14ae7203b5b6",
"commands/gsd-progress.md": "001f2754c427a0a9",
"commands/gsd-quick.md": "07c02ab7547aec8e",
"commands/gsd-resume-work.md": "3ac18b2a8cc41066",
"commands/gsd-review-backlog.md": "1e99d6a7a3806fa5",
"commands/gsd-review.md": "97bf8bc6ffff9475",
"commands/gsd-secure-phase.md": "b536ad6e68af3a26",
"commands/gsd-settings.md": "a3d2cb48b06c9b90",
"commands/gsd-ship.md": "062d0bb5656fa31b",
"commands/gsd-sketch.md": "1af54bb16c370798",
"commands/gsd-spec-phase.md": "b92bca076ca2c5c6",
"commands/gsd-spike.md": "1b2fa4b468e831dc",
"commands/gsd-stats.md": "51af934859f87623",
"commands/gsd-surface.md": "e559ca6733ce288f",
"commands/gsd-thread.md": "ae3b000bee0ee1e0",
"commands/gsd-ui-phase.md": "21c9c043d813dc0a",
"commands/gsd-ui-review.md": "ef36603b519e8fe8",
"commands/gsd-ultraplan-phase.md": "d18d13428ae3f8e6",
"commands/gsd-undo.md": "dbbf9423ce795b89",
"commands/gsd-update.md": "df2be717088fe8d0",
"commands/gsd-validate-phase.md": "f320705816d725f3",
"commands/gsd-verify-work.md": "f23fff8e6d71f704",
"commands/gsd-workspace.md": "1e581bdb33bc8f55",
"commands/gsd-workstreams.md": "5e57eed1881c3891",
"gsd-core/.gsd-runtime": "0d74cc0a7af2a416",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "51b5d0ba5b1e98d9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "425dd69c629230e7",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "218c55caf8aff6df",
"gsd-core/references/autonomous-smart-discuss.md": "3986d58011bf9006",
"gsd-core/references/checkpoints.md": "d52116f59e92ca43",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "876da77377424383",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "49f94fe75cabba52",
"gsd-core/references/debugger-fix-acceptance.md": "b2732420bdbcadcd",
"gsd-core/references/debugger-philosophy.md": "459a8ac647c4ce9c",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "097c2da83d697566",
"gsd-core/references/debugger-sbfl.md": "391e732abf32786a",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "47e6193c678eefe5",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "43e867720e736464",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "fbdf814a3af9c051",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "4e5af9905e4276e4",
"gsd-core/references/honest-verifier.md": "b67482409f896a10",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "5d0bf1da4e1e7dfb",
"gsd-core/references/model-profiles.md": "6568ca29b6ee00d8",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "6456306b03a6dd5e",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "88a0cd714d33fe34",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "7fe925c09092476b",
"gsd-core/references/planner-human-verify-mode.md": "3a625b42d9cb93ee",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "97f6e67b56c072c1",
"gsd-core/references/planner-mvp-mode.md": "35d30284ea9110c0",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "b7a4fb3d8215ac6a",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "5892b08550d8444e",
"gsd-core/references/project-skills-discovery.md": "c2ba4b8beda7bbcc",
"gsd-core/references/questioning.md": "a083e5e3e16dd802",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "a602b41bfa081fdf",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "558870a1c4bc4c29",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "6905b93872b87d1f",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "fc00fd23895d4535",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "8e023a908d968af1",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "3bd98d30eee6c5a1",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "225910640adbb76d",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "72e93b7f650d9bae",
"gsd-core/templates/README.md": "73d3c9689b6efbc9",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "a4f5e38984001194",
"gsd-core/templates/codebase/architecture.md": "282db635ba093b1a",
"gsd-core/templates/codebase/concerns.md": "e66c584daa636fc5",
"gsd-core/templates/codebase/conventions.md": "c5f0324730852701",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "bb76f9538f2bc4e0",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "593d4e6d20fdde7c",
"gsd-core/templates/continue-here.md": "8b1dce4832c7922b",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "da4e8e266efdc6c2",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "ee8880432b4d1566",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "fae14114f2b79b10",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "b454f96fdf8b1d3d",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "8734f0df4df3a34b",
"gsd-core/templates/state.md": "a45a134631efe3f9",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "52abe2af968e8533",
"gsd-core/templates/user-setup.md": "1da2382725db080f",
"gsd-core/templates/verification-report.md": "78ab9264ce63ed7e",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "08289088a88d410f",
"gsd-core/workflows/add-phase.md": "739e34f6122e1e61",
"gsd-core/workflows/add-tests.md": "582b03df9cb71fe0",
"gsd-core/workflows/add-todo.md": "2ccd1c97a3636c36",
"gsd-core/workflows/ai-integration-phase.md": "95afc8120daf3828",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "0085e65548706996",
"gsd-core/workflows/audit-milestone.md": "777f67e317f441fe",
"gsd-core/workflows/audit-uat.md": "c800099fab1e1c1b",
"gsd-core/workflows/autonomous.md": "0757a088361be372",
"gsd-core/workflows/check-todos.md": "527cfab62417c719",
"gsd-core/workflows/cleanup.md": "9d510a45aec81ba1",
"gsd-core/workflows/code-review-fix.md": "da8fdf6389d07969",
"gsd-core/workflows/code-review.md": "da6bb2bda95c2afa",
"gsd-core/workflows/complete-milestone.md": "9482dadd0f8902d2",
"gsd-core/workflows/debug.md": "8bd8b4692c0fcf52",
"gsd-core/workflows/diagnose-issues.md": "1e7c760973276b57",
"gsd-core/workflows/discovery-phase.md": "0ef23f38adfb0e6e",
"gsd-core/workflows/discuss-phase-assumptions.md": "d87a8f50f1c60392",
"gsd-core/workflows/discuss-phase-power.md": "5c0d1ca6abda0383",
"gsd-core/workflows/discuss-phase.md": "3a62a8d4c374c69f",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "83ca3ea4fac785af",
"gsd-core/workflows/discuss-phase/modes/all.md": "5ed71228ac96e728",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "ed71852753c6788a",
"gsd-core/workflows/discuss-phase/modes/batch.md": "78f6ef61690acb66",
"gsd-core/workflows/discuss-phase/modes/chain.md": "1558b2ce77a25c75",
"gsd-core/workflows/discuss-phase/modes/default.md": "5d12f2593ae4a813",
"gsd-core/workflows/discuss-phase/modes/power.md": "799fc7e1283b568f",
"gsd-core/workflows/discuss-phase/modes/text.md": "daf23a04b101ab38",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "da6bf5281bf7d2bf",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "04e4feee14772275",
"gsd-core/workflows/do.md": "532afe82bbf9f775",
"gsd-core/workflows/docs-update.md": "55cbaed5020bdd71",
"gsd-core/workflows/edit-phase.md": "1876c855fb0a0a39",
"gsd-core/workflows/eval-review.md": "4f932c3ea3eb807b",
"gsd-core/workflows/execute-phase.md": "983551331e155e7d",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "a15993affd62f4bf",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "f74ce2de21b2d252",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "c4cba01539f0368a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "21f4d9b3abc334ce",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "bb0ce725dcf12aa2",
"gsd-core/workflows/explore.md": "a514b88e98609441",
"gsd-core/workflows/extract-learnings.md": "38b09022eca429d8",
"gsd-core/workflows/fast.md": "12187b242e6af970",
"gsd-core/workflows/forensics.md": "9354cb830152fd28",
"gsd-core/workflows/graduation.md": "589b9b303cff8643",
"gsd-core/workflows/health.md": "05447688e0b332c5",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "be05e56b2c5ee2c0",
"gsd-core/workflows/help/modes/full.md": "17a82373eff2e59a",
"gsd-core/workflows/help/modes/topic.md": "0bf9ab39d7044d69",
"gsd-core/workflows/import.md": "3cb4f4e0f9e5de3c",
"gsd-core/workflows/inbox.md": "7e46f5d6b0694074",
"gsd-core/workflows/ingest-docs.md": "fd5dde3c99d68de2",
"gsd-core/workflows/insert-phase.md": "858224afbf977c14",
"gsd-core/workflows/list-phase-assumptions.md": "e7b5e35c9452e3b3",
"gsd-core/workflows/list-seeds.md": "9b05425fa7d24827",
"gsd-core/workflows/list-workspaces.md": "dc6d30036c6dc426",
"gsd-core/workflows/manager.md": "eda80c0d3d32dbf6",
"gsd-core/workflows/map-codebase.md": "9794578db9c07fca",
"gsd-core/workflows/milestone-summary.md": "321ea8a6a206f38f",
"gsd-core/workflows/mvp-phase.md": "94360741a1d8d7ce",
"gsd-core/workflows/new-milestone.md": "d3f76f0d65d9a8ba",
"gsd-core/workflows/new-project.md": "8bc9400aade6b943",
"gsd-core/workflows/new-workspace.md": "53f8abf8baca9345",
"gsd-core/workflows/next.md": "8975ad00f87f90dc",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "0d1374f2a2257858",
"gsd-core/workflows/onboard.md": "ca3a59a2e36b829a",
"gsd-core/workflows/pause-work.md": "70c72beca55c080a",
"gsd-core/workflows/plan-milestone-gaps.md": "0a9dacd422cd9533",
"gsd-core/workflows/plan-phase.md": "e6004345ec4c8129",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "3a09141de7f3dedb",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "e9de7a96bbfff261",
"gsd-core/workflows/plan-review-convergence.md": "216a41c2c24844f7",
"gsd-core/workflows/plant-seed.md": "ac8bbe2d9d52f2c1",
"gsd-core/workflows/pr-branch.md": "929b7cb0c99c7b9e",
"gsd-core/workflows/profile-user.md": "9275d5895237b801",
"gsd-core/workflows/progress.md": "c3d7149133d571a9",
"gsd-core/workflows/quick.md": "38527d9107054ce6",
"gsd-core/workflows/reapply-patches.md": "a0e9b53f90abceb2",
"gsd-core/workflows/remove-phase.md": "dea4661e8f89596f",
"gsd-core/workflows/remove-workspace.md": "21a8581add5f31ae",
"gsd-core/workflows/resume-project.md": "ad9f06a10bab8cc0",
"gsd-core/workflows/review.md": "c775d08988c05be6",
"gsd-core/workflows/scan.md": "bc69d7c058805c47",
"gsd-core/workflows/secure-phase.md": "2731f2e7d0d0a70b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "252b0d3edc315339",
"gsd-core/workflows/settings-integrations.md": "1c3997dc6953e7eb",
"gsd-core/workflows/settings.md": "a244850ce2f7b8dd",
"gsd-core/workflows/ship.md": "c58cd69d8943e870",
"gsd-core/workflows/sketch-wrap-up.md": "681800323681c5c6",
"gsd-core/workflows/sketch.md": "da82c9be7074545c",
"gsd-core/workflows/smart-entry.md": "c4c780d3aa2124f8",
"gsd-core/workflows/spec-phase.md": "5c4a3001095ca722",
"gsd-core/workflows/spike-wrap-up.md": "30a73aa19a1db271",
"gsd-core/workflows/spike.md": "7462ab0428468932",
"gsd-core/workflows/stats.md": "846cd2808461ccdc",
"gsd-core/workflows/sync-skills.md": "7e2c138cdbef4282",
"gsd-core/workflows/thread.md": "82652edb1883af59",
"gsd-core/workflows/transition.md": "372b6fc7c0c68a89",
"gsd-core/workflows/ui-phase.md": "5d8538230f65e031",
"gsd-core/workflows/ui-review.md": "567784aa43497a66",
"gsd-core/workflows/ultraplan-phase.md": "f4bad8de3fdb49fa",
"gsd-core/workflows/undo.md": "bbb91a18ee896975",
"gsd-core/workflows/update.md": "f032775aef6795bf",
"gsd-core/workflows/validate-phase.md": "865dac4dd2887658",
"gsd-core/workflows/verify-phase.md": "73025aa5d8bf7bd5",
"gsd-core/workflows/verify-work.md": "7bdbe268979a994f",
"hooks/gsd-check-update-worker.js": "385fb7c67810baf6",
"hooks/gsd-check-update.js": "4549451414ffa7d7",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "91ce47cd2dc3bbe8",
"hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
"hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
"hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
"hooks/gsd-cursor-stop.js": "80de723949cee847",
"hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
"hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
"hooks/gsd-ensure-canonical-path.js": "2801ae3fef9579bf",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "f31aa0cc6b55149e",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "982cbb17444935fa",
"hooks/gsd-update-banner.js": "55143a25f978f301",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
"hooks/gsd-worktree-path-guard.js": "bfef1802d491bdab",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "bd57cc72f482a14f",
"opencode.json": "2c12c446a88f2f36",
"package.json": "dbf8353f77358bc1",
"plugins/gsd-core.js": "eb1ac14ffd7abfae",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-add-tests/SKILL.md": "f60794b90b48cbac",
"skills/gsd-ai-integration-phase/SKILL.md": "d2418122ba6f6330",
"skills/gsd-audit-fix/SKILL.md": "740d255df04b6e93",
"skills/gsd-audit-milestone/SKILL.md": "68b57f54877f35a9",
"skills/gsd-audit-uat/SKILL.md": "d73e6e175a711ed9",
"skills/gsd-autonomous/SKILL.md": "b3191d241afe2c87",
"skills/gsd-capture/SKILL.md": "880a3b965d53c689",
"skills/gsd-cleanup/SKILL.md": "e65d36bc64d7ce56",
"skills/gsd-code-review/SKILL.md": "f5c5d139d9f58e30",
"skills/gsd-complete-milestone/SKILL.md": "f794594de6a2e6c8",
"skills/gsd-config/SKILL.md": "6bcfbc815e5abddd",
"skills/gsd-debug/SKILL.md": "fbf869a73b318bfc",
"skills/gsd-discuss-phase/SKILL.md": "b86f39c16163c3ca",
"skills/gsd-docs-update/SKILL.md": "b0377eebbf71f802",
"skills/gsd-eval-review/SKILL.md": "a0da1d2b8b0dec62",
"skills/gsd-execute-phase/SKILL.md": "6d93b3fa856aef8f",
"skills/gsd-explore/SKILL.md": "79a05b06d9854d56",
"skills/gsd-extract-learnings/SKILL.md": "039975449139eb77",
"skills/gsd-fast/SKILL.md": "5b39ef1a6ad40b93",
"skills/gsd-forensics/SKILL.md": "1e0be6b8862ac549",
"skills/gsd-graphify/SKILL.md": "578621183849fe03",
"skills/gsd-health/SKILL.md": "b0bb84935cfbdd61",
"skills/gsd-help/SKILL.md": "326eb69ee18b4265",
"skills/gsd-import/SKILL.md": "23ac1e4e73e175d4",
"skills/gsd-inbox/SKILL.md": "3b2dd319d91dbab4",
"skills/gsd-ingest-docs/SKILL.md": "8f294b4894f782a5",
"skills/gsd-manager/SKILL.md": "cf40f237b4f20aa7",
"skills/gsd-map-codebase/SKILL.md": "73f714297815f74c",
"skills/gsd-mempalace-capture/SKILL.md": "ddb5c1322d6237ad",
"skills/gsd-mempalace-recall/SKILL.md": "2091c48e6e986e28",
"skills/gsd-milestone-summary/SKILL.md": "175366bb500b5e64",
"skills/gsd-mvp-phase/SKILL.md": "0531d0e907af41ce",
"skills/gsd-new-milestone/SKILL.md": "45688741cc4bab41",
"skills/gsd-new-project/SKILL.md": "feef18d69466fdf9",
"skills/gsd-next/SKILL.md": "85fb881a8ac65081",
"skills/gsd-ns-context/SKILL.md": "110fb2227bcde535",
"skills/gsd-ns-ideate/SKILL.md": "d093d59a8519decc",
"skills/gsd-ns-manage/SKILL.md": "2756981de613022e",
"skills/gsd-ns-project/SKILL.md": "56d3d8a321d267f8",
"skills/gsd-ns-review/SKILL.md": "680bdd33c882b049",
"skills/gsd-ns-workflow/SKILL.md": "579b7f0dac74e1fb",
"skills/gsd-onboard/SKILL.md": "ea0b1217e5ecae23",
"skills/gsd-pause-work/SKILL.md": "c7e9ba4f242c4648",
"skills/gsd-phase/SKILL.md": "ee78c0c56c814d84",
"skills/gsd-plan-phase/SKILL.md": "7490d949e7e14028",
"skills/gsd-plan-review-convergence/SKILL.md": "8338cb7e018e3713",
"skills/gsd-pr-branch/SKILL.md": "8fa5a8fa217fe913",
"skills/gsd-profile-user/SKILL.md": "3e6155a64523d59f",
"skills/gsd-progress/SKILL.md": "1dfd9327510e500c",
"skills/gsd-quick/SKILL.md": "a9a971a0d471b64f",
"skills/gsd-resume-work/SKILL.md": "aa6a7d9e88fe26b6",
"skills/gsd-review-backlog/SKILL.md": "27a9dbfe92e5d04c",
"skills/gsd-review/SKILL.md": "4d1897f8d2c65bdf",
"skills/gsd-secure-phase/SKILL.md": "b37a0dbae84dd74a",
"skills/gsd-settings/SKILL.md": "d72a537765bf690a",
"skills/gsd-ship/SKILL.md": "fc88192bae429756",
"skills/gsd-sketch/SKILL.md": "e3fd03e727bc20df",
"skills/gsd-spec-phase/SKILL.md": "332028ed34b85b1f",
"skills/gsd-spike/SKILL.md": "9303cd74a8bf0741",
"skills/gsd-stats/SKILL.md": "2af976632e239069",
"skills/gsd-surface/SKILL.md": "a0cec79a0bbf9c97",
"skills/gsd-thread/SKILL.md": "9ff9979a8213dbf8",
"skills/gsd-ui-phase/SKILL.md": "5eee1bdd13640252",
"skills/gsd-ui-review/SKILL.md": "c99d6725326bfbc4",
"skills/gsd-ultraplan-phase/SKILL.md": "5c28ee1f65be343b",
"skills/gsd-undo/SKILL.md": "4a5d3472c7da4cc9",
"skills/gsd-update/SKILL.md": "268677bd0089ea9b",
"skills/gsd-validate-phase/SKILL.md": "8d29201527e7d9d4",
"skills/gsd-verify-work/SKILL.md": "bea3cee3b2f5170e",
"skills/gsd-workspace/SKILL.md": "f3c295e6b7c2e38a",
"skills/gsd-workstreams/SKILL.md": "44c62598142837b9"
}

View File

@@ -1,339 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "615261cfd3ae1c96",
"extensions/gsd.js": "af5deeefff6a0a6a",
"gsd-core/.gsd-runtime": "94e95f0bb38f8e0f",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6749084395889c6a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "77bf9dff38b2c9d4",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "e067ad3df6770db1",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "ab3b698fe23bab9b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "93d3426fc64e2c12",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "d1d333e4b963c0d2",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1bc7377b105194fc",
"gsd-core/workflows/add-phase.md": "ac43883e2d8e34d8",
"gsd-core/workflows/add-tests.md": "7e7268602f9e1b2a",
"gsd-core/workflows/add-todo.md": "5dc04cfaa0b6b072",
"gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "6174b6f87844973c",
"gsd-core/workflows/audit-uat.md": "fcfbec501620b564",
"gsd-core/workflows/autonomous.md": "aed5e67104346cc2",
"gsd-core/workflows/check-todos.md": "c484e472cff0e4e3",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155",
"gsd-core/workflows/code-review.md": "22b53c0d29508d57",
"gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a",
"gsd-core/workflows/debug.md": "3f0218b051c1afb1",
"gsd-core/workflows/diagnose-issues.md": "324b8a085cdb07e2",
"gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858",
"gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "acfe2baa4c8bebbe",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "5502a67de7776853",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "da6d45207da4a988",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "90df4f1fe248cdf3",
"gsd-core/workflows/docs-update.md": "fba7329f525c9463",
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
"gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac",
"gsd-core/workflows/execute-phase.md": "be00d0535fa8c720",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f7782680c2b8ad6b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "3168b13c3758ed84",
"gsd-core/workflows/explore.md": "3f3b4f83e23349bc",
"gsd-core/workflows/extract-learnings.md": "ab26f2cbb14efef2",
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
"gsd-core/workflows/forensics.md": "0d500a3f5ab26913",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "c25b5e5f62874c31",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "08a02976c0c5cc50",
"gsd-core/workflows/help/modes/full.md": "871af441d1f410c4",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "57abe514a9b0f6ac",
"gsd-core/workflows/inbox.md": "a7d439981775bc29",
"gsd-core/workflows/ingest-docs.md": "781799b47d282b37",
"gsd-core/workflows/insert-phase.md": "08dca838d831bb5b",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "b687f2a843032d65",
"gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453",
"gsd-core/workflows/manager.md": "c18fab593344253d",
"gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf",
"gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "8164a9abc301f143",
"gsd-core/workflows/new-project.md": "c797ba349eede266",
"gsd-core/workflows/new-workspace.md": "bbeb706c7a697617",
"gsd-core/workflows/next.md": "4e1eb6b46d15798d",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "f2b33bba5593d422",
"gsd-core/workflows/plan-milestone-gaps.md": "852f6d7c0c4299dc",
"gsd-core/workflows/plan-phase.md": "1044f21a80a6ddc6",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "49f58c3f75be3eb5",
"gsd-core/workflows/plan-review-convergence.md": "db69460dd4df0d29",
"gsd-core/workflows/plant-seed.md": "9596db80ab282c6f",
"gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b",
"gsd-core/workflows/profile-user.md": "e5c0e0a0dc54dccb",
"gsd-core/workflows/progress.md": "46c83ad61b3c4a84",
"gsd-core/workflows/quick.md": "ca9aa135ceff5fdc",
"gsd-core/workflows/reapply-patches.md": "39050f72601aec89",
"gsd-core/workflows/remove-phase.md": "df9a45f0b1880999",
"gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe",
"gsd-core/workflows/resume-project.md": "f28da1200e4545f4",
"gsd-core/workflows/review.md": "8724993cbc91bcc5",
"gsd-core/workflows/scan.md": "0583dac337623f82",
"gsd-core/workflows/secure-phase.md": "00225810eaed265b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44",
"gsd-core/workflows/settings-integrations.md": "effcef778d4a855f",
"gsd-core/workflows/settings.md": "85ceb482dc713169",
"gsd-core/workflows/ship.md": "ca94c87c80a70c27",
"gsd-core/workflows/sketch-wrap-up.md": "838c701bd072ae73",
"gsd-core/workflows/sketch.md": "70df86d9d8eeba0f",
"gsd-core/workflows/smart-entry.md": "004b4060eab97cb9",
"gsd-core/workflows/spec-phase.md": "fa8669b75392cf6c",
"gsd-core/workflows/spike-wrap-up.md": "0b24057c340a8a17",
"gsd-core/workflows/spike.md": "c6e13cbfbf28d128",
"gsd-core/workflows/stats.md": "76a42cbeaf6007c2",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "927e7eeefd2fcf5c",
"gsd-core/workflows/transition.md": "aea486bb7a0e80e7",
"gsd-core/workflows/ui-phase.md": "3413fc28c54a32b1",
"gsd-core/workflows/ui-review.md": "387f7cefc849dba1",
"gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d",
"gsd-core/workflows/undo.md": "1712417bade30b30",
"gsd-core/workflows/update.md": "18d6967356ab7794",
"gsd-core/workflows/validate-phase.md": "171ff4aa9b392475",
"gsd-core/workflows/verify-phase.md": "d26a2c3269340caf",
"gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81",
"hooks/gsd-check-update-worker.js": "55376b5b9335a580",
"hooks/gsd-check-update.js": "a89562537a41f83d",
"hooks/gsd-config-reload.js": "96546e0e8bb47904",
"hooks/gsd-context-monitor.js": "e72cba19eeab9036",
"hooks/gsd-cursor-post-tool.js": "9168e0a09de1972a",
"hooks/gsd-cursor-pre-tool.js": "873998b25e308c29",
"hooks/gsd-cursor-session-start.js": "c72f669cc24c72e3",
"hooks/gsd-cursor-stop.js": "80de723949cee847",
"hooks/gsd-cursor-subagent-start.js": "699a2da2e3c5763e",
"hooks/gsd-cursor-subagent-stop.js": "4bbf22917da4d389",
"hooks/gsd-ensure-canonical-path.js": "62d0819a51b55fc4",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "54e1dcaaffe47693",
"hooks/gsd-read-injection-scanner.js": "d9fb19a6cc360d04",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "b59f79b77f53b2a0",
"hooks/gsd-update-banner.js": "55143a25f978f301",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "56414206bc13b3dc",
"hooks/gsd-worktree-path-guard.js": "ea37324fe8dfaf12",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "ac720a2b548ba200",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7"
}

View File

@@ -1,444 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "91b2c6fa9472b9bb",
"agents/gsd-advisor-researcher.md": "692fbf5ed5e233d5",
"agents/gsd-ai-researcher.md": "f32dc6c6ed7e89fd",
"agents/gsd-assumptions-analyzer.md": "6a2e38d685ba0fce",
"agents/gsd-code-fixer.md": "3ed1a27ddc372ef8",
"agents/gsd-code-reviewer.md": "27eeeee6cb600e9b",
"agents/gsd-codebase-mapper.md": "019215e91bf01097",
"agents/gsd-debug-session-manager.md": "ef00dde32e35150f",
"agents/gsd-debugger.md": "41bdbb009989d3a0",
"agents/gsd-doc-classifier.md": "bdf3d54082424e76",
"agents/gsd-doc-synthesizer.md": "96c383b74a60fbbe",
"agents/gsd-doc-verifier.md": "da9ab6f3ec27778a",
"agents/gsd-doc-writer.md": "7b247b42f674c9ba",
"agents/gsd-domain-researcher.md": "bd054bb27beed2a7",
"agents/gsd-eval-auditor.md": "57cc7458ab5de6b7",
"agents/gsd-eval-planner.md": "01b665728dde4ccf",
"agents/gsd-executor.md": "18b780103d9fd511",
"agents/gsd-framework-selector.md": "82ba6abea84226b7",
"agents/gsd-integration-checker.md": "90835dbc7dfa1691",
"agents/gsd-intel-updater.md": "3cc4f6ddd04676ec",
"agents/gsd-mempalace-curator.md": "7a81acfbacc8bbd6",
"agents/gsd-nyquist-auditor.md": "2bf7126001ba3e70",
"agents/gsd-pattern-mapper.md": "83c66c7722e8b165",
"agents/gsd-phase-researcher.md": "284e55a86ae46d7f",
"agents/gsd-plan-checker.md": "e80e6d51017be405",
"agents/gsd-planner.md": "303c956e286d83dd",
"agents/gsd-project-researcher.md": "b5baac64a15c85e2",
"agents/gsd-research-synthesizer.md": "6cd9b501dc97bd50",
"agents/gsd-roadmapper.md": "c357a77ab919e9e5",
"agents/gsd-security-auditor.md": "9e3bc9a62036352c",
"agents/gsd-ui-auditor.md": "47937e784c9ae541",
"agents/gsd-ui-checker.md": "7d708c53a106f748",
"agents/gsd-ui-researcher.md": "e3768304c1c77753",
"agents/gsd-user-profiler.md": "13388a80dc302a66",
"agents/gsd-verifier.md": "76c590718eac86e5",
"gsd-core/.gsd-runtime": "2b626670f713516a",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "6e98d76e955e35a2",
"gsd-core/bin/gsd-tools.cjs": "8c238806b1682a9a",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "be09755fed7ad856",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "5e2d923303f16667",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "b862a6cda7a5f216",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "47e7929972c06378",
"gsd-core/references/debugger-fix-acceptance.md": "ab6a1cce253944f4",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "07ad93b8bcad3c34",
"gsd-core/references/debugger-sbfl.md": "061b719c754a12d3",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "8c2e5a596401dd33",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "41d8123374d3838b",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "bd249d9024c39c0d",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "10575c928ff9230d",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "0b7e06ed2e4abac8",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "8f98bc9d5956a004",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "140b1266eeb096cb",
"gsd-core/references/planner-human-verify-mode.md": "ee0edddeed8eb946",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "3f6f5ee62d86f72d",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "7eaeb9dc43f0f9f1",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "52872d5393ea9daf",
"gsd-core/references/project-skills-discovery.md": "955696ea2864c826",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "a18d7bfad0e10771",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "074038f98f03d222",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "59804937da1ddaa9",
"gsd-core/references/worktree-branch-check.md": "ea7fc76177f3e50d",
"gsd-core/references/worktree-path-safety.md": "b4111595eabec186",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "f4825d4fa594f2b1",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "ec5972ab31c0f5d0",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "fe32daf7235d2a93",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "213ccd947451ff2b",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "cee41d5fc52d4e37",
"gsd-core/workflows/add-phase.md": "395fb0f9f0385073",
"gsd-core/workflows/add-tests.md": "1f95484dbcd26015",
"gsd-core/workflows/add-todo.md": "38dc89ce5080120f",
"gsd-core/workflows/ai-integration-phase.md": "81f16f3b6d5ef91a",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "7228bc0ab0c21c75",
"gsd-core/workflows/audit-milestone.md": "bba7e11665456e5c",
"gsd-core/workflows/audit-uat.md": "97d441d07e7972b3",
"gsd-core/workflows/autonomous.md": "edd128e7fcbc2027",
"gsd-core/workflows/check-todos.md": "dbc9c401c0922d92",
"gsd-core/workflows/cleanup.md": "48aa7291ace5d413",
"gsd-core/workflows/code-review-fix.md": "43d98fb7602f53f1",
"gsd-core/workflows/code-review.md": "7f912c70db0aa882",
"gsd-core/workflows/complete-milestone.md": "69925bcfd955d31e",
"gsd-core/workflows/debug.md": "65a1aaf1199593a0",
"gsd-core/workflows/diagnose-issues.md": "2ae0a1917a9a8a99",
"gsd-core/workflows/discovery-phase.md": "6ad9da4779d7b6b0",
"gsd-core/workflows/discuss-phase-assumptions.md": "e6a2396964ffe269",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "8644b72386a51241",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "3102430dfad9c012",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "20066d66f481e69c",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "22ed6fd00d79ff71",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "6914c661b95859ee",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "2e784b2d6a02ea94",
"gsd-core/workflows/docs-update.md": "03599fe1d110e511",
"gsd-core/workflows/edit-phase.md": "0fb5e0123cfc6f36",
"gsd-core/workflows/eval-review.md": "57a5eaade256fee4",
"gsd-core/workflows/execute-phase.md": "5f70bb011fd5ca0d",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "0e0949db56deebeb",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "2ca3c7397d44613f",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "0b04cc2dcab61107",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "9cbf100b17f4bcb1",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "ea93d7a5c3d483e8",
"gsd-core/workflows/explore.md": "c412905fb86f3f12",
"gsd-core/workflows/extract-learnings.md": "5791168e144ec997",
"gsd-core/workflows/fast.md": "93ed453edddd8c0c",
"gsd-core/workflows/forensics.md": "82800a3138ac1da9",
"gsd-core/workflows/graduation.md": "5d5004de086db1c8",
"gsd-core/workflows/health.md": "c6616e2893731db4",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "7ca77077085452f5",
"gsd-core/workflows/help/modes/full.md": "4622116177849814",
"gsd-core/workflows/help/modes/topic.md": "6e42db16f1568be9",
"gsd-core/workflows/import.md": "ad55808e1dbef2e2",
"gsd-core/workflows/inbox.md": "e8a5db7443c524d6",
"gsd-core/workflows/ingest-docs.md": "51e2ce99f2dd5a99",
"gsd-core/workflows/insert-phase.md": "00a34b792c323959",
"gsd-core/workflows/list-phase-assumptions.md": "2a6b6a5acfb7742c",
"gsd-core/workflows/list-seeds.md": "8d6e1b5d85f64c6f",
"gsd-core/workflows/list-workspaces.md": "5e434933a3db695c",
"gsd-core/workflows/manager.md": "745a2b5080767882",
"gsd-core/workflows/map-codebase.md": "64b641b0fae702cf",
"gsd-core/workflows/milestone-summary.md": "97ddfc40c6bce906",
"gsd-core/workflows/mvp-phase.md": "9d226159c2aaae3d",
"gsd-core/workflows/new-milestone.md": "9754f2ef982755f0",
"gsd-core/workflows/new-project.md": "9560161b645ad784",
"gsd-core/workflows/new-workspace.md": "0b93348ced44810e",
"gsd-core/workflows/next.md": "0899cbefaefda97b",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "42b66686b2c102cb",
"gsd-core/workflows/onboard.md": "0f0af11294d31715",
"gsd-core/workflows/pause-work.md": "be33f84dc1d4822f",
"gsd-core/workflows/plan-milestone-gaps.md": "d98e98486123eb97",
"gsd-core/workflows/plan-phase.md": "ae220eaa7d90e137",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "4099ef6d0868de60",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "c22ff5ea46de665a",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "d050d8d551ed1756",
"gsd-core/workflows/plan-review-convergence.md": "0b3451886cd307c3",
"gsd-core/workflows/plant-seed.md": "6b7375b5d52be7c7",
"gsd-core/workflows/pr-branch.md": "cef0f65b16d500b4",
"gsd-core/workflows/profile-user.md": "bb02367a5fc8653c",
"gsd-core/workflows/progress.md": "475eb60a2e739eed",
"gsd-core/workflows/quick.md": "a77e52603415dd41",
"gsd-core/workflows/reapply-patches.md": "de0ee8acfe7245b2",
"gsd-core/workflows/remove-phase.md": "e8ae4fbbfac700f0",
"gsd-core/workflows/remove-workspace.md": "ae520235f4d1f4a5",
"gsd-core/workflows/resume-project.md": "7f20769f302e5427",
"gsd-core/workflows/review.md": "c6d7f9e26af9fbdc",
"gsd-core/workflows/scan.md": "988236984298388d",
"gsd-core/workflows/secure-phase.md": "1fac755d714ce6d3",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "5e05212fb5cba531",
"gsd-core/workflows/settings-integrations.md": "c9fb71d26fd93527",
"gsd-core/workflows/settings.md": "83a13de5926ead14",
"gsd-core/workflows/ship.md": "c5041231ec976644",
"gsd-core/workflows/sketch-wrap-up.md": "89e0eab2af946b04",
"gsd-core/workflows/sketch.md": "6e68bbff5c1e6db0",
"gsd-core/workflows/smart-entry.md": "072ac6efe8aafc38",
"gsd-core/workflows/spec-phase.md": "546b3a8eb1a97013",
"gsd-core/workflows/spike-wrap-up.md": "fe04cb3d30dcbc6c",
"gsd-core/workflows/spike.md": "c83108b751b70307",
"gsd-core/workflows/stats.md": "89a08155b92f4a2d",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "f24b6454c69d064a",
"gsd-core/workflows/transition.md": "a30cba2ad6920641",
"gsd-core/workflows/ui-phase.md": "d63ca02f7553343b",
"gsd-core/workflows/ui-review.md": "957823bde7448147",
"gsd-core/workflows/ultraplan-phase.md": "49921383982474e0",
"gsd-core/workflows/undo.md": "c433a552dab136dc",
"gsd-core/workflows/update.md": "ae8fab8975d203e2",
"gsd-core/workflows/validate-phase.md": "dcd953f03b69c26f",
"gsd-core/workflows/verify-phase.md": "7d8e241350136ca0",
"gsd-core/workflows/verify-work.md": "c7d9113ebe53f885",
"hooks/gsd-check-update-worker.js": "4bb354044e0dff91",
"hooks/gsd-check-update.js": "d2065cb3e725a42a",
"hooks/gsd-config-reload.js": "4f52b8a0120bb1b8",
"hooks/gsd-context-monitor.js": "b71785540277e9d7",
"hooks/gsd-cursor-post-tool.js": "8a8a249c0642cc71",
"hooks/gsd-cursor-pre-tool.js": "8cb8e8f895edaec9",
"hooks/gsd-cursor-session-start.js": "c78754e3516853e4",
"hooks/gsd-cursor-stop.js": "c46dc9be21b75f50",
"hooks/gsd-cursor-subagent-start.js": "ec1ea84a9a589b0a",
"hooks/gsd-cursor-subagent-stop.js": "8ee488d826bf3c37",
"hooks/gsd-ensure-canonical-path.js": "2df5e295b36c3334",
"hooks/gsd-graphify-update.sh": "81d716df76159e60",
"hooks/gsd-phase-boundary.sh": "4f3daad099fcdd50",
"hooks/gsd-prompt-guard.js": "696a0f65b9535cd1",
"hooks/gsd-read-guard.js": "1ea516209ef793c7",
"hooks/gsd-read-injection-scanner.js": "25a3c296a80c69e7",
"hooks/gsd-session-state.sh": "e54379ba86bf1b6d",
"hooks/gsd-statusline.js": "390b3601312345ae",
"hooks/gsd-update-banner.js": "b457746cb76c1957",
"hooks/gsd-validate-commit.sh": "bf5dd61d33cb3a38",
"hooks/gsd-windsurf-pre-command.js": "948be1c6d14c79cd",
"hooks/gsd-windsurf-pre-write.js": "92d4dbfbc36ab0cf",
"hooks/gsd-workflow-guard.js": "41c59d9765ac36ae",
"hooks/gsd-worktree-path-guard.js": "d55016621969e923",
"hooks/lib/cursor-workspace.js": "45061acd75d55a28",
"hooks/lib/git-cmd.js": "268ba15992ca0b23",
"hooks/lib/gsd-graphify-rebuild.sh": "66af89601074d2a9",
"hooks/managed-hooks-registry.cjs": "08741ed76f1d8970",
"package.json": "dbf8353f77358bc1",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-ns-context/SKILL.md": "654c71262d91650c",
"skills/gsd-ns-context/skills/docs-update/SKILL.md": "3d41e81ec571de60",
"skills/gsd-ns-context/skills/extract-learnings/SKILL.md": "8d38e55e5f8b774b",
"skills/gsd-ns-context/skills/graphify/SKILL.md": "ac3661e6e576188b",
"skills/gsd-ns-context/skills/map-codebase/SKILL.md": "cf65e61890448285",
"skills/gsd-ns-context/skills/mempalace-capture/SKILL.md": "175c5441158a0a9c",
"skills/gsd-ns-context/skills/mempalace-recall/SKILL.md": "c3f412d5a64f3921",
"skills/gsd-ns-ideate/SKILL.md": "4a0d2691054b23e5",
"skills/gsd-ns-ideate/skills/capture/SKILL.md": "05fa421c95fbad2d",
"skills/gsd-ns-ideate/skills/explore/SKILL.md": "7ee5c455f37093be",
"skills/gsd-ns-ideate/skills/sketch/SKILL.md": "e531174c131acc85",
"skills/gsd-ns-ideate/skills/spec-phase/SKILL.md": "7e4dfa2070b7d9d1",
"skills/gsd-ns-ideate/skills/spike/SKILL.md": "04d5f50d8d4a1c1a",
"skills/gsd-ns-manage/SKILL.md": "b6a1480f20b33bfa",
"skills/gsd-ns-manage/skills/cleanup/SKILL.md": "ea0ddedf403f309d",
"skills/gsd-ns-manage/skills/config/SKILL.md": "09a21c976161e5ae",
"skills/gsd-ns-manage/skills/health/SKILL.md": "ab21123ba99ec255",
"skills/gsd-ns-manage/skills/help/SKILL.md": "af56ff76cbd5e248",
"skills/gsd-ns-manage/skills/inbox/SKILL.md": "d05a099c0be02c60",
"skills/gsd-ns-manage/skills/manager/SKILL.md": "1370d93741e47828",
"skills/gsd-ns-manage/skills/pause-work/SKILL.md": "c7ea1020a3b4d06d",
"skills/gsd-ns-manage/skills/pr-branch/SKILL.md": "c5e26f2c6dff1355",
"skills/gsd-ns-manage/skills/resume-work/SKILL.md": "55df1b1adb14530c",
"skills/gsd-ns-manage/skills/settings/SKILL.md": "6d9fbddb0b00fd46",
"skills/gsd-ns-manage/skills/ship/SKILL.md": "bd6cb3b46d57123f",
"skills/gsd-ns-manage/skills/stats/SKILL.md": "5403a46852241fa8",
"skills/gsd-ns-manage/skills/surface/SKILL.md": "ef08f90f89ca373c",
"skills/gsd-ns-manage/skills/thread/SKILL.md": "a76c70c368f82dee",
"skills/gsd-ns-manage/skills/undo/SKILL.md": "0ad1218f55c94e4b",
"skills/gsd-ns-manage/skills/update/SKILL.md": "530b4206d729b56d",
"skills/gsd-ns-manage/skills/workspace/SKILL.md": "047c3f4247bc869e",
"skills/gsd-ns-manage/skills/workstreams/SKILL.md": "f4e54cb9b1ca0442",
"skills/gsd-ns-project/SKILL.md": "5d7ec93b195555e7",
"skills/gsd-ns-project/skills/audit-milestone/SKILL.md": "edb6a0cc6305d724",
"skills/gsd-ns-project/skills/complete-milestone/SKILL.md": "f6799a5a713be7bb",
"skills/gsd-ns-project/skills/import/SKILL.md": "88f83921a85e536b",
"skills/gsd-ns-project/skills/ingest-docs/SKILL.md": "eb85e654917a503a",
"skills/gsd-ns-project/skills/milestone-summary/SKILL.md": "33d51a325d314f3a",
"skills/gsd-ns-project/skills/new-milestone/SKILL.md": "24c97f2814d30501",
"skills/gsd-ns-project/skills/new-project/SKILL.md": "9d5c27ebfa2c4746",
"skills/gsd-ns-project/skills/onboard/SKILL.md": "46460b479b7524bf",
"skills/gsd-ns-project/skills/profile-user/SKILL.md": "78ca46045e85223f",
"skills/gsd-ns-project/skills/review-backlog/SKILL.md": "1708aab6cb919223",
"skills/gsd-ns-review/SKILL.md": "7badceb8627d8154",
"skills/gsd-ns-review/skills/audit-fix/SKILL.md": "d47c757ad361e503",
"skills/gsd-ns-review/skills/audit-uat/SKILL.md": "f3cb11adb6dab54f",
"skills/gsd-ns-review/skills/code-review/SKILL.md": "e862dc22848a6d24",
"skills/gsd-ns-review/skills/debug/SKILL.md": "42de44884d97d86d",
"skills/gsd-ns-review/skills/eval-review/SKILL.md": "b6b6059061388363",
"skills/gsd-ns-review/skills/forensics/SKILL.md": "4ef11f4cf902186f",
"skills/gsd-ns-review/skills/review/SKILL.md": "3202c2f3f3ba6759",
"skills/gsd-ns-review/skills/secure-phase/SKILL.md": "a6adf4729b606d5a",
"skills/gsd-ns-review/skills/ui-phase/SKILL.md": "7c9404102a9b9d74",
"skills/gsd-ns-review/skills/ui-review/SKILL.md": "ef8f643abff1486b",
"skills/gsd-ns-review/skills/validate-phase/SKILL.md": "70375e2381319d2b",
"skills/gsd-ns-workflow/SKILL.md": "5a65f9fb93a71cec",
"skills/gsd-ns-workflow/skills/add-tests/SKILL.md": "6661195a66f25ae8",
"skills/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "e58f7e9b779b8cee",
"skills/gsd-ns-workflow/skills/autonomous/SKILL.md": "fb57d2c08ea9e8bc",
"skills/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "ff522155265107d2",
"skills/gsd-ns-workflow/skills/execute-phase/SKILL.md": "13518a22e020e1bf",
"skills/gsd-ns-workflow/skills/fast/SKILL.md": "5f3f8b0c3f564d14",
"skills/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "f9a1348c6c297579",
"skills/gsd-ns-workflow/skills/next/SKILL.md": "13e394affe675498",
"skills/gsd-ns-workflow/skills/phase/SKILL.md": "1ed640e5f06c7be6",
"skills/gsd-ns-workflow/skills/plan-phase/SKILL.md": "1206a0878a082581",
"skills/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "53242a6abe90c405",
"skills/gsd-ns-workflow/skills/progress/SKILL.md": "943538c4ac6bde19",
"skills/gsd-ns-workflow/skills/quick/SKILL.md": "bd5e4cb79bc41611",
"skills/gsd-ns-workflow/skills/spec-phase/SKILL.md": "7e4dfa2070b7d9d1",
"skills/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "2d78c7b16aabebce",
"skills/gsd-ns-workflow/skills/verify-work/SKILL.md": "4e7825f61f3cf69c"
}

View File

@@ -1,415 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "57cf028821734f24",
"agents/gsd-advisor-researcher.md": "e5be2680b690c198",
"agents/gsd-ai-researcher.md": "abfc97706f16aaaf",
"agents/gsd-assumptions-analyzer.md": "b3219da6b194fdef",
"agents/gsd-code-fixer.md": "5fe29063843be67e",
"agents/gsd-code-reviewer.md": "338c46ab59c4e45f",
"agents/gsd-codebase-mapper.md": "85e624b7494ecdeb",
"agents/gsd-debug-session-manager.md": "774112ac5e5e48a0",
"agents/gsd-debugger.md": "2d6762c3a0974a31",
"agents/gsd-doc-classifier.md": "a6ab02b8f45f9d0b",
"agents/gsd-doc-synthesizer.md": "fd3c18addbc8265d",
"agents/gsd-doc-verifier.md": "e51e50892963ccc7",
"agents/gsd-doc-writer.md": "b0c3ad805b789226",
"agents/gsd-domain-researcher.md": "b80f76874c04e515",
"agents/gsd-eval-auditor.md": "470bf16303ec4d2e",
"agents/gsd-eval-planner.md": "22334fde85723c9d",
"agents/gsd-executor.md": "e47f3ac8cf7384c9",
"agents/gsd-framework-selector.md": "7726fccc86bfeb50",
"agents/gsd-integration-checker.md": "7cd2072984411c7f",
"agents/gsd-intel-updater.md": "83de6ba9172891c3",
"agents/gsd-mempalace-curator.md": "78f4894a9d5f44b1",
"agents/gsd-nyquist-auditor.md": "58efbed3b81b5ede",
"agents/gsd-pattern-mapper.md": "b5d7a4abb1baecb9",
"agents/gsd-phase-researcher.md": "2256f1f82212c757",
"agents/gsd-plan-checker.md": "aaa9e928de1abba9",
"agents/gsd-planner.md": "c99c8a75226d19b7",
"agents/gsd-project-researcher.md": "ddf7794e81300032",
"agents/gsd-research-synthesizer.md": "a124b00271748d07",
"agents/gsd-roadmapper.md": "493ef92b42b12cf4",
"agents/gsd-security-auditor.md": "1e2eea5b2ab16d6e",
"agents/gsd-ui-auditor.md": "771ae08260534d5c",
"agents/gsd-ui-checker.md": "7ecd910efa6eb00e",
"agents/gsd-ui-researcher.md": "9e1a84a55a4cac99",
"agents/gsd-user-profiler.md": "622220df0654b6bf",
"agents/gsd-verifier.md": "6c7e68a4a64cac57",
"gsd-core/.gsd-runtime": "c96852d55ce78a68",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "de4627dff103d527",
"gsd-core/bin/gsd-tools.cjs": "75505dba4a8d897b",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "18d1ff7c7fa0bab1",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "4d24ce110ed6c746",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "bdff0159e58a8568",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "d0458c690c4487c9",
"gsd-core/references/debugger-fix-acceptance.md": "134f83886c343733",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "4bf1af239ae875f3",
"gsd-core/references/debugger-sbfl.md": "23d7a3bb15bc8b7c",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "7a1aa0ad7963f809",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "973a3a6a5db7e449",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "1bd40c3f94d712b1",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "0534754c2758352a",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "b4527b0f255d193f",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "1c9ae4014a95d269",
"gsd-core/references/phase-argument-parsing.md": "e562947d1bf5c5a4",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "140b1266eeb096cb",
"gsd-core/references/planner-human-verify-mode.md": "0bb1176995ac1d81",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "9a9383599893ea7e",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "e333d958ae0179dd",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "52872d5393ea9daf",
"gsd-core/references/project-skills-discovery.md": "2aa2a5388d41a97e",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "91208b2d0617c845",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "99be8a3315c75183",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "77d0e004039fb480",
"gsd-core/references/worktree-branch-check.md": "d20c16a7b42cceee",
"gsd-core/references/worktree-path-safety.md": "34689482908229bc",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "332f65072c3f03ae",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "17217a07ab8a6485",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "c9c5df7a8911bca9",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "213ccd947451ff2b",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1851e97996d445d5",
"gsd-core/workflows/add-phase.md": "7403cf0bc93a9699",
"gsd-core/workflows/add-tests.md": "0eb1496a1afdff33",
"gsd-core/workflows/add-todo.md": "bc8dcc0faf1e46f8",
"gsd-core/workflows/ai-integration-phase.md": "a45f85a616295092",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "04ca2d8293c07725",
"gsd-core/workflows/audit-milestone.md": "40739a72a0e85e73",
"gsd-core/workflows/audit-uat.md": "6e768b1c208a787a",
"gsd-core/workflows/autonomous.md": "e7702a642488473e",
"gsd-core/workflows/check-todos.md": "31a2b2a5a28a409a",
"gsd-core/workflows/cleanup.md": "ad625e9596e04cda",
"gsd-core/workflows/code-review-fix.md": "65fb541d22e6d7b6",
"gsd-core/workflows/code-review.md": "7b947dbf2d6bab03",
"gsd-core/workflows/complete-milestone.md": "98951eb5783fe72c",
"gsd-core/workflows/debug.md": "a43a8faff556fb16",
"gsd-core/workflows/diagnose-issues.md": "207dcdb85650d239",
"gsd-core/workflows/discovery-phase.md": "7644e2d890a21212",
"gsd-core/workflows/discuss-phase-assumptions.md": "4850f9cd455e6b23",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "4509657816c5566a",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "c9cd7db62e76ebcb",
"gsd-core/workflows/discuss-phase/modes/all.md": "e698b84ebb2ff56d",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "c824ef897199b730",
"gsd-core/workflows/discuss-phase/modes/auto.md": "6ba5c7b738f44003",
"gsd-core/workflows/discuss-phase/modes/batch.md": "21ee55869eaa7ece",
"gsd-core/workflows/discuss-phase/modes/chain.md": "4739c3d2ef20a76c",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "55b61b7dc83a58b2",
"gsd-core/workflows/discuss-phase/modes/text.md": "e1043e27b50a5e18",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "6b56aa4a44ca61fc",
"gsd-core/workflows/docs-update.md": "78cd8efff2717c77",
"gsd-core/workflows/edit-phase.md": "7facd0faa33c8cad",
"gsd-core/workflows/eval-review.md": "263c8971520f632e",
"gsd-core/workflows/execute-phase.md": "695cf3c2b07e8920",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "296b812e8d0e9ce8",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "c1d6db937a51d433",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7d30384e9bf82664",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "90efedae3decaffe",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "3abba98d19b31036",
"gsd-core/workflows/explore.md": "f4d0db08c11545a8",
"gsd-core/workflows/extract-learnings.md": "1ee1ee86b7d8bb43",
"gsd-core/workflows/fast.md": "0f05b1e008ac2fc2",
"gsd-core/workflows/forensics.md": "665546666547875d",
"gsd-core/workflows/graduation.md": "defc0dfcbfeb68d2",
"gsd-core/workflows/health.md": "d4cec6ef023e9833",
"gsd-core/workflows/help.md": "08e1349950c5602a",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "ed7368e0d1b8644a",
"gsd-core/workflows/help/modes/full.md": "244a1c2b87d4d334",
"gsd-core/workflows/help/modes/topic.md": "8a5344e56fa64ab9",
"gsd-core/workflows/import.md": "a957c640a14c7844",
"gsd-core/workflows/inbox.md": "1abe5a3114bbf1c3",
"gsd-core/workflows/ingest-docs.md": "3a40ec243aaaddc2",
"gsd-core/workflows/insert-phase.md": "753fa719f0d41d76",
"gsd-core/workflows/list-phase-assumptions.md": "eb986c301d59f620",
"gsd-core/workflows/list-seeds.md": "74ec072a74f8fdfe",
"gsd-core/workflows/list-workspaces.md": "886e99378a3d19d9",
"gsd-core/workflows/manager.md": "fd834a4236bd1b2e",
"gsd-core/workflows/map-codebase.md": "fff68c1ff8a4ea63",
"gsd-core/workflows/milestone-summary.md": "a0063cfbe08f2250",
"gsd-core/workflows/mvp-phase.md": "c4e49ad83e1413ef",
"gsd-core/workflows/new-milestone.md": "268dbc3e79a9f2a9",
"gsd-core/workflows/new-project.md": "1071df1be5ede34e",
"gsd-core/workflows/new-workspace.md": "89e5df89d54a2f47",
"gsd-core/workflows/next.md": "259c8c42c4ce622b",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "acc9130fb1e94f0b",
"gsd-core/workflows/onboard.md": "015695a7e9cf59bc",
"gsd-core/workflows/pause-work.md": "c20d267e28ce92f0",
"gsd-core/workflows/plan-milestone-gaps.md": "26db7b9329b7ddc8",
"gsd-core/workflows/plan-phase.md": "89eb12b0d0561bcc",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "e06ccd4d4c0703fb",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "778b73a8db6f7c32",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "619946c879f33b9d",
"gsd-core/workflows/plan-review-convergence.md": "ce4685ee46d343d2",
"gsd-core/workflows/plant-seed.md": "622f246ea8e163fa",
"gsd-core/workflows/pr-branch.md": "79fd55b88ea2db9c",
"gsd-core/workflows/profile-user.md": "aa0737531d487f10",
"gsd-core/workflows/progress.md": "1fe098b4d559ba55",
"gsd-core/workflows/quick.md": "efb557fbe8b4db60",
"gsd-core/workflows/reapply-patches.md": "21b38c374f19fd78",
"gsd-core/workflows/remove-phase.md": "a46c2fe853bf4e86",
"gsd-core/workflows/remove-workspace.md": "8ddc5f04f7c48d6c",
"gsd-core/workflows/resume-project.md": "f242e4c8aba18ea2",
"gsd-core/workflows/review.md": "663197fee51897e4",
"gsd-core/workflows/scan.md": "73a9c7810f892ea1",
"gsd-core/workflows/secure-phase.md": "34f5e4d8e31c928d",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "39e66386f6c48025",
"gsd-core/workflows/settings-integrations.md": "8bb1c2bdebbc56e6",
"gsd-core/workflows/settings.md": "db6121276c6f63a4",
"gsd-core/workflows/ship.md": "b78862b054e8064c",
"gsd-core/workflows/sketch-wrap-up.md": "dbec602d104cb951",
"gsd-core/workflows/sketch.md": "6a6e543f2b667278",
"gsd-core/workflows/smart-entry.md": "5631e2e70b02abba",
"gsd-core/workflows/spec-phase.md": "7b8873b0cd3eb9d7",
"gsd-core/workflows/spike-wrap-up.md": "6fe876cb87603bc3",
"gsd-core/workflows/spike.md": "0644cd621b35bedb",
"gsd-core/workflows/stats.md": "e4f84542fb5721ef",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "0582c6be8a78bbd8",
"gsd-core/workflows/transition.md": "45dc17cc631dc485",
"gsd-core/workflows/ui-phase.md": "9fcb76f015e49c36",
"gsd-core/workflows/ui-review.md": "fc37240a571ea55e",
"gsd-core/workflows/ultraplan-phase.md": "77b58ef8af5209bd",
"gsd-core/workflows/undo.md": "0222476f90d97de3",
"gsd-core/workflows/update.md": "489c3a1b41f7de78",
"gsd-core/workflows/validate-phase.md": "2323df09d3192bb5",
"gsd-core/workflows/verify-phase.md": "101bf5a6e15f0b04",
"gsd-core/workflows/verify-work.md": "6bd6621bbc88577e",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-ns-context/SKILL.md": "9353c36c249db204",
"skills/gsd-ns-context/skills/docs-update/SKILL.md": "26ec00ef228c2bdb",
"skills/gsd-ns-context/skills/extract-learnings/SKILL.md": "1fc6ba92fc18eb86",
"skills/gsd-ns-context/skills/graphify/SKILL.md": "371ce22f2fe319bc",
"skills/gsd-ns-context/skills/map-codebase/SKILL.md": "cfc5310b903d594a",
"skills/gsd-ns-context/skills/mempalace-capture/SKILL.md": "52cb3eacc890c44c",
"skills/gsd-ns-context/skills/mempalace-recall/SKILL.md": "73b0b7a6301cb214",
"skills/gsd-ns-ideate/SKILL.md": "aa399385b735c7c1",
"skills/gsd-ns-ideate/skills/capture/SKILL.md": "3b7fc696b2107bcf",
"skills/gsd-ns-ideate/skills/explore/SKILL.md": "34495849e42be247",
"skills/gsd-ns-ideate/skills/sketch/SKILL.md": "318e76d151f6c3c1",
"skills/gsd-ns-ideate/skills/spec-phase/SKILL.md": "9291f835233fa8da",
"skills/gsd-ns-ideate/skills/spike/SKILL.md": "b84100b5c869880f",
"skills/gsd-ns-manage/SKILL.md": "d44c39486fd6b83d",
"skills/gsd-ns-manage/skills/cleanup/SKILL.md": "1aa3427198e6ee04",
"skills/gsd-ns-manage/skills/config/SKILL.md": "f67d9051f635a030",
"skills/gsd-ns-manage/skills/health/SKILL.md": "2a4f959f80995d1d",
"skills/gsd-ns-manage/skills/help/SKILL.md": "52a981e1a34dd41d",
"skills/gsd-ns-manage/skills/inbox/SKILL.md": "88b260e6166d7b8d",
"skills/gsd-ns-manage/skills/manager/SKILL.md": "ac5c418cee66ee19",
"skills/gsd-ns-manage/skills/pause-work/SKILL.md": "ba8390423acccdeb",
"skills/gsd-ns-manage/skills/pr-branch/SKILL.md": "28d58cf0bb655bbc",
"skills/gsd-ns-manage/skills/resume-work/SKILL.md": "7e1f9d4d1fc60bca",
"skills/gsd-ns-manage/skills/settings/SKILL.md": "e3590bb5e3d0fdf2",
"skills/gsd-ns-manage/skills/ship/SKILL.md": "456609cf127b36dc",
"skills/gsd-ns-manage/skills/stats/SKILL.md": "f5f5f1fbfe65cee8",
"skills/gsd-ns-manage/skills/surface/SKILL.md": "2c92a300547a5a97",
"skills/gsd-ns-manage/skills/thread/SKILL.md": "48894eaf985265b3",
"skills/gsd-ns-manage/skills/undo/SKILL.md": "0deb95bc44edf37c",
"skills/gsd-ns-manage/skills/update/SKILL.md": "ffcd813ad256769b",
"skills/gsd-ns-manage/skills/workspace/SKILL.md": "e942e86d9e284d0f",
"skills/gsd-ns-manage/skills/workstreams/SKILL.md": "2374d16c8b5653d5",
"skills/gsd-ns-project/SKILL.md": "7c5ed3164048d2fe",
"skills/gsd-ns-project/skills/audit-milestone/SKILL.md": "6d9e265675fd6440",
"skills/gsd-ns-project/skills/complete-milestone/SKILL.md": "9a36fb672ddb2334",
"skills/gsd-ns-project/skills/import/SKILL.md": "46f9c44249ddc9e3",
"skills/gsd-ns-project/skills/ingest-docs/SKILL.md": "9254dae5d5104a80",
"skills/gsd-ns-project/skills/milestone-summary/SKILL.md": "a5aa590c17da3075",
"skills/gsd-ns-project/skills/new-milestone/SKILL.md": "827a2fd21878df0b",
"skills/gsd-ns-project/skills/new-project/SKILL.md": "cbbd2ed15bd72d39",
"skills/gsd-ns-project/skills/onboard/SKILL.md": "28a81722a1083234",
"skills/gsd-ns-project/skills/profile-user/SKILL.md": "7ed27739a950999f",
"skills/gsd-ns-project/skills/review-backlog/SKILL.md": "0285f773cc4e3bfe",
"skills/gsd-ns-review/SKILL.md": "a89fa5e8afbb7c56",
"skills/gsd-ns-review/skills/audit-fix/SKILL.md": "c07aea2676e00c7b",
"skills/gsd-ns-review/skills/audit-uat/SKILL.md": "fc192f6cba1a99fd",
"skills/gsd-ns-review/skills/code-review/SKILL.md": "467fee86ac8af71d",
"skills/gsd-ns-review/skills/debug/SKILL.md": "1b9030f4a138bedc",
"skills/gsd-ns-review/skills/eval-review/SKILL.md": "919f1aaad7d9a46a",
"skills/gsd-ns-review/skills/forensics/SKILL.md": "95f2f0a901b7b31a",
"skills/gsd-ns-review/skills/review/SKILL.md": "c35628771471201e",
"skills/gsd-ns-review/skills/secure-phase/SKILL.md": "875a24903352fc0f",
"skills/gsd-ns-review/skills/ui-phase/SKILL.md": "33b2394c085b93e8",
"skills/gsd-ns-review/skills/ui-review/SKILL.md": "6d6b47e51e60afc6",
"skills/gsd-ns-review/skills/validate-phase/SKILL.md": "536619be8c40ff5e",
"skills/gsd-ns-workflow/SKILL.md": "2c85abe6d78c7cf7",
"skills/gsd-ns-workflow/skills/add-tests/SKILL.md": "6e10735c8b18de8a",
"skills/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "8bbad0f4c9624d4e",
"skills/gsd-ns-workflow/skills/autonomous/SKILL.md": "a9d7374b631ae7b3",
"skills/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "d2f1554b9faab0a1",
"skills/gsd-ns-workflow/skills/execute-phase/SKILL.md": "e05fc375d4b5f7b5",
"skills/gsd-ns-workflow/skills/fast/SKILL.md": "08f8ce2ba96921cc",
"skills/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "fef8178c9920c2dd",
"skills/gsd-ns-workflow/skills/next/SKILL.md": "faadd9e2817e7324",
"skills/gsd-ns-workflow/skills/phase/SKILL.md": "df3efcd61f7cc796",
"skills/gsd-ns-workflow/skills/plan-phase/SKILL.md": "c6c607b03b043eb1",
"skills/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "b27aad9196476875",
"skills/gsd-ns-workflow/skills/progress/SKILL.md": "37a37d2cdfba46ea",
"skills/gsd-ns-workflow/skills/quick/SKILL.md": "6fd1b96274b23a9f",
"skills/gsd-ns-workflow/skills/spec-phase/SKILL.md": "9291f835233fa8da",
"skills/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "a3cd6f98acc738f0",
"skills/gsd-ns-workflow/skills/verify-work/SKILL.md": "25dc4ab4e4a060bc"
}

View File

@@ -1,345 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "7a17effa731d8356",
"agents/gsd-advisor-researcher.md": "e5be2680b690c198",
"agents/gsd-ai-researcher.md": "abfc97706f16aaaf",
"agents/gsd-assumptions-analyzer.md": "b3219da6b194fdef",
"agents/gsd-code-fixer.md": "f00d815ec535a168",
"agents/gsd-code-reviewer.md": "efc0d2dee321c654",
"agents/gsd-codebase-mapper.md": "afc125fe279e618f",
"agents/gsd-debug-session-manager.md": "89e8c56d6737fd86",
"agents/gsd-debugger.md": "7f9bd63ccb6e57c2",
"agents/gsd-doc-classifier.md": "a6ab02b8f45f9d0b",
"agents/gsd-doc-synthesizer.md": "fd3c18addbc8265d",
"agents/gsd-doc-verifier.md": "ede2f297b73b5a86",
"agents/gsd-doc-writer.md": "0109294817e475a8",
"agents/gsd-domain-researcher.md": "56395dbdabf076f6",
"agents/gsd-eval-auditor.md": "fb64fc5acf359747",
"agents/gsd-eval-planner.md": "2049dac060d00eda",
"agents/gsd-executor.md": "f7c8d3dba51391b2",
"agents/gsd-framework-selector.md": "4b77eebbe9288d80",
"agents/gsd-integration-checker.md": "4ffb37fb230c2b90",
"agents/gsd-intel-updater.md": "a81d77c143c02108",
"agents/gsd-mempalace-curator.md": "78f4894a9d5f44b1",
"agents/gsd-nyquist-auditor.md": "0ef8609fd897e399",
"agents/gsd-pattern-mapper.md": "ada0c169daa2f0ec",
"agents/gsd-phase-researcher.md": "2a45ebde829555ec",
"agents/gsd-plan-checker.md": "c68b9bd6382a22a7",
"agents/gsd-planner.md": "f9e2d99c4daf51de",
"agents/gsd-project-researcher.md": "f6697b316b5995ba",
"agents/gsd-research-synthesizer.md": "04036f38c1d373ea",
"agents/gsd-roadmapper.md": "fb62e1e3de84b5f9",
"agents/gsd-security-auditor.md": "cacf711cb835300b",
"agents/gsd-ui-auditor.md": "20cc99872e9b998b",
"agents/gsd-ui-checker.md": "56698909c270b130",
"agents/gsd-ui-researcher.md": "c348aa3ff8412ecb",
"agents/gsd-user-profiler.md": "622220df0654b6bf",
"agents/gsd-verifier.md": "4c43a4929c6f8013",
"gsd-core/.gsd-runtime": "fe100af8906532d6",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "5636ca0b726871b2",
"gsd-core/bin/gsd-tools.cjs": "7b24add017befd53",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "849977da771f2b06",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "53d290a68f83c7d0",
"gsd-core/references/artifact-types.md": "8bd01fd75a2ba70e",
"gsd-core/references/autonomous-smart-discuss.md": "273b371c5751f35a",
"gsd-core/references/checkpoints.md": "900530adaf675e38",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "7a53f9d14e306e3a",
"gsd-core/references/continuation-format.md": "580287399ad3ba68",
"gsd-core/references/debugger-bug-taxonomy.md": "5d8c0a266a6d61f8",
"gsd-core/references/debugger-fix-acceptance.md": "ddd00cbd78dd3fdf",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "b5d7c4a5804327c3",
"gsd-core/references/debugger-sbfl.md": "071651eaf7414a4c",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "692b44ca096f96e6",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "1587345770b19c7f",
"gsd-core/references/execute-phase-context-guard.md": "a5a1058d35806a8e",
"gsd-core/references/execute-phase-quota-recovery.md": "713cf7681f57e7ce",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "96485eccd4606e54",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "099c8d52e3562336",
"gsd-core/references/gates.md": "7dc9fd3a3d6217c6",
"gsd-core/references/git-integration.md": "6ec36ea6b868655f",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "1bb6a410d6ebfb33",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "09aa53e3f1764a41",
"gsd-core/references/mvp-concepts.md": "3464783eaaef5c10",
"gsd-core/references/offer-next.md": "1c9ae4014a95d269",
"gsd-core/references/phase-argument-parsing.md": "e562947d1bf5c5a4",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "1ed614dfba72f2a3",
"gsd-core/references/planner-guidance.md": "140b1266eeb096cb",
"gsd-core/references/planner-human-verify-mode.md": "86c8c7052806711f",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "18d50b6d12db830e",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "74acbf4a873a01e4",
"gsd-core/references/planner-reviews.md": "da39eace09a10743",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "6afdf982d6b1663e",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "8f3eb787e3845e2f",
"gsd-core/references/project-skills-discovery.md": "8a03bb1f0960e235",
"gsd-core/references/questioning.md": "faac32813d1735bd",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "a857fc444baec27a",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "fb3ce4dc193bb32a",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5ec1ddd3c4134750",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "827c1badf3e6df41",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "a3e2d5166d16a37b",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "481ec11fe3e22236",
"gsd-core/references/worktree-branch-check.md": "6a28b79d092173dd",
"gsd-core/references/worktree-path-safety.md": "0e8a26b9b3424974",
"gsd-core/templates/AI-SPEC.md": "24df5fe5ba34e367",
"gsd-core/templates/DEBUG.md": "0944156249103c16",
"gsd-core/templates/README.md": "ee35799bf08677f3",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "68d32d1fea14e184",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "e4d0f1c48727fce3",
"gsd-core/templates/claude-md.md": "20be2a0201ab92cd",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "f7e0345b72e84e6e",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "8c18a89e25929d8e",
"gsd-core/templates/dev-preferences.md": "95048a71063d980b",
"gsd-core/templates/discovery.md": "e4ab738326eb70e0",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "213ccd947451ff2b",
"gsd-core/templates/planner-subagent-prompt.md": "6c9f1b23ee3dc05f",
"gsd-core/templates/project.md": "ae1f68db042c2522",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "fa6dfb2ff2e8d273",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "7dc900c355098d8b",
"gsd-core/templates/state.md": "73e424b8c70b765c",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "61169973a10b1321",
"gsd-core/workflows/add-phase.md": "78cca7f86793f7f8",
"gsd-core/workflows/add-tests.md": "4a244c69af35ede3",
"gsd-core/workflows/add-todo.md": "21cdcf699aac8c64",
"gsd-core/workflows/ai-integration-phase.md": "eab19bf009d39266",
"gsd-core/workflows/analyze-dependencies.md": "77aff48f97fa6f1c",
"gsd-core/workflows/audit-fix.md": "fd8ba9db9c56dd81",
"gsd-core/workflows/audit-milestone.md": "ffc48dbaca92b927",
"gsd-core/workflows/audit-uat.md": "d496e39402e160de",
"gsd-core/workflows/autonomous.md": "c6638fb24a9f9024",
"gsd-core/workflows/check-todos.md": "c72eec15c87fa877",
"gsd-core/workflows/cleanup.md": "da44b987853e1a74",
"gsd-core/workflows/code-review-fix.md": "07ee5febf2472156",
"gsd-core/workflows/code-review.md": "93d603506d72468a",
"gsd-core/workflows/complete-milestone.md": "3324ec6da5856f21",
"gsd-core/workflows/debug.md": "56c27e13cdb531ee",
"gsd-core/workflows/diagnose-issues.md": "3991fb0ec18050e2",
"gsd-core/workflows/discovery-phase.md": "313c3a5213449309",
"gsd-core/workflows/discuss-phase-assumptions.md": "cee9bb2cd280ab36",
"gsd-core/workflows/discuss-phase-power.md": "290c0d83d783f9f6",
"gsd-core/workflows/discuss-phase.md": "ce4e6abce9cb2d4e",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "cb49f485c4a1f09e",
"gsd-core/workflows/discuss-phase/modes/all.md": "d2a1d16e2508a0cd",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "c824ef897199b730",
"gsd-core/workflows/discuss-phase/modes/auto.md": "e98b6efbfd66d409",
"gsd-core/workflows/discuss-phase/modes/batch.md": "c23d5bdbdb60362c",
"gsd-core/workflows/discuss-phase/modes/chain.md": "2f3acba636e436aa",
"gsd-core/workflows/discuss-phase/modes/default.md": "4ada4fe332c5c985",
"gsd-core/workflows/discuss-phase/modes/power.md": "55b61b7dc83a58b2",
"gsd-core/workflows/discuss-phase/modes/text.md": "aeb56fe7b95dd786",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "cd5d01c9ef84ab73",
"gsd-core/workflows/do.md": "c2ee0bb845bc1cf1",
"gsd-core/workflows/docs-update.md": "8fd49fe7a89da620",
"gsd-core/workflows/edit-phase.md": "c0ae7d0063f3e789",
"gsd-core/workflows/eval-review.md": "26051580110e6217",
"gsd-core/workflows/execute-phase.md": "383836c8c1d0fa7e",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "3194ecd382690755",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "becb931701890353",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "fb4497767cdf73a3",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "c54d55fad3ab5263",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "2ff04f06b000fe26",
"gsd-core/workflows/explore.md": "e5ff3269f8ee77b6",
"gsd-core/workflows/extract-learnings.md": "894218dd99cf2131",
"gsd-core/workflows/fast.md": "b03b9f595892479a",
"gsd-core/workflows/forensics.md": "3d1ce16b5f605592",
"gsd-core/workflows/graduation.md": "0783b074a1c7013b",
"gsd-core/workflows/health.md": "b629995ffabf5386",
"gsd-core/workflows/help.md": "08e1349950c5602a",
"gsd-core/workflows/help/modes/brief.md": "fa2675516b40e2e3",
"gsd-core/workflows/help/modes/default.md": "6a253f1756f74e95",
"gsd-core/workflows/help/modes/full.md": "99bb7fe52937dd41",
"gsd-core/workflows/help/modes/topic.md": "cee80e0adfa3b06c",
"gsd-core/workflows/import.md": "66ba334402aa357a",
"gsd-core/workflows/inbox.md": "556b5a10c580ebad",
"gsd-core/workflows/ingest-docs.md": "83642549c97aa0c1",
"gsd-core/workflows/insert-phase.md": "9aac75665c3a0ee8",
"gsd-core/workflows/list-phase-assumptions.md": "eb986c301d59f620",
"gsd-core/workflows/list-seeds.md": "39162bbefe932b3d",
"gsd-core/workflows/list-workspaces.md": "6950fb740a1e96ab",
"gsd-core/workflows/manager.md": "10e895f5b83168fc",
"gsd-core/workflows/map-codebase.md": "06eb656727c7758d",
"gsd-core/workflows/milestone-summary.md": "1fdbae19ad06a0a3",
"gsd-core/workflows/mvp-phase.md": "0b22d99b2f3aee0b",
"gsd-core/workflows/new-milestone.md": "85610dc440404ae2",
"gsd-core/workflows/new-project.md": "823b42b781f497e0",
"gsd-core/workflows/new-workspace.md": "b503e947ab08ab96",
"gsd-core/workflows/next.md": "727392fe9b42cea8",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "1c1e466c764e3deb",
"gsd-core/workflows/onboard.md": "7d0c7449b84c7997",
"gsd-core/workflows/pause-work.md": "93fcc1c845da6396",
"gsd-core/workflows/plan-milestone-gaps.md": "7880866ee1caf923",
"gsd-core/workflows/plan-phase.md": "746b22884b1dda55",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "e06ccd4d4c0703fb",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "80b1ba493a9a967f",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "3fed4740a91d0443",
"gsd-core/workflows/plan-review-convergence.md": "d9700b18dfb71452",
"gsd-core/workflows/plant-seed.md": "caa8fef75821b24c",
"gsd-core/workflows/pr-branch.md": "acd59f915d018ad4",
"gsd-core/workflows/profile-user.md": "33b150468a6789db",
"gsd-core/workflows/progress.md": "3e4ac518362ba665",
"gsd-core/workflows/quick.md": "f606815b016488fc",
"gsd-core/workflows/reapply-patches.md": "d449a23d3acf6379",
"gsd-core/workflows/remove-phase.md": "e7a6af429b36e77b",
"gsd-core/workflows/remove-workspace.md": "30ca05fe4a3efc25",
"gsd-core/workflows/resume-project.md": "82cfe1b8cb17c085",
"gsd-core/workflows/review.md": "8a9380fa5a5a3b12",
"gsd-core/workflows/scan.md": "a93cb61ed701c91f",
"gsd-core/workflows/secure-phase.md": "646aec1615738a8e",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "2f86ec7b998f9485",
"gsd-core/workflows/settings-integrations.md": "159d0ae32b511129",
"gsd-core/workflows/settings.md": "26fff45b86d827aa",
"gsd-core/workflows/ship.md": "8ddef34295aa8394",
"gsd-core/workflows/sketch-wrap-up.md": "10063f56c2c7f141",
"gsd-core/workflows/sketch.md": "c15716376df41c97",
"gsd-core/workflows/smart-entry.md": "3fed94530109124b",
"gsd-core/workflows/spec-phase.md": "744faedd273da0f7",
"gsd-core/workflows/spike-wrap-up.md": "8029ca4effb5b716",
"gsd-core/workflows/spike.md": "d3190af9c3f57260",
"gsd-core/workflows/stats.md": "d58325fc3fb8d1b6",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "d83a0d0bd0f94c4c",
"gsd-core/workflows/transition.md": "5e2c96544e9981ed",
"gsd-core/workflows/ui-phase.md": "e946cffc791c1439",
"gsd-core/workflows/ui-review.md": "34d330851a6ac9a5",
"gsd-core/workflows/ultraplan-phase.md": "53b77a8edf60acd0",
"gsd-core/workflows/undo.md": "733189fb34cc026b",
"gsd-core/workflows/update.md": "f62a1df3b92e1a0f",
"gsd-core/workflows/validate-phase.md": "d4c093a8e4ae4d95",
"gsd-core/workflows/verify-phase.md": "382490481d794ed5",
"gsd-core/workflows/verify-work.md": "bef318ddc15c0627",
"hooks/gsd-windsurf-pre-command.js": "7467a8a63e354aad",
"hooks/gsd-windsurf-pre-write.js": "1c8a776d7ae2dcce",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7"
}

View File

@@ -1,486 +0,0 @@
{
".gsd-profile": "0e716a5fef4e6dc1",
".gsd/defaults.json": "98c870b9b696a3a5",
"agents/gsd-advisor-researcher.md": "f1c4a47d3d8cea72",
"agents/gsd-ai-researcher.md": "2f2da4b89d445860",
"agents/gsd-assumptions-analyzer.md": "f11a80795163bb5d",
"agents/gsd-code-fixer.md": "78549833f0411b0c",
"agents/gsd-code-reviewer.md": "7d94fe8bfa6661aa",
"agents/gsd-codebase-mapper.md": "3941bfc98c091018",
"agents/gsd-debug-session-manager.md": "7065bea4cedab2f6",
"agents/gsd-debugger.md": "7840ed78e3f662a8",
"agents/gsd-doc-classifier.md": "146acf4d176134b5",
"agents/gsd-doc-synthesizer.md": "b1f5e2eb28fa3659",
"agents/gsd-doc-verifier.md": "7ed4d9611f678a95",
"agents/gsd-doc-writer.md": "3ed3dc255d7eca8d",
"agents/gsd-domain-researcher.md": "049f588663814fa2",
"agents/gsd-eval-auditor.md": "54870d3b07433525",
"agents/gsd-eval-planner.md": "552e9fa164c51ce8",
"agents/gsd-executor.md": "ab4f1cbca7c22663",
"agents/gsd-framework-selector.md": "8a795f230436ad2e",
"agents/gsd-integration-checker.md": "c1760a0bbd4f7bf5",
"agents/gsd-intel-updater.md": "944f1d903e2e9e09",
"agents/gsd-mempalace-curator.md": "399e90e473b33814",
"agents/gsd-nyquist-auditor.md": "f2232a1be0835709",
"agents/gsd-pattern-mapper.md": "68ecefd60811a669",
"agents/gsd-phase-researcher.md": "2235f61764d8e969",
"agents/gsd-plan-checker.md": "f3caf89525709445",
"agents/gsd-planner.md": "88acabd0285bb25b",
"agents/gsd-project-researcher.md": "f572892f138734ff",
"agents/gsd-research-synthesizer.md": "29949bf3f049a8f1",
"agents/gsd-roadmapper.md": "840ac933e3b094f9",
"agents/gsd-security-auditor.md": "4b86fa11ebda981e",
"agents/gsd-ui-auditor.md": "76f446c50edf81f8",
"agents/gsd-ui-checker.md": "15949ccab982b71c",
"agents/gsd-ui-researcher.md": "0e8ec8509d476904",
"agents/gsd-user-profiler.md": "ca3bf75581f211a0",
"agents/gsd-verifier.md": "cd5bea62bf704829",
"commands/gsd-add-tests.md": "51542808862d4aa7",
"commands/gsd-ai-integration-phase.md": "a693c0ade172bc3d",
"commands/gsd-audit-fix.md": "24d7e5478c271584",
"commands/gsd-audit-milestone.md": "192c2d4979ef6a5e",
"commands/gsd-audit-uat.md": "a7ce7c63bf2db68e",
"commands/gsd-autonomous.md": "35ccce06299833cf",
"commands/gsd-capture.md": "b8494f0d0b1aff6a",
"commands/gsd-cleanup.md": "e7b7644ddcefdf01",
"commands/gsd-code-review.md": "1687eabcdf03f643",
"commands/gsd-complete-milestone.md": "0b9066c97cf17898",
"commands/gsd-config.md": "f6532a6cff144abe",
"commands/gsd-debug.md": "9b42a48f5ae6836a",
"commands/gsd-discuss-phase.md": "5a29df7d87aeb5cc",
"commands/gsd-docs-update.md": "4992630ef84a9bfe",
"commands/gsd-eval-review.md": "56a5842110d51254",
"commands/gsd-execute-phase.md": "6bc473253c54343c",
"commands/gsd-explore.md": "99d92deebce81126",
"commands/gsd-extract-learnings.md": "b74c866e71283e49",
"commands/gsd-fast.md": "5ac666f183c840ae",
"commands/gsd-forensics.md": "fd672efe51d65a1a",
"commands/gsd-graphify.md": "43e6dc6f9a38a043",
"commands/gsd-health.md": "5339a925c497c35b",
"commands/gsd-help.md": "9101ee73c245037e",
"commands/gsd-import.md": "8a81293674937978",
"commands/gsd-inbox.md": "da55c1408a6ee6cc",
"commands/gsd-ingest-docs.md": "7a3c21ae5d5d133a",
"commands/gsd-manager.md": "9f54653a7c589b00",
"commands/gsd-map-codebase.md": "709e9572953accc6",
"commands/gsd-mempalace-capture.md": "c0892e814b04350a",
"commands/gsd-mempalace-recall.md": "5ac67fa4b7f2b03b",
"commands/gsd-milestone-summary.md": "f8fa9c357c08b74b",
"commands/gsd-mvp-phase.md": "cba67bcb55250e5f",
"commands/gsd-new-milestone.md": "8d52385b21cadd20",
"commands/gsd-new-project.md": "952d7601b800ad8d",
"commands/gsd-next.md": "7d3a2cb0bd12043a",
"commands/gsd-ns-context.md": "011c44e7aa46e64a",
"commands/gsd-ns-ideate.md": "edc5e543512dd48a",
"commands/gsd-ns-manage.md": "0409d810e499357f",
"commands/gsd-ns-project.md": "ff67e85bc6f7fc5a",
"commands/gsd-ns-review.md": "3766ed10827882a0",
"commands/gsd-ns-workflow.md": "c3b3c046a74ec0ee",
"commands/gsd-onboard.md": "a35340ce39334fc7",
"commands/gsd-pause-work.md": "40a953fcddbedb5d",
"commands/gsd-phase.md": "5dd3d40e3461a973",
"commands/gsd-plan-phase.md": "8ab637314511ea88",
"commands/gsd-plan-review-convergence.md": "f3aab422e0708dae",
"commands/gsd-pr-branch.md": "ab1fcffe92129061",
"commands/gsd-profile-user.md": "37c9ef202669bfd3",
"commands/gsd-progress.md": "13d7e5ba8acc2605",
"commands/gsd-quick.md": "3b9762ba2616ac69",
"commands/gsd-resume-work.md": "ece9c3a5f64e21a6",
"commands/gsd-review-backlog.md": "c5b557d4cb1b223d",
"commands/gsd-review.md": "3e8908603a3c2b28",
"commands/gsd-secure-phase.md": "34f8fb0720708cd1",
"commands/gsd-settings.md": "6f95c7d98a02f13a",
"commands/gsd-ship.md": "141c690957330961",
"commands/gsd-sketch.md": "770df13e2f848d0e",
"commands/gsd-spec-phase.md": "c0e592ef19cc6721",
"commands/gsd-spike.md": "5c85bade6e6b804f",
"commands/gsd-stats.md": "bea8a4f0e6f2ddf3",
"commands/gsd-surface.md": "0317dc3b56ffcce6",
"commands/gsd-thread.md": "56036040a95fc60b",
"commands/gsd-ui-phase.md": "b48b780198ec7a2e",
"commands/gsd-ui-review.md": "2ed61b5729f6e492",
"commands/gsd-ultraplan-phase.md": "08e75b083f5fe3f2",
"commands/gsd-undo.md": "479c579d2bb7c141",
"commands/gsd-update.md": "6f59562ac2d6bee5",
"commands/gsd-validate-phase.md": "22ad3181017f1b0e",
"commands/gsd-verify-work.md": "71aad09ecfd3f844",
"commands/gsd-workspace.md": "611002e4941d5654",
"commands/gsd-workstreams.md": "57a8ef0af8c085d7",
"gsd-core/.gsd-runtime": "d0f601b915afd6bf",
"gsd-core/VERSION": "ef0deccd81a6723c",
"gsd-core/bin/check-latest-version.cjs": "e4a224058c8f4d74",
"gsd-core/bin/ensure-runtime-build.cjs": "51bc64467ab30f62",
"gsd-core/bin/gsd-tools.cjs": "e1996ac045ff5fde",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "3a3581ea768cbe6a",
"gsd-core/bin/shared/config-schema.manifest.json": "377dc46be7b56fe8",
"gsd-core/bin/shared/model-catalog.json": "59f3233132969e27",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "e14346bdbd0ebd64",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
"gsd-core/contexts/dev.md": "dcb0de9dce33cf41",
"gsd-core/contexts/research.md": "b3285d8e7209cc3b",
"gsd-core/contexts/review.md": "dc578fdd74bbea11",
"gsd-core/references/agent-contracts.md": "ff65e633c656c0d2",
"gsd-core/references/agent-skills-bootstrap.md": "5ab875054b1adda9",
"gsd-core/references/ai-evals.md": "b5afa786b938671e",
"gsd-core/references/ai-frameworks.md": "f827de93dde124eb",
"gsd-core/references/api-coverage.md": "913654a1cdb3baf1",
"gsd-core/references/artifact-types.md": "a6d2e1f9453ffbf5",
"gsd-core/references/autonomous-smart-discuss.md": "2fc710cde0ec7785",
"gsd-core/references/checkpoints.md": "c2fe89c42ca88349",
"gsd-core/references/common-bug-patterns.md": "a4cfea8954dede29",
"gsd-core/references/context-budget.md": "6749084395889c6a",
"gsd-core/references/continuation-format.md": "ce73e57d053ab8a7",
"gsd-core/references/debugger-bug-taxonomy.md": "78fb8c1711acc971",
"gsd-core/references/debugger-fix-acceptance.md": "5616622f33e00436",
"gsd-core/references/debugger-philosophy.md": "16f0cb55eb457f33",
"gsd-core/references/debugger-prevention.md": "74b6c5556a428efd",
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/01-round-half-even/requirements.json": "fbc1b355d8625eeb",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/02-merge-intervals/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json": "66dd60957fee45f0",
"gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/requirements.json": "47fca61f076835fa",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json": "72d1e29cedc854ec",
"gsd-core/references/edge-probe-fixtures/04-money-rounding/requirements.json": "80f04f5c04fb24cf",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json": "fad67dcc8294f6da",
"gsd-core/references/edge-probe-fixtures/05-list-dedupe/requirements.json": "d38147adb0e5b342",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json": "bc552c01939bf4f8",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/requirements.json": "30a78ee9ce3473ea",
"gsd-core/references/edge-probe-fixtures/06-resolved-mixed/resolutions.json": "688ec62c13e08afe",
"gsd-core/references/edge-probe.md": "5687eba25a078561",
"gsd-core/references/execute-mvp-tdd.md": "a98a270a7ab126bc",
"gsd-core/references/execute-phase-between-wave-reset.md": "3ad96ca0f7fee37e",
"gsd-core/references/execute-phase-context-guard.md": "982006c1f3364242",
"gsd-core/references/execute-phase-quota-recovery.md": "c4ca0ee3875b6e02",
"gsd-core/references/execute-phase-requirement-revert.md": "48ade76866c57ce2",
"gsd-core/references/execute-phase-response-language.md": "c240dc476dd15df5",
"gsd-core/references/execute-phase-wave-guard.md": "de9ac22cead4cfd8",
"gsd-core/references/executor-examples.md": "ba59243ed45c8ab1",
"gsd-core/references/few-shot-examples/plan-checker.md": "2574808188ac9de4",
"gsd-core/references/few-shot-examples/verifier.md": "5badee4560b14ae8",
"gsd-core/references/gate-prompts.md": "e69f5993ab944d80",
"gsd-core/references/gates.md": "bd79c7f90c8cb8d7",
"gsd-core/references/git-integration.md": "77bf9dff38b2c9d4",
"gsd-core/references/git-planning-commit.md": "f897a15ebfc3f5a7",
"gsd-core/references/gsd-run-resolver.md": "e71eb728b84641b1",
"gsd-core/references/honest-verifier.md": "8815c9fc18c35719",
"gsd-core/references/ios-scaffold.md": "5ef0cb7e0fac891f",
"gsd-core/references/loop-hook-dispatch.md": "32e5dfb4dba76987",
"gsd-core/references/mandatory-initial-read.md": "fe59abce693717cf",
"gsd-core/references/model-profile-resolution.md": "3a05d03ea27c3a31",
"gsd-core/references/model-profiles.md": "e067ad3df6770db1",
"gsd-core/references/mvp-concepts.md": "72f7e8b1f8ae7118",
"gsd-core/references/offer-next.md": "689740e4c2ed16f4",
"gsd-core/references/phase-argument-parsing.md": "e5bbb985f3bc3e34",
"gsd-core/references/planner-antipatterns.md": "013ad54062399dad",
"gsd-core/references/planner-chunked.md": "79fe674221e738e6",
"gsd-core/references/planner-gap-closure.md": "76bee257911413e7",
"gsd-core/references/planner-graphify-auto-update.md": "6aeffd9097e25e22",
"gsd-core/references/planner-guidance.md": "96486cac2f7885e6",
"gsd-core/references/planner-human-verify-mode.md": "56d05e841630b3f4",
"gsd-core/references/planner-interface-context.md": "b28fa3da6ae739a8",
"gsd-core/references/planner-load-graph-context.md": "ca7a7af3f35ae61b",
"gsd-core/references/planner-mvp-mode.md": "cfd535c9c545e73e",
"gsd-core/references/planner-preconditions.md": "4511829607ec9107",
"gsd-core/references/planner-reversibility.md": "d75786c2d3e6ff5c",
"gsd-core/references/planner-reviews.md": "dda0193a0fbd4947",
"gsd-core/references/planner-revision.md": "86ba8a511f081f05",
"gsd-core/references/planner-source-audit.md": "7de5bdb07232ce0b",
"gsd-core/references/planning-config.md": "ab3b698fe23bab9b",
"gsd-core/references/prohibition-probe-fixtures/01-streak-reminder/expected.json": "f10df472f2846cc6",
"gsd-core/references/prohibition-probe-fixtures/02-clean-utility/expected.json": "31e8a781eeffe020",
"gsd-core/references/prohibition-probe-fixtures/03-multi-prohibition/expected.json": "70a532a7cc1b6ae8",
"gsd-core/references/prohibition-probe.md": "605dc3f5a118ff3b",
"gsd-core/references/project-skills-discovery.md": "c155e03dce8dc3c2",
"gsd-core/references/questioning.md": "a8c988cab05f4651",
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "62930e66cc979c1a",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "ae64e44f2f132bc2",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/runtime-aware-dispatch.md": "0bbbb0735b6080fa",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
"gsd-core/references/skeleton-template.md": "f11e9cd2948bd33c",
"gsd-core/references/sketch-interactivity.md": "7d982fe877e1e1cc",
"gsd-core/references/sketch-theme-system.md": "33e2e96e450456f8",
"gsd-core/references/sketch-tooling.md": "df6c4f24c1c27611",
"gsd-core/references/sketch-variant-patterns.md": "66c197aa4fb52810",
"gsd-core/references/specless-probe-fallback.md": "5e400dc05a15e972",
"gsd-core/references/spidr-splitting.md": "074ac154c0e4f906",
"gsd-core/references/tdd.md": "e4708ede157478b6",
"gsd-core/references/thinking-models-debug.md": "2da61022b16c4e7c",
"gsd-core/references/thinking-models-execution.md": "dcc650a8b5f3e049",
"gsd-core/references/thinking-models-planning.md": "ef519bff8c8bd572",
"gsd-core/references/thinking-models-research.md": "5f6bf3f3b889c6e4",
"gsd-core/references/thinking-models-verification.md": "a71a933d51ca3d8d",
"gsd-core/references/thinking-partner.md": "41069529ef776e39",
"gsd-core/references/ui-brand.md": "48717bcfcd63bd27",
"gsd-core/references/ui-consideration-probe.md": "7e019dfaae47f4c4",
"gsd-core/references/universal-anti-patterns.md": "6a1245050b21df01",
"gsd-core/references/untrusted-input-boundary.md": "d33b80d4d348599a",
"gsd-core/references/user-profiling.md": "b50416fe57c1b321",
"gsd-core/references/user-story-template.md": "0cc50e06a144ff8a",
"gsd-core/references/verification-overrides.md": "8213de9bd62283b6",
"gsd-core/references/verification-patterns.md": "72f4d4814fdae9a8",
"gsd-core/references/verify-mvp-mode.md": "534bdc7f2432903a",
"gsd-core/references/workstream-flag.md": "ca99ca79e716f0f5",
"gsd-core/references/worktree-branch-check.md": "161547f45f78c2bd",
"gsd-core/references/worktree-path-safety.md": "3c8d74756f9b16a8",
"gsd-core/templates/AI-SPEC.md": "efa1f8354bd3a24b",
"gsd-core/templates/DEBUG.md": "c8768312f4c1e438",
"gsd-core/templates/README.md": "93d3426fc64e2c12",
"gsd-core/templates/SECURITY.md": "b628f7f1c6d2328f",
"gsd-core/templates/UAT.md": "9e296471b97ebcec",
"gsd-core/templates/UI-SPEC.md": "7dd5c7cdc7ece0ec",
"gsd-core/templates/VALIDATION.md": "6f0fe4214dff6dd1",
"gsd-core/templates/claude-md.md": "d1d333e4b963c0d2",
"gsd-core/templates/codebase/architecture.md": "6be88214162fdd89",
"gsd-core/templates/codebase/concerns.md": "efa26d1fb5132f25",
"gsd-core/templates/codebase/conventions.md": "c2e07698dad6b364",
"gsd-core/templates/codebase/integrations.md": "39bd23c71eedd564",
"gsd-core/templates/codebase/stack.md": "116e7e67dd87ddec",
"gsd-core/templates/codebase/structure.md": "222997133232a6f5",
"gsd-core/templates/codebase/testing.md": "76abff7f2050c9ea",
"gsd-core/templates/config.json": "a4b783ef759a0f37",
"gsd-core/templates/context.md": "69b01e7909ea3f66",
"gsd-core/templates/continue-here.md": "f522a51b6895fba8",
"gsd-core/templates/copilot-instructions.md": "aea34bc52ff548ea",
"gsd-core/templates/debug-subagent-prompt.md": "920656683dedb869",
"gsd-core/templates/dev-preferences.md": "88d0a65ec0993a3a",
"gsd-core/templates/discovery.md": "9a0e0935cc825dbc",
"gsd-core/templates/discussion-log.md": "cac1b48ec0f4dcb8",
"gsd-core/templates/milestone-archive.md": "591b6decdc0c0e51",
"gsd-core/templates/milestone.md": "74d2f750ae9f4a9c",
"gsd-core/templates/phase-prompt.md": "b811bf951092df2f",
"gsd-core/templates/planner-subagent-prompt.md": "ebf29dbb27042370",
"gsd-core/templates/project.md": "4f311fb1b05b823b",
"gsd-core/templates/requirements.md": "a44de4c2f146e473",
"gsd-core/templates/research-project/ARCHITECTURE.md": "746b9ef791d758b0",
"gsd-core/templates/research-project/FEATURES.md": "f2b800de5df91b0f",
"gsd-core/templates/research-project/PITFALLS.md": "3ef75fa768422eec",
"gsd-core/templates/research-project/STACK.md": "82c85799ac4dd344",
"gsd-core/templates/research-project/SUMMARY.md": "dceb2f346388839d",
"gsd-core/templates/research.md": "88ce0920417091d0",
"gsd-core/templates/retrospective.md": "03981e30dd760103",
"gsd-core/templates/roadmap.md": "e4e35a9eb5dd4d4f",
"gsd-core/templates/spec.md": "26d55bce940f0288",
"gsd-core/templates/state.md": "4d123aa6cea167fe",
"gsd-core/templates/summary-complex.md": "a5e40574fd8894dc",
"gsd-core/templates/summary-minimal.md": "d5f40260721e307d",
"gsd-core/templates/summary-standard.md": "a4fb6df80f41b545",
"gsd-core/templates/summary.md": "85f4d37fcee6852b",
"gsd-core/templates/user-profile.md": "20749f23e4c413fc",
"gsd-core/templates/user-setup.md": "78b7d718b6e8d67c",
"gsd-core/templates/verification-report.md": "dd5faa6254183731",
"gsd-core/workflows/_runtime-launcher.snippet.sh": "bf2dd5d1debd5335",
"gsd-core/workflows/add-backlog.md": "1bc7377b105194fc",
"gsd-core/workflows/add-phase.md": "ac43883e2d8e34d8",
"gsd-core/workflows/add-tests.md": "7e7268602f9e1b2a",
"gsd-core/workflows/add-todo.md": "5dc04cfaa0b6b072",
"gsd-core/workflows/ai-integration-phase.md": "308378c9044a52e1",
"gsd-core/workflows/analyze-dependencies.md": "52942af10f140717",
"gsd-core/workflows/audit-fix.md": "7650bcb334e622a6",
"gsd-core/workflows/audit-milestone.md": "6174b6f87844973c",
"gsd-core/workflows/audit-uat.md": "fcfbec501620b564",
"gsd-core/workflows/autonomous.md": "aed5e67104346cc2",
"gsd-core/workflows/check-todos.md": "c484e472cff0e4e3",
"gsd-core/workflows/cleanup.md": "df79d1dc7b84d736",
"gsd-core/workflows/code-review-fix.md": "9fef1cf740c7c155",
"gsd-core/workflows/code-review.md": "22b53c0d29508d57",
"gsd-core/workflows/complete-milestone.md": "8f98d7b05793cf4a",
"gsd-core/workflows/debug.md": "3f0218b051c1afb1",
"gsd-core/workflows/diagnose-issues.md": "9a1591d7b17ed778",
"gsd-core/workflows/discovery-phase.md": "0aa8d8d872b53858",
"gsd-core/workflows/discuss-phase-assumptions.md": "9c8b6b66df026e33",
"gsd-core/workflows/discuss-phase-power.md": "0841f7dc6e9a054a",
"gsd-core/workflows/discuss-phase.md": "d0a67b6f77b4d339",
"gsd-core/workflows/discuss-phase/modes/advisor.md": "db488d74d080c653",
"gsd-core/workflows/discuss-phase/modes/all.md": "fa70d79066562e54",
"gsd-core/workflows/discuss-phase/modes/analyze.md": "da0788f3be7f8105",
"gsd-core/workflows/discuss-phase/modes/auto.md": "d06f0bea2ba0b240",
"gsd-core/workflows/discuss-phase/modes/batch.md": "6946597770e2d448",
"gsd-core/workflows/discuss-phase/modes/chain.md": "5502a67de7776853",
"gsd-core/workflows/discuss-phase/modes/default.md": "67d1b67f61f03966",
"gsd-core/workflows/discuss-phase/modes/power.md": "fdc7a728eaaa2261",
"gsd-core/workflows/discuss-phase/modes/text.md": "da6d45207da4a988",
"gsd-core/workflows/discuss-phase/templates/checkpoint.json": "e3bc3dca49db59eb",
"gsd-core/workflows/discuss-phase/templates/context.md": "eeebda60636d1ad0",
"gsd-core/workflows/discuss-phase/templates/discussion-log.md": "1bbd7703f11128e1",
"gsd-core/workflows/do.md": "90df4f1fe248cdf3",
"gsd-core/workflows/docs-update.md": "fba7329f525c9463",
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
"gsd-core/workflows/eval-review.md": "c2933259ff7fb6ac",
"gsd-core/workflows/execute-phase.md": "3ffcd069e2aeb62b",
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f7782680c2b8ad6b",
"gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md": "ab70374e44eb85cd",
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "7b2d9a4a4013fd6a",
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "7a49bc47da5411ea",
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
"gsd-core/workflows/execute-plan.md": "4f43b65cf80d8f2e",
"gsd-core/workflows/explore.md": "3f3b4f83e23349bc",
"gsd-core/workflows/extract-learnings.md": "ab26f2cbb14efef2",
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
"gsd-core/workflows/forensics.md": "0d500a3f5ab26913",
"gsd-core/workflows/graduation.md": "973dcebcd17e1b10",
"gsd-core/workflows/health.md": "c25b5e5f62874c31",
"gsd-core/workflows/help.md": "5d040504b9ab35e3",
"gsd-core/workflows/help/modes/brief.md": "924860e1f07defb0",
"gsd-core/workflows/help/modes/default.md": "08a02976c0c5cc50",
"gsd-core/workflows/help/modes/full.md": "2a9fa350d21a3062",
"gsd-core/workflows/help/modes/topic.md": "5c160093f3cbf35d",
"gsd-core/workflows/import.md": "57abe514a9b0f6ac",
"gsd-core/workflows/inbox.md": "a7d439981775bc29",
"gsd-core/workflows/ingest-docs.md": "781799b47d282b37",
"gsd-core/workflows/insert-phase.md": "08dca838d831bb5b",
"gsd-core/workflows/list-phase-assumptions.md": "53dd4b69536c1bc3",
"gsd-core/workflows/list-seeds.md": "b687f2a843032d65",
"gsd-core/workflows/list-workspaces.md": "7f94e18b5c549453",
"gsd-core/workflows/manager.md": "c18fab593344253d",
"gsd-core/workflows/map-codebase.md": "51aebfe0523f3bcf",
"gsd-core/workflows/milestone-summary.md": "e0cdfddbd39a9043",
"gsd-core/workflows/mvp-phase.md": "58a952b4715db283",
"gsd-core/workflows/new-milestone.md": "8164a9abc301f143",
"gsd-core/workflows/new-project.md": "c8622794a64900e8",
"gsd-core/workflows/new-workspace.md": "bbeb706c7a697617",
"gsd-core/workflows/next.md": "4e1eb6b46d15798d",
"gsd-core/workflows/node-repair.md": "07a1628e5a1ff96b",
"gsd-core/workflows/note.md": "5a99eb396c744619",
"gsd-core/workflows/onboard.md": "f29c4fbef3b473fd",
"gsd-core/workflows/pause-work.md": "f2b33bba5593d422",
"gsd-core/workflows/plan-milestone-gaps.md": "852f6d7c0c4299dc",
"gsd-core/workflows/plan-phase.md": "c0a589a39100d6f8",
"gsd-core/workflows/plan-phase/steps/closed-phase-gate.md": "b36f77ac7344a072",
"gsd-core/workflows/plan-phase/steps/prd-express-path.md": "197c0590326371b2",
"gsd-core/workflows/plan-phase/steps/windows-troubleshooting.md": "49f58c3f75be3eb5",
"gsd-core/workflows/plan-review-convergence.md": "db69460dd4df0d29",
"gsd-core/workflows/plant-seed.md": "9596db80ab282c6f",
"gsd-core/workflows/pr-branch.md": "c87db7ac8c28be1b",
"gsd-core/workflows/profile-user.md": "74005f062c870393",
"gsd-core/workflows/progress.md": "46c83ad61b3c4a84",
"gsd-core/workflows/quick.md": "47f785430dc5738b",
"gsd-core/workflows/reapply-patches.md": "39050f72601aec89",
"gsd-core/workflows/remove-phase.md": "df9a45f0b1880999",
"gsd-core/workflows/remove-workspace.md": "f67860c795fb4bfe",
"gsd-core/workflows/resume-project.md": "f28da1200e4545f4",
"gsd-core/workflows/review.md": "8724993cbc91bcc5",
"gsd-core/workflows/scan.md": "0583dac337623f82",
"gsd-core/workflows/secure-phase.md": "00225810eaed265b",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
"gsd-core/workflows/settings-advanced.md": "414db4dbea97ba44",
"gsd-core/workflows/settings-integrations.md": "effcef778d4a855f",
"gsd-core/workflows/settings.md": "85ceb482dc713169",
"gsd-core/workflows/ship.md": "ca94c87c80a70c27",
"gsd-core/workflows/sketch-wrap-up.md": "86db87b16548117e",
"gsd-core/workflows/sketch.md": "fcd52f8d9076e183",
"gsd-core/workflows/smart-entry.md": "004b4060eab97cb9",
"gsd-core/workflows/spec-phase.md": "fa8669b75392cf6c",
"gsd-core/workflows/spike-wrap-up.md": "d643447e16e95753",
"gsd-core/workflows/spike.md": "242c6ba2176bac83",
"gsd-core/workflows/stats.md": "76a42cbeaf6007c2",
"gsd-core/workflows/sync-skills.md": "b505e6f8331c0918",
"gsd-core/workflows/thread.md": "927e7eeefd2fcf5c",
"gsd-core/workflows/transition.md": "aea486bb7a0e80e7",
"gsd-core/workflows/ui-phase.md": "bae68b9585b238ac",
"gsd-core/workflows/ui-review.md": "387f7cefc849dba1",
"gsd-core/workflows/ultraplan-phase.md": "0fb8291153e3937d",
"gsd-core/workflows/undo.md": "1712417bade30b30",
"gsd-core/workflows/update.md": "8a76f19db5c12935",
"gsd-core/workflows/validate-phase.md": "171ff4aa9b392475",
"gsd-core/workflows/verify-phase.md": "d26a2c3269340caf",
"gsd-core/workflows/verify-work.md": "bc9dcabfc5be2e81",
"scripts/changeset/README.md": "86ff89331dfd94b2",
"scripts/changeset/cli.cjs": "68f92a344b199271",
"scripts/changeset/github-release-notes.cjs": "795677f0c009b132",
"scripts/changeset/lint.cjs": "23cb53f77a6ea180",
"scripts/changeset/new.cjs": "4991e21fd17f5541",
"scripts/changeset/parse.cjs": "c0a9bbc3914aee04",
"scripts/changeset/render.cjs": "e47bc3e1587c3cae",
"scripts/changeset/serialize.cjs": "ac0b8fe6f87cdb0e",
"scripts/fix-slash-commands.cjs": "0519742531ff3529",
"scripts/gen-capability-registry.cjs": "c52201ff4d1c2cd7",
"scripts/gen-loop-host-contract.cjs": "c7f15237234811a0",
"scripts/lib/allowlist-ratchet.cjs": "ffaceaac3efc2660",
"scripts/lib/cli-exit.cjs": "612d0c372c75b7e7",
"skills/gsd-ns-context/SKILL.md": "654c71262d91650c",
"skills/gsd-ns-context/skills/docs-update/SKILL.md": "8fb602920a333d73",
"skills/gsd-ns-context/skills/extract-learnings/SKILL.md": "6de7eeaaf4939e5d",
"skills/gsd-ns-context/skills/graphify/SKILL.md": "d54c2b44e8059299",
"skills/gsd-ns-context/skills/map-codebase/SKILL.md": "f48d48b43e2cc4bd",
"skills/gsd-ns-context/skills/mempalace-capture/SKILL.md": "175c5441158a0a9c",
"skills/gsd-ns-context/skills/mempalace-recall/SKILL.md": "c3f412d5a64f3921",
"skills/gsd-ns-ideate/SKILL.md": "4a0d2691054b23e5",
"skills/gsd-ns-ideate/skills/capture/SKILL.md": "c848255c134a860f",
"skills/gsd-ns-ideate/skills/explore/SKILL.md": "168a5b8d52127624",
"skills/gsd-ns-ideate/skills/sketch/SKILL.md": "11ef7d436090ae09",
"skills/gsd-ns-ideate/skills/spec-phase/SKILL.md": "052cfb21eb0ee3d4",
"skills/gsd-ns-ideate/skills/spike/SKILL.md": "3b5e6ea4bf8d81cc",
"skills/gsd-ns-manage/SKILL.md": "b6a1480f20b33bfa",
"skills/gsd-ns-manage/skills/cleanup/SKILL.md": "7579f085459dc393",
"skills/gsd-ns-manage/skills/config/SKILL.md": "2ae550cacdfc08a4",
"skills/gsd-ns-manage/skills/health/SKILL.md": "f766339e1de08cb6",
"skills/gsd-ns-manage/skills/help/SKILL.md": "93b961bb1f1b322b",
"skills/gsd-ns-manage/skills/inbox/SKILL.md": "0b5f4ce8ee98ac3c",
"skills/gsd-ns-manage/skills/manager/SKILL.md": "2f6228d719073d19",
"skills/gsd-ns-manage/skills/pause-work/SKILL.md": "c5454473ffeba05e",
"skills/gsd-ns-manage/skills/pr-branch/SKILL.md": "2976577caa538486",
"skills/gsd-ns-manage/skills/resume-work/SKILL.md": "b0d8628cc6d578ab",
"skills/gsd-ns-manage/skills/settings/SKILL.md": "8fcd8b04bb607ca7",
"skills/gsd-ns-manage/skills/ship/SKILL.md": "eb23c16b4893b035",
"skills/gsd-ns-manage/skills/stats/SKILL.md": "af60a0fed275a90b",
"skills/gsd-ns-manage/skills/surface/SKILL.md": "cf3c08a3fe963be7",
"skills/gsd-ns-manage/skills/thread/SKILL.md": "59e0ea339e45a105",
"skills/gsd-ns-manage/skills/undo/SKILL.md": "22d4462c987b7b66",
"skills/gsd-ns-manage/skills/update/SKILL.md": "01ca0efbdb8f6efa",
"skills/gsd-ns-manage/skills/workspace/SKILL.md": "c6c07625a373e6a3",
"skills/gsd-ns-manage/skills/workstreams/SKILL.md": "f4e54cb9b1ca0442",
"skills/gsd-ns-project/SKILL.md": "5d7ec93b195555e7",
"skills/gsd-ns-project/skills/audit-milestone/SKILL.md": "a6eb7edcfd23c7e4",
"skills/gsd-ns-project/skills/complete-milestone/SKILL.md": "d7f6202222d1b26e",
"skills/gsd-ns-project/skills/import/SKILL.md": "0a734021e0b86481",
"skills/gsd-ns-project/skills/ingest-docs/SKILL.md": "0fadb4f9c69aa61d",
"skills/gsd-ns-project/skills/milestone-summary/SKILL.md": "c77f6c8ce7c57db9",
"skills/gsd-ns-project/skills/new-milestone/SKILL.md": "c7c20da62ac3f6e1",
"skills/gsd-ns-project/skills/new-project/SKILL.md": "e3cfd1fdbc2c3406",
"skills/gsd-ns-project/skills/onboard/SKILL.md": "84519552f7396347",
"skills/gsd-ns-project/skills/profile-user/SKILL.md": "f57ad5e5c5899100",
"skills/gsd-ns-project/skills/review-backlog/SKILL.md": "1708aab6cb919223",
"skills/gsd-ns-review/SKILL.md": "7badceb8627d8154",
"skills/gsd-ns-review/skills/audit-fix/SKILL.md": "e005e777f3b607ef",
"skills/gsd-ns-review/skills/audit-uat/SKILL.md": "cb5f445d66e7f9c4",
"skills/gsd-ns-review/skills/code-review/SKILL.md": "8d3bc8093ac9a676",
"skills/gsd-ns-review/skills/debug/SKILL.md": "1b2864b06019554b",
"skills/gsd-ns-review/skills/eval-review/SKILL.md": "00b35a36a2f16f2f",
"skills/gsd-ns-review/skills/forensics/SKILL.md": "0169426d0dcda2db",
"skills/gsd-ns-review/skills/review/SKILL.md": "d80db8762bec97de",
"skills/gsd-ns-review/skills/secure-phase/SKILL.md": "56ee4246050ba8b5",
"skills/gsd-ns-review/skills/ui-phase/SKILL.md": "fabc841fb1f364cc",
"skills/gsd-ns-review/skills/ui-review/SKILL.md": "444a4366f19899c3",
"skills/gsd-ns-review/skills/validate-phase/SKILL.md": "9e1c7909c089ee46",
"skills/gsd-ns-workflow/SKILL.md": "5a65f9fb93a71cec",
"skills/gsd-ns-workflow/skills/add-tests/SKILL.md": "303c01b7dd9c7614",
"skills/gsd-ns-workflow/skills/ai-integration-phase/SKILL.md": "f0333bffe02141b7",
"skills/gsd-ns-workflow/skills/autonomous/SKILL.md": "f1c614fed8f4d0a5",
"skills/gsd-ns-workflow/skills/discuss-phase/SKILL.md": "997ae1063e8c3703",
"skills/gsd-ns-workflow/skills/execute-phase/SKILL.md": "b2627b774725a381",
"skills/gsd-ns-workflow/skills/fast/SKILL.md": "0dc6926e16dcc1cb",
"skills/gsd-ns-workflow/skills/mvp-phase/SKILL.md": "3455ea7562a447a2",
"skills/gsd-ns-workflow/skills/next/SKILL.md": "63659cd48a0276f9",
"skills/gsd-ns-workflow/skills/phase/SKILL.md": "b377b03d13db8573",
"skills/gsd-ns-workflow/skills/plan-phase/SKILL.md": "a0b43b907671a98e",
"skills/gsd-ns-workflow/skills/plan-review-convergence/SKILL.md": "84af9aa192ec349f",
"skills/gsd-ns-workflow/skills/progress/SKILL.md": "fb24eab4a0e5f6a3",
"skills/gsd-ns-workflow/skills/quick/SKILL.md": "48629fef2b9ac5b0",
"skills/gsd-ns-workflow/skills/spec-phase/SKILL.md": "052cfb21eb0ee3d4",
"skills/gsd-ns-workflow/skills/ultraplan-phase/SKILL.md": "032c3412fddd02b4",
"skills/gsd-ns-workflow/skills/verify-work/SKILL.md": "a0609b334f4cb9aa"
}

View File

@@ -1,879 +0,0 @@
/**
* Tests for the `gsd-regen` merge driver (#2721, epic #2719, ADR-2719 Phase 1).
*
* Design + behavior table: .gsd/phase/feat-2721-merge-driver-and-regen-derived/40-design.md
* Test matrix: .gsd/phase/feat-2721-merge-driver-and-regen-derived/50-test-matrix.md
*/
'use strict';
const { describe, test } = require('node:test');
const assert = require('node:assert/strict');
const fs = require('node:fs');
const path = require('node:path');
const cp = require('node:child_process');
const { createTempDir, cleanup } = require('./helpers.cjs');
const REPO_ROOT = path.join(__dirname, '..');
const DRIVER_PATH = path.join(REPO_ROOT, 'scripts', 'git-merge-regen-driver.cjs');
const {
ACTION,
REASON,
GITDIR_SOURCE,
NOTICE_WINDOW_MS,
resolveGitDir,
resolveAndRecord,
planInstall,
} = require(DRIVER_PATH);
// --- helpers ---------------------------------------------------------------
const GIT_TIMEOUT_MS = 30_000;
function git(cwd, args) {
return cp.spawnSync('git', args, {
cwd,
encoding: 'utf8',
timeout: GIT_TIMEOUT_MS,
env: { ...process.env, GIT_CONFIG_NOSYSTEM: '1', HOME: cwd, GIT_TERMINAL_PROMPT: '0' },
});
}
/**
* `git check-attr <attr> -- <path>` in the real repo. Returns the attribute value.
*
* `-c safe.directory=…` is required, not incidental: the test container checks this repo
* out at a path its user does not own, and git then refuses every command with
* "detected dubious ownership in repository at '/work'". `check-attr` is a pure read of
* `.gitattributes` — no hooks, no filters — so scoping the exemption to this one
* invocation is safe. It is deliberately NOT applied to the driver's own production
* `git config` calls, which run in the user's own clone and should keep the protection.
* Forward slashes unconditionally: git wants them in this value on every platform.
*/
function checkAttr(attr, relPath) {
const safeRoot = REPO_ROOT.replace(/\\/g, '/');
const r = cp.spawnSync('git', ['-c', `safe.directory=${safeRoot}`, 'check-attr', attr, '--', relPath], {
cwd: REPO_ROOT,
encoding: 'utf8',
timeout: GIT_TIMEOUT_MS,
});
assert.equal(r.status, 0, `git check-attr failed: ${r.stderr}`);
// Format: "<path>: <attr>: <value>" — the value is everything after the last ": ".
const line = String(r.stdout).trim();
const idx = line.lastIndexOf(': ');
return idx === -1 ? '' : line.slice(idx + 2);
}
/** Replace an fs method with a throwing stub for the duration of `fn`, then restore. */
function withFsFailure(method, fn) {
const original = fs[method];
fs[method] = () => {
throw Object.assign(new Error('injected'), { code: 'EACCES' });
};
try {
return fn();
} finally {
fs[method] = original;
}
}
/** Write an "ours" temp file and return its path — production always receives a real %A. */
function writeOurs(dir, content = 'ours-content\n') {
const p = path.join(dir, '.merge_file_OURS');
fs.writeFileSync(p, content);
return p;
}
/**
* The argv shape git actually supplies under the registered command: [%O, %A, %B, %L].
* `%P` is deliberately NOT registered — see planInstall's comment on shell interpolation.
* `extra` lets one test prove a stray 5th entry (an old registration) is ignored.
*/
function gitArgv(dir, ...extra) {
const o = path.join(dir, '.merge_file_ANC');
const b = path.join(dir, '.merge_file_THEIRS');
fs.writeFileSync(o, '');
fs.writeFileSync(b, 'theirs-content\n');
return [o, writeOurs(dir), b, '7', ...extra];
}
function readMarker(gitDir) {
return JSON.parse(fs.readFileSync(path.join(gitDir, 'gsd-regen-pending.json'), 'utf8'));
}
function seedMarker(gitDir, value) {
fs.mkdirSync(gitDir, { recursive: true });
fs.writeFileSync(
path.join(gitDir, 'gsd-regen-pending.json'),
typeof value === 'string' ? value : JSON.stringify(value),
);
}
const GOLDEN_DIR = path.join(REPO_ROOT, 'tests', 'fixtures', 'golden-install-parity');
const INSTALL_TREE_DIR = path.join(REPO_ROOT, 'tests', 'fixtures', 'install-tree');
function jsonFixturesIn(dir) {
return fs
.readdirSync(dir)
.filter((f) => f.endsWith('.json'))
.sort();
}
// --- .gitattributes scoping (rows 1-10) ------------------------------------
describe('.gitattributes declares the gsd-regen driver for exactly the churning artifacts', () => {
test('goldenParityFixturesDeclareGsdRegenMergeDriver', () => {
assert.equal(
checkAttr('merge', 'tests/fixtures/golden-install-parity/claude.json'),
'gsd-regen',
);
});
test('allNineteenGoldenFixturesDeclareTheDriver', () => {
const fixtures = jsonFixturesIn(GOLDEN_DIR);
assert.ok(fixtures.length > 0, 'expected golden-install-parity fixtures to exist');
for (const f of fixtures) {
assert.equal(
checkAttr('merge', `tests/fixtures/golden-install-parity/${f}`),
'gsd-regen',
`${f} must declare merge=gsd-regen`,
);
}
});
test('workflowSizeBaselineDeclaresTheDriver', () => {
assert.equal(checkAttr('merge', 'tests/workflow-size-baseline.json'), 'gsd-regen');
});
test('agentSizeBaselineDeclaresTheDriver', () => {
assert.equal(checkAttr('merge', 'tests/agent-size-baseline.json'), 'gsd-regen');
});
// NEGATIVE SPACE — ADR-2719 §7 keeps install-tree committed precisely so that
// "the installer stopped shipping X" stays an absolute failure. Capturing it
// with the driver would silently convert that absolute into an auto-resolve.
test('installTreeFixturesAreNotCapturedByTheDriver', () => {
assert.equal(
checkAttr('merge', 'tests/fixtures/install-tree/claude.json'),
'unspecified',
'install-tree must keep normal merge semantics (ADR-2719 §7)',
);
});
test('noInstallTreeFixtureIsCapturedByTheDriver', () => {
const fixtures = jsonFixturesIn(INSTALL_TREE_DIR);
assert.ok(fixtures.length > 0, 'expected install-tree fixtures to exist');
for (const f of fixtures) {
assert.equal(
checkAttr('merge', `tests/fixtures/install-tree/${f}`),
'unspecified',
`${f} must NOT be captured by the driver`,
);
}
});
test('installTreeFixturesAreNotMarkedLinguistGenerated', () => {
assert.equal(
checkAttr('linguist-generated', 'tests/fixtures/install-tree/claude.json'),
'unspecified',
'ADR-2719 §7 keeps install-tree because its diffs are readable',
);
});
test('goldenParityFixturesAreMarkedLinguistGenerated', () => {
assert.equal(
checkAttr('linguist-generated', 'tests/fixtures/golden-install-parity/claude.json'),
'true',
);
});
test('sizeBaselineDeclarationsAreExactPathsNotAGlob', () => {
assert.equal(
checkAttr('merge', 'tests/other-size-baseline.json'),
'unspecified',
'the two baselines are declared by exact path, never by a tests/*-size-baseline.json glob',
);
});
test('driverPatternDoesNotCrossADirectorySeparator', () => {
assert.equal(
checkAttr('merge', 'tests/fixtures/golden-install-parity/sub/nested.json'),
'unspecified',
);
});
});
// --- resolveGitDir (rows 11-19) --------------------------------------------
describe('resolveGitDir', () => {
test('resolvesGitDirWhenDotGitIsADirectory', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
fs.mkdirSync(path.join(dir, '.git'));
const r = resolveGitDir(dir);
assert.equal(r.source, GITDIR_SOURCE.DIRECTORY);
assert.equal(r.gitDir, path.join(dir, '.git'));
});
test('resolvesGitDirFromAWorktreePointerFile', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const target = path.join(dir, 'real-gitdir');
fs.mkdirSync(target);
fs.writeFileSync(path.join(dir, '.git'), `gitdir: ${target}\n`);
const r = resolveGitDir(dir);
assert.equal(r.source, GITDIR_SOURCE.GITFILE);
assert.equal(r.gitDir, target);
});
test('resolvesARelativeWorktreePointerAgainstCwd', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
fs.mkdirSync(path.join(dir, 'nested'));
fs.writeFileSync(path.join(dir, '.git'), 'gitdir: ./nested\n');
const r = resolveGitDir(dir);
assert.equal(r.source, GITDIR_SOURCE.GITFILE);
assert.equal(r.gitDir, path.resolve(dir, './nested'));
});
test('parsesAWorktreePointerWrittenWithCrlf', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const target = path.join(dir, 'real-gitdir');
fs.mkdirSync(target);
fs.writeFileSync(path.join(dir, '.git'), `gitdir: ${target}\r\n`);
const r = resolveGitDir(dir);
assert.equal(r.source, GITDIR_SOURCE.GITFILE);
assert.equal(r.gitDir, target, 'a trailing CR must not become part of the path');
});
test('parsesAWorktreePointerWithNoSpaceAfterTheColon', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const target = path.join(dir, 'real-gitdir');
fs.mkdirSync(target);
fs.writeFileSync(path.join(dir, '.git'), `gitdir:${target}\n`);
assert.equal(resolveGitDir(dir).gitDir, target);
});
test('treatsAnEmptyPointerFileAsUnresolved', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
fs.writeFileSync(path.join(dir, '.git'), '');
const r = resolveGitDir(dir);
assert.equal(r.source, GITDIR_SOURCE.UNRESOLVED);
assert.equal(r.gitDir, null);
});
test('treatsAGarbagePointerFileAsUnresolved', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
fs.writeFileSync(path.join(dir, '.git'), 'this is not a gitdir pointer\n');
assert.equal(resolveGitDir(dir).source, GITDIR_SOURCE.UNRESOLVED);
});
test('treatsAMissingDotGitAsUnresolved', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const r = resolveGitDir(dir);
assert.equal(r.source, GITDIR_SOURCE.UNRESOLVED);
assert.equal(r.gitDir, null);
});
test('treatsAnUnreadablePointerFileAsUnresolved', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
fs.writeFileSync(path.join(dir, '.git'), 'gitdir: somewhere\n');
const r = withFsFailure('readFileSync', () => resolveGitDir(dir));
assert.equal(r.source, GITDIR_SOURCE.UNRESOLVED, 'must degrade, never throw');
});
});
// --- resolveAndRecord: happy & boundary (rows 20-29) -------------------------
describe('resolveAndRecord — resolution and the notice window', () => {
test('acceptsOursAndNoticesOnTheFirstResolution', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const r = resolveAndRecord({ argv: gitArgv(dir), gitDir, now: 1_000_000 });
assert.equal(r.action, ACTION.ACCEPT_OURS);
assert.equal(r.reason, REASON.OK_RESOLVED);
assert.equal(r.exitCode, 0);
assert.equal(r.notice, true);
assert.equal(r.pendingCount, 1);
});
test('suppressesTheNoticeForASubsequentPathInTheSameOperation', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
seedMarker(gitDir, { startedAt: 999_999, count: 1 });
const r = resolveAndRecord({ argv: gitArgv(dir), gitDir, now: 1_000_000 });
assert.equal(r.notice, false);
assert.equal(r.pendingCount, 2, 'the second conflicted path in the same operation');
});
test('treatsAMarkerJustInsideTheWindowAsTheSameOperation', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
const now = 5_000_000;
seedMarker(gitDir, { startedAt: now - (NOTICE_WINDOW_MS - 1), count: 1 });
assert.equal(resolveAndRecord({ argv: gitArgv(dir), gitDir, now }).notice, false);
});
test('treatsAMarkerAtExactlyTheWindowAsTheSameOperation', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
const now = 5_000_000;
seedMarker(gitDir, { startedAt: now - NOTICE_WINDOW_MS, count: 1 });
assert.equal(
resolveAndRecord({ argv: gitArgv(dir), gitDir, now }).notice,
false,
'the window is inclusive at the limit',
);
});
test('resetsAndRenoticesForAMarkerJustOutsideTheWindow', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
const now = 5_000_000;
seedMarker(gitDir, { startedAt: now - (NOTICE_WINDOW_MS + 1), count: 7 });
const r = resolveAndRecord({ argv: gitArgv(dir), gitDir, now });
assert.equal(r.notice, true, 'a later operation must not inherit the previous silence');
assert.equal(r.pendingCount, 1, 'the stale count must reset, not accumulate');
});
test('noticesOnceAcrossAllTwentyArtifactResolutions', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const notices = [];
for (let i = 0; i < 20; i += 1) {
const r = resolveAndRecord({ argv: gitArgv(dir), gitDir, now: 2_000_000 + i });
notices.push(r.notice);
}
assert.equal(notices.filter(Boolean).length, 1, 'exactly one notice for the whole operation');
assert.equal(readMarker(gitDir).count, 20, 'this repo conflicts on 20 artifacts');
});
test('countsEveryResolutionInTheOperation', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
resolveAndRecord({ argv: gitArgv(dir), gitDir, now: 3_000_000 });
const r = resolveAndRecord({ argv: gitArgv(dir), gitDir, now: 3_000_001 });
assert.equal(r.pendingCount, 2);
});
test('resolvesAnAddAddConflictWhereTheAncestorIsEmpty', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const argv = gitArgv(dir);
fs.writeFileSync(argv[0], ''); // %O is a 0-byte file in the add/add case
const r = resolveAndRecord({ argv, gitDir, now: 4_000_000 });
assert.equal(r.action, ACTION.ACCEPT_OURS);
assert.equal(r.exitCode, 0);
});
test('resolvesOnTheMinimumThreeArgumentForm', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const [o, a, b] = gitArgv(dir);
const r = resolveAndRecord({ argv: [o, a, b], gitDir, now: 4_100_000 });
assert.equal(r.action, ACTION.ACCEPT_OURS);
assert.equal(r.pendingCount, 1);
});
// An old registration (or a hand-edited .git/config) may still pass %P. It must be
// inert data, never consumed — the driver's contract does not depend on it.
test('ignoresAStrayFifthArgumentFromAnOldRegistration', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const r = resolveAndRecord({
argv: gitArgv(dir, 'tests/workflow-size-baseline.json'),
gitDir,
now: 4_200_000,
});
assert.equal(r.action, ACTION.ACCEPT_OURS);
assert.equal(r.pendingCount, 1);
assert.equal(r.realPath, undefined, 'no path is read from argv at all');
});
});
// --- resolveAndRecord: negative & hostile (rows 30-46) -----------------------
describe('resolveAndRecord — degrades toward a normal conflict, never toward a wrong resolution', () => {
const badArgvCases = [
['declinesRatherThanGuessingWhenArgvIsTooShort', (dir) => gitArgv(dir).slice(0, 2)],
['declinesOnEmptyArgv', () => []],
];
for (const [name, build] of badArgvCases) {
test(name, (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const r = resolveAndRecord({ argv: build(dir), gitDir, now: 6_000_000 });
assert.equal(r.action, ACTION.DECLINE);
assert.equal(r.reason, REASON.FAIL_BAD_ARGV);
assert.equal(r.exitCode, 1, 'a non-zero exit gives git a normal conflict — today’s behavior');
});
}
test('declinesWhenTheOursSideIsMissing', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const [ancestor, , theirs] = gitArgv(dir);
const neverWritten = path.join(dir, '.merge_file_NEVER_WRITTEN');
const r = resolveAndRecord({
argv: [ancestor, neverWritten, theirs, '7', 'tests/workflow-size-baseline.json'],
gitDir,
now: 6_100_000,
});
assert.equal(r.action, ACTION.DECLINE);
assert.equal(r.reason, REASON.FAIL_OURS_UNREADABLE);
assert.equal(r.exitCode, 1);
});
const blankOursCases = [
['declinesOnAnEmptyOursPath', ''],
['declinesOnAWhitespaceOnlyOursPath', ' '],
];
for (const [name, oursPath] of blankOursCases) {
test(name, (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const [o, , b] = gitArgv(dir);
const r = resolveAndRecord({ argv: [o, oursPath, b], gitDir, now: 6_200_000 });
assert.equal(r.action, ACTION.DECLINE);
assert.equal(r.reason, REASON.FAIL_BAD_ARGV);
});
}
// Valid JSON that is not a usable marker object. Each must be treated as absent
// (reset + notice) rather than throwing or being read as state.
const hostileMarkers = [
['treatsANumericMarkerAsAbsent', '0'],
['treatsAStringMarkerAsAbsent', '"str"'],
['treatsAnArrayMarkerAsAbsent', '[]'],
['treatsANullMarkerAsAbsent', 'null'],
['treatsABooleanMarkerAsAbsent', 'true'],
['treatsAnEmptyMarkerFileAsAbsent', ''],
['treatsACorruptMarkerAsAbsent', '{not json at all'],
['treatsANonNumericStartedAtAsAbsent', '{"startedAt":"yesterday","count":1}'],
['treatsANonFiniteStartedAtAsAbsent', '{"startedAt":1e999,"count":1}'],
['treatsANonNumericCountAsAbsent', '{"startedAt":1,"count":"three"}'],
['treatsANonFiniteCountAsAbsent', '{"startedAt":1,"count":1e999}'],
['treatsANegativeCountAsAbsent', '{"startedAt":1,"count":-5}'],
['treatsAMissingCountAsAbsent', '{"startedAt":1}'],
];
for (const [name, raw] of hostileMarkers) {
test(name, (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
seedMarker(gitDir, raw);
const r = resolveAndRecord({ argv: gitArgv(dir), gitDir, now: 7_000_000 });
assert.equal(r.action, ACTION.ACCEPT_OURS, 'a bad marker must never block the merge');
assert.equal(r.notice, true);
assert.equal(r.pendingCount, 1, 'an unusable marker resets rather than accumulating');
});
}
test('stillResolvesWhenTheMarkerCannotBeWritten', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const gitDir = path.join(dir, '.git');
fs.mkdirSync(gitDir);
const argv = gitArgv(dir);
const r = withFsFailure('writeFileSync', () =>
resolveAndRecord({ argv, gitDir, now: 8_000_000 }),
);
assert.equal(r.action, ACTION.ACCEPT_OURS);
assert.equal(r.exitCode, 0, 'a diagnostic must never fail a merge');
});
test('resolvesAndNoticesEveryTimeWhenTheGitDirIsUnknown', (t) => {
const dir = createTempDir('gsd-regen-');
t.after(() => cleanup(dir));
const first = resolveAndRecord({ argv: gitArgv(dir), gitDir: null, now: 9_000_000 });
const second = resolveAndRecord({ argv: gitArgv(dir), gitDir: null, now: 9_000_001 });
assert.equal(first.action, ACTION.ACCEPT_OURS);
assert.equal(first.exitCode, 0);
assert.equal(first.notice, true);
assert.equal(second.notice, true, 'without a marker there is nothing to dedupe against');
});
});
// --- planInstall (rows 47-50) ----------------------------------------------
describe('planInstall', () => {
test('plansBothMergeDriverConfigEntries', () => {
const keys = planInstall({ repoRoot: '/repo' }).entries.map((e) => e.key);
assert.deepEqual(keys, ['merge.gsd-regen.name', 'merge.gsd-regen.driver']);
});
test('normalizesTheDriverCommandToForwardSlashesOnEveryPlatform', () => {
const { entries } = planInstall({ repoRoot: 'C:\\Users\\dev\\gsd-core' });
const driver = entries.find((e) => e.key === 'merge.gsd-regen.driver').value;
assert.ok(!driver.includes('\\'), `driver command must contain no backslash: ${driver}`);
});
// `driverCommandPassesEveryPlaceholderGitProvides` lived here and asserted that the
// command carried %P. That was the vulnerable behaviour, so the test has been deleted
// rather than relaxed — a test that asserts the old, now-wrong behaviour is worse than
// no test. Its useful half (the four git-generated placeholders ARE passed) is folded
// into `registeredDriverCommandNeverPassesThePlaceholderForTheFilePath`, which asserts
// both directions in one place.
test('plansIdenticalEntriesOnRepeatedInvocation', () => {
assert.deepEqual(planInstall({ repoRoot: '/repo' }), planInstall({ repoRoot: '/repo' }));
});
});
// --- CLI dispatch (rows 62-73) ---------------------------------------------
// CONTRIBUTING.md → "QA Matrix Requirements" / "CLI and command routing" requires a
// negative-input matrix for any command dispatcher: unknown subcommands, duplicate and
// conflicting flags, plus assertions on exit status and the absence of a stack trace.
describe('CLI dispatch', () => {
/** Run the driver as a real child process — its output never touches this test's stdout. */
function runCli(args, cwd = REPO_ROOT) {
return cp.spawnSync(process.execPath, [DRIVER_PATH, ...args], {
cwd,
encoding: 'utf8',
timeout: GIT_TIMEOUT_MS,
});
}
/**
* Swap process.stdout.write for the duration of `fn`. Same monkeypatch-and-restore-in-
* finally shape as withFsFailure — the run* functions print, and leaking that into the
* runner's stream is how a reporter ends up parsing a driver banner as a test result.
*/
function withStdoutSilenced(fn) {
const original = process.stdout.write;
process.stdout.write = () => true;
try {
return fn();
} finally {
process.stdout.write = original;
}
}
/** A stack frame looks like a line beginning with whitespace + "at ". */
function hasStackTrace(text) {
return /^\s+at\s/m.test(String(text));
}
const rejectedInvocations = [
['rejectsAnUnknownFlag', ['--bogus']],
['rejectsTwoConflictingFlags', ['--install', '--status']],
['rejectsADuplicatedFlag', ['--install', '--install']],
['rejectsAFlagCombinedWithAPositionalArgument', ['--status', 'extra']],
];
for (const [name, args] of rejectedInvocations) {
test(name, () => {
const r = runCli(args);
assert.equal(r.status, 2, `${args.join(' ')} must exit 2, got ${r.status}: ${r.stderr}`);
assert.ok(
!hasStackTrace(r.stderr),
`usage errors must not print a stack trace, got: ${r.stderr}`,
);
});
}
test('driverModeWithNoArgumentsDeclinesRatherThanCrashing', () => {
const r = runCli([]);
assert.equal(r.status, 1, 'too-few-args declines, which git reads as a normal conflict');
assert.ok(!hasStackTrace(r.stderr), `expected no stack trace, got: ${r.stderr}`);
});
test('statusEmitsParseableJsonWithTheDocumentedShape', () => {
const r = runCli(['--status']);
assert.equal(r.status, 0);
const report = JSON.parse(r.stdout);
assert.equal(typeof report.registered, 'boolean');
assert.equal(typeof report.pendingCount, 'number');
});
/** A scratch repo so registration never touches the developer's own .git/config. */
function scratchRepo(t) {
const dir = createTempDir('gsd-regen-cli-');
t.after(() => cleanup(dir));
git(dir, ['init', '-q', '.']);
return dir;
}
test('installRegistersBothConfigEntriesAndStatusReportsIt', (t) => {
const dir = scratchRepo(t);
const { statusOf, runInstall } = require(DRIVER_PATH);
assert.equal(statusOf({ repoRoot: dir }).registered, false, 'precondition: not registered');
assert.equal(withStdoutSilenced(() => runInstall({ repoRoot: dir })), 0);
assert.equal(statusOf({ repoRoot: dir }).registered, true);
const driver = git(dir, ['config', '--get', 'merge.gsd-regen.driver']).stdout.trim();
assert.equal(driver, planInstall({ repoRoot: dir }).entries[1].value);
});
test('installIsIdempotent', (t) => {
const dir = scratchRepo(t);
const { statusOf, runInstall } = require(DRIVER_PATH);
withStdoutSilenced(() => runInstall({ repoRoot: dir }));
const first = git(dir, ['config', '--get-all', 'merge.gsd-regen.driver']).stdout;
assert.equal(withStdoutSilenced(() => runInstall({ repoRoot: dir })), 0);
const second = git(dir, ['config', '--get-all', 'merge.gsd-regen.driver']).stdout;
assert.equal(second, first, 'a second install must not append a duplicate value');
assert.equal(statusOf({ repoRoot: dir }).registered, true);
});
test('uninstallRemovesTheRegistration', (t) => {
const dir = scratchRepo(t);
const { statusOf, runInstall, runUninstall } = require(DRIVER_PATH);
withStdoutSilenced(() => runInstall({ repoRoot: dir }));
assert.equal(withStdoutSilenced(() => runUninstall({ repoRoot: dir })), 0);
assert.equal(statusOf({ repoRoot: dir }).registered, false);
});
test('uninstallOnACleanRepoSucceedsRatherThanFailing', (t) => {
const dir = scratchRepo(t);
const { runUninstall, statusOf } = require(DRIVER_PATH);
assert.equal(withStdoutSilenced(() => runUninstall({ repoRoot: dir })), 0);
assert.equal(statusOf({ repoRoot: dir }).registered, false);
});
/**
* REGRESSION — arbitrary command execution via `%P` (isolated security review, #2721).
*
* Git does not invoke a merge driver with an argv array: it substitutes the placeholders
* textually into the configured string and runs the whole thing through a shell. Quoting
* does not save you — `$(…)` executes inside POSIX double quotes. `%O`/`%A`/`%B` are
* git-generated temp names and `%L` is an integer, but `%P` is the file's own path, which
* any contributor names freely. Registering `"%P"` let a branch that renamed a covered
* fixture to `evil$(touch PWNED).json` run that command on the machine of every maintainer
* who merged it — and the merge still reported success, so nothing looked wrong.
*
* The structural assertion is the real guard: it is platform-independent and fails the
* moment someone re-adds the placeholder.
*/
test('registeredDriverCommandNeverPassesThePlaceholderForTheFilePath', () => {
const { entries } = planInstall({ repoRoot: REPO_ROOT });
const driver = entries.find((e) => e.key === 'merge.gsd-regen.driver').value;
assert.ok(
!driver.includes('%P'),
'git shell-interpolates %P — passing it is arbitrary command execution. Do not re-add it.',
);
for (const safe of ['%O', '%A', '%B', '%L']) {
assert.ok(driver.includes(safe), `${safe} is git-generated and must still be passed`);
}
});
test('aFilenameCarryingShellSubstitutionCannotExecuteDuringAMerge', (t) => {
const dir = createTempDir('gsd-regen-inject-');
t.after(() => cleanup(dir));
git(dir, ['init', '-q', '.']);
git(dir, ['config', 'user.email', 'test@example.com']);
git(dir, ['config', 'user.name', 'test']);
// Register the REAL production command string — a hand-rolled one would not regress.
for (const { key, value } of planInstall({ repoRoot: REPO_ROOT }).entries) {
git(dir, ['config', key, value]);
}
fs.writeFileSync(path.join(dir, '.gitattributes'), 'evil*.json merge=gsd-regen\n');
// Written with fs, so this shell never expands it — the payload is the literal name.
const evil = 'evil$(touch PWNED_SENTINEL).json';
const sentinel = path.join(dir, 'PWNED_SENTINEL');
const write = (v) => fs.writeFileSync(path.join(dir, evil), `{"v":${v}}\n`);
write(0);
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'base']);
const base = git(dir, ['rev-parse', 'HEAD']).stdout.trim();
git(dir, ['checkout', '-qb', 'ours']);
write(1);
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'ours']);
git(dir, ['checkout', '-q', base]);
git(dir, ['checkout', '-qb', 'theirs']);
write(2);
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'theirs']);
git(dir, ['checkout', '-q', 'ours']);
git(dir, ['merge', 'theirs', '-m', 'merge']);
assert.equal(
fs.existsSync(sentinel),
false,
'a filename containing $(...) must never execute — see the regression note above',
);
});
});
// --- real-git end-to-end (rows 51-55) — #2721 AC1 --------------------------
describe('gsd-regen driver under real git operations', () => {
/**
* Build a repo whose `derived.json` is a stand-in for a golden fixture: both
* branches edit a DIFFERENT workflow file and both regenerate the artifact, so
* the artifact conflicts while the sources do not. That is exactly the #2721
* scenario (7 of 7 conflicting PRs collide on the identical artifact set).
*/
function buildScenario(t, { register }) {
const dir = createTempDir('gsd-regen-e2e-');
t.after(() => cleanup(dir));
git(dir, ['init', '-q', '.']);
git(dir, ['config', 'user.email', 'test@example.com']);
git(dir, ['config', 'user.name', 'test']);
if (register) {
// Register the REAL production entries. A hand-rolled command string would let the
// end-to-end tests keep passing while planInstall drifted — and would have kept
// registering the %P form these tests exist to prove is gone.
for (const { key, value } of planInstall({ repoRoot: REPO_ROOT }).entries) {
git(dir, ['config', key, value]);
}
}
fs.mkdirSync(path.join(dir, 'workflows'));
fs.writeFileSync(path.join(dir, '.gitattributes'), 'derived.json merge=gsd-regen\n');
fs.writeFileSync(path.join(dir, 'workflows', 'a.md'), 'A0\n');
fs.writeFileSync(path.join(dir, 'workflows', 'b.md'), 'B0\n');
fs.writeFileSync(path.join(dir, 'derived.json'), '{"a":"A0","b":"B0"}\n');
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'base']);
const base = git(dir, ['rev-parse', 'HEAD']).stdout.trim();
git(dir, ['checkout', '-qb', 'ours']);
fs.writeFileSync(path.join(dir, 'workflows', 'a.md'), 'A1\n');
fs.writeFileSync(path.join(dir, 'derived.json'), '{"a":"A1","b":"B0"}\n');
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'ours edits workflow a']);
git(dir, ['checkout', '-q', base]);
git(dir, ['checkout', '-qb', 'theirs']);
fs.writeFileSync(path.join(dir, 'workflows', 'b.md'), 'B1\n');
fs.writeFileSync(path.join(dir, 'derived.json'), '{"a":"A0","b":"B1"}\n');
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'theirs edits workflow b']);
git(dir, ['checkout', '-q', 'ours']);
return dir;
}
test('twoBranchesEditingDifferentWorkflowsMergeCleanlyWithTheDriver', (t) => {
const dir = buildScenario(t, { register: true });
const merge = git(dir, ['merge', 'theirs', '-m', 'merge']);
assert.equal(merge.status, 0, `merge should succeed: ${merge.stdout}${merge.stderr}`);
assert.equal(git(dir, ['ls-files', '-u']).stdout.trim(), '', 'no unmerged index entries');
assert.ok(
!fs.readFileSync(path.join(dir, 'derived.json'), 'utf8').includes('<<<<<<<'),
'the artifact must carry no conflict markers',
);
assert.equal(
fs.readFileSync(path.join(dir, 'workflows', 'b.md'), 'utf8'),
'B1\n',
'the source side of the merge must still be applied normally',
);
});
// Control: proves the test observes the DRIVER, not a trivially-mergeable artifact.
test('theSameTwoBranchesConflictWithoutTheDriver', (t) => {
const dir = buildScenario(t, { register: false });
const merge = git(dir, ['merge', 'theirs', '-m', 'merge']);
assert.notEqual(merge.status, 0, 'without the driver this scenario must conflict');
assert.notEqual(git(dir, ['ls-files', '-u']).stdout.trim(), '');
});
test('resolvesUnderRebaseNotJustMerge', (t) => {
const dir = buildScenario(t, { register: true });
git(dir, ['checkout', '-q', 'theirs']);
const rebase = git(dir, ['rebase', 'ours']);
assert.equal(rebase.status, 0, `rebase should succeed: ${rebase.stdout}${rebase.stderr}`);
assert.equal(git(dir, ['ls-files', '-u']).stdout.trim(), '');
});
test('leavesAOneSidedChangeToGitsTrivialMerge', (t) => {
const dir = buildScenario(t, { register: true });
git(dir, ['checkout', '-q', '-b', 'sideways', 'ours']);
fs.writeFileSync(path.join(dir, 'workflows', 'c.md'), 'C1\n');
git(dir, ['add', '-A']);
git(dir, ['commit', '-qm', 'unrelated']);
const merge = git(dir, ['merge', 'ours', '-m', 'merge']);
assert.equal(merge.status, 0);
assert.equal(
fs.readFileSync(path.join(dir, 'derived.json'), 'utf8'),
'{"a":"A1","b":"B0"}\n',
'a one-sided change is git’s trivial merge — the driver must not be involved',
);
});
test('resolvedArtifactIsExactlyTheOursSide', (t) => {
const dir = buildScenario(t, { register: true });
const ours = fs.readFileSync(path.join(dir, 'derived.json'), 'utf8');
git(dir, ['merge', 'theirs', '-m', 'merge']);
assert.equal(
fs.readFileSync(path.join(dir, 'derived.json'), 'utf8'),
ours,
'the driver invents nothing — it takes ours verbatim and defers to regen:derived',
);
});
});

View File

@@ -1,165 +0,0 @@
'use strict';
/**
* golden-install-parity.test.cjs — ADR-1239 Phase B safety-net harness.
*
* Captures a byte-stable manifest of every file emitted by the installer for
* all 16 runtimes, so a later PR moving installRuntimeArtifacts can prove
* byte-identical output parity.
*
* ## Determinism invariants (empirically established pre-Phase-B)
*
* After replacing every occurrence of the temp root path with the literal
* '<HOME>' in file contents, the install output is byte-identical run-to-run
* for ALL files EXCEPT the volatile metadata files that are EXCLUDED
* from the parity manifest:
* - gsd-file-manifest.json (timestamp + install-time absolute paths)
* - gsd-install-state.json (install-time absolute paths)
* - .gsd-source (#1477, claude-global: install-time source path)
*
* Everything else (≈545–616 files per runtime) is deterministic.
*
* ## UPDATE mode
*
* Run with UPDATE_GOLDEN=1 to (re-)capture fixtures:
* UPDATE_GOLDEN=1 node --test tests/golden-install-parity.test.cjs
*/
const { test, before } = require('node:test');
const assert = require('node:assert/strict');
const fs = require('node:fs');
const path = require('node:path');
const { execFileSync } = require('node:child_process');
const { cleanup } = require('./helpers.cjs');
const { RUNTIME_META, runMinimalInstall, BUILD_SCRIPT, buildParityManifest } = require('./helpers/install-shared.cjs');
// hooks/dist is gitignored and built (DEFECT.HOOKS-DIST-SCOPED-CI). The scoped
// CI test lane does not run build:hooks, so a real install there emits no hooks/
// dir — making the golden (captured with hooks built) report "removed (N) hooks/…".
// Build it idempotently here so the harness is lane-independent (mirrors the
// pattern in bug-1834-sh-hooks-installed and install-minimal-hooks).
before(() => {
execFileSync(process.execPath, [BUILD_SCRIPT], { encoding: 'utf-8', stdio: 'pipe' });
});
const UPDATE = process.env.UPDATE_GOLDEN === '1';
const FIXTURE_DIR = path.join(__dirname, 'fixtures', 'golden-install-parity');
// The parity-manifest exclusion constants and buildParityManifest builder are
// the canonical single source of truth in tests/helpers/install-shared.cjs
// (issue #2266) — imported above. See that module for the full rationale
// behind each exclusion (VOLATILE_FILES, HOOK_CONFIG_FILES,
// HOOK_CONFIG_RELATIVE_PATHS, EXCLUDED_PREFIXES) and the hash formula.
// scripts/gen-golden-install-parity-zcode.cjs imports the same builder so the
// test harness and the fixture generator can never drift again.
// Ensure the fixture directory exists (needed for UPDATE mode)
if (UPDATE) {
fs.mkdirSync(FIXTURE_DIR, { recursive: true });
}
const runtimes = Object.keys(RUNTIME_META);
for (const runtime of runtimes) {
test(`golden parity — ${runtime}`, async (t) => {
if (process.platform === 'win32') {
t.skip('install output is platform-specific on Windows (backslash paths); parity is asserted on macOS + Linux');
return;
}
const { configDir, root } = runMinimalInstall({ runtime, scope: 'global' });
let actual;
try {
actual = buildParityManifest(configDir, root);
} finally {
cleanup(root);
}
const fixturePath = path.join(FIXTURE_DIR, `${runtime}.json`);
if (UPDATE) {
fs.writeFileSync(fixturePath, JSON.stringify(actual, null, 2) + '\n', 'utf8');
const fileCount = Object.keys(actual).length;
// Report to stdout so the capture run is self-documenting
process.stdout.write(` [UPDATE] ${runtime}: wrote ${fileCount} file hashes → ${fixturePath}\n`);
return;
}
// Assert mode: compare against golden fixture
if (!fs.existsSync(fixturePath)) {
assert.fail(
`Golden fixture missing for runtime '${runtime}': ${fixturePath}\n` +
'Run "npm run gen:golden" to generate the fixtures (or, for humans, UPDATE_GOLDEN=1 node --test tests/golden-install-parity.test.cjs).'
);
}
const golden = JSON.parse(fs.readFileSync(fixturePath, 'utf8'));
const goldenKeys = new Set(Object.keys(golden));
const actualKeys = new Set(Object.keys(actual));
const added = [...actualKeys].filter(k => !goldenKeys.has(k));
const removed = [...goldenKeys].filter(k => !actualKeys.has(k));
const changed = [...actualKeys].filter(k => goldenKeys.has(k) && actual[k] !== golden[k]);
if (added.length > 0 || removed.length > 0 || changed.length > 0) {
const lines = [`Parity mismatch for runtime '${runtime}':`];
if (added.length) lines.push(` added (${added.length}): ${added.join(', ')}`);
if (removed.length) lines.push(` removed (${removed.length}): ${removed.join(', ')}`);
if (changed.length) lines.push(` changed (${changed.length}): ${changed.join(', ')}`);
lines.push('If the change is intentional, run "npm run gen:golden" to regenerate the fixtures (works without node --test; humans may also use UPDATE_GOLDEN=1 node --test).');
assert.deepEqual(actual, golden, lines.join('\n'));
}
});
}
// #2086 (EoS/claude): claude is the reference host and the ONLY runtime with a
// distinct LOCAL "legacy flat-commands" layout (commands/gsd-*.md + agents/gsd-*.md).
// The loop above asserts the GLOBAL skills layout; this asserts the LOCAL
// commands/agents layout is byte-identical too, so folding claude's
// `runtime === 'claude'` branches into descriptor-driven hostBehaviors cannot
// silently change the local install output (AC1: "both scopes"). NOTE: the
// settings.local.json ROUTING itself is excluded here (platform-varying node-runner
// path) — that dimension is covered directly by install.test.cjs's #338 suite.
test('golden parity — claude (local legacy layout)', async (t) => {
if (process.platform === 'win32') {
t.skip('install output is platform-specific on Windows (backslash paths); parity is asserted on macOS + Linux');
return;
}
const { configDir, root } = runMinimalInstall({ runtime: 'claude', scope: 'local' });
let actual;
try {
actual = buildParityManifest(configDir, root);
} finally {
cleanup(root);
}
const fixturePath = path.join(FIXTURE_DIR, 'claude-local.json');
if (UPDATE) {
fs.writeFileSync(fixturePath, JSON.stringify(actual, null, 2) + '\n', 'utf8');
process.stdout.write(` [UPDATE] claude-local: wrote ${Object.keys(actual).length} file hashes → ${fixturePath}\n`);
return;
}
if (!fs.existsSync(fixturePath)) {
assert.fail(
`Golden fixture missing for claude-local: ${fixturePath}\n` +
'Run "npm run gen:golden" to generate the fixtures (or, for humans, UPDATE_GOLDEN=1 node --test tests/golden-install-parity.test.cjs).',
);
}
const golden = JSON.parse(fs.readFileSync(fixturePath, 'utf8'));
const added = Object.keys(actual).filter(k => !(k in golden));
const removed = Object.keys(golden).filter(k => !(k in actual));
const changed = Object.keys(actual).filter(k => k in golden && actual[k] !== golden[k]);
if (added.length || removed.length || changed.length) {
const lines = ['Parity mismatch for claude-local:'];
if (added.length) lines.push(` added (${added.length}): ${added.join(', ')}`);
if (removed.length) lines.push(` removed (${removed.length}): ${removed.join(', ')}`);
if (changed.length) lines.push(` changed (${changed.length}): ${changed.join(', ')}`);
lines.push('If the change is intentional, run "npm run gen:golden" to regenerate the fixtures (works without node --test; humans may also use UPDATE_GOLDEN=1 node --test).');
assert.deepEqual(actual, golden, lines.join('\n'));
}
});

View File

@@ -86,7 +86,7 @@ for (const runtime of runtimes) {
if (!fs.existsSync(fixturePath)) {
assert.fail(
`Install-tree fixture missing for runtime '${runtime}': ${fixturePath}\n` +
'Run "npm run gen:golden" to generate the fixtures (or, for humans, UPDATE_INSTALL_TREE=1 node --test tests/golden-install-tree.test.cjs).'
'Run "npm run gen:install-tree" to generate the fixtures (or, for humans, UPDATE_INSTALL_TREE=1 node --test tests/golden-install-tree.test.cjs).'
);
}
@@ -98,7 +98,7 @@ for (const runtime of runtimes) {
const lines = [`Install-tree mismatch for runtime '${runtime}':`];
if (added.length) lines.push(` added (${added.length}): ${added.join(', ')}`);
if (removed.length) lines.push(` removed (${removed.length}): ${removed.join(', ')}`);
lines.push('If the change is intentional, run "npm run gen:golden" to regenerate the fixtures (works without node --test; humans may also use UPDATE_INSTALL_TREE=1 node --test).');
lines.push('If the change is intentional, run "npm run gen:install-tree" to regenerate the fixtures (works without node --test; humans may also use UPDATE_INSTALL_TREE=1 node --test).');
assert.deepEqual(actual, fixture, lines.join('\n'));
}
});
@@ -132,7 +132,7 @@ test('install tree — claude (local legacy layout)', async (t) => {
if (!fs.existsSync(fixturePath)) {
assert.fail(
`Install-tree fixture missing for claude-local: ${fixturePath}\n` +
'Run "npm run gen:golden" to generate the fixtures (or, for humans, UPDATE_INSTALL_TREE=1 node --test tests/golden-install-tree.test.cjs).',
'Run "npm run gen:install-tree" to generate the fixtures (or, for humans, UPDATE_INSTALL_TREE=1 node --test tests/golden-install-tree.test.cjs).',
);
}
@@ -142,7 +142,7 @@ test('install tree — claude (local legacy layout)', async (t) => {
const lines = ['Install-tree mismatch for claude-local:'];
if (added.length) lines.push(` added (${added.length}): ${added.join(', ')}`);
if (removed.length) lines.push(` removed (${removed.length}): ${removed.join(', ')}`);
lines.push('If the change is intentional, run "npm run gen:golden" to regenerate the fixtures (works without node --test; humans may also use UPDATE_INSTALL_TREE=1 node --test).');
lines.push('If the change is intentional, run "npm run gen:install-tree" to regenerate the fixtures (works without node --test; humans may also use UPDATE_INSTALL_TREE=1 node --test).');
assert.deepEqual(actual, fixture, lines.join('\n'));
}
});

View File

@@ -1,7 +1,8 @@
'use strict';
/**
* golden-parity-single-source.test.cjs — anti-divergence guard (#2266).
* golden-parity-single-source.test.cjs — anti-divergence guard (#2266, carried
* forward by #2724 / ADR-2719 Phase 4).
*
* tests/golden-install-parity.test.cjs and scripts/gen-golden-install-parity-zcode.cjs
* used to each carry their OWN inline copy of buildParityManifest plus its 4
@@ -11,14 +12,20 @@
* test harness's copy had — and shipped broken fixtures three times (#2086,
* #2095, #2100). Phase 1 of the golden-install-parity redesign (#2266)
* consolidated both call sites onto a single canonical implementation in
* tests/helpers/install-shared.cjs.
* tests/helpers/install-shared.cjs. ADR-2264 Phase 1 (that consolidation) is
* explicitly RETAINED by ADR-2719 — #2724 deletes the two ORIGINAL consumers
* (golden-install-parity.test.cjs, gen-golden-install-parity-zcode.cjs), but
* their two REPLACEMENTS (tests/helpers/emitted-runtime.cjs's currentManifests
* and tests/helpers/emitted-provenance.cjs's loadManifests) import
* buildParityManifest the exact same way, so the divergence risk this guard
* exists for is unchanged — only the consumer names moved.
*
* This guard (mirrors the ADR-2121 anti-divergence pattern) enforces that
* consolidation stays consolidated:
* 1. install-shared.cjs actually exports a working buildParityManifest +
* the 4 exclusion constants with the expected shapes.
* 2. Neither downstream consumer re-declares its own inline copy of the
* builder function or the exclusion constants.
* 2. No downstream consumer re-declares its own inline copy of the builder
* function or the exclusion constants.
*/
const { test } = require('node:test');
@@ -79,8 +86,8 @@ const FORBIDDEN_INLINE = [
];
const CONSUMERS = [
{ name: 'tests/golden-install-parity.test.cjs', rel: ['tests', 'golden-install-parity.test.cjs'], from: './helpers/install-shared.cjs' },
{ name: 'scripts/gen-golden-install-parity-zcode.cjs', rel: ['scripts', 'gen-golden-install-parity-zcode.cjs'], from: 'tests/helpers/install-shared.cjs' },
{ name: 'tests/helpers/emitted-runtime.cjs', rel: ['tests', 'helpers', 'emitted-runtime.cjs'], from: './install-shared.cjs' },
{ name: 'tests/helpers/emitted-provenance.cjs', rel: ['tests', 'helpers', 'emitted-provenance.cjs'], from: './install-shared.cjs' },
];
for (const consumer of CONSUMERS) {

View File

@@ -34,6 +34,29 @@ const { attributeEmittedPath } = require('./emitted-provenance.cjs');
* shape is public the moment it ships (Hyrum). Loosening later is easy; tightening is not. */
const ACK_VERSION = 1;
/**
* A brand-new workflow/agent file — absent from the baseline, present now — must
* still stay under the Codex `project_doc_max_bytes` anchor (ADR-1610 Decision
* point 3, `NEW_FILE_CAP` in the pre-#2724 tests/workflow-size-budget.test.cjs).
*
* #2724 (ADR-2719 Phase 4) deleted the committed per-file baseline that cap used to
* key "not yet baselined" off of. The size ratchet below (ADR-2719 §4) already
* computes the exact same signal for a different reason — a name present in
* `sizeCurrent` but absent from `sizeBaseline` IS "new" by construction, the same
* definition ADR-1610 used — so no new baseline, git diff, or CI wiring is needed to
* revive the cap; it only needed a home once the old one was deleted.
*
* This is a HARD cap, not ack-able, matching the tier hard caps it sits beside
* (XL/LARGE/DEFAULT in tests/workflow-size-budget.test.cjs): the fix for exceeding it
* is extraction, never an acknowledgment entry. Not exempted by explicit XL/LARGE
* tiering the way the original test-file version was — this module is intentionally
* pure and has no access to that classification (tests/workflow-size-budget.test.cjs's
* XL_WORKFLOWS/LARGE_WORKFLOWS sets) — so a legitimately large NEW file must be split
* via the same lazy-extraction pattern the tier caps already require, one release
* earlier than an existing file would need to. Documented narrowing, not a silent one.
*/
const NEW_FILE_CAP = 32768;
/**
* Does a changed repo path satisfy a provenance `sources` entry?
*
@@ -115,7 +138,8 @@ function parseAck(doc, { source = 'emitted-drift-ack.json' } = {}) {
*
* @returns {{
* moved: number, attributed: Array, unattributable: Array, acked: Array,
* removed: Array, grown: Array, shrunk: Array, staleAcks: string[], errors: string[], ok: boolean
* removed: Array, grown: Array, shrunk: Array, newFileCapExceeded: Array,
* staleAcks: string[], errors: string[], ok: boolean
* }}
*/
function diffEmitted({
@@ -240,9 +264,17 @@ function diffEmitted({
// report a size-growth ack as stale.
const grown = [];
const shrunk = [];
const newFileCapExceeded = [];
if (sizeBaseline && sizeCurrent) {
for (const name of Object.keys(sizeCurrent).sort()) {
if (!Object.prototype.hasOwnProperty.call(sizeBaseline, name)) continue;
if (!Object.prototype.hasOwnProperty.call(sizeBaseline, name)) {
// No baseline entry: this file is NEW. No `from` to diff against, so the
// growth ratchet does not apply — but the absolute new-file cap does
// (ADR-1610 Decision point 3). Never ack-able; see NEW_FILE_CAP's doc comment.
const bytes = sizeCurrent[name];
if (bytes > NEW_FILE_CAP) newFileCapExceeded.push({ name, bytes, cap: NEW_FILE_CAP });
continue;
}
const from = sizeBaseline[name];
const to = sizeCurrent[name];
if (to > from) {
@@ -268,7 +300,8 @@ function diffEmitted({
const ok = errors.length === 0
&& unattributable.length === 0
&& unackedGrowth.length === 0
&& staleAcks.length === 0;
&& staleAcks.length === 0
&& newFileCapExceeded.length === 0;
return {
moved,
@@ -278,6 +311,7 @@ function diffEmitted({
removed,
grown,
shrunk,
newFileCapExceeded,
staleAcks,
errors,
ok,
@@ -328,6 +362,14 @@ function formatReport(result, { sampleLimit = 20 } = {}) {
);
}
if (result.newFileCapExceeded.length) {
const list = result.newFileCapExceeded.slice(0, sampleLimit)
.map((f) => ` ${f.name} is ${f.bytes} bytes — exceeds the ${f.cap}-byte new-file cap (ADR-1610)`);
parts.push(
`${result.newFileCapExceeded.length} new file(s) exceed the new-file cap (extract, not ack):\n${list.join('\n')}`,
);
}
if (result.staleAcks.length) {
parts.push(
`${result.staleAcks.length} stale acknowledgment(s) — the ripple they explained is gone, ` +
@@ -341,6 +383,7 @@ function formatReport(result, { sampleLimit = 20 } = {}) {
module.exports = {
ACK_VERSION,
NEW_FILE_CAP,
sourceSatisfiedBy,
parseAck,
diffEmitted,

View File

@@ -38,13 +38,12 @@
* risk ADR-2719 records. The spot-check tests pin this pair.
*/
const fs = require('node:fs');
const path = require('node:path');
const REPO_ROOT = path.join(__dirname, '..', '..');
const FIXTURES_DIR = path.join(REPO_ROOT, 'tests', 'fixtures', 'golden-install-parity');
const { MANIFEST_FAMILIES } = require('./install-shared.cjs');
const { cleanup } = require('../helpers.cjs');
const { MANIFEST_FAMILIES, runMinimalInstall, buildParityManifest } = require('./install-shared.cjs');
/**
* Number of runtime manifests the guard expects to cover. Asserted, so a glob that
@@ -76,6 +75,18 @@ const COMMANDS_SRC = 'commands/gsd';
* buildClinePreToolUseHook). */
const CLINE_BODY_SRC = 'src/runtime-hooks-surface.cts';
/**
* Installer source file that GENERATES the Windows-only `hooks/<name>.cmd` shim
* wrapping a Codex hook's `.js` script (#3426). Same physical file as
* CLINE_BODY_SRC — kept as its own named constant because the two constants
* attribute unrelated transform code that happens to live in one file:
* buildCodexHookWindowsShimIR / ensureCodexHooksJsonSessionStart /
* ensureCodexHooksJsonEvent (verified via Memtrace: these are the ONLY writers
* of a `.cmd` file anywhere in the installer — no other runtime's hook surface
* builds one).
*/
const HOOKS_WINDOWS_SHIM_SRC = 'src/runtime-hooks-surface.cts';
/** Installer source file that emits the Hermes skill-category DESCRIPTION.md
* (writeHermesCategoryDescription) as a code literal. */
const INSTALLER_SRC = 'bin/install.js';
@@ -199,10 +210,10 @@ function nativePluginDescriptor(runtime) {
// `roots` — emitted prefixes this rule applies under (null = match `rel` whole)
// `pattern` — matched against the root-stripped tail (or whole `rel` when roots is null)
// `sources` — (match, ctx) => string[] of repo-relative paths; [] only for `synthesized`
// `transforms` — OPTIONAL string[] of repo paths implementing the TRANSFORM that
// produces this rule's emitted bytes (#2757). A `derived`/`code-derived`
// artifact's bytes can move for a second reason `sources` alone cannot
// express: the transform code changed, not the source it derives from.
// `transforms` — OPTIONAL repo paths implementing the TRANSFORM that produces this
// rule's emitted bytes (#2757). A `derived`/`code-derived` artifact's
// bytes can move for a second reason `sources` alone cannot express:
// the transform code changed, not the source it derives from.
// Phase 3 (emitted-diff.cjs) attributes a moved path if the diff
// satisfies EITHER `sources` OR `transforms`, reusing the same
// `sourceSatisfiedBy` matcher for both so exact/prefix semantics stay
@@ -210,6 +221,15 @@ function nativePluginDescriptor(runtime) {
// `transforms` — enforced by `assertNoIdentityTransforms` below — because
// an identity copy's bytes can only move when its source moves; that is
// what makes it an identity.
// May be a plain `string[]` (the common case) OR a `(match, ctx) => string[]`
// function, mirroring `sources`, for a rule whose transform attribution
// depends on WHICH emitted path matched — e.g. `hooks-built` below, where
// only the `.cmd` shim sub-family has transform code at all; a static
// array would either miss that or (worse) falsely blanket-attribute every
// plain hook file to the shim generator that cannot move its bytes. A
// dedicated rule for the `.cmd` sub-family was considered and rejected: it
// is emitted ONLY on win32 (see `hooks-built` below), so on every non-
// Windows CI lane it would match zero paths and fail as a "dead" rule.
//
// Rule ORDER CARRIES NO SEMANTICS. Exactly-one matching is enforced, so rules are
// mutually exclusive by construction and the table reads correctly in any order.
@@ -294,6 +314,17 @@ const PROVENANCE_RULES = [
},
{
id: 'hooks-built',
// `kind` is a single scalar per rule, and this rule's majority sub-family
// (plain built hook files) is genuinely `derived` from hooks/<name> via
// scripts/build-hooks.js. The `.cmd` shim sub-family is code-derived (see
// the pattern-comment and `sources` comment below), but that does not
// change this rule's `kind` — a per-match `kind` would need a dedicated
// rule, which is exactly what was rejected above (dead on non-Windows CI
// lanes). The `.cmd` branch's real (code-derived) provenance is instead
// carried precisely by `sources`/`transforms` both pointing at
// HOOKS_WINDOWS_SHIM_SRC — `assertNoIdentityTransforms` only constrains
// `kind: 'identity'` rules, so a `derived` rule with a non-empty
// `transforms` here is unaffected by that guard.
kind: 'derived',
roots: HOOKS_ROOTS,
// Emitted from hooks/dist/, which scripts/build-hooks.js builds from hooks/.
@@ -301,8 +332,32 @@ const PROVENANCE_RULES = [
// Excludes Copilot's hook-registration JSON (next rule) — that is a code
// literal, not a built script, and attributing it here resolved to a
// nonexistent `hooks/gsd-session.json`.
//
// `.cmd` shims are a SEPARATE, Windows-only emission path folded into this
// SAME rule rather than a dedicated one (see the `transforms` doc above for
// why a standalone rule would go dead on non-Windows CI lanes). Verified via
// Memtrace: `hooks/<name>.cmd` is written at install time by
// ensureCodexHooksJsonSessionStart / ensureCodexHooksJsonEvent (both gated
// on `platform === 'win32'`) via buildCodexHookWindowsShimIR
// (HOOKS_WINDOWS_SHIM_SRC, src/runtime-hooks-surface.cts). The `.cmd` bytes
// are `@ECHO OFF\r\n@SETLOCAL\r\n@<runner> <script> %*\r\n` — built from the
// install-time interpreter token and the absolute install path, plus a
// hardcoded literal filename (e.g. `gsd-check-update.js`) baked into that
// same source file. The wrapped `.js` file's NAME flows into the `.cmd`
// bytes; its CONTENT never does — see the `sources` comment below for why
// that rules out attributing to `hooks/<name>.js`.
pattern: /^(?!gsd-session\.json$).+$/,
sources: (m) => [`hooks/${m[0]}`],
// `.cmd` shim bytes are code-derived (a literal template + the install-time
// interpreter/path tokens in HOOKS_WINDOWS_SHIM_SRC) — the wrapped `.js`
// file's NAME flows in (as a hardcoded literal filename inside that same
// source file), but its CONTENT never does, so attributing `sources` to
// `hooks/<name>.js` would be a false byte-provenance claim. Point `sources`
// at the same file as `transforms`, matching the `code-derived` convention
// used elsewhere in this table (copilot-hook-registration, cline-rules-
// code-derived, hermes-category-description). The redundancy between
// `sources` and `transforms` here is harmless — the mis-attribution was not.
sources: (m) => [m[0].endsWith('.cmd') ? HOOKS_WINDOWS_SHIM_SRC : `hooks/${m[0]}`],
transforms: (m) => (m[0].endsWith('.cmd') ? [HOOKS_WINDOWS_SHIM_SRC] : []),
},
{
id: 'copilot-hook-registration',
@@ -519,13 +574,25 @@ function attributeEmittedPath(rel, runtime, rules = PROVENANCE_RULES) {
);
}
const { rule, match } = hits[0];
let transforms;
if (typeof rule.transforms === 'function') {
transforms = rule.transforms(match, { rel, runtime });
if (!Array.isArray(transforms)) {
throw new Error(
`emitted-provenance: rule "${rule.id}" transforms(match, ctx) must return an array, ` +
`got ${typeof transforms} for ${rel}`,
);
}
} else {
// #2757: always an array, never undefined, so callers (Phase 3's diffEmitted)
// never need a defensive `|| []`.
transforms = Array.isArray(rule.transforms) ? rule.transforms : [];
}
return {
ruleId: rule.id,
kind: rule.kind,
sources: rule.sources(match, { rel, runtime }),
// #2757: always an array, never undefined, so callers (Phase 3's diffEmitted)
// never need a defensive `|| []`.
transforms: Array.isArray(rule.transforms) ? rule.transforms : [],
transforms,
};
}
@@ -540,12 +607,18 @@ function attributeEmittedPath(rel, runtime, rules = PROVENANCE_RULES) {
* future authoring mistake) and exported so tests can drive it against an injected
* corrupted table, matching this module's existing injectable-table convention.
*
* A function-valued `transforms` on an identity rule is rejected outright (without
* invoking it) — an identity rule has no legitimate match-dependent transform story
* by definition, so allowing the function form there would just be a slower path to
* the same false-attribution risk this guard exists to catch.
*
* @param {Array} rules rule table (injectable)
* @throws when any identity rule declares a non-empty transforms array
* @throws when any identity rule declares a non-empty transforms array or a function
*/
function assertNoIdentityTransforms(rules = PROVENANCE_RULES) {
const violators = rules.filter(
(r) => r.kind === 'identity' && Array.isArray(r.transforms) && r.transforms.length > 0,
(r) => r.kind === 'identity'
&& (typeof r.transforms === 'function' || (Array.isArray(r.transforms) && r.transforms.length > 0)),
);
if (violators.length) {
throw new Error(
@@ -561,39 +634,60 @@ function assertNoIdentityTransforms(rules = PROVENANCE_RULES) {
// until some test happens to exercise the corrupted rule.
assertNoIdentityTransforms(PROVENANCE_RULES);
// ─── Fixture loading ──────────────────────────────────────────────────────────
// ─── Manifest loading ─────────────────────────────────────────────────────────
/**
* Load every committed golden-parity manifest as {runtime, rel, keys}.
* Rejects a manifest whose JSON parses but is not a plain object — treating `0`,
* Build the emitted manifest set for every family, for real — one installer spawn
* per runtime, exactly as `tests/helpers/emitted-runtime.cjs`'s `currentManifests()`
* does for the differential check's CURRENT side.
*
* Pre-#2724 this read the committed `tests/fixtures/golden-install-parity/*.json`
* snapshots. Phase 4 (ADR-2719) deletes those fixtures entirely — not just at HEAD,
* at every future ref — so a fixture-reading implementation would throw at module
* load on every commit from here forward, taking the Phase 2 totality guard down
* with it (the totality guard is supposed to be the *replacement* for the golden
* check, not another casualty of deleting it). Building from real installs instead
* makes this the same honest, no-fixture-dependency shape as the differential's
* current-tree side, and it needs no `fixturesDir` parameter because there is no
* longer a fixture directory to point it at.
*
* Rejects a manifest whose build result is not a plain object — treating `0`,
* `"s"`, `[]`, `null` or `true` as "no keys" would let the whole guard pass
* vacuously on a corrupt fixture.
* vacuously on a corrupt build.
*/
function loadManifests(fixturesDir = FIXTURES_DIR) {
const files = fs.readdirSync(fixturesDir).filter((f) => f.endsWith('.json')).sort();
return files.map((file) => {
const full = path.join(fixturesDir, file);
const raw = fs.readFileSync(full, 'utf8');
if (raw.trim() === '') {
throw new Error(`emitted-provenance: fixture ${file} is empty`);
}
/**
* @param {object} [deps] injected for testability (hostile-input coverage below) —
* production callers use the defaults.
* @param {Array} [deps.families] MANIFEST_FAMILIES by default
* @param {function} [deps.install] runMinimalInstall by default
* @param {function} [deps.build] buildParityManifest by default
* @param {function} [deps.clean] cleanup by default
*/
function loadManifests({
families = MANIFEST_FAMILIES,
install = runMinimalInstall,
build = buildParityManifest,
clean = cleanup,
} = {}) {
return families.map(({ name, runtime, scope }) => {
const { configDir, root } = install({ runtime, scope });
let parsed;
try {
parsed = JSON.parse(raw);
} catch (err) {
throw new Error(`emitted-provenance: fixture ${file} is not valid JSON: ${err.message}`);
parsed = build(configDir, root);
} finally {
clean(root);
}
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
throw new Error(
`emitted-provenance: fixture ${file} must be a JSON object of path->hash, ` +
`emitted-provenance: build for ${name} must produce an object of path->hash, ` +
`got ${Array.isArray(parsed) ? 'array' : typeof parsed}`,
);
}
return {
file,
// `claude-local.json` is the claude runtime at local scope; the descriptor
// lookup keys on the runtime id, not the fixture name.
runtime: file.replace(/\.json$/, '').replace(/-local$/, ''),
file: `${name}.json`,
// `claude-local` is the claude runtime at local scope; the descriptor lookup
// keys on the runtime id, not the family name.
runtime,
keys: Object.keys(parsed),
};
});
@@ -668,7 +762,6 @@ function assertTotality(manifests, rules = PROVENANCE_RULES, sampleLimit = 10) {
module.exports = {
EXPECTED_MANIFEST_COUNT,
FIXTURES_DIR,
PROVENANCE_RULES,
SKILLS_ROOTS,
KIMI_ROOT_AGENT_SRC,
@@ -677,6 +770,7 @@ module.exports = {
HOOKS_ROOTS,
COMMANDS_SRC,
CLINE_BODY_SRC,
HOOKS_WINDOWS_SHIM_SRC,
INSTALLER_SRC,
stripSkillPrefix,
nativePluginDescriptor,

View File

@@ -31,7 +31,9 @@
*/
const fs = require('node:fs');
const os = require('node:os');
const path = require('node:path');
const crypto = require('node:crypto');
const { execFileSync } = require('node:child_process');
const { cleanup } = require('../helpers.cjs');
@@ -227,8 +229,33 @@ function reconcileFamilies({
* macOS CI silently stops reporting. */
const GIT_TIMEOUT_MS = 30_000;
/**
* Prepend `-c safe.directory=<dir>` to a git argv.
*
* The remote test-runner container mounts the repository at a path owned by a
* different uid than the process running the suite; git's dubious-ownership
* protection then refuses EVERY operation there with "detected dubious ownership"
* (#2767 — surfaced when a previously-always-skipping regression test started
* actually executing in that container and its very first `git rev-parse HEAD`
* failed closed). GitHub Actions never hits this because `actions/checkout`
* registers the workspace as a safe directory automatically; this runner's
* container does not. `buildBaselineAtRef` is the PRODUCTION build-fallback path
* the sole remaining emitted gate depends on (`resolveBaseline`'s in-job-build leg,
* ADR-2719 §5) — not just a test helper — so the fix belongs here, not papered
* over by skipping the test that found it.
*
* Declares the SPECIFIC resolved directory each call site already operates on —
* never the `*` wildcard, which would mark every repository on the machine safe —
* so this cannot broaden trust beyond the one path the caller already intends to
* touch. Every git call in this module (and its production/test callers) passes
* through here so the fix cannot silently drift per call site.
*/
function safeDirArgs(dir) {
return ['-c', `safe.directory=${path.resolve(dir)}`];
}
function git(args, { cwd = REPO_ROOT } = {}) {
return execFileSync('git', args, {
return execFileSync('git', [...safeDirArgs(cwd), ...args], {
cwd,
encoding: 'utf8',
timeout: GIT_TIMEOUT_MS,
@@ -316,6 +343,15 @@ function resolveBase(env = process.env) {
* current registry, so the loop never asks the base ref for it, `baseline` silently omits
* a family that genuinely existed, and the dropped-family check can never fire. Asking
* the ref what it actually contains is the only way the "before" side is really "before".
*
* NOT called by the real-tree test's production path as of #2724 (ADR-2719 Phase 4) —
* `buildBaselineAtRef` + `resolveBaseline()` replaced it, since the fixture directory
* this reads no longer exists at any ref from the cutover commit forward. Kept
* (alongside `baselineManifestsAtRef`/`baselineSizesAtRef` below) because it still
* answers a real question for a REF THAT PREDATES THE CUTOVER — bisecting into the
* dual-run window (#2723) or earlier — and its own regression test below pins a real
* property (the baseline must reflect the ref, not the current registry) that would
* otherwise go untested.
*/
function baselineFamilyNamesAtRef(base, { cwd = REPO_ROOT } = {}) {
let out;
@@ -366,6 +402,111 @@ function baselineManifestsAtRef(base = 'origin/next') {
return found === 0 ? null : manifests;
}
/**
* Build the baseline artifact at `ref` FOR REAL — a throwaway `git worktree` checked
* out at `ref`, MEASURED by `cwd`'s (the calling checkout's) OWN
* `scripts/gen-emitted-baseline.cjs` (#2724/#2767, ADR-2719 §5's "in-job build at
* origin/next" fallback).
*
* ── Why the generator runs from `cwd`, not from the worktree ─────────────────────
* `scripts/gen-emitted-baseline.cjs` was ADDED by the same PR that deleted the golden
* fixtures this fallback used to read instead (#2724). A base ref that predates that PR
* — which is every `next` this fallback is ever asked to measure, since the fallback
* only runs on a cache miss for a ref that has not been through the publish job yet —
* therefore never has the script at `<worktreeDir>/scripts/gen-emitted-baseline.cjs`,
* and invoking it there fails closed with `Cannot find module` on every single call: the
* fallback could never bootstrap. Running `cwd`'s copy instead, with `--dir worktreeDir`
* telling it WHICH tree's installer to measure, isn't merely the workaround for that —
* it is the more correct differential semantics regardless: a diff needs ONE measurement
* schema applied to BOTH sides, or the sides stop being comparable the moment that
* schema evolves (a new exclusion rule, a new manifest family) between the two commits.
* Letting each side measure itself with its own, potentially different, version of the
* script would silently reintroduce exactly that incomparability.
*
* This is the slow path, used only on a `resolveBaseline()` cache miss. The worktree
* needs no `npm ci`: `bin/install.js` and the `tests/helpers/*.cjs` real-tree shells are
* all Node-builtins-only (CONTRIBUTING.md's "No external dependencies in core"). It DOES
* need `npm run build:lib` run there first, though — `tests/helpers/install-shared.cjs`
* requires the TSC-COMPILED `gsd-core/bin/lib/runtime-artifact-layout.cjs`, which is
* gitignored, not committed, and therefore absent from a bare worktree checkout, and
* `<worktreeDir>/bin/install.js` (spawned BY `cwd`'s generator via `currentManifests`'s
* `repoRoot` override) needs its own compiled copy alongside it, not `cwd`'s. `node_modules`
* is symlinked in from the calling checkout (never copied — `npm ci` inside every
* fallback build would make an already-slow path far slower) so `tsc` is available
* without a second install; the worktree's OWN `src/*.cts` and `tsconfig.build.json`
* are what gets compiled, so the MEASURED installer reflects `ref`, not `cwd`'s tree —
* only the measurement CODE (the generator, install-shared.cjs, emitted-runtime.cjs)
* comes from `cwd`.
*
* Every subprocess is bounded. The worktree is always removed, success or failure —
* a leaked worktree would poison `git worktree list` for every subsequent run in the
* same checkout (CI runners reuse the same clone across jobs in some configurations).
*
* @param {string} ref the ref/sha to build at (e.g. `origin/next`, a 40-hex sha)
* @param {object} [o]
* @param {string} [o.cwd] repo to run `git worktree` from AND whose generator measures it
* @returns {object} the parsed baseline artifact ({version, sha, manifests, sizes})
*/
function buildBaselineAtRef(ref, { cwd = REPO_ROOT } = {}) {
const worktreeDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-emitted-baseline-wt-'));
// mkdtempSync already created the directory; `git worktree add` requires the
// target to not exist (or be empty) — remove it and let git recreate it.
fs.rmdirSync(worktreeDir);
const outFile = path.join(os.tmpdir(), `gsd-emitted-baseline-out-${crypto.randomBytes(8).toString('hex')}.json`);
const WORKTREE_TIMEOUT_MS = 60_000;
const BUILD_LIB_TIMEOUT_MS = 180_000;
const BUILD_TIMEOUT_MS = 300_000;
try {
execFileSync('git', [...safeDirArgs(cwd), 'worktree', 'add', '--detach', worktreeDir, ref], {
cwd, encoding: 'utf8', timeout: WORKTREE_TIMEOUT_MS, stdio: ['ignore', 'pipe', 'pipe'],
});
const sharedNodeModules = path.join(cwd, 'node_modules');
if (fs.existsSync(sharedNodeModules)) {
fs.symlinkSync(sharedNodeModules, path.join(worktreeDir, 'node_modules'), 'dir');
}
execFileSync('npm', ['run', 'build:lib'], {
cwd: worktreeDir, encoding: 'utf8', timeout: BUILD_LIB_TIMEOUT_MS, stdio: ['ignore', 'pipe', 'pipe'],
});
// Run `cwd`'s OWN generator (not the worktree's — see the function doc for why),
// pointed at the worktree as the tree to measure.
execFileSync(
process.execPath,
[path.join(cwd, 'scripts', 'gen-emitted-baseline.cjs'), '--dir', worktreeDir, '--out', outFile],
{ cwd, encoding: 'utf8', timeout: BUILD_TIMEOUT_MS, stdio: ['ignore', 'pipe', 'pipe'] },
);
const raw = fs.readFileSync(outFile, 'utf8');
return JSON.parse(raw);
} finally {
try {
execFileSync('git', [...safeDirArgs(cwd), 'worktree', 'remove', '--force', worktreeDir], {
cwd, encoding: 'utf8', timeout: WORKTREE_TIMEOUT_MS, stdio: ['ignore', 'pipe', 'pipe'],
});
} catch {
// Best-effort: the checkout may already be gone (e.g. the build step failed
// before writing anything). Prune stale admin data rather than leaving it.
try {
execFileSync('git', [...safeDirArgs(cwd), 'worktree', 'prune'], {
cwd, encoding: 'utf8', timeout: WORKTREE_TIMEOUT_MS, stdio: ['ignore', 'pipe', 'pipe'],
});
} catch { /* best-effort cleanup; never mask the primary result/error */ }
}
// Same guarantee as the git cleanup above: an EBUSY/EPERM here must not replace
// whatever the `try` block was about to return or throw.
try {
fs.rmSync(outFile, { force: true });
} catch { /* best-effort cleanup; never mask the primary result/error */ }
try {
fs.rmSync(worktreeDir, { recursive: true, force: true });
} catch { /* best-effort cleanup; never mask the primary result/error */ }
}
}
/** Size maps at `base`, for the ratchet half. Null when absent at that ref. */
function baselineSizesAtRef(base = 'origin/next') {
const sizes = {};
@@ -386,11 +527,23 @@ function baselineSizesAtRef(base = 'origin/next') {
* Build the CURRENT emitted manifest set for real — one installer spawn per runtime.
* This is the expensive, honest half: it reflects what the tree actually emits now,
* not what the author regenerated into a fixture.
*
* @param {object} [opts]
* @param {string} [opts.repoRoot] - Measure a DIFFERENT checkout's installer instead of
* this one's (#2767). When set, `<repoRoot>/bin/install.js` is spawned rather than
* THIS checkout's `bin/install.js` — the measurement schema (this function, the
* exclusion rules in install-shared.cjs) stays fixed at the caller's version while the
* installer code being measured varies. This is what lets `gen-emitted-baseline.cjs`
* apply ONE definition of "the emitted manifest" to two different trees (PR HEAD and a
* base-ref worktree) so the two sides stay comparable even if the definition itself
* evolves — running the OTHER tree's own (older, or absent) copy of this function would
* defeat that.
*/
function currentManifests() {
function currentManifests({ repoRoot } = {}) {
const installScript = repoRoot ? path.join(repoRoot, 'bin', 'install.js') : undefined;
const manifests = {};
for (const { name, runtime, scope } of MANIFEST_FAMILIES) {
const { configDir, root } = runMinimalInstall({ runtime, scope });
const { configDir, root } = runMinimalInstall({ runtime, scope, installScript });
try {
manifests[name] = buildParityManifest(configDir, root);
} finally {
@@ -400,12 +553,18 @@ function currentManifests() {
return manifests;
}
/** Current on-disk sizes for the workflow + agent families the ratchet covers. */
function currentSizes() {
/**
* Current on-disk sizes for the workflow + agent families the ratchet covers.
* @param {object} [opts]
* @param {string} [opts.repoRoot] - Read `<repoRoot>/gsd-core/workflows` and
* `<repoRoot>/agents` instead of this checkout's own (#2767) — same rationale as
* `currentManifests`'s `repoRoot`.
*/
function currentSizes({ repoRoot = REPO_ROOT } = {}) {
const sizes = {};
for (const [dir, filter] of [
[path.join(REPO_ROOT, 'gsd-core', 'workflows'), (f) => f.endsWith('.md')],
[path.join(REPO_ROOT, 'agents'), (f) => f.endsWith('.md')],
[path.join(repoRoot, 'gsd-core', 'workflows'), (f) => f.endsWith('.md')],
[path.join(repoRoot, 'agents'), (f) => f.endsWith('.md')],
]) {
if (!fs.existsSync(dir)) continue;
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
@@ -446,6 +605,7 @@ module.exports = {
touchesRuntimeRegistry,
reconcileFamilies,
GIT_TIMEOUT_MS,
safeDirArgs,
git,
resolveChangedPaths,
resolveBaseSha,
@@ -454,6 +614,7 @@ module.exports = {
baselineFamilyNamesAtRef,
baselineManifestsAtRef,
baselineSizesAtRef,
buildBaselineAtRef,
currentManifests,
currentSizes,
readAckFile,

View File

@@ -297,7 +297,18 @@ function installerEnv(overrides = {}) {
return env;
}
function runMinimalInstall({ runtime, scope, extraArgs = [] }) {
/**
* @param {object} opts
* @param {string} opts.runtime
* @param {string} opts.scope
* @param {string[]} [opts.extraArgs]
* @param {string} [opts.installScript] - Absolute path to the `bin/install.js` to spawn.
* Defaults to THIS checkout's own INSTALL_SCRIPT. Overridable (#2767) so a caller can
* measure a DIFFERENT tree's installer — e.g. the differential baseline builder
* pointing at a `git worktree` checked out at the base ref, so the emitted manifest it
* produces reflects that ref's own installer code, not the PR checkout's.
*/
function runMinimalInstall({ runtime, scope, extraArgs = [], installScript = INSTALL_SCRIPT }) {
const root = fs.mkdtempSync(path.join(os.tmpdir(), `gsd-${runtime}-${scope}-`));
try {
const LOCAL_DIR_NAME = {
@@ -308,7 +319,7 @@ function runMinimalInstall({ runtime, scope, extraArgs = [] }) {
};
let configDir;
let cwd = process.cwd();
const args = [INSTALL_SCRIPT, `--${runtime}`];
const args = [installScript, `--${runtime}`];
if (scope === 'global') {
args.push('--global', '--config-dir', root);
configDir = root;

View File

@@ -10,6 +10,7 @@ const { cleanup } = require('./helpers.cjs');
const ROOT = path.join(__dirname, '..');
const { HOST_LOOP_FILES, scanWiredPoints } = require('../scripts/gen-loop-host-contract.cjs');
const { lfByteCount } = require('../scripts/workflow-size.cjs');
const CORE_SUBSTRATE_TERMS = [
'Verification substrate',
@@ -94,12 +95,18 @@ describe('ADR-857 Phase 6 capstone conformance (#1139)', () => {
}
});
test('host loop workflow files have committed byte budgets', () => {
const baseline = JSON.parse(readRepoFile('tests/workflow-size-baseline.json'));
test('host loop workflow files have a measurable, non-empty byte size', () => {
// Was asserted against the committed tests/workflow-size-baseline.json snapshot;
// #2724 (ADR-2719 Phase 4) deletes that file — the differential attribution
// check's size ratchet (tests/emitted-attribution.test.cjs) is the replacement
// anti-creep mechanism, but this test's actual intent was narrower: prove these
// host-loop files are real, tracked, non-empty workflow docs. Asserting the
// live byte count via the same shared counter the size guards use preserves
// that intent without depending on a committed snapshot.
for (const relativePath of HOST_LOOP_FILES) {
const fileName = path.basename(relativePath);
assert.equal(typeof baseline[fileName], 'number', `${fileName} must have a workflow-size baseline`);
assert.ok(baseline[fileName] > 0, `${fileName} baseline must be positive`);
const bytes = lfByteCount(path.join(ROOT, relativePath));
assert.ok(bytes > 0, `${fileName} must be a non-empty workflow file`);
}
});

View File

@@ -1,144 +0,0 @@
'use strict';
/**
* Tests for scripts/update-size-baseline.cjs — the per-file workflow size
* baseline generator (issue #1074).
*/
const { test, describe, beforeEach, afterEach } = require('node:test');
const assert = require('node:assert/strict');
const fs = require('fs');
const os = require('node:os');
const path = require('path');
const {
generateBaseline,
serializeBaseline,
} = require('../scripts/update-size-baseline.cjs');
const { assertFileBaseline } = require('../scripts/lib/allowlist-ratchet.cjs');
const { measureWorkflows } = require('../scripts/workflow-size.cjs');
const { cleanup } = require('./helpers.cjs');
describe('serializeBaseline', () => {
test('keys are sorted and output ends with a trailing newline', () => {
const out = serializeBaseline({ 'z.md': 3, 'a.md': 1, 'm.md': 2 });
assert.ok(out.endsWith('\n'), 'must end with a trailing newline');
const keys = Object.keys(JSON.parse(out));
assert.deepStrictEqual(keys, ['a.md', 'm.md', 'z.md'], 'keys must be sorted');
});
test('is stable: same input serializes identically (minimal-diff artifact)', () => {
const input = { 'b.md': 2, 'a.md': 1 };
assert.strictEqual(serializeBaseline(input), serializeBaseline({ ...input }));
});
});
describe('generateBaseline', () => {
let dir;
let outPath;
beforeEach(() => {
dir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-gen-baseline-'));
outPath = path.join(dir, 'baseline.json');
});
afterEach(() => cleanup(dir));
test('writes a baseline matching the measured workflow sizes', () => {
const wfDir = path.join(dir, 'workflows');
fs.mkdirSync(wfDir);
fs.writeFileSync(path.join(wfDir, 'one.md'), 'hello\n');
fs.writeFileSync(path.join(wfDir, 'two.md'), 'a longer body here\n');
const result = generateBaseline({ dir: wfDir, outPath });
assert.strictEqual(result.count, 2);
const written = JSON.parse(fs.readFileSync(outPath, 'utf-8'));
assert.deepStrictEqual(written, measureWorkflows(wfDir));
});
test('idempotent: a second run with no changes produces an identical file', () => {
const wfDir = path.join(dir, 'workflows');
fs.mkdirSync(wfDir);
fs.writeFileSync(path.join(wfDir, 'one.md'), 'hello\n');
generateBaseline({ dir: wfDir, outPath });
const first = fs.readFileSync(outPath, 'utf-8');
generateBaseline({ dir: wfDir, outPath });
const second = fs.readFileSync(outPath, 'utf-8');
assert.strictEqual(first, second, 'a no-op regeneration must not churn the file');
});
test('round-trip: a freshly generated baseline satisfies assertFileBaseline', () => {
const wfDir = path.join(dir, 'workflows');
fs.mkdirSync(wfDir);
fs.writeFileSync(path.join(wfDir, 'one.md'), 'hello\n');
fs.writeFileSync(path.join(wfDir, 'two.md'), 'world body\n');
generateBaseline({ dir: wfDir, outPath });
const baseline = JSON.parse(fs.readFileSync(outPath, 'utf-8'));
const calls = [];
assertFileBaseline({
label: 'roundtrip',
current: measureWorkflows(wfDir),
baseline,
fail: (m) => calls.push(m),
});
assert.deepStrictEqual(calls, [], 'a just-generated baseline must pass the guard with zero failures');
});
test('regeneration records growth after a workflow file grows', () => {
const wfDir = path.join(dir, 'workflows');
fs.mkdirSync(wfDir);
const wf = path.join(wfDir, 'one.md');
fs.writeFileSync(wf, 'small\n');
generateBaseline({ dir: wfDir, outPath });
// File grows; the OLD baseline should now flag growth...
fs.writeFileSync(wf, 'small\nplus several more bytes\n');
const oldBaseline = JSON.parse(fs.readFileSync(outPath, 'utf-8'));
const beforeRegen = [];
assertFileBaseline({
label: 'grow',
current: measureWorkflows(wfDir),
baseline: oldBaseline,
fail: (m) => beforeRegen.push(m),
});
assert.strictEqual(beforeRegen.length, 1, 'old baseline must flag the growth');
// ...and regenerating clears it.
generateBaseline({ dir: wfDir, outPath });
const newBaseline = JSON.parse(fs.readFileSync(outPath, 'utf-8'));
const afterRegen = [];
assertFileBaseline({
label: 'grow',
current: measureWorkflows(wfDir),
baseline: newBaseline,
fail: (m) => afterRegen.push(m),
});
assert.deepStrictEqual(afterRegen, [], 'regenerated baseline must pass');
});
test('throws when the workflows directory does not exist', () => {
assert.throws(
() => generateBaseline({ dir: path.join(dir, 'missing'), outPath }),
/ENOENT/
);
});
test('predicate filters which files are baselined (agent path)', () => {
const agentDir = path.join(dir, 'agents');
fs.mkdirSync(agentDir);
fs.writeFileSync(path.join(agentDir, 'gsd-one.md'), 'a\n');
fs.writeFileSync(path.join(agentDir, 'gsd-two.md'), 'bb\n');
fs.writeFileSync(path.join(agentDir, 'README.md'), 'not an agent\n');
const result = generateBaseline({
dir: agentDir,
outPath,
predicate: (f) => f.startsWith('gsd-'),
});
assert.strictEqual(result.count, 2, 'only gsd-*.md files should be baselined');
const written = JSON.parse(fs.readFileSync(outPath, 'utf-8'));
assert.deepStrictEqual(Object.keys(written), ['gsd-one.md', 'gsd-two.md']);
});
});

View File

@@ -1,93 +0,0 @@
{
"add-backlog.md": 7176,
"add-phase.md": 7578,
"add-tests.md": 17247,
"add-todo.md": 11020,
"ai-integration-phase.md": 15356,
"analyze-dependencies.md": 3887,
"audit-fix.md": 12329,
"audit-milestone.md": 19425,
"audit-uat.md": 7469,
"autonomous.md": 42468,
"check-todos.md": 9771,
"cleanup.md": 10319,
"code-review-fix.md": 25301,
"code-review.md": 33490,
"complete-milestone.md": 31436,
"debug.md": 20555,
"diagnose-issues.md": 13444,
"discovery-phase.md": 13543,
"discuss-phase-assumptions.md": 28633,
"discuss-phase-power.md": 11273,
"discuss-phase.md": 31986,
"do.md": 10731,
"docs-update.md": 56876,
"edit-phase.md": 12927,
"eval-review.md": 10316,
"execute-phase.md": 92874,
"execute-plan.md": 35143,
"explore.md": 11127,
"extract-learnings.md": 13762,
"fast.md": 7613,
"forensics.md": 12531,
"graduation.md": 11987,
"health.md": 12246,
"help.md": 1722,
"import.md": 15599,
"inbox.md": 19299,
"ingest-docs.md": 19821,
"insert-phase.md": 8987,
"list-phase-assumptions.md": 4305,
"list-seeds.md": 6987,
"list-workspaces.md": 5699,
"manager.md": 27751,
"map-codebase.md": 22266,
"milestone-summary.md": 11842,
"mvp-phase.md": 13991,
"new-milestone.md": 39090,
"new-project.md": 67478,
"new-workspace.md": 11584,
"next.md": 20171,
"node-repair.md": 4173,
"note.md": 6563,
"onboard.md": 8877,
"pause-work.md": 14441,
"plan-milestone-gaps.md": 11809,
"plan-phase.md": 94427,
"plan-review-convergence.md": 26363,
"plant-seed.md": 12150,
"pr-branch.md": 15963,
"profile-user.md": 21624,
"progress.md": 32632,
"quick.md": 52730,
"reapply-patches.md": 20312,
"remove-phase.md": 8513,
"remove-workspace.md": 7916,
"resume-project.md": 17270,
"review.md": 59213,
"scan.md": 8880,
"secure-phase.md": 15006,
"session-report.md": 4044,
"settings-advanced.md": 40019,
"settings-integrations.md": 16257,
"settings.md": 33832,
"ship.md": 31658,
"sketch-wrap-up.md": 14267,
"sketch.md": 20369,
"smart-entry.md": 11489,
"spec-phase.md": 31987,
"spike-wrap-up.md": 15136,
"spike.md": 24939,
"stats.md": 6762,
"sync-skills.md": 6125,
"thread.md": 12508,
"transition.md": 22070,
"ui-phase.md": 27330,
"ui-review.md": 12548,
"ultraplan-phase.md": 10512,
"undo.md": 15323,
"update.md": 26024,
"validate-phase.md": 12235,
"verify-phase.md": 40949,
"verify-work.md": 41714
}

View File

@@ -75,12 +75,10 @@ const assert = require('node:assert/strict');
const fs = require('fs');
const os = require('node:os');
const path = require('path');
const { assertFileBaseline } = require('../scripts/lib/allowlist-ratchet.cjs');
const { lfByteCount: byteCount, listWorkflowStems, measureWorkflows } = require('../scripts/workflow-size.cjs');
const { cleanup } = require('./helpers.cjs');
const WORKFLOWS_DIR = path.join(__dirname, '..', 'gsd-core', 'workflows');
const BASELINE_PATH = path.join(__dirname, 'workflow-size-baseline.json');
// Tier HARD CAPS (#1074) — absolute red lines, not high-water-hugging ceilings.
// Day-to-day creep is caught per-file by the baseline guard below; these exist
@@ -96,10 +94,6 @@ const XL_CAP = 98304; // 96 KiB
const LARGE_CAP = 61440; // 60 KiB
const DEFAULT_CAP = 40960; // 40 KiB
// New workflow files (not yet in the committed baseline) must stay under the
// Codex project_doc_max_bytes anchor unless explicitly tiered into XL/LARGE in
// the same PR. Keeps net-new orchestrators from being born oversized.
const NEW_FILE_CAP = 32768; // 32 KiB
// Top-level orchestrators that own end-to-end multi-phase rubrics.
// Grandfathered at current sizes — see the discuss-phase/modes split (#717) for the progressive-disclosure
@@ -169,47 +163,32 @@ describe('SIZE: workflow tier hard caps (issue #1074)', () => {
});
}
test('new workflow files (not yet baselined) stay under the 32 KiB Codex anchor', () => {
const baseline = JSON.parse(fs.readFileSync(BASELINE_PATH, 'utf-8'));
for (const workflow of ALL_WORKFLOWS) {
const key = `${workflow}.md`;
const isNew = !(key in baseline);
const isTiered = XL_WORKFLOWS.has(workflow) || LARGE_WORKFLOWS.has(workflow);
if (!isNew || isTiered) continue;
const bytes = SIZES[key];
assert.ok(
bytes < NEW_FILE_CAP,
`${key} is a new workflow at ${bytes} bytes — new files must stay under ` +
`${NEW_FILE_CAP} (the Codex project_doc_max_bytes anchor) unless explicitly ` +
`tiered into XL_WORKFLOWS/LARGE_WORKFLOWS in this same PR with a rationale.`
);
}
});
// A prior "new workflow files (not yet baselined) stay under the 32 KiB Codex
// anchor" test lived here, keyed on `tests/workflow-size-baseline.json` to tell a
// brand-new file (not yet in the baseline) from an existing grandfathered one
// (ADR-1610 Decision point 3). #2724 (ADR-2719 Phase 4) deletes that baseline, but
// the cap is NOT lost: it is revived as `NEW_FILE_CAP` inside the differential
// attribution check's size ratchet (tests/helpers/emitted-diff.cjs), which already
// computes "present in sizeCurrent, absent from sizeBaseline" for its own reasons —
// exactly the same "is this file new" signal, with no additional git dependency.
// It could not live here: this test is pure and fast (no baseline/base-ref of any
// kind), and the differential's real-tree test is the only place that dependency
// already exists. Narrower than the original — the pure differential module cannot
// see XL_WORKFLOWS/LARGE_WORKFLOWS tiering, so a legitimately large new file must
// extract rather than tier in — a disclosed, deliberate simplification.
});
describe('SIZE: per-file workflow baseline (issue #1074)', () => {
// Per-file exact-size ratchet — the primary anti-creep guard (it replaced the
// tier-max tighten-only ceilings, which only bound the single largest file in
// each tier). Guards EVERY workflow file by name against a committed snapshot
// (tests/workflow-size-baseline.json). Growth fails with the file and delta;
// shrinkage fails as a stale snapshot (regenerate to ratchet down). The fix
// for any failure is `npm run size:baseline` plus a PR justification for
// genuine growth (or lazy extraction). The tier hard caps above are the outer
// bound; this is the day-to-day creep control.
test('every workflow file matches its committed baseline', () => {
const baseline = JSON.parse(fs.readFileSync(BASELINE_PATH, 'utf-8'));
const current = measureWorkflows();
assertFileBaseline({
label: 'workflow-size',
current,
baseline,
fail: assert.fail,
updateHint:
'Run `npm run size:baseline` to update tests/workflow-size-baseline.json, ' +
'then justify any growth in your PR (or extract content lazily — see workflows/discuss-phase/).',
});
});
});
// A prior "SIZE: per-file workflow baseline (issue #1074)" describe block lived here,
// asserting every workflow file's exact byte count against the committed
// `tests/workflow-size-baseline.json` snapshot. #2724 (ADR-2719 Phase 4) deletes that
// snapshot: it was a pure function of the source tree, conflicted on 7 of 7 PRs that
// touched it, and its purpose — "growth must be noticed and justified" — is now served
// by the same differential machine that replaced the golden-install-parity fixtures
// (tests/emitted-attribution.test.cjs's real-tree test, via `emitted-diff.cjs`'s size
// ratchet: growth is reported with its exact byte delta and requires an entry in
// tests/emitted-drift-ack.json, ADR-2719 §4 / must-have 6). The tier hard caps above
// are unaffected — they are independent of the deleted baseline and remain the outer
// bound.
describe('SIZE: discuss-phase progressive disclosure (#717 byte budget)', () => {
// The discuss-phase progressive-disclosure split (#717) targets discuss-phase.md as a thin dispatcher, separate from