@dommaker/harness 0.9.0 → 0.11.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/README.md +26 -14
- package/bin/harness.js +112 -0
- package/dist/architecture/constraint-engine.d.ts +18 -0
- package/dist/architecture/constraint-engine.d.ts.map +1 -1
- package/dist/architecture/constraint-engine.js +101 -9
- package/dist/architecture/constraint-engine.js.map +1 -1
- package/dist/architecture/cross-project-checker.d.ts +1 -1
- package/dist/architecture/cross-project-checker.d.ts.map +1 -1
- package/dist/architecture/cross-project-checker.js +247 -33
- package/dist/architecture/cross-project-checker.js.map +1 -1
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +182 -71
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/diagnose.d.ts +16 -0
- package/dist/cli/commands/diagnose.d.ts.map +1 -0
- package/dist/cli/commands/diagnose.js +195 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/failure.d.ts +28 -0
- package/dist/cli/commands/failure.d.ts.map +1 -0
- package/dist/cli/commands/failure.js +132 -0
- package/dist/cli/commands/failure.js.map +1 -0
- package/dist/cli/commands/flow.d.ts +2 -0
- package/dist/cli/commands/flow.d.ts.map +1 -1
- package/dist/cli/commands/flow.js +38 -3
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +13 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +251 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts +41 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -0
- package/dist/cli/commands/knowledge.js +195 -0
- package/dist/cli/commands/knowledge.js.map +1 -0
- package/dist/cli/commands/propose.d.ts +18 -0
- package/dist/cli/commands/propose.d.ts.map +1 -0
- package/dist/cli/commands/propose.js +331 -0
- package/dist/cli/commands/propose.js.map +1 -0
- package/dist/cli/commands/report.d.ts +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +57 -70
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/security.d.ts.map +1 -1
- package/dist/cli/commands/security.js +57 -43
- package/dist/cli/commands/security.js.map +1 -1
- package/dist/cli/commands/sync-docs.d.ts +21 -0
- package/dist/cli/commands/sync-docs.d.ts.map +1 -0
- package/dist/cli/commands/sync-docs.js +564 -0
- package/dist/cli/commands/sync-docs.js.map +1 -0
- package/dist/cli/commands/traces.d.ts +15 -0
- package/dist/cli/commands/traces.d.ts.map +1 -0
- package/dist/cli/commands/traces.js +167 -0
- package/dist/cli/commands/traces.js.map +1 -0
- package/dist/constraints/index.d.ts +1 -2
- package/dist/constraints/index.d.ts.map +1 -1
- package/dist/constraints/index.js +1 -2
- package/dist/constraints/index.js.map +1 -1
- package/dist/constraints/lifecycle-runner.d.ts +52 -0
- package/dist/constraints/lifecycle-runner.d.ts.map +1 -0
- package/dist/constraints/lifecycle-runner.js +151 -0
- package/dist/constraints/lifecycle-runner.js.map +1 -0
- package/dist/constraints/registry.d.ts +2 -40
- package/dist/constraints/registry.d.ts.map +1 -1
- package/dist/constraints/registry.js +20 -59
- package/dist/constraints/registry.js.map +1 -1
- package/dist/core/constraints/checker.d.ts +32 -0
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +281 -8
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/default-executors.d.ts +10 -0
- package/dist/core/constraints/default-executors.d.ts.map +1 -0
- package/dist/core/constraints/default-executors.js +120 -0
- package/dist/core/constraints/default-executors.js.map +1 -0
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +84 -0
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/interceptor.d.ts.map +1 -1
- package/dist/core/constraints/interceptor.js +3 -0
- package/dist/core/constraints/interceptor.js.map +1 -1
- package/dist/core/session/clean-state.d.ts.map +1 -1
- package/dist/core/session/clean-state.js +5 -1
- package/dist/core/session/clean-state.js.map +1 -1
- package/dist/evolution/auto-evolve.d.ts +36 -0
- package/dist/evolution/auto-evolve.d.ts.map +1 -0
- package/dist/evolution/auto-evolve.js +63 -0
- package/dist/evolution/auto-evolve.js.map +1 -0
- package/dist/evolution/index.d.ts +2 -0
- package/dist/evolution/index.d.ts.map +1 -0
- package/dist/evolution/index.js +18 -0
- package/dist/evolution/index.js.map +1 -0
- package/dist/extensions/long-running/constraints.d.ts +38 -0
- package/dist/extensions/long-running/constraints.d.ts.map +1 -0
- package/dist/extensions/long-running/constraints.js +153 -0
- package/dist/extensions/long-running/constraints.js.map +1 -0
- package/dist/extensions/long-running/index.d.ts +30 -0
- package/dist/extensions/long-running/index.d.ts.map +1 -0
- package/dist/extensions/long-running/index.js +50 -0
- package/dist/extensions/long-running/index.js.map +1 -0
- package/dist/extensions/long-running/types.d.ts +154 -0
- package/dist/extensions/long-running/types.d.ts.map +1 -0
- package/dist/extensions/long-running/types.js +9 -0
- package/dist/extensions/long-running/types.js.map +1 -0
- package/dist/governance/executor.d.ts +45 -0
- package/dist/governance/executor.d.ts.map +1 -0
- package/dist/governance/executor.js +237 -0
- package/dist/governance/executor.js.map +1 -0
- package/dist/governance/index.d.ts +9 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +13 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/types.d.ts +46 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +9 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/index.d.ts +26 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -13
- package/dist/index.js.map +1 -1
- package/dist/knowledge/store.d.ts.map +1 -1
- package/dist/knowledge/store.js +3 -1
- package/dist/knowledge/store.js.map +1 -1
- package/dist/monitoring/constraint-doctor.d.ts +16 -3
- package/dist/monitoring/constraint-doctor.d.ts.map +1 -1
- package/dist/monitoring/constraint-doctor.js +84 -9
- package/dist/monitoring/constraint-doctor.js.map +1 -1
- package/dist/presets/long-running.d.ts +33 -0
- package/dist/presets/long-running.d.ts.map +1 -0
- package/dist/presets/long-running.js +52 -0
- package/dist/presets/long-running.js.map +1 -0
- package/dist/tools/definitions/core/code/fingerprint.sh +273 -0
- package/dist/tools/definitions/core/code/fingerprint.yml +72 -0
- package/dist/tools/definitions/core/code/parse.yml +68 -0
- package/dist/tools/definitions/core/code/register-language.sh +475 -0
- package/dist/tools/definitions/core/code/register-language.yml +74 -0
- package/dist/tools/definitions/core/docker/build.yml +73 -0
- package/dist/tools/definitions/core/docker/run.yml +81 -0
- package/dist/tools/definitions/core/file/copy.yml +88 -0
- package/dist/tools/definitions/core/file/read.yml +69 -0
- package/dist/tools/definitions/core/file/write.yml +75 -0
- package/dist/tools/definitions/core/git/branch.yml +61 -0
- package/dist/tools/definitions/core/git/cleanup-worktree.yml +50 -0
- package/dist/tools/definitions/core/git/clone.yml +69 -0
- package/dist/tools/definitions/core/git/commit.yml +65 -0
- package/dist/tools/definitions/core/git/push.yml +79 -0
- package/dist/tools/definitions/core/git/worktree.yml +96 -0
- package/dist/tools/definitions/core/notification/notify.sh +152 -0
- package/dist/tools/definitions/core/notification/notify.yml +60 -0
- package/dist/tools/definitions/core/npm/build.yml +75 -0
- package/dist/tools/definitions/core/npm/install.yml +58 -0
- package/dist/tools/definitions/core/npm/test.yml +75 -0
- package/dist/tools/definitions/core/validation/check-reuse.yml +170 -0
- package/dist/tools/definitions/core/validation/validate-handlers.yml +118 -0
- package/dist/tools/definitions/core/validation/validate-readme-stats.yml +155 -0
- package/dist/tools/definitions/core/validation/validate-yaml-syntax.yml +134 -0
- package/dist/tools/definitions/definitions/core/code/fingerprint.sh +273 -0
- package/dist/tools/definitions/definitions/core/code/fingerprint.yml +72 -0
- package/dist/tools/definitions/definitions/core/code/parse.yml +68 -0
- package/dist/tools/definitions/definitions/core/code/register-language.sh +475 -0
- package/dist/tools/definitions/definitions/core/code/register-language.yml +74 -0
- package/dist/tools/definitions/definitions/core/docker/build.yml +73 -0
- package/dist/tools/definitions/definitions/core/docker/run.yml +81 -0
- package/dist/tools/definitions/definitions/core/file/copy.yml +88 -0
- package/dist/tools/definitions/definitions/core/file/read.yml +69 -0
- package/dist/tools/definitions/definitions/core/file/write.yml +75 -0
- package/dist/tools/definitions/definitions/core/git/branch.yml +61 -0
- package/dist/tools/definitions/definitions/core/git/cleanup-worktree.yml +50 -0
- package/dist/tools/definitions/definitions/core/git/clone.yml +69 -0
- package/dist/tools/definitions/definitions/core/git/commit.yml +65 -0
- package/dist/tools/definitions/definitions/core/git/push.yml +79 -0
- package/dist/tools/definitions/definitions/core/git/worktree.yml +96 -0
- package/dist/tools/definitions/definitions/core/notification/notify.sh +152 -0
- package/dist/tools/definitions/definitions/core/notification/notify.yml +60 -0
- package/dist/tools/definitions/definitions/core/npm/build.yml +75 -0
- package/dist/tools/definitions/definitions/core/npm/install.yml +58 -0
- package/dist/tools/definitions/definitions/core/npm/test.yml +75 -0
- package/dist/tools/definitions/definitions/core/validation/check-reuse.yml +170 -0
- package/dist/tools/definitions/definitions/core/validation/validate-handlers.yml +118 -0
- package/dist/tools/definitions/definitions/core/validation/validate-readme-stats.yml +155 -0
- package/dist/tools/definitions/definitions/core/validation/validate-yaml-syntax.yml +134 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-automate.sh +255 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-automate.yml +166 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-close.sh +104 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-close.yml +55 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-mcp-debug.sh +682 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-mcp-debug.yml +167 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-start.sh +101 -0
- package/dist/tools/definitions/definitions/ext/browser/browser-start.yml +62 -0
- package/dist/tools/definitions/definitions/registry.json +795 -0
- package/dist/tools/definitions/definitions/std/README.md +350 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-codebase.yml +72 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-diff.yml +182 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-git-diff.yml +70 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-impact.yml +78 -0
- package/dist/tools/definitions/definitions/std/analysis/analyze-requirements.yml +105 -0
- package/dist/tools/definitions/definitions/std/analysis/brainstorm-options.yml +106 -0
- package/dist/tools/definitions/definitions/std/analysis/build-graph.yml +154 -0
- package/dist/tools/definitions/definitions/std/analysis/clarify-requirements.yml +90 -0
- package/dist/tools/definitions/definitions/std/analysis/detect-context.yml +109 -0
- package/dist/tools/definitions/definitions/std/analysis/detect-layers.yml +125 -0
- package/dist/tools/definitions/definitions/std/analysis/generate-tour.yml +102 -0
- package/dist/tools/definitions/definitions/std/analysis/search-enhance.yml +105 -0
- package/dist/tools/definitions/definitions/std/backlog/add.yml +51 -0
- package/dist/tools/definitions/definitions/std/backlog/decide.yml +39 -0
- package/dist/tools/definitions/definitions/std/backlog/github-sync.yml +161 -0
- package/dist/tools/definitions/definitions/std/backlog/list.yml +53 -0
- package/dist/tools/definitions/definitions/std/backlog/load.yml +46 -0
- package/dist/tools/definitions/definitions/std/backlog/resolve.yml +37 -0
- package/dist/tools/definitions/definitions/std/backlog/update.yml +42 -0
- package/dist/tools/definitions/definitions/std/bugfix/diagnose.yml +68 -0
- package/dist/tools/definitions/definitions/std/bugfix/fix.yml +66 -0
- package/dist/tools/definitions/definitions/std/bugfix/verify.yml +69 -0
- package/dist/tools/definitions/definitions/std/constraint/check-decomposition.yml +103 -0
- package/dist/tools/definitions/definitions/std/constraint/check-feature-list.yml +77 -0
- package/dist/tools/definitions/definitions/std/constraint/check-progress.yml +97 -0
- package/dist/tools/definitions/definitions/std/constraint/generate-report.yml +147 -0
- package/dist/tools/definitions/definitions/std/deploy/commit-push.yml +33 -0
- package/dist/tools/definitions/definitions/std/deploy/deploy-backend.yml +37 -0
- package/dist/tools/definitions/definitions/std/deploy/deploy-frontend.yml +37 -0
- package/dist/tools/definitions/definitions/std/deploy/rollback.yml +148 -0
- package/dist/tools/definitions/definitions/std/design/analyze-architecture-impact.yml +113 -0
- package/dist/tools/definitions/definitions/std/design/design-api.yml +55 -0
- package/dist/tools/definitions/definitions/std/design/design-architecture.yml +97 -0
- package/dist/tools/definitions/definitions/std/design/design-db.yml +81 -0
- package/dist/tools/definitions/definitions/std/design/generate-spec.yml +182 -0
- package/dist/tools/definitions/definitions/std/development/develop-api.yml +85 -0
- package/dist/tools/definitions/definitions/std/development/develop-backend.yml +88 -0
- package/dist/tools/definitions/definitions/std/development/develop-frontend.yml +87 -0
- package/dist/tools/definitions/definitions/std/development/develop-shared-types.yml +74 -0
- package/dist/tools/definitions/definitions/std/development/develop-task.yml +122 -0
- package/dist/tools/definitions/definitions/std/development/develop-tests.yml +76 -0
- package/dist/tools/definitions/definitions/std/development/execute-batch.yml +152 -0
- package/dist/tools/definitions/definitions/std/development/fix-issues.yml +100 -0
- package/dist/tools/definitions/definitions/std/development/implement-task.yml +124 -0
- package/dist/tools/definitions/definitions/std/development/review-fix-cycle.yml +232 -0
- package/dist/tools/definitions/definitions/std/evolution/implement.yml +125 -0
- package/dist/tools/definitions/definitions/std/evolution/prioritize.yml +112 -0
- package/dist/tools/definitions/definitions/std/evolution/report-gap.yml +166 -0
- package/dist/tools/definitions/definitions/std/file/read.yml +21 -0
- package/dist/tools/definitions/definitions/std/governance/aggregate-opinions.sh +201 -0
- package/dist/tools/definitions/definitions/std/governance/aggregate-opinions.yml +79 -0
- package/dist/tools/definitions/definitions/std/governance/audit-task.yml +178 -0
- package/dist/tools/definitions/definitions/std/governance/cast-vote.yml +129 -0
- package/dist/tools/definitions/definitions/std/governance/collect-issues.yml +16 -0
- package/dist/tools/definitions/definitions/std/governance/create-signed-document.yml +23 -0
- package/dist/tools/definitions/definitions/std/governance/create-voting-session.yml +101 -0
- package/dist/tools/definitions/definitions/std/governance/define-stance.sh +243 -0
- package/dist/tools/definitions/definitions/std/governance/define-stance.yml +82 -0
- package/dist/tools/definitions/definitions/std/governance/generate-review-report.yml +23 -0
- package/dist/tools/definitions/definitions/std/governance/impeach.yml +179 -0
- package/dist/tools/definitions/definitions/std/governance/multi-stance-review.yml +154 -0
- package/dist/tools/definitions/definitions/std/governance/prepare-artifact.yml +20 -0
- package/dist/tools/definitions/definitions/std/governance/review-spec-approval.yml +262 -0
- package/dist/tools/definitions/definitions/std/governance/rollback.yml +186 -0
- package/dist/tools/definitions/definitions/std/governance/stance-review.yml +149 -0
- package/dist/tools/definitions/definitions/std/governance/track-effect.yml +199 -0
- package/dist/tools/definitions/definitions/std/governance/vote-tally.yml +144 -0
- package/dist/tools/definitions/definitions/std/patch/execute.yml +51 -0
- package/dist/tools/definitions/definitions/std/planning/generate-tasks.yml +36 -0
- package/dist/tools/definitions/definitions/std/planning/load-tasks.yml +44 -0
- package/dist/tools/definitions/definitions/std/planning/split-batch.yml +481 -0
- package/dist/tools/definitions/definitions/std/planning/split-tasks.yml +359 -0
- package/dist/tools/definitions/definitions/std/planning/update-tasks.yml +51 -0
- package/dist/tools/definitions/definitions/std/planning/validate-tasks.yml +46 -0
- package/dist/tools/definitions/definitions/std/project/decide-next-workflow.yml +38 -0
- package/dist/tools/definitions/definitions/std/project/load-state.yml +31 -0
- package/dist/tools/definitions/definitions/std/project/save-state.yml +32 -0
- package/dist/tools/definitions/definitions/std/quality/check-quality.yml +241 -0
- package/dist/tools/definitions/definitions/std/quality/debug-systematic.yml +163 -0
- package/dist/tools/definitions/definitions/std/quality/handle-feedback.yml +108 -0
- package/dist/tools/definitions/definitions/std/quality/review-code.yml +128 -0
- package/dist/tools/definitions/definitions/std/quality/review-spec.yml +140 -0
- package/dist/tools/definitions/definitions/std/quality/review-task.yml +190 -0
- package/dist/tools/definitions/definitions/std/quality/run-tests.yml +80 -0
- package/dist/tools/definitions/definitions/std/quick/analyze.yml +56 -0
- package/dist/tools/definitions/definitions/std/quick/implement.yml +67 -0
- package/dist/tools/definitions/definitions/std/quick/verify.yml +71 -0
- package/dist/tools/definitions/definitions/std/verification/verify_completion.yml +113 -0
- package/dist/tools/definitions/definitions/std/verification/wait-condition.yml +107 -0
- package/dist/tools/definitions/ext/browser/browser-automate.sh +255 -0
- package/dist/tools/definitions/ext/browser/browser-automate.yml +166 -0
- package/dist/tools/definitions/ext/browser/browser-close.sh +104 -0
- package/dist/tools/definitions/ext/browser/browser-close.yml +55 -0
- package/dist/tools/definitions/ext/browser/browser-mcp-debug.sh +682 -0
- package/dist/tools/definitions/ext/browser/browser-mcp-debug.yml +167 -0
- package/dist/tools/definitions/ext/browser/browser-start.sh +101 -0
- package/dist/tools/definitions/ext/browser/browser-start.yml +62 -0
- package/dist/tools/definitions/registry.json +795 -0
- package/dist/tools/definitions/std/README.md +350 -0
- package/dist/tools/definitions/std/analysis/analyze-codebase.yml +72 -0
- package/dist/tools/definitions/std/analysis/analyze-diff.yml +182 -0
- package/dist/tools/definitions/std/analysis/analyze-git-diff.yml +70 -0
- package/dist/tools/definitions/std/analysis/analyze-impact.yml +78 -0
- package/dist/tools/definitions/std/analysis/analyze-requirements.yml +105 -0
- package/dist/tools/definitions/std/analysis/brainstorm-options.yml +106 -0
- package/dist/tools/definitions/std/analysis/build-graph.yml +154 -0
- package/dist/tools/definitions/std/analysis/clarify-requirements.yml +90 -0
- package/dist/tools/definitions/std/analysis/detect-context.yml +109 -0
- package/dist/tools/definitions/std/analysis/detect-layers.yml +125 -0
- package/dist/tools/definitions/std/analysis/generate-tour.yml +102 -0
- package/dist/tools/definitions/std/analysis/search-enhance.yml +105 -0
- package/dist/tools/definitions/std/backlog/add.yml +51 -0
- package/dist/tools/definitions/std/backlog/decide.yml +39 -0
- package/dist/tools/definitions/std/backlog/github-sync.yml +161 -0
- package/dist/tools/definitions/std/backlog/list.yml +53 -0
- package/dist/tools/definitions/std/backlog/load.yml +46 -0
- package/dist/tools/definitions/std/backlog/resolve.yml +37 -0
- package/dist/tools/definitions/std/backlog/update.yml +42 -0
- package/dist/tools/definitions/std/bugfix/diagnose.yml +68 -0
- package/dist/tools/definitions/std/bugfix/fix.yml +66 -0
- package/dist/tools/definitions/std/bugfix/verify.yml +69 -0
- package/dist/tools/definitions/std/constraint/check-decomposition.yml +103 -0
- package/dist/tools/definitions/std/constraint/check-feature-list.yml +77 -0
- package/dist/tools/definitions/std/constraint/check-progress.yml +97 -0
- package/dist/tools/definitions/std/constraint/generate-report.yml +147 -0
- package/dist/tools/definitions/std/deploy/commit-push.yml +33 -0
- package/dist/tools/definitions/std/deploy/deploy-backend.yml +37 -0
- package/dist/tools/definitions/std/deploy/deploy-frontend.yml +37 -0
- package/dist/tools/definitions/std/deploy/rollback.yml +148 -0
- package/dist/tools/definitions/std/design/analyze-architecture-impact.yml +113 -0
- package/dist/tools/definitions/std/design/design-api.yml +55 -0
- package/dist/tools/definitions/std/design/design-architecture.yml +97 -0
- package/dist/tools/definitions/std/design/design-db.yml +81 -0
- package/dist/tools/definitions/std/design/generate-spec.yml +182 -0
- package/dist/tools/definitions/std/development/develop-api.yml +85 -0
- package/dist/tools/definitions/std/development/develop-backend.yml +88 -0
- package/dist/tools/definitions/std/development/develop-frontend.yml +87 -0
- package/dist/tools/definitions/std/development/develop-shared-types.yml +74 -0
- package/dist/tools/definitions/std/development/develop-task.yml +122 -0
- package/dist/tools/definitions/std/development/develop-tests.yml +76 -0
- package/dist/tools/definitions/std/development/execute-batch.yml +152 -0
- package/dist/tools/definitions/std/development/fix-issues.yml +100 -0
- package/dist/tools/definitions/std/development/implement-task.yml +124 -0
- package/dist/tools/definitions/std/development/review-fix-cycle.yml +232 -0
- package/dist/tools/definitions/std/evolution/implement.yml +125 -0
- package/dist/tools/definitions/std/evolution/prioritize.yml +112 -0
- package/dist/tools/definitions/std/evolution/report-gap.yml +166 -0
- package/dist/tools/definitions/std/file/read.yml +21 -0
- package/dist/tools/definitions/std/governance/aggregate-opinions.sh +201 -0
- package/dist/tools/definitions/std/governance/aggregate-opinions.yml +79 -0
- package/dist/tools/definitions/std/governance/audit-task.yml +178 -0
- package/dist/tools/definitions/std/governance/cast-vote.yml +129 -0
- package/dist/tools/definitions/std/governance/collect-issues.yml +16 -0
- package/dist/tools/definitions/std/governance/create-signed-document.yml +23 -0
- package/dist/tools/definitions/std/governance/create-voting-session.yml +101 -0
- package/dist/tools/definitions/std/governance/define-stance.sh +243 -0
- package/dist/tools/definitions/std/governance/define-stance.yml +82 -0
- package/dist/tools/definitions/std/governance/generate-review-report.yml +23 -0
- package/dist/tools/definitions/std/governance/impeach.yml +179 -0
- package/dist/tools/definitions/std/governance/multi-stance-review.yml +154 -0
- package/dist/tools/definitions/std/governance/prepare-artifact.yml +20 -0
- package/dist/tools/definitions/std/governance/review-spec-approval.yml +262 -0
- package/dist/tools/definitions/std/governance/rollback.yml +186 -0
- package/dist/tools/definitions/std/governance/stance-review.yml +149 -0
- package/dist/tools/definitions/std/governance/track-effect.yml +199 -0
- package/dist/tools/definitions/std/governance/vote-tally.yml +144 -0
- package/dist/tools/definitions/std/patch/execute.yml +51 -0
- package/dist/tools/definitions/std/planning/generate-tasks.yml +36 -0
- package/dist/tools/definitions/std/planning/load-tasks.yml +44 -0
- package/dist/tools/definitions/std/planning/split-batch.yml +481 -0
- package/dist/tools/definitions/std/planning/split-tasks.yml +359 -0
- package/dist/tools/definitions/std/planning/update-tasks.yml +51 -0
- package/dist/tools/definitions/std/planning/validate-tasks.yml +46 -0
- package/dist/tools/definitions/std/project/decide-next-workflow.yml +38 -0
- package/dist/tools/definitions/std/project/load-state.yml +31 -0
- package/dist/tools/definitions/std/project/save-state.yml +32 -0
- package/dist/tools/definitions/std/quality/check-quality.yml +241 -0
- package/dist/tools/definitions/std/quality/debug-systematic.yml +163 -0
- package/dist/tools/definitions/std/quality/handle-feedback.yml +108 -0
- package/dist/tools/definitions/std/quality/review-code.yml +128 -0
- package/dist/tools/definitions/std/quality/review-spec.yml +140 -0
- package/dist/tools/definitions/std/quality/review-task.yml +190 -0
- package/dist/tools/definitions/std/quality/run-tests.yml +80 -0
- package/dist/tools/definitions/std/quick/analyze.yml +56 -0
- package/dist/tools/definitions/std/quick/implement.yml +67 -0
- package/dist/tools/definitions/std/quick/verify.yml +71 -0
- package/dist/tools/definitions/std/verification/verify_completion.yml +113 -0
- package/dist/tools/definitions/std/verification/wait-condition.yml +107 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/loader.d.ts +21 -0
- package/dist/tools/loader.d.ts.map +1 -0
- package/dist/tools/loader.js +199 -0
- package/dist/tools/loader.js.map +1 -0
- package/dist/tools/paths.d.ts +9 -0
- package/dist/tools/paths.d.ts.map +1 -0
- package/dist/tools/paths.js +51 -0
- package/dist/tools/paths.js.map +1 -0
- package/dist/types/constraint.d.ts +4 -0
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js.map +1 -1
- package/dist/types/project-config.d.ts +57 -0
- package/dist/types/project-config.d.ts.map +1 -1
- package/dist/types/session.d.ts +6 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +37 -1
- package/dist/utils/exec.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Long-Running Agents 扩展模块
|
|
4
|
+
*
|
|
5
|
+
* 来源:Anthropic Engineering Blog - Effective Harnesses for Long-Running Agents
|
|
6
|
+
* 参考:~/knowledge-base/projects/harness/anthropic-long-running-agents-roadmap.md
|
|
7
|
+
*
|
|
8
|
+
* 这个扩展模块提供:
|
|
9
|
+
* - 3 个特定约束(单功能推进、功能拆解、E2E 测试)
|
|
10
|
+
* - 类型定义(FeatureDefinition, ProjectProgress)
|
|
11
|
+
* - Puppeteer 测试相关类型
|
|
12
|
+
*
|
|
13
|
+
* 使用方式:
|
|
14
|
+
* 1. 选择 preset: 'long-running'
|
|
15
|
+
* 2. agent-runtime 导入并实现检查逻辑
|
|
16
|
+
* 3. agent-workflows 使用 initializer.yml 等工作流
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.LONG_RUNNING_MODULE_INFO = exports.getLongRunningConstraint = exports.findLongRunningConstraintsByTrigger = exports.getAllLongRunningConstraints = exports.LONG_RUNNING_TIPS = exports.LONG_RUNNING_GUIDELINES = exports.LONG_RUNNING_IRON_LAWS = void 0;
|
|
20
|
+
// 导出约束
|
|
21
|
+
var constraints_1 = require("./constraints");
|
|
22
|
+
Object.defineProperty(exports, "LONG_RUNNING_IRON_LAWS", { enumerable: true, get: function () { return constraints_1.LONG_RUNNING_IRON_LAWS; } });
|
|
23
|
+
Object.defineProperty(exports, "LONG_RUNNING_GUIDELINES", { enumerable: true, get: function () { return constraints_1.LONG_RUNNING_GUIDELINES; } });
|
|
24
|
+
Object.defineProperty(exports, "LONG_RUNNING_TIPS", { enumerable: true, get: function () { return constraints_1.LONG_RUNNING_TIPS; } });
|
|
25
|
+
Object.defineProperty(exports, "getAllLongRunningConstraints", { enumerable: true, get: function () { return constraints_1.getAllLongRunningConstraints; } });
|
|
26
|
+
Object.defineProperty(exports, "findLongRunningConstraintsByTrigger", { enumerable: true, get: function () { return constraints_1.findLongRunningConstraintsByTrigger; } });
|
|
27
|
+
Object.defineProperty(exports, "getLongRunningConstraint", { enumerable: true, get: function () { return constraints_1.getLongRunningConstraint; } });
|
|
28
|
+
// 导出模块信息
|
|
29
|
+
exports.LONG_RUNNING_MODULE_INFO = {
|
|
30
|
+
name: 'long-running',
|
|
31
|
+
version: '0.7.0',
|
|
32
|
+
description: 'Anthropic Long-Running Agents 扩展',
|
|
33
|
+
constraints: {
|
|
34
|
+
ironLaws: 1,
|
|
35
|
+
guidelines: 2,
|
|
36
|
+
tips: 0,
|
|
37
|
+
},
|
|
38
|
+
types: [
|
|
39
|
+
'FeatureDefinition',
|
|
40
|
+
'FeatureList',
|
|
41
|
+
'ProjectProgress',
|
|
42
|
+
'FeatureStatus',
|
|
43
|
+
'SessionRecord',
|
|
44
|
+
'TestStep',
|
|
45
|
+
'StepResult',
|
|
46
|
+
'PuppeteerTestInput',
|
|
47
|
+
'PuppeteerTestResult',
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/long-running/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,OAAO;AACP,6CAOuB;AANrB,qHAAA,sBAAsB,OAAA;AACtB,sHAAA,uBAAuB,OAAA;AACvB,gHAAA,iBAAiB,OAAA;AACjB,2HAAA,4BAA4B,OAAA;AAC5B,kIAAA,mCAAmC,OAAA;AACnC,uHAAA,wBAAwB,OAAA;AAgB1B,SAAS;AACI,QAAA,wBAAwB,GAAG;IACtC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACL,mBAAmB;QACnB,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,UAAU;QACV,YAAY;QACZ,oBAAoB;QACpB,qBAAqB;KACtB;CACF,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Long-Running Agents 类型定义
|
|
3
|
+
*
|
|
4
|
+
* 来源:Anthropic Engineering Blog - Effective Harnesses for Long-Running Agents
|
|
5
|
+
* 参考:~/knowledge-base/projects/harness/anthropic-long-running-agents-roadmap.md
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 功能定义
|
|
9
|
+
*
|
|
10
|
+
* 用于 feature_list.json,记录项目级功能清单
|
|
11
|
+
*/
|
|
12
|
+
export interface FeatureDefinition {
|
|
13
|
+
/** 功能 ID */
|
|
14
|
+
id: string;
|
|
15
|
+
/** 功能分类 */
|
|
16
|
+
category: 'functional' | 'ui' | 'performance' | 'security';
|
|
17
|
+
/** 功能描述 */
|
|
18
|
+
description: string;
|
|
19
|
+
/** 测试步骤 */
|
|
20
|
+
steps: string[];
|
|
21
|
+
/** 是否通过 */
|
|
22
|
+
passes: boolean;
|
|
23
|
+
/** 优先级 */
|
|
24
|
+
priority: 'high' | 'medium' | 'low';
|
|
25
|
+
/** 依赖的其他功能 ID */
|
|
26
|
+
dependencies: string[];
|
|
27
|
+
/** 完成时间 */
|
|
28
|
+
completedAt?: string;
|
|
29
|
+
/** 完成的 session ID */
|
|
30
|
+
completedBy?: string;
|
|
31
|
+
/** 验证类型 */
|
|
32
|
+
verificationType: 'unit' | 'e2e' | 'manual';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 功能清单
|
|
36
|
+
*/
|
|
37
|
+
export interface FeatureList {
|
|
38
|
+
/** 项目 ID */
|
|
39
|
+
projectId: string;
|
|
40
|
+
/** 项目名称 */
|
|
41
|
+
projectName: string;
|
|
42
|
+
/** 功能列表 */
|
|
43
|
+
features: FeatureDefinition[];
|
|
44
|
+
/** 创建时间 */
|
|
45
|
+
createdAt: string;
|
|
46
|
+
/** 更新时间 */
|
|
47
|
+
updatedAt: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 项目级进度
|
|
51
|
+
*
|
|
52
|
+
* 用于 claude-progress.json,跨 session 共享进度
|
|
53
|
+
*/
|
|
54
|
+
export interface ProjectProgress {
|
|
55
|
+
/** 项目 ID */
|
|
56
|
+
projectId: string;
|
|
57
|
+
/** 功能状态列表 */
|
|
58
|
+
features: FeatureStatus[];
|
|
59
|
+
/** Session 记录列表 */
|
|
60
|
+
sessions: SessionRecord[];
|
|
61
|
+
/** 最后更新时间 */
|
|
62
|
+
lastUpdate: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 功能状态
|
|
66
|
+
*/
|
|
67
|
+
export interface FeatureStatus {
|
|
68
|
+
/** 功能 ID */
|
|
69
|
+
featureId: string;
|
|
70
|
+
/** 状态 */
|
|
71
|
+
status: 'pending' | 'in_progress' | 'completed' | 'blocked';
|
|
72
|
+
/** 开始时间 */
|
|
73
|
+
startedAt?: string;
|
|
74
|
+
/** 完成时间 */
|
|
75
|
+
completedAt?: string;
|
|
76
|
+
/** 完成的 session 编号 */
|
|
77
|
+
completedBySession?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Session 记录
|
|
81
|
+
*/
|
|
82
|
+
export interface SessionRecord {
|
|
83
|
+
/** Session 编号 */
|
|
84
|
+
sessionId: number;
|
|
85
|
+
/** 开始时间 */
|
|
86
|
+
startTime: string;
|
|
87
|
+
/** 结束时间 */
|
|
88
|
+
endTime: string;
|
|
89
|
+
/** 工作的功能 ID */
|
|
90
|
+
featureWorkedOn: string;
|
|
91
|
+
/** 结果 */
|
|
92
|
+
outcome: 'progress' | 'completed' | 'blocked' | 'failed';
|
|
93
|
+
/** 提交 hash 列表 */
|
|
94
|
+
commits: string[];
|
|
95
|
+
/** 进度说明 */
|
|
96
|
+
notes: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 测试步骤
|
|
100
|
+
*
|
|
101
|
+
* 用于 Puppeteer E2E 测试
|
|
102
|
+
*/
|
|
103
|
+
export interface TestStep {
|
|
104
|
+
/** 动作类型 */
|
|
105
|
+
action: 'navigate' | 'click' | 'type' | 'wait' | 'verify';
|
|
106
|
+
/** 步骤描述 */
|
|
107
|
+
description: string;
|
|
108
|
+
/** CSS 选择器 */
|
|
109
|
+
selector?: string;
|
|
110
|
+
/** URL */
|
|
111
|
+
url?: string;
|
|
112
|
+
/** 输入值 */
|
|
113
|
+
value?: string;
|
|
114
|
+
/** 期望值(用于 verify) */
|
|
115
|
+
expectedValue?: string;
|
|
116
|
+
/** 超时时间(毫秒) */
|
|
117
|
+
timeout?: number;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* 步骤结果
|
|
121
|
+
*/
|
|
122
|
+
export interface StepResult {
|
|
123
|
+
/** 是否通过 */
|
|
124
|
+
passed: boolean;
|
|
125
|
+
/** 步骤描述 */
|
|
126
|
+
description: string;
|
|
127
|
+
/** 错误信息 */
|
|
128
|
+
error?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Puppeteer 测试输入
|
|
132
|
+
*/
|
|
133
|
+
export interface PuppeteerTestInput {
|
|
134
|
+
/** 功能定义 */
|
|
135
|
+
feature: FeatureDefinition;
|
|
136
|
+
/** 测试基础 URL */
|
|
137
|
+
baseUrl: string;
|
|
138
|
+
/** 自定义测试步骤(可选) */
|
|
139
|
+
steps?: TestStep[];
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Puppeteer 测试结果
|
|
143
|
+
*/
|
|
144
|
+
export interface PuppeteerTestResult {
|
|
145
|
+
/** 是否通过 */
|
|
146
|
+
passed: boolean;
|
|
147
|
+
/** 每个步骤的结果 */
|
|
148
|
+
results: StepResult[];
|
|
149
|
+
/** 失败的步骤 */
|
|
150
|
+
failedStep?: string;
|
|
151
|
+
/** 截图(base64) */
|
|
152
|
+
screenshot?: string;
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/long-running/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Long-Running Agents 类型定义
|
|
4
|
+
*
|
|
5
|
+
* 来源:Anthropic Engineering Blog - Effective Harnesses for Long-Running Agents
|
|
6
|
+
* 参考:~/knowledge-base/projects/harness/anthropic-long-running-agents-roadmap.md
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/extensions/long-running/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 治理执行器
|
|
3
|
+
*
|
|
4
|
+
* 检测差异 → 返回结果 → LLM 自行修复
|
|
5
|
+
* harness 只做检测,不做修复
|
|
6
|
+
*/
|
|
7
|
+
import type { GovernanceDiff, GovernanceResult } from './types';
|
|
8
|
+
export declare class GovernanceExecutor {
|
|
9
|
+
/**
|
|
10
|
+
* 执行治理检查
|
|
11
|
+
*
|
|
12
|
+
* 检测差异并返回结果,不调用 hook,不执行修复
|
|
13
|
+
* LLM 拿到结果后自行决定如何处理
|
|
14
|
+
*/
|
|
15
|
+
check(projectPath: string): Promise<GovernanceResult>;
|
|
16
|
+
/**
|
|
17
|
+
* 检测项目中的治理差异
|
|
18
|
+
*/
|
|
19
|
+
detectDiffs(projectPath: string): Promise<GovernanceDiff[]>;
|
|
20
|
+
/**
|
|
21
|
+
* 检查 CAPABILITIES.md 与源码是否同步
|
|
22
|
+
*/
|
|
23
|
+
private checkCapabilitiesSync;
|
|
24
|
+
/**
|
|
25
|
+
* 检查 CONTEXT.md 文件
|
|
26
|
+
*/
|
|
27
|
+
private checkContextFiles;
|
|
28
|
+
/**
|
|
29
|
+
* 从治理配置获取需要 CONTEXT.md 的目录
|
|
30
|
+
*/
|
|
31
|
+
private getRequiredContextDirs;
|
|
32
|
+
/**
|
|
33
|
+
* 解析 CAPABILITIES.md 中的文件路径
|
|
34
|
+
*/
|
|
35
|
+
private parseCapabilitiesFiles;
|
|
36
|
+
/**
|
|
37
|
+
* 递归查找源文件
|
|
38
|
+
*/
|
|
39
|
+
private findSourceFiles;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 全局治理执行器单例
|
|
43
|
+
*/
|
|
44
|
+
export declare const governanceExecutor: GovernanceExecutor;
|
|
45
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/governance/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,qBAAa,kBAAkB;IAC7B;;;;;OAKG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS3D;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAcjE;;OAEG;YACW,qBAAqB;IA4DnC;;OAEG;YACW,iBAAiB;IA2C/B;;OAEG;YACW,sBAAsB;IAgBpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;YACW,eAAe;CAyB9B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 治理执行器
|
|
4
|
+
*
|
|
5
|
+
* 检测差异 → 返回结果 → LLM 自行修复
|
|
6
|
+
* harness 只做检测,不做修复
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.governanceExecutor = exports.GovernanceExecutor = void 0;
|
|
43
|
+
const fs = __importStar(require("fs/promises"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const yaml = __importStar(require("js-yaml"));
|
|
46
|
+
class GovernanceExecutor {
|
|
47
|
+
/**
|
|
48
|
+
* 执行治理检查
|
|
49
|
+
*
|
|
50
|
+
* 检测差异并返回结果,不调用 hook,不执行修复
|
|
51
|
+
* LLM 拿到结果后自行决定如何处理
|
|
52
|
+
*/
|
|
53
|
+
async check(projectPath) {
|
|
54
|
+
const diffs = await this.detectDiffs(projectPath);
|
|
55
|
+
return {
|
|
56
|
+
hasDiffs: diffs.length > 0,
|
|
57
|
+
diffs,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 检测项目中的治理差异
|
|
62
|
+
*/
|
|
63
|
+
async detectDiffs(projectPath) {
|
|
64
|
+
const diffs = [];
|
|
65
|
+
// 1. 检查 CAPABILITIES.md 与源码的差异
|
|
66
|
+
const capDiffs = await this.checkCapabilitiesSync(projectPath);
|
|
67
|
+
diffs.push(...capDiffs);
|
|
68
|
+
// 2. 检查 CONTEXT.md
|
|
69
|
+
const contextDiffs = await this.checkContextFiles(projectPath);
|
|
70
|
+
diffs.push(...contextDiffs);
|
|
71
|
+
return diffs;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 检查 CAPABILITIES.md 与源码是否同步
|
|
75
|
+
*/
|
|
76
|
+
async checkCapabilitiesSync(projectPath) {
|
|
77
|
+
const diffs = [];
|
|
78
|
+
const capabilitiesPath = path.join(projectPath, 'CAPABILITIES.md');
|
|
79
|
+
// 读取 CAPABILITIES.md
|
|
80
|
+
let capContent;
|
|
81
|
+
try {
|
|
82
|
+
capContent = await fs.readFile(capabilitiesPath, 'utf-8');
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// CAPABILITIES.md 不存在
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
// 解析表格中的文件路径
|
|
89
|
+
const listedFiles = this.parseCapabilitiesFiles(capContent);
|
|
90
|
+
// 如果没有表格,跳过
|
|
91
|
+
if (listedFiles.length === 0)
|
|
92
|
+
return [];
|
|
93
|
+
// 扫描 src/ 中的实际文件
|
|
94
|
+
const srcDir = path.join(projectPath, 'src');
|
|
95
|
+
const actualFiles = await this.findSourceFiles(srcDir, projectPath);
|
|
96
|
+
// 找出新增但未列出的文件
|
|
97
|
+
const missing = actualFiles.filter(f => !listedFiles.includes(f));
|
|
98
|
+
// 找出已列出但已删除的文件
|
|
99
|
+
const removed = listedFiles.filter(f => !actualFiles.includes(f));
|
|
100
|
+
if (missing.length > 0) {
|
|
101
|
+
diffs.push({
|
|
102
|
+
type: 'doc_mismatch',
|
|
103
|
+
projectPath,
|
|
104
|
+
details: {
|
|
105
|
+
file: capabilitiesPath,
|
|
106
|
+
current: capContent,
|
|
107
|
+
expected: `新增文件未在 CAPABILITIES.md 中列出: ${missing.join(', ')}`,
|
|
108
|
+
files: missing,
|
|
109
|
+
context: { missing, listedFiles, actualFiles },
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
if (removed.length > 0) {
|
|
114
|
+
diffs.push({
|
|
115
|
+
type: 'doc_mismatch',
|
|
116
|
+
projectPath,
|
|
117
|
+
details: {
|
|
118
|
+
file: capabilitiesPath,
|
|
119
|
+
current: capContent,
|
|
120
|
+
expected: `CAPABILITIES.md 中列出的文件已不存在: ${removed.join(', ')}`,
|
|
121
|
+
files: removed,
|
|
122
|
+
context: { removed, listedFiles, actualFiles },
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return diffs;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* 检查 CONTEXT.md 文件
|
|
130
|
+
*/
|
|
131
|
+
async checkContextFiles(projectPath) {
|
|
132
|
+
const diffs = [];
|
|
133
|
+
const requiredDirs = await this.getRequiredContextDirs(projectPath);
|
|
134
|
+
for (const dir of requiredDirs) {
|
|
135
|
+
const contextPath = path.join(projectPath, dir, 'CONTEXT.md');
|
|
136
|
+
try {
|
|
137
|
+
const content = await fs.readFile(contextPath, 'utf-8');
|
|
138
|
+
// 检查内容是否只是模板(没有实际填写)
|
|
139
|
+
const isTemplate = content.includes('<!-- 本目录')
|
|
140
|
+
|| content.includes('<!-- 此文件描述');
|
|
141
|
+
if (isTemplate) {
|
|
142
|
+
diffs.push({
|
|
143
|
+
type: 'context_outdated',
|
|
144
|
+
projectPath,
|
|
145
|
+
details: {
|
|
146
|
+
file: contextPath,
|
|
147
|
+
current: content,
|
|
148
|
+
moduleName: dir,
|
|
149
|
+
context: { reason: 'CONTEXT.md 仍为模板,未填写实际内容' },
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// CONTEXT.md 不存在
|
|
156
|
+
diffs.push({
|
|
157
|
+
type: 'context_missing',
|
|
158
|
+
projectPath,
|
|
159
|
+
details: {
|
|
160
|
+
file: contextPath,
|
|
161
|
+
moduleName: dir,
|
|
162
|
+
context: { requiredDir: dir },
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return diffs;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* 从治理配置获取需要 CONTEXT.md 的目录
|
|
171
|
+
*/
|
|
172
|
+
async getRequiredContextDirs(projectPath) {
|
|
173
|
+
const configPath = path.join(projectPath, '.harness', 'config.yml');
|
|
174
|
+
try {
|
|
175
|
+
const content = await fs.readFile(configPath, 'utf-8');
|
|
176
|
+
const config = yaml.load(content);
|
|
177
|
+
const governance = config.governance;
|
|
178
|
+
const contextFiles = governance?.context_files;
|
|
179
|
+
if (contextFiles?.enabled && Array.isArray(contextFiles.required_dirs)) {
|
|
180
|
+
return contextFiles.required_dirs;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
// 配置不存在
|
|
185
|
+
}
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* 解析 CAPABILITIES.md 中的文件路径
|
|
190
|
+
*/
|
|
191
|
+
parseCapabilitiesFiles(content) {
|
|
192
|
+
const files = [];
|
|
193
|
+
const tableRowRegex = /^\|[^|]+\|\s*([^|]+?\.(?:ts|tsx|js|jsx))\s*\|/gm;
|
|
194
|
+
let match;
|
|
195
|
+
while ((match = tableRowRegex.exec(content)) !== null) {
|
|
196
|
+
files.push(match[1].trim());
|
|
197
|
+
}
|
|
198
|
+
return files;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* 递归查找源文件
|
|
202
|
+
*/
|
|
203
|
+
async findSourceFiles(dir, projectPath) {
|
|
204
|
+
const results = [];
|
|
205
|
+
let entries;
|
|
206
|
+
try {
|
|
207
|
+
entries = await fs.readdir(dir);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
return [];
|
|
211
|
+
}
|
|
212
|
+
for (const entry of entries) {
|
|
213
|
+
if (entry === 'node_modules' || entry === '__tests__' || entry === 'dist')
|
|
214
|
+
continue;
|
|
215
|
+
const entryPath = path.join(dir, entry);
|
|
216
|
+
try {
|
|
217
|
+
const stat = await fs.stat(entryPath);
|
|
218
|
+
if (stat.isDirectory()) {
|
|
219
|
+
results.push(...await this.findSourceFiles(entryPath, projectPath));
|
|
220
|
+
}
|
|
221
|
+
else if (entry.endsWith('.ts') && !entry.endsWith('.d.ts')) {
|
|
222
|
+
results.push(path.relative(projectPath, entryPath));
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
// ignore
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return results;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.GovernanceExecutor = GovernanceExecutor;
|
|
233
|
+
/**
|
|
234
|
+
* 全局治理执行器单例
|
|
235
|
+
*/
|
|
236
|
+
exports.governanceExecutor = new GovernanceExecutor();
|
|
237
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/governance/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 治理模块
|
|
4
|
+
*
|
|
5
|
+
* harness 检测差异,LLM 自行修复
|
|
6
|
+
* 只提供检测能力,不提供修复机制
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.governanceExecutor = exports.GovernanceExecutor = void 0;
|
|
10
|
+
var executor_1 = require("./executor");
|
|
11
|
+
Object.defineProperty(exports, "GovernanceExecutor", { enumerable: true, get: function () { return executor_1.GovernanceExecutor; } });
|
|
12
|
+
Object.defineProperty(exports, "governanceExecutor", { enumerable: true, get: function () { return executor_1.governanceExecutor; } });
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAAoE;AAA3D,8GAAA,kBAAkB,OAAA;AAAE,8GAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 治理类型定义
|
|
3
|
+
*
|
|
4
|
+
* harness 检测差异,LLM 自行决定如何修复
|
|
5
|
+
* 不需要 hook 返回内容、不需要 apply 机制
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 差异类型
|
|
9
|
+
*/
|
|
10
|
+
export type DiffType = 'doc_mismatch' | 'context_missing' | 'context_outdated' | 'test_gap' | 'constraint_violation' | 'changelog_missing';
|
|
11
|
+
/**
|
|
12
|
+
* 治理检查结果(harness 检测到的差异)
|
|
13
|
+
*/
|
|
14
|
+
export interface GovernanceDiff {
|
|
15
|
+
/** 差异类型 */
|
|
16
|
+
type: DiffType;
|
|
17
|
+
/** 项目路径 */
|
|
18
|
+
projectPath: string;
|
|
19
|
+
/** 差异详情 */
|
|
20
|
+
details: {
|
|
21
|
+
/** 目标文件 */
|
|
22
|
+
file?: string;
|
|
23
|
+
/** 现有内容 */
|
|
24
|
+
current?: string;
|
|
25
|
+
/** 期望内容(代码实际情况) */
|
|
26
|
+
expected?: string;
|
|
27
|
+
/** 相关文件列表 */
|
|
28
|
+
files?: string[];
|
|
29
|
+
/** 模块名 */
|
|
30
|
+
moduleName?: string;
|
|
31
|
+
/** 约束 ID */
|
|
32
|
+
constraintId?: string;
|
|
33
|
+
/** 额外上下文 */
|
|
34
|
+
context?: Record<string, unknown>;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 治理执行结果
|
|
39
|
+
*/
|
|
40
|
+
export interface GovernanceResult {
|
|
41
|
+
/** 是否有差异 */
|
|
42
|
+
hasDiffs: boolean;
|
|
43
|
+
/** 检测到的差异 */
|
|
44
|
+
diffs: GovernanceDiff[];
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,UAAU,GACV,sBAAsB,GACtB,mBAAmB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,OAAO,EAAE;QACP,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,mBAAmB;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa;QACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|