@lannguyensi/harness 0.63.0 → 1.0.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 +90 -0
- package/README.md +46 -42
- package/dist/cli/add/index.js +17 -21
- package/dist/cli/add/index.js.map +1 -1
- package/dist/cli/adopt/derive.d.ts +2 -2
- package/dist/cli/adopt/derive.js +2 -19
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.d.ts +1 -1
- package/dist/cli/adopt/index.js +1 -12
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/apply.d.ts +20 -35
- package/dist/cli/apply/apply.js +61 -136
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-codex-config.js +10 -58
- package/dist/cli/apply/generate-codex-config.js.map +1 -1
- package/dist/cli/apply/generate-memory-index.js +1 -2
- package/dist/cli/apply/generate-memory-index.js.map +1 -1
- package/dist/cli/apply/generate-opencode-config.d.ts +2 -10
- package/dist/cli/apply/generate-opencode-config.js +74 -113
- package/dist/cli/apply/generate-opencode-config.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +11 -64
- package/dist/cli/apply/generate-settings.js +27 -132
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/apply/index.d.ts +1 -1
- package/dist/cli/apply/index.js +1 -1
- package/dist/cli/apply/index.js.map +1 -1
- package/dist/cli/apply/install-codex-config.d.ts +153 -1
- package/dist/cli/apply/install-codex-config.js +445 -70
- package/dist/cli/apply/install-codex-config.js.map +1 -1
- package/dist/cli/apply/next-steps.d.ts +7 -0
- package/dist/cli/apply/next-steps.js +13 -1
- package/dist/cli/apply/next-steps.js.map +1 -1
- package/dist/cli/bounded-stdin.d.ts +0 -23
- package/dist/cli/bounded-stdin.js +2 -49
- package/dist/cli/bounded-stdin.js.map +1 -1
- package/dist/cli/describe.d.ts +1 -1
- package/dist/cli/describe.js +0 -3
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/diff/engine.d.ts +0 -11
- package/dist/cli/diff/engine.js +1 -17
- package/dist/cli/diff/engine.js.map +1 -1
- package/dist/cli/diff/index.js +14 -25
- package/dist/cli/diff/index.js.map +1 -1
- package/dist/cli/doctor/claude-mcp.d.ts +4 -19
- package/dist/cli/doctor/claude-mcp.js +11 -22
- package/dist/cli/doctor/claude-mcp.js.map +1 -1
- package/dist/cli/doctor/codex.d.ts +12 -14
- package/dist/cli/doctor/codex.js +31 -144
- package/dist/cli/doctor/codex.js.map +1 -1
- package/dist/cli/doctor/format.js +23 -338
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/hook-liveness.d.ts +56 -0
- package/dist/cli/doctor/hook-liveness.js +455 -0
- package/dist/cli/doctor/hook-liveness.js.map +1 -0
- package/dist/cli/doctor/index.d.ts +13 -87
- package/dist/cli/doctor/index.js +57 -705
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/opencode.d.ts +2 -1
- package/dist/cli/doctor/opencode.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +21 -378
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/drain-stdio.d.ts +31 -0
- package/dist/cli/drain-stdio.js +76 -0
- package/dist/cli/drain-stdio.js.map +1 -0
- package/dist/cli/export.d.ts +3 -1
- package/dist/cli/export.js +7 -16
- package/dist/cli/export.js.map +1 -1
- package/dist/cli/gate/codex-disable.d.ts +29 -0
- package/dist/cli/gate/codex-disable.js +195 -0
- package/dist/cli/gate/codex-disable.js.map +1 -0
- package/dist/cli/gate/codex-enable.d.ts +41 -0
- package/dist/cli/gate/codex-enable.js +127 -0
- package/dist/cli/gate/codex-enable.js.map +1 -0
- package/dist/cli/gate/codex-snapshot.d.ts +208 -0
- package/dist/cli/gate/codex-snapshot.js +402 -0
- package/dist/cli/gate/codex-snapshot.js.map +1 -0
- package/dist/cli/gate/disable.d.ts +9 -0
- package/dist/cli/gate/disable.js +263 -28
- package/dist/cli/gate/disable.js.map +1 -1
- package/dist/cli/gate/enable.d.ts +26 -6
- package/dist/cli/gate/enable.js +152 -80
- package/dist/cli/gate/enable.js.map +1 -1
- package/dist/cli/gate/link-chain.d.ts +53 -0
- package/dist/cli/gate/link-chain.js +122 -0
- package/dist/cli/gate/link-chain.js.map +1 -0
- package/dist/cli/gate/snapshot.d.ts +289 -12
- package/dist/cli/gate/snapshot.js +481 -22
- package/dist/cli/gate/snapshot.js.map +1 -1
- package/dist/cli/index.d.ts +0 -9
- package/dist/cli/index.js +15 -2607
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.d.ts +3 -6
- package/dist/cli/init/composer.js +6 -370
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/dependencies.d.ts +1 -2
- package/dist/cli/init/dependencies.js +4 -80
- package/dist/cli/init/dependencies.js.map +1 -1
- package/dist/cli/init/detect.js +5 -4
- package/dist/cli/init/detect.js.map +1 -1
- package/dist/cli/init/interactive.d.ts +1 -23
- package/dist/cli/init/interactive.js +33 -247
- package/dist/cli/init/interactive.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +2 -2
- package/dist/cli/init/profiles.js +51 -243
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.d.ts +2 -37
- package/dist/cli/init/templates.js +25 -1237
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/list.d.ts +1 -1
- package/dist/cli/list.js +1 -38
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/loader.d.ts +15 -1
- package/dist/cli/loader.js +56 -39
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/main.js +7 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/migrate-home/index.js +2 -2
- package/dist/cli/migrate-home/index.js.map +1 -1
- package/dist/cli/pack/add.js +1 -1
- package/dist/cli/pack/add.js.map +1 -1
- package/dist/cli/pack/hook-bootstrap.d.ts +5 -164
- package/dist/cli/pack/hook-bootstrap.js +15 -291
- package/dist/cli/pack/hook-bootstrap.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.d.ts +28 -21
- package/dist/cli/pack/hook-branch-protection.js +365 -340
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/index.d.ts +0 -1
- package/dist/cli/pack/index.js +0 -1
- package/dist/cli/pack/index.js.map +1 -1
- package/dist/cli/pack/list.js +1 -6
- package/dist/cli/pack/list.js.map +1 -1
- package/dist/cli/pack/mutate.d.ts +7 -9
- package/dist/cli/pack/mutate.js +6 -9
- package/dist/cli/pack/mutate.js.map +1 -1
- package/dist/cli/pack/reseed.d.ts +2 -2
- package/dist/cli/pack/reseed.js +16 -22
- package/dist/cli/pack/reseed.js.map +1 -1
- package/dist/cli/register-gate-group.d.ts +5 -0
- package/dist/cli/register-gate-group.js +348 -0
- package/dist/cli/register-gate-group.js.map +1 -0
- package/dist/cli/register-inspect-group.d.ts +6 -0
- package/dist/cli/register-inspect-group.js +189 -0
- package/dist/cli/register-inspect-group.js.map +1 -0
- package/dist/cli/register-operator-lifecycle.d.ts +5 -0
- package/dist/cli/register-operator-lifecycle.js +20 -0
- package/dist/cli/register-operator-lifecycle.js.map +1 -0
- package/dist/cli/register-pack-group.d.ts +5 -0
- package/dist/cli/register-pack-group.js +134 -0
- package/dist/cli/register-pack-group.js.map +1 -0
- package/dist/cli/register-setup-group.d.ts +5 -0
- package/dist/cli/register-setup-group.js +495 -0
- package/dist/cli/register-setup-group.js.map +1 -0
- package/dist/cli/remove/index.d.ts +0 -14
- package/dist/cli/remove/index.js +2 -115
- package/dist/cli/remove/index.js.map +1 -1
- package/dist/cli/remove/mutate.d.ts +0 -2
- package/dist/cli/remove/mutate.js +1 -19
- package/dist/cli/remove/mutate.js.map +1 -1
- package/dist/cli/remove/register.d.ts +5 -0
- package/dist/cli/remove/register.js +25 -0
- package/dist/cli/remove/register.js.map +1 -0
- package/dist/cli/shell-quote.d.ts +7 -0
- package/dist/cli/shell-quote.js +17 -0
- package/dist/cli/shell-quote.js.map +1 -0
- package/dist/cli/uninstall/index.d.ts +4 -2
- package/dist/cli/uninstall/index.js +15 -7
- package/dist/cli/uninstall/index.js.map +1 -1
- package/dist/cli/uninstall/register.d.ts +5 -0
- package/dist/cli/uninstall/register.js +171 -0
- package/dist/cli/uninstall/register.js.map +1 -0
- package/dist/cli/uninstall/snapshot.d.ts +15 -0
- package/dist/cli/uninstall/snapshot.js +38 -0
- package/dist/cli/uninstall/snapshot.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +0 -77
- package/dist/cli/validate/checks.js +3 -1049
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/cli/validate/index.js +19 -15
- package/dist/cli/validate/index.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/io/claude-mcp.d.ts +1 -1
- package/dist/io/claude-mcp.js +27 -14
- package/dist/io/claude-mcp.js.map +1 -1
- package/dist/io/harness-lock.js +2 -2
- package/dist/io/harness-lock.js.map +1 -1
- package/dist/io/lock.d.ts +0 -26
- package/dist/io/lock.js +10 -27
- package/dist/io/lock.js.map +1 -1
- package/dist/io/merge-settings.js +6 -4
- package/dist/io/merge-settings.js.map +1 -1
- package/dist/io/project-name.d.ts +22 -39
- package/dist/io/project-name.js +25 -42
- package/dist/io/project-name.js.map +1 -1
- package/dist/io/read-regular-file.d.ts +103 -40
- package/dist/io/read-regular-file.js +196 -35
- package/dist/io/read-regular-file.js.map +1 -1
- package/dist/io/restart-hints.js +3 -6
- package/dist/io/restart-hints.js.map +1 -1
- package/dist/io/version-compare.d.ts +1 -3
- package/dist/io/version-compare.js +1 -3
- package/dist/io/version-compare.js.map +1 -1
- package/dist/io/write-regular-file.d.ts +30 -0
- package/dist/io/write-regular-file.js +85 -0
- package/dist/io/write-regular-file.js.map +1 -0
- package/dist/overrides/index.d.ts +1 -0
- package/dist/overrides/index.js +1 -0
- package/dist/overrides/index.js.map +1 -1
- package/dist/overrides/merge-layers.d.ts +43 -0
- package/dist/overrides/merge-layers.js +76 -0
- package/dist/overrides/merge-layers.js.map +1 -0
- package/dist/overrides/merge.d.ts +16 -0
- package/dist/overrides/merge.js +21 -8
- package/dist/overrides/merge.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +4 -69
- package/dist/policy-packs/builtin/branch-protection-runtime.js +12 -84
- package/dist/policy-packs/builtin/branch-protection-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection.d.ts +7 -30
- package/dist/policy-packs/builtin/branch-protection.js +56 -89
- package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
- package/dist/policy-packs/config-check.d.ts +7 -5
- package/dist/policy-packs/config-check.js +2 -2
- package/dist/policy-packs/config-check.js.map +1 -1
- package/dist/policy-packs/expand.d.ts +1 -3
- package/dist/policy-packs/expand.js +5 -42
- package/dist/policy-packs/expand.js.map +1 -1
- package/dist/policy-packs/index.d.ts +3 -3
- package/dist/policy-packs/index.js +2 -2
- package/dist/policy-packs/index.js.map +1 -1
- package/dist/policy-packs/registry.d.ts +9 -38
- package/dist/policy-packs/registry.js +5 -65
- package/dist/policy-packs/registry.js.map +1 -1
- package/dist/policy-packs/runtime.d.ts +0 -4
- package/dist/policy-packs/runtime.js +9 -22
- package/dist/policy-packs/runtime.js.map +1 -1
- package/dist/policy-packs/types.d.ts +0 -19
- package/dist/policy-packs/ux-compare.d.ts +1 -11
- package/dist/policy-packs/ux-compare.js +6 -42
- package/dist/policy-packs/ux-compare.js.map +1 -1
- package/dist/policy-packs/ux-drift-check.d.ts +5 -5
- package/dist/policy-packs/ux-drift-check.js +17 -22
- package/dist/policy-packs/ux-drift-check.js.map +1 -1
- package/dist/policy-packs/version-check.d.ts +5 -26
- package/dist/policy-packs/version-check.js +19 -74
- package/dist/policy-packs/version-check.js.map +1 -1
- package/dist/probes/memory.d.ts +1 -1
- package/dist/probes/memory.js +1 -1
- package/dist/probes/memory.js.map +1 -1
- package/dist/runtime/agent-facing.d.ts +9 -0
- package/dist/runtime/agent-facing.js +28 -14
- package/dist/runtime/agent-facing.js.map +1 -1
- package/dist/runtime/bounded-text.d.ts +15 -0
- package/dist/runtime/bounded-text.js +27 -0
- package/dist/runtime/bounded-text.js.map +1 -0
- package/dist/runtime/git-branch.d.ts +125 -0
- package/dist/runtime/git-branch.js +381 -0
- package/dist/runtime/git-branch.js.map +1 -0
- package/dist/runtime/hermetic-spawn-guard.d.ts +2 -2
- package/dist/runtime/hermetic-spawn-guard.js +24 -34
- package/dist/runtime/hermetic-spawn-guard.js.map +1 -1
- package/dist/runtime/home-dir.js +3 -2
- package/dist/runtime/home-dir.js.map +1 -1
- package/dist/runtime/tool-name-aliases.d.ts +0 -6
- package/dist/runtime/tool-name-aliases.js +5 -18
- package/dist/runtime/tool-name-aliases.js.map +1 -1
- package/dist/schema/grounding.d.ts +7 -54
- package/dist/schema/grounding.js +10 -12
- package/dist/schema/grounding.js.map +1 -1
- package/dist/schema/hooks.d.ts +39 -136
- package/dist/schema/hooks.js +3 -6
- package/dist/schema/hooks.js.map +1 -1
- package/dist/schema/index.d.ts +114 -3828
- package/dist/schema/index.js +41 -80
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/memory.d.ts +54 -131
- package/dist/schema/memory.js +2 -2
- package/dist/schema/memory.js.map +1 -1
- package/dist/schema/policy-packs.d.ts +3 -45
- package/dist/schema/policy-packs.js +7 -13
- package/dist/schema/policy-packs.js.map +1 -1
- package/dist/schema/policy-ux.d.ts +7 -0
- package/dist/schema/policy-ux.js +18 -0
- package/dist/schema/policy-ux.js.map +1 -0
- package/dist/schema/removed-keys.d.ts +185 -0
- package/dist/schema/removed-keys.js +531 -0
- package/dist/schema/removed-keys.js.map +1 -0
- package/dist/schema/tools.d.ts +30 -268
- package/dist/schema/tools.js +4 -4
- package/dist/schema/tools.js.map +1 -1
- package/package.json +5 -16
- package/dist/cli/approve/branch-protection.d.ts +0 -69
- package/dist/cli/approve/branch-protection.js +0 -144
- package/dist/cli/approve/branch-protection.js.map +0 -1
- package/dist/cli/approve/risk.d.ts +0 -112
- package/dist/cli/approve/risk.js +0 -197
- package/dist/cli/approve/risk.js.map +0 -1
- package/dist/cli/approve/stdin-report.d.ts +0 -57
- package/dist/cli/approve/stdin-report.js +0 -145
- package/dist/cli/approve/stdin-report.js.map +0 -1
- package/dist/cli/approve/understanding.d.ts +0 -410
- package/dist/cli/approve/understanding.js +0 -996
- package/dist/cli/approve/understanding.js.map +0 -1
- package/dist/cli/audit.d.ts +0 -80
- package/dist/cli/audit.js +0 -252
- package/dist/cli/audit.js.map +0 -1
- package/dist/cli/delegate/index.d.ts +0 -76
- package/dist/cli/delegate/index.js +0 -443
- package/dist/cli/delegate/index.js.map +0 -1
- package/dist/cli/doctor/auto-approve-mode.d.ts +0 -37
- package/dist/cli/doctor/auto-approve-mode.js +0 -80
- package/dist/cli/doctor/auto-approve-mode.js.map +0 -1
- package/dist/cli/doctor/bypass-without-auto-approve.d.ts +0 -38
- package/dist/cli/doctor/bypass-without-auto-approve.js +0 -95
- package/dist/cli/doctor/bypass-without-auto-approve.js.map +0 -1
- package/dist/cli/doctor/codex-config-drift.d.ts +0 -28
- package/dist/cli/doctor/codex-config-drift.js +0 -240
- package/dist/cli/doctor/codex-config-drift.js.map +0 -1
- package/dist/cli/doctor/rogue-ledger.d.ts +0 -53
- package/dist/cli/doctor/rogue-ledger.js +0 -153
- package/dist/cli/doctor/rogue-ledger.js.map +0 -1
- package/dist/cli/doctor/session-start-preflight-setup-version.d.ts +0 -83
- package/dist/cli/doctor/session-start-preflight-setup-version.js +0 -114
- package/dist/cli/doctor/session-start-preflight-setup-version.js.map +0 -1
- package/dist/cli/doctor/settings-drift.d.ts +0 -25
- package/dist/cli/doctor/settings-drift.js +0 -213
- package/dist/cli/doctor/settings-drift.js.map +0 -1
- package/dist/cli/doctor/toolchain-parity.d.ts +0 -63
- package/dist/cli/doctor/toolchain-parity.js +0 -154
- package/dist/cli/doctor/toolchain-parity.js.map +0 -1
- package/dist/cli/doctor/ug-auto-approvals.d.ts +0 -40
- package/dist/cli/doctor/ug-auto-approvals.js +0 -91
- package/dist/cli/doctor/ug-auto-approvals.js.map +0 -1
- package/dist/cli/doctor/ug-delegations.d.ts +0 -26
- package/dist/cli/doctor/ug-delegations.js +0 -121
- package/dist/cli/doctor/ug-delegations.js.map +0 -1
- package/dist/cli/doctor/ug-inflight.d.ts +0 -35
- package/dist/cli/doctor/ug-inflight.js +0 -57
- package/dist/cli/doctor/ug-inflight.js.map +0 -1
- package/dist/cli/doctor/understanding-mode-env.d.ts +0 -51
- package/dist/cli/doctor/understanding-mode-env.js +0 -98
- package/dist/cli/doctor/understanding-mode-env.js.map +0 -1
- package/dist/cli/dry-run.d.ts +0 -46
- package/dist/cli/dry-run.js +0 -250
- package/dist/cli/dry-run.js.map +0 -1
- package/dist/cli/event-input.d.ts +0 -28
- package/dist/cli/event-input.js +0 -73
- package/dist/cli/event-input.js.map +0 -1
- package/dist/cli/explain-action.d.ts +0 -20
- package/dist/cli/explain-action.js +0 -27
- package/dist/cli/explain-action.js.map +0 -1
- package/dist/cli/explain-policy.d.ts +0 -135
- package/dist/cli/explain-policy.js +0 -266
- package/dist/cli/explain-policy.js.map +0 -1
- package/dist/cli/explain.d.ts +0 -31
- package/dist/cli/explain.js +0 -159
- package/dist/cli/explain.js.map +0 -1
- package/dist/cli/gc/index.d.ts +0 -63
- package/dist/cli/gc/index.js +0 -566
- package/dist/cli/gc/index.js.map +0 -1
- package/dist/cli/pack/approve-escape.d.ts +0 -19
- package/dist/cli/pack/approve-escape.js +0 -190
- package/dist/cli/pack/approve-escape.js.map +0 -1
- package/dist/cli/pack/auto-approve-path.d.ts +0 -146
- package/dist/cli/pack/auto-approve-path.js +0 -462
- package/dist/cli/pack/auto-approve-path.js.map +0 -1
- package/dist/cli/pack/hook-codex-post-tool-use.d.ts +0 -25
- package/dist/cli/pack/hook-codex-post-tool-use.js +0 -160
- package/dist/cli/pack/hook-codex-post-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +0 -48
- package/dist/cli/pack/hook-codex-pre-tool-use.js +0 -474
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-codex-stop.d.ts +0 -35
- package/dist/cli/pack/hook-codex-stop.js +0 -329
- package/dist/cli/pack/hook-codex-stop.js.map +0 -1
- package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +0 -24
- package/dist/cli/pack/hook-codex-user-prompt-submit.js +0 -93
- package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +0 -1
- package/dist/cli/pack/hook-post-merge-gate-record.d.ts +0 -37
- package/dist/cli/pack/hook-post-merge-gate-record.js +0 -190
- package/dist/cli/pack/hook-post-merge-gate-record.js.map +0 -1
- package/dist/cli/pack/hook-post-merge-gate.d.ts +0 -34
- package/dist/cli/pack/hook-post-merge-gate.js +0 -277
- package/dist/cli/pack/hook-post-merge-gate.js.map +0 -1
- package/dist/cli/pack/hook-post-tool-use.d.ts +0 -45
- package/dist/cli/pack/hook-post-tool-use.js +0 -137
- package/dist/cli/pack/hook-post-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-pre-tool-use.d.ts +0 -92
- package/dist/cli/pack/hook-pre-tool-use.js +0 -1328
- package/dist/cli/pack/hook-pre-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-runtime-reality.d.ts +0 -63
- package/dist/cli/pack/hook-runtime-reality.js +0 -210
- package/dist/cli/pack/hook-runtime-reality.js.map +0 -1
- package/dist/cli/pack/hook-solution-acceptance-writeguard.d.ts +0 -32
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js +0 -337
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +0 -1
- package/dist/cli/pack/hook-solution-acceptance.d.ts +0 -157
- package/dist/cli/pack/hook-solution-acceptance.js +0 -530
- package/dist/cli/pack/hook-solution-acceptance.js.map +0 -1
- package/dist/cli/pack/hook-stay-in-scope.d.ts +0 -37
- package/dist/cli/pack/hook-stay-in-scope.js +0 -128
- package/dist/cli/pack/hook-stay-in-scope.js.map +0 -1
- package/dist/cli/pack/hook-subagent-start.d.ts +0 -23
- package/dist/cli/pack/hook-subagent-start.js +0 -88
- package/dist/cli/pack/hook-subagent-start.js.map +0 -1
- package/dist/cli/pack/hook-subagent-stop.d.ts +0 -19
- package/dist/cli/pack/hook-subagent-stop.js +0 -41
- package/dist/cli/pack/hook-subagent-stop.js.map +0 -1
- package/dist/cli/pack/hook-track-active-claim.d.ts +0 -27
- package/dist/cli/pack/hook-track-active-claim.js +0 -275
- package/dist/cli/pack/hook-track-active-claim.js.map +0 -1
- package/dist/cli/pack/transcript-report-scan.d.ts +0 -71
- package/dist/cli/pack/transcript-report-scan.js +0 -359
- package/dist/cli/pack/transcript-report-scan.js.map +0 -1
- package/dist/cli/pack/understanding-report-schema-hint.d.ts +0 -26
- package/dist/cli/pack/understanding-report-schema-hint.js +0 -120
- package/dist/cli/pack/understanding-report-schema-hint.js.map +0 -1
- package/dist/cli/pack/upgrade.d.ts +0 -32
- package/dist/cli/pack/upgrade.js +0 -273
- package/dist/cli/pack/upgrade.js.map +0 -1
- package/dist/cli/pause/index.d.ts +0 -113
- package/dist/cli/pause/index.js +0 -251
- package/dist/cli/pause/index.js.map +0 -1
- package/dist/cli/pause-check.d.ts +0 -22
- package/dist/cli/pause-check.js +0 -54
- package/dist/cli/pause-check.js.map +0 -1
- package/dist/cli/policy/intercept.d.ts +0 -233
- package/dist/cli/policy/intercept.js +0 -1020
- package/dist/cli/policy/intercept.js.map +0 -1
- package/dist/cli/policy/risk-envelope-enrichment.d.ts +0 -40
- package/dist/cli/policy/risk-envelope-enrichment.js +0 -108
- package/dist/cli/policy/risk-envelope-enrichment.js.map +0 -1
- package/dist/cli/record/index.d.ts +0 -81
- package/dist/cli/record/index.js +0 -348
- package/dist/cli/record/index.js.map +0 -1
- package/dist/cli/resolve-env.d.ts +0 -32
- package/dist/cli/resolve-env.js +0 -47
- package/dist/cli/resolve-env.js.map +0 -1
- package/dist/cli/session-export/index.d.ts +0 -46
- package/dist/cli/session-export/index.js +0 -169
- package/dist/cli/session-export/index.js.map +0 -1
- package/dist/cli/session-export/redact.d.ts +0 -22
- package/dist/cli/session-export/redact.js +0 -47
- package/dist/cli/session-export/redact.js.map +0 -1
- package/dist/cli/session-export/transcript.d.ts +0 -24
- package/dist/cli/session-export/transcript.js +0 -164
- package/dist/cli/session-export/transcript.js.map +0 -1
- package/dist/cli/session-start/branch-check.d.ts +0 -18
- package/dist/cli/session-start/branch-check.js +0 -140
- package/dist/cli/session-start/branch-check.js.map +0 -1
- package/dist/cli/session-start/index.d.ts +0 -121
- package/dist/cli/session-start/index.js +0 -591
- package/dist/cli/session-start/index.js.map +0 -1
- package/dist/cli/session-start/shared-options.d.ts +0 -103
- package/dist/cli/session-start/shared-options.js +0 -107
- package/dist/cli/session-start/shared-options.js.map +0 -1
- package/dist/cli/session-start/stale-base-check.d.ts +0 -46
- package/dist/cli/session-start/stale-base-check.js +0 -352
- package/dist/cli/session-start/stale-base-check.js.map +0 -1
- package/dist/cli/session-start/toolchain-parity.d.ts +0 -267
- package/dist/cli/session-start/toolchain-parity.js +0 -797
- package/dist/cli/session-start/toolchain-parity.js.map +0 -1
- package/dist/cli/smoke/assertions.d.ts +0 -46
- package/dist/cli/smoke/assertions.js +0 -170
- package/dist/cli/smoke/assertions.js.map +0 -1
- package/dist/cli/smoke/index.d.ts +0 -76
- package/dist/cli/smoke/index.js +0 -245
- package/dist/cli/smoke/index.js.map +0 -1
- package/dist/cli/smoke/runner.d.ts +0 -55
- package/dist/cli/smoke/runner.js +0 -134
- package/dist/cli/smoke/runner.js.map +0 -1
- package/dist/cli/smoke/stream-parser.d.ts +0 -65
- package/dist/cli/smoke/stream-parser.js +0 -115
- package/dist/cli/smoke/stream-parser.js.map +0 -1
- package/dist/cli/test-risk.d.ts +0 -26
- package/dist/cli/test-risk.js +0 -34
- package/dist/cli/test-risk.js.map +0 -1
- package/dist/io/display-path.d.ts +0 -11
- package/dist/io/display-path.js +0 -29
- package/dist/io/display-path.js.map +0 -1
- package/dist/io/duration.d.ts +0 -5
- package/dist/io/duration.js +0 -50
- package/dist/io/duration.js.map +0 -1
- package/dist/io/extract.d.ts +0 -79
- package/dist/io/extract.js +0 -226
- package/dist/io/extract.js.map +0 -1
- package/dist/io/ledger-record.d.ts +0 -83
- package/dist/io/ledger-record.js +0 -301
- package/dist/io/ledger-record.js.map +0 -1
- package/dist/io/read-json-dir-entries.d.ts +0 -36
- package/dist/io/read-json-dir-entries.js +0 -48
- package/dist/io/read-json-dir-entries.js.map +0 -1
- package/dist/io/safe-json-parse.d.ts +0 -5
- package/dist/io/safe-json-parse.js +0 -21
- package/dist/io/safe-json-parse.js.map +0 -1
- package/dist/policies/index.d.ts +0 -5
- package/dist/policies/index.js +0 -6
- package/dist/policies/index.js.map +0 -1
- package/dist/policies/ledger-client.d.ts +0 -113
- package/dist/policies/ledger-client.js +0 -500
- package/dist/policies/ledger-client.js.map +0 -1
- package/dist/policies/producers.d.ts +0 -12
- package/dist/policies/producers.js +0 -61
- package/dist/policies/producers.js.map +0 -1
- package/dist/policies/requires.d.ts +0 -75
- package/dist/policies/requires.js +0 -240
- package/dist/policies/requires.js.map +0 -1
- package/dist/policies/timestamp.d.ts +0 -14
- package/dist/policies/timestamp.js +0 -36
- package/dist/policies/timestamp.js.map +0 -1
- package/dist/policy-packs/builtin/permission-profiles.d.ts +0 -11
- package/dist/policy-packs/builtin/permission-profiles.js +0 -74
- package/dist/policy-packs/builtin/permission-profiles.js.map +0 -1
- package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +0 -286
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js +0 -397
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/post-merge-gate.d.ts +0 -56
- package/dist/policy-packs/builtin/post-merge-gate.js +0 -347
- package/dist/policy-packs/builtin/post-merge-gate.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.d.ts +0 -50
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js +0 -151
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +0 -323
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +0 -672
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance.d.ts +0 -45
- package/dist/policy-packs/builtin/solution-acceptance.js +0 -226
- package/dist/policy-packs/builtin/solution-acceptance.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.d.ts +0 -25
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js +0 -94
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.d.ts +0 -35
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js +0 -86
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.d.ts +0 -210
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js +0 -361
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +0 -304
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +0 -734
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.d.ts +0 -36
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js +0 -73
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +0 -19
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +0 -83
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.d.ts +0 -135
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +0 -618
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.d.ts +0 -25
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js +0 -56
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.d.ts +0 -20
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +0 -93
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/markers.d.ts +0 -126
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js +0 -245
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.d.ts +0 -29
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js +0 -82
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.d.ts +0 -71
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +0 -175
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +0 -620
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +0 -1047
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +0 -128
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +0 -213
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.d.ts +0 -129
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js +0 -166
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +0 -164
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +0 -275
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +0 -10
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +0 -526
- package/dist/policy-packs/builtin/understanding-before-execution.js +0 -1074
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +0 -1
- package/dist/policy-packs/permission-translator.d.ts +0 -9
- package/dist/policy-packs/permission-translator.js +0 -76
- package/dist/policy-packs/permission-translator.js.map +0 -1
- package/dist/runtime/action-envelope.d.ts +0 -64
- package/dist/runtime/action-envelope.js +0 -46
- package/dist/runtime/action-envelope.js.map +0 -1
- package/dist/runtime/approval-signing.d.ts +0 -111
- package/dist/runtime/approval-signing.js +0 -384
- package/dist/runtime/approval-signing.js.map +0 -1
- package/dist/runtime/bash-match-facts.d.ts +0 -60
- package/dist/runtime/bash-match-facts.js +0 -196
- package/dist/runtime/bash-match-facts.js.map +0 -1
- package/dist/runtime/bash-match-registry.d.ts +0 -112
- package/dist/runtime/bash-match-registry.js +0 -406
- package/dist/runtime/bash-match-registry.js.map +0 -1
- package/dist/runtime/bash-prefix-parse.d.ts +0 -31
- package/dist/runtime/bash-prefix-parse.js +0 -576
- package/dist/runtime/bash-prefix-parse.js.map +0 -1
- package/dist/runtime/command-normalize.d.ts +0 -658
- package/dist/runtime/command-normalize.js +0 -2410
- package/dist/runtime/command-normalize.js.map +0 -1
- package/dist/runtime/deletion-target-resolve.d.ts +0 -28
- package/dist/runtime/deletion-target-resolve.js +0 -1078
- package/dist/runtime/deletion-target-resolve.js.map +0 -1
- package/dist/runtime/destructive-shell-floor.d.ts +0 -19
- package/dist/runtime/destructive-shell-floor.js +0 -611
- package/dist/runtime/destructive-shell-floor.js.map +0 -1
- package/dist/runtime/environment-resolver.d.ts +0 -36
- package/dist/runtime/environment-resolver.js +0 -138
- package/dist/runtime/environment-resolver.js.map +0 -1
- package/dist/runtime/git-context.d.ts +0 -201
- package/dist/runtime/git-context.js +0 -422
- package/dist/runtime/git-context.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -12
- package/dist/runtime/index.js +0 -13
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/intercept.d.ts +0 -494
- package/dist/runtime/intercept.js +0 -1313
- package/dist/runtime/intercept.js.map +0 -1
- package/dist/runtime/kube-context.d.ts +0 -16
- package/dist/runtime/kube-context.js +0 -63
- package/dist/runtime/kube-context.js.map +0 -1
- package/dist/runtime/kubectl-target-parse.d.ts +0 -31
- package/dist/runtime/kubectl-target-parse.js +0 -249
- package/dist/runtime/kubectl-target-parse.js.map +0 -1
- package/dist/runtime/ledger-add.d.ts +0 -16
- package/dist/runtime/ledger-add.js +0 -150
- package/dist/runtime/ledger-add.js.map +0 -1
- package/dist/runtime/ledger-writer.d.ts +0 -27
- package/dist/runtime/ledger-writer.js +0 -46
- package/dist/runtime/ledger-writer.js.map +0 -1
- package/dist/runtime/pause-sentinel.d.ts +0 -60
- package/dist/runtime/pause-sentinel.js +0 -156
- package/dist/runtime/pause-sentinel.js.map +0 -1
- package/dist/runtime/pending-approval.d.ts +0 -23
- package/dist/runtime/pending-approval.js +0 -67
- package/dist/runtime/pending-approval.js.map +0 -1
- package/dist/runtime/read-only-bash.d.ts +0 -141
- package/dist/runtime/read-only-bash.js +0 -2204
- package/dist/runtime/read-only-bash.js.map +0 -1
- package/dist/runtime/recovery-git-commit.d.ts +0 -22
- package/dist/runtime/recovery-git-commit.js +0 -284
- package/dist/runtime/recovery-git-commit.js.map +0 -1
- package/dist/runtime/reject-malformed-session-id.d.ts +0 -8
- package/dist/runtime/reject-malformed-session-id.js +0 -16
- package/dist/runtime/reject-malformed-session-id.js.map +0 -1
- package/dist/runtime/risk-classifier.d.ts +0 -38
- package/dist/runtime/risk-classifier.js +0 -311
- package/dist/runtime/risk-classifier.js.map +0 -1
- package/dist/runtime/session-id.d.ts +0 -113
- package/dist/runtime/session-id.js +0 -193
- package/dist/runtime/session-id.js.map +0 -1
- package/dist/runtime/shell-word.d.ts +0 -62
- package/dist/runtime/shell-word.js +0 -410
- package/dist/runtime/shell-word.js.map +0 -1
- package/dist/runtime/task-providers/agent-tasks.d.ts +0 -103
- package/dist/runtime/task-providers/agent-tasks.js +0 -245
- package/dist/runtime/task-providers/agent-tasks.js.map +0 -1
- package/dist/runtime/when-eval.d.ts +0 -62
- package/dist/runtime/when-eval.js +0 -212
- package/dist/runtime/when-eval.js.map +0 -1
- package/dist/runtime/workflow-policies.d.ts +0 -207
- package/dist/runtime/workflow-policies.js +0 -596
- package/dist/runtime/workflow-policies.js.map +0 -1
- package/dist/schema/audit.d.ts +0 -71
- package/dist/schema/audit.js +0 -32
- package/dist/schema/audit.js.map +0 -1
- package/dist/schema/doctor.d.ts +0 -25
- package/dist/schema/doctor.js +0 -23
- package/dist/schema/doctor.js.map +0 -1
- package/dist/schema/environments.d.ts +0 -215
- package/dist/schema/environments.js +0 -101
- package/dist/schema/environments.js.map +0 -1
- package/dist/schema/extract.d.ts +0 -9
- package/dist/schema/extract.js +0 -86
- package/dist/schema/extract.js.map +0 -1
- package/dist/schema/permission-profiles.d.ts +0 -2292
- package/dist/schema/permission-profiles.js +0 -60
- package/dist/schema/permission-profiles.js.map +0 -1
- package/dist/schema/policies.d.ts +0 -974
- package/dist/schema/policies.js +0 -298
- package/dist/schema/policies.js.map +0 -1
- package/dist/schema/requires.d.ts +0 -131
- package/dist/schema/requires.js +0 -88
- package/dist/schema/requires.js.map +0 -1
- package/dist/schema/risk.d.ts +0 -144
- package/dist/schema/risk.js +0 -194
- package/dist/schema/risk.js.map +0 -1
- package/dist/schema/session-start-preflight.d.ts +0 -10
- package/dist/schema/session-start-preflight.js +0 -106
- package/dist/schema/session-start-preflight.js.map +0 -1
- package/dist/schema/stale-base-check.d.ts +0 -18
- package/dist/schema/stale-base-check.js +0 -37
- package/dist/schema/stale-base-check.js.map +0 -1
- package/dist/schema/toolchain-parity.d.ts +0 -21
- package/dist/schema/toolchain-parity.js +0 -48
- package/dist/schema/toolchain-parity.js.map +0 -1
- package/dist/schema/workflows.d.ts +0 -519
- package/dist/schema/workflows.js +0 -81
- package/dist/schema/workflows.js.map +0 -1
- package/scripts/runtime-reality-docker-probe.mjs +0 -71
|
@@ -4,14 +4,10 @@
|
|
|
4
4
|
// accepts.
|
|
5
5
|
//
|
|
6
6
|
// Current surface (parity with FULL_TEMPLATE): one policy pack
|
|
7
|
-
// (
|
|
7
|
+
// (branch-protection) and four MCPs (agent-tasks,
|
|
8
8
|
// grounding-mcp, memory-router — wired under memory.router, NOT
|
|
9
|
-
// tools.mcp[] — and codebase-oracle)
|
|
10
|
-
//
|
|
11
|
-
// review-subagent-before-pr-create, preflight-before-push,
|
|
12
|
-
// dogfood-before-release, two-reviewers-required). The opencode pack
|
|
13
|
-
// stays disabled in the wire-now multiselect until its runtime adapter
|
|
14
|
-
// (agent-tasks/f34eb233) lands.
|
|
9
|
+
// tools.mcp[] — and codebase-oracle). The composer emits no policies and
|
|
10
|
+
// no hooks.
|
|
15
11
|
//
|
|
16
12
|
// Design: build a plain object matching the Manifest schema, then
|
|
17
13
|
// serialise via the `yaml` library. The shared `init()` path
|
|
@@ -19,19 +15,12 @@
|
|
|
19
15
|
// so Custom rejoins the same write/validate semantics as
|
|
20
16
|
// solo/team/full.
|
|
21
17
|
import { stringify } from "yaml";
|
|
22
|
-
import { defaultProducers as understandingDefaultProducers, defaultUx as understandingDefaultUx, } from "../../policy-packs/builtin/understanding-before-execution.js";
|
|
23
|
-
import { defaultAutoApproveConfig } from "../../policy-packs/builtin/understanding-before-execution-runtime.js";
|
|
24
18
|
import { defaultUx as branchProtectionDefaultUx } from "../../policy-packs/builtin/branch-protection.js";
|
|
25
19
|
export const COMPOSABLE_PACKS = [
|
|
26
|
-
{
|
|
27
|
-
key: "understanding-before-execution",
|
|
28
|
-
label: "understanding-before-execution",
|
|
29
|
-
description: "Force agents to expose their interpretation and wait for approval before any write-capable tool fires.",
|
|
30
|
-
},
|
|
31
20
|
{
|
|
32
21
|
key: "branch-protection",
|
|
33
22
|
label: "branch-protection",
|
|
34
|
-
description: "Block Write/Edit (claude-code) or apply_patch (codex)
|
|
23
|
+
description: "Block Write/Edit (claude-code) or apply_patch (codex) when git names a protected branch (master, main, develop) for the target, at the first source mutation, in the editing session. The way forward is a feature branch (`git checkout -b <feature>`).",
|
|
35
24
|
},
|
|
36
25
|
];
|
|
37
26
|
export const COMPOSABLE_MCPS = [
|
|
@@ -43,7 +32,7 @@ export const COMPOSABLE_MCPS = [
|
|
|
43
32
|
{
|
|
44
33
|
key: "grounding-mcp",
|
|
45
34
|
label: "grounding-mcp",
|
|
46
|
-
description: "Evidence ledger
|
|
35
|
+
description: "Evidence ledger (ledger_add / ledger_status).",
|
|
47
36
|
},
|
|
48
37
|
{
|
|
49
38
|
key: "memory-router",
|
|
@@ -56,231 +45,6 @@ export const COMPOSABLE_MCPS = [
|
|
|
56
45
|
description: "Multi-repo semantic search MCP server. Set ORACLE_SCAN_ROOT to an absolute path (tilde is NOT expanded) and an embedding-provider key before the first call.",
|
|
57
46
|
},
|
|
58
47
|
];
|
|
59
|
-
export const COMPOSABLE_POLICIES = [
|
|
60
|
-
{
|
|
61
|
-
key: "review-before-merge",
|
|
62
|
-
label: "review-before-merge",
|
|
63
|
-
description: "Block mcp__agent-tasks__pull_requests_merge unless a review:<pr-number> ledger entry exists.",
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
key: "preflight-before-investigation",
|
|
67
|
-
label: "preflight-before-investigation",
|
|
68
|
-
description: "Block git status/log/diff/branch unless preflight:<repo> ledger entry exists for this repo (within 1h).",
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
key: "review-subagent-before-pr-create",
|
|
72
|
-
label: "review-subagent-before-pr-create",
|
|
73
|
-
description: "Block mcp__agent-tasks__pull_requests_create unless a review-subagent:<task-id> ledger entry exists.",
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
key: "preflight-before-push",
|
|
77
|
-
label: "preflight-before-push",
|
|
78
|
-
description: "Block git push unless preflight:<branch> ledger entry exists for the current branch (within 10m).",
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
key: "dogfood-before-release",
|
|
82
|
-
label: "dogfood-before-release",
|
|
83
|
-
description: "Block npm publish / git tag v* unless a dogfood:<session-id> ledger entry exists in this session (within 24h).",
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
key: "two-reviewers-required",
|
|
87
|
-
label: "two-reviewers-required (warn-level companion to review-before-merge)",
|
|
88
|
-
description: "Warn when PR-merge runs without TWO distinct review:<pr-number> ledger entries. Enforcement: warn.",
|
|
89
|
-
},
|
|
90
|
-
];
|
|
91
|
-
// Budget note (task 7bf47554, fix round 2): every blocking `harness policy
|
|
92
|
-
// intercept` hook below carries budget_ms: 15000 (a 15s Claude Code outer
|
|
93
|
-
// kill-timeout, generate-settings.ts's hookTimeoutSeconds), matching
|
|
94
|
-
// FULL_TEMPLATE's uniform 15000ms floor (src/cli/init/templates.ts, see
|
|
95
|
-
// the full budget-note comment above its `require-review-evidence` entry
|
|
96
|
-
// for the derivation). Short version: `intercept()` writes every matched
|
|
97
|
-
// policy's decision to the evidence ledger before returning
|
|
98
|
-
// (src/runtime/intercept.ts, `options.ledger.record(...)`), a live
|
|
99
|
-
// grounding-mcp round-trip on the critical path for every one of these
|
|
100
|
-
// hooks, and a `requires:`-based policy additionally queries the ledger
|
|
101
|
-
// for its verdict first. Measured worst case (health.timeout_ms=5000 +
|
|
102
|
-
// a deny-degraded audit-write retry) is ~10.8-13.75s; a lower per-hook
|
|
103
|
-
// budget lets Claude Code kill the subprocess before its deny JSON
|
|
104
|
-
// reaches stdout, silently turning a fail-closed verdict into an
|
|
105
|
-
// unintended allow. Kept uniform across all five rows for the same
|
|
106
|
-
// dedup-safety reason FULL_TEMPLATE documents: generate-settings.ts's
|
|
107
|
-
// buildGroups collapses same-matcher hooks by (command, timeout), so a
|
|
108
|
-
// non-uniform budget would split one Claude Code invocation per Bash
|
|
109
|
-
// call into several redundant ones.
|
|
110
|
-
const HOOK_FOR_POLICY = {
|
|
111
|
-
"review-before-merge": {
|
|
112
|
-
name: "require-review-evidence",
|
|
113
|
-
event: "PreToolUse",
|
|
114
|
-
match: "mcp__agent-tasks__pull_requests_merge",
|
|
115
|
-
command: "harness policy intercept",
|
|
116
|
-
blocking: "hard",
|
|
117
|
-
budget_ms: 15000,
|
|
118
|
-
},
|
|
119
|
-
"preflight-before-investigation": {
|
|
120
|
-
name: "require-preflight-evidence",
|
|
121
|
-
event: "PreToolUse",
|
|
122
|
-
match: "Bash",
|
|
123
|
-
bash_match: "(^|\\n|;|\\||&|\\()\\s*(\\w+=\\S+\\s+)*git( -C \\S+)* (status|log|diff|branch)\\b",
|
|
124
|
-
command: "harness policy intercept",
|
|
125
|
-
blocking: "hard",
|
|
126
|
-
budget_ms: 15000,
|
|
127
|
-
},
|
|
128
|
-
"review-subagent-before-pr-create": {
|
|
129
|
-
name: "require-review-subagent-evidence",
|
|
130
|
-
event: "PreToolUse",
|
|
131
|
-
match: "mcp__agent-tasks__pull_requests_create",
|
|
132
|
-
command: "harness policy intercept",
|
|
133
|
-
blocking: "hard",
|
|
134
|
-
budget_ms: 15000,
|
|
135
|
-
},
|
|
136
|
-
"preflight-before-push": {
|
|
137
|
-
name: "require-preflight-push-evidence",
|
|
138
|
-
event: "PreToolUse",
|
|
139
|
-
match: "Bash",
|
|
140
|
-
bash_match: "(^|\\n|;|\\||&|\\()\\s*(\\w+=\\S+\\s+)*git( -C \\S+)* push\\b",
|
|
141
|
-
command: "harness policy intercept",
|
|
142
|
-
blocking: "hard",
|
|
143
|
-
budget_ms: 15000,
|
|
144
|
-
},
|
|
145
|
-
"dogfood-before-release": {
|
|
146
|
-
name: "require-dogfood-evidence",
|
|
147
|
-
event: "PreToolUse",
|
|
148
|
-
match: "Bash",
|
|
149
|
-
bash_match: "(^|\\n|;|\\||&|\\()\\s*(\\w+=\\S+\\s+)*(npm publish\\b|git( -C \\S+)* tag v)",
|
|
150
|
-
command: "harness policy intercept",
|
|
151
|
-
blocking: "hard",
|
|
152
|
-
budget_ms: 15000,
|
|
153
|
-
},
|
|
154
|
-
// two-reviewers-required shares review-before-merge's hook; the policy
|
|
155
|
-
// intercept engine evaluates both policies under the same trigger and
|
|
156
|
-
// each enforces independently (block vs warn). We still need a hook
|
|
157
|
-
// entry so the policy's `hook:` field round-trips through validate,
|
|
158
|
-
// but it's the same row as require-review-evidence.
|
|
159
|
-
"two-reviewers-required": {
|
|
160
|
-
name: "require-review-evidence",
|
|
161
|
-
event: "PreToolUse",
|
|
162
|
-
match: "mcp__agent-tasks__pull_requests_merge",
|
|
163
|
-
command: "harness policy intercept",
|
|
164
|
-
blocking: "hard",
|
|
165
|
-
budget_ms: 15000,
|
|
166
|
-
},
|
|
167
|
-
};
|
|
168
|
-
const POLICY = {
|
|
169
|
-
"review-before-merge": {
|
|
170
|
-
name: "review-before-merge",
|
|
171
|
-
description: "Block PR merges unless a ledger entry tagged review:<pr-number> exists for this session.",
|
|
172
|
-
trigger: {
|
|
173
|
-
event: "PreToolUse",
|
|
174
|
-
match: "mcp__agent-tasks__pull_requests_merge",
|
|
175
|
-
extract: { PR_NUMBER: "toolArgs.prNumber" },
|
|
176
|
-
},
|
|
177
|
-
requires: { ledger_tag: "review:${PR_NUMBER}" },
|
|
178
|
-
hook: "require-review-evidence",
|
|
179
|
-
enforcement: "block",
|
|
180
|
-
ux: {
|
|
181
|
-
cannot: "You cannot merge PR #${PR_NUMBER} yet.",
|
|
182
|
-
required: ["a recorded review of PR #${PR_NUMBER}"],
|
|
183
|
-
run: ['harness record review --pr ${PR_NUMBER} "<summary>"'],
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
"preflight-before-investigation": {
|
|
187
|
-
name: "preflight-before-investigation",
|
|
188
|
-
description: "Block investigative git reads (status/log/diff/branch) when agent-preflight has not run recently with ready:true for the current repo.",
|
|
189
|
-
trigger: {
|
|
190
|
-
event: "PreToolUse",
|
|
191
|
-
match: "Bash",
|
|
192
|
-
bash_match: "(^|\\n|;|\\||&|\\()\\s*(\\w+=\\S+\\s+)*git( -C \\S+)* (status|log|diff|branch)\\b",
|
|
193
|
-
},
|
|
194
|
-
requires: { ledger_tag: "preflight:${REPO}", within: "1h" },
|
|
195
|
-
hook: "require-preflight-evidence",
|
|
196
|
-
enforcement: "block",
|
|
197
|
-
ux: {
|
|
198
|
-
cannot: "You cannot investigate this repository yet.",
|
|
199
|
-
required: [
|
|
200
|
-
"verified repository preflight",
|
|
201
|
-
"an approved Understanding Report, if the Understanding Gate is still active (it blocks `harness preflight` itself)",
|
|
202
|
-
],
|
|
203
|
-
run: ["harness preflight"],
|
|
204
|
-
},
|
|
205
|
-
},
|
|
206
|
-
"review-subagent-before-pr-create": {
|
|
207
|
-
name: "review-subagent-before-pr-create",
|
|
208
|
-
description: "Block agent-tasks PR creation unless a review-subagent ledger entry tagged for this task already exists. Forces the rigorous review BEFORE the PR opens, not after.",
|
|
209
|
-
trigger: {
|
|
210
|
-
event: "PreToolUse",
|
|
211
|
-
match: "mcp__agent-tasks__pull_requests_create",
|
|
212
|
-
extract: { TASK_ID: "toolArgs.taskId" },
|
|
213
|
-
},
|
|
214
|
-
requires: { ledger_tag: "review-subagent:${TASK_ID}" },
|
|
215
|
-
hook: "require-review-subagent-evidence",
|
|
216
|
-
enforcement: "block",
|
|
217
|
-
ux: {
|
|
218
|
-
cannot: "You cannot open a pull request for task ${TASK_ID} yet.",
|
|
219
|
-
required: ["a completed review-subagent pass on this task"],
|
|
220
|
-
run: ['harness record review-subagent --task ${TASK_ID} --verdict <verdict>'],
|
|
221
|
-
},
|
|
222
|
-
},
|
|
223
|
-
"preflight-before-push": {
|
|
224
|
-
name: "preflight-before-push",
|
|
225
|
-
description: "Block git push unless a fresh preflight ledger entry exists for the current branch. Catches the stale-checkout class of incident at the last reversible step.",
|
|
226
|
-
trigger: {
|
|
227
|
-
event: "PreToolUse",
|
|
228
|
-
match: "Bash",
|
|
229
|
-
bash_match: "(^|\\n|;|\\||&|\\()\\s*(\\w+=\\S+\\s+)*git( -C \\S+)* push\\b",
|
|
230
|
-
},
|
|
231
|
-
requires: {
|
|
232
|
-
ledger_tag: "preflight:${BRANCH}",
|
|
233
|
-
within: "10m",
|
|
234
|
-
// at_head:true lets a preflight at the current HEAD satisfy at
|
|
235
|
-
// any age (standard producer writes head:<sha>). The 10m window
|
|
236
|
-
// is the freshness ceiling for the head-mismatch case.
|
|
237
|
-
at_head: true,
|
|
238
|
-
},
|
|
239
|
-
hook: "require-preflight-push-evidence",
|
|
240
|
-
enforcement: "block",
|
|
241
|
-
ux: {
|
|
242
|
-
cannot: "You cannot push branch ${BRANCH} yet.",
|
|
243
|
-
required: [
|
|
244
|
-
"a preflight for ${BRANCH} at the current HEAD (any age) OR any preflight within the last 10 minutes. Re-run `harness preflight` if you committed since the last preflight AND it has been more than 10 minutes.",
|
|
245
|
-
"if solution-acceptance is enabled, a ready HEAD-pinned verdict at the SAME commit too (run `solution_evaluate`). `git push` trips both gates, so commit first if the tree is dirty, then satisfy both at one HEAD.",
|
|
246
|
-
"an approved Understanding Report, if the Understanding Gate is still active (it blocks `harness preflight` itself)",
|
|
247
|
-
],
|
|
248
|
-
run: ["harness preflight"],
|
|
249
|
-
},
|
|
250
|
-
},
|
|
251
|
-
"dogfood-before-release": {
|
|
252
|
-
name: "dogfood-before-release",
|
|
253
|
-
description: "Block npm publish / git tag v* without a recent dogfood ledger entry.",
|
|
254
|
-
trigger: {
|
|
255
|
-
event: "PreToolUse",
|
|
256
|
-
match: "Bash",
|
|
257
|
-
bash_match: "(^|\\n|;|\\||&|\\()\\s*(\\w+=\\S+\\s+)*(npm publish\\b|git( -C \\S+)* tag v)",
|
|
258
|
-
},
|
|
259
|
-
requires: { ledger_tag: "dogfood:${SESSION_ID}", within: "24h" },
|
|
260
|
-
hook: "require-dogfood-evidence",
|
|
261
|
-
enforcement: "block",
|
|
262
|
-
ux: {
|
|
263
|
-
cannot: "You cannot publish a release yet.",
|
|
264
|
-
required: ["an end-to-end dogfood run in this session"],
|
|
265
|
-
run: ['harness record dogfood "<was wurde real ausprobiert>"'],
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
|
-
"two-reviewers-required": {
|
|
269
|
-
name: "two-reviewers-required",
|
|
270
|
-
description: "At least two distinct reviewer ledger entries must exist for the PR.",
|
|
271
|
-
trigger: {
|
|
272
|
-
event: "PreToolUse",
|
|
273
|
-
match: "mcp__agent-tasks__pull_requests_merge",
|
|
274
|
-
extract: { PR_NUMBER: "toolArgs.prNumber" },
|
|
275
|
-
},
|
|
276
|
-
requires: { ledger_tag: "review:${PR_NUMBER}", count: { min: 2 } },
|
|
277
|
-
hook: "require-review-evidence",
|
|
278
|
-
enforcement: "warn",
|
|
279
|
-
// No `ux:`: this policy is warn-only and never blocks, so the
|
|
280
|
-
// agent never sees its message. The audit ledger still gets the
|
|
281
|
-
// engine-internal trace.
|
|
282
|
-
},
|
|
283
|
-
};
|
|
284
48
|
const MCP_ENTRY = {
|
|
285
49
|
"agent-tasks": {
|
|
286
50
|
name: "agent-tasks",
|
|
@@ -323,56 +87,6 @@ const HEADER = [
|
|
|
323
87
|
export function composeCustom(sel) {
|
|
324
88
|
const warnings = [];
|
|
325
89
|
const mcpSet = new Set(sel.mcps);
|
|
326
|
-
// H3 gate auto-repair: `harness apply` hard-fails (checkPolicyGroundingMcp)
|
|
327
|
-
// when evidence-consuming policies are selected AND grounding-mcp is absent from
|
|
328
|
-
// tools.mcp — every policy evaluation would degrade at runtime (since
|
|
329
|
-
// task f1aea826 that means block/require_approval policies DENY every
|
|
330
|
-
// matching event, warn policies degrade non-blocking; before 0.45 it
|
|
331
|
-
// was the universal warn-mode allow-everything footgun). Mirror the
|
|
332
|
-
// exact same predicate here: all current Custom selections carry
|
|
333
|
-
// `requires:` evidence, so if a selection carries any policy and the
|
|
334
|
-
// operator did not pick grounding-mcp explicitly,
|
|
335
|
-
// auto-wire it so the emitted manifest passes apply without a
|
|
336
|
-
// HarnessExitError. An informational advisory replaces the per-policy
|
|
337
|
-
// "requires a producer" warnings that would otherwise fire for the
|
|
338
|
-
// grounding-mcp–coupled policies.
|
|
339
|
-
let autoAddedGroundingMcp = false;
|
|
340
|
-
if (sel.policies.length > 0 && !mcpSet.has("grounding-mcp")) {
|
|
341
|
-
mcpSet.add("grounding-mcp");
|
|
342
|
-
autoAddedGroundingMcp = true;
|
|
343
|
-
warnings.push("auto-wired grounding-mcp to tools.mcp (required by the selected policies: without it harness apply rejects the manifest).");
|
|
344
|
-
}
|
|
345
|
-
// Producer-consistency advisories: each policy's `requires.ledger_tag`
|
|
346
|
-
// implies some producer must populate that tag. agent-tasks-coupled
|
|
347
|
-
// policies need the agent-tasks MCP wired; preflight-coupled policies
|
|
348
|
-
// need either grounding-mcp (so ledger_add reaches the gate) or a
|
|
349
|
-
// SessionStart preflight hook. The Custom v1 surface does not expose
|
|
350
|
-
// the SessionStart hook yet, so only check the MCP coupling.
|
|
351
|
-
if (sel.policies.includes("review-before-merge") && !mcpSet.has("agent-tasks")) {
|
|
352
|
-
warnings.push("policy review-before-merge fires on agent-tasks MCP verbs; selecting it without the agent-tasks MCP is allowed but the gate has no event to evaluate.");
|
|
353
|
-
}
|
|
354
|
-
if (sel.policies.includes("review-subagent-before-pr-create") &&
|
|
355
|
-
!mcpSet.has("agent-tasks")) {
|
|
356
|
-
warnings.push("policy review-subagent-before-pr-create fires on agent-tasks MCP verbs; selecting it without the agent-tasks MCP is allowed but the gate has no event to evaluate.");
|
|
357
|
-
}
|
|
358
|
-
if (sel.policies.includes("two-reviewers-required") && !mcpSet.has("agent-tasks")) {
|
|
359
|
-
warnings.push("policy two-reviewers-required fires on agent-tasks MCP verbs; selecting it without the agent-tasks MCP is allowed but the gate has no event to evaluate.");
|
|
360
|
-
}
|
|
361
|
-
// Note: understanding-before-execution does NOT produce preflight tags
|
|
362
|
-
// (it produces the operator-approve marker, a different gate signal).
|
|
363
|
-
// The pack is therefore NOT a substitute for grounding-mcp here; the
|
|
364
|
-
// only Custom-surface producer the wizard can wire is grounding-mcp's
|
|
365
|
-
// ledger_add.
|
|
366
|
-
if (sel.policies.includes("preflight-before-investigation") &&
|
|
367
|
-
!mcpSet.has("grounding-mcp")) {
|
|
368
|
-
warnings.push("policy preflight-before-investigation requires a producer that writes preflight:<repo> tags to the evidence ledger. Without grounding-mcp (ledger_add) or a separate SessionStart preflight hook (not in the Custom surface), the gate stays closed forever.");
|
|
369
|
-
}
|
|
370
|
-
if (sel.policies.includes("preflight-before-push") && !mcpSet.has("grounding-mcp")) {
|
|
371
|
-
warnings.push("policy preflight-before-push requires a producer that writes preflight:<branch> tags to the evidence ledger. Without grounding-mcp (ledger_add) or a separate SessionStart preflight hook (not in the Custom surface), the gate stays closed forever.");
|
|
372
|
-
}
|
|
373
|
-
if (sel.policies.includes("dogfood-before-release") && !mcpSet.has("grounding-mcp")) {
|
|
374
|
-
warnings.push("policy dogfood-before-release requires a producer that writes dogfood:<session-id> tags to the evidence ledger. Without grounding-mcp (ledger_add) the gate stays closed forever — every npm publish / git tag v* will be blocked.");
|
|
375
|
-
}
|
|
376
90
|
if (mcpSet.has("codebase-oracle")) {
|
|
377
91
|
warnings.push("MCP codebase-oracle requires ORACLE_SCAN_ROOT (absolute path; tilde is NOT expanded) and OPENAI_API_KEY (or ORACLE_LLM_PROVIDER + the matching provider key) set in your shell or in Claude's settings.json env block before the first call. The wizard does NOT prompt for these.");
|
|
378
92
|
}
|
|
@@ -380,7 +94,7 @@ export function composeCustom(sel) {
|
|
|
380
94
|
version: 1,
|
|
381
95
|
grounding: {
|
|
382
96
|
session: { auto_start: true, id_format: "gs-{repo}-{rand:8}" },
|
|
383
|
-
evidence_ledger: { path: "~/.evidence-ledger/ledger.db"
|
|
97
|
+
evidence_ledger: { path: "~/.evidence-ledger/ledger.db" },
|
|
384
98
|
},
|
|
385
99
|
tools: {
|
|
386
100
|
builtin: {
|
|
@@ -402,11 +116,6 @@ export function composeCustom(sel) {
|
|
|
402
116
|
const mcpEntries = sel.mcps
|
|
403
117
|
.filter((m) => m !== "memory-router")
|
|
404
118
|
.map((k) => MCP_ENTRY[k]);
|
|
405
|
-
// If grounding-mcp was auto-added (H3 gate auto-repair), inject the same
|
|
406
|
-
// entry shape the PRESET/FULL_TEMPLATE emits so apply and validate agree.
|
|
407
|
-
if (autoAddedGroundingMcp) {
|
|
408
|
-
mcpEntries.push(MCP_ENTRY["grounding-mcp"]);
|
|
409
|
-
}
|
|
410
119
|
if (mcpEntries.length > 0) {
|
|
411
120
|
manifest.tools.mcp = mcpEntries;
|
|
412
121
|
}
|
|
@@ -417,82 +126,9 @@ export function composeCustom(sel) {
|
|
|
417
126
|
enabled: true,
|
|
418
127
|
};
|
|
419
128
|
}
|
|
420
|
-
if (sel.policies.length > 0) {
|
|
421
|
-
// Dedup hooks by name: two-reviewers-required + review-before-merge
|
|
422
|
-
// both reference `require-review-evidence`, but the schema's
|
|
423
|
-
// superRefine rejects duplicate hook names (each hook entry must be
|
|
424
|
-
// unique). Emit each hook at most once; the same row services every
|
|
425
|
-
// referencing policy.
|
|
426
|
-
const seenHookName = new Set();
|
|
427
|
-
const hooks = [];
|
|
428
|
-
for (const p of sel.policies) {
|
|
429
|
-
const h = HOOK_FOR_POLICY[p];
|
|
430
|
-
if (seenHookName.has(h.name))
|
|
431
|
-
continue;
|
|
432
|
-
seenHookName.add(h.name);
|
|
433
|
-
hooks.push(h);
|
|
434
|
-
}
|
|
435
|
-
manifest.hooks = hooks;
|
|
436
|
-
manifest.policies = sel.policies.map((p) => POLICY[p]);
|
|
437
|
-
}
|
|
438
129
|
if (sel.packs.length > 0) {
|
|
439
130
|
manifest.policy_packs = sel.packs.map((k) => {
|
|
440
131
|
// Single-pack switch today; expand when the pack surface grows.
|
|
441
|
-
if (k === "understanding-before-execution") {
|
|
442
|
-
const understandingMode = "grill_me";
|
|
443
|
-
return {
|
|
444
|
-
name: "understanding-before-execution",
|
|
445
|
-
source: "builtin",
|
|
446
|
-
enabled: true,
|
|
447
|
-
description: "Force agents to expose their task interpretation and wait for explicit human approval before any write-capable tool fires.",
|
|
448
|
-
config: {
|
|
449
|
-
mode: understandingMode,
|
|
450
|
-
// Producers + ux text: read from the builtin pack module so
|
|
451
|
-
// this stays the SAME canonical wording `harness pack reseed`
|
|
452
|
-
// pulls from (task 68b9ad9c) — one source, not a copy that can
|
|
453
|
-
// drift from the reseed path.
|
|
454
|
-
producers: understandingDefaultProducers(),
|
|
455
|
-
ux: understandingDefaultUx(understandingMode),
|
|
456
|
-
// agent-tasks/d8ee60ca: expire the approval marker on
|
|
457
|
-
// task-completion boundaries so multi-task sessions
|
|
458
|
-
// re-prompt for an Understanding Report between tasks.
|
|
459
|
-
// agent-tasks/90eae119: Custom mirrors TEAM_TEMPLATE /
|
|
460
|
-
// FULL_TEMPLATE here (same tool-match list, same 4h
|
|
461
|
-
// max_age), so it also mirrors their expire_on_bash_match
|
|
462
|
-
// Bash boundary for operators who use gh-cli in parallel
|
|
463
|
-
// (hybrid workflow) instead of relying on max_age alone.
|
|
464
|
-
// This was an oversight in the sweep that introduced
|
|
465
|
-
// expire_on_bash_match (task f54e0ecb, PR #181), which
|
|
466
|
-
// covered the SOLO/TEAM/FULL templates but missed this
|
|
467
|
-
// composer. Same shipped start-anchored patterns and the
|
|
468
|
-
// same documented fail-open limitations apply (see
|
|
469
|
-
// docs/policy-packs/understanding-before-execution.md); no
|
|
470
|
-
// shell-aware matching is added here.
|
|
471
|
-
approval_lifecycle: {
|
|
472
|
-
expire_on_tool_match: [
|
|
473
|
-
"mcp__agent-tasks__task_finish",
|
|
474
|
-
"mcp__agent-tasks__task_abandon",
|
|
475
|
-
"mcp__agent-tasks__task_merge",
|
|
476
|
-
"mcp__agent-tasks__pull_requests_merge",
|
|
477
|
-
"mcp__agent-tasks__tasks_transition",
|
|
478
|
-
],
|
|
479
|
-
expire_on_bash_match: [
|
|
480
|
-
"^gh pr (merge|close)\\b",
|
|
481
|
-
"^git push origin (master|main)\\b",
|
|
482
|
-
],
|
|
483
|
-
max_age: "4h",
|
|
484
|
-
},
|
|
485
|
-
// D-004 (task 8f637efd, review round 2 F3): Custom had been
|
|
486
|
-
// the one template-shaped surface this default missed;
|
|
487
|
-
// FULL_TEMPLATE / SOLO_TEMPLATE / TEAM_TEMPLATE all ship it
|
|
488
|
-
// via templates.ts's `renderAutoApproveSnippet`, but this
|
|
489
|
-
// composer builds a config OBJECT, not YAML text, so it reads
|
|
490
|
-
// the same canonical source's data form instead
|
|
491
|
-
// (`defaultAutoApproveConfig()`), never a hand-copied literal.
|
|
492
|
-
auto_approve: defaultAutoApproveConfig(),
|
|
493
|
-
},
|
|
494
|
-
};
|
|
495
|
-
}
|
|
496
132
|
if (k === "branch-protection") {
|
|
497
133
|
return {
|
|
498
134
|
name: "branch-protection",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../../src/cli/init/composer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../../src/cli/init/composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,7 @@ import type { CustomSelection } from "./composer.js";
|
|
|
6
6
|
* resolve through PATH; `npmPackage` is the package we install if the
|
|
7
7
|
* binary is missing. A single npm package can ship several binaries —
|
|
8
8
|
* we list them all so that a partial install still reads as "complete"
|
|
9
|
-
* for whichever binaries we depend on
|
|
10
|
-
* three hook adapters; the manifest only wires two of them).
|
|
9
|
+
* for whichever binaries we depend on.
|
|
11
10
|
*
|
|
12
11
|
* `minVersion` is informational only today (rendered in the wizard's
|
|
13
12
|
* dependency table next to the package name) so operators see the
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Why this module exists: the wizard's templates reference binaries
|
|
5
5
|
// (`memory-router-user-prompt-submit`, `grounding-mcp`, `agent-tasks-
|
|
6
|
-
// mcp-bridge`,
|
|
6
|
+
// mcp-bridge`, etc.) that must be on
|
|
7
7
|
// PATH for the resulting manifest to pass `harness doctor`. Before this
|
|
8
8
|
// module, the wizard wrote a manifest and walked away, leaving the
|
|
9
9
|
// operator to discover the missing binaries via doctor errors. Now the
|
|
@@ -19,7 +19,6 @@ import { spawn } from "node:child_process";
|
|
|
19
19
|
import { existsSync, accessSync, constants } from "node:fs";
|
|
20
20
|
import * as path from "node:path";
|
|
21
21
|
import { assertNoRealSpawnInTests } from "../../runtime/hermetic-spawn-guard.js";
|
|
22
|
-
import { GIT_PREFLIGHT_HOOK_MIN_VERSION } from "./templates.js";
|
|
23
22
|
export const PROFILE_DEPENDENCIES = {
|
|
24
23
|
solo: [
|
|
25
24
|
{
|
|
@@ -30,26 +29,6 @@ export const PROFILE_DEPENDENCIES = {
|
|
|
30
29
|
// `--version` short-circuit harness doctor expects landed in 0.3.0).
|
|
31
30
|
minVersion: "0.3.0",
|
|
32
31
|
},
|
|
33
|
-
{
|
|
34
|
-
binary: "understanding-gate-claude-hook",
|
|
35
|
-
npmPackage: "@lannguyensi/understanding-gate",
|
|
36
|
-
description: "understanding gate (UserPromptSubmit injector)",
|
|
37
|
-
// 0.4.0 added the required "Prior Art" 10th section of the
|
|
38
|
-
// Understanding Report (agent-grounding PR #85, harness task
|
|
39
|
-
// 798d7173). The matching hook-level floor in
|
|
40
|
-
// `understanding-before-execution.ts` is also 0.4.0; pin the
|
|
41
|
-
// wizard's suggested install version to the same floor so a fresh
|
|
42
|
-
// install never trips the floor mid-doctor. Prior history: 0.3.1
|
|
43
|
-
// was the cli-version-fix floor (agent-grounding PRs #80 + #81);
|
|
44
|
-
// 0.3.0 added parser-side fast_confirm support (#78).
|
|
45
|
-
minVersion: "0.4.0",
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
binary: "understanding-gate-claude-stop",
|
|
49
|
-
npmPackage: "@lannguyensi/understanding-gate",
|
|
50
|
-
description: "understanding gate (Stop capture)",
|
|
51
|
-
minVersion: "0.4.0",
|
|
52
|
-
},
|
|
53
32
|
],
|
|
54
33
|
team: [
|
|
55
34
|
// Inherits everything from solo; the wizard concats these lists.
|
|
@@ -64,11 +43,8 @@ export const PROFILE_DEPENDENCIES = {
|
|
|
64
43
|
description: "grounding-mcp MCP server",
|
|
65
44
|
},
|
|
66
45
|
],
|
|
67
|
-
// Full inherits everything from Solo + Team
|
|
68
|
-
//
|
|
69
|
-
// out to `agent-preflight` (`preflight` binary) to write
|
|
70
|
-
// `preflight:${REPO}` to the ledger, which is what the
|
|
71
|
-
// `preflight-before-*` policies match.
|
|
46
|
+
// Full inherits everything from Solo + Team and adds no extra
|
|
47
|
+
// dependencies of its own.
|
|
72
48
|
//
|
|
73
49
|
// codebase-oracle (`@lannguyensi/codebase-oracle`) is intentionally
|
|
74
50
|
// NOT in the Full chain. It is a useful standalone MCP for multi-repo
|
|
@@ -77,25 +53,7 @@ export const PROFILE_DEPENDENCIES = {
|
|
|
77
53
|
// index run) is not worth pushing on every Full-profile operator.
|
|
78
54
|
// See FULL_TEMPLATE comment under `tools.mcp` for the manual wiring
|
|
79
55
|
// recipe (`harness add mcp codebase-oracle --command codebase-oracle,mcp`).
|
|
80
|
-
full: [
|
|
81
|
-
{
|
|
82
|
-
binary: "preflight",
|
|
83
|
-
npmPackage: "@lannguyensi/agent-preflight",
|
|
84
|
-
description: "agent-preflight (SessionStart preflight producer)",
|
|
85
|
-
// Reads the SAME constant as FULL_TEMPLATE's git-preflight hook
|
|
86
|
-
// `min_version` (GIT_PREFLIGHT_HOOK_MIN_VERSION,
|
|
87
|
-
// src/cli/init/templates.ts), the hook floor, not the separate
|
|
88
|
-
// setup floor `harness doctor`'s session_start_preflight.setup
|
|
89
|
-
// check enforces
|
|
90
|
-
// (src/cli/doctor/session-start-preflight-setup-version.ts),
|
|
91
|
-
// split by task 65952a0c
|
|
92
|
-
// (docs/decisions/2026-09-08-preflight-floors.md), both "0.6.0"
|
|
93
|
-
// today. This wizard-facing table must never advertise a floor
|
|
94
|
-
// lower than what the generated manifest's own `min_version`
|
|
95
|
-
// declares, which is the hook floor.
|
|
96
|
-
minVersion: GIT_PREFLIGHT_HOOK_MIN_VERSION,
|
|
97
|
-
},
|
|
98
|
-
],
|
|
56
|
+
full: [],
|
|
99
57
|
};
|
|
100
58
|
/**
|
|
101
59
|
* Resolve the full dep list for a profile, including transitive
|
|
@@ -185,13 +143,6 @@ export function dependenciesForCustom(sel) {
|
|
|
185
143
|
seen.add(dep.binary);
|
|
186
144
|
chain.push(dep);
|
|
187
145
|
};
|
|
188
|
-
// Pack → understanding-gate adapters (mirrors PROFILE_DEPENDENCIES.solo).
|
|
189
|
-
if (sel.packs.includes("understanding-before-execution")) {
|
|
190
|
-
for (const dep of PROFILE_DEPENDENCIES.solo) {
|
|
191
|
-
if (dep.binary.startsWith("understanding-gate-"))
|
|
192
|
-
push(dep);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
146
|
// MCPs → their bridges / bins. codebase-oracle is treated as a
|
|
196
147
|
// first-class dep here even though FULL_TEMPLATE deliberately omits
|
|
197
148
|
// it (the doc-table reasoning is that its setup cost is too high for
|
|
@@ -219,33 +170,6 @@ export function dependenciesForCustom(sel) {
|
|
|
219
170
|
if (dep)
|
|
220
171
|
push(dep);
|
|
221
172
|
}
|
|
222
|
-
// grounding-mcp auto-add mirror: composeCustom auto-wires grounding-mcp
|
|
223
|
-
// into tools.mcp whenever its current evidence-consuming policy selections
|
|
224
|
-
// are chosen without it (see composer.ts). Mirror the exact same predicate here so
|
|
225
|
-
// the dependency-install prompt also covers the binary — without it,
|
|
226
|
-
// policies land in BLOCK mode with a possibly-absent producer binary,
|
|
227
|
-
// causing a fail-closed deadlock the operator was never warned about.
|
|
228
|
-
// The `push` helper's `seen` set prevents a double-add if grounding-mcp
|
|
229
|
-
// was already processed via sel.mcps; the `!sel.mcps.includes` predicate
|
|
230
|
-
// mirrors composeCustom 1:1 so compose and dep-install always agree.
|
|
231
|
-
if (sel.policies.length > 0 && !sel.mcps.includes("grounding-mcp")) {
|
|
232
|
-
const groundingMcpDep = PROFILE_DEPENDENCIES.team.find((d) => d.binary === "grounding-mcp");
|
|
233
|
-
if (groundingMcpDep)
|
|
234
|
-
push(groundingMcpDep);
|
|
235
|
-
}
|
|
236
|
-
// preflight-* policies need agent-preflight on PATH (the
|
|
237
|
-
// SessionStart hook FULL_TEMPLATE wires; mirrors PROFILE_DEPENDENCIES.full).
|
|
238
|
-
// Even though the Custom surface does not expose the SessionStart hook
|
|
239
|
-
// yet, operators wiring the preflight gates will still want the
|
|
240
|
-
// producer binary installed so a manual `harness session-start preflight`
|
|
241
|
-
// invocation can populate the ledger tag.
|
|
242
|
-
const wantsPreflight = sel.policies.some((p) => p.startsWith("preflight-"));
|
|
243
|
-
if (wantsPreflight) {
|
|
244
|
-
for (const dep of PROFILE_DEPENDENCIES.full) {
|
|
245
|
-
if (dep.binary === "preflight")
|
|
246
|
-
push(dep);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
173
|
return chain;
|
|
250
174
|
}
|
|
251
175
|
/**
|