* fix(#2388): gate shared-ID requirement marking and revert on gaps_found Adds requirements.ready-ids (execute-plan.md's update_requirements step) so a requirement ID declared by multiple plans in a phase only marks Complete once every declaring plan has produced a SUMMARY.md, and requirements.revert-phase (execute-phase.md's gaps_found branch) so a gaps_found verdict reverts the phase's own prematurely-Complete IDs before the gap report renders. Single-plan IDs still mark immediately. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(#2388): regenerate fixtures + lint gate-prep * fix(#2388): repair failing tests after gate verification * chore(#2388): add changeset (#2424) --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
"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": "bcccc9e975b37e39",
|
||||
"gsd-core/bin/gsd-tools.cjs": "0a2fc4e226f009c5",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -88,6 +88,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -241,13 +242,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "8e986e26d0e6e1a0",
|
||||
"gsd-core/workflows/edit-phase.md": "fc932e82ba1f585a",
|
||||
"gsd-core/workflows/eval-review.md": "eb4040eaa5b8497f",
|
||||
"gsd-core/workflows/execute-phase.md": "a349bfdfcdf2c011",
|
||||
"gsd-core/workflows/execute-phase.md": "e35fc8cb7e4b2097",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "55d0706e80a2554a",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "5e9635a80ca6c3a5",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "3c66870732e77709",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "dea5df2e142f66bd",
|
||||
"gsd-core/workflows/execute-plan.md": "b5eec9e33626aefa",
|
||||
"gsd-core/workflows/explore.md": "934c00f9f216dbdb",
|
||||
"gsd-core/workflows/extract-learnings.md": "167ea7f0e23bf496",
|
||||
"gsd-core/workflows/fast.md": "568e6c3ec00b6e00",
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -159,6 +159,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -312,13 +313,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "f35922d15b7061c9",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "f898936e2cfe4130",
|
||||
"gsd-core/workflows/execute-phase.md": "42bb004d479f7706",
|
||||
"gsd-core/workflows/execute-phase.md": "c18baf04228abf68",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "4e265392b3f2ba0e",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "7bc87fa99a1f9b0e",
|
||||
"gsd-core/workflows/execute-plan.md": "83cb02952b514bd8",
|
||||
"gsd-core/workflows/explore.md": "6c04f2e658d93261",
|
||||
"gsd-core/workflows/extract-learnings.md": "b6f01ca3d8f58de4",
|
||||
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -158,6 +158,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -311,13 +312,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "cd753783ab95da00",
|
||||
"gsd-core/workflows/edit-phase.md": "dbbb6191f5a8b65e",
|
||||
"gsd-core/workflows/eval-review.md": "086a1f2b3c11462c",
|
||||
"gsd-core/workflows/execute-phase.md": "a0f26f223218812d",
|
||||
"gsd-core/workflows/execute-phase.md": "e4babdc61b00b387",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "6d38bfd540030da4",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "e5d65c3a0ae0ed2a",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "ccd95645902f57af",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "e81d3476290ef292",
|
||||
"gsd-core/workflows/execute-plan.md": "587757b937368212",
|
||||
"gsd-core/workflows/explore.md": "95e463d4bdd6dadd",
|
||||
"gsd-core/workflows/extract-learnings.md": "fd75072c339b58bd",
|
||||
"gsd-core/workflows/fast.md": "7f7687b920d79b29",
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -87,6 +87,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -240,13 +241,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "63082608d3ae92be",
|
||||
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
|
||||
"gsd-core/workflows/eval-review.md": "f59e8329dae1e528",
|
||||
"gsd-core/workflows/execute-phase.md": "a5ca7da9e551bf4c",
|
||||
"gsd-core/workflows/execute-phase.md": "7f2b133debb7b88f",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "facb0e816d87a0c7",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "2cddec7d1b197e48",
|
||||
"gsd-core/workflows/execute-plan.md": "bc1c2a159117642c",
|
||||
"gsd-core/workflows/explore.md": "b9eea1bac358c9ce",
|
||||
"gsd-core/workflows/extract-learnings.md": "d8177b0c13b7e5ee",
|
||||
"gsd-core/workflows/fast.md": "41a6568b873aef99",
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
"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": "01e301fba0dc2101",
|
||||
"gsd-core/bin/gsd-tools.cjs": "0f718645418266a8",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -91,6 +91,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -244,13 +245,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "39f288623a8f6f32",
|
||||
"gsd-core/workflows/edit-phase.md": "9c9fadc047c61d74",
|
||||
"gsd-core/workflows/eval-review.md": "3e1d7829ed2ed494",
|
||||
"gsd-core/workflows/execute-phase.md": "7cafa358f645936a",
|
||||
"gsd-core/workflows/execute-phase.md": "2b087f64c9fa112c",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "67ebc93f51968cb6",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "27505ecd7d5b4e57",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "91eac50d2e1f5a2f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "7f186055a0246932",
|
||||
"gsd-core/workflows/execute-plan.md": "0db7b9db6454f380",
|
||||
"gsd-core/workflows/explore.md": "e83af8ceae314cf9",
|
||||
"gsd-core/workflows/extract-learnings.md": "6f39375b7dc775f9",
|
||||
"gsd-core/workflows/fast.md": "e4f74a454b6ca5e8",
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -159,6 +159,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -312,13 +313,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "f35922d15b7061c9",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "f898936e2cfe4130",
|
||||
"gsd-core/workflows/execute-phase.md": "4d6f9e033792619a",
|
||||
"gsd-core/workflows/execute-phase.md": "64b6a432d49e3136",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "4e265392b3f2ba0e",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "90cfc1e6e677d43f",
|
||||
"gsd-core/workflows/execute-plan.md": "1c26c1cf464fa6b7",
|
||||
"gsd-core/workflows/explore.md": "6c04f2e658d93261",
|
||||
"gsd-core/workflows/extract-learnings.md": "b6f01ca3d8f58de4",
|
||||
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -194,6 +194,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -347,13 +348,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "e255317df939e302",
|
||||
"gsd-core/workflows/edit-phase.md": "e592a4d85ce5380f",
|
||||
"gsd-core/workflows/eval-review.md": "63d0d0670b54c244",
|
||||
"gsd-core/workflows/execute-phase.md": "8176e734cd927891",
|
||||
"gsd-core/workflows/execute-phase.md": "916e24c2bd0da0f7",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "f4cacd27d37bac65",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "89dda78cf3c1f1b7",
|
||||
"gsd-core/workflows/execute-plan.md": "4492431f93e1df8c",
|
||||
"gsd-core/workflows/explore.md": "2ef10d17c8864a04",
|
||||
"gsd-core/workflows/extract-learnings.md": "f716aa03fcb5f8da",
|
||||
"gsd-core/workflows/fast.md": "e4ed60f96a7b3ac8",
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
"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": "bcccc9e975b37e39",
|
||||
"gsd-core/bin/gsd-tools.cjs": "0a2fc4e226f009c5",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -89,6 +89,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -242,13 +243,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "9292cfa3c52c434e",
|
||||
"gsd-core/workflows/edit-phase.md": "8667c28b22b1599f",
|
||||
"gsd-core/workflows/eval-review.md": "81c8e72ba3862856",
|
||||
"gsd-core/workflows/execute-phase.md": "75bc8795af213c29",
|
||||
"gsd-core/workflows/execute-phase.md": "95afff0cf3e75bf6",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "63b712920f21a40f",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "1963079fe27412c6",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "bce45e41bc6802e8",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "66879e62abcc33ae",
|
||||
"gsd-core/workflows/execute-plan.md": "388f3cd58a3adac5",
|
||||
"gsd-core/workflows/explore.md": "5fd91a8510e1114b",
|
||||
"gsd-core/workflows/extract-learnings.md": "f34d0b1927545b18",
|
||||
"gsd-core/workflows/fast.md": "66821090b6b8ed3b",
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
"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": "1cb30e24bc75c677",
|
||||
"gsd-core/bin/gsd-tools.cjs": "35ec4c40e46036eb",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -159,6 +159,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -312,13 +313,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "e86d7d7e2e3dac6d",
|
||||
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
|
||||
"gsd-core/workflows/eval-review.md": "a86279dd98dd5c03",
|
||||
"gsd-core/workflows/execute-phase.md": "f67b5d55c3e7dc4b",
|
||||
"gsd-core/workflows/execute-phase.md": "875819cbb102d6bc",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "facb0e816d87a0c7",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "a57ce521a92348ef",
|
||||
"gsd-core/workflows/execute-plan.md": "13e9664263d3844d",
|
||||
"gsd-core/workflows/explore.md": "b9eea1bac358c9ce",
|
||||
"gsd-core/workflows/extract-learnings.md": "d8177b0c13b7e5ee",
|
||||
"gsd-core/workflows/fast.md": "77b49793e26b3323",
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"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": "ce9059c4e3fa8d33",
|
||||
"gsd-core/bin/gsd-tools.cjs": "693bd27cb9b76b76",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -88,6 +88,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -241,13 +242,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "ba4cf926fc463cbe",
|
||||
"gsd-core/workflows/edit-phase.md": "7f27003f20e88fb8",
|
||||
"gsd-core/workflows/eval-review.md": "f510e5762212dc6f",
|
||||
"gsd-core/workflows/execute-phase.md": "3205cca9fe364951",
|
||||
"gsd-core/workflows/execute-phase.md": "e69d330bed0d9468",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "14a27cc0828f59d3",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "26ee34c543926402",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "5d3a54df40320dbf",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "1ec347a324814b1d",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "274b22f8e53c88d1",
|
||||
"gsd-core/workflows/execute-plan.md": "ed1528fcbfb792a8",
|
||||
"gsd-core/workflows/explore.md": "d931b4d85a74c795",
|
||||
"gsd-core/workflows/extract-learnings.md": "e9e167c718949c0b",
|
||||
"gsd-core/workflows/fast.md": "c801145115755524",
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -159,6 +159,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -312,13 +313,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "79afaaf19fd527cc",
|
||||
"gsd-core/workflows/edit-phase.md": "8323bfe10faa0c0a",
|
||||
"gsd-core/workflows/eval-review.md": "926eda8bbee28b23",
|
||||
"gsd-core/workflows/execute-phase.md": "4babf365129ad14b",
|
||||
"gsd-core/workflows/execute-phase.md": "a470b8e99e963c83",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "facb0e816d87a0c7",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "21c1dc158588803a",
|
||||
"gsd-core/workflows/execute-plan.md": "0e40eda4ae70fcab",
|
||||
"gsd-core/workflows/explore.md": "14242d36d4822df6",
|
||||
"gsd-core/workflows/extract-learnings.md": "d8177b0c13b7e5ee",
|
||||
"gsd-core/workflows/fast.md": "41a6568b873aef99",
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -152,6 +152,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -305,13 +306,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "f35922d15b7061c9",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "f898936e2cfe4130",
|
||||
"gsd-core/workflows/execute-phase.md": "2629630eb4a94a6b",
|
||||
"gsd-core/workflows/execute-phase.md": "d06e2f3aa15eba2b",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "4e265392b3f2ba0e",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "3c4310c2dd9ef0ad",
|
||||
"gsd-core/workflows/execute-plan.md": "045ad8cb48444e57",
|
||||
"gsd-core/workflows/explore.md": "6c04f2e658d93261",
|
||||
"gsd-core/workflows/extract-learnings.md": "b6f01ca3d8f58de4",
|
||||
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -159,6 +159,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -312,13 +313,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "850366c2ef8fb780",
|
||||
"gsd-core/workflows/edit-phase.md": "1876c855fb0a0a39",
|
||||
"gsd-core/workflows/eval-review.md": "5394694d29ad7543",
|
||||
"gsd-core/workflows/execute-phase.md": "895f8e910b32ebd4",
|
||||
"gsd-core/workflows/execute-phase.md": "e5a4f684bd87245c",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "1804215577f1ad35",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "01c2fe9e5bcb57be",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "86b8a7f50115162f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "cdd49ac15770c9d1",
|
||||
"gsd-core/workflows/execute-plan.md": "ac4a07ff7e42190d",
|
||||
"gsd-core/workflows/explore.md": "7f5f9231cfd3089b",
|
||||
"gsd-core/workflows/extract-learnings.md": "92b3c0979604b7d0",
|
||||
"gsd-core/workflows/fast.md": "12187b242e6af970",
|
||||
|
||||
7
tests/fixtures/golden-install-parity/pi.json
vendored
7
tests/fixtures/golden-install-parity/pi.json
vendored
@@ -6,7 +6,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -55,6 +55,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -208,13 +209,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "f35922d15b7061c9",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "f898936e2cfe4130",
|
||||
"gsd-core/workflows/execute-phase.md": "353711104c33d19f",
|
||||
"gsd-core/workflows/execute-phase.md": "01ccacd935b7c620",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "4e265392b3f2ba0e",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "d797619290e91120",
|
||||
"gsd-core/workflows/execute-plan.md": "6412aa2edd5a4452",
|
||||
"gsd-core/workflows/explore.md": "6c04f2e658d93261",
|
||||
"gsd-core/workflows/extract-learnings.md": "b6f01ca3d8f58de4",
|
||||
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"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": "5690fc2c19953392",
|
||||
"gsd-core/bin/gsd-tools.cjs": "3f367ea99374b291",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -88,6 +88,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -241,13 +242,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "45d2f0d173c84e07",
|
||||
"gsd-core/workflows/edit-phase.md": "0fb5e0123cfc6f36",
|
||||
"gsd-core/workflows/eval-review.md": "6dee8a1e40ececd4",
|
||||
"gsd-core/workflows/execute-phase.md": "840ce6d4ff582aed",
|
||||
"gsd-core/workflows/execute-phase.md": "e51bcc011f22d197",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "36af8d91e4ae8b9c",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "94765e9fc206efbf",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "463e4e1b57b22b24",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "79410db4a6bb5a46",
|
||||
"gsd-core/workflows/execute-plan.md": "25ef51fc9900f4b4",
|
||||
"gsd-core/workflows/explore.md": "e1a83a8982532e5b",
|
||||
"gsd-core/workflows/extract-learnings.md": "dd4fdb88605de49a",
|
||||
"gsd-core/workflows/fast.md": "93ed453edddd8c0c",
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"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": "38fe136ab7f63b5c",
|
||||
"gsd-core/bin/gsd-tools.cjs": "84762454c60a6c9a",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -88,6 +88,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -241,13 +242,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "f13571f08e083356",
|
||||
"gsd-core/workflows/edit-phase.md": "7facd0faa33c8cad",
|
||||
"gsd-core/workflows/eval-review.md": "37d545d4f0db4927",
|
||||
"gsd-core/workflows/execute-phase.md": "cadbd19b2a828111",
|
||||
"gsd-core/workflows/execute-phase.md": "13789ed1d5ffc4e4",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "c985a30317a1aa6b",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "06f115a379580094",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "9d58274a5a1b14f5",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "feae1e61007feab2",
|
||||
"gsd-core/workflows/execute-plan.md": "1a409bc80100b6ee",
|
||||
"gsd-core/workflows/explore.md": "8a5437aa0c239c38",
|
||||
"gsd-core/workflows/extract-learnings.md": "3fcc858b20d0d0e6",
|
||||
"gsd-core/workflows/fast.md": "0f05b1e008ac2fc2",
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"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": "8f1e439594006870",
|
||||
"gsd-core/bin/gsd-tools.cjs": "3a0f24b2def05244",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -88,6 +88,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -241,13 +242,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "70f73cc8c27e0ca0",
|
||||
"gsd-core/workflows/edit-phase.md": "c0ae7d0063f3e789",
|
||||
"gsd-core/workflows/eval-review.md": "b28be79ef29f16fd",
|
||||
"gsd-core/workflows/execute-phase.md": "46a363f3f33cc596",
|
||||
"gsd-core/workflows/execute-phase.md": "0fc874e8103061d5",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "47ae5482f8e64100",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "003c6a0f21a4aa61",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "e469e777fb8e7fbb",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "403c53e3148033a3",
|
||||
"gsd-core/workflows/execute-plan.md": "864931070aedf894",
|
||||
"gsd-core/workflows/explore.md": "04e461ff8159a24e",
|
||||
"gsd-core/workflows/extract-learnings.md": "af793bdf4ffd1c8a",
|
||||
"gsd-core/workflows/fast.md": "b03b9f595892479a",
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
"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": "cae92a5bde4f3414",
|
||||
"gsd-core/bin/gsd-tools.cjs": "bcecc5e92220b2b3",
|
||||
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
|
||||
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
|
||||
"gsd-core/bin/shared/config-schema.manifest.json": "0109a5a9866a24e0",
|
||||
@@ -159,6 +159,7 @@
|
||||
"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-requirement-revert.md": "48ade76866c57ce2",
|
||||
"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",
|
||||
@@ -312,13 +313,13 @@
|
||||
"gsd-core/workflows/docs-update.md": "f35922d15b7061c9",
|
||||
"gsd-core/workflows/edit-phase.md": "966a3eadd1bebc04",
|
||||
"gsd-core/workflows/eval-review.md": "f898936e2cfe4130",
|
||||
"gsd-core/workflows/execute-phase.md": "4bd16cf990e3ee63",
|
||||
"gsd-core/workflows/execute-phase.md": "2f43fae80c4c4fab",
|
||||
"gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md": "4e265392b3f2ba0e",
|
||||
"gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md": "7ebb7d1af6082028",
|
||||
"gsd-core/workflows/execute-phase/steps/post-merge-gate.md": "09ea1680a375b979",
|
||||
"gsd-core/workflows/execute-phase/steps/regression-gate.md": "5f24c5ad58c2518f",
|
||||
"gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md": "be84efbd71e1513e",
|
||||
"gsd-core/workflows/execute-plan.md": "4614bb2145a7f737",
|
||||
"gsd-core/workflows/execute-plan.md": "ee300f9c6f7626c8",
|
||||
"gsd-core/workflows/explore.md": "6c04f2e658d93261",
|
||||
"gsd-core/workflows/extract-learnings.md": "b6f01ca3d8f58de4",
|
||||
"gsd-core/workflows/fast.md": "11f5cd10ae5cc7d3",
|
||||
|
||||
1
tests/fixtures/install-tree/antigravity.json
vendored
1
tests/fixtures/install-tree/antigravity.json
vendored
@@ -88,6 +88,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/augment.json
vendored
1
tests/fixtures/install-tree/augment.json
vendored
@@ -159,6 +159,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
@@ -158,6 +158,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/claude.json
vendored
1
tests/fixtures/install-tree/claude.json
vendored
@@ -87,6 +87,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/cline.json
vendored
1
tests/fixtures/install-tree/cline.json
vendored
@@ -91,6 +91,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/codebuddy.json
vendored
1
tests/fixtures/install-tree/codebuddy.json
vendored
@@ -159,6 +159,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/codex.json
vendored
1
tests/fixtures/install-tree/codex.json
vendored
@@ -194,6 +194,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/copilot.json
vendored
1
tests/fixtures/install-tree/copilot.json
vendored
@@ -89,6 +89,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/cursor.json
vendored
1
tests/fixtures/install-tree/cursor.json
vendored
@@ -159,6 +159,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/hermes.json
vendored
1
tests/fixtures/install-tree/hermes.json
vendored
@@ -88,6 +88,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/kilo.json
vendored
1
tests/fixtures/install-tree/kilo.json
vendored
@@ -159,6 +159,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/kimi.json
vendored
1
tests/fixtures/install-tree/kimi.json
vendored
@@ -152,6 +152,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/opencode.json
vendored
1
tests/fixtures/install-tree/opencode.json
vendored
@@ -159,6 +159,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/pi.json
vendored
1
tests/fixtures/install-tree/pi.json
vendored
@@ -55,6 +55,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/qwen.json
vendored
1
tests/fixtures/install-tree/qwen.json
vendored
@@ -88,6 +88,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/trae.json
vendored
1
tests/fixtures/install-tree/trae.json
vendored
@@ -88,6 +88,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/windsurf.json
vendored
1
tests/fixtures/install-tree/windsurf.json
vendored
@@ -88,6 +88,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
1
tests/fixtures/install-tree/zcode.json
vendored
1
tests/fixtures/install-tree/zcode.json
vendored
@@ -159,6 +159,7 @@
|
||||
"gsd-core/references/execute-mvp-tdd.md",
|
||||
"gsd-core/references/execute-phase-between-wave-reset.md",
|
||||
"gsd-core/references/execute-phase-context-guard.md",
|
||||
"gsd-core/references/execute-phase-requirement-revert.md",
|
||||
"gsd-core/references/execute-phase-wave-guard.md",
|
||||
"gsd-core/references/executor-examples.md",
|
||||
"gsd-core/references/few-shot-examples/plan-checker.md",
|
||||
|
||||
@@ -1162,6 +1162,201 @@ describe('requirements mark-complete: traceability write (regression, ADR-2143
|
||||
});
|
||||
});
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// requirements ready-ids command — shared-ID sibling-plan gate (#2388)
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
describe('requirements ready-ids command (#2388 shared-ID gate)', () => {
|
||||
let tmpDir;
|
||||
|
||||
beforeEach(() => { tmpDir = createTempProject(); });
|
||||
afterEach(() => { cleanup(tmpDir); });
|
||||
|
||||
function writeRequirements(tmpDir, content) {
|
||||
fs.writeFileSync(path.join(tmpDir, '.planning', 'REQUIREMENTS.md'), content, 'utf-8');
|
||||
}
|
||||
|
||||
function readRequirements(tmpDir) {
|
||||
return fs.readFileSync(path.join(tmpDir, '.planning', 'REQUIREMENTS.md'), 'utf-8');
|
||||
}
|
||||
|
||||
function makePhaseDir(tmpDir) {
|
||||
const dir = path.join(tmpDir, '.planning', 'phases', '05-05-feature');
|
||||
fs.mkdirSync(dir, { recursive: true });
|
||||
return dir;
|
||||
}
|
||||
|
||||
const SHARED_REQUIREMENTS = `# Requirements
|
||||
|
||||
## Feature
|
||||
|
||||
- [ ] **SHARED-01**: shared across two plans
|
||||
- [ ] **SOLO-01**: only plan-02 declares this
|
||||
|
||||
## Traceability
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| SHARED-01 | Phase 5 | Pending |
|
||||
| SOLO-01 | Phase 5 | Pending |
|
||||
`;
|
||||
|
||||
// #2388 acceptance criteria 2+3: a requirement ID shared by two plans in
|
||||
// the same phase must not read Complete until BOTH plans have a SUMMARY —
|
||||
// then, once the last declaring plan finishes, it marks Complete via the
|
||||
// normal (unmodified) mark-complete path.
|
||||
test('shared ID stays Pending until every declaring plan has a SUMMARY, then marks Complete', () => {
|
||||
writeRequirements(tmpDir, SHARED_REQUIREMENTS);
|
||||
const dir = makePhaseDir(tmpDir);
|
||||
const plan1 = path.join(dir, '05-05-01-a-PLAN.md');
|
||||
const plan2 = path.join(dir, '05-05-02-b-PLAN.md');
|
||||
fs.writeFileSync(plan1, '---\nphase: 05-05\nplan: 01\nrequirements: [SHARED-01]\n---\nPlan A\n');
|
||||
fs.writeFileSync(plan2, '---\nphase: 05-05\nplan: 02\nrequirements: [SHARED-01, SOLO-01]\n---\nPlan B\n');
|
||||
|
||||
// Plan 01 finishes first (its own SUMMARY now exists) and gates its own
|
||||
// requirement IDs before calling mark-complete — plan 02 has not
|
||||
// finished yet, so SHARED-01 must be blocked.
|
||||
fs.writeFileSync(path.join(dir, '05-05-01-a-SUMMARY.md'), 'done\n');
|
||||
const readyForPlan1 = JSON.parse(
|
||||
runGsdTools(['query', 'requirements.ready-ids', plan1, 'SHARED-01'], tmpDir).output,
|
||||
);
|
||||
assert.deepStrictEqual(readyForPlan1.ready, [], 'SHARED-01 must be blocked — plan 02 has not finished yet');
|
||||
assert.deepStrictEqual(readyForPlan1.blocked, ['SHARED-01']);
|
||||
|
||||
// The workflow only hands the READY subset to mark-complete (empty here),
|
||||
// so REQUIREMENTS.md must be untouched.
|
||||
let content = readRequirements(tmpDir);
|
||||
assert.ok(content.includes('- [ ] **SHARED-01**'), 'SHARED-01 checkbox must stay unchecked');
|
||||
assert.ok(content.includes('| SHARED-01 | Phase 5 | Pending |'), 'SHARED-01 traceability must stay Pending');
|
||||
|
||||
// Plan 02 finishes: its own SUMMARY now exists too, so when IT gates its
|
||||
// own IDs, plan 01 (the sibling) already has a SUMMARY — SHARED-01 is
|
||||
// ready. SOLO-01 has no sibling declaring it at all, so it was always ready.
|
||||
fs.writeFileSync(path.join(dir, '05-05-02-b-SUMMARY.md'), 'done\n');
|
||||
const readyForPlan2 = JSON.parse(
|
||||
runGsdTools(['query', 'requirements.ready-ids', plan2, 'SHARED-01,SOLO-01'], tmpDir).output,
|
||||
);
|
||||
assert.deepStrictEqual(readyForPlan2.ready.sort(), ['SHARED-01', 'SOLO-01']);
|
||||
assert.deepStrictEqual(readyForPlan2.blocked, []);
|
||||
|
||||
// Hand the ready subset to the UNMODIFIED mark-complete path.
|
||||
runGsdTools(['query', 'requirements.mark-complete', ...readyForPlan2.ready], tmpDir);
|
||||
content = readRequirements(tmpDir);
|
||||
assert.ok(content.includes('- [x] **SHARED-01**'), 'SHARED-01 checkbox should now be checked');
|
||||
assert.ok(content.includes('| SHARED-01 | Phase 5 | Complete |'), 'SHARED-01 traceability should now be Complete');
|
||||
});
|
||||
|
||||
// #2388 acceptance criteria 4: a single-plan (non-shared) ID must not incur
|
||||
// any added latency — it is ready even before its OWN plan has a SUMMARY,
|
||||
// as long as no sibling plan also declares it.
|
||||
test('a single-plan (non-shared) requirement ID is always ready — no added latency', () => {
|
||||
writeRequirements(tmpDir, SHARED_REQUIREMENTS);
|
||||
const dir = makePhaseDir(tmpDir);
|
||||
const plan1 = path.join(dir, '05-05-01-a-PLAN.md');
|
||||
fs.writeFileSync(plan1, '---\nphase: 05-05\nplan: 01\nrequirements: [SOLO-01]\n---\nSolo plan\n');
|
||||
|
||||
const result = JSON.parse(
|
||||
runGsdTools(['query', 'requirements.ready-ids', plan1, 'SOLO-01'], tmpDir).output,
|
||||
);
|
||||
assert.deepStrictEqual(result.ready, ['SOLO-01']);
|
||||
assert.deepStrictEqual(result.blocked, []);
|
||||
});
|
||||
|
||||
test('no sibling *-PLAN.md files at all → every ID is ready', () => {
|
||||
writeRequirements(tmpDir, SHARED_REQUIREMENTS);
|
||||
const dir = makePhaseDir(tmpDir);
|
||||
const plan1 = path.join(dir, '05-05-01-a-PLAN.md');
|
||||
fs.writeFileSync(plan1, '---\nphase: 05-05\nplan: 01\nrequirements: [SHARED-01]\n---\nOnly plan\n');
|
||||
|
||||
const result = JSON.parse(
|
||||
runGsdTools(['query', 'requirements.ready-ids', plan1, 'SHARED-01'], tmpDir).output,
|
||||
);
|
||||
assert.deepStrictEqual(result.ready, ['SHARED-01']);
|
||||
assert.deepStrictEqual(result.blocked, []);
|
||||
});
|
||||
});
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// requirements revert-phase command — gaps_found revert (#2388)
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
describe('requirements revert-phase command (#2388 gaps_found revert)', () => {
|
||||
let tmpDir;
|
||||
|
||||
beforeEach(() => { tmpDir = createTempProject(); });
|
||||
afterEach(() => { cleanup(tmpDir); });
|
||||
|
||||
function writeRequirements(tmpDir, content) {
|
||||
fs.writeFileSync(path.join(tmpDir, '.planning', 'REQUIREMENTS.md'), content, 'utf-8');
|
||||
}
|
||||
|
||||
function readRequirements(tmpDir) {
|
||||
return fs.readFileSync(path.join(tmpDir, '.planning', 'REQUIREMENTS.md'), 'utf-8');
|
||||
}
|
||||
|
||||
// #2388 acceptance criterion 5 (phase-scoping): reverting one phase's IDs
|
||||
// must never touch a DIFFERENT phase's Complete row.
|
||||
test('reverts a phase\'s own Complete IDs (checkbox + traceability) without touching another phase\'s Complete', () => {
|
||||
writeRequirements(
|
||||
tmpDir,
|
||||
`# Requirements
|
||||
|
||||
## Feature
|
||||
|
||||
- [x] **PHASE5-01**: phase 5 thing
|
||||
- [x] **PHASE6-01**: phase 6 thing
|
||||
|
||||
## Traceability
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| PHASE5-01 | Phase 5 | Complete |
|
||||
| PHASE6-01 | Phase 6 | Complete |
|
||||
`,
|
||||
);
|
||||
|
||||
const result = runGsdTools('requirements revert-phase PHASE5-01', tmpDir);
|
||||
assert.ok(result.success, `Command failed: ${result.error}`);
|
||||
const out = JSON.parse(result.output);
|
||||
assert.deepStrictEqual(out.reverted, ['PHASE5-01']);
|
||||
assert.deepStrictEqual(out.unchanged, []);
|
||||
|
||||
const content = readRequirements(tmpDir);
|
||||
assert.ok(content.includes('- [ ] **PHASE5-01**'), 'PHASE5-01 checkbox must revert to unchecked');
|
||||
assert.ok(content.includes('| PHASE5-01 | Phase 5 | Gaps Found |'), 'PHASE5-01 traceability must revert to Gaps Found');
|
||||
assert.ok(content.includes('- [x] **PHASE6-01**'), 'a DIFFERENT phase\'s Complete checkbox must be untouched');
|
||||
assert.ok(content.includes('| PHASE6-01 | Phase 6 | Complete |'), 'a DIFFERENT phase\'s traceability row must be untouched');
|
||||
});
|
||||
|
||||
test('an ID that is not currently Complete is reported unchanged, not reverted', () => {
|
||||
writeRequirements(
|
||||
tmpDir,
|
||||
`# Requirements
|
||||
|
||||
## Feature
|
||||
|
||||
- [ ] **PHASE5-01**: not complete yet
|
||||
|
||||
## Traceability
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| PHASE5-01 | Phase 5 | Pending |
|
||||
`,
|
||||
);
|
||||
|
||||
const result = runGsdTools('requirements revert-phase PHASE5-01', tmpDir);
|
||||
assert.ok(result.success, `Command failed: ${result.error}`);
|
||||
const out = JSON.parse(result.output);
|
||||
assert.deepStrictEqual(out.reverted, []);
|
||||
assert.deepStrictEqual(out.unchanged, ['PHASE5-01']);
|
||||
|
||||
const content = readRequirements(tmpDir);
|
||||
assert.ok(content.includes('- [ ] **PHASE5-01**'), 'checkbox must stay unchecked (nothing to revert)');
|
||||
assert.ok(content.includes('| PHASE5-01 | Phase 5 | Pending |'), 'traceability status must stay Pending (nothing to revert)');
|
||||
});
|
||||
});
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// new-milestone workflow verification gate (#1269)
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"docs-update.md": 55706,
|
||||
"edit-phase.md": 12927,
|
||||
"eval-review.md": 9967,
|
||||
"execute-phase.md": 93363,
|
||||
"execute-plan.md": 33113,
|
||||
"execute-phase.md": 93376,
|
||||
"execute-plan.md": 34262,
|
||||
"explore.md": 10541,
|
||||
"extract-learnings.md": 12893,
|
||||
"fast.md": 7613,
|
||||
|
||||
Reference in New Issue
Block a user