@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
@@ -0,0 +1,336 @@
1
+ /**
2
+ * THE UPLOAD WORKER — U5a of the detached uploader (plan §3.3, §3.9, §3.12).
3
+ *
4
+ * `vibecommit __upload-worker`: a hidden verb (not in `VERBS`, not in help), spawned detached by the hook when it has recorded a firing and
5
+ * no worker is alive (U6 spawns it; until then nothing does). ONE worker per machine and identity (`identity.ts`) holds
6
+ * `uploader.<id>.lock`, walks every session that has a firing log, and replays each session's oldest unconsumed firing ALONE through
7
+ * `replayStep`. The hook never waits for the network again; this process does, with a fixed request timeout and no deadline.
8
+ *
9
+ * ## What bounds it
10
+ * - **One request at a time**, and after each step that made requests a sleep of `max(250 ms, the step's elapsed time)` capped at 30 s
11
+ * (D9), so about half the wall clock is server work. A step is one delta per target, so it is a handful of requests at most.
12
+ * - **Backoff per session** on `later`: 5 s, doubling to 5 min, with jitter. Sessions back off independently; one failing session does not
13
+ * slow the rest.
14
+ * - **No idle linger.** It exits when nothing is owed (release the lock, look at the queue again, and take the lock back only if
15
+ * something arrived in between), after 30 min with no progress and after 60 min in all, so an upgrade takes effect and a stuck worker
16
+ * cannot live on. The next hook respawns it.
17
+ * - **It never waits for a session's writer lock** (a busy session is revisited) and sleeps at least 25 ms after every step that held one,
18
+ * longer than a waiting `finalize` polls, so a waiter can win.
19
+ * - **A newer firing version** stops it after the step in hand: a newer build owns those lines.
20
+ * - **A revoked or missing credential** stops it (`fatal`); the cursor stays, so nothing is lost and the next hook retries.
21
+ *
22
+ * ## What it reports: `uploader.<id>.status`
23
+ * Counts, classes and times only: never a body, a path or a credential. Written atomically after every step. `status` reads it (U7), and
24
+ * the hook reads it for notices (U6). "Behind" is NEVER taken from the worker's own claim; `status` recomputes it from the firing logs.
25
+ *
26
+ * ## ⛔ Static imports are the worker's own. `index.ts` loads this file with a dynamic `import()` that fails closed to exit 0.
27
+ */
28
+ import { writeFileAtomic } from "../atomic_write.js";
29
+ import { drainIdleStep } from "../drain.js";
30
+ import { firingSessions, readCursor, readFirings } from "../firing.js";
31
+ import { unboundedPaceMs } from "../hooks/entry.js";
32
+ import { claimUploader, UPLOADER_BEAT_MS } from "../hooks/fire_lock.js";
33
+ import { identityDigest } from "../identity.js";
34
+ import { uploaderStatusPath } from "../paths.js";
35
+ import { ingestUrl } from "../post.js";
36
+ import { replayStep, REQUEST_TIMEOUT_MS } from "../replay.js";
37
+ /** Backoff on `later` (plan §3.12). */
38
+ export const BACKOFF_FIRST_MS = 5_000;
39
+ export const BACKOFF_MAX_MS = 5 * 60_000;
40
+ /** Pacing (D9): sleep after a step that made requests. The constants and `unboundedPaceMs` live in `hooks/entry.ts`, beside the loops that must honour them. */
41
+ /** Yield after a step that held a session lock: longer than `WRITER_POLL_MS` (20 ms) so a waiter can win. */
42
+ export const YIELD_MS = 25;
43
+ /** Lifetime bounds (plan §3.9). */
44
+ export const NO_PROGRESS_MS = 30 * 60_000;
45
+ export const TOTAL_MS = 60 * 60_000;
46
+ /** How long a pass with nothing to do but wait (busy sessions, backoff) sleeps before looking again. */
47
+ const IDLE_POLL_MS = 1_000;
48
+ /** The last outcomes kept in the status file. */
49
+ const OUTCOMES_KEPT = 20;
50
+ const realSleep = (ms) => new Promise((resolve) => {
51
+ setTimeout(resolve, ms);
52
+ });
53
+ /** `5 s, 10 s, ... 5 min`, with ±25 % jitter. Pure given `random`. */
54
+ export function backoffMs(failures, random) {
55
+ const base = Math.min(BACKOFF_MAX_MS, BACKOFF_FIRST_MS * 2 ** Math.max(0, failures - 1));
56
+ return Math.floor(base * (0.75 + random() * 0.5));
57
+ }
58
+ /** `Retry-After` wins when it is longer than our own backoff, and nothing waits past the backoff ceiling. Pure. */
59
+ export function waitAfterLaterMs(failures, retryAfterMs, random) {
60
+ return Math.min(BACKOFF_MAX_MS, Math.max(backoffMs(failures, random), retryAfterMs ?? 0));
61
+ }
62
+ /** The sleep after a step that made requests: `max(250 ms, elapsed)`, capped. Pure. */
63
+ export function paceMs(elapsedMs) {
64
+ return unboundedPaceMs(elapsedMs);
65
+ }
66
+ /** Did this step put requests on the wire? (`done:nothing-granted` and friends resolved targets and sent nothing.) */
67
+ function madeRequests(step) {
68
+ switch (step.kind) {
69
+ case "more":
70
+ case "later":
71
+ case "threw":
72
+ return true;
73
+ case "fatal":
74
+ return step.why === "rejected";
75
+ case "done":
76
+ // U6b (F2b): a HELD step that put a request on the wire (a 403 capture_not_approved) is paced like any other; `requested` says so.
77
+ return step.class === "delivered" || (step.class === "held" && step.requested === true);
78
+ default:
79
+ return false;
80
+ }
81
+ }
82
+ /** Does `stem` still owe a firing of this identity? A read, no lock. */
83
+ function owes(cfg, stem) {
84
+ return readFirings(cfg.home, stem, readCursor(cfg.home, stem).offset).firings.some((r) => r.firing.id === cfg.identity);
85
+ }
86
+ export async function runUploadWorker(opts) {
87
+ const now = opts.now ?? Date.now;
88
+ const sleep = opts.sleep ?? realSleep;
89
+ const random = opts.random ?? Math.random;
90
+ const noProgressMs = opts.noProgressMs ?? NO_PROGRESS_MS;
91
+ const totalMs = opts.totalMs ?? TOTAL_MS;
92
+ const url = ingestUrl(opts.env);
93
+ if (url === null)
94
+ return "no-url";
95
+ const identity = identityDigest({ url, env: opts.env });
96
+ const cfg = {
97
+ home: opts.home,
98
+ env: opts.env,
99
+ nodeVersion: opts.nodeVersion,
100
+ identity,
101
+ url,
102
+ requestTimeoutMs: opts.requestTimeoutMs ?? REQUEST_TIMEOUT_MS,
103
+ };
104
+ const startedAt = now();
105
+ let lastProgressAt = startedAt;
106
+ const counts = {};
107
+ const outcomes = [];
108
+ // Set when the server rejects a credential; cleared by the next delivery. Read by the hook's `credential_revoked` notice.
109
+ let rejected;
110
+ const failures = new Map();
111
+ const notBefore = new Map();
112
+ // The idle drain (U5c): bytes sent this worker life, and one backoff for the drain as a whole (a failing session rotates to the back).
113
+ const drain = { bytes: 0 };
114
+ let drainFailures = 0;
115
+ let drainNotBefore = 0;
116
+ const writeStatus = (state, exit) => {
117
+ const status = {
118
+ v: 1,
119
+ pid: process.pid,
120
+ startedAt,
121
+ heartbeatAt: now(),
122
+ state,
123
+ ...(exit === undefined ? {} : { exit }),
124
+ counts,
125
+ outcomes,
126
+ ...(rejected === undefined ? {} : { rejected }),
127
+ };
128
+ try {
129
+ writeFileAtomic(uploaderStatusPath(opts.home, identity), `${JSON.stringify(status)}\n`, 0o600);
130
+ }
131
+ catch {
132
+ // A status file that cannot be written must not stop the uploading it reports on.
133
+ }
134
+ };
135
+ const record = (stem, klass, elapsedMs) => {
136
+ counts[klass] = (counts[klass] ?? 0) + 1;
137
+ outcomes.push({ at: now(), class: klass, elapsedMs, session: stem });
138
+ if (outcomes.length > OUTCOMES_KEPT)
139
+ outcomes.splice(0, outcomes.length - OUTCOMES_KEPT);
140
+ };
141
+ for (;;) {
142
+ const claim = claimUploader(opts.home, identity);
143
+ if (claim === null)
144
+ return "not-claimed";
145
+ let lockLost = false;
146
+ // The lock is beaten from a timer, so a live worker is never judged dead however long one request runs.
147
+ const beat = setInterval(() => {
148
+ if (!claim.refresh())
149
+ lockLost = true;
150
+ }, UPLOADER_BEAT_MS);
151
+ beat.unref();
152
+ let exit = null;
153
+ try {
154
+ writeStatus("running");
155
+ while (exit === null) {
156
+ if (lockLost) {
157
+ exit = "lock-lost";
158
+ break;
159
+ }
160
+ if (now() - startedAt >= totalMs) {
161
+ exit = "total";
162
+ break;
163
+ }
164
+ if (now() - lastProgressAt >= noProgressMs) {
165
+ exit = "no-progress";
166
+ break;
167
+ }
168
+ let worked = false;
169
+ let waiting = false;
170
+ let newer = false;
171
+ for (const stem of firingSessions(opts.home)) {
172
+ if ((notBefore.get(stem) ?? 0) > now()) {
173
+ waiting = true;
174
+ continue;
175
+ }
176
+ let step;
177
+ try {
178
+ step = await replayStep(cfg, stem);
179
+ }
180
+ catch {
181
+ // `replayStep` counts its own throws; one that escapes it is a bug, and a worker that dies on it would crash-loop the machine.
182
+ record(stem, "escaped", 0);
183
+ continue;
184
+ }
185
+ switch (step.kind) {
186
+ case "idle":
187
+ case "foreign":
188
+ continue;
189
+ case "busy":
190
+ waiting = true;
191
+ continue;
192
+ case "newer":
193
+ newer = true;
194
+ continue;
195
+ case "done":
196
+ if (step.class === "delivered")
197
+ rejected = undefined;
198
+ record(stem, `done:${step.class}`, step.elapsedMs);
199
+ failures.delete(stem);
200
+ notBefore.delete(stem);
201
+ worked = true;
202
+ lastProgressAt = now();
203
+ break;
204
+ case "more":
205
+ record(stem, "more", step.elapsedMs);
206
+ failures.delete(stem);
207
+ worked = true;
208
+ lastProgressAt = now();
209
+ break;
210
+ case "later": {
211
+ const n = (failures.get(stem) ?? 0) + 1;
212
+ failures.set(stem, n);
213
+ notBefore.set(stem, now() + waitAfterLaterMs(n, step.retryAfterMs, random));
214
+ record(stem, "later", step.elapsedMs);
215
+ waiting = true;
216
+ break;
217
+ }
218
+ case "threw":
219
+ record(stem, `threw:${step.class}`, step.elapsedMs);
220
+ if (step.class === "cursor-unwritable") {
221
+ // U6b (F9c): a cursor that cannot be written re-ran the resolver every ~250 ms for the worker's whole life. Back off like a `later`.
222
+ const n = (failures.get(stem) ?? 0) + 1;
223
+ failures.set(stem, n);
224
+ notBefore.set(stem, now() + waitAfterLaterMs(n, undefined, random));
225
+ waiting = true;
226
+ }
227
+ else {
228
+ worked = true;
229
+ }
230
+ break;
231
+ case "fatal":
232
+ if (step.why === "rejected" && step.fingerprint !== undefined)
233
+ rejected = { at: now(), fingerprint: step.fingerprint };
234
+ record(stem, `fatal:${step.why}`, step.elapsedMs);
235
+ exit = "fatal";
236
+ break;
237
+ case "lost":
238
+ record(stem, "lock-lost", 0);
239
+ exit = "lock-lost";
240
+ break;
241
+ }
242
+ writeStatus("running");
243
+ if (exit !== null)
244
+ break;
245
+ // D9 pacing after requests; otherwise just yield the session lock long enough for a waiter to take it.
246
+ await sleep(madeRequests(step) ? paceMs("elapsedMs" in step ? step.elapsedMs : 0) : YIELD_MS);
247
+ if (lockLost)
248
+ break;
249
+ }
250
+ if (exit !== null)
251
+ break;
252
+ if (newer) {
253
+ exit = "newer-firing";
254
+ break;
255
+ }
256
+ // LIVE FIRINGS OUTRANK THE DRAIN: it runs only when this pass had no live work, and one delta at a time, so the queue is looked at again
257
+ // before the next one.
258
+ if (!worked && !newer) {
259
+ if (drainNotBefore > now()) {
260
+ waiting = true;
261
+ }
262
+ else {
263
+ const step = await drainIdleStep(cfg, drain, now);
264
+ switch (step.kind) {
265
+ case "delivered":
266
+ record("drain", "drain:delivered", step.elapsedMs);
267
+ drainFailures = 0;
268
+ worked = true;
269
+ lastProgressAt = now();
270
+ writeStatus("running");
271
+ await sleep(paceMs(step.elapsedMs));
272
+ break;
273
+ case "later":
274
+ drainFailures += 1;
275
+ drainNotBefore = now() + waitAfterLaterMs(drainFailures, step.retryAfterMs, random);
276
+ record("drain", "drain:later", step.elapsedMs);
277
+ waiting = true;
278
+ writeStatus("running");
279
+ break;
280
+ case "held":
281
+ // F2a/c: a held (403) session costs one request, then the whole drain backs off like a `later`: the same session asked again
282
+ // every second was the flood. The backoff resets on a delivery.
283
+ drainFailures += 1;
284
+ drainNotBefore = now() + waitAfterLaterMs(drainFailures, undefined, random);
285
+ record("drain", "drain:held", step.elapsedMs);
286
+ waiting = true;
287
+ writeStatus("running");
288
+ await sleep(paceMs(step.elapsedMs));
289
+ break;
290
+ case "fatal":
291
+ record("drain", "drain:fatal", step.elapsedMs);
292
+ exit = "fatal";
293
+ break;
294
+ case "idle":
295
+ break;
296
+ }
297
+ if (exit !== null)
298
+ break;
299
+ }
300
+ }
301
+ if (!worked) {
302
+ if (!waiting && ![...firingSessions(opts.home)].some((stem) => owes(cfg, stem))) {
303
+ exit = "idle";
304
+ break;
305
+ }
306
+ await sleep(IDLE_POLL_MS);
307
+ }
308
+ }
309
+ // ⛔ "EXITED" IS WRITTEN WHILE THE LOCK IS STILL OURS (P1's F3). Written after the release, a successor that claimed in the gap and wrote
310
+ // "running" would be overwritten by this stale "exited", and the hook's notices and `status` read this file. Then the test seam, then the release.
311
+ writeStatus("exited", exit ?? "idle");
312
+ opts.beforeRelease?.();
313
+ }
314
+ finally {
315
+ clearInterval(beat);
316
+ // Release FIRST, look at the queue SECOND: the hook appends first and checks the lock second, so at least one side sees the other.
317
+ claim.release();
318
+ }
319
+ if (exit === "idle" && firingSessions(opts.home).some((stem) => owes(cfg, stem))) {
320
+ // A firing arrived between the last look and the release, and the hook that wrote it saw our lock still held and did not spawn.
321
+ continue;
322
+ }
323
+ return exit ?? "idle";
324
+ }
325
+ }
326
+ /** The process entry for `__upload-worker`: real clock, real env. Never throws, never prints, always exits 0. */
327
+ export async function runUploadWorkerMain(env, home) {
328
+ try {
329
+ await runUploadWorker({ home, env, nodeVersion: process.versions.node });
330
+ }
331
+ catch {
332
+ // A detached process has nobody to tell.
333
+ }
334
+ return 0;
335
+ }
336
+ //# sourceMappingURL=upload_worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload_worker.js","sourceRoot":"","sources":["../../src/commands/upload_worker.ts"],"names":[],"mappings":"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"}
@@ -158,7 +158,9 @@ import { type CommandContext } from "./context.js";
158
158
  * "excerpt": ["…verbatim scrubbed…"],
159
159
  * "agent_id": null, // ⚠ REQUIRED — see below
160
160
  * "subagent_count": 2 } ], // ⚠ optional; no producer (CR-129)
161
- * "window": { "first": 12, "last": 16, "total": 23 }, // server-computed; never counted here
161
+ * "window": { "first": 12, "last": 16, "total": 23 }, // server-computed; never counted here. first/last are 0-BASED
162
+ * // POSITIONS inside the capture, total its turn count (not stored numbers)
163
+ * "sequence_window": { "first": 11, "last": 15, "total": 23 }, // or null: the same window in the rows' stored numbers (0-based)
162
164
  * "files_without_turn": 2 }
163
165
  * ```
164
166
  *
@@ -222,11 +224,27 @@ export interface BlameCommitPayload {
222
224
  readonly grades: readonly EdgeGrade[];
223
225
  readonly turns: readonly WhyTurn[];
224
226
  readonly window: TurnWindow | null;
227
+ /**
228
+ * R7 / D18: the SAME window as `window`, in the number space the rows print (the stored `sequence`, 0-based; the notice prints
229
+ * first + 1, last + 1 and `total`). `null` when mcp sent none, which it does unless every windowed turn has a stored number.
230
+ * ⛔ Never mixed with `window` in one notice: `window` is positions inside one upload, a different number.
231
+ */
232
+ readonly sequenceWindow: TurnWindow | null;
225
233
  readonly filesWithoutTurn: number | null;
226
234
  }
227
235
  /** One turn, exactly as §10.4 draws its row. */
228
236
  export interface WhyTurn {
229
237
  readonly position: number;
238
+ /**
239
+ * The turn's STORED number, 0-based: the place the website shows as `#sequence + 1` and this verb prints as
240
+ * `turn sequence + 1` (transcript-view plan, R7: one number everywhere). `null` when the payload carries none.
241
+ *
242
+ * ⛔ **ABSENT IS NOT `position`.** `position` is a place INSIDE one upload; `sequence` is a place in the whole
243
+ * conversation's version. For any upload after the first of a hook chain they differ, so `position + 1` would print a
244
+ * number the page never shows, and a row that cites the wrong turn is worse than a row with no number. A capture
245
+ * uploaded before numbers were stored has none, and its row prints the label alone.
246
+ */
247
+ readonly sequence: number | null;
230
248
  /**
231
249
  * The tool this turn ran, or `null` when none is recorded — and on this field
232
250
  * ALONE, `null` and ABSENT are the same fact (D112 §3). Both render no
@@ -177,6 +177,9 @@ function parseTurn(value) {
177
177
  return null;
178
178
  return {
179
179
  position,
180
+ // Lenient on purpose, the safe direction: anything that is not a count reads as "no stored number", and the row then
181
+ // prints no number. It can never print a wrong one.
182
+ sequence: value.sequence === undefined || value.sequence === null ? null : asCount(value.sequence),
180
183
  tool: typeof rawTool === "string" ? rawTool : null,
181
184
  files,
182
185
  excerpt,
@@ -185,6 +188,16 @@ function parseTurn(value) {
185
188
  subagentCount: value.subagent_count === undefined ? null : asCount(value.subagent_count),
186
189
  };
187
190
  }
191
+ /**
192
+ * Lenient on purpose, the safe direction: anything that is not a well-formed window reads as "no stored numbers", and the notice
193
+ * then carries no turn numbers at all. `total` is a count, so `last` must be below it.
194
+ */
195
+ function parseSequenceWindow(value) {
196
+ if (value === undefined || value === null)
197
+ return null;
198
+ const w = parseWindow(value);
199
+ return w !== null && w.last < w.total ? w : null;
200
+ }
188
201
  function parseWindow(value) {
189
202
  if (!isRecord(value))
190
203
  return null;
@@ -289,6 +302,7 @@ export function parseBlameCommitPayload(document) {
289
302
  grades: [],
290
303
  turns: [],
291
304
  window: null,
305
+ sequenceWindow: null,
292
306
  filesWithoutTurn: null,
293
307
  };
294
308
  }
@@ -300,6 +314,7 @@ export function parseBlameCommitPayload(document) {
300
314
  grades: [],
301
315
  turns: [],
302
316
  window: null,
317
+ sequenceWindow: null,
303
318
  filesWithoutTurn: null,
304
319
  };
305
320
  }
@@ -341,6 +356,7 @@ export function parseBlameCommitPayload(document) {
341
356
  grades: rawGrades,
342
357
  turns,
343
358
  window,
359
+ sequenceWindow: parseSequenceWindow(document.sequence_window),
344
360
  filesWithoutTurn: asCount(document.files_without_turn),
345
361
  };
346
362
  }
@@ -513,7 +529,7 @@ function absence(ctx, state, fixes, commit) {
513
529
  */
514
530
  function turnRow(turn) {
515
531
  const marker = attributionMarker(turn);
516
- const head = `${" ".repeat(TURN_INDENT)}${WHY.turnLabel} ${turn.position}${turn.tool === null ? "" : `${GAP}[${turn.tool}]`}`;
532
+ const head = `${" ".repeat(TURN_INDENT)}${WHY.turnLabel}${turn.sequence === null ? "" : ` ${turn.sequence + 1}`}${turn.tool === null ? "" : `${GAP}[${turn.tool}]`}`;
517
533
  const tail = marker === "" ? "" : `${GAP}${marker}`;
518
534
  const files = turn.files.join(", ");
519
535
  if (files === "")
@@ -603,9 +619,21 @@ function turnLines(ctx, payload, file) {
603
619
  // ⚠ The truncation notice renders only when the payload SAYS the list is
604
620
  // partial, and every number in it is the payload's. D60 §D1a: windowing an
605
621
  // already-ordered list for display is rendering; deriving the numbers is not.
622
+ //
623
+ // ⛔ R7 / D18: THE NOTICE SPEAKS THE ROWS' NUMBER SPACE. The rows print `sequence + 1`; `window` is in positions inside one upload,
624
+ // a different number for any upload after the first of a chain. So with `sequence_window` the notice prints first + 1, last + 1 and
625
+ // the total of the same space, and without it (nothing stored) it prints a COUNT with no turn numbers. It never prints a position.
626
+ const sw = payload.sequenceWindow;
606
627
  const w = payload.window;
607
- if (w !== null && (w.first > 1 || w.last < w.total)) {
608
- out.push(...wrap(WHY.truncation(String(w.first), String(w.last), String(w.total)), BODY_INDENT));
628
+ if (sw !== null) {
629
+ if (sw.first > 0 || sw.last + 1 < sw.total) {
630
+ out.push(...wrap(WHY.truncation(String(sw.first + 1), String(sw.last + 1), String(sw.total)), BODY_INDENT));
631
+ }
632
+ }
633
+ else if (w !== null && payload.turns.length < w.total) {
634
+ // `window` is 0-based POSITIONS inside the capture and `total` is its turn count, so the old gate (`last < total`) was always
635
+ // true: a complete un-numbered list printed a notice. The list is partial exactly when it shows fewer turns than the capture has.
636
+ out.push(...wrap(WHY.truncationCount(String(payload.turns.length), String(w.total)), BODY_INDENT));
609
637
  }
610
638
  return out;
611
639
  }
@@ -841,6 +869,7 @@ const ABSENCE_EXIT = {
841
869
  function turnDocument(turn) {
842
870
  return {
843
871
  position: turn.position,
872
+ sequence: turn.sequence,
844
873
  tool: turn.tool,
845
874
  files: turn.files.length === 0 ? null : turn.files,
846
875
  agent_id: turn.agentId,
@@ -873,6 +902,9 @@ function whyDocument(payload, commit, file) {
873
902
  window: payload.window === null
874
903
  ? null
875
904
  : { first: payload.window.first, last: payload.window.last, total: payload.window.total },
905
+ sequence_window: payload.sequenceWindow === null
906
+ ? null
907
+ : { first: payload.sequenceWindow.first, last: payload.sequenceWindow.last, total: payload.sequenceWindow.total },
876
908
  files_without_turn: payload.filesWithoutTurn,
877
909
  };
878
910
  }
@@ -1 +1 @@
1
- {"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"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"}