@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
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
export declare const PACK_NAME = "post-merge-gate";
|
|
2
|
-
/**
|
|
3
|
-
* Content prefix the producer writes and the blocker substring-matches.
|
|
4
|
-
* The full recorded content is
|
|
5
|
-
* `${MERGED_TAG_PREFIX}:${repo}:${branch}:${sha}[ pr:<n>] at:<iso>`; the
|
|
6
|
-
* blocker only ever tests for the `${MERGED_TAG_PREFIX}:${repo}:${branch}:
|
|
7
|
-
* ${sha}` prefix (an exact 40-hex-char sha), so the trailing `pr:` / `at:`
|
|
8
|
-
* tokens are audit decoration, not part of the match key.
|
|
9
|
-
*/
|
|
10
|
-
export declare const MERGED_TAG_PREFIX = "post-merge-gate:merged";
|
|
11
|
-
/** The exact substring the blocker tests ledger entries for. */
|
|
12
|
-
export declare function mergedTagMatchKey(repo: string, branch: string, sha: string): string;
|
|
13
|
-
/** Build the full fact content the producer writes (match key + audit decoration). */
|
|
14
|
-
export declare function buildMergedTagContent(args: {
|
|
15
|
-
repo: string;
|
|
16
|
-
branch: string;
|
|
17
|
-
sha: string;
|
|
18
|
-
pr: string | null;
|
|
19
|
-
whenIso: string;
|
|
20
|
-
}): string;
|
|
21
|
-
/**
|
|
22
|
-
* Producer trigger: does this Bash command look like a `gh pr merge`
|
|
23
|
-
* invocation? Same anchoring convention as `DEFAULT_PUSH_BASH_RE`
|
|
24
|
-
* (solution-acceptance-runtime.ts): tolerates a leading `cd … &&`, inline
|
|
25
|
-
* `VAR=val` assignments, and chaining. Known gap, same class as that
|
|
26
|
-
* regex's own documented residual: a heredoc / `sh -c` / `eval`
|
|
27
|
-
* indirection defeats this match before the producer ever runs — not
|
|
28
|
-
* attempted to close here (the MCP merge path, `pull_requests_merge`, is
|
|
29
|
-
* the other documented gap; see the pack's instructions.md).
|
|
30
|
-
*
|
|
31
|
-
* Task 76671e5a: bare `&` added to the boundary alternation (`&&` kept to
|
|
32
|
-
* its left only to mirror `src/runtime/command-normalize.ts`'s alternation
|
|
33
|
-
* order for readability — NOT because order is load-bearing here, unlike
|
|
34
|
-
* that module). Same fix as `d834a065` applied to every policy trigger —
|
|
35
|
-
* bash starts a new command after a single `&`, so `A=x&gh pr merge` used
|
|
36
|
-
* to miss this trigger entirely and the producer silently never recorded
|
|
37
|
-
* the merged-tip fact for that spelling. Broadening a TRIGGER only widens
|
|
38
|
-
* when the producer fires (a strictly safer direction, mirrors the
|
|
39
|
-
* deny-side reasoning below), unlike the escape allowlist further down.
|
|
40
|
-
* Measured: swapping to `&|&&` produces a byte-identical match set for this
|
|
41
|
-
* matcher (a `RegExp.test` existential check over every start offset, not a
|
|
42
|
-
* segmenter — the reasoning that makes order matter in
|
|
43
|
-
* `command-normalize.ts`'s `BOUNDARY_RE`/`AMP_BOUNDARY_RE` does not transfer
|
|
44
|
-
* to a plain `.test()` matcher like this one).
|
|
45
|
-
*
|
|
46
|
-
* The RECORDER (`hook-post-merge-gate-record.ts`) does not test this regex
|
|
47
|
-
* against the raw command alone: it tests it against four forms, raw first
|
|
48
|
-
* and lazily, mirroring the gate's `policyMatchesEvent` arms (raw,
|
|
49
|
-
* `normalizeCommand`, `normalizeCommandAmpAware`,
|
|
50
|
-
* `normalizeCommandQuoteAware`). The regex itself stays anchored for the
|
|
51
|
-
* raw form, so wrapper spellings (`nice gh pr merge 1`), a bare-`&` chain
|
|
52
|
-
* before a wrapper and a quoted assignment value holding a boundary
|
|
53
|
-
* character are matched via the normalised forms, not by this pattern.
|
|
54
|
-
* Named residual: a command longer than MAX_NORMALIZE_LENGTH is not
|
|
55
|
-
* normalised and is tested raw only.
|
|
56
|
-
*/
|
|
57
|
-
export declare const GH_PR_MERGE_BASH_RE: RegExp;
|
|
58
|
-
/**
|
|
59
|
-
* Blocker deny-scope v1 (03-decisions.md): the curated mutation command
|
|
60
|
-
* list. Deliberately NOT "every Bash command" — read-only git
|
|
61
|
-
* (status/log/diff/branch) and unrelated shell stay unaffected. Same
|
|
62
|
-
* anchoring convention as `GH_PR_MERGE_BASH_RE`.
|
|
63
|
-
*
|
|
64
|
-
* Task 76671e5a: bare `&` added to the boundary alternation, same reasoning
|
|
65
|
-
* as `GH_PR_MERGE_BASH_RE` above — this is a DENY-scope matcher, so
|
|
66
|
-
* broadening it is the STRICTER direction (more commands recognized as
|
|
67
|
-
* curated mutations, none dropped). Verified disjoint from the escape
|
|
68
|
-
* allowlist below on a single-command corpus (no verb overlap), so this
|
|
69
|
-
* broadening cannot lock out the documented recovery path.
|
|
70
|
-
*/
|
|
71
|
-
export declare const CURATED_MUTATION_BASH_RE: RegExp;
|
|
72
|
-
/**
|
|
73
|
-
* Escape allowlist, git verbs (03-decisions.md): the exact recovery path
|
|
74
|
-
* the deny message recommends, plus read-only stash inspection. Since task
|
|
75
|
-
* 19356be7 this list no longer short-circuits the blocker — the deny
|
|
76
|
-
* match decides gate-eligibility, and every one of these verbs stays free
|
|
77
|
-
* simply because it is not a curated mutation (verb disjointness, pinned).
|
|
78
|
-
* The list remains the deny message's recovery vocabulary and a
|
|
79
|
-
* diagnostics aid.
|
|
80
|
-
*
|
|
81
|
-
* Task 76671e5a, DELIBERATELY LEFT on the old (no bare-`&`) boundary
|
|
82
|
-
* alphabet: this is an ALLOW-side matcher, so broadening it is the LOOSER
|
|
83
|
-
* direction. Its remaining consumers (diagnostics, docs interpolation)
|
|
84
|
-
* still must not silently widen what reads as "recovery". Pinned by a
|
|
85
|
-
* regression test asserting this regex's source never gains the `&|`
|
|
86
|
-
* boundary token.
|
|
87
|
-
*/
|
|
88
|
-
export declare const ESCAPE_GIT_BASH_RE: RegExp;
|
|
89
|
-
/**
|
|
90
|
-
* Escape allowlist, harness verbs (03-decisions.md): names any invocation
|
|
91
|
-
* of harness's own CLI (recovery commands like `harness session-start
|
|
92
|
-
* branch-check`, diagnostics, a future self-check), regardless of
|
|
93
|
-
* spelling — mirrors the `npx` / absolute-path / `./node_modules/.bin`
|
|
94
|
-
* robustness the `deny-kill-switch-bash` regex in
|
|
95
|
-
* `src/cli/init/templates.ts` already established for the same class of
|
|
96
|
-
* bypass concern. Since task 19356be7 its only job is the deny message's
|
|
97
|
-
* / diagnostics' vocabulary: a bare harness command stays free through
|
|
98
|
-
* verb disjointness with the curated deny list, not through a
|
|
99
|
-
* short-circuit.
|
|
100
|
-
*
|
|
101
|
-
* Task 76671e5a: DELIBERATELY LEFT narrow, same reasoning as
|
|
102
|
-
* `ESCAPE_GIT_BASH_RE` immediately above — an allow-side matcher, so
|
|
103
|
-
* broadening its boundary alphabet is the loosening direction.
|
|
104
|
-
*/
|
|
105
|
-
export declare const ESCAPE_HARNESS_BASH_RE: RegExp;
|
|
106
|
-
/**
|
|
107
|
-
* True when `command` matches any escape pattern. Since task 19356be7
|
|
108
|
-
* this is DIAGNOSTICS ONLY — the blocker's decision is
|
|
109
|
-
* `isGateEligibleCommand` below; when escape and deny both match, deny
|
|
110
|
-
* wins. (Under the original escape-first ordering this function was the
|
|
111
|
-
* blocker's first, unconditional check, which let `harness preflight &&
|
|
112
|
-
* git push origin master` — the documented normal workflow — skip the
|
|
113
|
-
* gate entirely.)
|
|
114
|
-
*/
|
|
115
|
-
export declare function isEscapeCommand(command: string): boolean;
|
|
116
|
-
/** True when `command` matches the curated v1 deny-scope. */
|
|
117
|
-
export declare function isCuratedMutationCommand(command: string): boolean;
|
|
118
|
-
/**
|
|
119
|
-
* The blocker's single classification entry point (task 19356be7): a
|
|
120
|
-
* command is gate-eligible iff the curated mutation matcher fires.
|
|
121
|
-
* Everything else — the whole recovery vocabulary, read-only git,
|
|
122
|
-
* unrelated shell — is allowed by the hook BEFORE any manifest load or
|
|
123
|
-
* ledger query, preserving the recovery-never-starved property the
|
|
124
|
-
* escape-first ordering used to provide.
|
|
125
|
-
*
|
|
126
|
-
* A thin wrapper over `isCuratedMutationCommand` by DELIBERATE choice,
|
|
127
|
-
* not by accident. An earlier iteration of this task pre-processed the
|
|
128
|
-
* command here, stripping the bodies of quoted-delimiter heredocs fed to
|
|
129
|
-
* a harness invocation, so that an `harness approve understanding <<'…'`
|
|
130
|
-
* report body mentioning a mutation verb would not become gate-eligible.
|
|
131
|
-
* Two review rounds found two successive families of UNDER-blocks in that
|
|
132
|
-
* pre-processing (bodies consumed that bash really executes), both rooted
|
|
133
|
-
* in the same cause: deciding where a heredoc body BEGINS requires
|
|
134
|
-
* re-implementing bash's quote and word grammar on the permissive side of
|
|
135
|
-
* a security boundary. Tasks `dbc6d303` and `5b1b24fb` had already been
|
|
136
|
-
* halted for that same reason. It was therefore removed rather than
|
|
137
|
-
* patched a third time; see
|
|
138
|
-
* `.ai/runs/2026-08-02-post-merge-gate-escape-precedence/03-decisions.md`
|
|
139
|
-
* D5/D6 for the measurement history, and task `5b1b24fb` for the real
|
|
140
|
-
* fix, which belongs at the `bash_match` layer for every surface at once.
|
|
141
|
-
*
|
|
142
|
-
* Accepted consequence, OVER-block direction: a harness report heredoc
|
|
143
|
-
* whose body carries a boundary-anchored mutation verb IS gate-eligible.
|
|
144
|
-
* It only denies while the branch tip equals a recorded merged tip, and
|
|
145
|
-
* `git switch <default>` — the gate's own recommended recovery — stays
|
|
146
|
-
* free. Same residual class as the quoted-text false positives this
|
|
147
|
-
* change already accepts. Do NOT reintroduce a strip here without a
|
|
148
|
-
* design that does not re-derive bash's grammar.
|
|
149
|
-
*/
|
|
150
|
-
export declare function isGateEligibleCommand(command: string): boolean;
|
|
151
|
-
/**
|
|
152
|
-
* Defensive `tool_output.exit_code` reader for the PostToolUse Bash
|
|
153
|
-
* payload — Contract A. Returns `null` on ANY shape other than a plain
|
|
154
|
-
* finite number — missing field, a differently-named variant, a string,
|
|
155
|
-
* etc. — so the producer's "no fact on anything but a confirmed success"
|
|
156
|
-
* rule (03-decisions.md) degrades to "no fact" rather than guessing.
|
|
157
|
-
*
|
|
158
|
-
* PAYLOAD REALITY (2026-07, follow-up to 03-decisions.md): live
|
|
159
|
-
* verification against a real Claude Code 2.1.218 native install (a
|
|
160
|
-
* `claude -p --settings` dump-hook capture, 19/19 fired events) found NO
|
|
161
|
-
* `tool_output` field at all — the field is `tool_response`, shaped
|
|
162
|
-
* `{ stdout, stderr, interrupted, isImage, noOutputExpected }` with no
|
|
163
|
-
* exit-code equivalent (see `tests/fixtures/post-merge-gate/
|
|
164
|
-
* real-posttooluse-payload-2.1.218.json`, a verbatim capture). The
|
|
165
|
-
* `tool_output.stdout/stderr/exit_code` shape this function reads
|
|
166
|
-
* evidently describes a DIFFERENT — newer, or differently-shimmed —
|
|
167
|
-
* Claude Code contract than 2.1.218's, not a documentation error to
|
|
168
|
-
* "fix" here: Contract A is left exactly as it was (any install that
|
|
169
|
-
* DOES send `tool_output.exit_code` still works unchanged), and Contract
|
|
170
|
-
* B below is the fallback that makes the producer fire on 2.1.218 at
|
|
171
|
-
* all. See `resolveMergeConfirmation`.
|
|
172
|
-
*/
|
|
173
|
-
export declare function extractExitCode(toolOutput: unknown): number | null;
|
|
174
|
-
/** Best-effort PR number extraction from a `gh pr merge` command string. */
|
|
175
|
-
export declare function extractPrNumber(command: string): string | null;
|
|
176
|
-
/**
|
|
177
|
-
* Contract B success-text matcher (2.1.218 payload-reality follow-up).
|
|
178
|
-
* `gh pr merge`'s own past-tense confirmation sentence, verbatim across
|
|
179
|
-
* all three merge methods.
|
|
180
|
-
*
|
|
181
|
-
* SOURCE (verified against the installed `gh` binary, v2.94.0,
|
|
182
|
-
* `pkg/cmd/pr/merge/merge.go` lines 369-376): the success line is built
|
|
183
|
-
* as `infof("%s %s pull request %s#%d (%s)", icon, action,
|
|
184
|
-
* ghrepo.FullName(baseRepo), pr.Number, pr.Title)` — i.e. the repo
|
|
185
|
-
* FULLNAME sits directly between "pull request" and the bare `#<n>`,
|
|
186
|
-
* GLUED to the `#` with no space (`%s#%d`, not `%s #%d`):
|
|
187
|
-
*
|
|
188
|
-
* ✓ Squashed and merged pull request owner/repo#65 (Some title)
|
|
189
|
-
* ✓ Rebased and merged pull request owner/repo#65 (Some title)
|
|
190
|
-
* ✓ Merged pull request owner/repo#65 (Some title)
|
|
191
|
-
*
|
|
192
|
-
* `infof` writes to `gh`'s STDERR (the informational-message channel,
|
|
193
|
-
* distinct from `gh`'s own stdout, which is reserved for machine-
|
|
194
|
-
* consumable output) — another reason this matcher tests the CONCATENATED
|
|
195
|
-
* `stdout`+`stderr`, not stdout alone. `icon` is a bare `✓` (or `!` for
|
|
196
|
-
* warnings) with no ANSI color codes when `gh` detects a non-TTY output
|
|
197
|
-
* stream, which a hook-captured Bash hijacks it into.
|
|
198
|
-
*
|
|
199
|
-
* `[^\s#]*` between "pull request" and `#` accepts BOTH that real
|
|
200
|
-
* `owner/repo#<n>` shape AND a bare `#<n>` (no fullname) — the latter is
|
|
201
|
-
* not `gh`'s actual current wording but is accepted defensively as a
|
|
202
|
-
* documentation-shape / future-`gh`-version tolerance, at zero matching-
|
|
203
|
-
* surface cost (repo fullnames never contain whitespace or `#`, so the
|
|
204
|
-
* character class cannot itself widen what counts as a match beyond
|
|
205
|
-
* "some non-space run immediately before the PR number").
|
|
206
|
-
*
|
|
207
|
-
* Still deliberately narrow overall (conservative — false negatives are
|
|
208
|
-
* the safe direction here, false positives are not):
|
|
209
|
-
* - exact past-tense phrase, not a bare "merged" substring — excludes
|
|
210
|
-
* `gh pr merge --auto`'s pending text (real wording, same source
|
|
211
|
-
* file: "Pull request owner/repo#65 will be automatically merged via
|
|
212
|
-
* squash when all requirements are met" — capitalized standalone
|
|
213
|
-
* "Pull request", no "Squashed/Rebased and merged" or standalone
|
|
214
|
-
* "Merged" immediately precedes it), and excludes the already-merged
|
|
215
|
-
* warning (real wording: "Pull request owner/repo#65 was already
|
|
216
|
-
* merged" — word order is reversed: "Pull request ... was already
|
|
217
|
-
* merged", not "Merged pull request ...").
|
|
218
|
-
* - case-sensitive, matching gh's own capitalization exactly (no `/i`)
|
|
219
|
-
* — narrower matching surface, same conservative direction.
|
|
220
|
-
* - `\b` word boundaries on both ends so a partial-word coincidence
|
|
221
|
-
* (e.g. a hypothetical "ReMerged") cannot match.
|
|
222
|
-
*
|
|
223
|
-
* KNOWN GAP (documented, not attempted to close here): this is coupled
|
|
224
|
-
* to `gh`'s current wording. A future `gh` release that rephrases its
|
|
225
|
-
* success sentence makes this matcher — and therefore the whole
|
|
226
|
-
* Contract-B path — silently, fail-safely inert (no fact written, same
|
|
227
|
-
* as any other unmatched shape; never a false "merged" record). See the
|
|
228
|
-
* pack's instructions.md / docs/policy-packs/post-merge-gate.md "Known
|
|
229
|
-
* gaps" for the operator-facing verification path.
|
|
230
|
-
*/
|
|
231
|
-
export declare const GH_MERGE_SUCCESS_RE: RegExp;
|
|
232
|
-
export type GhMergeSuccessMatch = {
|
|
233
|
-
matched: true;
|
|
234
|
-
pr: string | null;
|
|
235
|
-
} | {
|
|
236
|
-
matched: false;
|
|
237
|
-
};
|
|
238
|
-
/**
|
|
239
|
-
* Contract B confirmation: does `toolResponse` carry a real Claude Code
|
|
240
|
-
* 2.1.218-shaped Bash result (`{ stdout, stderr, interrupted, ... }`)
|
|
241
|
-
* whose `stdout`+`stderr` contain a `gh pr merge` success sentence?
|
|
242
|
-
*
|
|
243
|
-
* `interrupted` must be the LITERAL boolean `false` — missing, `true`,
|
|
244
|
-
* or any other value all fail closed (no match), the same fail-safe
|
|
245
|
-
* direction as Contract A's exit_code check. `stdout`/`stderr` default
|
|
246
|
-
* to `""` when absent or non-string (never throws), and are joined with
|
|
247
|
-
* a newline before matching so a phrase cannot accidentally form by
|
|
248
|
-
* concatenating the tail of one stream with the head of the other.
|
|
249
|
-
*/
|
|
250
|
-
export declare function matchGhMergeSuccessText(toolResponse: unknown): GhMergeSuccessMatch;
|
|
251
|
-
export interface MergeConfirmation {
|
|
252
|
-
confirmed: boolean;
|
|
253
|
-
/** Which contract produced the verdict; "none" when `confirmed` is false. */
|
|
254
|
-
contract: "exit_code" | "gh_success_text" | "none";
|
|
255
|
-
/** Resolved PR number (command-first; text-fallback only for gh_success_text), or null. */
|
|
256
|
-
pr: string | null;
|
|
257
|
-
/** Human-readable reason, always populated (feeds the producer's stderr diagnostic). */
|
|
258
|
-
reason: string;
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Dual-contract merge confirmation (2.1.218 payload-reality follow-up).
|
|
262
|
-
* Tries Contract A (`tool_output.exit_code`, unchanged) first; falls
|
|
263
|
-
* back to Contract B (`tool_response` + a matching `gh` success
|
|
264
|
-
* sentence) only when Contract A yields no verdict at all.
|
|
265
|
-
*
|
|
266
|
-
* BINDING ordering decision — Contract A wins whenever it resolves to
|
|
267
|
-
* ANY definite verdict, success OR failure: a well-formed, non-zero
|
|
268
|
-
* `exit_code` is Contract A's own explicit failure signal and short-
|
|
269
|
-
* circuits WITHOUT consulting Contract B, so a coincidental gh success
|
|
270
|
-
* phrase sitting in a sibling `tool_response` field (the hypothetical
|
|
271
|
-
* "both present" shape) can never override an authoritative failure.
|
|
272
|
-
* Contract B is consulted only when `exit_code` is entirely unresolvable
|
|
273
|
-
* (`extractExitCode` returns `null` — missing field, wrong shape, or the
|
|
274
|
-
* field genuinely absent as on 2.1.218).
|
|
275
|
-
*/
|
|
276
|
-
export declare function resolveMergeConfirmation(toolOutput: unknown, toolResponse: unknown, command: string): MergeConfirmation;
|
|
277
|
-
/**
|
|
278
|
-
* Best-effort default-branch name for the deny message's `git switch
|
|
279
|
-
* <default>` line. Offline, reusing the same `origin/HEAD` resolution
|
|
280
|
-
* `harness record review --base` uses (now shared via
|
|
281
|
-
* `runtime/git-context.ts`, see that module's header). Returns `null`
|
|
282
|
-
* when `cwd` is not in a git work tree, or the repo has no resolvable
|
|
283
|
-
* `origin/HEAD` (e.g. no remote) — the caller falls back to a generic
|
|
284
|
-
* placeholder in that case; this is advisory text, never a gate input.
|
|
285
|
-
*/
|
|
286
|
-
export declare function resolveDefaultBranchName(cwd: string): string | null;
|