@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-codex-user-prompt-submit.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-codex-user-prompt-submit.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAC3E,iEAAiE;AACjE,uEAAuE;AACvE,iEAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"hook-codex-user-prompt-submit.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-codex-user-prompt-submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,7 +114,19 @@ function adoptedEntriesPathFor(generatedDir, childSessionId) {
|
|
|
114
114
|
* missing target there would read as "nothing adopted yet", the same
|
|
115
115
|
* open the delegation and approval marker reads already close.
|
|
116
116
|
*/
|
|
117
|
-
function readAdoptedEntries(
|
|
117
|
+
function readAdoptedEntries(generatedDir, childSessionId) {
|
|
118
|
+
const ledgerDir = path.join(generatedDir, ADOPTION_LEDGER_DIRNAME);
|
|
119
|
+
let ledgerDirStat;
|
|
120
|
+
try {
|
|
121
|
+
ledgerDirStat = lstatSync(ledgerDir);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return { ok: true, ids: new Set() };
|
|
125
|
+
}
|
|
126
|
+
if (!ledgerDirStat.isDirectory()) {
|
|
127
|
+
return { ok: false, detail: `containment refusal: ${ledgerDir} is not a plain directory` };
|
|
128
|
+
}
|
|
129
|
+
const filePath = adoptedEntriesPathFor(generatedDir, childSessionId);
|
|
118
130
|
const read = readRegularFileRejectingSymlink(filePath);
|
|
119
131
|
if (read.kind === "missing")
|
|
120
132
|
return { ok: true, ids: new Set() };
|
|
@@ -147,8 +159,24 @@ function readAdoptedEntries(filePath) {
|
|
|
147
159
|
* `appendFileSync` follow it and write the adoption record through to an
|
|
148
160
|
* arbitrary target, same class of defense as the read side above.
|
|
149
161
|
*/
|
|
150
|
-
function recordAdoptedEntry(
|
|
162
|
+
function recordAdoptedEntry(generatedDir, childSessionId, entryId) {
|
|
151
163
|
try {
|
|
164
|
+
const ledgerDir = path.join(generatedDir, ADOPTION_LEDGER_DIRNAME);
|
|
165
|
+
let ledgerDirStat;
|
|
166
|
+
try {
|
|
167
|
+
ledgerDirStat = lstatSync(ledgerDir);
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
mkdirSync(ledgerDir, { recursive: true });
|
|
171
|
+
ledgerDirStat = lstatSync(ledgerDir);
|
|
172
|
+
}
|
|
173
|
+
if (!ledgerDirStat.isDirectory()) {
|
|
174
|
+
return {
|
|
175
|
+
ok: false,
|
|
176
|
+
detail: `containment refusal: ${ledgerDir} is not a plain directory`,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
const filePath = adoptedEntriesPathFor(generatedDir, childSessionId);
|
|
152
180
|
let priorStat;
|
|
153
181
|
try {
|
|
154
182
|
priorStat = lstatSync(filePath);
|
|
@@ -162,7 +190,6 @@ function recordAdoptedEntry(filePath, entryId) {
|
|
|
162
190
|
detail: `${filePath} exists and is not a regular file, refusing to append through it`,
|
|
163
191
|
};
|
|
164
192
|
}
|
|
165
|
-
mkdirSync(path.dirname(filePath), { recursive: true });
|
|
166
193
|
appendFileSync(filePath, `${entryId}\n`, { mode: 0o600 });
|
|
167
194
|
return { ok: true };
|
|
168
195
|
}
|
|
@@ -944,7 +971,7 @@ export async function runPackHookPreToolUseCli(opts = {}) {
|
|
|
944
971
|
// silently become the report's own re-mint budget instead
|
|
945
972
|
// of a one-shot authorization.
|
|
946
973
|
const adoptedPath = adoptedEntriesPathFor(generatedDir, childSessionId);
|
|
947
|
-
const adopted = readAdoptedEntries(
|
|
974
|
+
const adopted = readAdoptedEntries(generatedDir, childSessionId);
|
|
948
975
|
const entryId = `report:${contentHash}`;
|
|
949
976
|
if (!adopted.ok) {
|
|
950
977
|
// Fail closed: without the ledger we cannot tell a
|
|
@@ -961,7 +988,7 @@ export async function runPackHookPreToolUseCli(opts = {}) {
|
|
|
961
988
|
// leaves the report re-adoptable, while the reverse
|
|
962
989
|
// order would leave a persisted, mintable report behind
|
|
963
990
|
// an unrecorded adoption.
|
|
964
|
-
const recorded = recordAdoptedEntry(
|
|
991
|
+
const recorded = recordAdoptedEntry(generatedDir, childSessionId, entryId);
|
|
965
992
|
if (!recorded.ok) {
|
|
966
993
|
stderr.write(`harness pack hook: could not record the launcher-supplied report as adopted for session ${childSessionId} (${recorded.detail}); nothing was persisted\n`);
|
|
967
994
|
}
|
|
@@ -1001,7 +1028,7 @@ export async function runPackHookPreToolUseCli(opts = {}) {
|
|
|
1001
1028
|
const adoptedPath = adoptedEntriesPathFor(generatedDir, childSessionId);
|
|
1002
1029
|
const adopted = transcriptPath === null
|
|
1003
1030
|
? { ok: true, ids: new Set() }
|
|
1004
|
-
: readAdoptedEntries(
|
|
1031
|
+
: readAdoptedEntries(generatedDir, childSessionId);
|
|
1005
1032
|
if (transcriptPath === null) {
|
|
1006
1033
|
stderr.write(`harness pack hook: delegation for ${childSessionId} is valid but the payload carries no transcript_path; the child's report cannot be captured\n`);
|
|
1007
1034
|
}
|
|
@@ -1032,7 +1059,7 @@ export async function runPackHookPreToolUseCli(opts = {}) {
|
|
|
1032
1059
|
// entry re-scannable, while the reverse order would leave a
|
|
1033
1060
|
// persisted, mintable report behind an unrecorded adoption:
|
|
1034
1061
|
// exactly the replay this ledger exists to stop.
|
|
1035
|
-
const recorded = recordAdoptedEntry(
|
|
1062
|
+
const recorded = recordAdoptedEntry(generatedDir, childSessionId, scan.entryId);
|
|
1036
1063
|
if (!recorded.ok) {
|
|
1037
1064
|
stderr.write(`harness pack hook: could not record transcript entry ${scan.entryId} as adopted for session ${childSessionId} (${recorded.detail}); nothing was persisted\n`);
|
|
1038
1065
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-pre-tool-use.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-pre-tool-use.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-pre-tool-use.js","sourceRoot":"","sources":["../../../src/cli/pack/hook-pre-tool-use.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type VerdictReadOutcome } from "../../policy-packs/builtin/solution-acceptance-runtime.js";
|
|
2
|
+
import { type LockCheckResult } from "../../io/lock.js";
|
|
1
3
|
import { type Manifest } from "../../schema/index.js";
|
|
2
4
|
import { type LoaderOptions } from "../loader.js";
|
|
3
5
|
export interface PackHookSolutionAcceptanceOptions extends LoaderOptions {
|
|
@@ -25,4 +27,57 @@ export interface PackHookSolutionAcceptanceResult {
|
|
|
25
27
|
blocked: boolean;
|
|
26
28
|
diagnostic: string;
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Staleness window this hook applies when READING the attempt-lock anchor:
|
|
32
|
+
* the producer's own DOCUMENTED default, `DEFAULT_ATTEMPT_LOCK_STALE_MS`
|
|
33
|
+
* (grounding-mcp-v0.12.0 packages/grounding-mcp/src/solution-attempt-log.ts:102,
|
|
34
|
+
* `= 30_000`), the `staleMs` `acquireAttemptLock` passes straight through
|
|
35
|
+
* to `lockfile.lock(anchor, { retries: 0, realpath: false, stale:
|
|
36
|
+
* options.staleMs, ... })` (same file, lines 472-475) on every DEFAULT
|
|
37
|
+
* acquisition, pinned here as a literal rather than imported (this package
|
|
38
|
+
* has no dependency on grounding-mcp's internals). This hook applies the
|
|
39
|
+
* producer's documented default window pinned to grounding-mcp-v0.12.0; it
|
|
40
|
+
* diverges from what the producer actually enforces for a given attempt
|
|
41
|
+
* if the producer's own default changes in a later release, or if a
|
|
42
|
+
* caller of `acquireAttemptLock` overrides `staleMs` away from that
|
|
43
|
+
* default (the producer's own option is caller-settable, same file),
|
|
44
|
+
* since neither is observable from this side of the lock: an operational
|
|
45
|
+
* pin, not a mathematical guarantee, that needs re-checking on every
|
|
46
|
+
* grounding-mcp bump this pack's producer floor moves past.
|
|
47
|
+
*/
|
|
48
|
+
export declare const ATTEMPT_LOCK_STALE_MS = 30000;
|
|
49
|
+
export type NullVerdictReading = "live-attempt" | "never-evaluated" | "unreadable-marker";
|
|
50
|
+
/**
|
|
51
|
+
* WHY a present marker path yielded no verdict, carried straight from the
|
|
52
|
+
* ONE `readVerdictDetailed` observation the gate decided on, never
|
|
53
|
+
* re-derived from a second look at the path. Exactly the non-`ok`,
|
|
54
|
+
* non-`missing`, non-`invalid-id` kinds of `VerdictReadOutcome`, so the
|
|
55
|
+
* agent-facing line for reading (3) names what that read established
|
|
56
|
+
* rather than restating a disjunction by hand.
|
|
57
|
+
*/
|
|
58
|
+
export type RejectedMarkerKind = Exclude<VerdictReadOutcome["kind"], "ok" | "missing" | "invalid-id">;
|
|
59
|
+
/**
|
|
60
|
+
* Every state the null-verdict note renders a line for, as data. The note
|
|
61
|
+
* is a total function over this list (`noteStateOf` below maps each
|
|
62
|
+
* `NullVerdictInfo` onto exactly one member, and the compiler rejects a
|
|
63
|
+
* member without a line), and
|
|
64
|
+
* `tests/cli/pack-hook-solution-acceptance.test.ts` iterates it to assert
|
|
65
|
+
* the state table has a row per member. A state added to the classifier
|
|
66
|
+
* without a row therefore fails the build or the suite, instead of
|
|
67
|
+
* shipping an unpinned line to an agent.
|
|
68
|
+
*/
|
|
69
|
+
export declare const NULL_VERDICT_NOTE_STATES: readonly ["unusable-id", "never-evaluated", "marker-symlink", "marker-not-regular", "marker-unreadable", "marker-invalid-record", "live-attempt"];
|
|
70
|
+
export type NullVerdictNoteState = (typeof NULL_VERDICT_NOTE_STATES)[number];
|
|
71
|
+
/**
|
|
72
|
+
* Three-valued liveness read, never a boolean: `"live"`, `"not-live"` (no
|
|
73
|
+
* lock directory, or one past the stale window: `proper-lockfile`'s own
|
|
74
|
+
* check answers `false` for both, swallowing the absent-lock `ENOENT`
|
|
75
|
+
* inside the library), or `"unknown"` (the check threw: an unreadable
|
|
76
|
+
* directory, a symlink loop, ...). `"unknown"` must never be
|
|
77
|
+
* treated as `"not-live"` downstream: that would assert an attempt is
|
|
78
|
+
* confirmed absent when liveness simply could not be determined (see
|
|
79
|
+
* `classifyNullVerdictReading` and `nullVerdictReadingNote` below, which
|
|
80
|
+
* keep the two states distinct all the way into the agent-facing text).
|
|
81
|
+
*/
|
|
82
|
+
export type AttemptLockLiveness = LockCheckResult;
|
|
28
83
|
export declare function runPackHookSolutionAcceptanceCli(opts?: PackHookSolutionAcceptanceOptions): Promise<PackHookSolutionAcceptanceResult>;
|
|
@@ -23,13 +23,16 @@
|
|
|
23
23
|
// finish through would defeat the purpose. The block envelope always names
|
|
24
24
|
// `solution_evaluate` as the recovery path so the operator is never wedged;
|
|
25
25
|
// `harness pause` (honored first) is the operator's hard override.
|
|
26
|
+
import * as path from "node:path";
|
|
26
27
|
import { readActiveClaim, } from "../../policy-packs/builtin/understanding-before-execution-runtime.js";
|
|
27
|
-
import { DEFAULT_PUSH_BASH_RE, evaluateGate, PACK_NAME,
|
|
28
|
+
import { DEFAULT_PUSH_BASH_RE, evaluateGate, PACK_NAME, readVerdictDetailed, resolveExplicitVerdictId, resolveProtectedCompletionTools, sanitizeVerdictId, VERDICT_ID_ENV, verdictDir as resolveVerdictDir, } from "../../policy-packs/builtin/solution-acceptance-runtime.js";
|
|
29
|
+
import { renderReconnectDenyParagraph } from "../../policy-packs/builtin/solution-acceptance-reconnect.js";
|
|
28
30
|
import { resolveGeneratedDir } from "../../io/generated-dir.js";
|
|
31
|
+
import { checkFileLock } from "../../io/lock.js";
|
|
29
32
|
import { resolveGitContext } from "../../runtime/git-context.js";
|
|
30
33
|
import { renderAgentFacing } from "../../runtime/agent-facing.js";
|
|
34
|
+
import { canonicalAgentTasksVerb, DEFAULT_PROTECTED_COMPLETION_TOOLS, } from "../../runtime/task-providers/agent-tasks.js";
|
|
31
35
|
import { checkHookPause, loadManifestOrInjected, parseConfigUx, readStdin, } from "./hook-bootstrap.js";
|
|
32
|
-
const MCP_AGENT_TASKS_PREFIX = "mcp__agent-tasks__";
|
|
33
36
|
function bashCommandOf(toolInput) {
|
|
34
37
|
if (typeof toolInput !== "object" || toolInput === null)
|
|
35
38
|
return "";
|
|
@@ -43,11 +46,9 @@ function bashCommandOf(toolInput) {
|
|
|
43
46
|
* are completion actions).
|
|
44
47
|
*/
|
|
45
48
|
function completionActionLabel(toolName, toolInput, protectedVerbs) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return `agent-tasks ${verb}`;
|
|
50
|
-
return null;
|
|
49
|
+
const agentTasksVerb = canonicalAgentTasksVerb(toolName, protectedVerbs);
|
|
50
|
+
if (agentTasksVerb !== null) {
|
|
51
|
+
return `agent-tasks ${agentTasksVerb}`;
|
|
51
52
|
}
|
|
52
53
|
if (toolName === "Bash") {
|
|
53
54
|
const command = bashCommandOf(toolInput);
|
|
@@ -57,7 +58,209 @@ function completionActionLabel(toolName, toolInput, protectedVerbs) {
|
|
|
57
58
|
}
|
|
58
59
|
return null;
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Suffix of the attempt-lock ANCHOR file grounding-mcp writes beside the
|
|
63
|
+
* verdict marker, mirroring its own `LOCK_ANCHOR_SUFFIX`
|
|
64
|
+
* (grounding-mcp-v0.12.0 packages/grounding-mcp/src/solution-attempt-log.ts:209)
|
|
65
|
+
* and README table row "Attempt lock anchor" (`<verdict dir>/<id>.attempt-lock`,
|
|
66
|
+
* mode `0600`; the lock itself is the `<id>.attempt-lock.lock` directory
|
|
67
|
+
* `proper-lockfile` manages beside it, packages/grounding-mcp/README.md:42
|
|
68
|
+
* at that tag).
|
|
69
|
+
*/
|
|
70
|
+
const ATTEMPT_LOCK_ANCHOR_SUFFIX = ".attempt-lock";
|
|
71
|
+
/**
|
|
72
|
+
* Staleness window this hook applies when READING the attempt-lock anchor:
|
|
73
|
+
* the producer's own DOCUMENTED default, `DEFAULT_ATTEMPT_LOCK_STALE_MS`
|
|
74
|
+
* (grounding-mcp-v0.12.0 packages/grounding-mcp/src/solution-attempt-log.ts:102,
|
|
75
|
+
* `= 30_000`), the `staleMs` `acquireAttemptLock` passes straight through
|
|
76
|
+
* to `lockfile.lock(anchor, { retries: 0, realpath: false, stale:
|
|
77
|
+
* options.staleMs, ... })` (same file, lines 472-475) on every DEFAULT
|
|
78
|
+
* acquisition, pinned here as a literal rather than imported (this package
|
|
79
|
+
* has no dependency on grounding-mcp's internals). This hook applies the
|
|
80
|
+
* producer's documented default window pinned to grounding-mcp-v0.12.0; it
|
|
81
|
+
* diverges from what the producer actually enforces for a given attempt
|
|
82
|
+
* if the producer's own default changes in a later release, or if a
|
|
83
|
+
* caller of `acquireAttemptLock` overrides `staleMs` away from that
|
|
84
|
+
* default (the producer's own option is caller-settable, same file),
|
|
85
|
+
* since neither is observable from this side of the lock: an operational
|
|
86
|
+
* pin, not a mathematical guarantee, that needs re-checking on every
|
|
87
|
+
* grounding-mcp bump this pack's producer floor moves past.
|
|
88
|
+
*/
|
|
89
|
+
export const ATTEMPT_LOCK_STALE_MS = 30_000;
|
|
90
|
+
/**
|
|
91
|
+
* Every state the null-verdict note renders a line for, as data. The note
|
|
92
|
+
* is a total function over this list (`noteStateOf` below maps each
|
|
93
|
+
* `NullVerdictInfo` onto exactly one member, and the compiler rejects a
|
|
94
|
+
* member without a line), and
|
|
95
|
+
* `tests/cli/pack-hook-solution-acceptance.test.ts` iterates it to assert
|
|
96
|
+
* the state table has a row per member. A state added to the classifier
|
|
97
|
+
* without a row therefore fails the build or the suite, instead of
|
|
98
|
+
* shipping an unpinned line to an agent.
|
|
99
|
+
*/
|
|
100
|
+
export const NULL_VERDICT_NOTE_STATES = [
|
|
101
|
+
"unusable-id",
|
|
102
|
+
"never-evaluated",
|
|
103
|
+
"marker-symlink",
|
|
104
|
+
"marker-not-regular",
|
|
105
|
+
"marker-unreadable",
|
|
106
|
+
"marker-invalid-record",
|
|
107
|
+
"live-attempt",
|
|
108
|
+
];
|
|
109
|
+
function attemptLockAnchorPath(dir, id) {
|
|
110
|
+
return path.join(dir, `${sanitizeVerdictId(id)}${ATTEMPT_LOCK_ANCHOR_SUFFIX}`);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Read-only, three-valued liveness check: does `id`'s attempt-lock
|
|
114
|
+
* anchor's `.lock` directory exist and read as NOT stale under
|
|
115
|
+
* `ATTEMPT_LOCK_STALE_MS`? Routed through `src/io/lock.ts`'s
|
|
116
|
+
* `checkFileLock` (the designated read-only wrapper around
|
|
117
|
+
* `proper-lockfile`'s own `checkSync`, the SAME library the producer
|
|
118
|
+
* acquires the lock with), so the stale/live split is decided by the
|
|
119
|
+
* producer's own mechanism, not a reimplementation of its mtime
|
|
120
|
+
* arithmetic. `realpath: false` mirrors the producer's own
|
|
121
|
+
* `acquireAttemptLock` call (cited above): with the library default
|
|
122
|
+
* `realpath: true`, checking an anchor that was never created (the
|
|
123
|
+
* anchor is created lazily, on first acquisition, the common "never
|
|
124
|
+
* evaluated" case) would `realpath` the anchor FILE itself first and
|
|
125
|
+
* throw `ENOENT`, instead of answering the ordinary "not locked" case.
|
|
126
|
+
* Never acquires or mutates the lock; a check-only read has no cleanup
|
|
127
|
+
* to restore.
|
|
128
|
+
*
|
|
129
|
+
* PRECONDITION: `id` is already known usable. `attemptLockAnchorPath`'s
|
|
130
|
+
* only throw source is `sanitizeVerdictId`, which the caller has already
|
|
131
|
+
* passed (`readVerdictDetailed` answered something other than
|
|
132
|
+
* `invalid-id` for the same id, through the same function), so this has no
|
|
133
|
+
* catch of its own: an unreachable arm cannot be tested and cannot be
|
|
134
|
+
* killed by a mutant, which is worse than no arm at all (review finding,
|
|
135
|
+
* harness/799de976, round 6).
|
|
136
|
+
*/
|
|
137
|
+
function readAttemptLockLiveness(dir, id) {
|
|
138
|
+
return checkFileLock(attemptLockAnchorPath(dir, id), { staleMs: ATTEMPT_LOCK_STALE_MS });
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Classify WHY `gate.verdict === null` for `id`: whether the id is usable
|
|
142
|
+
* at all, and if it is, which of the three readings applies, AND the raw
|
|
143
|
+
* liveness result the classification rests
|
|
144
|
+
* on, so the deny text can name the reading it detected without ever
|
|
145
|
+
* collapsing "liveness could not be determined" into "confirmed not
|
|
146
|
+
* live" (see docs/policy-packs/solution-acceptance.md, "Reading the
|
|
147
|
+
* attempt-lock anchor to distinguish the three readings", for the
|
|
148
|
+
* record). Live-attempt takes priority over the marker-presence check: a
|
|
149
|
+
* live attempt can coexist with a stale or corrupt marker left by an
|
|
150
|
+
* earlier run for the same id, and "reconnect to the live attempt" is
|
|
151
|
+
* the actionable reading in that overlap.
|
|
152
|
+
*/
|
|
153
|
+
function classifyNullVerdictReading(dir, id, read) {
|
|
154
|
+
// The marker is NOT looked at again here. `read` is the same observation
|
|
155
|
+
// `evaluateGate` decided on, passed in: a second look can disagree with
|
|
156
|
+
// the first (a background attempt finishing between the two), and a note
|
|
157
|
+
// rendered from the later one would describe a rejection the gate never
|
|
158
|
+
// made (review finding, harness/799de976, round 6). Only the LOCK, a
|
|
159
|
+
// different subject with its own clause, is read here.
|
|
160
|
+
if (read.kind === "invalid-id")
|
|
161
|
+
return { kind: "unusable-id" };
|
|
162
|
+
const liveness = readAttemptLockLiveness(dir, id);
|
|
163
|
+
if (liveness === "live")
|
|
164
|
+
return { kind: "reading", reading: "live-attempt", liveness };
|
|
165
|
+
if (read.kind === "missing")
|
|
166
|
+
return { kind: "reading", reading: "never-evaluated", liveness };
|
|
167
|
+
// `ok` cannot reach here: the classifier runs only when the gate's own
|
|
168
|
+
// verdict is null, which for a readable, valid record it never is.
|
|
169
|
+
const markerKind = read.kind === "ok" ? "invalid-record" : read.kind;
|
|
170
|
+
return { kind: "reading", reading: "unreadable-marker", liveness, markerKind };
|
|
171
|
+
}
|
|
172
|
+
/** The one note state a classification renders, as a total mapping. */
|
|
173
|
+
function noteStateOf(info) {
|
|
174
|
+
if (info.kind === "unusable-id")
|
|
175
|
+
return "unusable-id";
|
|
176
|
+
switch (info.reading) {
|
|
177
|
+
case "live-attempt":
|
|
178
|
+
return "live-attempt";
|
|
179
|
+
case "never-evaluated":
|
|
180
|
+
return "never-evaluated";
|
|
181
|
+
case "unreadable-marker":
|
|
182
|
+
switch (info.markerKind) {
|
|
183
|
+
case "symlink":
|
|
184
|
+
return "marker-symlink";
|
|
185
|
+
case "not-regular":
|
|
186
|
+
return "marker-not-regular";
|
|
187
|
+
case "unreadable":
|
|
188
|
+
return "marker-unreadable";
|
|
189
|
+
case "invalid-record":
|
|
190
|
+
return "marker-invalid-record";
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/** The liveness clause, which names what the lock check actually said. */
|
|
195
|
+
const UNDETERMINED_LIVENESS_CLAUSE = "liveness could not be determined";
|
|
196
|
+
const NOT_LIVE_CLAUSE = "no attempt reads as currently live";
|
|
197
|
+
/**
|
|
198
|
+
* One line per note state, as a total `Record` keyed by
|
|
199
|
+
* `NULL_VERDICT_NOTE_STATES`: a state added to the list without a line
|
|
200
|
+
* here fails the build, which is what makes the list a checklist rather
|
|
201
|
+
* than a convention.
|
|
202
|
+
*
|
|
203
|
+
* Invariant across every line: it states only what the gate established,
|
|
204
|
+
* and never a cause that was not observed. The liveness clause names what
|
|
205
|
+
* the lock check said ("no attempt reads as currently live" vs "liveness
|
|
206
|
+
* could not be determined") instead of always asserting absence, and the
|
|
207
|
+
* marker lines come from the gate's OWN read of the marker, never from a
|
|
208
|
+
* second look at the path. `tests/cli/pack-hook-solution-acceptance.test.ts`
|
|
209
|
+
* pins one exact expected line per state and asserts every member of the
|
|
210
|
+
* list has a row, so a future state whose line would overstate fails there
|
|
211
|
+
* rather than reaching an agent.
|
|
212
|
+
*/
|
|
213
|
+
const NULL_VERDICT_NOTE_RENDERERS = {
|
|
214
|
+
// Nothing was read here and no liveness was established, so the note
|
|
215
|
+
// claims neither: it reports the one fact the classifier settled, names
|
|
216
|
+
// the only surface this id can have come from, and names the verb that
|
|
217
|
+
// clears it. An explicit SOLUTION_VERDICT_ID cannot reach this state:
|
|
218
|
+
// `resolveExplicitVerdictId` validates through the same
|
|
219
|
+
// `sanitizeVerdictId` and answers null for anything it rejects.
|
|
220
|
+
"unusable-id": (taskId) => `The claimed id ${JSON.stringify(taskId)} is not a usable verdict id: no verdict marker path and no attempt-lock path can be derived from it, so neither was read. Release the active claim carrying it (mcp__agent-tasks__task_abandon, or have the operator clear harness.generated/active-claim), claim the real task, then run solution_evaluate for it.`,
|
|
221
|
+
// Only the marker's absence is established, plus whatever the lock check
|
|
222
|
+
// said. Neither clause names a cause: earlier versions guessed one ("the
|
|
223
|
+
// verdict directory could not be read"), then a narrower disjunction of
|
|
224
|
+
// two, and each guess was falsified by a state that reached this branch
|
|
225
|
+
// without it (review findings, harness/799de976, rounds 4 and 5).
|
|
226
|
+
"never-evaluated": (taskId, clause) => clause === UNDETERMINED_LIVENESS_CLAUSE
|
|
227
|
+
? `No readable verdict marker for "${taskId}" and liveness could not be determined: run solution_evaluate for this id.`
|
|
228
|
+
: `No verdict marker exists for "${taskId}"; ${clause}: solution_evaluate has not (yet) been called for this id, or a prior call never got far enough to record one.`,
|
|
229
|
+
// One line per rejection kind, each naming exactly what the gate's own
|
|
230
|
+
// read established. A hand-written disjunction over the kinds was the
|
|
231
|
+
// round-6 finding: it read as a claim about the path as it is NOW, while
|
|
232
|
+
// the kinds come from the read the gate decided on.
|
|
233
|
+
"marker-symlink": (taskId, clause) => `The verdict marker path for "${taskId}" is a symlink, which this gate refuses to follow; ${clause}: replace it with a marker recorded by solution_evaluate.`,
|
|
234
|
+
"marker-not-regular": (taskId, clause) => `The verdict marker path for "${taskId}" is not a regular file; ${clause}: replace it with a marker recorded by solution_evaluate.`,
|
|
235
|
+
"marker-unreadable": (taskId, clause) => `The verdict marker for "${taskId}" could not be read; ${clause}: re-run solution_evaluate to record a fresh one.`,
|
|
236
|
+
"marker-invalid-record": (taskId, clause) => `The verdict marker for "${taskId}" was read but is not a valid verdict record; ${clause}: re-run solution_evaluate to record a fresh one.`,
|
|
237
|
+
"live-attempt": (taskId) => `A solution_evaluate attempt for "${taskId}" is still live: its attempt-lock anchor is held.`,
|
|
238
|
+
};
|
|
239
|
+
function nullVerdictReadingNote(taskId, info) {
|
|
240
|
+
const clause = info.kind === "reading" && info.liveness === "unknown"
|
|
241
|
+
? UNDETERMINED_LIVENESS_CLAUSE
|
|
242
|
+
: NOT_LIVE_CLAUSE;
|
|
243
|
+
return NULL_VERDICT_NOTE_RENDERERS[noteStateOf(info)](taskId, clause);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Reconnect-vs-retry guidance appended to the default deny text only for
|
|
247
|
+
* reading (2), "an attempt is live" (`classifyNullVerdictReading` above
|
|
248
|
+
* returned `reading: "live-attempt"`): the paragraph is rendered from
|
|
249
|
+
* `solution-acceptance-reconnect.ts`, the SAME fact source the pack's
|
|
250
|
+
* `instructions.md` "Reconnecting vs. retrying" section renders from, so
|
|
251
|
+
* the two surfaces cannot silently drift apart. Readings (1)
|
|
252
|
+
* (never-evaluated) and (3) (unreadable-marker) instead get their own
|
|
253
|
+
* short `nullVerdictReadingNote` line, with no reconnect paragraph: there
|
|
254
|
+
* is no live attempt to reconnect to. See
|
|
255
|
+
* docs/policy-packs/solution-acceptance.md, "Reading the attempt-lock
|
|
256
|
+
* anchor to distinguish the three readings", for the decision record.
|
|
257
|
+
*/
|
|
258
|
+
function reconnectGuidanceFor(taskId, info) {
|
|
259
|
+
if (info === null || info.kind !== "reading" || info.reading !== "live-attempt")
|
|
260
|
+
return "";
|
|
261
|
+
return renderReconnectDenyParagraph(taskId);
|
|
262
|
+
}
|
|
263
|
+
function blockJson(actionLabel, toolName, taskId, detail, ux, sessionId, nullVerdict = null) {
|
|
61
264
|
let reasonText;
|
|
62
265
|
if (ux) {
|
|
63
266
|
reasonText = renderAgentFacing(ux, {
|
|
@@ -68,11 +271,13 @@ function blockJson(actionLabel, toolName, taskId, detail, ux, sessionId) {
|
|
|
68
271
|
else {
|
|
69
272
|
reasonText =
|
|
70
273
|
`solution-acceptance: refusing ${actionLabel} (${toolName}). ${detail}\n` +
|
|
274
|
+
(nullVerdict !== null ? `${nullVerdictReadingNote(taskId, nullVerdict)}\n` : "") +
|
|
71
275
|
`Completion must be EARNED from a real preflight run at the CURRENT HEAD, not claimed.\n` +
|
|
72
276
|
`Converge in this order, all at one commit:\n` +
|
|
73
277
|
` 1. If the working tree is dirty, COMMIT first. The verdict is pinned to the HEAD it was evaluated at, so any commit you make afterward makes it stale; commit the change before evaluating so the verdict pins to the final HEAD.\n` +
|
|
74
278
|
` 2. mcp__grounding-mcp__solution_evaluate({ id: "${taskId}" }) — runs \`preflight run --json\` (lint/typecheck/test/audit/secret) and records a HEAD-pinned verdict. A clean run at the current HEAD unblocks this tool; a failing run lists the blockers to fix (then back to step 1).\n` +
|
|
75
279
|
` 3. For \`git push\` / \`gh pr merge\`: the separate preflight-before-push gate is satisfied by a preflight at the current HEAD (its \`at_head\` rule), so refresh it at this same commit with \`harness preflight\` before retrying. Satisfy both push-gates at one HEAD.\n` +
|
|
280
|
+
reconnectGuidanceFor(taskId, nullVerdict) +
|
|
76
281
|
`\n` +
|
|
77
282
|
`Operator override: \`harness pause\` (yields this and every other gate).`;
|
|
78
283
|
}
|
|
@@ -133,12 +338,7 @@ export async function runPackHookSolutionAcceptanceCli(opts = {}) {
|
|
|
133
338
|
// manifest load failure should not block unrelated tool calls. Only
|
|
134
339
|
// the completion verbs / push commands are ever gated, so classify
|
|
135
340
|
// by tool name with the DEFAULT verb set as a failsafe.
|
|
136
|
-
const label = completionActionLabel(toolName, event.tool_input,
|
|
137
|
-
"task_finish",
|
|
138
|
-
"task_submit_pr",
|
|
139
|
-
"task_merge",
|
|
140
|
-
"pull_requests_merge",
|
|
141
|
-
]);
|
|
341
|
+
const label = completionActionLabel(toolName, event.tool_input, DEFAULT_PROTECTED_COMPLETION_TOOLS);
|
|
142
342
|
if (label === null) {
|
|
143
343
|
const diagnostic = `manifest load failed (${err.message}) but ${toolName} is not a completion action; allowing`;
|
|
144
344
|
note(diagnostic);
|
|
@@ -208,7 +408,12 @@ export async function runPackHookSolutionAcceptanceCli(opts = {}) {
|
|
|
208
408
|
// production both see the same process.env, and tests inject opts.verdictDir.
|
|
209
409
|
const dir = opts.verdictDir ?? resolveVerdictDir();
|
|
210
410
|
const currentHead = resolveGitContext(cwd).sha || null;
|
|
211
|
-
|
|
411
|
+
// ONE observation of the marker, shared by the gate decision below and,
|
|
412
|
+
// when it denies, by the deny text's own classification: the text must
|
|
413
|
+
// describe the read the decision rests on, not a later, possibly
|
|
414
|
+
// different state of the same path (harness/799de976, round 6).
|
|
415
|
+
const read = readVerdictDetailed(dir, taskId);
|
|
416
|
+
const verdict = read.kind === "ok" ? read.verdict : null;
|
|
212
417
|
// generatedDir (harness's own .generated/ dir, NOT the verdict dir) holds
|
|
213
418
|
// the shared approval-signing key evaluateGate needs to verify the
|
|
214
419
|
// verdict's HMAC signature (harness/c7c3f606); undefined fails closed
|
|
@@ -234,7 +439,8 @@ export async function runPackHookSolutionAcceptanceCli(opts = {}) {
|
|
|
234
439
|
const forgedTag = gate.forged ? " [audit: forged/unsigned verdict marker rejected]" : "";
|
|
235
440
|
const diagnostic = `BLOCK — ${gate.reason}${forgedTag}`;
|
|
236
441
|
note(diagnostic);
|
|
237
|
-
|
|
442
|
+
const nullVerdict = gate.verdict === null ? classifyNullVerdictReading(dir, taskId, read) : null;
|
|
443
|
+
stdout.write(`${blockJson(actionLabel, toolName, taskId, gate.reason, configUx, sessionId, nullVerdict)}\n`);
|
|
238
444
|
return { exitCode: 0, blocked: true, diagnostic };
|
|
239
445
|
}
|
|
240
446
|
//# sourceMappingURL=hook-solution-acceptance.js.map
|