@vibe-commit/capture 0.9.0 → 0.11.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.
Files changed (88) hide show
  1. package/README.md +49 -1
  2. package/dist/agent_hooks.js +2 -2
  3. package/dist/cli.d.ts +35 -0
  4. package/dist/cli.js +412 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/backfill.js +19 -2
  7. package/dist/commands/backfill.js.map +1 -1
  8. package/dist/commands/finalize.d.ts +37 -1
  9. package/dist/commands/finalize.js +131 -29
  10. package/dist/commands/finalize.js.map +1 -1
  11. package/dist/commands/status.js +7 -0
  12. package/dist/commands/status.js.map +1 -1
  13. package/dist/commands/status_machine.js +5 -0
  14. package/dist/commands/status_machine.js.map +1 -1
  15. package/dist/commands/upload_worker.d.ts +63 -0
  16. package/dist/commands/upload_worker.js +336 -0
  17. package/dist/commands/upload_worker.js.map +1 -0
  18. package/dist/commands/why.d.ts +19 -1
  19. package/dist/commands/why.js +35 -3
  20. package/dist/commands/why.js.map +1 -1
  21. package/dist/commit_files.d.ts +64 -0
  22. package/dist/commit_files.js +83 -0
  23. package/dist/commit_files.js.map +1 -0
  24. package/dist/copy/strings.d.ts +34 -14
  25. package/dist/copy/strings.js +51 -14
  26. package/dist/copy/strings.js.map +1 -1
  27. package/dist/drain.d.ts +68 -0
  28. package/dist/drain.js +234 -0
  29. package/dist/drain.js.map +1 -0
  30. package/dist/firing.d.ts +169 -0
  31. package/dist/firing.js +334 -0
  32. package/dist/firing.js.map +1 -0
  33. package/dist/hooks/entry.d.ts +171 -26
  34. package/dist/hooks/entry.js +335 -507
  35. package/dist/hooks/entry.js.map +1 -1
  36. package/dist/hooks/fire_lock.d.ts +36 -87
  37. package/dist/hooks/fire_lock.js +40 -99
  38. package/dist/hooks/fire_lock.js.map +1 -1
  39. package/dist/hooks/post_commit.d.ts +11 -0
  40. package/dist/hooks/post_commit.js +16 -8
  41. package/dist/hooks/post_commit.js.map +1 -1
  42. package/dist/identity.d.ts +32 -0
  43. package/dist/identity.js +38 -0
  44. package/dist/identity.js.map +1 -0
  45. package/dist/index.d.ts +3 -17
  46. package/dist/index.js +59 -450
  47. package/dist/index.js.map +1 -1
  48. package/dist/paths.d.ts +18 -0
  49. package/dist/paths.js +31 -0
  50. package/dist/paths.js.map +1 -1
  51. package/dist/pending_prune.d.ts +2 -2
  52. package/dist/pending_prune.js +2 -2
  53. package/dist/policy.d.ts +17 -0
  54. package/dist/policy.js +7 -0
  55. package/dist/policy.js.map +1 -1
  56. package/dist/post.d.ts +63 -4
  57. package/dist/post.js +76 -24
  58. package/dist/post.js.map +1 -1
  59. package/dist/replay.d.ts +167 -0
  60. package/dist/replay.js +301 -0
  61. package/dist/replay.js.map +1 -0
  62. package/dist/session_targets.d.ts +12 -0
  63. package/dist/session_targets.js +6 -1
  64. package/dist/session_targets.js.map +1 -1
  65. package/dist/spool.d.ts +55 -21
  66. package/dist/spool.js +182 -38
  67. package/dist/spool.js.map +1 -1
  68. package/dist/spool_union.d.ts +18 -2
  69. package/dist/spool_union.js +23 -2
  70. package/dist/spool_union.js.map +1 -1
  71. package/dist/state.js +21 -14
  72. package/dist/state.js.map +1 -1
  73. package/dist/stdin.d.ts +2 -0
  74. package/dist/stdin.js +13 -0
  75. package/dist/stdin.js.map +1 -0
  76. package/dist/uploader_status.d.ts +34 -0
  77. package/dist/uploader_status.js +25 -0
  78. package/dist/uploader_status.js.map +1 -0
  79. package/dist/uploader_view.d.ts +39 -0
  80. package/dist/uploader_view.js +106 -0
  81. package/dist/uploader_view.js.map +1 -0
  82. package/dist/verbs.d.ts +11 -0
  83. package/dist/verbs.js +13 -0
  84. package/dist/verbs.js.map +1 -0
  85. package/dist/version.d.ts +1 -1
  86. package/dist/version.js +1 -1
  87. package/dist/version.js.map +1 -1
  88. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/hooks/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/hooks/entry.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,23 @@
1
1
  /**
2
- * One firing, one process — `CR-195`/U4, D205.
3
- *
4
- * ## ⛔ THE DEFECT THIS EXISTS FOR, MEASURED IN CURSOR'S OWN BUNDLE
5
- *
6
- * `connect` registers our hook in each agent's config. Cursor then reads **more
7
- * than its own**: `isClaudeCodeHooksEnabled()` returns
8
- * `thirdPartyExtensibilityObservable.get() ?? true` — ⛔ **defaulting to ON** —
9
- * and under it Cursor loads the USER-level `~/.claude/settings.json` and runs
10
- * every entry through a Claude→Cursor mapper whose table maps all three events
11
- * we register:
12
- *
13
- * W2i = { …, Stop: stop, SessionEnd: sessionEnd, PreCompact: preCompact, … }
14
- *
15
- * So on a machine with both agents configured, ONE Cursor event fires our binary
16
- * TWICE — once from `~/.cursor/hooks.json` and once from Claude's settings,
17
- * mapped. Cursor does dedupe Claude-sourced entries against its own
18
- * (`_getDeduplicatedClaudeHooks`), but the key is derived from the entry, and
19
- * ours deliberately differ: the Cursor registration carries `--agent=cursor` so
20
- * the budget and event vocabulary are right. **Different key, no dedupe.**
21
- *
22
- * ⛔ **Two processes then race on one session state file.** Both read the same
23
- * `sentOffset`, both send the same span, both write it back — a duplicate
24
- * upload — and both reach `dropSpooled`, which truncates the spool by LINES
25
- * CONSUMED. Dropping the same lines twice discards commits that were never
26
- * sent, and `capture_commits` rows cannot be retracted (D105/D108). That is
27
- * unrecoverable, which puts it in the same class as the `SessionEnd` hole.
28
- *
29
- * ## ⚠ WHY THE LOSER BOWS OUT INSTEAD OF WAITING — the opposite of `oauth/lock.ts`
30
- *
31
- * The refresh lock makes its loser WAIT and re-read, because both callers need
32
- * the result. Here the loser needs nothing: the holder is running the same work
33
- * with the same inputs, so a second pass would send nothing anyway.
34
- *
35
- * ⛔ And waiting would be actively harmful on the one event that cannot afford
36
- * it. A waiter spends the budget the watchdog is counting down, and `stampGaps`
37
- * runs AFTER the send loop — which is precisely the arithmetic that produced the
38
- * G6 defect, where the reserve was measured against the wrong clock and the
39
- * final turn was lost. Adding a wait in front of `SessionEnd` would re-open it
40
- * from the other side.
41
- *
42
- * ## ⚠ WHY SKIPPING CANNOT SUPPRESS A LEGITIMATE CAPTURE
43
- *
44
- * The key is `(repo, session, event)`, so the only thing a skip can lose is a
45
- * SECOND firing of the SAME event in the SAME session while the first is still
46
- * running. Taken one event at a time:
47
- *
48
- * - `Stop` and `PreCompact` fire repeatedly, and an overlapping one is
49
- * harmless to drop: `hookBody`'s own comment is that *"every other event has
50
- * a next invocation to pick up a lagging write"*. The bytes are not lost,
51
- * they are sent by the next turn.
52
- * - ⛔ `SessionEnd` has no next invocation — which is exactly why it is safe
53
- * here. It fires **once per session**, so a concurrent second one is not a
54
- * later capture at all; it is the duplicate this file exists to stop.
55
- *
56
- * So the arm that would be dangerous does not exist, and the arm that exists is
57
- * not dangerous. Stated rather than assumed, because "a lock that silently drops
58
- * work" is the right thing to be suspicious of.
2
+ * The file locks under every writer: `claimPath` (the one mechanism), the session writer lock and the upload worker's lock.
3
+ *
4
+ * ## ⛔ WHAT USED TO BE HERE, AND WHY IT IS GONE (U6)
5
+ * Until U6 the HOOK held a lock per firing `(repo, session, event)` (`claimFiring`, `CR-195`/U4, D205). The defect it guarded: Cursor reads the user-level
6
+ * `~/.claude/settings.json` (`isClaudeCodeHooksEnabled()` defaults to ON) and maps `Stop`/`SessionEnd`/`PreCompact` onto its own events, so ONE Cursor event
7
+ * fired our binary TWICE, and two processes then raced on one session state file: both read the same `sentOffset`, both sent the same span, both
8
+ * reached `dropSpooled`, which truncates the spool by LINES CONSUMED. Dropping the same lines twice discards commits that were never sent, and
9
+ * `capture_commits` rows cannot be retracted. The hook no longer sends or touches that state: it appends a firing line (one `O_APPEND` write, so two
10
+ * hooks interleave whole lines) and the worker replays each firing alone, in order, under the session's writer lock; a duplicate firing is a
11
+ * no-op by the pin (trap 1). The per-firing key and its loser-bows-out rule had nothing left to protect and were removed with the code that used them.
12
+ *
13
+ * ## What is here
14
+ * - `claimPath`: take the lock at a path or report a live holder. The holder writes its own staleness bound into the lock (C18 #2), beats it
15
+ * (`refresh`, C25) and releases only a lock that still carries its nonce.
16
+ * - `claimSessionWriter`: ONE writer per session (O5), whichever repo the writer stands in. The loser WAITS (spent out of its own deadline).
17
+ * - `claimUploader` / `uploaderAlive`: one worker per machine and identity (D4); the hook only READS the lock.
59
18
  */
60
19
  /** How much longer than the budget a lock may sit before anyone may reclaim it. */
61
20
  export declare const STALE_MARGIN_MS = 2000;
62
- /** `FireKey.repoKey` meaning "this firing is session-scoped, not repo-scoped". Never a path, so it cannot collide with one. */
63
- export declare const SESSION_SCOPE = "\0session";
64
- export interface FireKey {
65
- readonly repoKey: string;
66
- readonly sessionId: string;
67
- /** The agent's own event spelling is fine here — this key never travels. */
68
- readonly event: string;
69
- }
70
- /**
71
- * Where one firing's lock lives — beside the session state it protects.
72
- *
73
- * `null` when the repo key is empty, matching `sessionStatePath`: a hook with no
74
- * project resolved has nothing to serialise against and must not invent a path.
75
- */
76
- export declare function fireLockPath(home: string, key: FireKey): string | null;
77
21
  export interface FireClaim {
78
22
  /** Release ours. Safe to call twice; never removes a lock that is not ours. */
79
23
  readonly release: () => void;
@@ -86,28 +30,18 @@ export interface FireClaim {
86
30
  readonly refresh: () => boolean;
87
31
  }
88
32
  /**
89
- * Claim this firing, or report that another process already has it.
90
- *
91
- * `null` means **a live invocation is already doing this exact work** — the
92
- * caller's whole remaining job is to exit 0 quietly.
93
- *
94
- * ⚠ `budgetMs` is what makes the staleness bound DERIVED rather than guessed.
95
- * The watchdog ends a healthy holder at `budgetMs`, so nothing can legitimately
96
- * hold this longer than that plus the I/O either side; a lock older than
97
- * `budgetMs + STALE_MARGIN_MS` therefore belongs to a process that is gone.
98
- * Reclaiming too EARLY re-admits the double-send this prevents, and reclaiming
99
- * too LATE only skips one redundant invocation — so the margin leans late.
33
+ * Take the lock at `path` or report that a live holder has it. `staleAfterMs` is how old a lock may be before it is presumed
34
+ * to belong to a dead process and is reclaimed (exactly once, see the comment inside).
100
35
  */
101
- export declare function claimFiring(home: string, key: FireKey, budgetMs: number): FireClaim | null;
36
+ export declare function claimPath(path: string, staleAfterMs: number): FireClaim | null;
102
37
  /** Where a session's ONE writer lock lives (O5): beside its target record, keyed by the session id alone. */
103
38
  export declare function sessionWriterLockPath(home: string, sessionId: string): string;
104
39
  /**
105
40
  * ⛔ THE ONE LOCK PER SESSION (O5, any-folder capture): serialises every writer of a session's target record, ledgers and
106
41
  * spools: every hook event, `finalize` and `backfill`, whichever repo each is standing in.
107
42
  *
108
- * It is NOT `claimFiring`. That one answers "is this exact firing already running?" and the loser BOWS OUT; this one answers
109
- * "is another writer touching this session right now?" and the loser WAITS, because a Stop and a PreCompact (or a hook and a
110
- * `finalize`) are different work that must not interleave on one record. The wait is spent out of the CALLER'S OWN budget:
43
+ * The loser WAITS: it asks "is another writer touching this session right now?", and a worker's replay of one firing and a `finalize` or
44
+ * `backfill` are different work that must not interleave on one record. The wait is spent out of the CALLER'S OWN budget:
111
45
  * it polls until `deadlineAtMs` and then gives up with `null`, and the bytes it did not send ride the next firing (or the idle
112
46
  * drain). A waiter never holds the watchdog hostage: `wait` is the caller's awaitable timer, not a blocking sleep.
113
47
  *
@@ -119,3 +53,18 @@ export declare function claimSessionWriter(home: string, sessionId: string, opti
119
53
  readonly deadlineAtMs: number;
120
54
  readonly wait: (ms: number) => Promise<void>;
121
55
  }): Promise<FireClaim | null>;
56
+ /**
57
+ * U5 — THE UPLOAD WORKER'S LOCK: one worker per machine and identity (D4). Its holder writes its own staleness bound and beats from a TIMER
58
+ * (`UPLOADER_BEAT_MS`), so a worker that is alive is never judged dead however long one request runs, and a dead one goes stale within
59
+ * `UPLOADER_STALE_MS`. The loser of the claim exits: someone else is serving the queue.
60
+ */
61
+ export declare function claimUploader(home: string, identity: string): FireClaim | null;
62
+ /** How often the worker re-stamps its lock. */
63
+ export declare const UPLOADER_BEAT_MS = 15000;
64
+ /** Age after which an unbeaten worker lock is presumed to belong to a dead process: four missed beats. */
65
+ export declare const UPLOADER_STALE_MS: number;
66
+ /**
67
+ * U5 — IS A WORKER ALIVE FOR THIS IDENTITY? A read, never a claim: the hook asks this before it spawns and must not take, wait for or
68
+ * remove a lock. A lock that cannot be read or dated reads as "no worker", which at worst spawns one that then loses the claim and exits.
69
+ */
70
+ export declare function uploaderAlive(home: string, identity: string, nowMs?: number): boolean;
@@ -1,110 +1,32 @@
1
1
  /**
2
- * One firing, one process — `CR-195`/U4, D205.
3
- *
4
- * ## ⛔ THE DEFECT THIS EXISTS FOR, MEASURED IN CURSOR'S OWN BUNDLE
5
- *
6
- * `connect` registers our hook in each agent's config. Cursor then reads **more
7
- * than its own**: `isClaudeCodeHooksEnabled()` returns
8
- * `thirdPartyExtensibilityObservable.get() ?? true` — ⛔ **defaulting to ON** —
9
- * and under it Cursor loads the USER-level `~/.claude/settings.json` and runs
10
- * every entry through a Claude→Cursor mapper whose table maps all three events
11
- * we register:
12
- *
13
- * W2i = { …, Stop: stop, SessionEnd: sessionEnd, PreCompact: preCompact, … }
14
- *
15
- * So on a machine with both agents configured, ONE Cursor event fires our binary
16
- * TWICE — once from `~/.cursor/hooks.json` and once from Claude's settings,
17
- * mapped. Cursor does dedupe Claude-sourced entries against its own
18
- * (`_getDeduplicatedClaudeHooks`), but the key is derived from the entry, and
19
- * ours deliberately differ: the Cursor registration carries `--agent=cursor` so
20
- * the budget and event vocabulary are right. **Different key, no dedupe.**
21
- *
22
- * ⛔ **Two processes then race on one session state file.** Both read the same
23
- * `sentOffset`, both send the same span, both write it back — a duplicate
24
- * upload — and both reach `dropSpooled`, which truncates the spool by LINES
25
- * CONSUMED. Dropping the same lines twice discards commits that were never
26
- * sent, and `capture_commits` rows cannot be retracted (D105/D108). That is
27
- * unrecoverable, which puts it in the same class as the `SessionEnd` hole.
28
- *
29
- * ## ⚠ WHY THE LOSER BOWS OUT INSTEAD OF WAITING — the opposite of `oauth/lock.ts`
30
- *
31
- * The refresh lock makes its loser WAIT and re-read, because both callers need
32
- * the result. Here the loser needs nothing: the holder is running the same work
33
- * with the same inputs, so a second pass would send nothing anyway.
34
- *
35
- * ⛔ And waiting would be actively harmful on the one event that cannot afford
36
- * it. A waiter spends the budget the watchdog is counting down, and `stampGaps`
37
- * runs AFTER the send loop — which is precisely the arithmetic that produced the
38
- * G6 defect, where the reserve was measured against the wrong clock and the
39
- * final turn was lost. Adding a wait in front of `SessionEnd` would re-open it
40
- * from the other side.
41
- *
42
- * ## ⚠ WHY SKIPPING CANNOT SUPPRESS A LEGITIMATE CAPTURE
43
- *
44
- * The key is `(repo, session, event)`, so the only thing a skip can lose is a
45
- * SECOND firing of the SAME event in the SAME session while the first is still
46
- * running. Taken one event at a time:
47
- *
48
- * - `Stop` and `PreCompact` fire repeatedly, and an overlapping one is
49
- * harmless to drop: `hookBody`'s own comment is that *"every other event has
50
- * a next invocation to pick up a lagging write"*. The bytes are not lost,
51
- * they are sent by the next turn.
52
- * - ⛔ `SessionEnd` has no next invocation — which is exactly why it is safe
53
- * here. It fires **once per session**, so a concurrent second one is not a
54
- * later capture at all; it is the duplicate this file exists to stop.
55
- *
56
- * So the arm that would be dangerous does not exist, and the arm that exists is
57
- * not dangerous. Stated rather than assumed, because "a lock that silently drops
58
- * work" is the right thing to be suspicious of.
2
+ * The file locks under every writer: `claimPath` (the one mechanism), the session writer lock and the upload worker's lock.
3
+ *
4
+ * ## ⛔ WHAT USED TO BE HERE, AND WHY IT IS GONE (U6)
5
+ * Until U6 the HOOK held a lock per firing `(repo, session, event)` (`claimFiring`, `CR-195`/U4, D205). The defect it guarded: Cursor reads the user-level
6
+ * `~/.claude/settings.json` (`isClaudeCodeHooksEnabled()` defaults to ON) and maps `Stop`/`SessionEnd`/`PreCompact` onto its own events, so ONE Cursor event
7
+ * fired our binary TWICE, and two processes then raced on one session state file: both read the same `sentOffset`, both sent the same span, both
8
+ * reached `dropSpooled`, which truncates the spool by LINES CONSUMED. Dropping the same lines twice discards commits that were never sent, and
9
+ * `capture_commits` rows cannot be retracted. The hook no longer sends or touches that state: it appends a firing line (one `O_APPEND` write, so two
10
+ * hooks interleave whole lines) and the worker replays each firing alone, in order, under the session's writer lock; a duplicate firing is a
11
+ * no-op by the pin (trap 1). The per-firing key and its loser-bows-out rule had nothing left to protect and were removed with the code that used them.
12
+ *
13
+ * ## What is here
14
+ * - `claimPath`: take the lock at a path or report a live holder. The holder writes its own staleness bound into the lock (C18 #2), beats it
15
+ * (`refresh`, C25) and releases only a lock that still carries its nonce.
16
+ * - `claimSessionWriter`: ONE writer per session (O5), whichever repo the writer stands in. The loser WAITS (spent out of its own deadline).
17
+ * - `claimUploader` / `uploaderAlive`: one worker per machine and identity (D4); the hook only READS the lock.
59
18
  */
60
19
  import { linkSync, openSync, readFileSync, renameSync, unlinkSync, writeFileSync, closeSync, mkdirSync } from "node:fs";
61
20
  import { randomBytes } from "node:crypto";
62
21
  import { join } from "node:path";
63
- import { repoSessionsDir, sessionFileStem, targetsDir } from "../paths.js";
22
+ import { sessionFileStem, targetsDir, uploaderLockPath } from "../paths.js";
64
23
  /** How much longer than the budget a lock may sit before anyone may reclaim it. */
65
24
  export const STALE_MARGIN_MS = 2_000;
66
- /** `FireKey.repoKey` meaning "this firing is session-scoped, not repo-scoped". Never a path, so it cannot collide with one. */
67
- export const SESSION_SCOPE = "\u0000session";
68
- /**
69
- * Where one firing's lock lives — beside the session state it protects.
70
- *
71
- * `null` when the repo key is empty, matching `sessionStatePath`: a hook with no
72
- * project resolved has nothing to serialise against and must not invent a path.
73
- */
74
- export function fireLockPath(home, key) {
75
- // `SESSION_SCOPE` keys the firing by session and event alone (any-folder capture): the lock then lives beside the session's
76
- // target record and never creates a repo-digest directory, which a turn that ended outside any work tree has no business making.
77
- const dir = key.repoKey === SESSION_SCOPE ? targetsDir(home) : repoSessionsDir(home, key.repoKey);
78
- if (dir === null)
79
- return null;
80
- const session = key.sessionId.replace(/[^A-Za-z0-9._-]/g, "_") || "_";
81
- const event = key.event.replace(/[^A-Za-z0-9._-]/g, "_") || "_";
82
- return join(dir, `${session}.${event}.fire.lock`);
83
- }
84
- /**
85
- * Claim this firing, or report that another process already has it.
86
- *
87
- * `null` means **a live invocation is already doing this exact work** — the
88
- * caller's whole remaining job is to exit 0 quietly.
89
- *
90
- * ⚠ `budgetMs` is what makes the staleness bound DERIVED rather than guessed.
91
- * The watchdog ends a healthy holder at `budgetMs`, so nothing can legitimately
92
- * hold this longer than that plus the I/O either side; a lock older than
93
- * `budgetMs + STALE_MARGIN_MS` therefore belongs to a process that is gone.
94
- * Reclaiming too EARLY re-admits the double-send this prevents, and reclaiming
95
- * too LATE only skips one redundant invocation — so the margin leans late.
96
- */
97
- export function claimFiring(home, key, budgetMs) {
98
- const path = fireLockPath(home, key);
99
- if (path === null)
100
- return null;
101
- return claimPath(path, budgetMs + STALE_MARGIN_MS);
102
- }
103
25
  /**
104
26
  * Take the lock at `path` or report that a live holder has it. `staleAfterMs` is how old a lock may be before it is presumed
105
27
  * to belong to a dead process and is reclaimed (exactly once, see the comment inside).
106
28
  */
107
- function claimPath(path, staleAfterMs) {
29
+ export function claimPath(path, staleAfterMs) {
108
30
  // ⛔ THE HOLDER WRITES ITS OWN STALENESS BOUND INTO THE LOCK (C18 #2). A contender used to judge a lock by ITS OWN timeout, so a hook
109
31
  // (budget ~7 s) could unlink the live 60 s lock of `finalize`, and two writers then ran at once. Now a contender honours the value
110
32
  // the holder stamped; only a lock with none (written by an older client) falls back to the contender's own.
@@ -216,9 +138,8 @@ export function sessionWriterLockPath(home, sessionId) {
216
138
  * ⛔ THE ONE LOCK PER SESSION (O5, any-folder capture): serialises every writer of a session's target record, ledgers and
217
139
  * spools: every hook event, `finalize` and `backfill`, whichever repo each is standing in.
218
140
  *
219
- * It is NOT `claimFiring`. That one answers "is this exact firing already running?" and the loser BOWS OUT; this one answers
220
- * "is another writer touching this session right now?" and the loser WAITS, because a Stop and a PreCompact (or a hook and a
221
- * `finalize`) are different work that must not interleave on one record. The wait is spent out of the CALLER'S OWN budget:
141
+ * The loser WAITS: it asks "is another writer touching this session right now?", and a worker's replay of one firing and a `finalize` or
142
+ * `backfill` are different work that must not interleave on one record. The wait is spent out of the CALLER'S OWN budget:
222
143
  * it polls until `deadlineAtMs` and then gives up with `null`, and the bytes it did not send ride the next firing (or the idle
223
144
  * drain). A waiter never holds the watchdog hostage: `wait` is the caller's awaitable timer, not a blocking sleep.
224
145
  *
@@ -236,6 +157,26 @@ export async function claimSessionWriter(home, sessionId, options) {
236
157
  await options.wait(WRITER_POLL_MS);
237
158
  }
238
159
  }
160
+ /**
161
+ * U5 — THE UPLOAD WORKER'S LOCK: one worker per machine and identity (D4). Its holder writes its own staleness bound and beats from a TIMER
162
+ * (`UPLOADER_BEAT_MS`), so a worker that is alive is never judged dead however long one request runs, and a dead one goes stale within
163
+ * `UPLOADER_STALE_MS`. The loser of the claim exits: someone else is serving the queue.
164
+ */
165
+ export function claimUploader(home, identity) {
166
+ return claimPath(uploaderLockPath(home, identity), UPLOADER_STALE_MS);
167
+ }
168
+ /** How often the worker re-stamps its lock. */
169
+ export const UPLOADER_BEAT_MS = 15_000;
170
+ /** Age after which an unbeaten worker lock is presumed to belong to a dead process: four missed beats. */
171
+ export const UPLOADER_STALE_MS = 4 * UPLOADER_BEAT_MS;
172
+ /**
173
+ * U5 — IS A WORKER ALIVE FOR THIS IDENTITY? A read, never a claim: the hook asks this before it spawns and must not take, wait for or
174
+ * remove a lock. A lock that cannot be read or dated reads as "no worker", which at worst spawns one that then loses the claim and exits.
175
+ */
176
+ export function uploaderAlive(home, identity, nowMs = Date.now()) {
177
+ const held = heldLock(uploaderLockPath(home, identity));
178
+ return held !== null && nowMs - held.at <= (held.staleAfterMs ?? UPLOADER_STALE_MS);
179
+ }
239
180
  /** How often a waiting writer retries. Short against any budget, long against the cost of a failed `link()`. */
240
181
  const WRITER_POLL_MS = 20;
241
182
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fire_lock.js","sourceRoot":"","sources":["../../src/hooks/fire_lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fire_lock.js","sourceRoot":"","sources":["../../src/hooks/fire_lock.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export interface PostCommitEnvironment {
46
46
  * Bash tool env and git passes it straight through to us.
47
47
  */
48
48
  readonly env: NodeJS.ProcessEnv;
49
+ /** The observation clock, epoch ms. A test seam; defaults to `Date.now()` (U2: stamped on every line). */
50
+ readonly nowMs?: number;
49
51
  }
50
52
  /**
51
53
  * Observe the commit that just happened, or do nothing.
@@ -57,3 +59,12 @@ export interface PostCommitEnvironment {
57
59
  */
58
60
  export declare function runPostCommit(ctx: PostCommitEnvironment): number;
59
61
  export declare function observe(ctx: PostCommitEnvironment): boolean;
62
+ /**
63
+ * The paths this commit touched.
64
+ *
65
+ * `--no-commit-id --name-only -r` against `HEAD`. ⚠ A MERGE COMMIT yields
66
+ * nothing here — `diff-tree` emits no single diff for one — and that is left as
67
+ * it is rather than papered over with `-m`, which would emit the diff against
68
+ * every parent and multiply the list.
69
+ */
70
+ export declare function changedFiles(dir: string): string[];
@@ -117,17 +117,22 @@ export function observe(ctx) {
117
117
  at: committedAt(toplevel),
118
118
  // ⚠ Gathered here because it is FREE here and impossible later: the file
119
119
  // list is a property of the commit, and reconstructing it server-side
120
- // would need the repository. It stays in the spool for wave 2 and never
121
- // reaches a header (`CR-170` §4).
120
+ // would need the repository. It reaches the server in the upload BODY, as
121
+ // the length-framed trailer of `commit_files.ts`, and never in a header
122
+ // (`CR-170` §4), and only for a granted repository (E8).
122
123
  files: changedFiles(toplevel),
123
124
  // ⛔ RECORDED AT OBSERVATION TIME, because the evidence expires. By the
124
125
  // time the next hook delivers this line, the environment belonged to a
125
126
  // process that has exited and the mtimes have all moved on — the rung
126
127
  // could not be re-derived from anything then, only re-guessed.
127
128
  attribution: active.attribution,
128
- // `TODOS[176]` — the pending sidecar only: OUR wall clock at observation, the clock the promotion bound compares
129
- // with the start of the turn being delivered (the first unsent prompt-like transcript record). Not the committer time above, which is settable.
130
- ...(active.attribution === "env_session_uncorroborated" ? { observedAt: Date.now() } : {}),
129
+ // `TODOS[176]` — OUR wall clock at observation, the clock the promotion bound compares with the start of the turn being
130
+ // delivered (the first unsent prompt-like transcript record). Not the committer time above, which is settable.
131
+ //
132
+ // U2: on EVERY line now, not the pending sidecar only. The upload worker replays a firing as of the moment its hook ran, and
133
+ // the commits that delivery may carry are exactly those observed at or before it (`observedAt <= firing.at`): a commit made in
134
+ // the next turn must ride the next delivery. A line without it (an older client) counts as old and is carried at once.
135
+ observedAt: ctx.nowMs ?? Date.now(),
131
136
  });
132
137
  // ⭐ `TODOS[177]` — A SQUASH BY `reset --soft` FIRES NO `post-rewrite`, so the pairs are INFERRED here, from the reflog + ancestry +
133
138
  // tree + patch-id (see `inferred_squash.ts`; all five conditions or nothing). They go to the session's INFERRED spool — a file of their
@@ -179,10 +184,13 @@ function committedAt(dir) {
179
184
  * it is rather than papered over with `-m`, which would emit the diff against
180
185
  * every parent and multiply the list.
181
186
  */
182
- function changedFiles(dir) {
183
- const out = gitProbe(dir, ["diff-tree", "--no-commit-id", "--name-only", "-r", "HEAD"]);
187
+ export function changedFiles(dir) {
188
+ // `-z`: NUL-terminated and NEVER C-quoted. Plain `--name-only` writes a non-ASCII path as `"\303\251.ts"`, which would never match
189
+ // an Edit's `file_path` once this list reaches the server (E8). A path may begin or end with a space, so nothing is trimmed.
190
+ // `--root`: the first commit of a repository is a commit like any other.
191
+ const out = gitProbe(dir, ["diff-tree", "-z", "--root", "--no-commit-id", "--name-only", "-r", "HEAD"]);
184
192
  if (out === null)
185
193
  return [];
186
- return out.split("\n").map((l) => l.trim()).filter((l) => l !== "");
194
+ return out.split("\0").filter((l) => l !== "");
187
195
  }
188
196
  //# sourceMappingURL=post_commit.js.map