@luckydraw/cumulus 1.0.40 → 1.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.0.41
4
+
5
+ Patch release. Refresh no longer rewrites the finished half of your task file.
6
+
7
+ - **`## Done` is now withheld from the worker entirely.** The first live press of Refresh made twelve edits and every one of them appended "the reload has happened" to a note on a _finished_ task — because the one fact Refresh is handed that it cannot read from the file, the version the gateway is running, is only ever mentioned in notes that live in Done. That section is the record; the format's own rule is that it is never sent to a model. It is now split off before the prompt is built and re-attached unchanged afterwards, so the model cannot edit what it never sees. The prompt is smaller for it.
8
+ - **An empty queue is refused before anything happens.** No snapshot commit, no model call — just "nothing to refresh". Given a file with nothing left to do, a model will find something to do anyway. The exception is a file that does not parse: a queue that reads as empty because the file is broken is exactly the case Refresh exists to fix, so that still runs.
9
+ - **A task the worker judges finished stays in the queue with a ✓.** Moving a task out of the queue is Close and Archive in the drawer, which is your decision, not the worker's.
10
+
3
11
  ## v1.0.40
4
12
 
5
13
  Patch release. A **Refresh** button in the `/tasks` drawer brings an old task file up to date and re-checks what every task's state actually is — run by a background worker you never see.
@@ -17,6 +17,11 @@
17
17
  * is checked before it is written, and a run that loses a task id, fails to
18
18
  * parse, or comes back without the marker is refused WHOLE. The git snapshot is
19
19
  * the belt; these checks are the braces.
20
+ *
21
+ * Task 180, after the first live press: `## Done` is now split off before the
22
+ * prompt is built and re-attached after, and an empty queue is refused outright.
23
+ * See {@link splitOffDone} — the model was rewriting the one section the format
24
+ * says is never sent to a model, because it was the only thing left to touch.
20
25
  */
21
26
  import { type TasksPayload } from './tasks.js';
22
27
  import { type RunWorkerOptions } from './worker.js';
@@ -39,6 +44,34 @@ export declare class TasksRefreshError extends Error {
39
44
  * would work only on un-migrated ones. Found by test, not by reading.
40
45
  */
41
46
  export declare function taskIdsIn(content: string): string[];
47
+ export interface DoneSplit {
48
+ /** Everything above `## Done`. The only part a model ever sees of a migrated file. */
49
+ head: string;
50
+ /** The `## Done` heading and everything under it, or null if the file has no such section. */
51
+ done: string | null;
52
+ }
53
+ /**
54
+ * Split a tasks file at its `## Done` heading.
55
+ *
56
+ * Task 180: `## Done` is the record of work that has left the queue, and the
57
+ * format's own rule is that it is never sent to a model. The first live Refresh
58
+ * proved why that has to be enforced with scissors rather than with a sentence in
59
+ * the prompt: handed the whole file and an empty queue, the model spent its one
60
+ * call appending "the reload has happened" to twelve finished tasks.
61
+ *
62
+ * The LAST heading wins, because the manual carried inside every migrated file
63
+ * quotes `## Done` while describing the grammar.
64
+ */
65
+ export declare function splitOffDone(content: string): DoneSplit;
66
+ /**
67
+ * Re-attach the withheld record to the model's answer.
68
+ *
69
+ * The original section goes back byte-for-byte. If the model emitted a `## Done`
70
+ * of its own — it is told not to — those rows are spliced in ABOVE the preserved
71
+ * ones rather than discarded: dropping them would lose their ids, and the drop
72
+ * check would then refuse an answer whose only sin was disobedience.
73
+ */
74
+ export declare function stitchDone(answer: string, originalDone: string): string;
42
75
  /** Strip a ```-fenced wrapper, which a chat-tuned model adds however firmly it is told not to. */
43
76
  export declare function unfence(answer: string): string;
44
77
  /**
@@ -56,16 +89,9 @@ export interface RefreshPromptInput {
56
89
  migrated: boolean;
57
90
  docs: string[];
58
91
  version: string;
92
+ /** True when `## Done` was split off and will be re-attached unchanged (task 180). */
93
+ doneWithheld: boolean;
59
94
  }
60
- /**
61
- * The whole prompt, as one pure function so the instructions are testable
62
- * without a model.
63
- *
64
- * The three facts at the end are the ones the model cannot get from the file and
65
- * would otherwise invent: which task docs exist, and what the gateway is actually
66
- * running. That last one is the thing Karl complained about — rows still saying
67
- * "needs reload" long after the reload happened.
68
- */
69
95
  export declare function buildRefreshPrompt(input: RefreshPromptInput): string;
70
96
  export interface RefreshResult {
71
97
  payload: TasksPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-refresh.d.ts","sourceRoot":"","sources":["../../src/gateway/tasks-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/D,yDAAyD;AACzD,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAO/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAWnD;AAED,kGAAkG;AAClG,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO9C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA6B/D;AAcD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAuCpE;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,uFAAuF;IACvF,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,CAkExB"}
1
+ {"version":3,"file":"tasks-refresh.d.ts","sourceRoot":"","sources":["../../src/gateway/tasks-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AASH,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/D,yDAAyD;AACzD,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAO/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAWnD;AAKD,MAAM,WAAW,SAAS;IACxB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAMvD;AAOD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,kGAAkG;AAClG,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO9C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA6B/D;AAcD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,YAAY,EAAE,OAAO,CAAC;CACvB;AA4CD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAyCpE;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,uFAAuF;IACvF,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,CAiDxB"}
@@ -17,6 +17,11 @@
17
17
  * is checked before it is written, and a run that loses a task id, fails to
18
18
  * parse, or comes back without the marker is refused WHOLE. The git snapshot is
19
19
  * the belt; these checks are the braces.
20
+ *
21
+ * Task 180, after the first live press: `## Done` is now split off before the
22
+ * prompt is built and re-attached after, and an empty queue is refused outright.
23
+ * See {@link splitOffDone} — the model was rewriting the one section the format
24
+ * says is never sent to a model, because it was the only thing left to touch.
20
25
  */
21
26
  import { execFileSync } from 'child_process';
22
27
  import * as fs from 'fs';
@@ -61,6 +66,50 @@ export function taskIdsIn(content) {
61
66
  }
62
67
  return ids;
63
68
  }
69
+ /** The `## Done` heading, alone on its line — the same shape the parser accepts. */
70
+ const DONE_HEADING_RE = /^## +Done *$/;
71
+ /**
72
+ * Split a tasks file at its `## Done` heading.
73
+ *
74
+ * Task 180: `## Done` is the record of work that has left the queue, and the
75
+ * format's own rule is that it is never sent to a model. The first live Refresh
76
+ * proved why that has to be enforced with scissors rather than with a sentence in
77
+ * the prompt: handed the whole file and an empty queue, the model spent its one
78
+ * call appending "the reload has happened" to twelve finished tasks.
79
+ *
80
+ * The LAST heading wins, because the manual carried inside every migrated file
81
+ * quotes `## Done` while describing the grammar.
82
+ */
83
+ export function splitOffDone(content) {
84
+ const lines = content.split('\n');
85
+ let at = -1;
86
+ for (let i = 0; i < lines.length; i++)
87
+ if (DONE_HEADING_RE.test(lines[i]))
88
+ at = i;
89
+ if (at < 0)
90
+ return { head: content, done: null };
91
+ return { head: lines.slice(0, at).join('\n'), done: lines.slice(at).join('\n') };
92
+ }
93
+ /** The rows under a `## Done` heading, with the heading and its blank padding gone. */
94
+ function doneBody(section) {
95
+ return section.split('\n').slice(1).join('\n').trim();
96
+ }
97
+ /**
98
+ * Re-attach the withheld record to the model's answer.
99
+ *
100
+ * The original section goes back byte-for-byte. If the model emitted a `## Done`
101
+ * of its own — it is told not to — those rows are spliced in ABOVE the preserved
102
+ * ones rather than discarded: dropping them would lose their ids, and the drop
103
+ * check would then refuse an answer whose only sin was disobedience.
104
+ */
105
+ export function stitchDone(answer, originalDone) {
106
+ const split = splitOffDone(answer);
107
+ const moved = split.done ? doneBody(split.done) : '';
108
+ const kept = doneBody(originalDone);
109
+ const heading = originalDone.split('\n', 1)[0];
110
+ const body = [moved, kept].filter(Boolean).join('\n');
111
+ return `${split.head.trimEnd()}\n\n${heading}\n\n${body}\n`;
112
+ }
64
113
  /** Strip a ```-fenced wrapper, which a chat-tuned model adds however firmly it is told not to. */
65
114
  export function unfence(answer) {
66
115
  const trimmed = answer.trim();
@@ -131,10 +180,43 @@ function taskDocListing(cwd) {
131
180
  * running. That last one is the thing Karl complained about — rows still saying
132
181
  * "needs reload" long after the reload happened.
133
182
  */
183
+ /**
184
+ * Rules 1 and 6 — the two that change when the record is withheld: what to
185
+ * output, and where a finished task goes.
186
+ */
187
+ function promptShape(doneWithheld) {
188
+ if (doneWithheld) {
189
+ return {
190
+ rule1: [
191
+ '1. Output the file down to the END OF THE QUEUE and stop there: a `# <name> Tasks`',
192
+ ' title, the marker line `<!-- cumulus:tasks v1 -->` alone on its own line within',
193
+ ' the first ten lines, then `## Format` (verbatim as given above) and `## Queue`.',
194
+ ' Do NOT write a `## Done` section. The file has one; it is finished work, it was',
195
+ ' deliberately withheld from you, and it is re-attached unchanged after you answer.',
196
+ ].join('\n'),
197
+ rule6: [
198
+ '6. When a task is finished, mark its row `[✅]` and LEAVE IT IN THE QUEUE. Moving a',
199
+ " task out of the queue is the user's decision, taken in the drawer, not yours.",
200
+ ].join('\n'),
201
+ };
202
+ }
203
+ return {
204
+ rule1: [
205
+ '1. Output the whole file: a `# <name> Tasks` title, the marker line',
206
+ ' `<!-- cumulus:tasks v1 -->` alone on its own line within the first ten lines,',
207
+ ' then `## Format` (verbatim as given above), `## Queue`, and `## Done`.',
208
+ ].join('\n'),
209
+ rule6: [
210
+ '6. Finished work belongs in `## Done` with a `done <YYYY-MM-DD>` field. Work still',
211
+ ' to do belongs in `## Queue`, in build order, most important first.',
212
+ ].join('\n'),
213
+ };
214
+ }
134
215
  export function buildRefreshPrompt(input) {
135
216
  const docs = input.docs.length
136
217
  ? input.docs.map(d => `- docs/tasks/${d}`).join('\n')
137
218
  : '(no docs/tasks directory)';
219
+ const shape = promptShape(input.doneWithheld);
138
220
  return [
139
221
  'You are rewriting a project task file into the exact format specified below.',
140
222
  'Return ONLY the complete new file. No preamble, no explanation, no code fence.',
@@ -143,30 +225,30 @@ export function buildRefreshPrompt(input) {
143
225
  TASKS_FORMAT_SECTION,
144
226
  '',
145
227
  '=== RULES ===',
146
- '1. Output the whole file: a `# <name> Tasks` title, the marker line',
147
- ' `<!-- cumulus:tasks v1 -->` alone on its own line within the first ten lines,',
148
- ' then `## Format` (verbatim as given above), `## Queue`, and `## Done`.',
149
- '2. EVERY task in the current file must appear in your output, with the SAME id.',
228
+ shape.rule1,
229
+ '2. EVERY task shown to you must appear in your output, with the SAME id.',
150
230
  ' Losing an id fails the whole refresh and nothing is written. If a task has no',
151
231
  ' id, mint one that does not collide with any other id in the file.',
152
232
  '3. Prose belongs in `note` lines and nowhere else. A task row is one line.',
153
233
  "4. Re-check each task's status against the evidence below. If you CANNOT ground a",
154
234
  ' status change in that evidence, leave the status exactly as it is.',
155
235
  '5. When you do change a status, add a `note` saying why, so the change is auditable.',
156
- '6. Finished work belongs in `## Done` with a `done <YYYY-MM-DD>` field. Work still',
157
- ' to do belongs in `## Queue`, in build order, most important first.',
236
+ shape.rule6,
158
237
  '',
159
238
  '=== EVIDENCE YOU CANNOT GET FROM THE FILE ===',
160
- `The gateway is currently running version ${input.version}. Any note claiming a`,
161
- 'change is "published, needs reload" for a version at or below this one is stale —',
162
- 'the reload has happened. Say so rather than repeating the claim.',
239
+ `The gateway is currently running version ${input.version}. A QUEUED task whose note`,
240
+ 'claims its change is "published, needs reload" for a version at or below this one is',
241
+ 'stale — the reload has happened, and that is grounds to re-check its status. Do not',
242
+ 'rewrite a note merely to say so: an edit that changes no status is not worth making.',
163
243
  '',
164
244
  'Task documents that exist on disk (use these for `doc` fields; do not invent paths):',
165
245
  docs,
166
246
  '',
167
- input.migrated
168
- ? '=== THE CURRENT FILE (already in this format re-check it) ==='
169
- : '=== THE CURRENT FILE (free-form — convert it) ===',
247
+ input.doneWithheld
248
+ ? '=== THE CURRENT FILE, DOWN TO THE END OF THE QUEUE (its `## Done` is withheld) ==='
249
+ : input.migrated
250
+ ? '=== THE CURRENT FILE (already in this format — re-check it) ==='
251
+ : '=== THE CURRENT FILE (free-form — convert it) ===',
170
252
  input.content,
171
253
  ].join('\n');
172
254
  }
@@ -182,19 +264,48 @@ export async function refreshTasksFile(threadName, opts = {}) {
182
264
  if (!target) {
183
265
  throw new TasksRefreshError('This thread has no Tasks.md in its always-include list, so there is nothing to refresh.');
184
266
  }
267
+ // Task 180: nothing in the queue, nothing to refresh. Refused BEFORE the
268
+ // snapshot and the model call, because the alternative is what happened on the
269
+ // first live press — a model with no legal work finding some anyway. A file
270
+ // that fails to parse is exempt: a queue that reads as empty because the file
271
+ // is broken is precisely the case Refresh exists to fix.
272
+ if (target.migrated) {
273
+ const current = parseTasksFile(target.content);
274
+ if (current.queue.length === 0 && current.errors.length === 0) {
275
+ throw new TasksRefreshError('Nothing to refresh — the queue is empty. Finished work in `## Done` is the record ' +
276
+ 'and is left alone.');
277
+ }
278
+ }
185
279
  const committed = snapshotBeforeRefresh(target.filePath);
280
+ // The record is split off rather than trusted to the prompt — see splitOffDone.
281
+ const split = target.migrated
282
+ ? splitOffDone(target.content)
283
+ : { head: target.content, done: null };
186
284
  const prompt = buildRefreshPrompt({
187
- content: target.content,
285
+ content: split.done ? split.head : target.content,
188
286
  migrated: target.migrated,
189
287
  docs: taskDocListing(target.cwd),
190
288
  version: getCurrentVersion(),
289
+ doneWithheld: split.done !== null,
191
290
  });
192
291
  const raw = opts.runModel
193
292
  ? await opts.runModel(prompt)
194
293
  : await runWorker(threadName, 'tasks-refresh', prompt, opts);
195
- const next = unfence(raw);
196
- // ── The guard rails. Each one refuses the WHOLE answer; none patches it up. ──
197
- if (!next) {
294
+ const answer = unfence(raw);
295
+ const next = split.done ? stitchDone(answer, split.done) : answer;
296
+ assertUsable(answer, next, target.content);
297
+ fs.writeFileSync(target.filePath, next.endsWith('\n') ? next : `${next}\n`, 'utf-8');
298
+ return { payload: await readTasks(threadName), committed, droppedIds: [] };
299
+ }
300
+ /**
301
+ * The guard rails. Each one refuses the WHOLE answer; none patches it up, and
302
+ * every one throws before the single `writeFileSync` above runs, so a refusal
303
+ * leaves the file byte-identical to what the snapshot just committed.
304
+ */
305
+ function assertUsable(answer, next, original) {
306
+ // Emptiness is judged on the ANSWER, not the stitched file: re-attaching the
307
+ // record to nothing would produce a plausible-looking file with no queue.
308
+ if (!answer) {
198
309
  throw new TasksRefreshError('The worker returned an empty file. Nothing was written.');
199
310
  }
200
311
  if (!hasTasksMarker(next)) {
@@ -209,7 +320,7 @@ export async function refreshTasksFile(threadName, opts = {}) {
209
320
  // The one check that catches the failure this whole task is built around: a
210
321
  // wholesale rewrite that silently loses a row. Compared against the RAW ids of
211
322
  // the file that went in, so it holds for un-migrated files too.
212
- const before = new Set(taskIdsIn(target.content));
323
+ const before = new Set(taskIdsIn(original));
213
324
  const after = new Set(parsed.queue.concat(parsed.done).map(row => row.id));
214
325
  const droppedIds = [...before].filter(id => !after.has(id));
215
326
  if (droppedIds.length > 0) {
@@ -218,7 +329,5 @@ export async function refreshTasksFile(threadName, opts = {}) {
218
329
  if (after.size === 0 && before.size > 0) {
219
330
  throw new TasksRefreshError('The worker returned a file with no tasks in it. Nothing was written.');
220
331
  }
221
- fs.writeFileSync(target.filePath, next.endsWith('\n') ? next : `${next}\n`, 'utf-8');
222
- return { payload: await readTasks(threadName), committed, droppedIds: [] };
223
332
  }
224
333
  //# sourceMappingURL=tasks-refresh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-refresh.js","sourceRoot":"","sources":["../../src/gateway/tasks-refresh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks-refresh.js","sourceRoot":"","sources":["../../src/gateway/tasks-refresh.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luckydraw/cumulus",
3
- "version": "1.0.40",
3
+ "version": "1.0.41",
4
4
  "description": "RLM-based CLI chat wrapper for Claude with external history context management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",