@lannguyensi/harness 0.56.0 → 0.58.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 +186 -0
- package/README.md +1 -1
- package/dist/cli/apply/apply.js +4 -3
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-codex-config.js +3 -3
- package/dist/cli/apply/generate-codex-config.js.map +1 -1
- package/dist/cli/apply/generate-memory-index.js +20 -10
- package/dist/cli/apply/generate-memory-index.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +7 -0
- package/dist/cli/apply/generate-settings.js +10 -1
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/approve/understanding.d.ts +4 -4
- package/dist/cli/doctor/format.js +68 -2
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.d.ts +6 -0
- package/dist/cli/doctor/index.js +214 -28
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/session-start-preflight-setup-version.d.ts +83 -0
- package/dist/cli/doctor/session-start-preflight-setup-version.js +114 -0
- package/dist/cli/doctor/session-start-preflight-setup-version.js.map +1 -0
- package/dist/cli/doctor/types.d.ts +35 -4
- package/dist/cli/doctor/types.js +2 -1
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/doctor/ug-delegations.js +9 -0
- package/dist/cli/doctor/ug-delegations.js.map +1 -1
- package/dist/cli/explain-policy.d.ts +67 -0
- package/dist/cli/explain-policy.js +140 -3
- package/dist/cli/explain-policy.js.map +1 -1
- package/dist/cli/gc/index.js +28 -14
- package/dist/cli/gc/index.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +10 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.js +4 -3
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/dependencies.js +15 -9
- package/dist/cli/init/dependencies.js.map +1 -1
- package/dist/cli/init/templates.d.ts +1 -0
- package/dist/cli/init/templates.js +30 -4
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/list.js +19 -0
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/loader.js +16 -1
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/pack/hook-bootstrap.js +2 -1
- package/dist/cli/pack/hook-bootstrap.js.map +1 -1
- package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +0 -32
- package/dist/cli/pack/hook-codex-user-prompt-submit.js +11 -118
- package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +34 -7
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance.d.ts +55 -0
- package/dist/cli/pack/hook-solution-acceptance.js +222 -16
- package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
- package/dist/cli/pack/hook-stay-in-scope.d.ts +5 -26
- package/dist/cli/pack/hook-stay-in-scope.js +62 -274
- package/dist/cli/pack/hook-stay-in-scope.js.map +1 -1
- package/dist/cli/pack/hook-track-active-claim.d.ts +1 -0
- package/dist/cli/pack/hook-track-active-claim.js +107 -43
- package/dist/cli/pack/hook-track-active-claim.js.map +1 -1
- package/dist/cli/session-start/index.d.ts +32 -1
- package/dist/cli/session-start/index.js +142 -12
- package/dist/cli/session-start/index.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +0 -2
- package/dist/cli/validate/checks.js +30 -30
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/io/harness-lock.js +11 -1
- package/dist/io/harness-lock.js.map +1 -1
- package/dist/io/lock.d.ts +26 -0
- package/dist/io/lock.js +25 -0
- package/dist/io/lock.js.map +1 -1
- package/dist/io/project-name.d.ts +115 -0
- package/dist/io/project-name.js +158 -0
- package/dist/io/project-name.js.map +1 -0
- package/dist/io/read-json-dir-entries.js +10 -0
- package/dist/io/read-json-dir-entries.js.map +1 -1
- package/dist/io/version-compare.d.ts +59 -0
- package/dist/io/version-compare.js +67 -0
- package/dist/io/version-compare.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.d.ts +50 -0
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js +151 -0
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js.map +1 -0
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +43 -4
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +43 -39
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance.js +4 -2
- package/dist/policy-packs/builtin/solution-acceptance.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +15 -0
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +5 -7
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js +23 -0
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +8 -17
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.d.ts +129 -0
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js +166 -0
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +129 -0
- package/dist/policy-packs/builtin/understanding-before-execution.js +44 -57
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +1 -1
- package/dist/policy-packs/version-check.d.ts +8 -1
- package/dist/policy-packs/version-check.js +10 -6
- package/dist/policy-packs/version-check.js.map +1 -1
- package/dist/probes/memory.d.ts +34 -0
- package/dist/probes/memory.js +87 -14
- package/dist/probes/memory.js.map +1 -1
- package/dist/runtime/git-context.d.ts +125 -0
- package/dist/runtime/git-context.js +164 -1
- package/dist/runtime/git-context.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/task-providers/agent-tasks.d.ts +90 -0
- package/dist/runtime/task-providers/agent-tasks.js +231 -0
- package/dist/runtime/task-providers/agent-tasks.js.map +1 -0
- package/dist/runtime/workflow-policies.d.ts +1 -0
- package/dist/runtime/workflow-policies.js +8 -8
- package/dist/runtime/workflow-policies.js.map +1 -1
- package/dist/schema/index.d.ts +19 -0
- package/dist/schema/index.js +5 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/session-start-preflight.d.ts +10 -0
- package/dist/schema/session-start-preflight.js +106 -0
- package/dist/schema/session-start-preflight.js.map +1 -0
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-solution-acceptance.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-solution-acceptance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-solution-acceptance.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-solution-acceptance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
+
import { type StayInScopeMatchedRule } from "../../policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js";
|
|
2
|
+
import type { Manifest } from "../../schema/index.js";
|
|
1
3
|
import type { LoaderOptions } from "../loader.js";
|
|
2
|
-
export declare const TOOL_NAME_TASK_CREATE = "mcp__agent-tasks__task_create";
|
|
3
|
-
export declare const TOOL_NAME_TASKS_CREATE = "mcp__agent-tasks__tasks_create";
|
|
4
|
-
export declare const TOOL_NAME_TASKS_UPDATE = "mcp__agent-tasks__tasks_update";
|
|
5
|
-
export declare const STAY_IN_SCOPE_TOOLS: readonly string[];
|
|
6
4
|
export declare const STAY_IN_SCOPE_DISABLED_ENV = "STAY_IN_SCOPE_DISABLED";
|
|
7
5
|
export declare const STAY_IN_SCOPE_LOG_ENV = "STAY_IN_SCOPE_LOG";
|
|
8
6
|
export declare const REMINDERS_SUBDIR = "reminders";
|
|
9
7
|
export declare const STAY_IN_SCOPE_LOG_BASENAME = "stay-in-scope.log";
|
|
10
|
-
export type MatchedRule =
|
|
8
|
+
export type MatchedRule = StayInScopeMatchedRule;
|
|
11
9
|
export interface StayInScopeAuditRecord {
|
|
12
10
|
ts: string;
|
|
13
11
|
taskId: string | null;
|
|
@@ -18,41 +16,22 @@ export interface StayInScopeAuditRecord {
|
|
|
18
16
|
matchedRule: MatchedRule;
|
|
19
17
|
}
|
|
20
18
|
export interface PackHookStayInScopeOptions extends LoaderOptions {
|
|
19
|
+
pack?: string;
|
|
21
20
|
generatedDir?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Override the audit log path. Defaults to
|
|
24
|
-
* `resolveHomeDir().path/reminders/stay-in-scope.log`, with
|
|
25
|
-
* `STAY_IN_SCOPE_LOG` env taking precedence over the resolved default
|
|
26
|
-
* (but losing to an explicit option here, so tests can pin the path).
|
|
27
|
-
*/
|
|
28
21
|
logPath?: string;
|
|
29
22
|
stdin?: NodeJS.ReadableStream;
|
|
30
23
|
stderr?: NodeJS.WritableStream;
|
|
31
|
-
/** Override "now" for deterministic test output. */
|
|
32
24
|
now?: Date;
|
|
33
|
-
/** Override env lookup (tests). */
|
|
34
25
|
env?: NodeJS.ProcessEnv;
|
|
26
|
+
manifest?: Manifest;
|
|
35
27
|
}
|
|
36
28
|
export interface PackHookStayInScopeResult {
|
|
37
29
|
exitCode: number;
|
|
38
|
-
/** Did the just-completed tool's payload match the reminder rules? */
|
|
39
30
|
matched: boolean;
|
|
40
|
-
/** Which match path fired ("none" when matched=false). */
|
|
41
31
|
matchedRule: MatchedRule;
|
|
42
|
-
/** Was the audit row appended successfully? */
|
|
43
32
|
logged: boolean;
|
|
44
|
-
/** Was the second-order heuristic positive? */
|
|
45
33
|
secondOrder: boolean;
|
|
46
|
-
/** Resolved audit log path, or null if logging was skipped/failed. */
|
|
47
34
|
logPath: string | null;
|
|
48
|
-
/** Diagnostic line emitted to stderr. */
|
|
49
35
|
diagnostic: string;
|
|
50
36
|
}
|
|
51
|
-
export interface MatchEvaluation {
|
|
52
|
-
matched: boolean;
|
|
53
|
-
matchedRule: MatchedRule;
|
|
54
|
-
secondOrder: boolean;
|
|
55
|
-
}
|
|
56
|
-
export declare function evaluateMatch(labels: readonly string[], description: string): MatchEvaluation;
|
|
57
37
|
export declare function runPackHookStayInScopeCli(opts?: PackHookStayInScopeOptions): Promise<PackHookStayInScopeResult>;
|
|
58
|
-
export declare function extractParentPrUrl(description: string): string | null;
|
|
@@ -1,237 +1,55 @@
|
|
|
1
|
-
// `harness pack hook stay-in-scope`
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// PostToolUse hook for the understanding-before-execution pack. Receives
|
|
5
|
-
// the Claude Code event JSON on stdin and, when the just-completed tool
|
|
6
|
-
// was an agent-tasks task-create / task-update verb AND the payload looks
|
|
7
|
-
// like a review-derived follow-up, emits a single stderr reminder line +
|
|
8
|
-
// appends one JSONL audit row.
|
|
9
|
-
//
|
|
10
|
-
// Why a soft reminder and not a hard block:
|
|
11
|
-
// - PostToolUse cannot block by construction (the tool already ran).
|
|
12
|
-
// - The rule being enforced ("small reviewer findings stay inline in
|
|
13
|
-
// the same PR; follow-up tasks are for scope-out only") is
|
|
14
|
-
// judgment-shaped, not a syntactic invariant. Hard-blocking would
|
|
15
|
-
// either over-fire on legitimate trigger-bound scope-outs or accept
|
|
16
|
-
// trivial self-attestation ("scope-out: yes") that erodes the rule.
|
|
17
|
-
// - The audit log gives a 2-week dogfood window: count how often the
|
|
18
|
-
// reminder fires vs. how often those tasks get abandoned. That
|
|
19
|
-
// ratio is the signal for whether to escalate to a hard gate.
|
|
20
|
-
//
|
|
21
|
-
// Match criteria (any one is sufficient):
|
|
22
|
-
// 1. `tool_input.labels` contains a token matching
|
|
23
|
-
// /(from-review|followup|reviewer-finding|review-finding)/i
|
|
24
|
-
// 2. `tool_input.description` contains a "follow-up from review"
|
|
25
|
-
// textual marker (`Vorgaenger-PR:` / `Vorgänger-PR:` /
|
|
26
|
-
// `Review-Subagent`, or `## Hintergrund` ... `Review` within 200
|
|
27
|
-
// chars).
|
|
28
|
-
//
|
|
29
|
-
// Second-order heuristic: when both a review-shaped label AND a
|
|
30
|
-
// `Vorgaenger-PR.*#<n>` reference are present, the new task is itself
|
|
31
|
-
// a follow-up that traces back to another follow-up. The reminder
|
|
32
|
-
// upgrades to `[stay-in-scope: SECOND-ORDER]` since user-memory
|
|
33
|
-
// `feedback_reviewer_findings_stay_in_scope` explicitly forbids
|
|
34
|
-
// follow-ups spawning further follow-ups. Heuristic, not exact —
|
|
35
|
-
// resolving the parent task and checking its labels would need an
|
|
36
|
-
// agent-tasks roundtrip, which is out of scope for v1.
|
|
37
|
-
//
|
|
38
|
-
// Failure mode mirrors the other pack hooks: every error path resolves
|
|
39
|
-
// to no-op + stderr log. A reminder that can't write its audit log
|
|
40
|
-
// must NEVER escalate into a hook failure that disrupts the agent's
|
|
41
|
-
// turn — the reminder is informational, the tool already ran.
|
|
42
|
-
//
|
|
43
|
-
// Disable knob: `STAY_IN_SCOPE_DISABLED=1` short-circuits to no-op AFTER
|
|
44
|
-
// pause-sentinel evaluation, so an operator who pauses harness still
|
|
45
|
-
// sees the standard pause notice instead of stay-in-scope's silence.
|
|
46
|
-
//
|
|
47
|
-
// Codex parity (task cf4cdc93): this hook is now also wired on the
|
|
48
|
-
// Codex adapter (`understanding-before-execution.ts`, `runtime ===
|
|
49
|
-
// "codex"` branch), reusing this exact command — no Codex-specific CLI
|
|
50
|
-
// verb is needed. The tool-name watch-list check is alias-aware
|
|
51
|
-
// (`toolNameMatchesAny`, not a raw `.includes`): a Codex session can
|
|
52
|
-
// emit an MCP tool name in a variant form for the identical tool
|
|
53
|
-
// (server hyphen/underscore swap, the `mcp__server__.tool` dotted
|
|
54
|
-
// form), and the emitted Codex matcher is alias-EXPANDED at
|
|
55
|
-
// `harness apply` time (`expandCodexHookMatchPattern`) so the
|
|
56
|
-
// dispatcher DOES invoke this hook for a variant — a raw membership
|
|
57
|
-
// check here would then silently miss it, the exact bug class task
|
|
58
|
-
// a1348c89 fixed once already for the marker-expiry PostToolUse hook.
|
|
59
|
-
//
|
|
60
|
-
// Review finding on task cf4cdc93 (empirically confirmed, MEDIUM): the
|
|
61
|
-
// event envelope's field NAMES also vary across the tolerated Codex
|
|
62
|
-
// synonyms — `tool` as well as `tool_name`, `raw_input` as well as
|
|
63
|
-
// `tool_input` (`hook-codex-post-tool-use.ts`'s own doc comment and
|
|
64
|
-
// `docs/policy-packs/understanding-before-execution.md`'s wire-format
|
|
65
|
-
// block both document this). A payload shaped `{ tool, raw_input }`
|
|
66
|
-
// used to silently no-op here. Now mirrored via the same shared
|
|
67
|
-
// helpers (`hook-bootstrap.ts`'s `pickString` / `resolveToolInput`) the
|
|
68
|
-
// sibling `codex-post-tool-use` hook already used. This does NOT touch
|
|
69
|
-
// the `tool_response` taskId fallback below (a Claude-side convenience
|
|
70
|
-
// for the create-call shape where the task UUID is only known after
|
|
71
|
-
// the server roundtrip) — the Codex envelope may not carry
|
|
72
|
-
// `tool_response` at all, and that fallback correctly stays a no-op in
|
|
73
|
-
// that case rather than being folded into the tool_input/raw_input
|
|
74
|
-
// resolution.
|
|
1
|
+
// `harness pack hook stay-in-scope` is an optional, informational
|
|
2
|
+
// PostToolUse integration. It reads its complete behavior from the current
|
|
3
|
+
// pack configuration so a stale generated hook safely no-ops after disable.
|
|
75
4
|
import * as fs from "node:fs";
|
|
76
5
|
import * as path from "node:path";
|
|
77
6
|
import { resolveHomeDir } from "../../runtime/home-dir.js";
|
|
78
7
|
import { toolNameMatchesAny } from "../../policy-packs/builtin/understanding-before-execution-runtime.js";
|
|
79
|
-
import {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
export const TOOL_NAME_TASKS_UPDATE = "mcp__agent-tasks__tasks_update";
|
|
83
|
-
export const STAY_IN_SCOPE_TOOLS = [
|
|
84
|
-
TOOL_NAME_TASK_CREATE,
|
|
85
|
-
TOOL_NAME_TASKS_CREATE,
|
|
86
|
-
TOOL_NAME_TASKS_UPDATE,
|
|
87
|
-
];
|
|
8
|
+
import { evaluateStayInScopeMatch, extractConfiguredParentUrl, resolveStayInScopeConfig, } from "../../policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js";
|
|
9
|
+
import { checkHookPause, loadManifestOrInjected, pickString, readStdin, resolveToolInput, } from "./hook-bootstrap.js";
|
|
10
|
+
const PACK_NAME = "understanding-before-execution";
|
|
88
11
|
export const STAY_IN_SCOPE_DISABLED_ENV = "STAY_IN_SCOPE_DISABLED";
|
|
89
12
|
export const STAY_IN_SCOPE_LOG_ENV = "STAY_IN_SCOPE_LOG";
|
|
90
13
|
export const REMINDERS_SUBDIR = "reminders";
|
|
91
14
|
export const STAY_IN_SCOPE_LOG_BASENAME = "stay-in-scope.log";
|
|
92
|
-
const LABEL_REVIEW_REGEX = /(from-review|followup|reviewer-finding|review-finding)/i;
|
|
93
|
-
// Inline description markers, checked case-sensitively for the
|
|
94
|
-
// literal source (Vorgänger-PR) and accent-stripped alternative
|
|
95
|
-
// (Vorgaenger-PR). `Review-Subagent` matches both the German task
|
|
96
|
-
// template ("Aus Review-Subagent ...") and English variations.
|
|
97
|
-
const DESCRIPTION_MARKERS = [
|
|
98
|
-
"Vorgänger-PR:",
|
|
99
|
-
"Vorgaenger-PR:",
|
|
100
|
-
"Review-Subagent",
|
|
101
|
-
];
|
|
102
|
-
// "## Hintergrund" followed by "Review" within 200 characters catches
|
|
103
|
-
// the existing German task body convention without insisting on the
|
|
104
|
-
// explicit marker keywords above. The 200-char window keeps it tight
|
|
105
|
-
// enough that a totally unrelated body that happens to use both words
|
|
106
|
-
// far apart doesn't trigger.
|
|
107
|
-
const HINTERGRUND_REVIEW_WINDOW = 200;
|
|
108
|
-
// Second-order heuristic: a follow-up whose body references a
|
|
109
|
-
// parent PR by number AND carries review-shaped labels is itself
|
|
110
|
-
// likely a follow-up-of-a-follow-up. The regex is intentionally loose
|
|
111
|
-
// (Vorgänger-PR / Vorgaenger-PR / `parent PR` / Parent-PR, optional
|
|
112
|
-
// punctuation) so common author variants all match.
|
|
113
|
-
const PARENT_PR_REGEX = /(?:Vorg(?:ä|ae)nger-PR|parent[\s-]+PR)\s*[:#-]?\s*#?\d+/i;
|
|
114
15
|
function noop(diagnostic, stderr, partial = {}) {
|
|
115
16
|
stderr.write(`${diagnostic}\n`);
|
|
116
|
-
return {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
logPath: null,
|
|
123
|
-
diagnostic,
|
|
124
|
-
...partial,
|
|
125
|
-
};
|
|
17
|
+
return { exitCode: 0, matched: false, matchedRule: "none", logged: false, secondOrder: false, logPath: null, diagnostic, ...partial };
|
|
18
|
+
}
|
|
19
|
+
function objectValue(input, key) {
|
|
20
|
+
return typeof input === "object" && input !== null && !Array.isArray(input)
|
|
21
|
+
? input[key]
|
|
22
|
+
: undefined;
|
|
126
23
|
}
|
|
127
24
|
function extractLabels(toolInput) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
Array.isArray(toolInput)) {
|
|
131
|
-
return [];
|
|
132
|
-
}
|
|
133
|
-
const labels = toolInput["labels"];
|
|
134
|
-
if (!Array.isArray(labels))
|
|
135
|
-
return [];
|
|
136
|
-
return labels.filter((v) => typeof v === "string");
|
|
25
|
+
const labels = objectValue(toolInput, "labels");
|
|
26
|
+
return Array.isArray(labels) ? labels.filter((value) => typeof value === "string") : [];
|
|
137
27
|
}
|
|
138
28
|
function extractDescription(toolInput) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
Array.isArray(toolInput)) {
|
|
142
|
-
return "";
|
|
143
|
-
}
|
|
144
|
-
const d = toolInput["description"];
|
|
145
|
-
return typeof d === "string" ? d : "";
|
|
29
|
+
const description = objectValue(toolInput, "description");
|
|
30
|
+
return typeof description === "string" ? description : "";
|
|
146
31
|
}
|
|
147
32
|
function extractTitle(toolInput) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
Array.isArray(toolInput)) {
|
|
151
|
-
return null;
|
|
152
|
-
}
|
|
153
|
-
const t = toolInput["title"];
|
|
154
|
-
return typeof t === "string" && t.length > 0 ? t : null;
|
|
33
|
+
const title = objectValue(toolInput, "title");
|
|
34
|
+
return typeof title === "string" && title.length > 0 ? title : null;
|
|
155
35
|
}
|
|
156
|
-
// Pull a taskId out of either the (resolved) tool input — tool_input,
|
|
157
|
-
// with the raw_input Codex-shim fallback already applied by the caller
|
|
158
|
-
// — for tasks_update, or the tool_response (the typical create-call
|
|
159
|
-
// shape, where the task UUID is only known after the server
|
|
160
|
-
// roundtrip). Returns null when neither surface carries one.
|
|
161
|
-
//
|
|
162
|
-
// `toolResponse` is read as-is, NOT resolved through the tool_input/
|
|
163
|
-
// raw_input fallback: `tool_response` is a Claude Code convention (the
|
|
164
|
-
// MCP call's return value) that the Codex PostToolUse envelope may not
|
|
165
|
-
// carry at all (see `docs/policy-packs/understanding-before-execution.md`
|
|
166
|
-
// "Adapter notes / Codex" — the documented Codex envelope names
|
|
167
|
-
// `tool_response` nowhere). Folding it into the same resolution as the
|
|
168
|
-
// tool_input/raw_input synonym pair would be wrong: a Codex event
|
|
169
|
-
// simply has no equivalent field, so this half of the fallback
|
|
170
|
-
// correctly stays a no-op there rather than being widened to "resolve
|
|
171
|
-
// from something else".
|
|
172
36
|
function extractTaskId(toolInput, toolResponse) {
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return typeof tid === "string" && tid.length > 0 ? tid : null;
|
|
181
|
-
})();
|
|
182
|
-
if (fromInput !== null)
|
|
183
|
-
return fromInput;
|
|
184
|
-
if (typeof toolResponse !== "object" ||
|
|
185
|
-
toolResponse === null ||
|
|
186
|
-
Array.isArray(toolResponse)) {
|
|
187
|
-
return null;
|
|
188
|
-
}
|
|
189
|
-
const respObj = toolResponse;
|
|
190
|
-
// The server response wraps the task under `task` for task_create and
|
|
191
|
-
// task_finish, but at the top level for some bulk verbs. Probe both
|
|
192
|
-
// shapes; fall back to null on miss.
|
|
193
|
-
const wrapped = respObj["task"];
|
|
194
|
-
if (typeof wrapped === "object" &&
|
|
195
|
-
wrapped !== null &&
|
|
196
|
-
!Array.isArray(wrapped)) {
|
|
197
|
-
const tid = wrapped["id"];
|
|
198
|
-
if (typeof tid === "string" && tid.length > 0)
|
|
199
|
-
return tid;
|
|
200
|
-
}
|
|
201
|
-
const directId = respObj["id"];
|
|
37
|
+
const taskId = objectValue(toolInput, "taskId");
|
|
38
|
+
if (typeof taskId === "string" && taskId.length > 0)
|
|
39
|
+
return taskId;
|
|
40
|
+
const wrappedId = objectValue(objectValue(toolResponse, "task"), "id");
|
|
41
|
+
if (typeof wrappedId === "string" && wrappedId.length > 0)
|
|
42
|
+
return wrappedId;
|
|
43
|
+
const directId = objectValue(toolResponse, "id");
|
|
202
44
|
return typeof directId === "string" && directId.length > 0 ? directId : null;
|
|
203
45
|
}
|
|
204
|
-
function hintergrundReviewMatch(description) {
|
|
205
|
-
const idx = description.indexOf("## Hintergrund");
|
|
206
|
-
if (idx === -1)
|
|
207
|
-
return false;
|
|
208
|
-
const window = description.slice(idx, idx + HINTERGRUND_REVIEW_WINDOW);
|
|
209
|
-
return /Review/i.test(window);
|
|
210
|
-
}
|
|
211
|
-
export function evaluateMatch(labels, description) {
|
|
212
|
-
const labelMatch = labels.some((l) => LABEL_REVIEW_REGEX.test(l));
|
|
213
|
-
const explicitMarker = DESCRIPTION_MARKERS.some((m) => description.includes(m));
|
|
214
|
-
const hintergrundMarker = !explicitMarker && hintergrundReviewMatch(description);
|
|
215
|
-
let matchedRule = "none";
|
|
216
|
-
if (labelMatch)
|
|
217
|
-
matchedRule = "label";
|
|
218
|
-
else if (explicitMarker)
|
|
219
|
-
matchedRule = "explicit-marker";
|
|
220
|
-
else if (hintergrundMarker)
|
|
221
|
-
matchedRule = "hintergrund-marker";
|
|
222
|
-
const matched = matchedRule !== "none";
|
|
223
|
-
const secondOrder = labelMatch && PARENT_PR_REGEX.test(description);
|
|
224
|
-
return { matched, matchedRule, secondOrder };
|
|
225
|
-
}
|
|
226
46
|
function resolveLogPath(opts, env) {
|
|
227
|
-
if (typeof opts.logPath === "string" && opts.logPath.length > 0)
|
|
47
|
+
if (typeof opts.logPath === "string" && opts.logPath.length > 0)
|
|
228
48
|
return opts.logPath;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
const home = resolveHomeDir(opts.homeDir !== undefined ? { homeDir: opts.homeDir } : {});
|
|
49
|
+
const configured = env[STAY_IN_SCOPE_LOG_ENV];
|
|
50
|
+
if (typeof configured === "string" && configured.length > 0)
|
|
51
|
+
return configured;
|
|
52
|
+
const home = resolveHomeDir(opts.homeDir === undefined ? {} : { homeDir: opts.homeDir });
|
|
235
53
|
return path.join(home.path, REMINDERS_SUBDIR, STAY_IN_SCOPE_LOG_BASENAME);
|
|
236
54
|
}
|
|
237
55
|
function appendAuditRow(logPath, record) {
|
|
@@ -240,99 +58,69 @@ function appendAuditRow(logPath, record) {
|
|
|
240
58
|
fs.appendFileSync(logPath, `${JSON.stringify(record)}\n`, "utf8");
|
|
241
59
|
return { ok: true };
|
|
242
60
|
}
|
|
243
|
-
catch (
|
|
244
|
-
return { ok: false, reason:
|
|
61
|
+
catch (error) {
|
|
62
|
+
return { ok: false, reason: error.message };
|
|
245
63
|
}
|
|
246
64
|
}
|
|
247
65
|
export async function runPackHookStayInScopeCli(opts = {}) {
|
|
248
66
|
const stdin = opts.stdin ?? process.stdin;
|
|
249
67
|
const stderr = opts.stderr ?? process.stderr;
|
|
250
68
|
const env = opts.env ?? process.env;
|
|
251
|
-
|
|
252
|
-
let event = {};
|
|
69
|
+
let event;
|
|
253
70
|
try {
|
|
254
|
-
|
|
71
|
+
const parsed = JSON.parse((await readStdin(stdin)).trim() || "{}");
|
|
72
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
73
|
+
return noop("harness pack hook stay-in-scope: malformed event JSON, skipping", stderr);
|
|
74
|
+
}
|
|
75
|
+
event = parsed;
|
|
255
76
|
}
|
|
256
77
|
catch {
|
|
257
78
|
return noop("harness pack hook stay-in-scope: malformed event JSON, skipping", stderr);
|
|
258
79
|
}
|
|
259
|
-
// Pause sentinel — operator pause silences this reminder so a debug
|
|
260
|
-
// A/B-test doesn't fan out reminder noise the operator already knows
|
|
261
|
-
// about.
|
|
262
80
|
if (checkHookPause("stay-in-scope", stderr, opts, opts.generatedDir).paused) {
|
|
263
81
|
return noop("harness paused; stay-in-scope skipping without evaluating.", stderr);
|
|
264
82
|
}
|
|
265
|
-
// Operator opt-out via env. Evaluated AFTER pause so a paused harness
|
|
266
|
-
// still announces pause (the canonical operator-state signal) instead
|
|
267
|
-
// of silently swallowing it.
|
|
268
83
|
if (env[STAY_IN_SCOPE_DISABLED_ENV] === "1") {
|
|
269
84
|
return noop(`harness pack hook stay-in-scope: ${STAY_IN_SCOPE_DISABLED_ENV}=1, skipping`, stderr);
|
|
270
85
|
}
|
|
86
|
+
let manifest;
|
|
87
|
+
try {
|
|
88
|
+
({ manifest } = loadManifestOrInjected(opts, opts.manifest));
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
return noop(`harness pack hook stay-in-scope: manifest load failed (${error.message}), skipping`, stderr);
|
|
92
|
+
}
|
|
93
|
+
const declared = manifest.policy_packs.find((pack) => pack.name === (opts.pack ?? PACK_NAME));
|
|
94
|
+
const config = declared?.enabled ? resolveStayInScopeConfig(declared.config["stay_in_scope"]) : null;
|
|
95
|
+
if (config === null) {
|
|
96
|
+
return noop("harness pack hook stay-in-scope: integration absent, disabled, or invalid, skipping", stderr);
|
|
97
|
+
}
|
|
271
98
|
const toolName = pickString(event.tool_name, event.tool) ?? "";
|
|
272
|
-
if (
|
|
99
|
+
if (!toolNameMatchesAny(toolName, config.tools)) {
|
|
273
100
|
return noop(`harness pack hook stay-in-scope: tool ${toolName || "(missing)"} not in watch list, skipping`, stderr);
|
|
274
101
|
}
|
|
275
102
|
const toolInput = resolveToolInput(event);
|
|
276
103
|
const labels = extractLabels(toolInput);
|
|
277
104
|
const description = extractDescription(toolInput);
|
|
278
|
-
const evaluation =
|
|
105
|
+
const evaluation = evaluateStayInScopeMatch(config, labels, description);
|
|
279
106
|
if (!evaluation.matched) {
|
|
280
|
-
return noop(`harness pack hook stay-in-scope: ${toolName} payload carries no
|
|
107
|
+
return noop(`harness pack hook stay-in-scope: ${toolName} payload carries no configured marker, skipping`, stderr);
|
|
281
108
|
}
|
|
282
109
|
const taskId = extractTaskId(toolInput, event.tool_response);
|
|
283
|
-
const title = extractTitle(toolInput);
|
|
284
|
-
const now = (opts.now ?? new Date()).toISOString();
|
|
285
110
|
const record = {
|
|
286
|
-
ts: now,
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
labels,
|
|
290
|
-
parentPrUrl: extractParentPrUrl(description),
|
|
291
|
-
secondOrder: evaluation.secondOrder,
|
|
292
|
-
matchedRule: evaluation.matchedRule,
|
|
111
|
+
ts: (opts.now ?? new Date()).toISOString(), taskId, title: extractTitle(toolInput), labels,
|
|
112
|
+
parentPrUrl: extractConfiguredParentUrl(config, description, evaluation.parentReference),
|
|
113
|
+
secondOrder: evaluation.secondOrder, matchedRule: evaluation.matchedRule,
|
|
293
114
|
};
|
|
294
115
|
const logPath = resolveLogPath(opts, env);
|
|
295
116
|
const appendResult = appendAuditRow(logPath, record);
|
|
296
|
-
const prefix = evaluation.secondOrder
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
const
|
|
301
|
-
? " A follow-up of a follow-up: user-memory feedback_reviewer_findings_stay_in_scope forbids this — please fold this work into the immediate parent PR."
|
|
302
|
-
: " War der Finding inline-fixbar im Parent-PR? Falls ja: task_abandon + Patch im Parent. (feedback_reviewer_findings_stay_in_scope)";
|
|
303
|
-
const stderrLine = `${prefix} follow-up created from review context${taskIdNote}.${secondOrderNote}`;
|
|
304
|
-
stderr.write(`${stderrLine}\n`);
|
|
305
|
-
const logNote = appendResult.ok
|
|
306
|
-
? `; audit appended to ${logPath}`
|
|
307
|
-
: `; audit append FAILED (${appendResult.reason})`;
|
|
117
|
+
const prefix = evaluation.secondOrder ? "[stay-in-scope: SECOND-ORDER]" : "[stay-in-scope]";
|
|
118
|
+
const taskIdNote = taskId === null ? "" : ` task=${taskId}`;
|
|
119
|
+
const configuredMessage = evaluation.secondOrder ? config.messages.secondOrder : config.messages.reminder;
|
|
120
|
+
stderr.write(`${prefix} follow-up created from review context${taskIdNote}. ${configuredMessage}\n`);
|
|
121
|
+
const logNote = appendResult.ok ? `; audit appended to ${logPath}` : `; audit append FAILED (${appendResult.reason})`;
|
|
308
122
|
const diagnostic = `harness pack hook stay-in-scope: matched=${evaluation.matchedRule} secondOrder=${evaluation.secondOrder}${logNote}`;
|
|
309
123
|
stderr.write(`${diagnostic}\n`);
|
|
310
|
-
return {
|
|
311
|
-
exitCode: 0,
|
|
312
|
-
matched: true,
|
|
313
|
-
matchedRule: evaluation.matchedRule,
|
|
314
|
-
logged: appendResult.ok,
|
|
315
|
-
secondOrder: evaluation.secondOrder,
|
|
316
|
-
logPath: appendResult.ok ? logPath : null,
|
|
317
|
-
diagnostic,
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
// Best-effort GitHub PR URL extraction from a description body. Looks
|
|
321
|
-
// for an https://github.com/<owner>/<repo>/pull/<n> URL first (most
|
|
322
|
-
// reliable), then for `(Vorg(ä|ae)nger-PR|parent[\s-]+PR) ... #<n>`
|
|
323
|
-
// shorthand which is what the German task bodies usually carry. Returns
|
|
324
|
-
// null on miss.
|
|
325
|
-
export function extractParentPrUrl(description) {
|
|
326
|
-
const fullUrl = description.match(/https?:\/\/github\.com\/[\w.-]+\/[\w.-]+\/pull\/\d+/);
|
|
327
|
-
if (fullUrl !== null)
|
|
328
|
-
return fullUrl[0];
|
|
329
|
-
// Shorthand: just the number, no repo. Return a `#<n>` token so the
|
|
330
|
-
// audit log preserves the reference even though we can't resolve it
|
|
331
|
-
// to a URL without an agent-tasks roundtrip (out of scope for v1).
|
|
332
|
-
const shorthand = description.match(/(?:Vorg(?:ä|ae)nger-PR|parent[\s-]+PR)\s*[:#-]?\s*(#?\d+)/i);
|
|
333
|
-
if (shorthand !== null && typeof shorthand[1] === "string") {
|
|
334
|
-
return shorthand[1].startsWith("#") ? shorthand[1] : `#${shorthand[1]}`;
|
|
335
|
-
}
|
|
336
|
-
return null;
|
|
124
|
+
return { exitCode: 0, matched: true, matchedRule: evaluation.matchedRule, logged: appendResult.ok, secondOrder: evaluation.secondOrder, logPath: appendResult.ok ? logPath : null, diagnostic };
|
|
337
125
|
}
|
|
338
126
|
//# sourceMappingURL=hook-stay-in-scope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-stay-in-scope.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-stay-in-scope.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"hook-stay-in-scope.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-stay-in-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare const TOOL_NAME_TASK_START = "mcp__agent-tasks__task_start";
|
|
|
4
4
|
export declare const TOOL_NAME_TASK_FINISH = "mcp__agent-tasks__task_finish";
|
|
5
5
|
export declare const TOOL_NAME_TASK_ABANDON = "mcp__agent-tasks__task_abandon";
|
|
6
6
|
export declare const TOOL_NAME_TASKS_TRANSITION = "mcp__agent-tasks__tasks_transition";
|
|
7
|
+
export declare const TOOL_NAME_TASK_MERGE = "mcp__agent-tasks__task_merge";
|
|
7
8
|
export declare const TRACK_ACTIVE_CLAIM_TOOLS: readonly string[];
|
|
8
9
|
export interface PackHookTrackActiveClaimOptions extends LoaderOptions {
|
|
9
10
|
pack?: string;
|