* fix(#2537): extract offer_next step to references/ (~3.3KB headroom restored) * chore(#2537): backfill changeset pr to 2642
This commit is contained in:
@@ -211,9 +211,11 @@ describe('commit --files: pathspec honors declared scope (#2112)', () => {
|
||||
);
|
||||
});
|
||||
|
||||
test('#2523: out-of-repo --files path is rejected loudly (path_outside_repo), no index pollution', (t) => {
|
||||
// An absolute path resolving OUTSIDE the project root must fail loudly, not
|
||||
// silently skip and not pollute the index via a failed git add (#2523).
|
||||
test('#2523: out-of-repo --files path is rejected by git (nothing_to_commit), no index pollution', (t) => {
|
||||
// An absolute path resolving OUTSIDE the project root: git add rejects it → the
|
||||
// gated stagedPaths.push (on git-add exitCode) skips it → nothing_to_commit. No
|
||||
// index pollution (#2523). Not "path_outside_repo" (that guard was removed for
|
||||
// macOS symlink compatibility — the gated push + git's own rejection suffice).
|
||||
const outsideDir = path.join(tmpDir, '..', `gsd-2523-outside-${process.pid}-${Date.now()}`);
|
||||
fs.mkdirSync(outsideDir, { recursive: true });
|
||||
t.after(() => cleanup(outsideDir));
|
||||
@@ -226,12 +228,12 @@ describe('commit --files: pathspec honors declared scope (#2112)', () => {
|
||||
);
|
||||
const parsed = JSON.parse(res.output);
|
||||
assert.strictEqual(parsed.committed, false, 'out-of-repo path must not commit');
|
||||
assert.strictEqual(parsed.reason, 'path_outside_repo', `out-of-repo path must fail loudly: ${res.output}`);
|
||||
assert.strictEqual(parsed.reason, 'nothing_to_commit', `out-of-repo: git rejects → nothing_to_commit: ${res.output}`);
|
||||
|
||||
// No new commit created (still at the single initial commit).
|
||||
const logCount = execSync('git rev-list --count HEAD', { cwd: tmpDir, encoding: 'utf-8' }).trim();
|
||||
assert.strictEqual(logCount, '1', 'no new commit must be created for an out-of-repo path');
|
||||
// Index stays clean (no pollution from a failed git add).
|
||||
// Index stays clean (git add failed → nothing staged).
|
||||
const status = execSync('git status --porcelain', { cwd: tmpDir, encoding: 'utf-8' }).trim();
|
||||
assert.strictEqual(status, '', `index must be clean (no pollution): ${status}`);
|
||||
});
|
||||
|
||||
@@ -357,17 +357,25 @@ const workflowPath = path.resolve(
|
||||
);
|
||||
|
||||
describe('bug #2002: offer_next checks CONTEXT.md before suggesting next step', () => {
|
||||
// offer_next body extracted to references/offer-next.md (#2537); content tests
|
||||
// read the reference file. The <step name="offer_next"> tag + @-reference remain
|
||||
// in execute-phase.md.
|
||||
const offerNextRefPath = path.join(__dirname, '..', 'gsd-core', 'references', 'offer-next.md');
|
||||
let content;
|
||||
|
||||
// Read once — all tests share the same file content
|
||||
test('setup: workflow file is readable', () => {
|
||||
content = fs.readFileSync(workflowPath, 'utf-8');
|
||||
assert.ok(content.length > 0, 'execute-phase.md must not be empty');
|
||||
test('setup: offer-next reference file is readable', () => {
|
||||
content = fs.readFileSync(offerNextRefPath, 'utf-8');
|
||||
assert.ok(content.length > 0, 'offer-next.md must not be empty');
|
||||
});
|
||||
|
||||
test('execute-phase.md still carries the offer_next step + @-reference', () => {
|
||||
const wf = fs.readFileSync(workflowPath, 'utf-8');
|
||||
assert.ok(wf.includes('<step name="offer_next">'), 'offer_next step tag must remain in execute-phase.md');
|
||||
assert.ok(wf.includes('references/offer-next.md'), 'execute-phase.md must @-reference the extracted offer-next.md');
|
||||
});
|
||||
|
||||
test('offer_next section checks for CONTEXT.md existence', () => {
|
||||
content = content || fs.readFileSync(workflowPath, 'utf-8');
|
||||
// The workflow must check for CONTEXT.md in the next phase directory
|
||||
content = content || fs.readFileSync(offerNextRefPath, 'utf-8');
|
||||
assert.ok(
|
||||
content.includes('CONTEXT.md'),
|
||||
'offer_next must reference CONTEXT.md to determine primary next step'
|
||||
@@ -375,45 +383,26 @@ describe('bug #2002: offer_next checks CONTEXT.md before suggesting next step',
|
||||
});
|
||||
|
||||
test('offer_next presents /gsd-discuss-phase when CONTEXT.md does not exist', () => {
|
||||
content = content || fs.readFileSync(workflowPath, 'utf-8');
|
||||
// Must have a conditional path where discuss-phase is the primary step
|
||||
// when CONTEXT.md is missing — look for proximity of "not exist"/"missing"/
|
||||
// "does not exist" and "gsd-discuss-phase" in the offer_next step
|
||||
const offerNextIdx = content.indexOf('offer_next');
|
||||
assert.ok(offerNextIdx !== -1, 'offer_next step must exist');
|
||||
|
||||
// Use 5000-char window — the step is ~60 lines of prose before the conditionals
|
||||
const offerNextSection = content.slice(offerNextIdx, offerNextIdx + 5000);
|
||||
content = content || fs.readFileSync(offerNextRefPath, 'utf-8');
|
||||
assert.ok(
|
||||
/CONTEXT\.md.*does not exist|CONTEXT\.md.*not.*exist|If CONTEXT\.md does/i.test(offerNextSection) ||
|
||||
/gsd-discuss-phase.*recommended|recommended.*gsd-discuss-phase/i.test(offerNextSection),
|
||||
/CONTEXT\.md.*does not exist|CONTEXT\.md.*not.*exist|If CONTEXT\.md does/i.test(content) ||
|
||||
/gsd-discuss-phase.*recommended|recommended.*gsd-discuss-phase/i.test(content),
|
||||
'offer_next must present /gsd-discuss-phase as primary when CONTEXT.md does not exist'
|
||||
);
|
||||
});
|
||||
|
||||
test('offer_next presents /gsd-plan-phase when CONTEXT.md exists', () => {
|
||||
content = content || fs.readFileSync(workflowPath, 'utf-8');
|
||||
const offerNextIdx = content.indexOf('offer_next');
|
||||
assert.ok(offerNextIdx !== -1, 'offer_next step must exist');
|
||||
|
||||
const offerNextSection = content.slice(offerNextIdx, offerNextIdx + 5000);
|
||||
content = content || fs.readFileSync(offerNextRefPath, 'utf-8');
|
||||
assert.ok(
|
||||
/CONTEXT\.md.*exists|exists.*CONTEXT\.md|If CONTEXT\.md/i.test(offerNextSection),
|
||||
/CONTEXT\.md.*exists|exists.*CONTEXT\.md|If CONTEXT\.md/i.test(content),
|
||||
'offer_next must present /gsd-plan-phase as primary when CONTEXT.md exists'
|
||||
);
|
||||
});
|
||||
|
||||
test('offer_next section contains at least one conditional guard before listing commands', () => {
|
||||
content = content || fs.readFileSync(workflowPath, 'utf-8');
|
||||
const offerNextIdx = content.indexOf('offer_next');
|
||||
assert.ok(offerNextIdx !== -1, 'offer_next step must exist');
|
||||
|
||||
const offerNextSection = content.slice(offerNextIdx, offerNextIdx + 5000);
|
||||
|
||||
// The fixed version must contain at least one "If CONTEXT.md" conditional
|
||||
// guard before presenting command options. The old flat list had no guard.
|
||||
content = content || fs.readFileSync(offerNextRefPath, 'utf-8');
|
||||
assert.ok(
|
||||
/If CONTEXT\.md/i.test(offerNextSection),
|
||||
/If CONTEXT\.md/i.test(content),
|
||||
'offer_next must contain at least one "If CONTEXT.md" conditional guard'
|
||||
);
|
||||
});
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "de81380316d8a37f",
|
||||
"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",
|
||||
@@ -247,7 +248,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "0b3023a3caa2123f",
|
||||
"gsd-core/workflows/edit-phase.md": "fc932e82ba1f585a",
|
||||
"gsd-core/workflows/eval-review.md": "9e8b169c05098b57",
|
||||
"gsd-core/workflows/execute-phase.md": "e66b575d3c518cda",
|
||||
"gsd-core/workflows/execute-phase.md": "8c0521b091bbc1b5",
|
||||
"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",
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -318,7 +319,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "a320371be70f43d8",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "32d3d7e80ab2bfc7",
|
||||
"gsd-core/workflows/execute-phase.md": "30121657c6f64883",
|
||||
"gsd-core/workflows/execute-phase.md": "fcc3181bc5593f8f",
|
||||
"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",
|
||||
|
||||
@@ -177,6 +177,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "18e7cfd4ba0ca9bc",
|
||||
"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",
|
||||
@@ -317,7 +318,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "7aef1019ce141558",
|
||||
"gsd-core/workflows/edit-phase.md": "dbbb6191f5a8b65e",
|
||||
"gsd-core/workflows/eval-review.md": "11620e0dc4a003dd",
|
||||
"gsd-core/workflows/execute-phase.md": "54aaa0d54b341308",
|
||||
"gsd-core/workflows/execute-phase.md": "abebe1ef79aa5786",
|
||||
"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",
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -246,7 +247,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "ea47bd2d5a0d1d85",
|
||||
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
|
||||
"gsd-core/workflows/eval-review.md": "7c2f5ff8cc4d06e5",
|
||||
"gsd-core/workflows/execute-phase.md": "a3ccfb42c90834b7",
|
||||
"gsd-core/workflows/execute-phase.md": "f88215925dc01075",
|
||||
"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",
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -250,7 +251,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "7eb7095ca86d506f",
|
||||
"gsd-core/workflows/edit-phase.md": "9c9fadc047c61d74",
|
||||
"gsd-core/workflows/eval-review.md": "17fc9b4c4f7e1c74",
|
||||
"gsd-core/workflows/execute-phase.md": "bb3a5f28fc4543f2",
|
||||
"gsd-core/workflows/execute-phase.md": "769064cfeb1baf4a",
|
||||
"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",
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -318,7 +319,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "a320371be70f43d8",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "32d3d7e80ab2bfc7",
|
||||
"gsd-core/workflows/execute-phase.md": "9d513e6bb52e340c",
|
||||
"gsd-core/workflows/execute-phase.md": "79e703c637e2d7b1",
|
||||
"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",
|
||||
|
||||
@@ -213,6 +213,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -353,7 +354,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "bf32efe90219d3dd",
|
||||
"gsd-core/workflows/edit-phase.md": "e592a4d85ce5380f",
|
||||
"gsd-core/workflows/eval-review.md": "c89a63285ead961e",
|
||||
"gsd-core/workflows/execute-phase.md": "a4040b3faa7fcd55",
|
||||
"gsd-core/workflows/execute-phase.md": "7bcc0a33f91336c7",
|
||||
"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",
|
||||
|
||||
@@ -108,6 +108,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "1d392e37a746742a",
|
||||
"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",
|
||||
@@ -248,7 +249,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "f64b067d0d729f04",
|
||||
"gsd-core/workflows/edit-phase.md": "8667c28b22b1599f",
|
||||
"gsd-core/workflows/eval-review.md": "1ae2d3d3fbf72893",
|
||||
"gsd-core/workflows/execute-phase.md": "8febab8a96bcd729",
|
||||
"gsd-core/workflows/execute-phase.md": "d9ad04be8e897208",
|
||||
"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",
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -318,7 +319,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "215b0122c4d2b1e5",
|
||||
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
|
||||
"gsd-core/workflows/eval-review.md": "9389c58f7384972d",
|
||||
"gsd-core/workflows/execute-phase.md": "5038eb8c1e264b90",
|
||||
"gsd-core/workflows/execute-phase.md": "e8ddb24f9cdca5f0",
|
||||
"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",
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "8a1267752a05af27",
|
||||
"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",
|
||||
@@ -247,7 +248,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "02811dd7aa32d5ba",
|
||||
"gsd-core/workflows/edit-phase.md": "7f27003f20e88fb8",
|
||||
"gsd-core/workflows/eval-review.md": "e7cd5dfcf18e2458",
|
||||
"gsd-core/workflows/execute-phase.md": "2c22f9d143c79deb",
|
||||
"gsd-core/workflows/execute-phase.md": "fcf5f258a1e2aeea",
|
||||
"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",
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -318,7 +319,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "3c0d5ef72202d246",
|
||||
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
|
||||
"gsd-core/workflows/eval-review.md": "35be91cd22a9bc11",
|
||||
"gsd-core/workflows/execute-phase.md": "9d2e270c04edc134",
|
||||
"gsd-core/workflows/execute-phase.md": "e41ab56e1388afc8",
|
||||
"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",
|
||||
|
||||
@@ -135,6 +135,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -275,7 +276,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "a320371be70f43d8",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "32d3d7e80ab2bfc7",
|
||||
"gsd-core/workflows/execute-phase.md": "6eddb1de70dabecd",
|
||||
"gsd-core/workflows/execute-phase.md": "6a663b8755ed216e",
|
||||
"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",
|
||||
|
||||
@@ -171,6 +171,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -311,7 +312,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "a320371be70f43d8",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "32d3d7e80ab2bfc7",
|
||||
"gsd-core/workflows/execute-phase.md": "1eaaf339d670c496",
|
||||
"gsd-core/workflows/execute-phase.md": "df8c032fb91cedbd",
|
||||
"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",
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "858c16730df68ac2",
|
||||
"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",
|
||||
@@ -318,7 +319,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "f6210dc8ff7776d5",
|
||||
"gsd-core/workflows/edit-phase.md": "1876c855fb0a0a39",
|
||||
"gsd-core/workflows/eval-review.md": "1973f08d0eb34159",
|
||||
"gsd-core/workflows/execute-phase.md": "b5b307cf98e1ff22",
|
||||
"gsd-core/workflows/execute-phase.md": "78169e590b406fa8",
|
||||
"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",
|
||||
|
||||
3
tests/fixtures/golden-install-parity/pi.json
vendored
3
tests/fixtures/golden-install-parity/pi.json
vendored
@@ -74,6 +74,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -214,7 +215,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "a320371be70f43d8",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "32d3d7e80ab2bfc7",
|
||||
"gsd-core/workflows/execute-phase.md": "6bcbae12578d3cb8",
|
||||
"gsd-core/workflows/execute-phase.md": "4eddcc41c823db8b",
|
||||
"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",
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -247,7 +248,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "226550a6d556b09f",
|
||||
"gsd-core/workflows/edit-phase.md": "0fb5e0123cfc6f36",
|
||||
"gsd-core/workflows/eval-review.md": "88431952699d9fa6",
|
||||
"gsd-core/workflows/execute-phase.md": "febed65d77f311af",
|
||||
"gsd-core/workflows/execute-phase.md": "da1e79f7407090a9",
|
||||
"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",
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -247,7 +248,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "89e760e665ff99f8",
|
||||
"gsd-core/workflows/edit-phase.md": "7facd0faa33c8cad",
|
||||
"gsd-core/workflows/eval-review.md": "90a29a4fa0cdd947",
|
||||
"gsd-core/workflows/execute-phase.md": "6414076b8a380b33",
|
||||
"gsd-core/workflows/execute-phase.md": "67f3aaa7eae674e2",
|
||||
"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",
|
||||
|
||||
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -247,7 +248,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "6bd25d0123ee6c73",
|
||||
"gsd-core/workflows/edit-phase.md": "c0ae7d0063f3e789",
|
||||
"gsd-core/workflows/eval-review.md": "713de00ea5326988",
|
||||
"gsd-core/workflows/execute-phase.md": "706eef1de2da75a7",
|
||||
"gsd-core/workflows/execute-phase.md": "043544b7a948cae5",
|
||||
"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",
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md": "f32bb05102839767",
|
||||
"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",
|
||||
@@ -318,7 +319,7 @@
|
||||
"gsd-core/workflows/docs-update.md": "a320371be70f43d8",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "32d3d7e80ab2bfc7",
|
||||
"gsd-core/workflows/execute-phase.md": "8d16d4af7115e12b",
|
||||
"gsd-core/workflows/execute-phase.md": "1fb281c6e0511e2a",
|
||||
"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",
|
||||
|
||||
1
tests/fixtures/install-tree/antigravity.json
vendored
1
tests/fixtures/install-tree/antigravity.json
vendored
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/augment.json
vendored
1
tests/fixtures/install-tree/augment.json
vendored
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
@@ -177,6 +177,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/claude.json
vendored
1
tests/fixtures/install-tree/claude.json
vendored
@@ -106,6 +106,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/cline.json
vendored
1
tests/fixtures/install-tree/cline.json
vendored
@@ -110,6 +110,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/codebuddy.json
vendored
1
tests/fixtures/install-tree/codebuddy.json
vendored
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/codex.json
vendored
1
tests/fixtures/install-tree/codex.json
vendored
@@ -213,6 +213,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/copilot.json
vendored
1
tests/fixtures/install-tree/copilot.json
vendored
@@ -108,6 +108,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/cursor.json
vendored
1
tests/fixtures/install-tree/cursor.json
vendored
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/hermes.json
vendored
1
tests/fixtures/install-tree/hermes.json
vendored
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/kilo.json
vendored
1
tests/fixtures/install-tree/kilo.json
vendored
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/kimi-code.json
vendored
1
tests/fixtures/install-tree/kimi-code.json
vendored
@@ -135,6 +135,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/kimi.json
vendored
1
tests/fixtures/install-tree/kimi.json
vendored
@@ -171,6 +171,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/opencode.json
vendored
1
tests/fixtures/install-tree/opencode.json
vendored
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/pi.json
vendored
1
tests/fixtures/install-tree/pi.json
vendored
@@ -74,6 +74,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/qwen.json
vendored
1
tests/fixtures/install-tree/qwen.json
vendored
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/trae.json
vendored
1
tests/fixtures/install-tree/trae.json
vendored
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/windsurf.json
vendored
1
tests/fixtures/install-tree/windsurf.json
vendored
@@ -107,6 +107,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
1
tests/fixtures/install-tree/zcode.json
vendored
1
tests/fixtures/install-tree/zcode.json
vendored
@@ -178,6 +178,7 @@
|
||||
"gsd-core/references/model-profile-resolution.md",
|
||||
"gsd-core/references/model-profiles.md",
|
||||
"gsd-core/references/mvp-concepts.md",
|
||||
"gsd-core/references/offer-next.md",
|
||||
"gsd-core/references/phase-argument-parsing.md",
|
||||
"gsd-core/references/planner-antipatterns.md",
|
||||
"gsd-core/references/planner-chunked.md",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"docs-update.md": 56494,
|
||||
"edit-phase.md": 12927,
|
||||
"eval-review.md": 10332,
|
||||
"execute-phase.md": 93263,
|
||||
"execute-phase.md": 90143,
|
||||
"execute-plan.md": 35143,
|
||||
"explore.md": 11127,
|
||||
"extract-learnings.md": 12893,
|
||||
|
||||
Reference in New Issue
Block a user