@accelerator-mzq/forge 1.4.0
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/LICENSE +21 -0
- package/LICENSE-THIRD-PARTY.md +50 -0
- package/README.md +159 -0
- package/dist/cli/commands/ack.d.ts +7 -0
- package/dist/cli/commands/ack.d.ts.map +1 -0
- package/dist/cli/commands/ack.js +223 -0
- package/dist/cli/commands/ack.js.map +1 -0
- package/dist/cli/commands/archive.d.ts +44 -0
- package/dist/cli/commands/archive.d.ts.map +1 -0
- package/dist/cli/commands/archive.js +689 -0
- package/dist/cli/commands/archive.js.map +1 -0
- package/dist/cli/commands/backlog.d.ts +3 -0
- package/dist/cli/commands/backlog.d.ts.map +1 -0
- package/dist/cli/commands/backlog.js +55 -0
- package/dist/cli/commands/backlog.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +107 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/evidence.d.ts +7 -0
- package/dist/cli/commands/evidence.d.ts.map +1 -0
- package/dist/cli/commands/evidence.js +662 -0
- package/dist/cli/commands/evidence.js.map +1 -0
- package/dist/cli/commands/finding.d.ts +3 -0
- package/dist/cli/commands/finding.d.ts.map +1 -0
- package/dist/cli/commands/finding.js +93 -0
- package/dist/cli/commands/finding.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +126 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/legacy-bridge.d.ts +11 -0
- package/dist/cli/commands/legacy-bridge.d.ts.map +1 -0
- package/dist/cli/commands/legacy-bridge.js +586 -0
- package/dist/cli/commands/legacy-bridge.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +3 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +34 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/monitor.d.ts +3 -0
- package/dist/cli/commands/monitor.d.ts.map +1 -0
- package/dist/cli/commands/monitor.js +113 -0
- package/dist/cli/commands/monitor.js.map +1 -0
- package/dist/cli/commands/preflight.d.ts +7 -0
- package/dist/cli/commands/preflight.d.ts.map +1 -0
- package/dist/cli/commands/preflight.js +63 -0
- package/dist/cli/commands/preflight.js.map +1 -0
- package/dist/cli/commands/scope.d.ts +3 -0
- package/dist/cli/commands/scope.d.ts.map +1 -0
- package/dist/cli/commands/scope.js +32 -0
- package/dist/cli/commands/scope.js.map +1 -0
- package/dist/cli/commands/stage-extensions.d.ts +45 -0
- package/dist/cli/commands/stage-extensions.d.ts.map +1 -0
- package/dist/cli/commands/stage-extensions.js +590 -0
- package/dist/cli/commands/stage-extensions.js.map +1 -0
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +98 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/upgrade.d.ts +3 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +277 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +3 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +66 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +69 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/ack-log.d.ts +107 -0
- package/dist/core/ack-log.d.ts.map +1 -0
- package/dist/core/ack-log.js +197 -0
- package/dist/core/ack-log.js.map +1 -0
- package/dist/core/archive/ack-log-consistency.d.ts +15 -0
- package/dist/core/archive/ack-log-consistency.d.ts.map +1 -0
- package/dist/core/archive/ack-log-consistency.js +164 -0
- package/dist/core/archive/ack-log-consistency.js.map +1 -0
- package/dist/core/archive/fence.d.ts +66 -0
- package/dist/core/archive/fence.d.ts.map +1 -0
- package/dist/core/archive/fence.js +218 -0
- package/dist/core/archive/fence.js.map +1 -0
- package/dist/core/archive/index.d.ts +4 -0
- package/dist/core/archive/index.d.ts.map +1 -0
- package/dist/core/archive/index.js +6 -0
- package/dist/core/archive/index.js.map +1 -0
- package/dist/core/archive/legacy-exemption.d.ts +14 -0
- package/dist/core/archive/legacy-exemption.d.ts.map +1 -0
- package/dist/core/archive/legacy-exemption.js +82 -0
- package/dist/core/archive/legacy-exemption.js.map +1 -0
- package/dist/core/archive/lock.d.ts +46 -0
- package/dist/core/archive/lock.d.ts.map +1 -0
- package/dist/core/archive/lock.js +98 -0
- package/dist/core/archive/lock.js.map +1 -0
- package/dist/core/archive/pause-decisions-fence.d.ts +13 -0
- package/dist/core/archive/pause-decisions-fence.d.ts.map +1 -0
- package/dist/core/archive/pause-decisions-fence.js +384 -0
- package/dist/core/archive/pause-decisions-fence.js.map +1 -0
- package/dist/core/archive/process-evidence-fence.d.ts +110 -0
- package/dist/core/archive/process-evidence-fence.d.ts.map +1 -0
- package/dist/core/archive/process-evidence-fence.js +449 -0
- package/dist/core/archive/process-evidence-fence.js.map +1 -0
- package/dist/core/archive/process-evidence-rerun.d.ts +9 -0
- package/dist/core/archive/process-evidence-rerun.d.ts.map +1 -0
- package/dist/core/archive/process-evidence-rerun.js +238 -0
- package/dist/core/archive/process-evidence-rerun.js.map +1 -0
- package/dist/core/archive/recover-prompt.d.ts +10 -0
- package/dist/core/archive/recover-prompt.d.ts.map +1 -0
- package/dist/core/archive/recover-prompt.js +29 -0
- package/dist/core/archive/recover-prompt.js.map +1 -0
- package/dist/core/archive/recover.d.ts +83 -0
- package/dist/core/archive/recover.d.ts.map +1 -0
- package/dist/core/archive/recover.js +219 -0
- package/dist/core/archive/recover.js.map +1 -0
- package/dist/core/archive/resume-summary.d.ts +22 -0
- package/dist/core/archive/resume-summary.d.ts.map +1 -0
- package/dist/core/archive/resume-summary.js +82 -0
- package/dist/core/archive/resume-summary.js.map +1 -0
- package/dist/core/archive/summary-builder.d.ts +28 -0
- package/dist/core/archive/summary-builder.d.ts.map +1 -0
- package/dist/core/archive/summary-builder.js +287 -0
- package/dist/core/archive/summary-builder.js.map +1 -0
- package/dist/core/archive/summary-render.d.ts +8 -0
- package/dist/core/archive/summary-render.d.ts.map +1 -0
- package/dist/core/archive/summary-render.js +64 -0
- package/dist/core/archive/summary-render.js.map +1 -0
- package/dist/core/archive/three-level-fence.d.ts +10 -0
- package/dist/core/archive/three-level-fence.d.ts.map +1 -0
- package/dist/core/archive/three-level-fence.js +93 -0
- package/dist/core/archive/three-level-fence.js.map +1 -0
- package/dist/core/archive/transaction.d.ts +41 -0
- package/dist/core/archive/transaction.d.ts.map +1 -0
- package/dist/core/archive/transaction.js +184 -0
- package/dist/core/archive/transaction.js.map +1 -0
- package/dist/core/archive/verify-findings-fence.d.ts +11 -0
- package/dist/core/archive/verify-findings-fence.d.ts.map +1 -0
- package/dist/core/archive/verify-findings-fence.js +80 -0
- package/dist/core/archive/verify-findings-fence.js.map +1 -0
- package/dist/core/archive/version-retrograde-fence.d.ts +10 -0
- package/dist/core/archive/version-retrograde-fence.d.ts.map +1 -0
- package/dist/core/archive/version-retrograde-fence.js +103 -0
- package/dist/core/archive/version-retrograde-fence.js.map +1 -0
- package/dist/core/artifact-graph/builder.d.ts +16 -0
- package/dist/core/artifact-graph/builder.d.ts.map +1 -0
- package/dist/core/artifact-graph/builder.js +32 -0
- package/dist/core/artifact-graph/builder.js.map +1 -0
- package/dist/core/artifact-graph/index.d.ts +3 -0
- package/dist/core/artifact-graph/index.d.ts.map +1 -0
- package/dist/core/artifact-graph/index.js +4 -0
- package/dist/core/artifact-graph/index.js.map +1 -0
- package/dist/core/artifact-graph/types.d.ts +14 -0
- package/dist/core/artifact-graph/types.d.ts.map +1 -0
- package/dist/core/artifact-graph/types.js +2 -0
- package/dist/core/artifact-graph/types.js.map +1 -0
- package/dist/core/backlog/assets/backlog-readme.md +11 -0
- package/dist/core/backlog/index.d.ts +20 -0
- package/dist/core/backlog/index.d.ts.map +1 -0
- package/dist/core/backlog/index.js +60 -0
- package/dist/core/backlog/index.js.map +1 -0
- package/dist/core/backlog/render.d.ts +51 -0
- package/dist/core/backlog/render.d.ts.map +1 -0
- package/dist/core/backlog/render.js +196 -0
- package/dist/core/backlog/render.js.map +1 -0
- package/dist/core/bootstrap/index.d.ts +2 -0
- package/dist/core/bootstrap/index.d.ts.map +1 -0
- package/dist/core/bootstrap/index.js +5 -0
- package/dist/core/bootstrap/index.js.map +1 -0
- package/dist/core/canonical-json.d.ts +11 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +43 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/git/utils.d.ts +27 -0
- package/dist/core/git/utils.d.ts.map +1 -0
- package/dist/core/git/utils.js +53 -0
- package/dist/core/git/utils.js.map +1 -0
- package/dist/core/harness-adapters/claude.d.ts +13 -0
- package/dist/core/harness-adapters/claude.d.ts.map +1 -0
- package/dist/core/harness-adapters/claude.js +53 -0
- package/dist/core/harness-adapters/claude.js.map +1 -0
- package/dist/core/harness-adapters/codex.d.ts +14 -0
- package/dist/core/harness-adapters/codex.d.ts.map +1 -0
- package/dist/core/harness-adapters/codex.js +60 -0
- package/dist/core/harness-adapters/codex.js.map +1 -0
- package/dist/core/harness-adapters/detector.d.ts +15 -0
- package/dist/core/harness-adapters/detector.d.ts.map +1 -0
- package/dist/core/harness-adapters/detector.js +45 -0
- package/dist/core/harness-adapters/detector.js.map +1 -0
- package/dist/core/harness-adapters/hash-compare.d.ts +21 -0
- package/dist/core/harness-adapters/hash-compare.d.ts.map +1 -0
- package/dist/core/harness-adapters/hash-compare.js +49 -0
- package/dist/core/harness-adapters/hash-compare.js.map +1 -0
- package/dist/core/harness-adapters/index.d.ts +8 -0
- package/dist/core/harness-adapters/index.d.ts.map +1 -0
- package/dist/core/harness-adapters/index.js +8 -0
- package/dist/core/harness-adapters/index.js.map +1 -0
- package/dist/core/harness-adapters/interface.d.ts +52 -0
- package/dist/core/harness-adapters/interface.d.ts.map +1 -0
- package/dist/core/harness-adapters/interface.js +3 -0
- package/dist/core/harness-adapters/interface.js.map +1 -0
- package/dist/core/harness-adapters/legacy-detector.d.ts +14 -0
- package/dist/core/harness-adapters/legacy-detector.d.ts.map +1 -0
- package/dist/core/harness-adapters/legacy-detector.js +83 -0
- package/dist/core/harness-adapters/legacy-detector.js.map +1 -0
- package/dist/core/harness-adapters/transaction.d.ts +12 -0
- package/dist/core/harness-adapters/transaction.d.ts.map +1 -0
- package/dist/core/harness-adapters/transaction.js +113 -0
- package/dist/core/harness-adapters/transaction.js.map +1 -0
- package/dist/core/harness-adapters/types.d.ts +45 -0
- package/dist/core/harness-adapters/types.d.ts.map +1 -0
- package/dist/core/harness-adapters/types.js +3 -0
- package/dist/core/harness-adapters/types.js.map +1 -0
- package/dist/core/hash/content.d.ts +10 -0
- package/dist/core/hash/content.d.ts.map +1 -0
- package/dist/core/hash/content.js +131 -0
- package/dist/core/hash/content.js.map +1 -0
- package/dist/core/hash/diff.d.ts +26 -0
- package/dist/core/hash/diff.d.ts.map +1 -0
- package/dist/core/hash/diff.js +40 -0
- package/dist/core/hash/diff.js.map +1 -0
- package/dist/core/hash/index.d.ts +6 -0
- package/dist/core/hash/index.d.ts.map +1 -0
- package/dist/core/hash/index.js +7 -0
- package/dist/core/hash/index.js.map +1 -0
- package/dist/core/hash/log.d.ts +7 -0
- package/dist/core/hash/log.d.ts.map +1 -0
- package/dist/core/hash/log.js +14 -0
- package/dist/core/hash/log.js.map +1 -0
- package/dist/core/hash/tasks.d.ts +9 -0
- package/dist/core/hash/tasks.d.ts.map +1 -0
- package/dist/core/hash/tasks.js +20 -0
- package/dist/core/hash/tasks.js.map +1 -0
- package/dist/core/legacy-bridge/ack.d.ts +30 -0
- package/dist/core/legacy-bridge/ack.d.ts.map +1 -0
- package/dist/core/legacy-bridge/ack.js +133 -0
- package/dist/core/legacy-bridge/ack.js.map +1 -0
- package/dist/core/legacy-bridge/anchors.d.ts +15 -0
- package/dist/core/legacy-bridge/anchors.d.ts.map +1 -0
- package/dist/core/legacy-bridge/anchors.js +119 -0
- package/dist/core/legacy-bridge/anchors.js.map +1 -0
- package/dist/core/legacy-bridge/budget.d.ts +39 -0
- package/dist/core/legacy-bridge/budget.d.ts.map +1 -0
- package/dist/core/legacy-bridge/budget.js +83 -0
- package/dist/core/legacy-bridge/budget.js.map +1 -0
- package/dist/core/legacy-bridge/conflict.d.ts +44 -0
- package/dist/core/legacy-bridge/conflict.d.ts.map +1 -0
- package/dist/core/legacy-bridge/conflict.js +105 -0
- package/dist/core/legacy-bridge/conflict.js.map +1 -0
- package/dist/core/legacy-bridge/diff-report.d.ts +14 -0
- package/dist/core/legacy-bridge/diff-report.d.ts.map +1 -0
- package/dist/core/legacy-bridge/diff-report.js +105 -0
- package/dist/core/legacy-bridge/diff-report.js.map +1 -0
- package/dist/core/legacy-bridge/encoding.d.ts +42 -0
- package/dist/core/legacy-bridge/encoding.d.ts.map +1 -0
- package/dist/core/legacy-bridge/encoding.js +104 -0
- package/dist/core/legacy-bridge/encoding.js.map +1 -0
- package/dist/core/legacy-bridge/excel.d.ts +32 -0
- package/dist/core/legacy-bridge/excel.d.ts.map +1 -0
- package/dist/core/legacy-bridge/excel.js +124 -0
- package/dist/core/legacy-bridge/excel.js.map +1 -0
- package/dist/core/legacy-bridge/hash-anchor.d.ts +23 -0
- package/dist/core/legacy-bridge/hash-anchor.d.ts.map +1 -0
- package/dist/core/legacy-bridge/hash-anchor.js +55 -0
- package/dist/core/legacy-bridge/hash-anchor.js.map +1 -0
- package/dist/core/legacy-bridge/indexer.d.ts +28 -0
- package/dist/core/legacy-bridge/indexer.d.ts.map +1 -0
- package/dist/core/legacy-bridge/indexer.js +145 -0
- package/dist/core/legacy-bridge/indexer.js.map +1 -0
- package/dist/core/legacy-bridge/mapper.d.ts +40 -0
- package/dist/core/legacy-bridge/mapper.d.ts.map +1 -0
- package/dist/core/legacy-bridge/mapper.js +241 -0
- package/dist/core/legacy-bridge/mapper.js.map +1 -0
- package/dist/core/legacy-bridge/quality-judge.d.ts +65 -0
- package/dist/core/legacy-bridge/quality-judge.d.ts.map +1 -0
- package/dist/core/legacy-bridge/quality-judge.js +277 -0
- package/dist/core/legacy-bridge/quality-judge.js.map +1 -0
- package/dist/core/legacy-bridge/redact.d.ts +28 -0
- package/dist/core/legacy-bridge/redact.d.ts.map +1 -0
- package/dist/core/legacy-bridge/redact.js +121 -0
- package/dist/core/legacy-bridge/redact.js.map +1 -0
- package/dist/core/legacy-bridge/regenerator.d.ts +50 -0
- package/dist/core/legacy-bridge/regenerator.d.ts.map +1 -0
- package/dist/core/legacy-bridge/regenerator.js +193 -0
- package/dist/core/legacy-bridge/regenerator.js.map +1 -0
- package/dist/core/legacy-bridge/resolve.d.ts +28 -0
- package/dist/core/legacy-bridge/resolve.d.ts.map +1 -0
- package/dist/core/legacy-bridge/resolve.js +75 -0
- package/dist/core/legacy-bridge/resolve.js.map +1 -0
- package/dist/core/legacy-bridge/sync-check.d.ts +47 -0
- package/dist/core/legacy-bridge/sync-check.d.ts.map +1 -0
- package/dist/core/legacy-bridge/sync-check.js +198 -0
- package/dist/core/legacy-bridge/sync-check.js.map +1 -0
- package/dist/core/legacy-bridge/types.d.ts +114 -0
- package/dist/core/legacy-bridge/types.d.ts.map +1 -0
- package/dist/core/legacy-bridge/types.js +4 -0
- package/dist/core/legacy-bridge/types.js.map +1 -0
- package/dist/core/markers/index.d.ts +3 -0
- package/dist/core/markers/index.d.ts.map +1 -0
- package/dist/core/markers/index.js +3 -0
- package/dist/core/markers/index.js.map +1 -0
- package/dist/core/markers/parse.d.ts +12 -0
- package/dist/core/markers/parse.d.ts.map +1 -0
- package/dist/core/markers/parse.js +31 -0
- package/dist/core/markers/parse.js.map +1 -0
- package/dist/core/markers/types.d.ts +142 -0
- package/dist/core/markers/types.d.ts.map +1 -0
- package/dist/core/markers/types.js +3 -0
- package/dist/core/markers/types.js.map +1 -0
- package/dist/core/migrate/ack.d.ts +13 -0
- package/dist/core/migrate/ack.d.ts.map +1 -0
- package/dist/core/migrate/ack.js +62 -0
- package/dist/core/migrate/ack.js.map +1 -0
- package/dist/core/migrate/archive-detect.d.ts +19 -0
- package/dist/core/migrate/archive-detect.d.ts.map +1 -0
- package/dist/core/migrate/archive-detect.js +89 -0
- package/dist/core/migrate/archive-detect.js.map +1 -0
- package/dist/core/migrate/budget.d.ts +7 -0
- package/dist/core/migrate/budget.d.ts.map +1 -0
- package/dist/core/migrate/budget.js +25 -0
- package/dist/core/migrate/budget.js.map +1 -0
- package/dist/core/migrate/conflict.d.ts +49 -0
- package/dist/core/migrate/conflict.d.ts.map +1 -0
- package/dist/core/migrate/conflict.js +99 -0
- package/dist/core/migrate/conflict.js.map +1 -0
- package/dist/core/migrate/index.d.ts +7 -0
- package/dist/core/migrate/index.d.ts.map +1 -0
- package/dist/core/migrate/index.js +389 -0
- package/dist/core/migrate/index.js.map +1 -0
- package/dist/core/migrate/markdown-aware.d.ts +27 -0
- package/dist/core/migrate/markdown-aware.d.ts.map +1 -0
- package/dist/core/migrate/markdown-aware.js +112 -0
- package/dist/core/migrate/markdown-aware.js.map +1 -0
- package/dist/core/migrate/quality.d.ts +66 -0
- package/dist/core/migrate/quality.d.ts.map +1 -0
- package/dist/core/migrate/quality.js +302 -0
- package/dist/core/migrate/quality.js.map +1 -0
- package/dist/core/migrate/regenerate.d.ts +24 -0
- package/dist/core/migrate/regenerate.d.ts.map +1 -0
- package/dist/core/migrate/regenerate.js +145 -0
- package/dist/core/migrate/regenerate.js.map +1 -0
- package/dist/core/migrate/report.d.ts +36 -0
- package/dist/core/migrate/report.d.ts.map +1 -0
- package/dist/core/migrate/report.js +154 -0
- package/dist/core/migrate/report.js.map +1 -0
- package/dist/core/migrate/sources/index.d.ts +4 -0
- package/dist/core/migrate/sources/index.d.ts.map +1 -0
- package/dist/core/migrate/sources/index.js +17 -0
- package/dist/core/migrate/sources/index.js.map +1 -0
- package/dist/core/migrate/sources/openspec.d.ts +14 -0
- package/dist/core/migrate/sources/openspec.d.ts.map +1 -0
- package/dist/core/migrate/sources/openspec.js +453 -0
- package/dist/core/migrate/sources/openspec.js.map +1 -0
- package/dist/core/migrate/sources/superpowers.d.ts +12 -0
- package/dist/core/migrate/sources/superpowers.d.ts.map +1 -0
- package/dist/core/migrate/sources/superpowers.js +310 -0
- package/dist/core/migrate/sources/superpowers.js.map +1 -0
- package/dist/core/migrate/types.d.ts +183 -0
- package/dist/core/migrate/types.d.ts.map +1 -0
- package/dist/core/migrate/types.js +5 -0
- package/dist/core/migrate/types.js.map +1 -0
- package/dist/core/migrate/utils.d.ts +2 -0
- package/dist/core/migrate/utils.d.ts.map +1 -0
- package/dist/core/migrate/utils.js +28 -0
- package/dist/core/migrate/utils.js.map +1 -0
- package/dist/core/monitor/artifact-observer.d.ts +9 -0
- package/dist/core/monitor/artifact-observer.d.ts.map +1 -0
- package/dist/core/monitor/artifact-observer.js +180 -0
- package/dist/core/monitor/artifact-observer.js.map +1 -0
- package/dist/core/monitor/config.d.ts +16 -0
- package/dist/core/monitor/config.d.ts.map +1 -0
- package/dist/core/monitor/config.js +48 -0
- package/dist/core/monitor/config.js.map +1 -0
- package/dist/core/monitor/divergence-map.d.ts +5 -0
- package/dist/core/monitor/divergence-map.d.ts.map +1 -0
- package/dist/core/monitor/divergence-map.js +92 -0
- package/dist/core/monitor/divergence-map.js.map +1 -0
- package/dist/core/monitor/exit-handler.d.ts +6 -0
- package/dist/core/monitor/exit-handler.d.ts.map +1 -0
- package/dist/core/monitor/exit-handler.js +27 -0
- package/dist/core/monitor/exit-handler.js.map +1 -0
- package/dist/core/monitor/health-verdict.d.ts +9 -0
- package/dist/core/monitor/health-verdict.d.ts.map +1 -0
- package/dist/core/monitor/health-verdict.js +55 -0
- package/dist/core/monitor/health-verdict.js.map +1 -0
- package/dist/core/monitor/report-renderer.d.ts +4 -0
- package/dist/core/monitor/report-renderer.d.ts.map +1 -0
- package/dist/core/monitor/report-renderer.js +82 -0
- package/dist/core/monitor/report-renderer.js.map +1 -0
- package/dist/core/monitor/trace-store.d.ts +39 -0
- package/dist/core/monitor/trace-store.d.ts.map +1 -0
- package/dist/core/monitor/trace-store.js +130 -0
- package/dist/core/monitor/trace-store.js.map +1 -0
- package/dist/core/monitor/types.d.ts +63 -0
- package/dist/core/monitor/types.d.ts.map +1 -0
- package/dist/core/monitor/types.js +26 -0
- package/dist/core/monitor/types.js.map +1 -0
- package/dist/core/parse/design.d.ts +14 -0
- package/dist/core/parse/design.d.ts.map +1 -0
- package/dist/core/parse/design.js +17 -0
- package/dist/core/parse/design.js.map +1 -0
- package/dist/core/parse/fenced-yaml.d.ts +18 -0
- package/dist/core/parse/fenced-yaml.d.ts.map +1 -0
- package/dist/core/parse/fenced-yaml.js +45 -0
- package/dist/core/parse/fenced-yaml.js.map +1 -0
- package/dist/core/parse/index.d.ts +7 -0
- package/dist/core/parse/index.d.ts.map +1 -0
- package/dist/core/parse/index.js +8 -0
- package/dist/core/parse/index.js.map +1 -0
- package/dist/core/parse/markdown.d.ts +30 -0
- package/dist/core/parse/markdown.d.ts.map +1 -0
- package/dist/core/parse/markdown.js +66 -0
- package/dist/core/parse/markdown.js.map +1 -0
- package/dist/core/parse/proposal.d.ts +18 -0
- package/dist/core/parse/proposal.d.ts.map +1 -0
- package/dist/core/parse/proposal.js +22 -0
- package/dist/core/parse/proposal.js.map +1 -0
- package/dist/core/parse/specs.d.ts +25 -0
- package/dist/core/parse/specs.d.ts.map +1 -0
- package/dist/core/parse/specs.js +58 -0
- package/dist/core/parse/specs.js.map +1 -0
- package/dist/core/parse/tasks.d.ts +33 -0
- package/dist/core/parse/tasks.d.ts.map +1 -0
- package/dist/core/parse/tasks.js +82 -0
- package/dist/core/parse/tasks.js.map +1 -0
- package/dist/core/parse/yaml.d.ts +13 -0
- package/dist/core/parse/yaml.d.ts.map +1 -0
- package/dist/core/parse/yaml.js +39 -0
- package/dist/core/parse/yaml.js.map +1 -0
- package/dist/core/process-evidence-freeze-warnings.d.ts +24 -0
- package/dist/core/process-evidence-freeze-warnings.d.ts.map +1 -0
- package/dist/core/process-evidence-freeze-warnings.js +153 -0
- package/dist/core/process-evidence-freeze-warnings.js.map +1 -0
- package/dist/core/schema/index.d.ts +5 -0
- package/dist/core/schema/index.d.ts.map +1 -0
- package/dist/core/schema/index.js +6 -0
- package/dist/core/schema/index.js.map +1 -0
- package/dist/core/schema/model-tiers-config.d.ts +41 -0
- package/dist/core/schema/model-tiers-config.d.ts.map +1 -0
- package/dist/core/schema/model-tiers-config.js +85 -0
- package/dist/core/schema/model-tiers-config.js.map +1 -0
- package/dist/core/schema/process-verification-config.d.ts +18 -0
- package/dist/core/schema/process-verification-config.d.ts.map +1 -0
- package/dist/core/schema/process-verification-config.js +74 -0
- package/dist/core/schema/process-verification-config.js.map +1 -0
- package/dist/core/schema/stage-extensions-config.d.ts +28 -0
- package/dist/core/schema/stage-extensions-config.d.ts.map +1 -0
- package/dist/core/schema/stage-extensions-config.js +228 -0
- package/dist/core/schema/stage-extensions-config.js.map +1 -0
- package/dist/core/schema/types.d.ts +262 -0
- package/dist/core/schema/types.d.ts.map +1 -0
- package/dist/core/schema/types.js +51 -0
- package/dist/core/schema/types.js.map +1 -0
- package/dist/core/schema/writing-plans-config.d.ts +11 -0
- package/dist/core/schema/writing-plans-config.d.ts.map +1 -0
- package/dist/core/schema/writing-plans-config.js +40 -0
- package/dist/core/schema/writing-plans-config.js.map +1 -0
- package/dist/core/schemas/archive-summary.d.ts +131 -0
- package/dist/core/schemas/archive-summary.d.ts.map +1 -0
- package/dist/core/schemas/archive-summary.js +31 -0
- package/dist/core/schemas/archive-summary.js.map +1 -0
- package/dist/core/schemas/process-evidence.d.ts +156 -0
- package/dist/core/schemas/process-evidence.d.ts.map +1 -0
- package/dist/core/schemas/process-evidence.js +12 -0
- package/dist/core/schemas/process-evidence.js.map +1 -0
- package/dist/core/schemas/scope-entries.d.ts +68 -0
- package/dist/core/schemas/scope-entries.d.ts.map +1 -0
- package/dist/core/schemas/scope-entries.js +47 -0
- package/dist/core/schemas/scope-entries.js.map +1 -0
- package/dist/core/schemas/severity.d.ts +58 -0
- package/dist/core/schemas/severity.d.ts.map +1 -0
- package/dist/core/schemas/severity.js +26 -0
- package/dist/core/schemas/severity.js.map +1 -0
- package/dist/core/scope/aggregator.d.ts +49 -0
- package/dist/core/scope/aggregator.d.ts.map +1 -0
- package/dist/core/scope/aggregator.js +141 -0
- package/dist/core/scope/aggregator.js.map +1 -0
- package/dist/core/scope/index.d.ts +2 -0
- package/dist/core/scope/index.d.ts.map +1 -0
- package/dist/core/scope/index.js +2 -0
- package/dist/core/scope/index.js.map +1 -0
- package/dist/core/specs-sync/apply.d.ts +8 -0
- package/dist/core/specs-sync/apply.d.ts.map +1 -0
- package/dist/core/specs-sync/apply.js +26 -0
- package/dist/core/specs-sync/apply.js.map +1 -0
- package/dist/core/specs-sync/deltas.d.ts +15 -0
- package/dist/core/specs-sync/deltas.d.ts.map +1 -0
- package/dist/core/specs-sync/deltas.js +27 -0
- package/dist/core/specs-sync/deltas.js.map +1 -0
- package/dist/core/specs-sync/index.d.ts +3 -0
- package/dist/core/specs-sync/index.d.ts.map +1 -0
- package/dist/core/specs-sync/index.js +4 -0
- package/dist/core/specs-sync/index.js.map +1 -0
- package/dist/core/stage-extensions/convergence-judge.d.ts +35 -0
- package/dist/core/stage-extensions/convergence-judge.d.ts.map +1 -0
- package/dist/core/stage-extensions/convergence-judge.js +47 -0
- package/dist/core/stage-extensions/convergence-judge.js.map +1 -0
- package/dist/core/stage-extensions/index.d.ts +13 -0
- package/dist/core/stage-extensions/index.d.ts.map +1 -0
- package/dist/core/stage-extensions/index.js +11 -0
- package/dist/core/stage-extensions/index.js.map +1 -0
- package/dist/core/stage-extensions/output-watcher.d.ts +93 -0
- package/dist/core/stage-extensions/output-watcher.d.ts.map +1 -0
- package/dist/core/stage-extensions/output-watcher.js +163 -0
- package/dist/core/stage-extensions/output-watcher.js.map +1 -0
- package/dist/core/stage-extensions/severity-mapper.d.ts +21 -0
- package/dist/core/stage-extensions/severity-mapper.d.ts.map +1 -0
- package/dist/core/stage-extensions/severity-mapper.js +26 -0
- package/dist/core/stage-extensions/severity-mapper.js.map +1 -0
- package/dist/core/stage-extensions/state-machine.d.ts +43 -0
- package/dist/core/stage-extensions/state-machine.d.ts.map +1 -0
- package/dist/core/stage-extensions/state-machine.js +19 -0
- package/dist/core/stage-extensions/state-machine.js.map +1 -0
- package/dist/core/stage-extensions/thread-map.d.ts +60 -0
- package/dist/core/stage-extensions/thread-map.d.ts.map +1 -0
- package/dist/core/stage-extensions/thread-map.js +107 -0
- package/dist/core/stage-extensions/thread-map.js.map +1 -0
- package/dist/core/stage-extensions/trend-analyzer.d.ts +29 -0
- package/dist/core/stage-extensions/trend-analyzer.d.ts.map +1 -0
- package/dist/core/stage-extensions/trend-analyzer.js +60 -0
- package/dist/core/stage-extensions/trend-analyzer.js.map +1 -0
- package/dist/core/stage-extensions/types.d.ts +39 -0
- package/dist/core/stage-extensions/types.d.ts.map +1 -0
- package/dist/core/stage-extensions/types.js +5 -0
- package/dist/core/stage-extensions/types.js.map +1 -0
- package/dist/core/staging-lock.d.ts +36 -0
- package/dist/core/staging-lock.d.ts.map +1 -0
- package/dist/core/staging-lock.js +122 -0
- package/dist/core/staging-lock.js.map +1 -0
- package/dist/core/templates/commands/ack-confirm.md +32 -0
- package/dist/core/templates/commands/apply.md +220 -0
- package/dist/core/templates/commands/archive.md +178 -0
- package/dist/core/templates/commands/brainstorm.md +58 -0
- package/dist/core/templates/commands/codex-adversarial.md +95 -0
- package/dist/core/templates/commands/explore.md +29 -0
- package/dist/core/templates/commands/index.d.ts +12 -0
- package/dist/core/templates/commands/index.d.ts.map +1 -0
- package/dist/core/templates/commands/index.js +26 -0
- package/dist/core/templates/commands/index.js.map +1 -0
- package/dist/core/templates/commands/propose.md +90 -0
- package/dist/core/templates/commands/review.md +105 -0
- package/dist/core/templates/commands/upgrade.md +58 -0
- package/dist/core/templates/commands/verify.md +186 -0
- package/dist/core/templates/index.d.ts +3 -0
- package/dist/core/templates/index.d.ts.map +1 -0
- package/dist/core/templates/index.js +5 -0
- package/dist/core/templates/index.js.map +1 -0
- package/dist/core/templates/skills/_shared/scope-category-guidance.md +40 -0
- package/dist/core/templates/skills/brainstorming.md +161 -0
- package/dist/core/templates/skills/dispatching-parallel-agents.md +209 -0
- package/dist/core/templates/skills/exploring.md +476 -0
- package/dist/core/templates/skills/finishing-a-development-branch.md +251 -0
- package/dist/core/templates/skills/index.d.ts +17 -0
- package/dist/core/templates/skills/index.d.ts.map +1 -0
- package/dist/core/templates/skills/index.js +53 -0
- package/dist/core/templates/skills/index.js.map +1 -0
- package/dist/core/templates/skills/process-evidence.md +146 -0
- package/dist/core/templates/skills/receiving-code-review.md +294 -0
- package/dist/core/templates/skills/requesting-code-review.md +108 -0
- package/dist/core/templates/skills/subagent-driven-development.md +405 -0
- package/dist/core/templates/skills/subagent-driven-discipline/references/codex-tools.md +72 -0
- package/dist/core/templates/skills/subagent-driven-discipline/references/opencode-tools.md +104 -0
- package/dist/core/templates/skills/subagent-driven-discipline.md +725 -0
- package/dist/core/templates/skills/systematic-debugging.md +297 -0
- package/dist/core/templates/skills/test-driven-development.md +402 -0
- package/dist/core/templates/skills/using-forge.md +163 -0
- package/dist/core/templates/skills/using-git-worktrees.md +229 -0
- package/dist/core/templates/skills/verification-before-completion.md +175 -0
- package/dist/core/templates/skills/verifying-three-dimensions.md +245 -0
- package/dist/core/templates/skills/writing-plans.md +259 -0
- package/dist/core/templates/skills/writing-skills.md +214 -0
- package/dist/core/test-reporters/index.d.ts +41 -0
- package/dist/core/test-reporters/index.d.ts.map +1 -0
- package/dist/core/test-reporters/index.js +39 -0
- package/dist/core/test-reporters/index.js.map +1 -0
- package/dist/core/test-reporters/junit.d.ts +8 -0
- package/dist/core/test-reporters/junit.d.ts.map +1 -0
- package/dist/core/test-reporters/junit.js +94 -0
- package/dist/core/test-reporters/junit.js.map +1 -0
- package/dist/core/test-reporters/tap.d.ts +18 -0
- package/dist/core/test-reporters/tap.d.ts.map +1 -0
- package/dist/core/test-reporters/tap.js +73 -0
- package/dist/core/test-reporters/tap.js.map +1 -0
- package/dist/core/test-reporters/vitest-json.d.ts +8 -0
- package/dist/core/test-reporters/vitest-json.d.ts.map +1 -0
- package/dist/core/test-reporters/vitest-json.js +56 -0
- package/dist/core/test-reporters/vitest-json.js.map +1 -0
- package/dist/core/upgrade/resign-markers.d.ts +14 -0
- package/dist/core/upgrade/resign-markers.d.ts.map +1 -0
- package/dist/core/upgrade/resign-markers.js +245 -0
- package/dist/core/upgrade/resign-markers.js.map +1 -0
- package/dist/core/validate/archive-summary-schema.d.ts +8 -0
- package/dist/core/validate/archive-summary-schema.d.ts.map +1 -0
- package/dist/core/validate/archive-summary-schema.js +186 -0
- package/dist/core/validate/archive-summary-schema.js.map +1 -0
- package/dist/core/validate/auto-findings.d.ts +36 -0
- package/dist/core/validate/auto-findings.d.ts.map +1 -0
- package/dist/core/validate/auto-findings.js +38 -0
- package/dist/core/validate/auto-findings.js.map +1 -0
- package/dist/core/validate/candidate-validators.d.ts +22 -0
- package/dist/core/validate/candidate-validators.d.ts.map +1 -0
- package/dist/core/validate/candidate-validators.js +46 -0
- package/dist/core/validate/candidate-validators.js.map +1 -0
- package/dist/core/validate/change.d.ts +3 -0
- package/dist/core/validate/change.d.ts.map +1 -0
- package/dist/core/validate/change.js +205 -0
- package/dist/core/validate/change.js.map +1 -0
- package/dist/core/validate/coverage-gap.d.ts +37 -0
- package/dist/core/validate/coverage-gap.d.ts.map +1 -0
- package/dist/core/validate/coverage-gap.js +181 -0
- package/dist/core/validate/coverage-gap.js.map +1 -0
- package/dist/core/validate/finding-hash.d.ts +14 -0
- package/dist/core/validate/finding-hash.d.ts.map +1 -0
- package/dist/core/validate/finding-hash.js +29 -0
- package/dist/core/validate/finding-hash.js.map +1 -0
- package/dist/core/validate/index.d.ts +15 -0
- package/dist/core/validate/index.d.ts.map +1 -0
- package/dist/core/validate/index.js +19 -0
- package/dist/core/validate/index.js.map +1 -0
- package/dist/core/validate/marker-integrity.d.ts +28 -0
- package/dist/core/validate/marker-integrity.d.ts.map +1 -0
- package/dist/core/validate/marker-integrity.js +170 -0
- package/dist/core/validate/marker-integrity.js.map +1 -0
- package/dist/core/validate/marker-schema.d.ts +10 -0
- package/dist/core/validate/marker-schema.d.ts.map +1 -0
- package/dist/core/validate/marker-schema.js +661 -0
- package/dist/core/validate/marker-schema.js.map +1 -0
- package/dist/core/validate/orphan-tmp.d.ts +13 -0
- package/dist/core/validate/orphan-tmp.d.ts.map +1 -0
- package/dist/core/validate/orphan-tmp.js +49 -0
- package/dist/core/validate/orphan-tmp.js.map +1 -0
- package/dist/core/validate/proposal.d.ts +4 -0
- package/dist/core/validate/proposal.d.ts.map +1 -0
- package/dist/core/validate/proposal.js +40 -0
- package/dist/core/validate/proposal.js.map +1 -0
- package/dist/core/validate/scope-entries.d.ts +23 -0
- package/dist/core/validate/scope-entries.d.ts.map +1 -0
- package/dist/core/validate/scope-entries.js +108 -0
- package/dist/core/validate/scope-entries.js.map +1 -0
- package/dist/core/validate/specs.d.ts +4 -0
- package/dist/core/validate/specs.d.ts.map +1 -0
- package/dist/core/validate/specs.js +74 -0
- package/dist/core/validate/specs.js.map +1 -0
- package/dist/core/validate/tasks.d.ts +4 -0
- package/dist/core/validate/tasks.d.ts.map +1 -0
- package/dist/core/validate/tasks.js +48 -0
- package/dist/core/validate/tasks.js.map +1 -0
- package/dist/core/validate/test-failure-stub.d.ts +23 -0
- package/dist/core/validate/test-failure-stub.d.ts.map +1 -0
- package/dist/core/validate/test-failure-stub.js +21 -0
- package/dist/core/validate/test-failure-stub.js.map +1 -0
- package/dist/core/validate/types.d.ts +33 -0
- package/dist/core/validate/types.d.ts.map +1 -0
- package/dist/core/validate/types.js +20 -0
- package/dist/core/validate/types.js.map +1 -0
- package/dist/core/worktree.d.ts +52 -0
- package/dist/core/worktree.d.ts.map +1 -0
- package/dist/core/worktree.js +145 -0
- package/dist/core/worktree.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// spec-driven schema 类型定义 — 对应 forge/config.yaml + 默认 schema
|
|
2
|
+
/**
|
|
3
|
+
* 默认 light_threshold(P3 修复;调用方 fallback 用)。
|
|
4
|
+
* 详见 spec §2.3 + Plan 2 Task 2.2。
|
|
5
|
+
*/
|
|
6
|
+
export const DEFAULT_LIGHT_THRESHOLD = 200;
|
|
7
|
+
/** model_tiers 缺失时的恒等默认(resolveModelTiers fallback 用) */
|
|
8
|
+
export const DEFAULT_MODEL_TIERS = {
|
|
9
|
+
haiku: 'haiku',
|
|
10
|
+
sonnet: 'sonnet',
|
|
11
|
+
opus: 'opus',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 默认 process_verification 配置(plan-9g §6;调用方 fallback 用)
|
|
15
|
+
* brainstorm spec §6 锁定四档默认值
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_PROCESS_VERIFICATION = {
|
|
18
|
+
mode: 'full',
|
|
19
|
+
sample_ratio: 0.3,
|
|
20
|
+
test_timeout_per_task: 300, // 秒
|
|
21
|
+
max_parallel_reruns: 2,
|
|
22
|
+
};
|
|
23
|
+
/** 默认 test.reporter(plan-9g §6) */
|
|
24
|
+
export const DEFAULT_TEST_REPORTER = 'junit';
|
|
25
|
+
/** 默认 ack.allow_ci_mode(plan-9g §6;false 防 CI 静默降级) */
|
|
26
|
+
export const DEFAULT_ACK_ALLOW_CI_MODE = false;
|
|
27
|
+
/**
|
|
28
|
+
* 默认 protected branches(plan-9h §2.8.3 C;调用方 fallback 用)。
|
|
29
|
+
* 详见 design v3 §2.8.3 C line 1432-1438。
|
|
30
|
+
*/
|
|
31
|
+
export const DEFAULT_PROTECTED_BRANCHES = ['main', 'master', 'develop', 'trunk'];
|
|
32
|
+
/**
|
|
33
|
+
* 默认 spec-driven schema 的 artifact 列表(决定哪些文件构成一个 change)。
|
|
34
|
+
*/
|
|
35
|
+
export const DEFAULT_ARTIFACTS = ['proposal', 'specs', 'design', 'tasks'];
|
|
36
|
+
/**
|
|
37
|
+
* code_paths.exclude 的默认值(不可关闭,与用户声明合并使用)。
|
|
38
|
+
* 详见 spec §3.4 hash 计算规则。
|
|
39
|
+
*/
|
|
40
|
+
export const DEFAULT_CODE_EXCLUDE = [
|
|
41
|
+
'forge/**',
|
|
42
|
+
'**/*.md',
|
|
43
|
+
'**/.verify-passed',
|
|
44
|
+
'**/.review-passed',
|
|
45
|
+
'**/.verify-failed',
|
|
46
|
+
'**/.review-failed',
|
|
47
|
+
'**/.evidence/**',
|
|
48
|
+
];
|
|
49
|
+
// §3.12.1 Interface Freeze 共享字段 single source of truth — 后续 sub-plan reference 此处
|
|
50
|
+
export * from '../schemas/severity.js';
|
|
51
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/schema/types.ts"],"names":[],"mappings":"AAAA,6DAA6D;AA0I7D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAA6D;IAC3F,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,MAAe;IACrB,YAAY,EAAE,GAAG;IACjB,qBAAqB,EAAE,GAAG,EAAE,IAAI;IAChC,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAgB,CAAC;AAEtD,uDAAuD;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAE1F;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAGnF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU;IACV,SAAS;IACT,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;CACT,CAAC;AAEX,kFAAkF;AAClF,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ForgeConfig } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* 验证并 sanitize writing_plans.light_threshold。
|
|
4
|
+
* 永远返回合法 number(用 default fallback,不抛错 — 配置层 graceful degradation)。
|
|
5
|
+
*
|
|
6
|
+
* @param config — forge/config.yaml 解析结果(可缺 writing_plans 段)
|
|
7
|
+
* @param warn — 注入 console.warn 用于测试 / 自定义 logger;默认 console.warn
|
|
8
|
+
* @returns 合法的 light_threshold(默认 200,范围 [50, 2000])
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateWritingPlansConfig(config: ForgeConfig | undefined, warn?: (msg: string) => void): number;
|
|
11
|
+
//# sourceMappingURL=writing-plans-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writing-plans-config.d.ts","sourceRoot":"","sources":["../../../src/core/schema/writing-plans-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAiC,GACvD,MAAM,CAkCR"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// v0.3 P3 修复(spec §2.3 + Plan 2 Task 2.2):
|
|
2
|
+
// writing-plans skill 的 scale-aware mode 配置 validation。
|
|
3
|
+
// 规则:
|
|
4
|
+
// - 缺失字段 → 返回默认 200
|
|
5
|
+
// - 非整数 / 范围外 [50, 2000] → stderr warn + fallback 200
|
|
6
|
+
// - 合法值 → 直接返回
|
|
7
|
+
import { DEFAULT_LIGHT_THRESHOLD } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* 验证并 sanitize writing_plans.light_threshold。
|
|
10
|
+
* 永远返回合法 number(用 default fallback,不抛错 — 配置层 graceful degradation)。
|
|
11
|
+
*
|
|
12
|
+
* @param config — forge/config.yaml 解析结果(可缺 writing_plans 段)
|
|
13
|
+
* @param warn — 注入 console.warn 用于测试 / 自定义 logger;默认 console.warn
|
|
14
|
+
* @returns 合法的 light_threshold(默认 200,范围 [50, 2000])
|
|
15
|
+
*/
|
|
16
|
+
export function validateWritingPlansConfig(config, warn = (msg) => console.warn(msg)) {
|
|
17
|
+
const raw = config?.writing_plans?.light_threshold;
|
|
18
|
+
// 缺失 → 默认
|
|
19
|
+
if (raw === undefined || raw === null) {
|
|
20
|
+
return DEFAULT_LIGHT_THRESHOLD;
|
|
21
|
+
}
|
|
22
|
+
// 非数字 → warn + fallback
|
|
23
|
+
if (typeof raw !== 'number' || Number.isNaN(raw)) {
|
|
24
|
+
warn(`forge config: writing_plans.light_threshold must be a number, got ${typeof raw}; falling back to ${DEFAULT_LIGHT_THRESHOLD}`);
|
|
25
|
+
return DEFAULT_LIGHT_THRESHOLD;
|
|
26
|
+
}
|
|
27
|
+
// 非整数 → warn + fallback
|
|
28
|
+
if (!Number.isInteger(raw)) {
|
|
29
|
+
warn(`forge config: writing_plans.light_threshold must be integer, got ${raw}; falling back to ${DEFAULT_LIGHT_THRESHOLD}`);
|
|
30
|
+
return DEFAULT_LIGHT_THRESHOLD;
|
|
31
|
+
}
|
|
32
|
+
// 范围 [50, 2000] → 否则 warn + fallback
|
|
33
|
+
if (raw < 50 || raw > 2000) {
|
|
34
|
+
warn(`forge config: writing_plans.light_threshold out of range [50, 2000], got ${raw}; falling back to ${DEFAULT_LIGHT_THRESHOLD}`);
|
|
35
|
+
return DEFAULT_LIGHT_THRESHOLD;
|
|
36
|
+
}
|
|
37
|
+
// 合法值
|
|
38
|
+
return raw;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=writing-plans-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writing-plans-config.js","sourceRoot":"","sources":["../../../src/core/schema/writing-plans-config.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,wDAAwD;AACxD,MAAM;AACN,sBAAsB;AACtB,wDAAwD;AACxD,iBAAiB;AAGjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA+B,EAC/B,OAA8B,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAExD,MAAM,GAAG,GAAG,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC;IAEnD,UAAU;IACV,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,CACF,qEAAqE,OAAO,GAAG,qBAAqB,uBAAuB,EAAE,CAC9H,CAAC;QACF,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CACF,oEAAoE,GAAG,qBAAqB,uBAAuB,EAAE,CACtH,CAAC;QACF,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;QAC3B,IAAI,CACF,4EAA4E,GAAG,qBAAqB,uBAAuB,EAAE,CAC9H,CAAC;QACF,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,MAAM;IACN,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { Severity } from './severity.js';
|
|
2
|
+
/** archive_summary 顶级 schema(9 业务字段 + 1 schema identifier,沿 master §3.12.1bis + v2 BLOCKER 2 注脚) */
|
|
3
|
+
export interface ArchiveSummary {
|
|
4
|
+
/**
|
|
5
|
+
* YAML schema identifier(v2 BLOCKER 2:不算 master §3.12.1bis 9 业务字段;
|
|
6
|
+
* 沿 forge marker schema 同约定 — 每个 YAML 产物都有 schema literal 标识)
|
|
7
|
+
*/
|
|
8
|
+
schema: 'forge-archive-summary/v1';
|
|
9
|
+
/** semver(沿 forge 自身版本号叙事 §1.4,9e1 写 '1.0.0') */
|
|
10
|
+
version: string;
|
|
11
|
+
/** ISO 8601 UTC */
|
|
12
|
+
archived_at: string;
|
|
13
|
+
/** change id(非空) */
|
|
14
|
+
change_id: string;
|
|
15
|
+
/** verify-passed 摘要(含 verified_invariants 列表;9d verify 三维度填) */
|
|
16
|
+
verify_passed: VerifyPassedRef;
|
|
17
|
+
/** review-passed 摘要(含 reviewers 列表) */
|
|
18
|
+
review_passed: ReviewPassedRef;
|
|
19
|
+
/** process_evidence 14 不变量 pass/fail/legacy 分布;9e1 仅 placeholder,9e2 接 9g 真实统计 */
|
|
20
|
+
process_evidence_summary: ProcessEvidenceSummary;
|
|
21
|
+
/** 单 change archive 的不可变 handoff 记录 — 三类聚合(沿 design §2.4.3)。
|
|
22
|
+
* 注:跨 change backlog 注册表见 forge/backlog/,由 plan-backlog-registry 独立扫 scope YAML 生成,不消费本字段。 */
|
|
23
|
+
handoff_to_backlog: HandoffEntry[];
|
|
24
|
+
/** 给用户回顾用 — verify/review 中 WARNING + acked 的引用 */
|
|
25
|
+
acked_warnings: AckedWarningRef[];
|
|
26
|
+
/** SUGGESTION + resolved=false 的引用(handoff 子集,但单独列出方便 §2.4.4 输出按类分段) */
|
|
27
|
+
pending_suggestions: SuggestionRef[];
|
|
28
|
+
}
|
|
29
|
+
/** verify-passed 摘要 */
|
|
30
|
+
export interface VerifyPassedRef {
|
|
31
|
+
/** 已验证的不变量(9d 三维度 / 9g 13 不变量;9e1 至少含 'hash-match' / 'evidence-complete') */
|
|
32
|
+
verified_invariants: string[];
|
|
33
|
+
}
|
|
34
|
+
/** review-passed 摘要 */
|
|
35
|
+
export interface ReviewPassedRef {
|
|
36
|
+
/** reviewer 列表(actor 值;'ai-agent' / 'human-override' / 具体用户名) */
|
|
37
|
+
reviewers: string[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* process_evidence_summary — 14 不变量分布(9g/9e2 真实填,9e1 仅 placeholder)
|
|
41
|
+
*
|
|
42
|
+
* placeholder=true 表示本字段是 9e1 占位,9e2 实施时改为真实统计:
|
|
43
|
+
* - placeholder: false
|
|
44
|
+
* - invariants_passed: number(经 mapper 优先级筛选后仍为 status='pass' 的 invariant 数)
|
|
45
|
+
* - invariants_with_warning: number(经 mapper 优先级筛选后仍为 status='warning' 的 invariant 数)
|
|
46
|
+
* - invariants_failed: number(v1.0 永远 = 0,fence.ok=false 时 archive 直接 exit 1,summary 不写入)
|
|
47
|
+
* - legacy_exempt: number(legacy marker 豁免数 — verify || review 任一为 legacy 即触发,沿 §3.4.4.1)
|
|
48
|
+
*
|
|
49
|
+
* **精度损失说明(v1.0 接受)**:legacy 路径下被豁免的 invariant 即使产 WARNING 也优先标 'legacy-skip'
|
|
50
|
+
* 不计入 invariants_with_warning;特别是 review-only legacy + verify-side WARNING 副作用
|
|
51
|
+
* (沿 brainstorm spec §4.3 边界场景 + §7 遗留 #8);WARNING 实际信息仍走 acked_warnings(freeze-time)
|
|
52
|
+
* 或 stderr(rerun-time)双路径不丢,仅 summary 中 invariants_with_warning 计数偏低;
|
|
53
|
+
* v1.1+ side-aware mapper 修复。
|
|
54
|
+
*
|
|
55
|
+
* **sum 不变式**:invariants_passed + invariants_with_warning + invariants_failed + legacy_exempt
|
|
56
|
+
* === FENCE_INVARIANT_NAMES.length(14)
|
|
57
|
+
*/
|
|
58
|
+
export interface ProcessEvidenceSummary {
|
|
59
|
+
/** true = 9e1 占位;false = 9e2 真实统计 */
|
|
60
|
+
placeholder: boolean;
|
|
61
|
+
/** placeholder=true 时填说明 */
|
|
62
|
+
note?: string;
|
|
63
|
+
/** placeholder=false 时填具体数;9e2 接 9g */
|
|
64
|
+
invariants_passed?: number;
|
|
65
|
+
/** placeholder=false 时填具体数;9e2 v2 codex 一轮 MAJOR 修订新增字段;legacy 路径下被豁免 invariant 的 WARNING 不计入(精度损失,见上述说明) */
|
|
66
|
+
invariants_with_warning?: number;
|
|
67
|
+
/** placeholder=false 时填具体数;v1.0 永远 = 0(fence.ok=false 时 archive exit 1,summary 不写入) */
|
|
68
|
+
invariants_failed?: number;
|
|
69
|
+
/** placeholder=false 时填具体数;verify || review 任一为 legacy 时该 invariant 在 §3.4.4.1 豁免表内被跳 */
|
|
70
|
+
legacy_exempt?: number;
|
|
71
|
+
}
|
|
72
|
+
/** handoff_to_backlog 一项 — 三类 source 聚合(沿 design §2.4.3) */
|
|
73
|
+
export interface HandoffEntry {
|
|
74
|
+
/** 来源类别 */
|
|
75
|
+
source: 'verify_findings' | 'review_outcomes' | 'pause_decisions' | 'scope_entries';
|
|
76
|
+
/** 来源 id(verify_findings.id 数字 / pause_decisions.id 数字 / review_outcomes 索引数字 / scope_entries.id 字符串) */
|
|
77
|
+
id: number | string;
|
|
78
|
+
/** 三级 severity(scope_entries 来源时可能为 null,沿 design §2.4.3 字面) */
|
|
79
|
+
severity?: Severity | null;
|
|
80
|
+
/** verify/review 来源时的 dimension 字段(沿 9d VerifyFinding) */
|
|
81
|
+
dimension?: string;
|
|
82
|
+
/** verify/review 来源时的 check_type 字段(沿 9d VerifyFinding) */
|
|
83
|
+
check_type?: string;
|
|
84
|
+
/** 证据定位字符串(沿 9a EVIDENCE_FORMATS) */
|
|
85
|
+
evidence?: string;
|
|
86
|
+
/** 建议(可选) */
|
|
87
|
+
recommendation?: string;
|
|
88
|
+
/** pause_decisions 来源时的 chosen_option(应固定 = 3 才进 handoff) */
|
|
89
|
+
chosen_option?: 3;
|
|
90
|
+
/** pause_decisions 来源时的 target_artifact */
|
|
91
|
+
target_artifact?: string;
|
|
92
|
+
/** pause_decisions 来源时的 target_anchor */
|
|
93
|
+
target_anchor?: string;
|
|
94
|
+
/** pause_decisions 来源时的 issue_summary */
|
|
95
|
+
issue_summary?: string;
|
|
96
|
+
/** scope_entries 来源时的 category(沿 9b ScopeCategory) */
|
|
97
|
+
category?: 'out-of-scope' | 'non-goal' | 'future-work';
|
|
98
|
+
/** scope_entries 来源时的 reason */
|
|
99
|
+
reason?: string;
|
|
100
|
+
}
|
|
101
|
+
/** acked_warnings 一项 — verify_findings / review_outcomes 中 WARNING + acked 的引用 */
|
|
102
|
+
export interface AckedWarningRef {
|
|
103
|
+
source: 'verify_findings' | 'review_outcomes';
|
|
104
|
+
id: number;
|
|
105
|
+
dimension?: string;
|
|
106
|
+
check_type?: string;
|
|
107
|
+
evidence?: string;
|
|
108
|
+
acked_by: string;
|
|
109
|
+
acked_at: string;
|
|
110
|
+
rationale?: string;
|
|
111
|
+
}
|
|
112
|
+
/** pending_suggestions 一项 — SUGGESTION + resolved=false 的引用(handoff_to_backlog 子集) */
|
|
113
|
+
export interface SuggestionRef {
|
|
114
|
+
source: 'verify_findings' | 'review_outcomes';
|
|
115
|
+
id: number;
|
|
116
|
+
dimension?: string;
|
|
117
|
+
check_type?: string;
|
|
118
|
+
evidence?: string;
|
|
119
|
+
recommendation?: string;
|
|
120
|
+
}
|
|
121
|
+
/** 9e1 当前 version 常量 */
|
|
122
|
+
export declare const ARCHIVE_SUMMARY_VERSION = "1.0.0";
|
|
123
|
+
/** 9e1 placeholder process_evidence_summary(9e2 接 9g 替换) */
|
|
124
|
+
export declare const PLACEHOLDER_PROCESS_EVIDENCE_SUMMARY: ProcessEvidenceSummary;
|
|
125
|
+
/** ISO 8601 UTC 校验正则(沿 marker-schema.ts:20 同形式) */
|
|
126
|
+
export declare const ARCHIVE_SUMMARY_ISO_8601_RE: RegExp;
|
|
127
|
+
/** semver 弱校验(major.minor.patch[-prerelease][+build]) */
|
|
128
|
+
export declare const SEMVER_RE: RegExp;
|
|
129
|
+
/** 类型守卫:对象具备 ArchiveSummary 顶级字段(运行时浅校验) */
|
|
130
|
+
export declare function looksLikeArchiveSummary(v: unknown): v is ArchiveSummary;
|
|
131
|
+
//# sourceMappingURL=archive-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive-summary.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/archive-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/core/schemas/archive-summary.ts — plan-9e1 Task 1
|
|
2
|
+
// §3.12.1bis Interface Freeze:archive_summary 9 业务字段冻结 + 1 schema identifier
|
|
3
|
+
// 沿 design §2.4.3 YAML 字面格式 + master §3.12.1bis 字段表
|
|
4
|
+
//
|
|
5
|
+
// v2 BLOCKER 2 修订:`schema` literal 字段是 YAML schema identifier(沿所有 forge marker
|
|
6
|
+
// schema 同约定:forge-verify/v1, forge-review/v1, forge-scope-entries/v1,
|
|
7
|
+
// forge-ack-log/v1 都有),**不算 master §3.12.1bis 9 业务字段**。
|
|
8
|
+
// master 9 字段冻结指 version / archived_at / change_id / verify_passed / review_passed /
|
|
9
|
+
// process_evidence_summary / handoff_to_backlog / acked_warnings / pending_suggestions。
|
|
10
|
+
// 字段名沿 master(`acked_warnings`)而非 design line 662 字面(`acknowledged_warnings`)。
|
|
11
|
+
//
|
|
12
|
+
// 后续 sub-plan(9e2 接 process_evidence_summary / v1.1 backlog index)reference 此处,不重定义
|
|
13
|
+
/** 9e1 当前 version 常量 */
|
|
14
|
+
export const ARCHIVE_SUMMARY_VERSION = '1.0.0';
|
|
15
|
+
/** 9e1 placeholder process_evidence_summary(9e2 接 9g 替换) */
|
|
16
|
+
export const PLACEHOLDER_PROCESS_EVIDENCE_SUMMARY = {
|
|
17
|
+
placeholder: true,
|
|
18
|
+
note: 'process_evidence 14 不变量统计待 9g + 9e2 实施',
|
|
19
|
+
};
|
|
20
|
+
/** ISO 8601 UTC 校验正则(沿 marker-schema.ts:20 同形式) */
|
|
21
|
+
export const ARCHIVE_SUMMARY_ISO_8601_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/;
|
|
22
|
+
/** semver 弱校验(major.minor.patch[-prerelease][+build]) */
|
|
23
|
+
export const SEMVER_RE = /^\d+\.\d+\.\d+(?:-[\w.-]+)?(?:\+[\w.-]+)?$/;
|
|
24
|
+
/** 类型守卫:对象具备 ArchiveSummary 顶级字段(运行时浅校验) */
|
|
25
|
+
export function looksLikeArchiveSummary(v) {
|
|
26
|
+
if (!v || typeof v !== 'object')
|
|
27
|
+
return false;
|
|
28
|
+
const o = v;
|
|
29
|
+
return o.schema === 'forge-archive-summary/v1';
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=archive-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive-summary.js","sourceRoot":"","sources":["../../../src/core/schemas/archive-summary.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,6EAA6E;AAC7E,oDAAoD;AACpD,EAAE;AACF,+EAA+E;AAC/E,yEAAyE;AACzE,0DAA0D;AAC1D,uFAAuF;AACvF,0FAA0F;AAC1F,iFAAiF;AACjF,EAAE;AACF,oFAAoF;AAkIpF,wBAAwB;AACxB,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAE/C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oCAAoC,GAA2B;IAC1E,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,wCAAwC;CAC/C,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,wCAAwC,CAAC;AAEpF,yDAAyD;AACzD,MAAM,CAAC,MAAM,SAAS,GAAG,4CAA4C,CAAC;AAEtE,4CAA4C;AAC5C,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,CAAC,CAAC,MAAM,KAAK,0BAA0B,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/** ProcessEvidence 顶级 schema(沿 design §2.7.2 字段表) */
|
|
2
|
+
export interface ProcessEvidence {
|
|
3
|
+
/** YAML schema identifier(沿 forge marker schema 同约定) */
|
|
4
|
+
schema: 'forge-process-evidence/v1';
|
|
5
|
+
/** 模式:full(默认重跑全部)| sample(抽样)| hash-only(仅 hash 校验,等同 v0.4 弱 fence) */
|
|
6
|
+
process_verification_mode: 'full' | 'sample' | 'hash-only';
|
|
7
|
+
/** mode != full 时必填 — ack-log 含对应 ack-mode 条目;CI 模式拒签 mode != full(沿 §2.7.4 B) */
|
|
8
|
+
process_verification_mode_acked_by: string | null;
|
|
9
|
+
/** ISO 8601 UTC */
|
|
10
|
+
process_verification_mode_acked_at: string | null;
|
|
11
|
+
/** 环境三因子(MAJOR #23 — 重跑前 env 一致校验,不一致 → WARNING) */
|
|
12
|
+
env_hash: EnvHash;
|
|
13
|
+
/** TDD RED→GREEN 事件序列(每 task 一条;沿 §2.7.2 + 不变量 1-6 + 11) */
|
|
14
|
+
tdd_event_chain: TddEventChain[];
|
|
15
|
+
/** verify 命令每次跑都 append(沿 §2.7.6 helper append-only;不变量 7) */
|
|
16
|
+
verify_invocations: VerifyInvocation[];
|
|
17
|
+
/** subagent 二段 review 痕迹(不变量 8) */
|
|
18
|
+
subagent_review_chain: SubagentReviewChain[];
|
|
19
|
+
}
|
|
20
|
+
/** 环境三因子哈希(MAJOR #23) */
|
|
21
|
+
export interface EnvHash {
|
|
22
|
+
/** sha256(pnpm-lock.yaml 或 package-lock.json) */
|
|
23
|
+
lockfile_hash: string;
|
|
24
|
+
/** semver,e.g. "20.10.0" */
|
|
25
|
+
node_version: string;
|
|
26
|
+
/** "win32" | "darwin" | "linux"(沿 Node os.platform()) */
|
|
27
|
+
os_platform: 'win32' | 'darwin' | 'linux';
|
|
28
|
+
}
|
|
29
|
+
/** TDD 单 task RED→GREEN 事件链(每 task 一条) */
|
|
30
|
+
export interface TddEventChain {
|
|
31
|
+
/** task 引用(沿 tasks.md 锚点) */
|
|
32
|
+
task_ref: string;
|
|
33
|
+
/** RED 阶段记录(tdd_exemption 非空时可省) */
|
|
34
|
+
red_commit: RedCommitRecord | null;
|
|
35
|
+
/** GREEN 阶段记录(必填) */
|
|
36
|
+
green_commit: GreenCommitRecord;
|
|
37
|
+
/** light mode trivial change 免 RED 的 ack 引用(沿 §2.7.2 MAJOR #37;不变量 11) */
|
|
38
|
+
tdd_exemption: TddExemption | null;
|
|
39
|
+
/** tdd_exemption 非空时必填 — ack-log 中对应 user ack 的 acked_by */
|
|
40
|
+
tdd_exemption_acked_by: string | null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* RED commit 记录(brainstorm v6 修订,Codex 一轮 M-1 修复)
|
|
44
|
+
* 字段名严格沿 master spec §2.7.2 行 1115/1116 字面 — red_commit 节点下的 log/hash 字段
|
|
45
|
+
* 是 red_log_path / red_log_hash 而非通用 log_path / log_hash
|
|
46
|
+
*/
|
|
47
|
+
export interface RedCommitRecord {
|
|
48
|
+
/** git sha(40 hex) */
|
|
49
|
+
sha: string;
|
|
50
|
+
/** ISO 8601 UTC */
|
|
51
|
+
timestamp: string;
|
|
52
|
+
/** RED plain log 路径(forge/changes/<id>/.evidence/ 相对路径;沿 master spec 行 1115) */
|
|
53
|
+
red_log_path: string;
|
|
54
|
+
/** sha256(red log content);沿 master spec 行 1116 */
|
|
55
|
+
red_log_hash: string;
|
|
56
|
+
/** 进程 exit code — RED 必 != 0(MAJOR #19,不变量 3) */
|
|
57
|
+
exit_code: number;
|
|
58
|
+
/** 结构化 reporter 报告路径(JUnit XML / TAP / Vitest JSON;MAJOR #20) */
|
|
59
|
+
runner_report_path: string;
|
|
60
|
+
/** sha256(reporter content) */
|
|
61
|
+
runner_report_hash: string;
|
|
62
|
+
/** RED 阶段必填:绑定具体失败的 test(MAJOR #24;不变量 5) */
|
|
63
|
+
expected_failures: ExpectedFailure[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* GREEN commit 记录(brainstorm v6 修订,Codex 一轮 M-1 修复)
|
|
67
|
+
* 字段名沿 master spec §2.7.2 行 1127/1128 字面 — green_commit 节点下用 green_log_path/hash
|
|
68
|
+
* 注:无 expected_failures 字段(schema 层禁止 GREEN 含)
|
|
69
|
+
*/
|
|
70
|
+
export interface GreenCommitRecord {
|
|
71
|
+
/** git sha(40 hex) */
|
|
72
|
+
sha: string;
|
|
73
|
+
/** ISO 8601 UTC */
|
|
74
|
+
timestamp: string;
|
|
75
|
+
/** GREEN plain log 路径;沿 master spec 行 1127 */
|
|
76
|
+
green_log_path: string;
|
|
77
|
+
/** sha256(green log content);沿 master spec 行 1128 */
|
|
78
|
+
green_log_hash: string;
|
|
79
|
+
/** 进程 exit code — GREEN 必 == 0(MAJOR #19,不变量 4) */
|
|
80
|
+
exit_code: number;
|
|
81
|
+
/** 结构化 reporter 报告路径 */
|
|
82
|
+
runner_report_path: string;
|
|
83
|
+
/** sha256(reporter content) */
|
|
84
|
+
runner_report_hash: string;
|
|
85
|
+
}
|
|
86
|
+
/** RED 阶段期望失败的 test(MAJOR #24) */
|
|
87
|
+
export interface ExpectedFailure {
|
|
88
|
+
/** 相对 repo 根 */
|
|
89
|
+
test_file: string;
|
|
90
|
+
/** 测试名(对应 reporter 中的 test 标识) */
|
|
91
|
+
test_name: string;
|
|
92
|
+
/** 失败类型 */
|
|
93
|
+
failure_type: 'assertion' | 'timeout' | 'error' | 'not-implemented';
|
|
94
|
+
}
|
|
95
|
+
/** light mode trivial change 免 RED(沿 §2.7.2 MAJOR #37) */
|
|
96
|
+
export interface TddExemption {
|
|
97
|
+
/** 沿 config.yaml#writing_plans.light_threshold 触发(默认 200 行) */
|
|
98
|
+
reason: 'light-mode-trivial';
|
|
99
|
+
/** 变更行数 */
|
|
100
|
+
loc_delta: number;
|
|
101
|
+
}
|
|
102
|
+
/** verify 命令单次调用记录(沿 §2.7.6 helper append-only) */
|
|
103
|
+
export interface VerifyInvocation {
|
|
104
|
+
/** ISO 8601 UTC */
|
|
105
|
+
invoked_at: string;
|
|
106
|
+
/** 涉及的 task(MAJOR #22:list,支持 per-task / change-level) */
|
|
107
|
+
task_refs: string[];
|
|
108
|
+
/** per-task = subagent 实施完单 task 立即跑;change-level = 主代理统一跑 */
|
|
109
|
+
verify_scope: 'per-task' | 'change-level';
|
|
110
|
+
/** pass | fail | skip */
|
|
111
|
+
result: 'pass' | 'fail' | 'skip';
|
|
112
|
+
/** 进程 exit code */
|
|
113
|
+
exit_code: number;
|
|
114
|
+
/** plain log 路径 */
|
|
115
|
+
log_path: string;
|
|
116
|
+
log_hash: string;
|
|
117
|
+
/** 结构化 reporter 报告路径 */
|
|
118
|
+
runner_report_path: string;
|
|
119
|
+
runner_report_hash: string;
|
|
120
|
+
}
|
|
121
|
+
/** subagent 二段 review 链(沿 §2.7.2 + 不变量 8) */
|
|
122
|
+
export interface SubagentReviewChain {
|
|
123
|
+
task_ref: string;
|
|
124
|
+
/** subagent 实施的 commit */
|
|
125
|
+
implementer_commit: string;
|
|
126
|
+
/** spec 维度 review 多次迭代(每次都 append) */
|
|
127
|
+
spec_reviewer_iterations: ReviewIteration[];
|
|
128
|
+
/** quality 维度 review 多次迭代 */
|
|
129
|
+
quality_reviewer_iterations: ReviewIteration[];
|
|
130
|
+
/** 主代理 check-off 时间(ISO 8601 UTC) */
|
|
131
|
+
main_agent_check_off_at: string;
|
|
132
|
+
}
|
|
133
|
+
/** 单次 reviewer 迭代 */
|
|
134
|
+
export interface ReviewIteration {
|
|
135
|
+
/** reviewer subagent 跑完时的 commit sha */
|
|
136
|
+
reviewer_commit: string;
|
|
137
|
+
/** needs-fix 走下一轮;approved 终态 */
|
|
138
|
+
outcome: 'needs-fix' | 'approved';
|
|
139
|
+
/** review 笔记 log 路径(forge/changes/<id>/.evidence/ 相对) */
|
|
140
|
+
notes_log_path: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* ProcessVerificationConfig:forge/config.yaml#process_verification 字段类型
|
|
144
|
+
* validateProcessVerificationConfig 校验阈值,见 src/core/schema/process-verification-config.ts
|
|
145
|
+
*/
|
|
146
|
+
export interface ProcessVerificationConfig {
|
|
147
|
+
/** 默认 'full' */
|
|
148
|
+
mode: 'full' | 'sample' | 'hash-only';
|
|
149
|
+
/** sample 模式抽样比例(0..1,默认 0.3) */
|
|
150
|
+
sample_ratio: number;
|
|
151
|
+
/** 单 task 重跑超时秒(默认 300) */
|
|
152
|
+
test_timeout_per_task: number;
|
|
153
|
+
/** 并发 worktree 上限(默认 2) */
|
|
154
|
+
max_parallel_reruns: number;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=process-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-evidence.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/process-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/core/schemas/process-evidence.ts — plan-9g Task 1
|
|
2
|
+
// §2.7.2 forge-process-evidence/v1 schema:14 不变量字段 + 五源 cross-check(brainstorm v16)
|
|
3
|
+
// 沿 archive-summary.ts 模式:schema literal + 手写 interface + JSDoc
|
|
4
|
+
//
|
|
5
|
+
// 关键设计(brainstorm spec §4):
|
|
6
|
+
// - RedCommitRecord / GreenCommitRecord 拆两 interface(Codex 一轮 M-1)
|
|
7
|
+
// - 字段名严格沿 master spec §2.7.2 行 1115/1116 / 1127/1128 字面
|
|
8
|
+
// (red_log_path / red_log_hash / green_log_path / green_log_hash;
|
|
9
|
+
// runner_report_path / runner_report_hash 通用)
|
|
10
|
+
// - GreenCommitRecord 无 expected_failures 字段(schema 层禁止 GREEN 含)
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=process-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-evidence.js","sourceRoot":"","sources":["../../../src/core/schemas/process-evidence.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,oFAAoF;AACpF,gEAAgE;AAChE,EAAE;AACF,4BAA4B;AAC5B,qEAAqE;AACrE,2DAA2D;AAC3D,sEAAsE;AACtE,mDAAmD;AACnD,mEAAmE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** 三段 category 枚举(沿 design §2.6.2) */
|
|
2
|
+
export type ScopeCategory = 'out-of-scope' | 'non-goal' | 'future-work';
|
|
3
|
+
export declare const SCOPE_CATEGORY_VALUES: readonly ScopeCategory[];
|
|
4
|
+
export declare function isScopeCategory(v: unknown): v is ScopeCategory;
|
|
5
|
+
/** 状态转移五枚举(沿 design §2.6.4) */
|
|
6
|
+
export type ScopeStatus = 'active' | 'inherited' | 'superseded' | 'completed' | 'obsolete';
|
|
7
|
+
export declare const SCOPE_STATUS_VALUES: readonly ScopeStatus[];
|
|
8
|
+
export declare function isScopeStatus(v: unknown): v is ScopeStatus;
|
|
9
|
+
/** 三段 anchor ID(沿 design §2.6.3,§3.12.2 路径冻结) */
|
|
10
|
+
export type ScopeAnchorId = 'forge-oos' | 'forge-non-goals' | 'forge-future-work';
|
|
11
|
+
export declare const SCOPE_ANCHOR_IDS: readonly ScopeAnchorId[];
|
|
12
|
+
export declare function isScopeAnchorId(v: unknown): v is ScopeAnchorId;
|
|
13
|
+
/** anchor ID → category 默认映射(propose 阶段补全 entry.category 用) */
|
|
14
|
+
export declare const ANCHOR_TO_CATEGORY: Record<ScopeAnchorId, ScopeCategory>;
|
|
15
|
+
/** triggered_by 来源(沿 design §2.6.3 字段语义) */
|
|
16
|
+
export interface TriggeredByRef {
|
|
17
|
+
source: 'pause_decisions' | 'explore_capture' | 'review_outcomes';
|
|
18
|
+
id: string | number;
|
|
19
|
+
}
|
|
20
|
+
/** 优先级(沿 design §2.6.3,可空) */
|
|
21
|
+
export type ScopePriority = 'critical' | 'high' | 'medium' | 'low' | null;
|
|
22
|
+
/** Scope entry 8 字段(沿 design §2.6.3 字段语义详) */
|
|
23
|
+
export interface ScopeEntry {
|
|
24
|
+
/** kebab-case 稳定 ID,跨 change 唯一 */
|
|
25
|
+
id: string;
|
|
26
|
+
/** 三段分类 */
|
|
27
|
+
category: ScopeCategory;
|
|
28
|
+
/** 1-2 句概括 */
|
|
29
|
+
description: string;
|
|
30
|
+
/** 必填论证 — 为什么不做 / 为什么反目标 / 为什么是未来工作 */
|
|
31
|
+
reason: string;
|
|
32
|
+
/** 优先级(null = 暂未排序) */
|
|
33
|
+
priority: ScopePriority;
|
|
34
|
+
/** 状态(沿 §2.6.4 状态转移) */
|
|
35
|
+
status: ScopeStatus;
|
|
36
|
+
/** 来源引用(从 §2.1 pause_decisions / §2.5 explore capture / review_outcomes 转入)*/
|
|
37
|
+
triggered_by: TriggeredByRef | null;
|
|
38
|
+
/** 关联其他 change id */
|
|
39
|
+
related_change: string | null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 合法的 superseding new_status —— 仅这 4 个值参与扣减(spec §9c 守卫)。
|
|
43
|
+
* aggregator(扣减守卫)与 backlog/render(invalid-new-status 判定)共用此集合,
|
|
44
|
+
* 避免两处各自维护副本漂移。
|
|
45
|
+
*/
|
|
46
|
+
export declare const VALID_SUPERSEDING_NEW_STATUS: Set<string>;
|
|
47
|
+
/** SupersedingRef 4 字段(沿 design §2.6.4 forward-reference) */
|
|
48
|
+
export interface SupersedingRef {
|
|
49
|
+
/** 历史 entry 所在 archived change id */
|
|
50
|
+
source_change: string;
|
|
51
|
+
/** 历史 entry 的 id */
|
|
52
|
+
entry_id: string;
|
|
53
|
+
/** 新状态(本 change 给出的状态变更) */
|
|
54
|
+
new_status: ScopeStatus;
|
|
55
|
+
/** 论证(为什么把状态改成 new_status) */
|
|
56
|
+
rationale: string;
|
|
57
|
+
}
|
|
58
|
+
/** scope-entries 顶级 schema(§3.12.1bis 锁死) */
|
|
59
|
+
export interface ScopeEntriesBlock {
|
|
60
|
+
schema: 'forge-scope-entries/v1';
|
|
61
|
+
/** 每段一个 anchor */
|
|
62
|
+
anchor_id: ScopeAnchorId;
|
|
63
|
+
/** 本段 entries */
|
|
64
|
+
entries: ScopeEntry[];
|
|
65
|
+
/** 可选 forward-reference */
|
|
66
|
+
superseding_entries?: SupersedingRef[];
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=scope-entries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-entries.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/scope-entries.ts"],"names":[],"mappings":"AAIA,sCAAsC;AACtC,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;AACxE,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EAIhD,CAAC;AAEX,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AAED,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAC3F,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAM5C,CAAC;AAEX,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAE1D;AAED,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAClF,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAI3C,CAAC;AAEX,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AAED,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,aAAa,CAInE,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IAClE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,8BAA8B;AAC9B,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;AAE1E,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,wBAAwB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,8EAA8E;IAC9E,YAAY,EAAE,cAAc,GAAG,IAAI,CAAC;IACpC,qBAAqB;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,aAKvC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,EAAE,WAAW,CAAC;IACxB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kBAAkB;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,iBAAiB;IACjB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAC;CACxC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// src/core/schemas/scope-entries.ts
|
|
2
|
+
// §3.12.1bis Interface Freeze 共享 schema(plan-9b)
|
|
3
|
+
// 后续 sub-plan(9e2 / 9f / 9d / receiving-code-review) reference 此处,不重定义
|
|
4
|
+
export const SCOPE_CATEGORY_VALUES = [
|
|
5
|
+
'out-of-scope',
|
|
6
|
+
'non-goal',
|
|
7
|
+
'future-work',
|
|
8
|
+
];
|
|
9
|
+
export function isScopeCategory(v) {
|
|
10
|
+
return typeof v === 'string' && SCOPE_CATEGORY_VALUES.includes(v);
|
|
11
|
+
}
|
|
12
|
+
export const SCOPE_STATUS_VALUES = [
|
|
13
|
+
'active',
|
|
14
|
+
'inherited',
|
|
15
|
+
'superseded',
|
|
16
|
+
'completed',
|
|
17
|
+
'obsolete',
|
|
18
|
+
];
|
|
19
|
+
export function isScopeStatus(v) {
|
|
20
|
+
return typeof v === 'string' && SCOPE_STATUS_VALUES.includes(v);
|
|
21
|
+
}
|
|
22
|
+
export const SCOPE_ANCHOR_IDS = [
|
|
23
|
+
'forge-oos',
|
|
24
|
+
'forge-non-goals',
|
|
25
|
+
'forge-future-work',
|
|
26
|
+
];
|
|
27
|
+
export function isScopeAnchorId(v) {
|
|
28
|
+
return typeof v === 'string' && SCOPE_ANCHOR_IDS.includes(v);
|
|
29
|
+
}
|
|
30
|
+
/** anchor ID → category 默认映射(propose 阶段补全 entry.category 用) */
|
|
31
|
+
export const ANCHOR_TO_CATEGORY = {
|
|
32
|
+
'forge-oos': 'out-of-scope',
|
|
33
|
+
'forge-non-goals': 'non-goal',
|
|
34
|
+
'forge-future-work': 'future-work',
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* 合法的 superseding new_status —— 仅这 4 个值参与扣减(spec §9c 守卫)。
|
|
38
|
+
* aggregator(扣减守卫)与 backlog/render(invalid-new-status 判定)共用此集合,
|
|
39
|
+
* 避免两处各自维护副本漂移。
|
|
40
|
+
*/
|
|
41
|
+
export const VALID_SUPERSEDING_NEW_STATUS = new Set([
|
|
42
|
+
'superseded',
|
|
43
|
+
'obsolete',
|
|
44
|
+
'completed',
|
|
45
|
+
'inherited',
|
|
46
|
+
]);
|
|
47
|
+
//# sourceMappingURL=scope-entries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-entries.js","sourceRoot":"","sources":["../../../src/core/schemas/scope-entries.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,iDAAiD;AACjD,uEAAuE;AAIvE,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,cAAc;IACd,UAAU;IACV,aAAa;CACL,CAAC;AAEX,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,qBAA2C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAID,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;CACF,CAAC;AAEX,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,mBAAyC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAID,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,WAAW;IACX,iBAAiB;IACjB,mBAAmB;CACX,CAAC;AAEX,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAyC;IACtE,WAAW,EAAE,cAAc;IAC3B,iBAAiB,EAAE,UAAU;IAC7B,mBAAmB,EAAE,aAAa;CACnC,CAAC;AA+BF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAClD,YAAY;IACZ,UAAU;IACV,WAAW;IACX,WAAW;CACZ,CAAC,CAAC"}
|