@garygentry/feature-forge 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adapters/claude/.feature-forge-bundle.json +1 -1
- package/adapters/claude/agents/forge-verifier.md +1 -1
- package/adapters/claude/references/epic-manifest-schema.json +6 -1
- package/adapters/claude/references/forge-config-schema.json +1 -1
- package/adapters/claude/references/pipeline-state-schema.json +5 -3
- package/adapters/claude/references/shared-conventions.md +125 -12
- package/adapters/claude/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/references/vendor-construct-inventory.md +1 -1
- package/adapters/claude/scripts/epic-manifest.py +459 -90
- package/adapters/claude/scripts/forge-bootstrap.py +57 -5
- package/adapters/claude/scripts/forge-session.py +4346 -201
- package/adapters/claude/scripts/validate-traceability.py +92 -6
- package/adapters/claude/skills/forge/SKILL.md +18 -11
- package/adapters/claude/skills/forge/references/pipeline-state-schema.json +5 -3
- package/adapters/claude/skills/forge/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-0-epic/SKILL.md +8 -3
- package/adapters/claude/skills/forge-0-epic/references/edit-mode.md +24 -24
- package/adapters/claude/skills/forge-0-epic/references/pipeline-state-schema.json +5 -3
- package/adapters/claude/skills/forge-0-epic/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-0-epic/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-1-prd/SKILL.md +39 -11
- package/adapters/claude/skills/forge-1-prd/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-1-prd/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-2-tech/SKILL.md +38 -10
- package/adapters/claude/skills/forge-2-tech/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-2-tech/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-3-specs/SKILL.md +28 -9
- package/adapters/claude/skills/forge-3-specs/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-3-specs/references/spec-archetypes.md +9 -0
- package/adapters/claude/skills/forge-3-specs/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-4-backlog/SKILL.md +39 -10
- package/adapters/claude/skills/forge-4-backlog/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-4-backlog/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-5-loop/SKILL.md +65 -67
- package/adapters/claude/skills/forge-5-loop/references/agent-selection.md +116 -0
- package/adapters/claude/skills/forge-5-loop/references/result-reporting.md +70 -31
- package/adapters/claude/skills/forge-5-loop/references/runner-contract.md +18 -109
- package/adapters/claude/skills/forge-5-loop/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-5-loop/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-6-docs/SKILL.md +59 -9
- package/adapters/claude/skills/forge-6-docs/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-6-docs/references/stage-exit-protocol.md +472 -0
- package/adapters/claude/skills/forge-fix/SKILL.md +85 -33
- package/adapters/claude/skills/forge-fix/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-fix/references/stage-exit-protocol.md +358 -144
- package/adapters/claude/skills/forge-guide/references/forge-config-schema.json +1 -1
- package/adapters/claude/skills/forge-guide/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-verify/SKILL.md +86 -44
- package/adapters/claude/skills/forge-verify/references/findings-template.md +147 -0
- package/adapters/claude/skills/forge-verify/references/shared-conventions.md +125 -12
- package/adapters/claude/skills/forge-verify/references/stage-exit-protocol.md +472 -0
- package/adapters/claude/skills/forge-verify/references/verification-checklists/backlog.md +97 -0
- package/adapters/claude/skills/forge-verify/references/verification-checklists/epic.md +80 -0
- package/adapters/claude/skills/forge-verify/references/verification-checklists/impl.md +48 -0
- package/adapters/claude/skills/forge-verify/references/verification-checklists/prd.md +31 -0
- package/adapters/claude/skills/forge-verify/references/verification-checklists/specs.md +66 -0
- package/adapters/claude/skills/forge-verify/references/verification-checklists/tech.md +35 -0
- package/adapters/codex/.feature-forge-bundle.json +1 -1
- package/adapters/codex/agents/forge-verifier.toml +1 -1
- package/adapters/codex/references/epic-manifest-schema.json +6 -1
- package/adapters/codex/references/forge-config-schema.json +1 -1
- package/adapters/codex/references/pipeline-state-schema.json +5 -3
- package/adapters/codex/references/shared-conventions.md +125 -12
- package/adapters/codex/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/references/vendor-construct-inventory.md +1 -1
- package/adapters/codex/scripts/epic-manifest.py +459 -90
- package/adapters/codex/scripts/forge-bootstrap.py +57 -5
- package/adapters/codex/scripts/forge-session.py +4346 -201
- package/adapters/codex/scripts/validate-traceability.py +92 -6
- package/adapters/codex/skills/forge/SKILL.md +18 -11
- package/adapters/codex/skills/forge/references/pipeline-state-schema.json +5 -3
- package/adapters/codex/skills/forge/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-0-epic/SKILL.md +8 -3
- package/adapters/codex/skills/forge-0-epic/references/edit-mode.md +24 -24
- package/adapters/codex/skills/forge-0-epic/references/pipeline-state-schema.json +5 -3
- package/adapters/codex/skills/forge-0-epic/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-0-epic/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-1-prd/SKILL.md +39 -11
- package/adapters/codex/skills/forge-1-prd/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-1-prd/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-2-tech/SKILL.md +38 -10
- package/adapters/codex/skills/forge-2-tech/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-2-tech/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-3-specs/SKILL.md +28 -9
- package/adapters/codex/skills/forge-3-specs/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-3-specs/references/spec-archetypes.md +9 -0
- package/adapters/codex/skills/forge-3-specs/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-4-backlog/SKILL.md +39 -10
- package/adapters/codex/skills/forge-4-backlog/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-4-backlog/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-5-loop/SKILL.md +65 -67
- package/adapters/codex/skills/forge-5-loop/references/agent-selection.md +116 -0
- package/adapters/codex/skills/forge-5-loop/references/result-reporting.md +70 -31
- package/adapters/codex/skills/forge-5-loop/references/runner-contract.md +18 -109
- package/adapters/codex/skills/forge-5-loop/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-5-loop/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-6-docs/SKILL.md +59 -9
- package/adapters/codex/skills/forge-6-docs/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-6-docs/references/stage-exit-protocol.md +472 -0
- package/adapters/codex/skills/forge-fix/SKILL.md +84 -32
- package/adapters/codex/skills/forge-fix/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-fix/references/stage-exit-protocol.md +358 -144
- package/adapters/codex/skills/forge-guide/references/forge-config-schema.json +1 -1
- package/adapters/codex/skills/forge-guide/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-verify/SKILL.md +85 -43
- package/adapters/codex/skills/forge-verify/references/findings-template.md +147 -0
- package/adapters/codex/skills/forge-verify/references/shared-conventions.md +125 -12
- package/adapters/codex/skills/forge-verify/references/stage-exit-protocol.md +472 -0
- package/adapters/codex/skills/forge-verify/references/verification-checklists/backlog.md +97 -0
- package/adapters/codex/skills/forge-verify/references/verification-checklists/epic.md +80 -0
- package/adapters/codex/skills/forge-verify/references/verification-checklists/impl.md +48 -0
- package/adapters/codex/skills/forge-verify/references/verification-checklists/prd.md +31 -0
- package/adapters/codex/skills/forge-verify/references/verification-checklists/specs.md +66 -0
- package/adapters/codex/skills/forge-verify/references/verification-checklists/tech.md +35 -0
- package/adapters/copilot/.feature-forge-bundle.json +1 -1
- package/adapters/copilot/agents/forge-verifier.md +1 -1
- package/adapters/copilot/references/epic-manifest-schema.json +6 -1
- package/adapters/copilot/references/forge-config-schema.json +1 -1
- package/adapters/copilot/references/pipeline-state-schema.json +5 -3
- package/adapters/copilot/references/shared-conventions.md +125 -12
- package/adapters/copilot/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/references/vendor-construct-inventory.md +1 -1
- package/adapters/copilot/scripts/epic-manifest.py +459 -90
- package/adapters/copilot/scripts/forge-bootstrap.py +57 -5
- package/adapters/copilot/scripts/forge-session.py +4346 -201
- package/adapters/copilot/scripts/validate-traceability.py +92 -6
- package/adapters/copilot/skills/forge/forge.md +18 -11
- package/adapters/copilot/skills/forge/references/pipeline-state-schema.json +5 -3
- package/adapters/copilot/skills/forge/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-0-epic/forge-0-epic.md +8 -3
- package/adapters/copilot/skills/forge-0-epic/references/edit-mode.md +24 -24
- package/adapters/copilot/skills/forge-0-epic/references/pipeline-state-schema.json +5 -3
- package/adapters/copilot/skills/forge-0-epic/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-0-epic/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-1-prd/forge-1-prd.md +39 -11
- package/adapters/copilot/skills/forge-1-prd/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-1-prd/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-2-tech/forge-2-tech.md +38 -10
- package/adapters/copilot/skills/forge-2-tech/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-2-tech/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-3-specs/forge-3-specs.md +28 -9
- package/adapters/copilot/skills/forge-3-specs/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-3-specs/references/spec-archetypes.md +9 -0
- package/adapters/copilot/skills/forge-3-specs/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-4-backlog/forge-4-backlog.md +39 -10
- package/adapters/copilot/skills/forge-4-backlog/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-4-backlog/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-5-loop/forge-5-loop.md +65 -67
- package/adapters/copilot/skills/forge-5-loop/references/agent-selection.md +116 -0
- package/adapters/copilot/skills/forge-5-loop/references/result-reporting.md +70 -31
- package/adapters/copilot/skills/forge-5-loop/references/runner-contract.md +18 -109
- package/adapters/copilot/skills/forge-5-loop/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-5-loop/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-6-docs/forge-6-docs.md +59 -9
- package/adapters/copilot/skills/forge-6-docs/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-6-docs/references/stage-exit-protocol.md +472 -0
- package/adapters/copilot/skills/forge-fix/forge-fix.md +84 -32
- package/adapters/copilot/skills/forge-fix/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-fix/references/stage-exit-protocol.md +358 -144
- package/adapters/copilot/skills/forge-guide/references/forge-config-schema.json +1 -1
- package/adapters/copilot/skills/forge-guide/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-verify/forge-verify.md +85 -43
- package/adapters/copilot/skills/forge-verify/references/findings-template.md +147 -0
- package/adapters/copilot/skills/forge-verify/references/shared-conventions.md +125 -12
- package/adapters/copilot/skills/forge-verify/references/stage-exit-protocol.md +472 -0
- package/adapters/copilot/skills/forge-verify/references/verification-checklists/backlog.md +97 -0
- package/adapters/copilot/skills/forge-verify/references/verification-checklists/epic.md +80 -0
- package/adapters/copilot/skills/forge-verify/references/verification-checklists/impl.md +48 -0
- package/adapters/copilot/skills/forge-verify/references/verification-checklists/prd.md +31 -0
- package/adapters/copilot/skills/forge-verify/references/verification-checklists/specs.md +66 -0
- package/adapters/copilot/skills/forge-verify/references/verification-checklists/tech.md +35 -0
- package/adapters/cursor/.feature-forge-bundle.json +1 -1
- package/adapters/cursor/agents/forge-verifier.mdc +1 -1
- package/adapters/cursor/references/epic-manifest-schema.json +6 -1
- package/adapters/cursor/references/forge-config-schema.json +1 -1
- package/adapters/cursor/references/pipeline-state-schema.json +5 -3
- package/adapters/cursor/references/shared-conventions.md +125 -12
- package/adapters/cursor/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/references/vendor-construct-inventory.md +1 -1
- package/adapters/cursor/scripts/epic-manifest.py +459 -90
- package/adapters/cursor/scripts/forge-bootstrap.py +57 -5
- package/adapters/cursor/scripts/forge-session.py +4346 -201
- package/adapters/cursor/scripts/validate-traceability.py +92 -6
- package/adapters/cursor/skills/forge/forge.mdc +18 -11
- package/adapters/cursor/skills/forge/references/pipeline-state-schema.json +5 -3
- package/adapters/cursor/skills/forge/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-0-epic/forge-0-epic.mdc +8 -3
- package/adapters/cursor/skills/forge-0-epic/references/edit-mode.md +24 -24
- package/adapters/cursor/skills/forge-0-epic/references/pipeline-state-schema.json +5 -3
- package/adapters/cursor/skills/forge-0-epic/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-0-epic/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-1-prd/forge-1-prd.mdc +39 -11
- package/adapters/cursor/skills/forge-1-prd/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-1-prd/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-2-tech/forge-2-tech.mdc +38 -10
- package/adapters/cursor/skills/forge-2-tech/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-2-tech/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-3-specs/forge-3-specs.mdc +28 -9
- package/adapters/cursor/skills/forge-3-specs/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-3-specs/references/spec-archetypes.md +9 -0
- package/adapters/cursor/skills/forge-3-specs/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-4-backlog/forge-4-backlog.mdc +39 -10
- package/adapters/cursor/skills/forge-4-backlog/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-4-backlog/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-5-loop/forge-5-loop.mdc +65 -67
- package/adapters/cursor/skills/forge-5-loop/references/agent-selection.md +116 -0
- package/adapters/cursor/skills/forge-5-loop/references/result-reporting.md +70 -31
- package/adapters/cursor/skills/forge-5-loop/references/runner-contract.md +18 -109
- package/adapters/cursor/skills/forge-5-loop/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-5-loop/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-6-docs/forge-6-docs.mdc +59 -9
- package/adapters/cursor/skills/forge-6-docs/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-6-docs/references/stage-exit-protocol.md +472 -0
- package/adapters/cursor/skills/forge-fix/forge-fix.mdc +84 -32
- package/adapters/cursor/skills/forge-fix/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-fix/references/stage-exit-protocol.md +358 -144
- package/adapters/cursor/skills/forge-guide/references/forge-config-schema.json +1 -1
- package/adapters/cursor/skills/forge-guide/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-verify/forge-verify.mdc +85 -43
- package/adapters/cursor/skills/forge-verify/references/findings-template.md +147 -0
- package/adapters/cursor/skills/forge-verify/references/shared-conventions.md +125 -12
- package/adapters/cursor/skills/forge-verify/references/stage-exit-protocol.md +472 -0
- package/adapters/cursor/skills/forge-verify/references/verification-checklists/backlog.md +97 -0
- package/adapters/cursor/skills/forge-verify/references/verification-checklists/epic.md +80 -0
- package/adapters/cursor/skills/forge-verify/references/verification-checklists/impl.md +48 -0
- package/adapters/cursor/skills/forge-verify/references/verification-checklists/prd.md +31 -0
- package/adapters/cursor/skills/forge-verify/references/verification-checklists/specs.md +66 -0
- package/adapters/cursor/skills/forge-verify/references/verification-checklists/tech.md +35 -0
- package/adapters/gemini/.feature-forge-bundle.json +1 -1
- package/adapters/gemini/agents/forge-verifier.md +1 -1
- package/adapters/gemini/gemini-extension.json +1 -1
- package/adapters/gemini/references/epic-manifest-schema.json +6 -1
- package/adapters/gemini/references/forge-config-schema.json +1 -1
- package/adapters/gemini/references/pipeline-state-schema.json +5 -3
- package/adapters/gemini/references/shared-conventions.md +125 -12
- package/adapters/gemini/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/references/vendor-construct-inventory.md +1 -1
- package/adapters/gemini/scripts/epic-manifest.py +459 -90
- package/adapters/gemini/scripts/forge-bootstrap.py +57 -5
- package/adapters/gemini/scripts/forge-session.py +4346 -201
- package/adapters/gemini/scripts/validate-traceability.py +92 -6
- package/adapters/gemini/skills/forge/forge.md +18 -11
- package/adapters/gemini/skills/forge/references/pipeline-state-schema.json +5 -3
- package/adapters/gemini/skills/forge/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-0-epic/forge-0-epic.md +8 -3
- package/adapters/gemini/skills/forge-0-epic/references/edit-mode.md +24 -24
- package/adapters/gemini/skills/forge-0-epic/references/pipeline-state-schema.json +5 -3
- package/adapters/gemini/skills/forge-0-epic/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-0-epic/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-1-prd/forge-1-prd.md +39 -11
- package/adapters/gemini/skills/forge-1-prd/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-1-prd/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-2-tech/forge-2-tech.md +38 -10
- package/adapters/gemini/skills/forge-2-tech/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-2-tech/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-3-specs/forge-3-specs.md +28 -9
- package/adapters/gemini/skills/forge-3-specs/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-3-specs/references/spec-archetypes.md +9 -0
- package/adapters/gemini/skills/forge-3-specs/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-4-backlog/forge-4-backlog.md +39 -10
- package/adapters/gemini/skills/forge-4-backlog/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-4-backlog/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-5-loop/forge-5-loop.md +65 -67
- package/adapters/gemini/skills/forge-5-loop/references/agent-selection.md +116 -0
- package/adapters/gemini/skills/forge-5-loop/references/result-reporting.md +70 -31
- package/adapters/gemini/skills/forge-5-loop/references/runner-contract.md +18 -109
- package/adapters/gemini/skills/forge-5-loop/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-5-loop/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-6-docs/forge-6-docs.md +59 -9
- package/adapters/gemini/skills/forge-6-docs/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-6-docs/references/stage-exit-protocol.md +472 -0
- package/adapters/gemini/skills/forge-fix/forge-fix.md +84 -32
- package/adapters/gemini/skills/forge-fix/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-fix/references/stage-exit-protocol.md +358 -144
- package/adapters/gemini/skills/forge-guide/references/forge-config-schema.json +1 -1
- package/adapters/gemini/skills/forge-guide/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-verify/forge-verify.md +85 -43
- package/adapters/gemini/skills/forge-verify/references/findings-template.md +147 -0
- package/adapters/gemini/skills/forge-verify/references/shared-conventions.md +125 -12
- package/adapters/gemini/skills/forge-verify/references/stage-exit-protocol.md +472 -0
- package/adapters/gemini/skills/forge-verify/references/verification-checklists/backlog.md +97 -0
- package/adapters/gemini/skills/forge-verify/references/verification-checklists/epic.md +80 -0
- package/adapters/gemini/skills/forge-verify/references/verification-checklists/impl.md +48 -0
- package/adapters/gemini/skills/forge-verify/references/verification-checklists/prd.md +31 -0
- package/adapters/gemini/skills/forge-verify/references/verification-checklists/specs.md +66 -0
- package/adapters/gemini/skills/forge-verify/references/verification-checklists/tech.md +35 -0
- package/adapters/pi/.feature-forge-bundle.json +1 -1
- package/adapters/pi/agents/forge-verifier.md +1 -1
- package/adapters/pi/references/epic-manifest-schema.json +6 -1
- package/adapters/pi/references/forge-config-schema.json +1 -1
- package/adapters/pi/references/pipeline-state-schema.json +5 -3
- package/adapters/pi/references/shared-conventions.md +125 -12
- package/adapters/pi/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/references/vendor-construct-inventory.md +1 -1
- package/adapters/pi/scripts/epic-manifest.py +459 -90
- package/adapters/pi/scripts/forge-bootstrap.py +57 -5
- package/adapters/pi/scripts/forge-session.py +4346 -201
- package/adapters/pi/scripts/validate-traceability.py +92 -6
- package/adapters/pi/skills/forge/SKILL.md +18 -11
- package/adapters/pi/skills/forge/references/pipeline-state-schema.json +5 -3
- package/adapters/pi/skills/forge/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-0-epic/SKILL.md +8 -3
- package/adapters/pi/skills/forge-0-epic/references/edit-mode.md +24 -24
- package/adapters/pi/skills/forge-0-epic/references/pipeline-state-schema.json +5 -3
- package/adapters/pi/skills/forge-0-epic/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-0-epic/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-1-prd/SKILL.md +39 -11
- package/adapters/pi/skills/forge-1-prd/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-1-prd/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-2-tech/SKILL.md +38 -10
- package/adapters/pi/skills/forge-2-tech/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-2-tech/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-3-specs/SKILL.md +28 -9
- package/adapters/pi/skills/forge-3-specs/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-3-specs/references/spec-archetypes.md +9 -0
- package/adapters/pi/skills/forge-3-specs/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-4-backlog/SKILL.md +39 -10
- package/adapters/pi/skills/forge-4-backlog/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-4-backlog/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-5-loop/SKILL.md +65 -67
- package/adapters/pi/skills/forge-5-loop/references/agent-selection.md +116 -0
- package/adapters/pi/skills/forge-5-loop/references/result-reporting.md +70 -31
- package/adapters/pi/skills/forge-5-loop/references/runner-contract.md +18 -109
- package/adapters/pi/skills/forge-5-loop/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-5-loop/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-6-docs/SKILL.md +59 -9
- package/adapters/pi/skills/forge-6-docs/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-6-docs/references/stage-exit-protocol.md +472 -0
- package/adapters/pi/skills/forge-fix/SKILL.md +84 -32
- package/adapters/pi/skills/forge-fix/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-fix/references/stage-exit-protocol.md +358 -144
- package/adapters/pi/skills/forge-guide/references/forge-config-schema.json +1 -1
- package/adapters/pi/skills/forge-guide/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-verify/SKILL.md +85 -43
- package/adapters/pi/skills/forge-verify/references/findings-template.md +147 -0
- package/adapters/pi/skills/forge-verify/references/shared-conventions.md +125 -12
- package/adapters/pi/skills/forge-verify/references/stage-exit-protocol.md +472 -0
- package/adapters/pi/skills/forge-verify/references/verification-checklists/backlog.md +97 -0
- package/adapters/pi/skills/forge-verify/references/verification-checklists/epic.md +80 -0
- package/adapters/pi/skills/forge-verify/references/verification-checklists/impl.md +48 -0
- package/adapters/pi/skills/forge-verify/references/verification-checklists/prd.md +31 -0
- package/adapters/pi/skills/forge-verify/references/verification-checklists/specs.md +66 -0
- package/adapters/pi/skills/forge-verify/references/verification-checklists/tech.md +35 -0
- package/package.json +1 -1
- package/adapters/claude/skills/forge-1-prd/references/pipeline-state-schema.json +0 -191
- package/adapters/claude/skills/forge-2-tech/references/pipeline-state-schema.json +0 -191
- package/adapters/claude/skills/forge-3-specs/references/pipeline-state-schema.json +0 -191
- package/adapters/claude/skills/forge-4-backlog/references/forge-config-schema.json +0 -236
- package/adapters/claude/skills/forge-4-backlog/references/pipeline-state-schema.json +0 -191
- package/adapters/claude/skills/forge-5-loop/references/forge-config-schema.json +0 -236
- package/adapters/claude/skills/forge-6-docs/references/pipeline-state-schema.json +0 -191
- package/adapters/claude/skills/forge-verify/references/pipeline-state-schema.json +0 -191
- package/adapters/claude/skills/forge-verify/references/verification-checklists.md +0 -477
- package/adapters/codex/skills/forge-1-prd/references/pipeline-state-schema.json +0 -191
- package/adapters/codex/skills/forge-2-tech/references/pipeline-state-schema.json +0 -191
- package/adapters/codex/skills/forge-3-specs/references/pipeline-state-schema.json +0 -191
- package/adapters/codex/skills/forge-4-backlog/references/forge-config-schema.json +0 -236
- package/adapters/codex/skills/forge-4-backlog/references/pipeline-state-schema.json +0 -191
- package/adapters/codex/skills/forge-5-loop/references/forge-config-schema.json +0 -236
- package/adapters/codex/skills/forge-6-docs/references/pipeline-state-schema.json +0 -191
- package/adapters/codex/skills/forge-verify/references/pipeline-state-schema.json +0 -191
- package/adapters/codex/skills/forge-verify/references/verification-checklists.md +0 -477
- package/adapters/copilot/skills/forge-1-prd/references/pipeline-state-schema.json +0 -191
- package/adapters/copilot/skills/forge-2-tech/references/pipeline-state-schema.json +0 -191
- package/adapters/copilot/skills/forge-3-specs/references/pipeline-state-schema.json +0 -191
- package/adapters/copilot/skills/forge-4-backlog/references/forge-config-schema.json +0 -236
- package/adapters/copilot/skills/forge-4-backlog/references/pipeline-state-schema.json +0 -191
- package/adapters/copilot/skills/forge-5-loop/references/forge-config-schema.json +0 -236
- package/adapters/copilot/skills/forge-6-docs/references/pipeline-state-schema.json +0 -191
- package/adapters/copilot/skills/forge-verify/references/pipeline-state-schema.json +0 -191
- package/adapters/copilot/skills/forge-verify/references/verification-checklists.md +0 -477
- package/adapters/cursor/skills/forge-1-prd/references/pipeline-state-schema.json +0 -191
- package/adapters/cursor/skills/forge-2-tech/references/pipeline-state-schema.json +0 -191
- package/adapters/cursor/skills/forge-3-specs/references/pipeline-state-schema.json +0 -191
- package/adapters/cursor/skills/forge-4-backlog/references/forge-config-schema.json +0 -236
- package/adapters/cursor/skills/forge-4-backlog/references/pipeline-state-schema.json +0 -191
- package/adapters/cursor/skills/forge-5-loop/references/forge-config-schema.json +0 -236
- package/adapters/cursor/skills/forge-6-docs/references/pipeline-state-schema.json +0 -191
- package/adapters/cursor/skills/forge-verify/references/pipeline-state-schema.json +0 -191
- package/adapters/cursor/skills/forge-verify/references/verification-checklists.md +0 -477
- package/adapters/gemini/skills/forge-1-prd/references/pipeline-state-schema.json +0 -191
- package/adapters/gemini/skills/forge-2-tech/references/pipeline-state-schema.json +0 -191
- package/adapters/gemini/skills/forge-3-specs/references/pipeline-state-schema.json +0 -191
- package/adapters/gemini/skills/forge-4-backlog/references/forge-config-schema.json +0 -236
- package/adapters/gemini/skills/forge-4-backlog/references/pipeline-state-schema.json +0 -191
- package/adapters/gemini/skills/forge-5-loop/references/forge-config-schema.json +0 -236
- package/adapters/gemini/skills/forge-6-docs/references/pipeline-state-schema.json +0 -191
- package/adapters/gemini/skills/forge-verify/references/pipeline-state-schema.json +0 -191
- package/adapters/gemini/skills/forge-verify/references/verification-checklists.md +0 -477
- package/adapters/pi/skills/forge-1-prd/references/pipeline-state-schema.json +0 -191
- package/adapters/pi/skills/forge-2-tech/references/pipeline-state-schema.json +0 -191
- package/adapters/pi/skills/forge-3-specs/references/pipeline-state-schema.json +0 -191
- package/adapters/pi/skills/forge-4-backlog/references/forge-config-schema.json +0 -236
- package/adapters/pi/skills/forge-4-backlog/references/pipeline-state-schema.json +0 -191
- package/adapters/pi/skills/forge-5-loop/references/forge-config-schema.json +0 -236
- package/adapters/pi/skills/forge-6-docs/references/pipeline-state-schema.json +0 -191
- package/adapters/pi/skills/forge-verify/references/pipeline-state-schema.json +0 -191
- package/adapters/pi/skills/forge-verify/references/verification-checklists.md +0 -477
|
@@ -806,6 +806,56 @@ def verify(target: Path, answers: Answers) -> VerifyResult:
|
|
|
806
806
|
return {"toolchainPresent": True, "lint": lint, "test": test, "green": green}
|
|
807
807
|
|
|
808
808
|
|
|
809
|
+
#: mirrors ``load_json_with_duplicates``/``warn_duplicate_keys`` in scripts/forge-session.py
|
|
810
|
+
def load_json_with_duplicates(path: Path) -> tuple[object, list[str]]:
|
|
811
|
+
"""Load JSON with last-key-wins values and ordered duplicate key names.
|
|
812
|
+
|
|
813
|
+
Args:
|
|
814
|
+
path: UTF-8 JSON file to read.
|
|
815
|
+
|
|
816
|
+
Returns:
|
|
817
|
+
The parsed JSON value and duplicate key names in deterministic decoder-hook
|
|
818
|
+
order. A repeated occurrence is appended whenever its key was already seen
|
|
819
|
+
in that same object. Objects at every nesting depth use the hook.
|
|
820
|
+
|
|
821
|
+
Raises:
|
|
822
|
+
OSError: The path cannot be read as UTF-8 text.
|
|
823
|
+
json.JSONDecodeError: The file is not valid JSON.
|
|
824
|
+
"""
|
|
825
|
+
duplicate_keys: list[str] = []
|
|
826
|
+
|
|
827
|
+
def object_from_pairs(pairs: list[tuple[str, object]]) -> dict[str, object]:
|
|
828
|
+
result: dict[str, object] = {}
|
|
829
|
+
for key, value in pairs:
|
|
830
|
+
if key in result:
|
|
831
|
+
duplicate_keys.append(key)
|
|
832
|
+
result[key] = value
|
|
833
|
+
return result
|
|
834
|
+
|
|
835
|
+
text = path.read_text(encoding="utf-8")
|
|
836
|
+
value = json.loads(text, object_pairs_hook=object_from_pairs)
|
|
837
|
+
return value, duplicate_keys
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
def warn_duplicate_keys(path: Path, duplicate_keys: list[str]) -> None:
|
|
841
|
+
"""Write one deterministic warning for each reported duplicate occurrence.
|
|
842
|
+
|
|
843
|
+
Args:
|
|
844
|
+
path: Source file whose duplicate key was accepted.
|
|
845
|
+
duplicate_keys: Ordered names returned by `load_json_with_duplicates`.
|
|
846
|
+
|
|
847
|
+
Raises:
|
|
848
|
+
OSError: The process cannot write to stderr.
|
|
849
|
+
"""
|
|
850
|
+
for key in duplicate_keys:
|
|
851
|
+
rendered_key = json.dumps(key, ensure_ascii=False)
|
|
852
|
+
print(
|
|
853
|
+
f"Warning: duplicate JSON key {rendered_key} in {path}; "
|
|
854
|
+
"using the last value.",
|
|
855
|
+
file=sys.stderr,
|
|
856
|
+
)
|
|
857
|
+
|
|
858
|
+
|
|
809
859
|
def commit(target: Path, answers: Answers, stage_only: bool) -> CommitResult:
|
|
810
860
|
"""Stage the exact artifact list and commit or stop at staged (02 §6, 00 §4).
|
|
811
861
|
|
|
@@ -854,13 +904,15 @@ def commit(target: Path, answers: Answers, stage_only: bool) -> CommitResult:
|
|
|
854
904
|
|
|
855
905
|
# commitPrefix is a forge.config.json field (00 §7), not an interview answer.
|
|
856
906
|
# Read it back from the config bootstrap just wrote; default "forge" if absent.
|
|
907
|
+
config_path = target / "forge.config.json"
|
|
857
908
|
try:
|
|
858
|
-
|
|
859
|
-
(target / "forge.config.json").read_text(encoding="utf-8")
|
|
860
|
-
)
|
|
909
|
+
config_value, duplicate_keys = load_json_with_duplicates(config_path)
|
|
861
910
|
except (OSError, json.JSONDecodeError) as exc:
|
|
862
|
-
raise UsageError(f"cannot read forge.config.json: {exc}")
|
|
863
|
-
|
|
911
|
+
raise UsageError(f"cannot read forge.config.json: {exc}") from exc
|
|
912
|
+
warn_duplicate_keys(config_path, duplicate_keys)
|
|
913
|
+
if not isinstance(config_value, dict):
|
|
914
|
+
raise UsageError("cannot read forge.config.json: root must be a JSON object")
|
|
915
|
+
prefix = config_value.get("commitPrefix") or "forge"
|
|
864
916
|
message = f"{prefix}: bootstrap baseline"
|
|
865
917
|
run(["git", "commit", "-m", message], cwd=target)
|
|
866
918
|
rev = run(["git", "rev-parse", "HEAD"], cwd=target)
|