things-api 0.19.0 → 0.19.1

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 (131) hide show
  1. package/README.md +3 -1
  2. package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
  3. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
  4. package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
  5. package/dist/audit/schema.d.ts +19 -2
  6. package/dist/audit/schema.js.map +1 -1
  7. package/dist/capability.d.ts +166 -4
  8. package/dist/capability.js +303 -13
  9. package/dist/capability.js.map +1 -1
  10. package/dist/cli/commands/doctor.d.ts +13 -1
  11. package/dist/cli/commands/doctor.js +24 -14
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/helpers.js +14 -3
  14. package/dist/cli/commands/helpers.js.map +1 -1
  15. package/dist/cli/commands/mcp.js +8 -0
  16. package/dist/cli/commands/mcp.js.map +1 -1
  17. package/dist/cli/commands/repeat-flags.js +34 -2
  18. package/dist/cli/commands/repeat-flags.js.map +1 -1
  19. package/dist/cli/commands/setup.js +16 -3
  20. package/dist/cli/commands/setup.js.map +1 -1
  21. package/dist/cli/commands/writes.js +102 -67
  22. package/dist/cli/commands/writes.js.map +1 -1
  23. package/dist/cli/interrupt.d.ts +54 -6
  24. package/dist/cli/interrupt.js +78 -12
  25. package/dist/cli/interrupt.js.map +1 -1
  26. package/dist/cli/main.js +8 -5
  27. package/dist/cli/main.js.map +1 -1
  28. package/dist/client.d.ts +1 -1
  29. package/dist/contracts.d.ts +3 -3
  30. package/dist/contracts.js +1 -1
  31. package/dist/deputy/install.d.ts +15 -1
  32. package/dist/deputy/install.js +46 -6
  33. package/dist/deputy/install.js.map +1 -1
  34. package/dist/deputy/routing.d.ts +16 -0
  35. package/dist/deputy/routing.js +70 -0
  36. package/dist/deputy/routing.js.map +1 -1
  37. package/dist/deputy/wake.d.ts +61 -0
  38. package/dist/deputy/wake.js +149 -0
  39. package/dist/deputy/wake.js.map +1 -0
  40. package/dist/diagnose.d.ts +6 -4
  41. package/dist/diagnose.js +20 -4
  42. package/dist/diagnose.js.map +1 -1
  43. package/dist/direct-setup.d.ts +31 -5
  44. package/dist/direct-setup.js +200 -26
  45. package/dist/direct-setup.js.map +1 -1
  46. package/dist/host-access.d.ts +12 -0
  47. package/dist/host-access.js +12 -0
  48. package/dist/host-access.js.map +1 -1
  49. package/dist/index.d.ts +3 -3
  50. package/dist/index.js +2 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/mcp/server.js +23 -9
  53. package/dist/mcp/server.js.map +1 -1
  54. package/dist/op-result.js +8 -1
  55. package/dist/op-result.js.map +1 -1
  56. package/dist/session-grant.js +16 -1
  57. package/dist/session-grant.js.map +1 -1
  58. package/dist/surface-copy.d.ts +11 -3
  59. package/dist/surface-copy.js +11 -3
  60. package/dist/surface-copy.js.map +1 -1
  61. package/dist/wizard.js +8 -1
  62. package/dist/wizard.js.map +1 -1
  63. package/dist/write/availability.d.ts +0 -15
  64. package/dist/write/availability.js +7 -62
  65. package/dist/write/availability.js.map +1 -1
  66. package/dist/write/batch.js +17 -6
  67. package/dist/write/batch.js.map +1 -1
  68. package/dist/write/commands.d.ts +10 -6
  69. package/dist/write/commands.js +120 -31
  70. package/dist/write/commands.js.map +1 -1
  71. package/dist/write/failure-hints.d.ts +29 -6
  72. package/dist/write/failure-hints.js +9 -14
  73. package/dist/write/failure-hints.js.map +1 -1
  74. package/dist/write/guards.js +3 -2
  75. package/dist/write/guards.js.map +1 -1
  76. package/dist/write/move.js +9 -12
  77. package/dist/write/move.js.map +1 -1
  78. package/dist/write/operations.d.ts +15 -8
  79. package/dist/write/operations.js +9 -0
  80. package/dist/write/operations.js.map +1 -1
  81. package/dist/write/opid.d.ts +67 -23
  82. package/dist/write/opid.js +141 -19
  83. package/dist/write/opid.js.map +1 -1
  84. package/dist/write/param-schema.d.ts +0 -44
  85. package/dist/write/param-schema.js +10 -3
  86. package/dist/write/param-schema.js.map +1 -1
  87. package/dist/write/pipeline.d.ts +38 -7
  88. package/dist/write/pipeline.js +104 -18
  89. package/dist/write/pipeline.js.map +1 -1
  90. package/dist/write/pre-state.d.ts +30 -16
  91. package/dist/write/pre-state.js +88 -20
  92. package/dist/write/pre-state.js.map +1 -1
  93. package/dist/write/promote-clone.js +132 -18
  94. package/dist/write/promote-clone.js.map +1 -1
  95. package/dist/write/repeat-collateral.d.ts +31 -0
  96. package/dist/write/repeat-collateral.js +153 -0
  97. package/dist/write/repeat-collateral.js.map +1 -0
  98. package/dist/write/resolution-timestamps.js +25 -2
  99. package/dist/write/resolution-timestamps.js.map +1 -1
  100. package/dist/write/template-mutation.js +163 -16
  101. package/dist/write/template-mutation.js.map +1 -1
  102. package/dist/write/vectors/applescript.js +3 -10
  103. package/dist/write/vectors/applescript.js.map +1 -1
  104. package/dist/write/vectors/simulator.js +8 -2
  105. package/dist/write/vectors/simulator.js.map +1 -1
  106. package/dist/write/vectors/types.d.ts +211 -1
  107. package/dist/write/vectors/ui-certification.js +63 -13
  108. package/dist/write/vectors/ui-certification.js.map +1 -1
  109. package/dist/write/vectors/ui-chord.d.ts +144 -0
  110. package/dist/write/vectors/ui-chord.js +428 -0
  111. package/dist/write/vectors/ui-chord.js.map +1 -0
  112. package/dist/write/vectors/ui-drag.d.ts +8 -4
  113. package/dist/write/vectors/ui-drag.js +2 -0
  114. package/dist/write/vectors/ui-drag.js.map +1 -1
  115. package/dist/write/vectors/ui-recipes.d.ts +51 -3
  116. package/dist/write/vectors/ui-recipes.js +452 -44
  117. package/dist/write/vectors/ui-recipes.js.map +1 -1
  118. package/dist/write/vectors/ui.d.ts +267 -10
  119. package/dist/write/vectors/ui.js +1006 -64
  120. package/dist/write/vectors/ui.js.map +1 -1
  121. package/dist/write/vectors/url-scheme.js +3 -0
  122. package/dist/write/vectors/url-scheme.js.map +1 -1
  123. package/dist/write/verify/delta.d.ts +41 -0
  124. package/dist/write/verify/delta.js +36 -2
  125. package/dist/write/verify/delta.js.map +1 -1
  126. package/dist/write/verify/poller.d.ts +4 -1
  127. package/dist/write/verify/poller.js +14 -0
  128. package/dist/write/verify/poller.js.map +1 -1
  129. package/package.json +1 -1
  130. package/schema/envelope.schema.json +1 -1
  131. package/skills/things-cli/SKILL.md +1 -1
@@ -42,19 +42,35 @@ export function emptyPreState() {
42
42
  * after moving `headings` (an ordered block) to the requested placement. The
43
43
  * block lands contiguously in selection order; every other heading keeps its
44
44
  * relative order. Children follow their heading on the wire (scf P1). Illegal
45
- * requests (unknown/duplicated movee, an anchor that is a movee or absent)
46
- * collect problems and leave the order unchanged.
45
+ * requests (unknown/duplicated movee, an anchor that is a movee or absent,
46
+ * an archived movee or anchor) collect problems and leave the order unchanged.
47
+ *
48
+ * The order this computes is the LIVE (`status = 0`) heading order — the order
49
+ * the project view actually renders, and therefore the order the chord vector's
50
+ * positional row addressing walks (CHORD2 cell 7a′). An archived heading holds
51
+ * its slot in the `index` axis but is invisible to both, so it appears in
52
+ * neither `current`, `targetOrder` nor `untouched`, and no assertion is made
53
+ * about its rank: the live rows are renumbered around it over time and its own
54
+ * drift among them is harmless because nothing renders it.
47
55
  */
48
56
  export function computeHeadingMovePre(db, project, headings, placement) {
49
57
  const projectUuid = project.resolved?.uuid ?? "";
50
58
  const rows = db
51
59
  .prepare(`SELECT uuid, status FROM TMTask WHERE type = 2 AND trashed = 0 AND project = ? ORDER BY "index"`)
52
60
  .all(projectUuid);
53
- const current = rows.map((r) => r.uuid);
61
+ // THE RENDERED ORDER IS THE DB ORDER FILTERED TO `status = 0` (CHORD2 cell 7a′).
54
62
  // Archived = the heading is completed/canceled (any closed status). All lifecycle
55
63
  // classes — open, archived-unswept, archived-swept — sit in this ONE index axis
56
- // (HEADSORT, read-shape v2 R5); only `archived` marks the closed ones, and only
57
- // they reopen when re-ranked (#V11).
64
+ // (HEADSORT, read-shape v2 R5), but only the OPEN ones render as content rows: an
65
+ // archived heading does not render, takes no ordinal in the positional
66
+ // `select-heading-row` walk (the walk enumerates the live headings and then
67
+ // NOMATCHes), and a live heading's ±1 chord skips straight over its slot in one
68
+ // dispatch, leaving the archived row's own `index` unwritten. So the plan's
69
+ // ordinals must enumerate the LIVE headings and nothing else — keeping archived
70
+ // rows in `current` would put every ordinal in the plan one out of step with the
71
+ // walk's per archived heading, and THAT mismatch (not the rendering) was the real
72
+ // hazard the pre-CHORD2 whole-project refusal stood in for.
73
+ const current = rows.filter((r) => r.status === 0).map((r) => r.uuid);
58
74
  const archived = new Set(rows.filter((r) => r.status !== 0).map((r) => r.uuid));
59
75
  const problems = [];
60
76
  const currentSet = new Set(current);
@@ -66,14 +82,29 @@ export function computeHeadingMovePre(db, project, headings, placement) {
66
82
  }
67
83
  if (headings.length === 0)
68
84
  problems.push("no headings given");
85
+ // An ARCHIVED heading is still refused as a MOVEE — it renders no row, so there
86
+ // is no ordinal to select it by and no chord can reach it. Its presence in the
87
+ // project is no longer an obstacle (it is simply absent from the walk), but
88
+ // naming one as the thing to move is unsatisfiable.
69
89
  for (const h of headings) {
70
- if (!currentSet.has(h))
90
+ if (archived.has(h)) {
91
+ problems.push(`${h} is a completed/canceled heading — it is not shown in the project view, so there ` +
92
+ "is no row to select and no chord can move it");
93
+ }
94
+ else if (!currentSet.has(h)) {
71
95
  problems.push(`${h} is not a heading of this project`);
96
+ }
72
97
  }
73
98
  let anchor = null;
74
99
  if ("before" in placement || "after" in placement) {
75
100
  anchor = "before" in placement ? placement.before : placement.after;
76
- if (!currentSet.has(anchor)) {
101
+ if (archived.has(anchor)) {
102
+ // Same reason, from the other side: an unrendered heading has no slot for a
103
+ // live heading to be placed relative to.
104
+ problems.push(`anchor heading ${anchor} is completed/canceled — an archived heading holds no ` +
105
+ "position in the project view to place another heading against");
106
+ }
107
+ else if (!currentSet.has(anchor)) {
77
108
  problems.push(`anchor heading ${anchor} is not a heading of this project`);
78
109
  }
79
110
  if (movees.has(anchor)) {
@@ -81,7 +112,7 @@ export function computeHeadingMovePre(db, project, headings, placement) {
81
112
  }
82
113
  }
83
114
  if (problems.length > 0) {
84
- return { project, current, targetOrder: current, wire: [], reopened: [], problems };
115
+ return { project, current, targetOrder: current, untouched: [], children: [], problems };
85
116
  }
86
117
  const rest = current.filter((u) => !movees.has(u));
87
118
  let targetOrder;
@@ -93,13 +124,22 @@ export function computeHeadingMovePre(db, project, headings, placement) {
93
124
  const insertAt = "before" in placement ? idx : idx + 1;
94
125
  targetOrder = [...rest.slice(0, insertAt), ...headings, ...rest.slice(insertAt)];
95
126
  }
96
- // Minimal front-cluster wire (#V11). An empty wire means the request is already
97
- // satisfied (target == current); fall back to the full order so the pipeline has
98
- // a concrete invocation that reproduces it (and any forced reopen is disclosed).
99
- const minimal = minimalReorderWire(current, targetOrder);
100
- const wire = minimal.length > 0 ? minimal : [...targetOrder];
101
- const reopened = wire.filter((u) => archived.has(u));
102
- return { project, current, targetOrder, wire, reopened, problems: [] };
127
+ // The untouched set: headings the caller did not name AND whose POSITION the
128
+ // move does not change. Position-unchanged is the right fence, not merely
129
+ // not-a-movee: a ±1 chord renumbers exactly one of the two rows it swaps, and
130
+ // which one depends on direction (moving DOWN rewrites the sibling being
131
+ // passed, not the mover CHORDMH1 arm 2, correcting HEADORD1's ⌘↑-only
132
+ // measurement). A row the move never passes over is byte-identical, and that
133
+ // is what the delta asserts.
134
+ const untouched = current.filter((u, i) => !movees.has(u) && targetOrder[i] === u);
135
+ const children = movees.size === 0
136
+ ? []
137
+ : db
138
+ .prepare(`SELECT uuid, heading FROM TMTask
139
+ WHERE trashed = 0 AND heading IN (${[...movees].map(() => "?").join(",")})
140
+ ORDER BY uuid`)
141
+ .all(...movees).map((r) => ({ uuid: r.uuid, heading: r.heading }));
142
+ return { project, current, targetOrder, untouched, children, problems: [] };
103
143
  }
104
144
  /**
105
145
  * The MINIMAL front-cluster wire that realizes `target` from `current` under the
@@ -233,9 +273,37 @@ export function classifyHeadingMoveToProject(db, project, headingSel, toProject)
233
273
  "a heading WITHIN its project",
234
274
  };
235
275
  }
236
- // Destination picker-collision: the picker searches BY TITLE, so a shared dest
237
- // title would filter to >1 project and Return would pick the wrong one — fail
238
- // closed even though the destination itself resolved (possibly by uuid).
276
+ // The Move… picker offers OPEN projects only: a completed or canceled one is
277
+ // absent from it entirely, and the picker's trailing `New Project "<typed>"`
278
+ // row then becomes the only offer for that name. That is how the pre-fix drive
279
+ // CREATED a second project of the destination's name and moved the heading into
280
+ // it (measured on Things 3.23 — docs/lab/hxpc1-picker-assert.md §B4). The drive
281
+ // now refuses at the picker rather than committing that row, but a destination
282
+ // resolved by uuid can be non-open (title resolution already excludes those),
283
+ // so say so up front instead of after the app has been driven.
284
+ const destStatus = db
285
+ .prepare("SELECT status FROM TMTask WHERE uuid = ?")
286
+ .get(dest.resolved.uuid);
287
+ if (destStatus !== undefined && destStatus.status !== 0) {
288
+ return {
289
+ kind: "refuse",
290
+ refusal: "dest-not-open",
291
+ detail: `the destination project "${dest.resolved.title}" is ` +
292
+ `${destStatus.status === 3 ? "completed" : "canceled"} — the Move… picker the drive uses ` +
293
+ "lists open projects only, so there is no row to move the heading into; reopen the " +
294
+ "destination project first",
295
+ };
296
+ }
297
+ // Destination title TWINS: the drive commits the picker row whose title equals
298
+ // the destination's exactly, so two projects sharing that title give two
299
+ // identical rows and no way to tell which one the caller meant — fail closed
300
+ // even though the destination itself resolved (possibly by uuid). Deliberately
301
+ // NOT widened to PREFIX collisions: an exact-title row is a different row from
302
+ // one that merely starts with the same text, so "Synthetic Work" is committed
303
+ // unambiguously with "Synthetic Work Stuff" sitting right beside it in the
304
+ // filtered list (measured — HXPC1 §B3/§C3), and refusing that would decline an
305
+ // operation the app expresses perfectly well. The drive's own row resolution is
306
+ // the backstop: it refuses on anything other than exactly one matching row.
239
307
  const destTitle = dest.resolved.title;
240
308
  const destTwins = db
241
309
  .prepare("SELECT COUNT(*) AS n FROM TMTask WHERE type = 1 AND trashed = 0 AND title = ? AND uuid != ?")
@@ -245,8 +313,8 @@ export function classifyHeadingMoveToProject(db, project, headingSel, toProject)
245
313
  kind: "refuse",
246
314
  refusal: "dest-ambiguous",
247
315
  detail: `the destination title "${destTitle}" is shared by ${destTwins.n + 1} projects — the ` +
248
- "Move… picker searches by title and would land the heading in the wrong one; rename or " +
249
- "merge the duplicates first",
316
+ "Move… picker lists one row per project and the drive addresses that row by title, so " +
317
+ "there is no way to pick between them; rename or merge the duplicates first",
250
318
  };
251
319
  }
252
320
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"pre-state.js","sourceRoot":"","sources":["../../src/write/pre-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-state.js","sourceRoot":"","sources":["../../src/write/pre-state.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,11 @@ import { byUuid } from "../read/detail.js";
5
5
  import { resolveProjectWriteTarget, resolveTaskUuidPrefix } from "../read/queries.js";
6
6
  import { runCloneProject, runCloneTodo } from "./clone.js";
7
7
  import { promoteProjectViaGui } from "./make-repeating-project.js";
8
+ import { replayIfApplied } from "./opid.js";
8
9
  import { fingerprintLabel, runComposite, runMutation, } from "./pipeline.js";
9
10
  import { assessOffRuleFirst, daysBetweenIso, deriveFixedAnchor, isIsoDate, } from "./repeat-anchor.js";
10
11
  import { assertRepeatRule, ruleToInverseParams, splitAddRepeatingRule } from "./repeat-rule.js";
11
- import { createDbReader } from "./verify/delta.js";
12
+ import { createDbReader, } from "./verify/delta.js";
12
13
  import { H_UI_SESSION_UNREACHABLE } from "./vectors/session-reachability.js";
13
14
  const PLACEMENT_NOTE = "the series' current instance lands at its container's default position — its prior slot was " +
14
15
  "not automatically restored (best-effort placement is not yet wired for this container); " +
@@ -340,6 +341,36 @@ function discoveryOf(promote) {
340
341
  };
341
342
  }
342
343
  // -------------------------------------------------------------- audit summary
344
+ /**
345
+ * The promote compound's presence oracle: "a repeating TEMPLATE with this title,
346
+ * created since this call started, exists". It is the same create-probe the
347
+ * compound's own dry-run plan states, TIME-BOUNDED to the call — the app mints a
348
+ * template with a fresh write-time creationDate even when the promoted row was
349
+ * created earlier (`--preserve-created`), so the bound is safe and it keeps an
350
+ * older namesake series from reading as this call's work. Recorded on an
351
+ * AMBIGUOUS summary so a resubmission can settle it (see {@link appendPromoteSummary}).
352
+ */
353
+ function promotePresenceDelta(title, type, startedAt) {
354
+ return {
355
+ mode: "create",
356
+ probe: { title, type, sinceEpoch: Math.floor(startedAt.getTime() / 1000) },
357
+ assert: [{ field: "repeating.isTemplate", equals: true }],
358
+ };
359
+ }
360
+ /**
361
+ * Append the promote compound's SUMMARY record — the ONE record that stands for
362
+ * the whole verb (its legs are `leg`-role records, excluded from direct undo),
363
+ * and the one record the caller's `opId` rides, so a resubmission matches the
364
+ * whole promote exactly once instead of matching a leg or nothing at all.
365
+ *
366
+ * Two shapes, one record either way:
367
+ * - the SUCCESS summary (default) — result `ok`, the single undoable unit;
368
+ * - an AMBIGUOUS summary (`ambiguous`) — result `verify-failed:timeout` with the
369
+ * presence oracle attached, written when a leg dispatched and never confirmed.
370
+ * It is not an undo target (undo reads `ok` records only); it exists so a
371
+ * resubmission carrying the same key re-reads state and decides instead of
372
+ * minting a second series.
373
+ */
343
374
  function appendPromoteSummary(deps, args) {
344
375
  const fp = deps.fingerprint();
345
376
  const observed = {
@@ -350,7 +381,7 @@ function appendPromoteSummary(deps, args) {
350
381
  const record = {
351
382
  v: 1,
352
383
  ts: args.startedAt.toISOString(),
353
- actor: deps.config.actor,
384
+ actor: args.options?.actor ?? deps.config.actor,
354
385
  host: deps.config.host,
355
386
  op: args.op,
356
387
  uuid: args.templateUuid,
@@ -359,9 +390,11 @@ function appendPromoteSummary(deps, args) {
359
390
  invocation: args.invocation,
360
391
  requested: args.requested,
361
392
  txn: { id: args.txnId, role: "summary" },
393
+ ...(args.options?.opId !== undefined && { opId: args.options.opId }),
394
+ ...(args.ambiguous !== undefined && { expected: args.ambiguous }),
362
395
  pre: null,
363
- observed,
364
- result: "ok",
396
+ observed: args.ambiguous === undefined ? observed : null,
397
+ result: args.ambiguous === undefined ? "ok" : "verify-failed:timeout",
365
398
  ...(args.preModDates !== undefined && { preModDates: args.preModDates }),
366
399
  verify: null,
367
400
  durationMs: (deps.now?.() ?? new Date()).getTime() - args.startedAt.getTime(),
@@ -373,6 +406,31 @@ function appendPromoteSummary(deps, args) {
373
406
  };
374
407
  deps.audit.append(record);
375
408
  }
409
+ /**
410
+ * Record the AMBIGUOUS summary when a promote compound's own outcome is a
411
+ * timeout — the one verdict where the series may or may not exist. Returns the
412
+ * outcome unchanged, so it wraps a composite body without re-shaping it. Only a
413
+ * keyed call records one: without an `opId` there is nothing to reconcile
414
+ * against later, and the leg records already carry the failure.
415
+ */
416
+ function recordAmbiguousPromote(deps, outcome, args) {
417
+ if (args.options.opId === undefined)
418
+ return outcome;
419
+ if (outcome.kind !== "verify-failed" || outcome.reason !== "timeout")
420
+ return outcome;
421
+ appendPromoteSummary(deps, {
422
+ startedAt: args.startedAt,
423
+ op: args.op,
424
+ txnId: args.txnId,
425
+ templateUuid: null,
426
+ instanceUuid: null,
427
+ invocation: args.invocation,
428
+ requested: args.requested,
429
+ options: args.options,
430
+ ambiguous: promotePresenceDelta(args.title, args.type, args.startedAt),
431
+ });
432
+ return outcome;
433
+ }
376
434
  /** Build the ok result for a promote (make/add-repeating). */
377
435
  function promoteOk(args) {
378
436
  const repeating = {
@@ -409,6 +467,14 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
409
467
  const op = kind === "project" ? "project.make-repeating" : "todo.make-repeating";
410
468
  // Validate the rule BEFORE anything (a bad rule must never mint a clone).
411
469
  assertRepeatRule(params);
470
+ // Idempotency FIRST, before the target is even resolved: a successful promote
471
+ // moves the original to the Trash and hands back a different uuid, so a
472
+ // resubmission of the same key must be answered from the trail rather than
473
+ // re-driven against a source that is no longer the item it names. The key
474
+ // rides the compound's single summary record, so a match is the whole verb.
475
+ const replay = replayIfApplied(deps, options);
476
+ if (replay !== null)
477
+ return replay;
412
478
  const now = deps.now?.() ?? new Date();
413
479
  const srcUuid = kind === "project"
414
480
  ? resolveProjectWriteTarget(deps.db, params.uuid)
@@ -427,6 +493,9 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
427
493
  : "verify the uuid with `things show <uuid>`, or use `things project make-repeating` for a project",
428
494
  };
429
495
  }
496
+ // Bound after the existence guard so the composite body (a hoisted function,
497
+ // where TypeScript cannot carry the narrowing) still sees a plain string.
498
+ const srcTitle = src.title;
430
499
  // ANCH2 (issue #476): the app's Repeat dialog HAS a "Next:" first-occurrence
431
500
  // field; its default is the today-anchored next match, but it is editable and
432
501
  // honored (docs/lab/anch2-next-field.md). Drive it with the requested first
@@ -449,10 +518,14 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
449
518
  ? (params.startDaysEarlier ?? 0)
450
519
  : 0;
451
520
  const driveIso = isIsoDate(whenIso) ? addDaysIso(whenIso, deadlineShift) : undefined;
452
- // The dialog is driven with the deadline-adjusted date; the verify below expects
453
- // the START to land back on the requested `--when`.
454
- const nextIso = driveIso;
455
- const expectedStartIso = isIsoDate(whenIso) ? whenIso : undefined;
521
+ // The ANCHOR is derived from the deadline-adjusted date (the anchor names the
522
+ // DUE date), but `next` is passed through as the requested START: the promote
523
+ // leg's own compile applies the "Next:" shift, and it is the ONLY place that
524
+ // does (NEXTPOP1 shifting here as well made every downstream consumer that
525
+ // shifts, `assessOffRuleFirst` among them, shift a second time). The verify
526
+ // below expects the START to land on the requested `--when` either way.
527
+ const nextIso = isIsoDate(whenIso) ? whenIso : undefined;
528
+ const expectedStartIso = nextIso;
456
529
  const effParams = { ...params, ...deriveFixedAnchor(params, driveIso) };
457
530
  // The promote leg drives the GUI — block before minting a clone if the ack is missing.
458
531
  if (options.dangerouslyDriveGui !== true && options.dryRun !== true) {
@@ -484,14 +557,29 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
484
557
  const gate = await gateUiPreflight(deps, op);
485
558
  if (gate !== null)
486
559
  return gate;
560
+ const startedAt = now;
561
+ const txnId = newTxnId(startedAt);
487
562
  // COMPOSITE LOCK: everything below is ONE verb executed as several mutations
488
563
  // (clone → trash → promote → the DBLSPAWN1 clean-up), and they must not
489
564
  // interleave with another writer's legs — the promote's row selection is by
490
565
  // TITLE, so a concurrent clone of the same item makes it ambiguous. One lock,
491
566
  // held to the end; each leg's own acquisition is a reentrant no-op.
492
567
  return runComposite(deps, op, async () => {
493
- const startedAt = now;
494
- const txnId = newTxnId(startedAt);
568
+ const outcome = await promoteBody();
569
+ // An unconfirmed outcome gets the compound's AMBIGUOUS summary, so a
570
+ // resubmission of the same key reconciles instead of minting a second series.
571
+ return recordAmbiguousPromote(deps, outcome, {
572
+ startedAt,
573
+ op,
574
+ txnId,
575
+ title: srcTitle,
576
+ type: expectedType,
577
+ invocation: `${op}: clone ${srcUuid} → trash ${srcUuid} → promote (unconfirmed)`,
578
+ requested: effParams,
579
+ options,
580
+ });
581
+ });
582
+ async function promoteBody() {
495
583
  // 1. Clone the source as a disposable, embedded leg (--preserve-created). The
496
584
  // clone has captured X's full content by the time it returns.
497
585
  const clone = kind === "project"
@@ -507,7 +595,7 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
507
595
  reason: "mismatch",
508
596
  expected: {
509
597
  mode: "create",
510
- probe: { title: src.title, type: expectedType, sinceEpoch: 0 },
598
+ probe: { title: srcTitle, type: expectedType, sinceEpoch: 0 },
511
599
  assert: [],
512
600
  },
513
601
  observed: null,
@@ -611,6 +699,7 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
611
699
  originalUuid: srcUuid,
612
700
  invocation: `${op}: clone ${srcUuid} → trash ${srcUuid} → promote ${cloneUuid} → template ${templateUuid}`,
613
701
  requested: effParams,
702
+ options,
614
703
  ...(preserveModified && preUmd !== null && { preModDates: { [srcUuid]: preUmd } }),
615
704
  });
616
705
  return promoteOk({
@@ -618,11 +707,11 @@ async function makeRepeatingViaClone(deps, kind, params, options) {
618
707
  templateUuid,
619
708
  instanceUuid,
620
709
  replacedUuid: cloneUuid,
621
- title: src.title,
710
+ title: srcTitle,
622
711
  txnId,
623
712
  warnings,
624
713
  });
625
- });
714
+ }
626
715
  }
627
716
  export function runMakeRepeatingTodo(deps, params, options = {}) {
628
717
  return makeRepeatingViaClone(deps, "todo", params, options);
@@ -639,6 +728,12 @@ export function runMakeRepeatingProject(deps, params, options = {}) {
639
728
  async function addRepeatingViaCreate(deps, kind, addParams, rule, title, options) {
640
729
  const op = kind === "project" ? "project.add-repeating" : "todo.add-repeating";
641
730
  assertRepeatRule(rule);
731
+ // Idempotency FIRST: this verb CREATES, so a blind resubmission is a duplicate
732
+ // series. The key rides the compound's single summary record, so a match is the
733
+ // whole verb — the add leg and the promote leg together — not one of them.
734
+ const replay = replayIfApplied(deps, options);
735
+ if (replay !== null)
736
+ return replay;
642
737
  // ANCH2 (issue #476): drive the Repeat dialog's "Next:" field with --when so the
643
738
  // series starts on the requested date (the field's default is today-anchored but
644
739
  // it is editable and honored). YANCH1 (issue #493): also DERIVE the calendar
@@ -658,8 +753,11 @@ async function addRepeatingViaCreate(deps, kind, addParams, rule, title, options
658
753
  const whenIso = isIsoDate(addParams["when"]) ? addParams["when"] : null;
659
754
  const deadlineShift = rule.deadline === true || (rule.startDaysEarlier ?? 0) > 0 ? (rule.startDaysEarlier ?? 0) : 0;
660
755
  const driveIso = whenIso !== null ? addDaysIso(whenIso, deadlineShift) : null;
661
- const nextIso = driveIso ?? undefined;
662
- const expectedStartIso = whenIso ?? undefined;
756
+ // The ANCHOR is derived from the deadline-adjusted date; `next` passes through
757
+ // as the requested START and the promote leg's compile applies the "Next:"
758
+ // shift — the one place that does (NEXTPOP1; see promoteViaCloneAndMakeRepeating).
759
+ const nextIso = whenIso ?? undefined;
760
+ const expectedStartIso = nextIso;
663
761
  const effRule = {
664
762
  ...rule,
665
763
  ...deriveFixedAnchor(rule, driveIso),
@@ -706,12 +804,27 @@ async function addRepeatingViaCreate(deps, kind, addParams, rule, title, options
706
804
  const gate = await gateUiPreflight(deps, op);
707
805
  if (gate !== null)
708
806
  return gate;
807
+ const startedAt = deps.now?.() ?? new Date();
808
+ const txnId = newTxnId(startedAt);
709
809
  // COMPOSITE LOCK: add → promote (→ the seed auto-trash / DBLSPAWN1 clean-up)
710
810
  // is one verb, several mutations; hold one lock across all of them so a
711
811
  // concurrent composite cannot land its own legs between ours.
712
812
  return runComposite(deps, op, async () => {
713
- const startedAt = deps.now?.() ?? new Date();
714
- const txnId = newTxnId(startedAt);
813
+ const outcome = await addBody();
814
+ // An unconfirmed outcome gets the compound's AMBIGUOUS summary, so a
815
+ // resubmission of the same key reconciles instead of creating a second series.
816
+ return recordAmbiguousPromote(deps, outcome, {
817
+ startedAt,
818
+ op,
819
+ txnId,
820
+ title,
821
+ type: expectedType,
822
+ invocation: `${op}: add "${title}" → promote (unconfirmed)`,
823
+ requested: { title, ...effRule },
824
+ options,
825
+ });
826
+ });
827
+ async function addBody() {
715
828
  // 1. Create the item (full add vocabulary) as an embedded leg.
716
829
  const addOp = kind === "project" ? "project.add" : "todo.add";
717
830
  const add = await runMutation(deps, addOp, addParams, legOptions(options, txnId, "url-scheme"));
@@ -792,6 +905,7 @@ async function addRepeatingViaCreate(deps, kind, addParams, rule, title, options
792
905
  instanceUuid,
793
906
  invocation: `${op}: add "${title}" ${createdUuid} → template ${templateUuid}`,
794
907
  requested: { title, ...effRule },
908
+ options,
795
909
  });
796
910
  return promoteOk({
797
911
  op,
@@ -802,7 +916,7 @@ async function addRepeatingViaCreate(deps, kind, addParams, rule, title, options
802
916
  txnId,
803
917
  warnings,
804
918
  });
805
- });
919
+ }
806
920
  }
807
921
  /**
808
922
  * Fold a concrete item-level `deadline` (and/or an explicit `startDaysEarlier`)