@dommaker/harness 1.3.0 → 1.5.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/CHANGELOG.md +20 -0
- package/README.md +0 -2
- package/bin/harness.js +86 -32
- package/dist/cli/command-contract.d.ts +83 -0
- package/dist/cli/command-contract.d.ts.map +1 -0
- package/dist/cli/command-contract.js +66 -0
- package/dist/cli/command-contract.js.map +1 -0
- package/dist/cli/commands/acceptance.d.ts +3 -2
- package/dist/cli/commands/acceptance.d.ts.map +1 -1
- package/dist/cli/commands/acceptance.js +28 -24
- package/dist/cli/commands/acceptance.js.map +1 -1
- package/dist/cli/commands/analyze-sessions.d.ts +2 -1
- package/dist/cli/commands/analyze-sessions.d.ts.map +1 -1
- package/dist/cli/commands/analyze-sessions.js +25 -24
- package/dist/cli/commands/analyze-sessions.js.map +1 -1
- package/dist/cli/commands/check.d.ts +14 -2
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +104 -61
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/command.d.ts +5 -1
- package/dist/cli/commands/command.d.ts.map +1 -1
- package/dist/cli/commands/command.js +26 -17
- package/dist/cli/commands/command.js.map +1 -1
- package/dist/cli/commands/constraints-report.d.ts +2 -1
- package/dist/cli/commands/constraints-report.d.ts.map +1 -1
- package/dist/cli/commands/constraints-report.js +37 -33
- package/dist/cli/commands/constraints-report.js.map +1 -1
- package/dist/cli/commands/constraints-retire.d.ts +6 -5
- package/dist/cli/commands/constraints-retire.d.ts.map +1 -1
- package/dist/cli/commands/constraints-retire.js +50 -52
- package/dist/cli/commands/constraints-retire.js.map +1 -1
- package/dist/cli/commands/constraints.d.ts +2 -1
- package/dist/cli/commands/constraints.d.ts.map +1 -1
- package/dist/cli/commands/constraints.js +10 -27
- package/dist/cli/commands/constraints.js.map +1 -1
- package/dist/cli/commands/contract.d.ts +3 -2
- package/dist/cli/commands/contract.d.ts.map +1 -1
- package/dist/cli/commands/contract.js +45 -42
- package/dist/cli/commands/contract.js.map +1 -1
- package/dist/cli/commands/definitions.d.ts +11 -11
- package/dist/cli/commands/definitions.d.ts.map +1 -1
- package/dist/cli/commands/definitions.js +27 -219
- package/dist/cli/commands/definitions.js.map +1 -1
- package/dist/cli/commands/failure.d.ts +5 -4
- package/dist/cli/commands/failure.d.ts.map +1 -1
- package/dist/cli/commands/failure.js +31 -25
- package/dist/cli/commands/failure.js.map +1 -1
- package/dist/cli/commands/init.d.ts +7 -5
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +147 -211
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts +17 -30
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/knowledge.js +183 -273
- package/dist/cli/commands/knowledge.js.map +1 -1
- package/dist/cli/commands/passes-gate.d.ts +8 -2
- package/dist/cli/commands/passes-gate.d.ts.map +1 -1
- package/dist/cli/commands/passes-gate.js +44 -66
- package/dist/cli/commands/passes-gate.js.map +1 -1
- package/dist/cli/commands/performance.d.ts +2 -1
- package/dist/cli/commands/performance.d.ts.map +1 -1
- package/dist/cli/commands/performance.js +20 -18
- package/dist/cli/commands/performance.js.map +1 -1
- package/dist/cli/commands/posteval-plan.d.ts +5 -1
- package/dist/cli/commands/posteval-plan.d.ts.map +1 -1
- package/dist/cli/commands/posteval-plan.js +26 -15
- package/dist/cli/commands/posteval-plan.js.map +1 -1
- package/dist/cli/commands/release.d.ts +6 -1
- package/dist/cli/commands/release.d.ts.map +1 -1
- package/dist/cli/commands/release.js +69 -59
- package/dist/cli/commands/release.js.map +1 -1
- package/dist/cli/commands/report.d.ts +2 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +9 -5
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/review.d.ts +3 -2
- package/dist/cli/commands/review.d.ts.map +1 -1
- package/dist/cli/commands/review.js +33 -29
- package/dist/cli/commands/review.js.map +1 -1
- package/dist/cli/commands/sdd.d.ts +2 -1
- package/dist/cli/commands/sdd.d.ts.map +1 -1
- package/dist/cli/commands/sdd.js +7 -5
- package/dist/cli/commands/sdd.js.map +1 -1
- package/dist/cli/commands/security.d.ts +3 -2
- package/dist/cli/commands/security.d.ts.map +1 -1
- package/dist/cli/commands/security.js +29 -26
- package/dist/cli/commands/security.js.map +1 -1
- package/dist/cli/commands/spec-baseline-check.d.ts +2 -1
- package/dist/cli/commands/spec-baseline-check.d.ts.map +1 -1
- package/dist/cli/commands/spec-baseline-check.js +15 -11
- package/dist/cli/commands/spec-baseline-check.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +7 -2
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +61 -51
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/cli/commands/status.d.ts +2 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +57 -53
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync-docs/agents-syncer.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/agents-syncer.js +5 -2
- package/dist/cli/commands/sync-docs/agents-syncer.js.map +1 -1
- package/dist/cli/commands/sync-docs/context-syncer.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/context-syncer.js +3 -2
- package/dist/cli/commands/sync-docs/context-syncer.js.map +1 -1
- package/dist/cli/commands/sync-docs/index.d.ts +2 -1
- package/dist/cli/commands/sync-docs/index.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/index.js +68 -88
- package/dist/cli/commands/sync-docs/index.js.map +1 -1
- package/dist/cli/commands/sync-docs/project-reader.d.ts +6 -1
- package/dist/cli/commands/sync-docs/project-reader.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/project-reader.js +14 -16
- package/dist/cli/commands/sync-docs/project-reader.js.map +1 -1
- package/dist/cli/commands/update-user-model.d.ts +9 -3
- package/dist/cli/commands/update-user-model.d.ts.map +1 -1
- package/dist/cli/commands/update-user-model.js +56 -61
- package/dist/cli/commands/update-user-model.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +4 -3
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +28 -26
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/session-mining/transcript.d.ts +7 -1
- package/dist/cli/session-mining/transcript.d.ts.map +1 -1
- package/dist/cli/session-mining/transcript.js +21 -14
- package/dist/cli/session-mining/transcript.js.map +1 -1
- package/dist/context/session-manager.d.ts.map +1 -1
- package/dist/context/session-manager.js +19 -32
- package/dist/context/session-manager.js.map +1 -1
- package/dist/core/constraints/agent-prompt-renderer.d.ts.map +1 -1
- package/dist/core/constraints/agent-prompt-renderer.js +1 -4
- package/dist/core/constraints/agent-prompt-renderer.js.map +1 -1
- package/dist/core/constraints/capabilities-parser.d.ts +24 -7
- package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
- package/dist/core/constraints/capabilities-parser.js +32 -28
- package/dist/core/constraints/capabilities-parser.js.map +1 -1
- package/dist/core/constraints/capabilities-reconcile.d.ts +67 -0
- package/dist/core/constraints/capabilities-reconcile.d.ts.map +1 -0
- package/dist/core/constraints/capabilities-reconcile.js +105 -0
- package/dist/core/constraints/capabilities-reconcile.js.map +1 -0
- package/dist/core/constraints/checker.d.ts +21 -43
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +68 -117
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/checkers/capability-sync.d.ts +20 -8
- package/dist/core/constraints/checkers/capability-sync.d.ts.map +1 -1
- package/dist/core/constraints/checkers/capability-sync.js +66 -77
- package/dist/core/constraints/checkers/capability-sync.js.map +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.d.ts +4 -2
- package/dist/core/constraints/checkers/context-doc-sync.d.ts.map +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.js +13 -22
- package/dist/core/constraints/checkers/context-doc-sync.js.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.d.ts.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.js +49 -66
- package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
- package/dist/core/constraints/checkers/governance-presence.d.ts +2 -2
- package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
- package/dist/core/constraints/checkers/governance-presence.js +7 -28
- package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
- package/dist/core/constraints/checkers/index.d.ts +2 -2
- package/dist/core/constraints/checkers/index.d.ts.map +1 -1
- package/dist/core/constraints/checkers/index.js +2 -1
- package/dist/core/constraints/checkers/index.js.map +1 -1
- package/dist/core/constraints/checkers/no-test-simplification.d.ts.map +1 -1
- package/dist/core/constraints/checkers/no-test-simplification.js +4 -3
- package/dist/core/constraints/checkers/no-test-simplification.js.map +1 -1
- package/dist/core/constraints/checkers/types.d.ts +43 -4
- package/dist/core/constraints/checkers/types.d.ts.map +1 -1
- package/dist/core/constraints/checkers/types.js +33 -0
- package/dist/core/constraints/checkers/types.js.map +1 -1
- package/dist/core/constraints/context-builder.d.ts +15 -14
- package/dist/core/constraints/context-builder.d.ts.map +1 -1
- package/dist/core/constraints/context-builder.js +32 -96
- package/dist/core/constraints/context-builder.js.map +1 -1
- package/dist/core/constraints/doc-freshness/runner.d.ts.map +1 -1
- package/dist/core/constraints/doc-freshness/runner.js +2 -1
- package/dist/core/constraints/doc-freshness/runner.js.map +1 -1
- package/dist/core/constraints/git-evidence.d.ts +60 -0
- package/dist/core/constraints/git-evidence.d.ts.map +1 -0
- package/dist/core/constraints/git-evidence.js +88 -0
- package/dist/core/constraints/git-evidence.js.map +1 -0
- package/dist/core/constraints/injection-drift.d.ts +3 -20
- package/dist/core/constraints/injection-drift.d.ts.map +1 -1
- package/dist/core/constraints/injection-drift.js +10 -57
- package/dist/core/constraints/injection-drift.js.map +1 -1
- package/dist/core/constraints/injection-writer.d.ts +113 -0
- package/dist/core/constraints/injection-writer.d.ts.map +1 -0
- package/dist/core/constraints/injection-writer.js +228 -0
- package/dist/core/constraints/injection-writer.js.map +1 -0
- package/dist/core/constraints/usage-report.d.ts +22 -1
- package/dist/core/constraints/usage-report.d.ts.map +1 -1
- package/dist/core/constraints/usage-report.js +27 -20
- package/dist/core/constraints/usage-report.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/project-config-loader.d.ts +32 -1
- package/dist/core/project-config-loader.d.ts.map +1 -1
- package/dist/core/project-config-loader.js +39 -9
- package/dist/core/project-config-loader.js.map +1 -1
- package/dist/core/validators/passes-gate.d.ts +15 -64
- package/dist/core/validators/passes-gate.d.ts.map +1 -1
- package/dist/core/validators/passes-gate.js +84 -222
- package/dist/core/validators/passes-gate.js.map +1 -1
- package/dist/core/validators/test-output.d.ts +58 -0
- package/dist/core/validators/test-output.d.ts.map +1 -0
- package/dist/core/validators/test-output.js +109 -0
- package/dist/core/validators/test-output.js.map +1 -0
- package/dist/failure/recorder.d.ts +6 -0
- package/dist/failure/recorder.d.ts.map +1 -1
- package/dist/failure/recorder.js +12 -8
- package/dist/failure/recorder.js.map +1 -1
- package/dist/gates/acceptance.d.ts +1 -48
- package/dist/gates/acceptance.d.ts.map +1 -1
- package/dist/gates/acceptance.js +6 -38
- package/dist/gates/acceptance.js.map +1 -1
- package/dist/gates/checker-gate.d.ts +2 -1
- package/dist/gates/checker-gate.d.ts.map +1 -1
- package/dist/gates/checker-gate.js +11 -13
- package/dist/gates/checker-gate.js.map +1 -1
- package/dist/gates/command.d.ts.map +1 -1
- package/dist/gates/command.js +10 -22
- package/dist/gates/command.js.map +1 -1
- package/dist/gates/contract.d.ts.map +1 -1
- package/dist/gates/contract.js +22 -61
- package/dist/gates/contract.js.map +1 -1
- package/dist/gates/performance.d.ts.map +1 -1
- package/dist/gates/performance.js +13 -31
- package/dist/gates/performance.js.map +1 -1
- package/dist/gates/review.d.ts.map +1 -1
- package/dist/gates/review.js +21 -53
- package/dist/gates/review.js.map +1 -1
- package/dist/gates/security.d.ts.map +1 -1
- package/dist/gates/security.js +14 -32
- package/dist/gates/security.js.map +1 -1
- package/dist/gates/types.d.ts +28 -5
- package/dist/gates/types.d.ts.map +1 -1
- package/dist/gates/types.js +38 -1
- package/dist/gates/types.js.map +1 -1
- package/dist/hooks/bootstrap.d.ts +2 -0
- package/dist/hooks/bootstrap.d.ts.map +1 -1
- package/dist/hooks/bootstrap.js +5 -2
- package/dist/hooks/bootstrap.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge/audit.d.ts +7 -2
- package/dist/knowledge/audit.d.ts.map +1 -1
- package/dist/knowledge/audit.js +59 -79
- package/dist/knowledge/audit.js.map +1 -1
- package/dist/knowledge/flywheel-metrics.d.ts +39 -0
- package/dist/knowledge/flywheel-metrics.d.ts.map +1 -0
- package/dist/knowledge/flywheel-metrics.js +47 -0
- package/dist/knowledge/flywheel-metrics.js.map +1 -0
- package/dist/knowledge/import.d.ts.map +1 -1
- package/dist/knowledge/import.js +4 -14
- package/dist/knowledge/import.js.map +1 -1
- package/dist/knowledge/index-generator.d.ts.map +1 -1
- package/dist/knowledge/index-generator.js +17 -14
- package/dist/knowledge/index-generator.js.map +1 -1
- package/dist/knowledge/ingest.d.ts.map +1 -1
- package/dist/knowledge/ingest.js +9 -4
- package/dist/knowledge/ingest.js.map +1 -1
- package/dist/knowledge/migration.d.ts.map +1 -1
- package/dist/knowledge/migration.js +11 -8
- package/dist/knowledge/migration.js.map +1 -1
- package/dist/knowledge/reference-tracker.d.ts.map +1 -1
- package/dist/knowledge/reference-tracker.js +12 -9
- package/dist/knowledge/reference-tracker.js.map +1 -1
- package/dist/knowledge/store.d.ts +15 -0
- package/dist/knowledge/store.d.ts.map +1 -1
- package/dist/knowledge/store.js +59 -10
- package/dist/knowledge/store.js.map +1 -1
- package/dist/monitoring/context-tracker.d.ts.map +1 -1
- package/dist/monitoring/context-tracker.js +11 -20
- package/dist/monitoring/context-tracker.js.map +1 -1
- package/dist/monitoring/index.d.ts +1 -1
- package/dist/monitoring/index.d.ts.map +1 -1
- package/dist/monitoring/index.js +1 -2
- package/dist/monitoring/index.js.map +1 -1
- package/dist/monitoring/trace-analyzer.d.ts +15 -0
- package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
- package/dist/monitoring/trace-analyzer.js +19 -2
- package/dist/monitoring/trace-analyzer.js.map +1 -1
- package/dist/monitoring/traces.d.ts +21 -2
- package/dist/monitoring/traces.d.ts.map +1 -1
- package/dist/monitoring/traces.js +38 -29
- package/dist/monitoring/traces.js.map +1 -1
- package/dist/release/index.d.ts +2 -2
- package/dist/release/index.d.ts.map +1 -1
- package/dist/release/index.js +1 -5
- package/dist/release/index.js.map +1 -1
- package/dist/sdd/index-generator.js +10 -11
- package/dist/sdd/index-generator.js.map +1 -1
- package/dist/test-setup/project-fixture.d.ts +48 -0
- package/dist/test-setup/project-fixture.d.ts.map +1 -0
- package/dist/test-setup/project-fixture.js +106 -0
- package/dist/test-setup/project-fixture.js.map +1 -0
- package/dist/types/constraint.d.ts +8 -18
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js +6 -1
- package/dist/types/constraint.js.map +1 -1
- package/dist/types/passes-gate.d.ts +10 -25
- package/dist/types/passes-gate.d.ts.map +1 -1
- package/dist/types/project-config.d.ts +1 -1
- package/dist/types/session.d.ts +6 -5
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/trace.d.ts +9 -0
- package/dist/types/trace.d.ts.map +1 -1
- package/dist/utils/exec.d.ts +10 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +12 -0
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/file-walk.d.ts +9 -1
- package/dist/utils/file-walk.d.ts.map +1 -1
- package/dist/utils/file-walk.js +10 -1
- package/dist/utils/file-walk.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +73 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +141 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/jsonl.d.ts +92 -0
- package/dist/utils/jsonl.d.ts.map +1 -0
- package/dist/utils/jsonl.js +166 -0
- package/dist/utils/jsonl.js.map +1 -0
- package/dist/utils/package-version.d.ts +16 -0
- package/dist/utils/package-version.d.ts.map +1 -0
- package/dist/utils/package-version.js +63 -0
- package/dist/utils/package-version.js.map +1 -0
- package/package.json +1 -1
- package/src/CONTEXT.md +8 -2
- package/src/__tests__/acceptance-gate.test.ts +3 -1
- package/src/__tests__/checker-extra.test.ts +7 -1218
- package/src/__tests__/context-files-resolution.test.ts +116 -0
- package/src/__tests__/effective-constraints.test.ts +10 -13
- package/src/__tests__/exec.test.ts +35 -1
- package/src/__tests__/layering.test.ts +152 -0
- package/src/__tests__/passes-gate-extra.test.ts +0 -145
- package/src/__tests__/passes-gate.test.ts +130 -101
- package/src/__tests__/skip-semantics.test.ts +5 -9
- package/src/cli/__tests__/command-contract.test.ts +170 -0
- package/src/cli/command-contract.ts +108 -0
- package/src/cli/commands/CONTEXT.md +23 -8
- package/src/cli/commands/__tests__/acceptance.test.ts +40 -33
- package/src/cli/commands/__tests__/analyze-sessions.test.ts +35 -29
- package/src/cli/commands/__tests__/bin-exit-mapping.test.ts +107 -0
- package/src/cli/commands/__tests__/check-drift.test.ts +27 -34
- package/src/cli/commands/__tests__/check-skip-output.test.ts +21 -24
- package/src/cli/commands/__tests__/check.test.ts +448 -378
- package/src/cli/commands/__tests__/command.test.ts +85 -70
- package/src/cli/commands/__tests__/constraints-report.test.ts +100 -71
- package/src/cli/commands/__tests__/constraints-retire.test.ts +152 -95
- package/src/cli/commands/__tests__/contract.test.ts +27 -34
- package/src/cli/commands/__tests__/failure.test.ts +31 -34
- package/src/cli/commands/__tests__/init-injection.test.ts +58 -28
- package/src/cli/commands/__tests__/init.test.ts +77 -48
- package/src/cli/commands/__tests__/knowledge-flywheel-consistency.test.ts +108 -0
- package/src/cli/commands/__tests__/knowledge.test.ts +69 -43
- package/src/cli/commands/__tests__/passes-gate.test.ts +43 -45
- package/src/cli/commands/__tests__/performance.test.ts +22 -23
- package/src/cli/commands/__tests__/posteval-plan.test.ts +39 -38
- package/src/cli/commands/__tests__/project-path-anchoring.test.ts +157 -0
- package/src/cli/commands/__tests__/project-path-convention.test.ts +231 -0
- package/src/cli/commands/__tests__/registry.test.ts +75 -35
- package/src/cli/commands/__tests__/release.test.ts +209 -80
- package/src/cli/commands/__tests__/report-extra.test.ts +16 -16
- package/src/cli/commands/__tests__/report.test.ts +25 -25
- package/src/cli/commands/__tests__/review.test.ts +33 -31
- package/src/cli/commands/__tests__/security.test.ts +23 -27
- package/src/cli/commands/__tests__/spec-baseline-check.test.ts +20 -20
- package/src/cli/commands/__tests__/spec.test.ts +41 -29
- package/src/cli/commands/__tests__/status-extra.test.ts +18 -18
- package/src/cli/commands/__tests__/status-skipped-lines.test.ts +72 -0
- package/src/cli/commands/__tests__/status.test.ts +34 -34
- package/src/cli/commands/__tests__/sync-docs-agents.test.ts +77 -78
- package/src/cli/commands/__tests__/sync-docs.test.ts +72 -74
- package/src/cli/commands/__tests__/update-user-model.test.ts +97 -34
- package/src/cli/commands/__tests__/validate.test.ts +27 -29
- package/src/cli/commands/acceptance.ts +35 -24
- package/src/cli/commands/analyze-sessions.ts +25 -24
- package/src/cli/commands/check.ts +127 -66
- package/src/cli/commands/command.ts +30 -17
- package/src/cli/commands/constraints-report.ts +37 -34
- package/src/cli/commands/constraints-retire.ts +58 -55
- package/src/cli/commands/constraints.ts +10 -27
- package/src/cli/commands/contract.ts +51 -42
- package/src/cli/commands/definitions.ts +34 -227
- package/src/cli/commands/failure.ts +33 -26
- package/src/cli/commands/init.ts +166 -220
- package/src/cli/commands/knowledge.ts +192 -289
- package/src/cli/commands/passes-gate.ts +58 -68
- package/src/cli/commands/performance.ts +23 -18
- package/src/cli/commands/posteval-plan.ts +29 -15
- package/src/cli/commands/release.ts +70 -59
- package/src/cli/commands/report.ts +9 -5
- package/src/cli/commands/review.ts +39 -29
- package/src/cli/commands/sdd.ts +7 -5
- package/src/cli/commands/security.ts +35 -26
- package/src/cli/commands/spec-baseline-check.ts +16 -11
- package/src/cli/commands/spec.ts +66 -53
- package/src/cli/commands/status.ts +59 -53
- package/src/cli/commands/sync-docs/agents-syncer.ts +5 -2
- package/src/cli/commands/sync-docs/context-syncer.ts +3 -2
- package/src/cli/commands/sync-docs/index.ts +73 -100
- package/src/cli/commands/sync-docs/project-reader.ts +17 -18
- package/src/cli/commands/update-user-model.ts +64 -61
- package/src/cli/commands/validate.ts +31 -25
- package/src/cli/session-mining/__tests__/transcript.test.ts +118 -0
- package/src/cli/session-mining/transcript.ts +26 -8
- package/src/context/session-manager.ts +19 -33
- package/src/core/CONTEXT.md +10 -6
- package/src/core/constraints/__tests__/capabilities-reconcile.test.ts +200 -0
- package/src/core/constraints/__tests__/capability-counts.test.ts +94 -0
- package/src/core/constraints/__tests__/git-evidence.test.ts +208 -0
- package/src/core/constraints/__tests__/injection-drift.test.ts +3 -10
- package/src/core/constraints/__tests__/injection-writer.test.ts +231 -0
- package/src/core/constraints/__tests__/trace-injection.test.ts +71 -0
- package/src/core/constraints/__tests__/usage-report.test.ts +112 -0
- package/src/core/constraints/agent-prompt-renderer.ts +2 -6
- package/src/core/constraints/capabilities-parser.ts +53 -35
- package/src/core/constraints/capabilities-reconcile.ts +166 -0
- package/src/core/constraints/checker.ts +82 -133
- package/src/core/constraints/checkers/__tests__/capability-sync.test.ts +273 -0
- package/src/core/constraints/checkers/__tests__/check-outcome.test.ts +176 -0
- package/src/core/constraints/checkers/__tests__/context-doc-sync.test.ts +77 -0
- package/src/core/constraints/checkers/__tests__/docs-freshness.test.ts +126 -0
- package/src/{__tests__ → core/constraints/checkers/__tests__}/governance-presence.test.ts +83 -9
- package/src/core/constraints/checkers/__tests__/iron-flags.test.ts +50 -0
- package/src/core/constraints/checkers/__tests__/no-bypass-checkpoint.test.ts +76 -0
- package/src/{__tests__ → core/constraints/checkers/__tests__}/no-hardcoded-credentials.test.ts +4 -3
- package/src/core/constraints/checkers/__tests__/no-test-simplification.test.ts +58 -0
- package/src/core/constraints/checkers/__tests__/three-state-consistency.test.ts +153 -0
- package/src/core/constraints/checkers/capability-sync.ts +75 -96
- package/src/core/constraints/checkers/context-doc-sync.ts +15 -25
- package/src/core/constraints/checkers/docs-freshness.ts +54 -70
- package/src/core/constraints/checkers/governance-presence.ts +7 -25
- package/src/core/constraints/checkers/index.ts +9 -2
- package/src/core/constraints/checkers/no-test-simplification.ts +4 -3
- package/src/core/constraints/checkers/types.ts +60 -4
- package/src/core/constraints/context-builder.ts +39 -91
- package/src/core/constraints/doc-freshness/runner.ts +2 -1
- package/src/core/constraints/git-evidence.ts +120 -0
- package/src/core/constraints/injection-drift.ts +13 -60
- package/src/core/constraints/injection-writer.ts +212 -0
- package/src/core/constraints/usage-report.ts +36 -17
- package/src/core/index.ts +4 -2
- package/src/core/project-config-loader.ts +49 -9
- package/src/core/validators/__tests__/passes-gate.test.ts +2 -56
- package/src/core/validators/__tests__/test-output.test.ts +372 -0
- package/src/core/validators/passes-gate.ts +86 -248
- package/src/core/validators/test-output.ts +128 -0
- package/src/failure/__tests__/recorder.test.ts +168 -0
- package/src/failure/recorder.ts +12 -10
- package/src/gates/CONTEXT.md +7 -4
- package/src/gates/__tests__/acceptance-types-single-source.test.ts +68 -0
- package/src/gates/__tests__/acceptance.test.ts +4 -86
- package/src/gates/__tests__/checker-gate.test.ts +24 -0
- package/src/gates/__tests__/effective-gates.test.ts +3 -8
- package/src/gates/__tests__/test-verdict-consistency.test.ts +140 -0
- package/src/gates/acceptance.ts +19 -84
- package/src/gates/checker-gate.ts +12 -15
- package/src/gates/command.ts +10 -16
- package/src/gates/contract.ts +22 -61
- package/src/gates/performance.ts +10 -22
- package/src/gates/review.ts +21 -41
- package/src/gates/security.ts +10 -22
- package/src/gates/types.ts +70 -5
- package/src/hooks/CONTEXT.md +1 -1
- package/src/hooks/bootstrap.ts +5 -2
- package/src/index.ts +0 -4
- package/src/knowledge/CONTEXT.md +8 -3
- package/src/knowledge/__tests__/audit-labels.test.ts +44 -0
- package/src/knowledge/__tests__/flywheel-metrics.test.ts +135 -0
- package/src/knowledge/__tests__/import.test.ts +44 -0
- package/src/knowledge/__tests__/index-generator.test.ts +53 -0
- package/src/knowledge/__tests__/ingest.test.ts +85 -0
- package/src/knowledge/__tests__/migration.test.ts +47 -0
- package/src/knowledge/__tests__/reference-tracker.test.ts +16 -0
- package/src/knowledge/__tests__/store.test.ts +194 -0
- package/src/knowledge/audit.ts +67 -71
- package/src/knowledge/flywheel-metrics.ts +71 -0
- package/src/knowledge/import.ts +4 -18
- package/src/knowledge/index-generator.ts +19 -14
- package/src/knowledge/ingest.ts +9 -4
- package/src/knowledge/migration.ts +11 -8
- package/src/knowledge/reference-tracker.ts +12 -8
- package/src/knowledge/store.ts +64 -11
- package/src/monitoring/CONTEXT.md +8 -3
- package/src/monitoring/__tests__/skipped-lines-report.test.ts +178 -0
- package/src/monitoring/__tests__/traces.test.ts +57 -0
- package/src/monitoring/context-tracker.ts +11 -23
- package/src/monitoring/index.ts +1 -1
- package/src/monitoring/trace-analyzer.ts +21 -2
- package/src/monitoring/traces.ts +39 -36
- package/src/release/CONTEXT.md +1 -0
- package/src/release/__tests__/barrel.test.ts +60 -0
- package/src/release/index.ts +2 -13
- package/src/sdd/__tests__/index-generator.test.ts +71 -0
- package/src/sdd/index-generator.ts +9 -9
- package/src/test-setup/__tests__/project-fixture.test.ts +178 -0
- package/src/test-setup/project-fixture.ts +87 -0
- package/src/tools/CONTEXT.md +6 -0
- package/src/tools/__tests__/registry.test.ts +221 -0
- package/src/types/__tests__/types.test.ts +4 -5
- package/src/types/constraint.ts +16 -27
- package/src/types/passes-gate.ts +10 -30
- package/src/types/project-config.ts +1 -1
- package/src/types/session.ts +5 -5
- package/src/types/trace.ts +10 -0
- package/src/utils/__tests__/frontmatter.test.ts +206 -0
- package/src/utils/__tests__/jsonl-skip-disposition.test.ts +175 -0
- package/src/utils/__tests__/jsonl.test.ts +187 -0
- package/src/utils/__tests__/package-version.test.ts +97 -0
- package/src/utils/exec.ts +15 -0
- package/src/utils/file-walk.ts +11 -2
- package/src/utils/frontmatter.ts +121 -0
- package/src/utils/jsonl.ts +167 -0
- package/src/utils/package-version.ts +27 -0
- package/dist/cli/commands/doc-freshness-check.d.ts +0 -53
- package/dist/cli/commands/doc-freshness-check.d.ts.map +0 -1
- package/dist/cli/commands/doc-freshness-check.js +0 -352
- package/dist/cli/commands/doc-freshness-check.js.map +0 -1
- package/dist/types/index.d.ts +0 -14
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -39
- package/dist/types/index.js.map +0 -1
- package/src/__tests__/long-running.test.ts +0 -17
- package/src/__tests__/passes-gate-extension.test.ts +0 -151
- package/src/cli/commands/__tests__/doc-freshness-check.test.ts +0 -168
- package/src/cli/commands/doc-freshness-check.ts +0 -386
- package/src/spec/CONTEXT.md +0 -11
- package/src/types/index.ts +0 -47
|
@@ -15,10 +15,15 @@
|
|
|
15
15
|
* 7. Check private flag
|
|
16
16
|
* 8. npm publish (or skip if PR flow)
|
|
17
17
|
* 9. GitHub Release
|
|
18
|
+
*
|
|
19
|
+
* 判定经返回值外溢(架构评审候选7):12 个前置闸门维持**首败即停**,每个闸门失败
|
|
20
|
+
* 返回 `gate <id>: <原因>`;退出码映射在 bin/harness.js 唯一一处。输出经注入 io
|
|
21
|
+
* 流式打印(分钟级子进程阶段不能静默)。
|
|
18
22
|
*/
|
|
23
|
+
import { type CommandIO, type CommandResult } from '../command-contract';
|
|
19
24
|
export interface ReleaseOptions {
|
|
20
25
|
bumpType?: 'patch' | 'minor' | 'major';
|
|
21
26
|
dryRun?: string;
|
|
22
27
|
}
|
|
23
|
-
export declare function release(options: ReleaseOptions): Promise<
|
|
28
|
+
export declare function release(options: ReleaseOptions, io?: CommandIO): Promise<CommandResult>;
|
|
24
29
|
//# sourceMappingURL=release.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkBD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAkLxG"}
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
* 7. Check private flag
|
|
17
17
|
* 8. npm publish (or skip if PR flow)
|
|
18
18
|
* 9. GitHub Release
|
|
19
|
+
*
|
|
20
|
+
* 判定经返回值外溢(架构评审候选7):12 个前置闸门维持**首败即停**,每个闸门失败
|
|
21
|
+
* 返回 `gate <id>: <原因>`;退出码映射在 bin/harness.js 唯一一处。输出经注入 io
|
|
22
|
+
* 流式打印(分钟级子进程阶段不能静默)。
|
|
19
23
|
*/
|
|
20
24
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
@@ -60,6 +64,7 @@ const fs = __importStar(require("fs"));
|
|
|
60
64
|
const path = __importStar(require("path"));
|
|
61
65
|
const chalk_1 = __importDefault(require("chalk"));
|
|
62
66
|
const release_1 = require("../../release");
|
|
67
|
+
const command_contract_1 = require("../command-contract");
|
|
63
68
|
async function run(cmd, cwd, timeout = 60_000) {
|
|
64
69
|
try {
|
|
65
70
|
const stdout = (0, child_process_1.execSync)(cmd, { cwd, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout });
|
|
@@ -71,61 +76,65 @@ async function run(cmd, cwd, timeout = 60_000) {
|
|
|
71
76
|
return { stdout: stdout.trim(), stderr: stderr.trim() || e.message || String(e) };
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
|
-
|
|
79
|
+
/** 闸门失败结果:reason 含闸门标识,可被调用方逐闸门断言 */
|
|
80
|
+
function gateFail(gate, detail) {
|
|
81
|
+
return { kind: 'fail', reason: `gate ${gate}: ${detail}` };
|
|
82
|
+
}
|
|
83
|
+
async function release(options, io = command_contract_1.processIO) {
|
|
75
84
|
const pkgPath = process.cwd();
|
|
76
85
|
const bumpType = options.bumpType || 'patch';
|
|
77
86
|
const dryRun = options.dryRun === 'true';
|
|
78
87
|
// ── 1. Verify package ──
|
|
79
88
|
const pkgJsonPath = path.join(pkgPath, 'package.json');
|
|
80
89
|
if (!fs.existsSync(pkgJsonPath)) {
|
|
81
|
-
|
|
82
|
-
|
|
90
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Not a package: ${pkgPath}`));
|
|
91
|
+
return gateFail('package', `not a package: ${pkgPath}`);
|
|
83
92
|
}
|
|
84
93
|
const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
|
|
85
94
|
const pkgName = pkgJson.name;
|
|
86
95
|
const oldVersion = pkgJson.version;
|
|
87
|
-
|
|
88
|
-
|
|
96
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan(`📦 ${pkgName}@${oldVersion}`));
|
|
97
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan(` bump: ${bumpType}${dryRun ? ' (dry-run)' : ''}`));
|
|
89
98
|
// ── 2. Check branch (must be on master/main) ──
|
|
90
99
|
const branchResult = await run('git rev-parse --abbrev-ref HEAD', pkgPath);
|
|
91
100
|
const currentBranch = branchResult.stdout.trim();
|
|
92
101
|
if (currentBranch !== 'master' && currentBranch !== 'main') {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Must be on master or main branch to release. Currently on: ${currentBranch}`));
|
|
103
|
+
(0, command_contract_1.logError)(io, chalk_1.default.gray(' Run: git checkout master && git merge ' + currentBranch));
|
|
104
|
+
return gateFail('branch', `must be on master or main branch, currently on ${currentBranch}`);
|
|
96
105
|
}
|
|
97
|
-
|
|
106
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ git: on ${currentBranch}`));
|
|
98
107
|
// ── 2b. Check remote sync ──
|
|
99
108
|
await run('git fetch origin', pkgPath, 15_000);
|
|
100
109
|
const behind = await run(`git rev-list --count HEAD..origin/${currentBranch}`, pkgPath);
|
|
101
110
|
if (behind.stdout.trim() !== '0') {
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Local ${currentBranch} is ${behind.stdout.trim()} commits behind origin/${currentBranch}. Pull first.`));
|
|
112
|
+
return gateFail('remote-sync', `local ${currentBranch} is ${behind.stdout.trim()} commits behind origin/${currentBranch}`);
|
|
104
113
|
}
|
|
105
|
-
|
|
114
|
+
(0, command_contract_1.log)(io, chalk_1.default.green('✅ git: synced with remote'));
|
|
106
115
|
// ── 2c. Check clean working tree ──
|
|
107
116
|
const stat = await run('git status --porcelain -uno', pkgPath);
|
|
108
117
|
if (stat.stdout.length > 0) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
118
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red('❌ Uncommitted changes. Commit or stash before releasing.'));
|
|
119
|
+
(0, command_contract_1.logError)(io, chalk_1.default.gray(stat.stdout.slice(0, 500)));
|
|
120
|
+
return gateFail('clean-tree', 'working tree has uncommitted changes');
|
|
112
121
|
}
|
|
113
|
-
|
|
122
|
+
(0, command_contract_1.log)(io, chalk_1.default.green('✅ git: clean'));
|
|
114
123
|
// ── 3. tsc build ──
|
|
115
|
-
|
|
124
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan('🔨 Building...'));
|
|
116
125
|
const build = await run('npx tsc', pkgPath, 60_000);
|
|
117
126
|
if (build.stderr && !build.stdout) {
|
|
118
|
-
|
|
119
|
-
|
|
127
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red('❌ tsc failed:'), build.stderr.slice(0, 800));
|
|
128
|
+
return gateFail('build', `tsc failed: ${build.stderr.slice(0, 200)}`);
|
|
120
129
|
}
|
|
121
|
-
|
|
130
|
+
(0, command_contract_1.log)(io, chalk_1.default.green('✅ tsc: built'));
|
|
122
131
|
// ── 4. Verify dist(发布物完整性自检,harness#77:清单随源码维护,不再本文件硬编码)──
|
|
123
132
|
const integrity = (0, release_1.verifyReleaseArtifacts)(pkgPath);
|
|
124
133
|
if (!integrity.ok) {
|
|
125
|
-
|
|
126
|
-
|
|
134
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red(`❌ dist missing critical artifacts (${integrity.missing.length}): ${integrity.missing.join(', ')}`));
|
|
135
|
+
return gateFail('dist-artifacts', `missing critical artifacts: ${integrity.missing.join(', ')}`);
|
|
127
136
|
}
|
|
128
|
-
|
|
137
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ dist: verified (${integrity.checked.length} critical artifacts)`));
|
|
129
138
|
if (dryRun) {
|
|
130
139
|
const [major, minor, patch] = oldVersion.split('.').map(Number);
|
|
131
140
|
let newVer;
|
|
@@ -135,11 +144,11 @@ async function release(options) {
|
|
|
135
144
|
newVer = `${major}.${minor + 1}.0`;
|
|
136
145
|
else
|
|
137
146
|
newVer = `${major}.${minor}.${patch + 1}`;
|
|
138
|
-
|
|
139
|
-
|
|
147
|
+
(0, command_contract_1.log)(io, chalk_1.default.yellow(`🏁 Dry-run complete. Would publish: ${pkgName}@${newVer}`));
|
|
148
|
+
return { kind: 'ok' };
|
|
140
149
|
}
|
|
141
150
|
// ── 5. Bump version (npm version creates git commit + tag atomically) ──
|
|
142
|
-
|
|
151
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan('🔢 Bumping version...'));
|
|
143
152
|
const [major, minor, patch] = oldVersion.split('.').map(Number);
|
|
144
153
|
let expectedNew;
|
|
145
154
|
if (bumpType === 'major')
|
|
@@ -151,81 +160,81 @@ async function release(options) {
|
|
|
151
160
|
const expectedTag = `v${expectedNew}`;
|
|
152
161
|
const tagExists = await run(`git tag -l "${expectedTag}"`, pkgPath);
|
|
153
162
|
if (tagExists.stdout.trim() === expectedTag) {
|
|
154
|
-
|
|
155
|
-
|
|
163
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Tag ${expectedTag} already exists. Version may have been released already.`));
|
|
164
|
+
return gateFail('tag-conflict', `tag ${expectedTag} already exists`);
|
|
156
165
|
}
|
|
157
166
|
const bump = await run(`npm version ${bumpType} -m "release: %s"`, pkgPath);
|
|
158
167
|
if (bump.stderr && !bump.stdout) {
|
|
159
|
-
|
|
160
|
-
|
|
168
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red('❌ npm version failed:'), bump.stderr);
|
|
169
|
+
return gateFail('version-bump', `npm version ${bumpType} failed: ${bump.stderr.slice(0, 200)}`);
|
|
161
170
|
}
|
|
162
171
|
const newVersion = bump.stdout.trim().replace(/^v/, '');
|
|
163
172
|
const tag = `v${newVersion}`;
|
|
164
|
-
|
|
173
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ version: ${oldVersion} → ${newVersion} (committed + tagged)`));
|
|
165
174
|
// ── 6. Push (handle protected branch via PR) ──
|
|
166
|
-
|
|
175
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan('⬆️ Pushing...'));
|
|
167
176
|
const push = await run(`git push origin ${currentBranch}`, pkgPath, 30_000);
|
|
168
177
|
const isProtected = push.stderr.includes('GH006') || push.stderr.includes('protected branch');
|
|
169
178
|
if (isProtected) {
|
|
170
179
|
// Protected branch: create release branch + PR
|
|
171
180
|
const releaseBranch = `release/v${newVersion}`;
|
|
172
|
-
|
|
181
|
+
(0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ ${currentBranch} is protected. Creating PR via ${releaseBranch}...`));
|
|
173
182
|
await run(`git checkout -b ${releaseBranch}`, pkgPath);
|
|
174
183
|
await run(`git push origin ${releaseBranch}`, pkgPath, 30_000);
|
|
175
184
|
// Create PR
|
|
176
185
|
const prBody = `## Release ${pkgName}@${newVersion}\n\n- Bump version: ${oldVersion} → ${newVersion}\n- Changelog updated\n\nAfter merge, push tag to trigger npm publish:\n\`\`\`\ngit push origin ${tag}\n\`\`\``;
|
|
177
186
|
const pr = await run(`gh pr create --title "release: ${pkgName}@${newVersion}" --body "${prBody}" --base ${currentBranch}`, pkgPath, 30_000);
|
|
178
187
|
if (pr.stdout) {
|
|
179
|
-
|
|
188
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ PR created: ${pr.stdout.trim()}`));
|
|
180
189
|
}
|
|
181
190
|
else {
|
|
182
|
-
|
|
183
|
-
|
|
191
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red('❌ PR creation failed:'), pr.stderr.slice(0, 500));
|
|
192
|
+
return gateFail('pr-create', `gh pr create failed: ${pr.stderr.slice(0, 200)}`);
|
|
184
193
|
}
|
|
185
194
|
// Switch back to original branch
|
|
186
195
|
await run(`git checkout ${currentBranch}`, pkgPath);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
return;
|
|
196
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan('\n📋 Next steps:'));
|
|
197
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` 1. Merge the PR: ${pr.stdout.trim()}`));
|
|
198
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` 2. After merge, push tag to trigger npm publish:`));
|
|
199
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` git push origin ${tag}`));
|
|
200
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` 3. Or run: gh release create ${tag} --generate-notes`));
|
|
201
|
+
return { kind: 'ok' };
|
|
193
202
|
}
|
|
194
203
|
if (push.stderr && push.stderr.includes('error')) {
|
|
195
|
-
|
|
196
|
-
|
|
204
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red('❌ git push failed:'), push.stderr.slice(0, 500));
|
|
205
|
+
return gateFail('git-push', `git push origin ${currentBranch} failed: ${push.stderr.slice(0, 200)}`);
|
|
197
206
|
}
|
|
198
207
|
await run(`git push origin ${tag}`, pkgPath, 30_000);
|
|
199
|
-
|
|
208
|
+
(0, command_contract_1.log)(io, chalk_1.default.green('✅ git: pushed'));
|
|
200
209
|
// ── 7. Check private flag ──
|
|
201
210
|
if (pkgJson.private) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
211
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red('❌ package.json has "private": true. Remove it before publishing.'));
|
|
212
|
+
(0, command_contract_1.logError)(io, chalk_1.default.gray(' The release tool will NOT auto-remove private flag.'));
|
|
213
|
+
return gateFail('private-flag', 'package.json has "private": true');
|
|
205
214
|
}
|
|
206
|
-
|
|
215
|
+
(0, command_contract_1.log)(io, chalk_1.default.green('✅ package: not private'));
|
|
207
216
|
// ── 8. npm publish ──
|
|
208
217
|
const origRegistry = await run('npm config get registry', pkgPath);
|
|
209
218
|
await run('npm config set registry https://registry.npmjs.org/', pkgPath);
|
|
210
|
-
|
|
219
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan('📤 Publishing to npm...'));
|
|
211
220
|
await run('npm publish --registry https://registry.npmjs.org/', pkgPath, 180_000);
|
|
212
221
|
await run(`npm config set registry ${origRegistry.stdout}`, pkgPath);
|
|
213
222
|
const verify = await run(`npm view ${pkgName} version --registry https://registry.npmjs.org/`, pkgPath);
|
|
214
223
|
if (verify.stdout.trim() === newVersion) {
|
|
215
|
-
|
|
224
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ npm: published ${pkgName}@${newVersion}`));
|
|
216
225
|
}
|
|
217
226
|
else {
|
|
218
|
-
|
|
219
|
-
|
|
227
|
+
(0, command_contract_1.logError)(io, chalk_1.default.red(`❌ npm publish verification failed. Expected ${newVersion}, registry has ${verify.stdout.trim() || '???'}`));
|
|
228
|
+
return gateFail('npm-publish-verify', `expected ${newVersion}, registry has ${verify.stdout.trim() || '???'}`);
|
|
220
229
|
}
|
|
221
230
|
// ── 9. GitHub Release ──
|
|
222
|
-
|
|
231
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan('🐙 Creating GitHub Release...'));
|
|
223
232
|
const gh = await run(`gh release create ${tag} --generate-notes`, pkgPath, 30_000);
|
|
224
233
|
if (gh.stderr && gh.stderr.includes('already exists')) {
|
|
225
|
-
|
|
234
|
+
(0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ gh: release ${tag} already exists`));
|
|
226
235
|
}
|
|
227
236
|
else if (gh.stderr) {
|
|
228
|
-
|
|
237
|
+
(0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ gh: release may have failed (non-fatal): ${gh.stderr.slice(0, 200)}`));
|
|
229
238
|
}
|
|
230
239
|
else {
|
|
231
240
|
let repoUrl = '';
|
|
@@ -236,9 +245,10 @@ async function release(options) {
|
|
|
236
245
|
repoUrl = `https://github.com/${m[1]}/${m[2]}/releases/tag/${tag}`;
|
|
237
246
|
}
|
|
238
247
|
catch { /* no remote */ }
|
|
239
|
-
|
|
248
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ GitHub Release: ${repoUrl || tag}`));
|
|
240
249
|
}
|
|
241
|
-
|
|
242
|
-
|
|
250
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`\n🎉 Released ${pkgName}@${newVersion}`));
|
|
251
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` npm: https://www.npmjs.com/package/${pkgName}/v/${newVersion}`));
|
|
252
|
+
return { kind: 'ok' };
|
|
243
253
|
}
|
|
244
254
|
//# sourceMappingURL=release.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 生成检查报告(接入真实约束检查数据)
|
|
5
5
|
*/
|
|
6
|
+
import { type CommandIO, type CommandResult } from '../command-contract';
|
|
6
7
|
export interface ReportOptions {
|
|
7
8
|
/** 输出文件路径 */
|
|
8
9
|
output?: string;
|
|
@@ -14,5 +15,5 @@ export interface ReportOptions {
|
|
|
14
15
|
/**
|
|
15
16
|
* 生成检查报告
|
|
16
17
|
*/
|
|
17
|
-
export declare function report(options: ReportOptions): Promise<
|
|
18
|
+
export declare function report(options: ReportOptions, io?: CommandIO): Promise<CommandResult>;
|
|
18
19
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqBD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqBD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqEtG"}
|
|
@@ -47,13 +47,16 @@ const fs = __importStar(require("fs/promises"));
|
|
|
47
47
|
const checker_1 = require("../../core/constraints/checker");
|
|
48
48
|
const definitions_1 = require("../../core/constraints/definitions");
|
|
49
49
|
const constraint_handler_1 = require("../../failure/constraint-handler");
|
|
50
|
+
const traces_1 = require("../../monitoring/traces");
|
|
51
|
+
const command_contract_1 = require("../command-contract");
|
|
50
52
|
/**
|
|
51
53
|
* 生成检查报告
|
|
52
54
|
*/
|
|
53
|
-
async function report(options) {
|
|
54
|
-
|
|
55
|
+
async function report(options, io = command_contract_1.processIO) {
|
|
56
|
+
(0, command_contract_1.log)(io, chalk_1.default.blue('📊 生成检查报告...'));
|
|
55
57
|
const projectPath = options.projectPath || process.cwd();
|
|
56
|
-
|
|
58
|
+
// trace 记录器经构造参数接线(harness#88):本命令是组合根
|
|
59
|
+
const checker = new checker_1.ConstraintChecker((0, traces_1.getTraceCollector)());
|
|
57
60
|
const allConstraints = { ...definitions_1.IRON_LAWS, ...definitions_1.GUIDELINES, ...definitions_1.PROMPTS };
|
|
58
61
|
const totalConstraints = Object.keys(allConstraints).length;
|
|
59
62
|
const context = {
|
|
@@ -101,11 +104,12 @@ async function report(options) {
|
|
|
101
104
|
}
|
|
102
105
|
if (options.output) {
|
|
103
106
|
await fs.writeFile(options.output, content, 'utf-8');
|
|
104
|
-
|
|
107
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ 报告已保存到: ${options.output}`));
|
|
105
108
|
}
|
|
106
109
|
else {
|
|
107
|
-
|
|
110
|
+
(0, command_contract_1.log)(io, content);
|
|
108
111
|
}
|
|
112
|
+
return { kind: 'ok' };
|
|
109
113
|
}
|
|
110
114
|
function generateMarkdownReport(data) {
|
|
111
115
|
const lines = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 代码审查门控,检查审查状态
|
|
5
5
|
*/
|
|
6
|
+
import { type CommandIO, type CommandResult } from '../command-contract';
|
|
6
7
|
export interface ReviewOptions {
|
|
7
8
|
/** 项目路径 */
|
|
8
9
|
projectPath?: string;
|
|
@@ -18,9 +19,9 @@ export interface ReviewOptions {
|
|
|
18
19
|
/**
|
|
19
20
|
* 执行审查门控
|
|
20
21
|
*/
|
|
21
|
-
export declare function review(options: ReviewOptions): Promise<
|
|
22
|
+
export declare function review(options: ReviewOptions, io?: CommandIO): Promise<CommandResult>;
|
|
22
23
|
/**
|
|
23
24
|
* 显示审查状态详情
|
|
24
25
|
*/
|
|
25
|
-
export declare function reviewStatus(options: ReviewOptions): Promise<
|
|
26
|
+
export declare function reviewStatus(options: ReviewOptions, io?: CommandIO): Promise<CommandResult>;
|
|
26
27
|
//# sourceMappingURL=review.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe;IACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,aAAa,EACtB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA+CxB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA0CxB"}
|
|
@@ -13,11 +13,12 @@ exports.reviewStatus = reviewStatus;
|
|
|
13
13
|
const chalk_1 = __importDefault(require("chalk"));
|
|
14
14
|
const exec_1 = require("../../utils/exec");
|
|
15
15
|
const review_1 = require("../../gates/review");
|
|
16
|
+
const command_contract_1 = require("../command-contract");
|
|
16
17
|
/**
|
|
17
18
|
* 执行审查门控
|
|
18
19
|
*/
|
|
19
|
-
async function review(options) {
|
|
20
|
-
|
|
20
|
+
async function review(options, io = command_contract_1.processIO) {
|
|
21
|
+
(0, command_contract_1.log)(io, chalk_1.default.blue('👀 代码审查门控检查...'));
|
|
21
22
|
const projectPath = options.projectPath || process.cwd();
|
|
22
23
|
const gate = new review_1.ReviewGate({
|
|
23
24
|
minReviewers: options.minReviewers ?? 1,
|
|
@@ -29,73 +30,76 @@ async function review(options) {
|
|
|
29
30
|
});
|
|
30
31
|
try {
|
|
31
32
|
const { stdout: branch } = await (0, exec_1.execAsync)('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
|
|
32
|
-
|
|
33
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(`当前分支: ${branch.trim()}`));
|
|
33
34
|
const result = await gate.check({ projectPath, projectId: 'default' });
|
|
34
|
-
|
|
35
|
+
(0, command_contract_1.log)(io);
|
|
35
36
|
if (result.passed) {
|
|
36
|
-
|
|
37
|
+
(0, command_contract_1.log)(io, chalk_1.default.green('✅ 代码审查门控检查通过'));
|
|
37
38
|
if (result.details) {
|
|
38
|
-
|
|
39
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` 审批: ${result.details.approvals ?? 0}, 变更请求: ${result.details.changesRequested ?? 0}`));
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
else {
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
(0, command_contract_1.log)(io, chalk_1.default.red('❌ 代码审查门控检查失败'));
|
|
44
|
+
(0, command_contract_1.log)(io, chalk_1.default.red(` ${result.message}`));
|
|
44
45
|
if (result.details?.suggestion) {
|
|
45
|
-
|
|
46
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` ${result.details.suggestion}`));
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
return { kind: 'fail', reason: `review gate denied: ${result.message}` };
|
|
48
49
|
}
|
|
50
|
+
return { kind: 'ok' };
|
|
49
51
|
}
|
|
50
52
|
catch (error) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
(0, command_contract_1.log)(io);
|
|
54
|
+
(0, command_contract_1.log)(io, chalk_1.default.red('❌ 代码审查门控检查出错'));
|
|
55
|
+
(0, command_contract_1.log)(io, chalk_1.default.red(` ${error.message}`));
|
|
54
56
|
if (error.message.includes('not a git repository')) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
(0, command_contract_1.log)(io);
|
|
58
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray('提示: 此命令需要在 Git 仓库中运行'));
|
|
57
59
|
}
|
|
58
|
-
|
|
60
|
+
return { kind: 'fail', reason: `review gate error: ${error.message}` };
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* 显示审查状态详情
|
|
63
65
|
*/
|
|
64
|
-
async function reviewStatus(options) {
|
|
65
|
-
|
|
66
|
+
async function reviewStatus(options, io = command_contract_1.processIO) {
|
|
67
|
+
(0, command_contract_1.log)(io, chalk_1.default.blue('👀 代码审查状态...\n'));
|
|
66
68
|
const projectPath = options.projectPath || process.cwd();
|
|
67
69
|
try {
|
|
68
70
|
const { stdout: branch } = await (0, exec_1.execAsync)('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
|
|
69
|
-
|
|
71
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(`当前分支: ${branch.trim()}`));
|
|
70
72
|
try {
|
|
71
73
|
const { stdout: prInfo } = await (0, exec_1.execAsync)('gh pr view --json number,title,state,reviewDecision,reviews', {
|
|
72
74
|
cwd: projectPath,
|
|
73
75
|
});
|
|
74
76
|
const pr = JSON.parse(prInfo);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
(0, command_contract_1.log)(io);
|
|
78
|
+
(0, command_contract_1.log)(io, chalk_1.default.cyan(`PR #${pr.number}: ${pr.title}`));
|
|
79
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(`状态: ${pr.state}`));
|
|
78
80
|
if (pr.reviewDecision) {
|
|
79
81
|
const decisionColor = pr.reviewDecision === 'APPROVED' ? chalk_1.default.green : chalk_1.default.yellow;
|
|
80
|
-
|
|
82
|
+
(0, command_contract_1.log)(io, decisionColor(`审查决策: ${pr.reviewDecision}`));
|
|
81
83
|
}
|
|
82
84
|
if (pr.reviews && pr.reviews.length > 0) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
(0, command_contract_1.log)(io);
|
|
86
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray('审查历史:'));
|
|
85
87
|
pr.reviews.forEach((r) => {
|
|
86
88
|
const statusColor = r.state === 'APPROVED' ? chalk_1.default.green :
|
|
87
89
|
r.state === 'CHANGES_REQUESTED' ? chalk_1.default.red : chalk_1.default.gray;
|
|
88
|
-
|
|
90
|
+
(0, command_contract_1.log)(io, statusColor(` - ${r.author?.login || 'unknown'}: ${r.state}`));
|
|
89
91
|
});
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
catch {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
(0, command_contract_1.log)(io, chalk_1.default.yellow('\n⚠️ 未找到关联的 PR'));
|
|
96
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(' 使用 gh pr create 创建 PR'));
|
|
95
97
|
}
|
|
98
|
+
return { kind: 'ok' };
|
|
96
99
|
}
|
|
97
100
|
catch (error) {
|
|
98
|
-
|
|
101
|
+
(0, command_contract_1.log)(io, chalk_1.default.red(`❌ 获取审查状态失败: ${error.message}`));
|
|
102
|
+
return { kind: 'skip', reason: `获取审查状态失败: ${error.message}` };
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
105
|
//# sourceMappingURL=review.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type CommandIO, type CommandResult } from '../command-contract';
|
|
1
2
|
export interface SDDOptions {
|
|
2
3
|
projectPath?: string;
|
|
3
4
|
json?: boolean;
|
|
4
5
|
}
|
|
5
6
|
export declare function sddIndex(options: SDDOptions & {
|
|
6
7
|
dir?: string;
|
|
7
|
-
}):
|
|
8
|
+
}, io?: CommandIO): CommandResult;
|
|
8
9
|
//# sourceMappingURL=sdd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sdd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sdd.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAQD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CA4BzG"}
|