@dzhechkov/harness-core 0.8.35 → 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.
Files changed (43) hide show
  1. package/.dz-manifest.json +42 -42
  2. package/README.md +101 -3
  3. package/dist/apply-leg.d.ts +38 -0
  4. package/dist/apply-leg.d.ts.map +1 -1
  5. package/dist/apply-leg.js +263 -16
  6. package/dist/apply-leg.js.map +1 -1
  7. package/dist/codex-hooks-assets.d.ts.map +1 -1
  8. package/dist/codex-hooks-assets.js +67 -5
  9. package/dist/codex-hooks-assets.js.map +1 -1
  10. package/dist/codex-hooks.d.ts +13 -1
  11. package/dist/codex-hooks.d.ts.map +1 -1
  12. package/dist/codex-hooks.js +13 -1
  13. package/dist/codex-hooks.js.map +1 -1
  14. package/dist/index.d.ts +4 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/operations.d.ts +1 -0
  19. package/dist/operations.d.ts.map +1 -1
  20. package/dist/operations.js +18 -2
  21. package/dist/operations.js.map +1 -1
  22. package/dist/publish.d.ts +59 -7
  23. package/dist/publish.d.ts.map +1 -1
  24. package/dist/publish.js +205 -32
  25. package/dist/publish.js.map +1 -1
  26. package/dist/release-line.d.ts +16 -0
  27. package/dist/release-line.d.ts.map +1 -1
  28. package/dist/release-line.js +31 -0
  29. package/dist/release-line.js.map +1 -1
  30. package/dist/vector-tier.d.ts +34 -3
  31. package/dist/vector-tier.d.ts.map +1 -1
  32. package/dist/vector-tier.js +105 -14
  33. package/dist/vector-tier.js.map +1 -1
  34. package/package.json +2 -2
  35. package/sbom.json +41 -41
  36. package/src/apply-leg.ts +282 -14
  37. package/src/codex-hooks-assets.ts +67 -5
  38. package/src/codex-hooks.ts +13 -1
  39. package/src/index.ts +6 -1
  40. package/src/operations.ts +18 -3
  41. package/src/publish.ts +247 -30
  42. package/src/release-line.ts +32 -0
  43. package/src/vector-tier.ts +127 -14
package/dist/apply-leg.js CHANGED
@@ -32,7 +32,7 @@ import { connect as netConnect } from 'node:net';
32
32
  // (core-boundary.test.ts's ratchet only counts fs/child_process/https). `probeApplyLeg`'s temp probe
33
33
  // cwd reuses the existing top-level 'node:fs' import above (mkdtempSync/rmSync added to that SAME
34
34
  // import statement, not a new one) so the ratchet stays at its pinned files:63 imports:69.
35
- import { tmpdir } from 'node:os';
35
+ import { tmpdir, uptime } from 'node:os';
36
36
  import { join, resolve } from 'node:path';
37
37
  import { hookCommandsOf } from './managed-hooks.js';
38
38
  import { patternRecordId, recordPattern, removePatternsByIds, loadStorePatternsSync } from './patterns.js';
@@ -1697,6 +1697,215 @@ const PROBE_PROMPT_WORDS = 'apply leg live probe';
1697
1697
  /** Doctor/parity probes share ONE domain tag so a leaked beacon (a failed removal) is trivially
1698
1698
  * findable and excludable — never `dz-teach`/`general`, which would blend it into real lessons. */
1699
1699
  const PROBE_BEACON_DOMAIN = 'apply-leg-probe';
1700
+ /**
1701
+ * FR-3 (feature `apply-leg-daemon-hygiene`): the scavenger that ran at the top of every probe used
1702
+ * to delete EVERY beacon-domain record unconditionally — safe against a probe killed mid-flight
1703
+ * (Codex round-2's own reason for the scavenger existing at all), but WRONG the moment two probes
1704
+ * from two DIFFERENT sessions can be live against the SAME store at once: the second probe's
1705
+ * scavenge deletes the first probe's still-in-flight beacon, and the first probe then reports a
1706
+ * false `ok:false` (its own hook query returns nothing, because the lesson it was about to match
1707
+ * against is already gone) — a false-red `dz doctor`/`dz parity` parity check with no defect behind
1708
+ * it. The fix: tag every beacon with its OWNER (`probe-owner=<pid>:<startedMs>`, embedded in the
1709
+ * pattern TEXT so it survives a round-trip through any store tier without a schema change — NFR-1
1710
+ * forbids a new column) and scavenge ONLY a beacon whose owner is provably gone: the pid no longer
1711
+ * answers `process.kill(pid, 0)`, OR the beacon has outlived its TTL (see {@link
1712
+ * scavengeStaleProbeBeacons}'s own `ttlMs` parameter).
1713
+ */
1714
+ const PROBE_OWNER_TAG_PREFIX = 'probe-owner=';
1715
+ /** Fix round 1 (HIGH-6 residual): a second, independent tag alongside `probe-owner=` — the WRITING
1716
+ * process's own OS-level start time (epoch ms, from `/proc/<pid>/stat`), so the scavenger can tell a
1717
+ * PID-REUSE case (the recorded pid is technically "alive" per `process.kill(pid,0)`, but the LIVE
1718
+ * process at that pid started at a different time than the one that wrote the beacon) apart from
1719
+ * the genuine same-process case. Absent whenever the write-time `/proc` read fails (non-Linux,
1720
+ * permission) — the scavenger then falls back to the plain alive+TTL check alone, unchanged. */
1721
+ const PROC_START_TAG_PREFIX = 'proc-start=';
1722
+ /** Lead delta after Codex round 2 (HIGH-4): the beacon's OWN expiry, in epoch ms, written by the
1723
+ * probe that owns it. The pre-delta scavenger applied ITS OWN `ttlMs` to SOMEONE ELSE'S beacon, so a
1724
+ * default-budget probe (ttl 60 s) deleted the live beacon of a widened-budget probe (ttl 360 s) after
1725
+ * 60 s — the very false-red this hardening exists to prevent, one level up. A beacon now states when
1726
+ * IT expires; the scavenger's own `ttlMs` is only the fallback for a beacon written before this tag
1727
+ * existed. */
1728
+ const PROBE_EXPIRES_TAG_PREFIX = 'probe-expires=';
1729
+ /**
1730
+ * Fix round 1 (HIGH-6): the pre-fix-round TTL was a flat 60 000 ms, independent of the probe's own
1731
+ * `timeoutMs` — a caller that legitimately widens `timeoutMs` past that (a widened, suspended, or
1732
+ * heavily loaded probe) could have its OWN still-in-flight beacon scavenged by a concurrent probe
1733
+ * before it ever replies. The TTL is now DERIVED from the probe's own `timeoutMs`
1734
+ * (`max(timeoutMs * 3, 60_000)`, see {@link probeApplyLeg}'s call site) so a widened timeout widens
1735
+ * its own protection window too; the 60 000 ms floor keeps the pre-fix-round generous margin for the
1736
+ * default (unwidened) case. Exported as a named constant only for the floor value — the ACTUAL TTL
1737
+ * used by a given probe is always `ttlMs`, computed at the call site, never this constant alone.
1738
+ */
1739
+ const PROBE_BEACON_TTL_FLOOR_MS = 60_000;
1740
+ function formatProbeOwner(pid, startedMs) {
1741
+ return `${PROBE_OWNER_TAG_PREFIX}${pid}:${startedMs}`;
1742
+ }
1743
+ /** Parses the `probe-owner=<pid>:<startedMs>` tag out of a beacon's pattern text. `undefined` for
1744
+ * any beacon predating this tag (an older deployed core wrote it) — treated by the scavenger as
1745
+ * ownerless and therefore always safe to remove (the pre-FR-3 behavior for exactly that case). */
1746
+ function parseProbeOwner(patternText) {
1747
+ const idx = patternText.indexOf(PROBE_OWNER_TAG_PREFIX);
1748
+ if (idx === -1)
1749
+ return undefined;
1750
+ const match = /probe-owner=(\d+):(\d+)/u.exec(patternText.slice(idx));
1751
+ if (match?.[1] === undefined || match[2] === undefined)
1752
+ return undefined;
1753
+ return { pid: Number(match[1]), startedMs: Number(match[2]) };
1754
+ }
1755
+ function formatProcStart(procStartedAtMs) {
1756
+ return ` ${PROC_START_TAG_PREFIX}${procStartedAtMs}`;
1757
+ }
1758
+ function formatProbeExpires(expiresAtMs) {
1759
+ return ` ${PROBE_EXPIRES_TAG_PREFIX}${expiresAtMs}`;
1760
+ }
1761
+ /** Parses the `probe-expires=<epochMs>` tag — `undefined` for a beacon written before the tag
1762
+ * existed, which is exactly when the scavenger falls back to its own `ttlMs`. */
1763
+ function parseProbeExpires(patternText) {
1764
+ const idx = patternText.indexOf(PROBE_EXPIRES_TAG_PREFIX);
1765
+ if (idx === -1)
1766
+ return undefined;
1767
+ const match = /probe-expires=(\d+)/u.exec(patternText.slice(idx));
1768
+ if (match?.[1] === undefined)
1769
+ return undefined;
1770
+ return Number(match[1]);
1771
+ }
1772
+ /** Parses the `proc-start=<ticks>` tag — `undefined` when absent (pre-fix-round beacon, or the
1773
+ * write-time `/proc` read failed). */
1774
+ function parseProcStart(patternText) {
1775
+ const idx = patternText.indexOf(PROC_START_TAG_PREFIX);
1776
+ if (idx === -1)
1777
+ return undefined;
1778
+ const match = /proc-start=(\d+)/u.exec(patternText.slice(idx));
1779
+ if (match?.[1] === undefined)
1780
+ return undefined;
1781
+ return Number(match[1]);
1782
+ }
1783
+ /** True when `pid` answers a liveness signal — `process.kill(pid, 0)` sends no actual signal, it
1784
+ * only probes whether the OS still has a process at that pid (ESRCH ⇒ dead). */
1785
+ function isPidAlive(pid) {
1786
+ try {
1787
+ process.kill(pid, 0);
1788
+ return true;
1789
+ }
1790
+ catch (err) {
1791
+ return err.code !== 'ESRCH';
1792
+ }
1793
+ }
1794
+ /**
1795
+ * Fix round 1 (HIGH-6 residual, Linux-only, best-effort), tightened by the lead after Codex round 2
1796
+ * (MEDIUM-6): a process's OWN `starttime` from `/proc/<pid>/stat` — field 22 overall, found by
1797
+ * skipping past the LAST `)` so a `comm` containing spaces or parens never misaligns the split —
1798
+ * returned as RAW TICKS SINCE BOOT, the unit the kernel reports. No wall clock is consulted and no
1799
+ * CLK_TCK conversion is performed, so a stepped wall clock can no longer make the same live process
1800
+ * look like a different one. `undefined` on ANY read/parse failure (non-Linux, permission, the
1801
+ * process exiting mid-read) — the caller MUST treat that as "cannot prove", never as a pass in
1802
+ * either direction.
1803
+ */
1804
+ function pidStartedAtMsFromProcStat(pid) {
1805
+ try {
1806
+ const stat = readFileSync(`/proc/${pid}/stat`, 'utf-8');
1807
+ const afterComm = stat.slice(stat.lastIndexOf(')') + 1).trim();
1808
+ const fields = afterComm.split(/\s+/u);
1809
+ // Overall field 22 (`starttime`) = fields[22 - 3] here, since fields[] starts at overall field 3
1810
+ // (state) once `pid (comm)` (fields 1-2) has been stripped above.
1811
+ const starttimeTicks = Number(fields[19]);
1812
+ if (!Number.isFinite(starttimeTicks))
1813
+ return undefined;
1814
+ // Lead delta after Codex round 2 (MEDIUM-6): return the RAW ticks-since-boot, never an epoch
1815
+ // derived from `Date.now() - uptime()`. The derived epoch moves when the WALL CLOCK is stepped,
1816
+ // so the same still-running process appeared to have "started at a different time" and its LIVE
1817
+ // beacon was deleted as a pid-reuse. Ticks since boot are monotonic within a boot and identical
1818
+ // for the same process on every read; across a reboot the recorded pid is dead anyway, which the
1819
+ // liveness check catches first — WITHDRAWN by the lead after Codex round 4: that sentence was
1820
+ // wrong, because across a reboot the pid may ALREADY have been reused and can collide on start
1821
+ // ticks too; the honest scope is the NAMED LIMIT stated below. This also removes the CLK_TCK assumption entirely — no conversion
1822
+ // to milliseconds happens at all, the two values are compared in their own unit.
1823
+ // NAMED LIMIT (lead delta after Codex round 3, MEDIUM): identity holds WITHIN one boot. Across a
1824
+ // reboot both pid allocation and ticks-since-boot restart, so a beacon that somehow persisted
1825
+ // could in principle collide with a new process at the same pid and the same tick. A boot id
1826
+ // would close it; the honest scope today is "within one boot", and a reboot also means the
1827
+ // beacon's own TTL has almost certainly passed, which the TTL branch catches first.
1828
+ return starttimeTicks;
1829
+ }
1830
+ catch {
1831
+ return undefined;
1832
+ }
1833
+ }
1834
+ /** Fix round 1 (HIGH-6 residual): `process.kill(pid,0)` proves SOME process occupies `pid`, never
1835
+ * that it is the SAME process that wrote the beacon — PID reuse defeats the plain alive check named
1836
+ * as a residual limit in the review. Compares the LIVE process's own start time (from `/proc/<pid>/
1837
+ * stat`) against `recordedStartedMs` (the beacon's own `proc-start=` tag). A mismatch beyond {@link
1838
+ * PID_START_TOLERANCE_MS} means the pid was reused by an unrelated process — the true owner is
1839
+ * confirmed gone. `undefined` (stat unreadable) means "cannot prove either way" — the lead's decision
1840
+ * (fix round 1, item 6) is explicit: that MUST read as "do not remove" wherever it is consumed, never
1841
+ * as a pass. */
1842
+ function isSameProcessInstance(pid, recordedStartTicks) {
1843
+ const actualStartTicks = pidStartedAtMsFromProcStat(pid);
1844
+ if (actualStartTicks === undefined)
1845
+ return undefined;
1846
+ // Lead delta after Codex round 2 (MEDIUM-6): EXACT equality on ticks-since-boot. The old
1847
+ // ±5 000 ms tolerance existed only to absorb the CLK_TCK guess in the epoch conversion; with the
1848
+ // raw kernel value there is nothing to absorb, and a tolerance would re-admit the very pid-reuse
1849
+ // case it was meant to exclude (a reused pid started within the tolerance read as "same process").
1850
+ return actualStartTicks === recordedStartTicks;
1851
+ }
1852
+ /**
1853
+ * FR-3/FR-4: remove only the STALE beacon-domain records in `root`'s store — owner dead
1854
+ * (`process.kill(pid, 0)` ⇒ ESRCH), older than `ttlMs`, OR (fix round 1, HIGH-6 residual) alive AND
1855
+ * within `ttlMs` but the live pid's OWN `/proc/<pid>/stat` start time no longer matches the beacon's
1856
+ * `proc-start=` tag — a confirmed PID-reuse case, where the recorded owner is provably gone even
1857
+ * though `pid` itself answers. An UNREADABLE stat at scavenge time never counts as reuse evidence —
1858
+ * it falls back to the plain alive+TTL verdict, per the lead's "cannot prove ⇒ do not remove"
1859
+ * decision. A beacon whose owner is alive, within TTL, and (when provable) confirmed the SAME
1860
+ * process is left untouched, even though it belongs to a different probe. An ownerless (pre-FR-3)
1861
+ * beacon is always treated as stale. `ttlMs` defaults to {@link PROBE_BEACON_TTL_FLOOR_MS} for a
1862
+ * caller that does not derive one (`apply-leg-beacon-owner.test.ts`'s own fixtures); `probeApplyLeg`
1863
+ * always passes its own derived value. Exported so `apply-leg-beacon-owner.test.ts` can exercise the
1864
+ * property directly, without needing a live hook/daemon (FR-4's red-first case needs only a store
1865
+ * and an injectable remover, never a real probe round-trip).
1866
+ */
1867
+ export function scavengeStaleProbeBeacons(root, removeBeacon, ttlMs = PROBE_BEACON_TTL_FLOOR_MS) {
1868
+ try {
1869
+ const beacons = loadStorePatternsSync(root).filter((p) => p.domain === PROBE_BEACON_DOMAIN);
1870
+ const staleIds = [];
1871
+ for (const beacon of beacons) {
1872
+ const owner = parseProbeOwner(beacon.pattern);
1873
+ if (owner === undefined) {
1874
+ staleIds.push(beacon.dzId ?? patternRecordId(beacon));
1875
+ continue;
1876
+ }
1877
+ const alive = isPidAlive(owner.pid);
1878
+ // Lead delta after Codex round 2 (HIGH-4): the beacon's OWN expiry wins over this scavenger's
1879
+ // `ttlMs`, which belongs to a DIFFERENT probe and knows nothing of this owner's budget.
1880
+ const ownExpiresAtMs = parseProbeExpires(beacon.pattern);
1881
+ const withinTtl = ownExpiresAtMs !== undefined
1882
+ ? Date.now() <= ownExpiresAtMs
1883
+ : Date.now() - owner.startedMs <= ttlMs;
1884
+ if (!alive || !withinTtl) {
1885
+ staleIds.push(beacon.dzId ?? patternRecordId(beacon));
1886
+ continue;
1887
+ }
1888
+ // alive AND within TTL — the plain check says "keep", but confirm it is the SAME process, not
1889
+ // a reused pid, whenever the beacon carries the (best-effort) proc-start tag.
1890
+ const procStart = parseProcStart(beacon.pattern);
1891
+ if (procStart !== undefined) {
1892
+ const same = isSameProcessInstance(owner.pid, procStart);
1893
+ if (same === false)
1894
+ staleIds.push(beacon.dzId ?? patternRecordId(beacon)); // confirmed reuse
1895
+ // same === true, or same === undefined (unreadable ⇒ cannot prove ⇒ do not remove): keep.
1896
+ }
1897
+ }
1898
+ if (staleIds.length === 0)
1899
+ return { ok: true, removed: 0 };
1900
+ const result = removeBeacon(root, new Set(staleIds));
1901
+ if (result.error !== undefined)
1902
+ return { ok: false, error: result.error };
1903
+ return { ok: true, removed: result.removed };
1904
+ }
1905
+ catch (err) {
1906
+ return { ok: false, error: err instanceof Error ? err.message : String(err) };
1907
+ }
1908
+ }
1700
1909
  /**
1701
1910
  * Live, end-to-end proof that the apply leg actually injects — ADR-001 Decision 1. `applyLegStatus`
1702
1911
  * only proves FILES exist and are STRUCTURALLY wired (issue #2's whole defect: four green checks,
@@ -1729,6 +1938,11 @@ const PROBE_BEACON_DOMAIN = 'apply-leg-probe';
1729
1938
  export async function probeApplyLeg(root, opts = {}) {
1730
1939
  const started = Date.now();
1731
1940
  const elapsed = () => Date.now() - started;
1941
+ // Fix round 1 (HIGH-6): computed HERE, before the scavenger runs, so the scavenge TTL can be
1942
+ // derived from THIS probe's own budget rather than a flat constant blind to a caller-widened
1943
+ // timeout — see the `ttlMs` computation below, right before the beacon that carries its implicit
1944
+ // promise is written.
1945
+ const timeoutMs = opts.timeoutMs ?? 8000;
1732
1946
  const status = applyLegStatus(root);
1733
1947
  if (!status.installed) {
1734
1948
  return { ok: false, reason: 'apply-leg not installed', elapsedMs: elapsed() };
@@ -1751,8 +1965,32 @@ export async function probeApplyLeg(root, opts = {}) {
1751
1965
  // pattern's own text can produce it. `ok: true` therefore requires the SECRET, never the query.
1752
1966
  const queryToken = `dzapplylegquery${process.pid}${Date.now()}${Math.random().toString(36).slice(2, 10)}`;
1753
1967
  const secretToken = `dzapplylegsecret${process.pid}${Date.now()}${Math.random().toString(36).slice(2, 10)}`;
1968
+ // FR-3: the owner tag rides the SAME pattern text as the secret — a beacon's owner is knowable
1969
+ // from its store record alone, no side channel, no schema change (NFR-1).
1970
+ const ownerTag = formatProbeOwner(process.pid, started);
1971
+ // Fix round 1 (HIGH-6): TTL derives from THIS probe's own timeoutMs — a caller that widens
1972
+ // timeoutMs (this repo's own live tests widen it to 15_000 ms) widens its own protection window
1973
+ // too, rather than staying pinned to a flat constant blind to that widening. Floored at the
1974
+ // pre-fix-round 60_000 ms so the default (unwidened) case keeps its original generous margin.
1975
+ // Asserted, not merely trusted — an unreasoned future edit to the formula must fail loudly right
1976
+ // here, where the beacon carrying this TTL's implicit promise is about to be written, rather than
1977
+ // silently reintroducing the false-red-under-concurrency defect this closes.
1978
+ const ttlMs = Math.max(timeoutMs * 3, PROBE_BEACON_TTL_FLOOR_MS);
1979
+ if (!(timeoutMs < ttlMs)) {
1980
+ throw new Error(`invariant violated: timeoutMs (${String(timeoutMs)}) must be < ttlMs (${String(ttlMs)}) — scavenger TTL formula regressed`);
1981
+ }
1982
+ // Fix round 1 (HIGH-6 residual, best-effort): the writing process's OWN OS-level start time,
1983
+ // captured NOW so a later scavenger can tell a genuinely-still-alive owner apart from a DIFFERENT
1984
+ // process that merely reused this pid (isSameProcessInstance's own doc comment). Omitted entirely
1985
+ // when unreadable (non-Linux, permission) — the scavenger then falls back to the plain alive+TTL
1986
+ // check for this beacon, unchanged from before this residual hardening.
1987
+ const ownProcStart = pidStartedAtMsFromProcStat(process.pid);
1988
+ const procStartTag = ownProcStart !== undefined ? formatProcStart(ownProcStart) : '';
1989
+ // Lead delta after Codex round 2 (HIGH-4): this beacon states its OWN expiry, so a concurrent
1990
+ // probe with a different (shorter) budget can never out-vote this probe's protection window.
1991
+ const expiresTag = formatProbeExpires(started + ttlMs);
1754
1992
  const beaconPattern = {
1755
- pattern: `${PROBE_PROMPT_WORDS} ${queryToken} — dz doctor / dz parity live-probe marker, safe to remove. probe-secret=${secretToken}`,
1993
+ pattern: `${PROBE_PROMPT_WORDS} ${queryToken} — dz doctor / dz parity live-probe marker, safe to remove. probe-secret=${secretToken} ${ownerTag}${procStartTag}${expiresTag}`,
1756
1994
  type: 'lesson-learned',
1757
1995
  reward: 0,
1758
1996
  domain: PROBE_BEACON_DOMAIN,
@@ -1779,14 +2017,14 @@ export async function probeApplyLeg(root, opts = {}) {
1779
2017
  // Codex round-2: a process killed mid-probe bypasses `finally`, so a beacon can outlive its probe.
1780
2018
  // Every probe therefore starts by SCAVENGING any beacon left behind by an earlier one (the probe
1781
2019
  // domain is reserved for beacons, never for user lessons) — the store is clean before AND after.
1782
- try {
1783
- // a loaded pattern carries the STORE's own id (`dzId`); recomputing it from normalised fields
1784
- // (type/ts round-trip) can diverge, so the store id wins and the recomputation is the fallback.
1785
- const stale = loadStorePatternsSync(root).filter((p) => p.domain === PROBE_BEACON_DOMAIN).map((p) => p.dzId ?? patternRecordId(p));
1786
- if (stale.length > 0)
1787
- removeBeacon(root, new Set(stale));
1788
- }
1789
- catch { /* scavenging is best-effort; the probe's own cleanup below is the accountable path */ }
2020
+ // FR-3/FR-4: scavenging is no longer unconditional — a LIVE beacon from a DIFFERENT concurrent
2021
+ // probe (another session's `dz doctor`/`dz parity` against the same store) must survive; only a
2022
+ // beacon whose owner is dead or past its TTL is removed. A scavenge failure is a named FACT
2023
+ // (`scavengeError`), never a swallowed exception (the pre-fix `catch {}` this replaces).
2024
+ let scavengeError;
2025
+ const scavengeResult = scavengeStaleProbeBeacons(root, removeBeacon, ttlMs);
2026
+ if (!scavengeResult.ok)
2027
+ scavengeError = scavengeResult.error;
1790
2028
  try {
1791
2029
  wrote = true;
1792
2030
  let writeFailed;
@@ -1809,7 +2047,6 @@ export async function probeApplyLeg(root, opts = {}) {
1809
2047
  mkdirSync(join(tempCwd, '.dz'), { recursive: true });
1810
2048
  mkdirSync(join(tempCwd, '.claude'), { recursive: true });
1811
2049
  const { probeHookLiveness } = await import('./operations.js');
1812
- const timeoutMs = opts.timeoutMs ?? 8000;
1813
2050
  const probeResult = probeHookLiveness(command, JSON.stringify({ prompt: probePrompt }), {
1814
2051
  cwd: tempCwd,
1815
2052
  env: { ...(opts.env ?? {}), CLAUDE_PROJECT_DIR: tempCwd },
@@ -1829,13 +2066,13 @@ export async function probeApplyLeg(root, opts = {}) {
1829
2066
  }
1830
2067
  }
1831
2068
  if (typeof additionalContext === 'string' && additionalContext.includes(secretToken)) {
1832
- result = { ok: true, elapsedMs: elapsed() };
2069
+ result = { ok: true, elapsedMs: elapsed(), groupKillAttempted: probeResult.groupKillAttempted };
1833
2070
  }
1834
2071
  else if (typeof additionalContext === 'string' && additionalContext.includes(queryToken)) {
1835
2072
  // AM-1: the QUERY came back but the SECRET did not — the hook (or a stub standing in for
1836
2073
  // it) echoed its own input instead of genuinely querying the store. Named distinctly from
1837
2074
  // every other red reason so a dead leg and a FAKING one never read the same.
1838
- result = { ok: false, reason: 'echo-not-injection', elapsedMs: elapsed() };
2075
+ result = { ok: false, reason: 'echo-not-injection', elapsedMs: elapsed(), groupKillAttempted: probeResult.groupKillAttempted };
1839
2076
  }
1840
2077
  else {
1841
2078
  // FR-1's own reason line is the authoritative source — the hook names itself why it stayed
@@ -1844,10 +2081,10 @@ export async function probeApplyLeg(root, opts = {}) {
1844
2081
  const skipMatch = /\[dz-recall\] skipped reason=(\S+)/.exec(probeResult.stderr);
1845
2082
  const skipReason = skipMatch?.[1];
1846
2083
  if (skipReason !== undefined) {
1847
- result = { ok: false, reason: skipReason, elapsedMs: elapsed() };
2084
+ result = { ok: false, reason: skipReason, elapsedMs: elapsed(), groupKillAttempted: probeResult.groupKillAttempted };
1848
2085
  }
1849
2086
  else if (probeResult.status === null) {
1850
- result = { ok: false, reason: `probe did not complete (timeout or spawn error after ${timeoutMs} ms)`, elapsedMs: elapsed() };
2087
+ result = { ok: false, reason: `probe did not complete (timeout or spawn error after ${timeoutMs} ms)`, elapsedMs: elapsed(), groupKillAttempted: probeResult.groupKillAttempted };
1851
2088
  }
1852
2089
  else {
1853
2090
  const stderrFirstLine = probeResult.stderr.trim().split('\n')[0];
@@ -1855,6 +2092,7 @@ export async function probeApplyLeg(root, opts = {}) {
1855
2092
  ok: false,
1856
2093
  reason: stderrFirstLine && stderrFirstLine !== '' ? stderrFirstLine : 'no beacon in additionalContext (empty or non-matching reply)',
1857
2094
  elapsedMs: elapsed(),
2095
+ groupKillAttempted: probeResult.groupKillAttempted,
1858
2096
  };
1859
2097
  }
1860
2098
  }
@@ -1889,12 +2127,21 @@ export async function probeApplyLeg(root, opts = {}) {
1889
2127
  }
1890
2128
  }
1891
2129
  if (cleanupFailed) {
2130
+ // a cleanup failure can only happen after `result` was assigned (the finally block runs after
2131
+ // the try body) — carry the kill-attempt fact through rather than dropping it on this path.
2132
+ // `exactOptionalPropertyTypes` forbids assigning `undefined` to an optional field explicitly, so
2133
+ // the key is included only when `result.groupKillAttempted` actually has a value.
1892
2134
  return {
1893
2135
  ok: false,
1894
2136
  reason: `beacon-cleanup-failed: beacon ${beaconId} could not be removed (${cleanupErrMsg})`,
1895
2137
  elapsedMs: elapsed(),
2138
+ ...(result.groupKillAttempted !== undefined ? { groupKillAttempted: result.groupKillAttempted } : {}),
2139
+ ...(scavengeError !== undefined ? { scavengeError } : {}),
1896
2140
  };
1897
2141
  }
1898
- return result;
2142
+ // FR-3: a scavenge failure is surfaced on the SUCCESS path too — it does not override `ok`/
2143
+ // `reason` (this probe's own injection result may be perfectly genuine), but it is a fact a
2144
+ // caller should not lose.
2145
+ return scavengeError !== undefined ? { ...result, scavengeError } : result;
1899
2146
  }
1900
2147
  //# sourceMappingURL=apply-leg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-leg.js","sourceRoot":"","sources":["../src/apply-leg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-leg.js","sourceRoot":"","sources":["../src/apply-leg.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-hooks-assets.d.ts","sourceRoot":"","sources":["../src/codex-hooks-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA6KH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,gBAAgB,GAAE,MAAM,GAAG,IAA2B,GAAG,MAAM,CAqGtG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,gBAAgB,GAAE,MAAM,GAAG,IAA2B,GAAG,MAAM,CA4FxG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,GAAE,MAAM,GAAG,IAA2B,GACrD,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAK7C"}
1
+ {"version":3,"file":"codex-hooks-assets.d.ts","sourceRoot":"","sources":["../src/codex-hooks-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAyOH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,gBAAgB,GAAE,MAAM,GAAG,IAA2B,GAAG,MAAM,CAsGtG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,gBAAgB,GAAE,MAAM,GAAG,IAA2B,GAAG,MAAM,CA6FxG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,GAAE,MAAM,GAAG,IAA2B,GACrD,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAK7C"}
@@ -139,6 +139,66 @@ function findProjectRoot(startDir) {
139
139
  }
140
140
  }
141
141
 
142
+ /**
143
+ * FR-1 (codex-hook-root-provenance): the ONE place both hooks compute their start directory and
144
+ * walk to a project root — replacing two independent copies of the same ternary. T1 (fix-round 1:
145
+ * the original reproducer had an unexported \`BASE\`, so it measured the wrong file; corrected and
146
+ * re-run — see the feature's change manifest for both) measured LIVE on \`codex-cli 0.154.0\`: three
147
+ * real \`codex exec\` sessions (project root, a nested subdirectory, a directory with no \`.dz\`
148
+ * anywhere in its ancestry), each with BOTH hook events (\`PreToolUse\` and \`UserPromptSubmit\`)
149
+ * captured SEPARATELY. \`payload.cwd\` was present and equal to both \`PWD\` and the hook's own
150
+ * \`process.cwd()\` in every one of the 6 captures. \`PWD\`/\`process.cwd()\` therefore stay only as a
151
+ * DEFENSIVE fallback for a payload shaped without \`cwd\` — not because that fallback was ever
152
+ * observed to fire. This is a SCOPED finding, not a claim that the "hook read the wrong project"
153
+ * defect class cannot exist: it was not observed on codex-cli 0.154.0 across these 3 scenarios / 6
154
+ * captures, and 01_requirements.md's own Ограничение C-3 is what permits cutting FR-3 (the explicit
155
+ * \`DZ_PROJECT_ROOT\` override) on a scoped finding like that — not a claim of nonexistence.
156
+ */
157
+ function resolveHookRoot(payload) {
158
+ const hasPayloadCwd = typeof payload.cwd === 'string' && payload.cwd !== '';
159
+ const startDir = hasPayloadCwd ? payload.cwd : (process.env.PWD || process.cwd());
160
+ const source = hasPayloadCwd ? 'payload-cwd' : (process.env.PWD ? 'env-pwd' : 'process-cwd');
161
+ return { root: findProjectRoot(startDir), source, startDir };
162
+ }
163
+
164
+ /**
165
+ * Fix-round 1, item 4: a path interpolated into the provenance line below can itself carry control
166
+ * characters — a \`payload.cwd\` from an untrusted producer, or a \`PWD\` set to something hostile —
167
+ * and a bare newline in the middle of it would defeat the "ONE line" promise the diagnostic makes.
168
+ * Escape the whole C0 range (0x00-0x1F) plus DEL (0x7F) into a visible \`\\n\`/\\r\`/\\t\`/\\xHH\`
169
+ * representation; every other byte, including non-ASCII path segments, passes through unchanged.
170
+ */
171
+ function escapeControlChars(value) {
172
+ return String(value).replace(/[\\x00-\\x1f\\x7f]/g, function (ch) {
173
+ var code = ch.charCodeAt(0);
174
+ if (code === 10) return '\\\\n';
175
+ if (code === 13) return '\\\\r';
176
+ if (code === 9) return '\\\\t';
177
+ return '\\\\x' + code.toString(16).padStart(2, '0');
178
+ });
179
+ }
180
+
181
+ /**
182
+ * FR-2: ONE provenance line, same shape as the Claude hook's (\`apply-leg.ts\`'s \`skip()\`), printed
183
+ * to stderr. When no root was found it ALWAYS prints (the walk's whole verdict was silent before
184
+ * this feature); when a root WAS found it prints only under \`DZ_CODEX_HOOK_DEBUG\`, so the found
185
+ * path stays byte-for-byte silent by default (NFR-2). Tradeoff, named plainly: this line discloses
186
+ * the absolute directory the hook was asked about (which can embed a username, a customer or
187
+ * repository name) to stderr — accepted because it is a diagnostic aimed at the person running the
188
+ * hook, not a return value, and redacting it would make the not-found case as silent as the bug
189
+ * this feature exists to fix. \`startDir\`/\`root\` are escaped via \`escapeControlChars\` first, so an
190
+ * adversarial value cannot itself defeat the "ONE line" guarantee.
191
+ */
192
+ function reportRootProvenance(resolved) {
193
+ if (resolved.root === null) {
194
+ process.stderr.write(\`[\${HELPER}] skipped reason=no-project-root start=\${escapeControlChars(resolved.startDir)} (\${resolved.source})\\n\`);
195
+ return;
196
+ }
197
+ if (process.env.DZ_CODEX_HOOK_DEBUG) {
198
+ process.stderr.write(\`[\${HELPER}] root=\${escapeControlChars(resolved.root)} start=\${escapeControlChars(resolved.startDir)} (\${resolved.source})\\n\`);
199
+ }
200
+ }
201
+
142
202
  function readProjectConfig(root) {
143
203
  try {
144
204
  return JSON.parse(fs.readFileSync(path.join(root, '.dz', 'config.json'), 'utf8'));
@@ -226,9 +286,10 @@ async function main() {
226
286
  const command = input && typeof input === 'object' ? input.command : undefined;
227
287
  if (typeof command !== 'string' || command === '') return 0;
228
288
 
229
- const cwd = typeof payload.cwd === 'string' && payload.cwd !== '' ? payload.cwd : process.env.PWD || process.cwd();
230
- const root = findProjectRoot(cwd);
231
- if (root === null) return 0; // inert outside an opted-in dz project: no decision, no output, no write
289
+ const resolved = resolveHookRoot(payload);
290
+ reportRootProvenance(resolved);
291
+ const root = resolved.root;
292
+ if (root === null) return 0; // inert outside an opted-in dz project: no DECISION and no WRITE — one diagnostic line on stderr (FR-2), nothing else
232
293
 
233
294
  // (1) The destructive-command guard. Never blocks on our own failure: an absent module, a throw,
234
295
  // or an \`undecidable\` verdict all fall through to the shell veto below (AC-10).
@@ -366,8 +427,9 @@ async function main() {
366
427
  const prompt = typeof payload.prompt === 'string' ? payload.prompt : '';
367
428
  if (prompt.trim() === '') return;
368
429
 
369
- const cwd = typeof payload.cwd === 'string' && payload.cwd !== '' ? payload.cwd : process.env.PWD || process.cwd();
370
- const root = findProjectRoot(cwd);
430
+ const resolved = resolveHookRoot(payload);
431
+ reportRootProvenance(resolved);
432
+ const root = resolved.root;
371
433
  if (root === null) return; // inert outside an opted-in dz project
372
434
 
373
435
  const policy = await loadCore(root, 'recall-hook-policy.js', (m) => typeof m.selectHookHits === 'function');
@@ -1 +1 @@
1
- {"version":3,"file":"codex-hooks-assets.js","sourceRoot":"","sources":["../src/codex-hooks-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,gFAAgF;AAChF,SAAS,QAAQ,CAAC,gBAA+B;IAC/C,OAAO;oEAC2D,sBAAsB;;;;;;;yBAOjE,sBAAsB;;;;;;;8BAOjB,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJlG,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CAAC,mBAAkC,kBAAkB,EAAE;IAC5F,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,uDAAuD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmG9H,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,mBAAkC,kBAAkB,EAAE;IAC9F,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,yDAAyD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FhI,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,mBAAkC,kBAAkB,EAAE;IAEtD,OAAO;QACL,IAAI,EAAE,uBAAuB,CAAC,gBAAgB,CAAC;QAC/C,MAAM,EAAE,yBAAyB,CAAC,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"codex-hooks-assets.js","sourceRoot":"","sources":["../src/codex-hooks-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,gFAAgF;AAChF,SAAS,QAAQ,CAAC,gBAA+B;IAC/C,OAAO;oEAC2D,sBAAsB;;;;;;;yBAOjE,sBAAsB;;;;;;;8BAOjB,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgNlG,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CAAC,mBAAkC,kBAAkB,EAAE;IAC5F,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,uDAAuD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoG9H,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,mBAAkC,kBAAkB,EAAE;IAC9F,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,yDAAyD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FhI,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,mBAAkC,kBAAkB,EAAE;IAEtD,OAAO;QACL,IAAI,EAAE,uBAAuB,CAAC,gBAAgB,CAAC;QAC/C,MAAM,EAAE,yBAAyB,CAAC,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC"}
@@ -50,8 +50,20 @@
50
50
  * run was indistinguishable from a clean allow. The Claude hook already failed open loudly here.
51
51
  * Now it prints ONE line, `DZ-DESTRUCTIVE-WARN: classifier threw — <message>`, and still exits 0.
52
52
  * A changed body ⇒ re-trust.
53
+ * 8 — `codex-hook-root-provenance`: both hooks now share ONE `resolveHookRoot(payload)` instead of
54
+ * two copies of the same `payload.cwd || PWD || cwd()` ternary, and a silent `root === null` early
55
+ * return now prints one provenance line (`[dz-codex-<hook>] skipped reason=no-project-root
56
+ * start=<startDir> (<source>)`); the found-root path stays silent unless `DZ_CODEX_HOOK_DEBUG` is
57
+ * set. T1 (live probe, codex-cli 0.154.0) found `payload.cwd` always present and equal to `PWD`/
58
+ * `process.cwd()`, so no explicit-override knob was added. A changed body ⇒ re-trust.
59
+ * 9 — fix-round 1: the provenance line's interpolated paths are now escaped via
60
+ * `escapeControlChars` (C0 range + DEL) before printing, so a hostile `payload.cwd` cannot defeat
61
+ * the "ONE line" promise with an embedded newline; the corrected T1 re-run (both hook events
62
+ * captured separately, per-scenario — the original reproducer's `BASE` was never exported) reached
63
+ * the SAME conclusion, scoped honestly as "not observed on codex-cli 0.154.0 across 3 scenarios / 6
64
+ * captures", not "does not exist". A changed body ⇒ re-trust.
53
65
  */
54
- export declare const DZ_HOOK_HELPER_VERSION = 7;
66
+ export declare const DZ_HOOK_HELPER_VERSION = 9;
55
67
  /** Seconds. Probe-proven (spike S2): `timeout` is honored, the unset default is 600 s. */
56
68
  export declare const DZ_HOOK_TIMEOUT_SECONDS = 5;
57
69
  /** The wide matcher (AM-8). Narrowing needs a recorded live probe; the guard keys on the payload. */
@@ -1 +1 @@
1
- {"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../src/codex-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../src/codex-hooks.ts"],"names":[],"mappings":"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"}