@dzhechkov/harness-core 0.8.34 → 0.8.36
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/.dz-manifest.json +61 -61
- package/README.md +255 -12
- package/dist/agentdb-index.d.ts +22 -1
- package/dist/agentdb-index.d.ts.map +1 -1
- package/dist/agentdb-index.js +156 -6
- package/dist/agentdb-index.js.map +1 -1
- package/dist/apply-leg.d.ts +180 -2
- package/dist/apply-leg.d.ts.map +1 -1
- package/dist/apply-leg.js +781 -38
- package/dist/apply-leg.js.map +1 -1
- package/dist/codex-hooks-assets.d.ts.map +1 -1
- package/dist/codex-hooks-assets.js +67 -5
- package/dist/codex-hooks-assets.js.map +1 -1
- package/dist/codex-hooks.d.ts +13 -1
- package/dist/codex-hooks.d.ts.map +1 -1
- package/dist/codex-hooks.js +13 -1
- package/dist/codex-hooks.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/mutation-gate.d.ts +19 -0
- package/dist/mutation-gate.d.ts.map +1 -1
- package/dist/mutation-gate.js +37 -1
- package/dist/mutation-gate.js.map +1 -1
- package/dist/operations.d.ts +17 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +88 -9
- package/dist/operations.js.map +1 -1
- package/dist/publish.d.ts +59 -7
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +205 -32
- package/dist/publish.js.map +1 -1
- package/dist/release-line.d.ts +16 -0
- package/dist/release-line.d.ts.map +1 -1
- package/dist/release-line.js +31 -0
- package/dist/release-line.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +90 -14
- package/dist/setup.js.map +1 -1
- package/dist/skills.d.ts +87 -3
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +266 -15
- package/dist/skills.js.map +1 -1
- package/dist/vector-tier.d.ts +34 -3
- package/dist/vector-tier.d.ts.map +1 -1
- package/dist/vector-tier.js +117 -22
- package/dist/vector-tier.js.map +1 -1
- package/package.json +2 -2
- package/sbom.json +60 -60
- package/src/agentdb-index.ts +158 -7
- package/src/apply-leg.ts +824 -38
- package/src/codex-hooks-assets.ts +67 -5
- package/src/codex-hooks.ts +13 -1
- package/src/index.ts +15 -2
- package/src/mutation-gate.ts +58 -2
- package/src/operations.ts +91 -10
- package/src/publish.ts +247 -30
- package/src/release-line.ts +32 -0
- package/src/setup.ts +81 -16
- package/src/skills.ts +303 -14
- package/src/vector-tier.ts +147 -24
package/dist/agentdb-index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @packageDocumentation
|
|
13
13
|
*/
|
|
14
|
-
import { existsSync, mkdirSync, copyFileSync, realpathSync } from 'node:fs';
|
|
14
|
+
import { existsSync, mkdirSync, copyFileSync, realpathSync, readFileSync, writeFileSync, renameSync, unlinkSync } from 'node:fs';
|
|
15
15
|
import { join, dirname, resolve, relative, isAbsolute, basename } from 'node:path';
|
|
16
16
|
import { pathToFileURL } from 'node:url';
|
|
17
17
|
import { createRequire } from 'node:module';
|
|
@@ -20,7 +20,7 @@ import { applyReadonlyPragmas } from './sqlite-read-helpers.js';
|
|
|
20
20
|
import { rotatePreReindexSnapshotsUnlocked } from './agentdb-snapshot-rotation.js';
|
|
21
21
|
import { snapshotSqliteDatabase, restoreSqliteSnapshot } from './agentdb-snapshot.js';
|
|
22
22
|
import { withAgentdbSnapshotLock, writeReindexMarker, clearReindexMarker, markReindexMarkerRecoveryRequired, reindexMarkerPath, msFromBackupPath } from './agentdb-reindex-marker.js';
|
|
23
|
-
import { NamedLockTimeoutError } from './named-lock.js';
|
|
23
|
+
import { NamedLockTimeoutError, withNamedLockSync } from './named-lock.js';
|
|
24
24
|
// The backlog dedup embed form (PURE, zero-dep — no cycle): dz-backlog rows must be embedded in the
|
|
25
25
|
// SAME bounded form the dedup query uses, including through the reindex path.
|
|
26
26
|
import { BACKLOG_TASK_TYPE, dedupEmbedText } from './backlog-embed.js';
|
|
@@ -95,6 +95,112 @@ export function ensureAgentdbSchema(projectRoot, dbPath) {
|
|
|
95
95
|
return { ok: false, error: `agentdb schema init failed: ${err instanceof Error ? err.message : String(err)}` };
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
+
/** `<dbFile>.generation` — a sidecar counter next to the store itself, so it travels with any copy
|
|
99
|
+
* of `.dz/agentdb.db` (backup, mirror sync) without a separate path to keep in sync. */
|
|
100
|
+
function generationFilePath(dbFile) {
|
|
101
|
+
return `${dbFile}.generation`;
|
|
102
|
+
}
|
|
103
|
+
/** AM-5 (fix-round): the ONLY shape {@link readStoreGeneration} trusts — one or more ASCII digits,
|
|
104
|
+
* nothing else. `Number.parseInt` alone accepts a leading-numeric-with-trailing-junk string like
|
|
105
|
+
* `"12junk"` as `12`; that reads a corrupt sidecar as a plausible generation instead of degrading to
|
|
106
|
+
* the documented `0` compatibility floor. */
|
|
107
|
+
const STRICT_GENERATION = /^\d+$/;
|
|
108
|
+
/**
|
|
109
|
+
* FR-2/FR-3 (`store-generation-counter`): the store's write-generation counter, read back. A
|
|
110
|
+
* missing file (a store that predates this feature, or one that has never been written through
|
|
111
|
+
* {@link bumpStoreGeneration}) reads as `0` — the compatibility floor {@link getOrOpenEngine}'s
|
|
112
|
+
* caller compares against, never an error. A corrupt/non-numeric file degrades the same way (best
|
|
113
|
+
* effort — a bad counter must never crash a read path), never a throw. AM-5: the content must match
|
|
114
|
+
* {@link STRICT_GENERATION} exactly — `Number.parseInt`'s leading-digits-only tolerance is NOT used
|
|
115
|
+
* to decide validity, only to convert an already-validated string.
|
|
116
|
+
*/
|
|
117
|
+
export function readStoreGeneration(projectRoot, dbPath) {
|
|
118
|
+
try {
|
|
119
|
+
const raw = readFileSync(generationFilePath(resolveAgentdbPath(projectRoot, dbPath)), 'utf8').trim();
|
|
120
|
+
if (!STRICT_GENERATION.test(raw))
|
|
121
|
+
return 0;
|
|
122
|
+
const n = Number.parseInt(raw, 10);
|
|
123
|
+
return Number.isFinite(n) && n >= 0 ? n : 0;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return 0;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* FR-1 (`store-generation-counter`): monotonically advance the store's write-generation counter by
|
|
131
|
+
* one (absent file ⇒ starts at 1), atomically (tmp + rename — the same durability discipline every
|
|
132
|
+
* other sidecar file in this module uses; a reader can never observe a half-written counter) AND
|
|
133
|
+
* under mutual exclusion (AM-2, fix-round after Codex review). A bare read→compute→rename with no
|
|
134
|
+
* lock lets two concurrent writers both read the same current value and both publish `current+1` —
|
|
135
|
+
* one bump is lost — or lets a DELAYED writer overwrite a later value with an earlier one (the
|
|
136
|
+
* counter briefly goes backwards on disk). `withNamedLockSync` (`named-lock.ts`, the repo's
|
|
137
|
+
* advisory lock for a read-modify-write file store — `.claude/rules/cross-runtime-concurrency.md`)
|
|
138
|
+
* serializes the critical section; the counter is RE-READ from disk *inside* the lock (never trusted
|
|
139
|
+
* from before acquisition), so the sequence every process observes is strictly monotonic
|
|
140
|
+
* (`agentdb-reindex-marker.ts`'s `withAgentdbSnapshotLock` is the precedent this mirrors — a lock
|
|
141
|
+
* addressed by `dirname(dbFile)`, a pure function of the store's own directory, never of
|
|
142
|
+
* `process.cwd()`).
|
|
143
|
+
*
|
|
144
|
+
* NEVER throws (FR-4): a write failure (read-only `.dz`, a full disk, a permissions error, an
|
|
145
|
+
* unresolvable path, OR a lock that could not be acquired by its deadline) is reported honestly as
|
|
146
|
+
* `{ok:false, error}` so the caller can log it — the store write it accompanies must stay successful
|
|
147
|
+
* regardless, telemetry is never a gate. AM-4: {@link resolveAgentdbPath} itself now runs INSIDE this
|
|
148
|
+
* function's outer `try` — an unresolvable path can no longer throw OUT of `bumpStoreGeneration`
|
|
149
|
+
* either; "never throws" now covers the whole function, not just the file-write tail.
|
|
150
|
+
*/
|
|
151
|
+
/** Codex round-2 (NEW HIGH): most mutators discard the bump result, so a failed bump must be
|
|
152
|
+
* VISIBLE on its own — one stderr line, written by the helper itself. Telemetry never throws. */
|
|
153
|
+
function reportBumpFailure(error) {
|
|
154
|
+
try {
|
|
155
|
+
process.stderr.write(`dz: store generation not bumped — ${error}\n`);
|
|
156
|
+
}
|
|
157
|
+
catch { /* telemetry never throws */ }
|
|
158
|
+
return { ok: false, error };
|
|
159
|
+
}
|
|
160
|
+
export function bumpStoreGeneration(projectRoot, dbPath) {
|
|
161
|
+
try {
|
|
162
|
+
const dbFile = resolveAgentdbPath(projectRoot, dbPath);
|
|
163
|
+
const genFile = generationFilePath(dbFile);
|
|
164
|
+
return withNamedLockSync(dirname(dbFile), 'store-generation', () => {
|
|
165
|
+
// AM-2: re-read the CURRENT value from disk while holding the lock — a value observed before
|
|
166
|
+
// acquisition may already be stale, another holder may have advanced it in the meantime.
|
|
167
|
+
let current = readStoreGeneration(projectRoot, dbPath);
|
|
168
|
+
const tmp = `${genFile}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
169
|
+
try {
|
|
170
|
+
// Codex round-2 (AM-2 residual): a sidecar that EXISTS but is corrupt reads as 0 and would
|
|
171
|
+
// reset the counter to 1 — a value an engine-cache entry may already be keyed on. Floor a
|
|
172
|
+
// corrupt value at a wall-clock stamp instead: still monotonic (ms since epoch exceeds any
|
|
173
|
+
// count reached by bumping) and never colliding with an earlier generation. Absent file ⇒ 1.
|
|
174
|
+
if (current === 0 && existsSync(genFile)) {
|
|
175
|
+
const raw = readFileSync(genFile, 'utf8').trim();
|
|
176
|
+
if (raw !== '0' && !STRICT_GENERATION.test(raw))
|
|
177
|
+
current = Date.now();
|
|
178
|
+
}
|
|
179
|
+
const next = current + 1;
|
|
180
|
+
mkdirSync(dirname(genFile), { recursive: true });
|
|
181
|
+
writeFileSync(tmp, String(next), { encoding: 'utf8', flag: 'wx' });
|
|
182
|
+
renameSync(tmp, genFile);
|
|
183
|
+
return { ok: true, generation: next };
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
// Best-effort cleanup of a half-written temp file (e.g. rename failed after a successful
|
|
187
|
+
// write) so it never lingers as clutter — never lets a cleanup failure mask the real error.
|
|
188
|
+
try {
|
|
189
|
+
if (existsSync(tmp))
|
|
190
|
+
unlinkSync(tmp);
|
|
191
|
+
}
|
|
192
|
+
catch { /* best-effort only */ }
|
|
193
|
+
return reportBumpFailure(`store generation bump failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
// AM-2/FR-4: a lock that could not be acquired by its deadline (`NamedLockTimeoutError`) — and
|
|
199
|
+
// any other failure reaching this point (an unresolvable path, AM-4) — degrades to the same
|
|
200
|
+
// honest `{ok:false, error}` shape; it never throws into the store write it accompanies.
|
|
201
|
+
return reportBumpFailure(`store generation bump failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
98
204
|
/**
|
|
99
205
|
* Index `rows` into the shared AgentDB vector store. Returns `{indexed:0}` for an empty input and
|
|
100
206
|
* `{indexed:0, error}` when `agentdb`/`better-sqlite3` cannot be resolved from the project.
|
|
@@ -167,8 +273,19 @@ export async function indexPatternsToAgentdb(projectRoot, rows, opts = {}) {
|
|
|
167
273
|
return prepared.length;
|
|
168
274
|
});
|
|
169
275
|
const indexed = commit();
|
|
276
|
+
// AM-3 (fix-round): bump the generation IMMEDIATELY after the commit — BEFORE
|
|
277
|
+
// `writeEmbedManifest` — not after it. The store already changed on disk the instant `commit()`
|
|
278
|
+
// returned; if the manifest write throws (a jammed manifest path, a full disk), the OLD order
|
|
279
|
+
// left the DB changed with no generation ever published — a stale-cache read would then serve
|
|
280
|
+
// an engine that never saw this write, with no signal anywhere that anything went wrong. Moving
|
|
281
|
+
// the bump here makes "the store changed" and "the generation reflects it" atomic in effect:
|
|
282
|
+
// whichever of the two calls below throws, the generation is already correct for the rows that
|
|
283
|
+
// are already on disk.
|
|
284
|
+
const bump = bumpStoreGeneration(projectRoot, opts.dbPath);
|
|
170
285
|
writeEmbedManifest(dbFile, currentEmbedManifest(model, guard.manifest.version, 'agentdb'));
|
|
171
|
-
return
|
|
286
|
+
return bump.ok
|
|
287
|
+
? { indexed, generationBumped: true }
|
|
288
|
+
: { indexed, generationBumped: false, generationReason: bump.error };
|
|
172
289
|
}
|
|
173
290
|
finally {
|
|
174
291
|
db.close();
|
|
@@ -614,6 +731,12 @@ export async function importVectorsToAgentdb(projectRoot, rows, opts = {}) {
|
|
|
614
731
|
return imported;
|
|
615
732
|
});
|
|
616
733
|
const imported = commit();
|
|
734
|
+
// AM-1 (fix-round): `importVectorsToAgentdb` is the write-half of `dz vector import` — it
|
|
735
|
+
// changes `pattern_embeddings`/`reasoning_patterns` exactly like `indexPatternsToAgentdb`, so
|
|
736
|
+
// it must bump the SAME counter (the whole point of a single "did the store change" signal is
|
|
737
|
+
// that every writer feeds it, not just one). Ordered before `writeEmbedManifest`, same AM-3
|
|
738
|
+
// rationale: the rows are already on disk by the time `commit()` returns.
|
|
739
|
+
bumpStoreGeneration(projectRoot, opts.dbPath);
|
|
617
740
|
writeEmbedManifest(dbFile, currentEmbedManifest(model, guard.manifest.version, 'agentdb'));
|
|
618
741
|
return { imported };
|
|
619
742
|
}
|
|
@@ -659,7 +782,15 @@ export function clearAgentdbQuarantine(projectRoot, dzIds, opts = {}) {
|
|
|
659
782
|
}
|
|
660
783
|
return cleared;
|
|
661
784
|
});
|
|
662
|
-
|
|
785
|
+
const cleared = tx();
|
|
786
|
+
// AM-1 (fix-round): a quarantine clear mutates `metadata` on rows the hook daemon reads
|
|
787
|
+
// straight from this mirror (see the doc comment above) — it changes what a query returns, so
|
|
788
|
+
// it must bump too, exactly like every other mutator. Only when something actually changed
|
|
789
|
+
// (`cleared > 0`) — same "no write, no bump" discipline as `indexPatternsToAgentdb`'s
|
|
790
|
+
// empty-rows case (AC-2).
|
|
791
|
+
if (cleared > 0)
|
|
792
|
+
bumpStoreGeneration(projectRoot, opts.dbPath);
|
|
793
|
+
return { cleared };
|
|
663
794
|
}
|
|
664
795
|
finally {
|
|
665
796
|
db.close();
|
|
@@ -713,7 +844,12 @@ export function deleteAgentdbByDzIds(projectRoot, dzIds, opts = {}) {
|
|
|
713
844
|
}
|
|
714
845
|
return deleted;
|
|
715
846
|
});
|
|
716
|
-
|
|
847
|
+
const deleted = tx();
|
|
848
|
+
// AM-1 (fix-round): a DELETE removes rows from a query's result set exactly as surely as an
|
|
849
|
+
// INSERT adds them — it must bump too. Only when rows actually left the store (`deleted > 0`).
|
|
850
|
+
if (deleted > 0)
|
|
851
|
+
bumpStoreGeneration(projectRoot, opts.dbPath);
|
|
852
|
+
return { deleted };
|
|
717
853
|
}
|
|
718
854
|
finally {
|
|
719
855
|
db.close();
|
|
@@ -756,7 +892,14 @@ export function bumpAgentdbUses(projectRoot, dzIds, opts = {}) {
|
|
|
756
892
|
}
|
|
757
893
|
return bumped;
|
|
758
894
|
});
|
|
759
|
-
|
|
895
|
+
const bumped = tx();
|
|
896
|
+
// AM-1 (fix-round): `uses`/`avg_reward` feed reward-weighted ranking — a change here is a real
|
|
897
|
+
// store mutation, so it bumps the SAME counter (deliberately NOT named `bump` — that identifier
|
|
898
|
+
// is this function's own return value; the counter helper is called by its full name below to
|
|
899
|
+
// avoid the collision). Only when a row actually changed (`bumped > 0`).
|
|
900
|
+
if (bumped > 0)
|
|
901
|
+
bumpStoreGeneration(projectRoot, opts.dbPath);
|
|
902
|
+
return { bumped };
|
|
760
903
|
}
|
|
761
904
|
finally {
|
|
762
905
|
db.close();
|
|
@@ -1004,6 +1147,13 @@ export async function reindexAgentdbRows(projectRoot, rows, opts = {}) {
|
|
|
1004
1147
|
throw err;
|
|
1005
1148
|
snapshots = { kept: [], removed: [], removedBytes: 0, keep: keepSnapshots, errors: [`lock busy: ${err.message}`] };
|
|
1006
1149
|
}
|
|
1150
|
+
// AM-1 (fix-round): `reindexAgentdbRows` is itself a mutator (the DELETE above rebuilds the
|
|
1151
|
+
// owned task types) — it must not rely SOLELY on `indexPatternsToAgentdb`'s own internal bump,
|
|
1152
|
+
// because that call is a no-op (and bumps nothing) when `rows` is empty, yet the DELETE it ran
|
|
1153
|
+
// just above unconditionally changed the store. Bumping again here when `rows` was non-empty
|
|
1154
|
+
// (the common case, already bumped once inside `indexPatternsToAgentdb`) is harmless — the
|
|
1155
|
+
// counter is a monotonic "did anything change" signal, not a per-operation tally.
|
|
1156
|
+
bumpStoreGeneration(projectRoot, opts.dbPath);
|
|
1007
1157
|
return {
|
|
1008
1158
|
reembedded: indexed.indexed,
|
|
1009
1159
|
model: model.model,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentdb-index.js","sourceRoot":"","sources":["../src/agentdb-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentdb-index.js","sourceRoot":"","sources":["../src/agentdb-index.ts"],"names":[],"mappings":"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"}
|
package/dist/apply-leg.d.ts
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
*
|
|
27
27
|
* @packageDocumentation
|
|
28
28
|
*/
|
|
29
|
+
import { type RemovePatternsResult } from './patterns.js';
|
|
29
30
|
/**
|
|
30
31
|
* FR-6 (feature `hook-recall-hybrid-parity`, ADR-001 C-4): send ONE `op: recall` probe to a LIVE
|
|
31
32
|
* embed daemon socket and report the `engine` it answers with (`'hybrid'` | `'cosine-fallback'`) —
|
|
@@ -85,8 +86,52 @@ export declare function probeRecallEngine(socketPath: string, timeoutMs?: number
|
|
|
85
86
|
* fallback rather than a bare protocol error (AM-3); (d) reports the RAW core RRF score, unchanged,
|
|
86
87
|
* instead of a locally re-normalized [0,1] value (AM-5) — the hook's own `HOOK_SCORE_FLOOR` default
|
|
87
88
|
* moved from `0.01` to `0.005` to match (see that constant's own comment for the measurement).
|
|
89
|
+
*
|
|
90
|
+
* Bumped 6→7 (feature `apply-leg-install-root`, ADR-001 D1): both generated files now resolve
|
|
91
|
+
* `PROJECT` install-root-first (`INSTALL_ROOT` = this file's own location, when it owns a `.dz/`)
|
|
92
|
+
* instead of trusting a foreign session's `CLAUDE_PROJECT_DIR`/cwd (issue #2) — the hook's own
|
|
93
|
+
* `[dz-recall]` diagnostic line also gains `root=<path> (install|env|cwd)`.
|
|
94
|
+
*
|
|
95
|
+
* Bumped 7→8 (`apply-leg-install-root`, fix round 1, AM-7 HIGH — real regression MEASURED via
|
|
96
|
+
* `retro-debt-hook.test.ts` going 4/5 red on the v7 hub helper): `PROJECT` install-root-first is
|
|
97
|
+
* correct for the STORE (pattern db, socket, daemon script) but WRONG for a per-session artifact —
|
|
98
|
+
* the narrated-error retro-debt sentinel (`retro-pending.json`) is written by the INVOKING
|
|
99
|
+
* SESSION's own Stop hook under `CLAUDE_PROJECT_DIR`, not under wherever the hook happens to be
|
|
100
|
+
* installed; a shared $HOME install made the hook look for a foreign session's sentinel under the
|
|
101
|
+
* install root and silently drop every session's own debt confrontation. Split: `PROJECT` (install-
|
|
102
|
+
* root-first) stays the STORE root; a new `SESSION_ROOT` (`CLAUDE_PROJECT_DIR || cwd()`, the
|
|
103
|
+
* pre-feature resolution, unchanged) is the root for `RETRO_PENDING` — the ONE per-session file this
|
|
104
|
+
* hook reads (every other `PROJECT`-derived path in this file names the store, the daemon, or the
|
|
105
|
+
* harness-core install, confirmed by grep against every `path.join(PROJECT, …)` site). The diag line
|
|
106
|
+
* gains `session=<path>` alongside the existing `root=<path> (…)`.
|
|
107
|
+
*
|
|
108
|
+
* Bumped 8→9 (feature `apply-leg-never-silent`, ADR-001 D2, FR-1): every early return in `main()`
|
|
109
|
+
* now prints `[dz-recall] skipped reason=<store-not-found|socket-absent|core-unavailable|
|
|
110
|
+
* empty-prompt|no-hits> root=<path> (…) session=<path>` on stderr before returning — the hook used
|
|
111
|
+
* to exit silently on every one of these paths, indistinguishable (from stderr alone) from a
|
|
112
|
+
* correctly-quiet "nothing relevant" outcome. `embedDaemonSource`'s own bytes are UNCHANGED by this
|
|
113
|
+
* bump; the shared version number still advances because both helpers are upgraded as one unit by
|
|
114
|
+
* `dz setup`/`applyLegStatus`.
|
|
115
|
+
*
|
|
116
|
+
* Bumped 9→10 (`apply-leg-never-silent`, fix round 1 — cross-model review AM-3/AM-6): (a) the hook
|
|
117
|
+
* now tags its `op: recall` request with `probe: <bool>` (true only when
|
|
118
|
+
* `DZ_HOOK_LIVENESS_PROBE=1`, the env {@link "./operations.js".probeHookLiveness} already stamps on
|
|
119
|
+
* every live-probe spawn) so the daemon can tell a genuine session prompt apart from
|
|
120
|
+
* `probeApplyLeg`'s own beacon query — AM-3: a beacon written for the ~8s of a doctor/parity probe
|
|
121
|
+
* used to be recallable by ANY concurrent real prompt in the SAME project, a probe-only fixture
|
|
122
|
+
* leaking into a real session's context; (b) `askDaemon`'s every failure path used to collapse into
|
|
123
|
+
* one `undefined`, forcing the hook's own `skip('socket-absent')` call regardless of what actually
|
|
124
|
+
* went wrong — AM-6: it now returns a tagged `{error: 'socket-absent'|'connect-refused'|
|
|
125
|
+
* 'daemon-timeout'|'bad-reply'}` so the stderr reason names the ACTUAL failure (no socket file vs a
|
|
126
|
+
* non-socket file at that path vs a listener that never replies vs a listener that replies with
|
|
127
|
+
* something unparseable/shapeless). `embedDaemonSource`'s bytes also change for AM-3: `loadPatterns`
|
|
128
|
+
* now reads each row's `domain` out of the SAME metadata JSON `dzIdOf`/`quarantinedOf` already
|
|
129
|
+
* parse (the vector mirror carries no separate domain column), and both `hybridRecall`'s hits and
|
|
130
|
+
* the cosine-fallback `scored` array are filtered to exclude `domain === 'apply-leg-probe'` unless
|
|
131
|
+
* the request carried `probe: true` — a probe's own beacon still needs to reach ITS query, only a
|
|
132
|
+
* REAL prompt must never see it.
|
|
88
133
|
*/
|
|
89
|
-
export declare const APPLY_LEG_VERSION =
|
|
134
|
+
export declare const APPLY_LEG_VERSION = 10;
|
|
90
135
|
/**
|
|
91
136
|
* Parse the `dz-apply-leg-version` stamp from a deployed helper file. Unlike
|
|
92
137
|
* `writerVersionOf` (which floors an absent stamp at `0`), this returns `-1` for "no stamp at
|
|
@@ -185,8 +230,35 @@ export interface ApplyLegHookEntry {
|
|
|
185
230
|
* the recall hook is invoked with a swallowed non-zero exit (`|| true`) so a broken hook body never
|
|
186
231
|
* fails a prompt, and the embed daemon is spawned detached via `nohup` + a backgrounding `sh -c`
|
|
187
232
|
* so `SessionStart` never waits on model load.
|
|
233
|
+
*
|
|
234
|
+
* `installRoot` (ADR-001 D2, feature `apply-leg-install-root`): when the caller (`dz setup`) knows
|
|
235
|
+
* its own install root, the commands bake it in as an ABSOLUTE path — the deployed helper already
|
|
236
|
+
* bakes an absolute `CORE_DIST_DIR`, so a `${CLAUDE_PROJECT_DIR:-.}`-relative command in
|
|
237
|
+
* settings.json only masked that non-portability, and broke down to `Cannot find module` (swallowed
|
|
238
|
+
* by `2>/dev/null || true`) whenever `project === $HOME` and a session's own `CLAUDE_PROJECT_DIR`
|
|
239
|
+
* pointed elsewhere (issue #2). Omitting `installRoot` (every pre-existing zero-arg caller — status
|
|
240
|
+
* fixtures, `applyLegStatus` regression tests) keeps the original `CLAUDE_PROJECT_DIR`-relative
|
|
241
|
+
* form byte for byte; `hookCommandInvokes`/`applyLegStatus` (FR-3) recognize BOTH forms as wired,
|
|
242
|
+
* and `runSetup`'s `addIfMissing` (setup.ts) REPLACES a stale form with the current one in place —
|
|
243
|
+
* never a second entry — on re-setup.
|
|
244
|
+
*
|
|
245
|
+
* Fix round 1 corrections to the absolute (`installRoot`-given) branch — the legacy zero-arg branch
|
|
246
|
+
* is UNCHANGED byte for byte:
|
|
247
|
+
* - AM-1 (HIGH): a caller-controlled path was interpolated RAW into shell source. A `"`, `$`,
|
|
248
|
+
* backtick, or `'` in `installRoot` altered or injected commands, and the SessionStart form broke
|
|
249
|
+
* outright on a `'` (it cannot be escaped inside a `'...'` body by nesting `"`). Fixed:
|
|
250
|
+
* {@link shellQuote} wraps every path; SessionStart passes them as POSITIONAL ARGS (`$1`/`$2`) to
|
|
251
|
+
* an INNER `sh -c` whose script text is a FIXED literal with no caller-controlled bytes, so
|
|
252
|
+
* nested-quote fragility cannot arise at all.
|
|
253
|
+
* - AM-3 (HIGH): the daemon used to fall back to `DZ_PROJECT_ROOT ?? installLocal`, and nothing in
|
|
254
|
+
* the SessionStart command ever SET that variable — a stale inherited `DZ_PROJECT_ROOT` in the
|
|
255
|
+
* parent env could win over the install root the hook itself resolves to. Fixed: the SessionStart
|
|
256
|
+
* command now sets `DZ_PROJECT_ROOT="$1"` (`$1` = installRoot) explicitly, so the daemon and the
|
|
257
|
+
* hook agree by construction regardless of what the parent environment happens to carry.
|
|
258
|
+
* - AM-4 (LOW): a relative `installRoot` used to produce a relative command, breaking the "every
|
|
259
|
+
* baked path is absolute" invariant the module's own docs claim. Fixed: `resolve()`s its input.
|
|
188
260
|
*/
|
|
189
|
-
export declare function applyLegHookEntries(): {
|
|
261
|
+
export declare function applyLegHookEntries(installRoot?: string): {
|
|
190
262
|
readonly userPromptSubmit: ApplyLegHookEntry;
|
|
191
263
|
readonly sessionStart: ApplyLegHookEntry;
|
|
192
264
|
};
|
|
@@ -242,6 +314,14 @@ export interface ApplyLegStatus {
|
|
|
242
314
|
* Codex, third pass). A bare mention (`echo .claude/helpers/recall-hook.cjs`) is not an invocation:
|
|
243
315
|
* the helper path must follow a `node` word — directly, or inside the daemon's
|
|
244
316
|
* `sh -c 'nohup node "…"'` spawn. Forward slashes only: every command dz writes uses them.
|
|
317
|
+
*
|
|
318
|
+
* Fix round 1 (AM-1/AM-3, apply-leg-install-root): the SessionStart command now passes its daemon
|
|
319
|
+
* path as a POSITIONAL ARG (`sh -c '… node "$2" …' sh <root> <daemonPath>`) rather than interpolating
|
|
320
|
+
* it textually next to `node`, so the ORIGINAL adjacency regex alone no longer matches it. A SECOND
|
|
321
|
+
* recognizer accepts that shape: the command invokes `node` with a `$N`-style positional argument
|
|
322
|
+
* AND carries `markerPath` as one of its own (shellQuote()d) trailing arguments — both conditions
|
|
323
|
+
* together, so a foreign command that merely echoes the marker path near an unrelated `node "$1"`
|
|
324
|
+
* invocation still does not count.
|
|
245
325
|
*/
|
|
246
326
|
export declare function hookCommandInvokes(command: string, markerPath: string): boolean;
|
|
247
327
|
/**
|
|
@@ -262,4 +342,102 @@ export declare function applyLegStatus(root: string): ApplyLegStatus;
|
|
|
262
342
|
* (pre-existing, tested) phrasing for that case before this fix round, and unifying it was not asked.
|
|
263
343
|
*/
|
|
264
344
|
export declare function applyLegReasonMessage(status: ApplyLegStatus): string;
|
|
345
|
+
/**
|
|
346
|
+
* AM-4 (fix round 1, apply-leg-never-silent): the LEGACY zero-arg form ({@link applyLegHookEntries}'s
|
|
347
|
+
* no-installRoot branch) reads `${CLAUDE_PROJECT_DIR:-.}` — a shell expansion that only resolves to
|
|
348
|
+
* something useful from a REAL session's own cwd. Spawning it from `probeApplyLeg`'s temp "foreign"
|
|
349
|
+
* cwd can never find the deployed helper by construction (the file lives at `root`'s own
|
|
350
|
+
* `.claude/helpers/`, never under the temp dir), so a probe against this form would spawn a doomed
|
|
351
|
+
* command and report a confusing generic failure — not a fact about whether the leg injects, only a
|
|
352
|
+
* fact about the fixture being unprobeable. The absolute form ({@link shellQuote}'d installRoot)
|
|
353
|
+
* never contains this literal env-expansion syntax — it bakes a resolved path instead — so a plain
|
|
354
|
+
* substring check distinguishes the two without re-parsing shell grammar.
|
|
355
|
+
*/
|
|
356
|
+
export declare function isLegacyRelativeRecallCommand(command: string): boolean;
|
|
357
|
+
/** {@link probeApplyLeg}'s result — the ONE measurement `dz doctor`'s new row and `dz parity`'s
|
|
358
|
+
* Self-learning cell both read (ADR-001 Decision 3, extended by `apply-leg-never-silent` D1): green
|
|
359
|
+
* means OBSERVED injection, never inferred file presence. */
|
|
360
|
+
export interface ApplyLegProbeResult {
|
|
361
|
+
/** True ONLY when the probe's own beacon lesson came back inside `additionalContext`. */
|
|
362
|
+
readonly ok: boolean;
|
|
363
|
+
/** Present exactly when `ok` is `false` — taken from the hook's own `[dz-recall] skipped
|
|
364
|
+
* reason=…` stderr line when present, else a best-effort description of what went wrong. */
|
|
365
|
+
readonly reason?: string;
|
|
366
|
+
readonly elapsedMs: number;
|
|
367
|
+
/** Fix round 1 (HIGH-1): the KILL-ATTEMPT fact, straight from `probeHookLiveness`'s own
|
|
368
|
+
* `groupKillAttempted` — present only on the branches that actually reached a spawn (absent for the
|
|
369
|
+
* early "not installed" / "no hook configured" / "legacy command" / "beacon write failed"
|
|
370
|
+
* returns, none of which ever call `probeHookLiveness`). This is deliberately a DIFFERENT fact
|
|
371
|
+
* from "is the grandchild still alive" — a caller observes both separately, never conflates them. */
|
|
372
|
+
readonly groupKillAttempted?: boolean;
|
|
373
|
+
/** FR-3 (feature `apply-leg-daemon-hygiene`): present exactly when the pre-probe scavenge of
|
|
374
|
+
* STALE beacon-domain records failed — the reason comes straight from {@link
|
|
375
|
+
* scavengeStaleProbeBeacons}'s own `error`, never swallowed. Independent of `ok`/`reason`: a
|
|
376
|
+
* scavenge failure does not itself flip `ok` to `false` (the probe's own injection result may
|
|
377
|
+
* still be perfectly genuine), but it IS a fact `dz doctor`/`dz parity` callers can surface
|
|
378
|
+
* rather than lose. */
|
|
379
|
+
readonly scavengeError?: string;
|
|
380
|
+
}
|
|
381
|
+
/** {@link scavengeStaleProbeBeacons}'s result — FR-3: a scavenge error is a FACT the caller can
|
|
382
|
+
* surface, never a swallowed exception (the pre-fix `catch { /* best-effort *\/ }` this replaces). */
|
|
383
|
+
export type ScavengeResult = {
|
|
384
|
+
readonly ok: true;
|
|
385
|
+
readonly removed: number;
|
|
386
|
+
} | {
|
|
387
|
+
readonly ok: false;
|
|
388
|
+
readonly error: string;
|
|
389
|
+
};
|
|
390
|
+
/**
|
|
391
|
+
* FR-3/FR-4: remove only the STALE beacon-domain records in `root`'s store — owner dead
|
|
392
|
+
* (`process.kill(pid, 0)` ⇒ ESRCH), older than `ttlMs`, OR (fix round 1, HIGH-6 residual) alive AND
|
|
393
|
+
* within `ttlMs` but the live pid's OWN `/proc/<pid>/stat` start time no longer matches the beacon's
|
|
394
|
+
* `proc-start=` tag — a confirmed PID-reuse case, where the recorded owner is provably gone even
|
|
395
|
+
* though `pid` itself answers. An UNREADABLE stat at scavenge time never counts as reuse evidence —
|
|
396
|
+
* it falls back to the plain alive+TTL verdict, per the lead's "cannot prove ⇒ do not remove"
|
|
397
|
+
* decision. A beacon whose owner is alive, within TTL, and (when provable) confirmed the SAME
|
|
398
|
+
* process is left untouched, even though it belongs to a different probe. An ownerless (pre-FR-3)
|
|
399
|
+
* beacon is always treated as stale. `ttlMs` defaults to {@link PROBE_BEACON_TTL_FLOOR_MS} for a
|
|
400
|
+
* caller that does not derive one (`apply-leg-beacon-owner.test.ts`'s own fixtures); `probeApplyLeg`
|
|
401
|
+
* always passes its own derived value. Exported so `apply-leg-beacon-owner.test.ts` can exercise the
|
|
402
|
+
* property directly, without needing a live hook/daemon (FR-4's red-first case needs only a store
|
|
403
|
+
* and an injectable remover, never a real probe round-trip).
|
|
404
|
+
*/
|
|
405
|
+
export declare function scavengeStaleProbeBeacons(root: string, removeBeacon: (root: string, ids: ReadonlySet<string>) => RemovePatternsResult, ttlMs?: number): ScavengeResult;
|
|
406
|
+
/**
|
|
407
|
+
* Live, end-to-end proof that the apply leg actually injects — ADR-001 Decision 1. `applyLegStatus`
|
|
408
|
+
* only proves FILES exist and are STRUCTURALLY wired (issue #2's whole defect: four green checks,
|
|
409
|
+
* a leg that injected nothing in every session but one). This spawns the REAL configured hook
|
|
410
|
+
* command from a TEMPORARY cwd with `CLAUDE_PROJECT_DIR` pointing at that same temp dir — the exact
|
|
411
|
+
* shape of a real Claude Code session, which never runs a hook from the project root itself — and
|
|
412
|
+
* asks it to recall a throwaway "beacon" lesson written into the store for the duration of the call.
|
|
413
|
+
* `ok: true` only when the beacon's own SECRET token (fix round 1, AM-1 — never sent as input, only
|
|
414
|
+
* stored) comes back inside `additionalContext`; every other outcome is `ok: false` with a `reason`,
|
|
415
|
+
* never a silent guess.
|
|
416
|
+
*
|
|
417
|
+
* The beacon is written via {@link recordPattern} (the SAME lexical-store seam `dz teach` uses) and
|
|
418
|
+
* removed via {@link removePatternsByIds} in a `finally` — a probe that throws, times out, or never
|
|
419
|
+
* finds the leg alive still leaves the store exactly as it found it (proven by a count-before ==
|
|
420
|
+
* count-after test, not merely claimed).
|
|
421
|
+
*
|
|
422
|
+
* `timeoutMs` bounds `probeHookLiveness`'s spawn. Measured (this environment, 2026-09-14, T1): a
|
|
423
|
+
* `store-not-found`/`socket-absent` early exit returns in well under 200 ms; a live-daemon probe
|
|
424
|
+
* answers in ~100-200 ms, matching ADR-001's own estimate. 8000 ms leaves roughly a 40x margin for a
|
|
425
|
+
* loaded daemon without ever approaching `probeHookLiveness`'s own un-overridden 20 000 ms ceiling —
|
|
426
|
+
* a genuinely dead probe still returns to `dz doctor`/`dz parity` in bounded time.
|
|
427
|
+
*
|
|
428
|
+
* `env` is a TEST-ONLY escape hatch (never used by `dz doctor`/`dz parity`, both call this with
|
|
429
|
+
* default opts): it lets a test widen the HOOK's OWN internal socket-connect timeout
|
|
430
|
+
* (`DZ_RECALL_HOOK_TIMEOUT_MS`) against a genuinely cold daemon, matching the same widening
|
|
431
|
+
* `apply-leg-recall-parity.test.ts`/`apply-leg-install-root.test.ts` already apply to the daemon's
|
|
432
|
+
* `HOOK_RECALL_BUDGET_MS`. Merged BEFORE `CLAUDE_PROJECT_DIR`, so a caller can never override the
|
|
433
|
+
* one env var this probe's own honesty depends on.
|
|
434
|
+
*/
|
|
435
|
+
export declare function probeApplyLeg(root: string, opts?: {
|
|
436
|
+
timeoutMs?: number;
|
|
437
|
+
env?: Readonly<Record<string, string>>;
|
|
438
|
+
/** TEST-ONLY seam (AM-2, fix round 1): a stand-in for {@link removePatternsByIds} so a test can
|
|
439
|
+
* force cleanup to fail WITHOUT needing to corrupt the real store mid-call. Never set by
|
|
440
|
+
* `dz doctor`/`dz parity` — both call with default opts, and the real function is the default. */
|
|
441
|
+
removeBeacon?: (root: string, ids: ReadonlySet<string>) => RemovePatternsResult;
|
|
442
|
+
}): Promise<ApplyLegProbeResult>;
|
|
265
443
|
//# sourceMappingURL=apply-leg.d.ts.map
|