things-api 0.19.0 → 0.19.2

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 (154) 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 +52 -22
  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/ui-state.d.ts +11 -0
  22. package/dist/cli/commands/ui-state.js +27 -0
  23. package/dist/cli/commands/ui-state.js.map +1 -0
  24. package/dist/cli/commands/writes.js +102 -67
  25. package/dist/cli/commands/writes.js.map +1 -1
  26. package/dist/cli/help.js +2 -0
  27. package/dist/cli/help.js.map +1 -1
  28. package/dist/cli/interrupt.d.ts +54 -6
  29. package/dist/cli/interrupt.js +78 -12
  30. package/dist/cli/interrupt.js.map +1 -1
  31. package/dist/cli/main.js +10 -5
  32. package/dist/cli/main.js.map +1 -1
  33. package/dist/client.d.ts +1 -1
  34. package/dist/contracts.d.ts +4 -4
  35. package/dist/contracts.js +1 -1
  36. package/dist/contracts.js.map +1 -1
  37. package/dist/deputy/install.d.ts +15 -1
  38. package/dist/deputy/install.js +46 -6
  39. package/dist/deputy/install.js.map +1 -1
  40. package/dist/deputy/osa.d.ts +42 -2
  41. package/dist/deputy/osa.js +79 -5
  42. package/dist/deputy/osa.js.map +1 -1
  43. package/dist/deputy/routing.d.ts +34 -0
  44. package/dist/deputy/routing.js +95 -0
  45. package/dist/deputy/routing.js.map +1 -1
  46. package/dist/deputy/wake.d.ts +61 -0
  47. package/dist/deputy/wake.js +149 -0
  48. package/dist/deputy/wake.js.map +1 -0
  49. package/dist/diagnose.d.ts +6 -4
  50. package/dist/diagnose.js +20 -4
  51. package/dist/diagnose.js.map +1 -1
  52. package/dist/direct-setup.d.ts +31 -5
  53. package/dist/direct-setup.js +200 -26
  54. package/dist/direct-setup.js.map +1 -1
  55. package/dist/host-access.d.ts +12 -0
  56. package/dist/host-access.js +12 -0
  57. package/dist/host-access.js.map +1 -1
  58. package/dist/index.d.ts +5 -3
  59. package/dist/index.js +3 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/mcp/server.js +23 -9
  62. package/dist/mcp/server.js.map +1 -1
  63. package/dist/op-result.js +8 -1
  64. package/dist/op-result.js.map +1 -1
  65. package/dist/session-grant.js +16 -1
  66. package/dist/session-grant.js.map +1 -1
  67. package/dist/surface-copy.d.ts +11 -3
  68. package/dist/surface-copy.js +11 -3
  69. package/dist/surface-copy.js.map +1 -1
  70. package/dist/ui-state.d.ts +46 -0
  71. package/dist/ui-state.js +82 -0
  72. package/dist/ui-state.js.map +1 -0
  73. package/dist/wizard.js +8 -1
  74. package/dist/wizard.js.map +1 -1
  75. package/dist/write/accessibility-probe.js +4 -1
  76. package/dist/write/accessibility-probe.js.map +1 -1
  77. package/dist/write/automation-probe.js +7 -1
  78. package/dist/write/automation-probe.js.map +1 -1
  79. package/dist/write/availability.d.ts +0 -15
  80. package/dist/write/availability.js +7 -62
  81. package/dist/write/availability.js.map +1 -1
  82. package/dist/write/batch.js +17 -6
  83. package/dist/write/batch.js.map +1 -1
  84. package/dist/write/commands.d.ts +10 -6
  85. package/dist/write/commands.js +120 -31
  86. package/dist/write/commands.js.map +1 -1
  87. package/dist/write/failure-hints.d.ts +36 -7
  88. package/dist/write/failure-hints.js +33 -14
  89. package/dist/write/failure-hints.js.map +1 -1
  90. package/dist/write/field-limits.d.ts +100 -0
  91. package/dist/write/field-limits.js +144 -0
  92. package/dist/write/field-limits.js.map +1 -0
  93. package/dist/write/guards.js +3 -2
  94. package/dist/write/guards.js.map +1 -1
  95. package/dist/write/move.js +9 -12
  96. package/dist/write/move.js.map +1 -1
  97. package/dist/write/operations.d.ts +15 -8
  98. package/dist/write/operations.js +9 -0
  99. package/dist/write/operations.js.map +1 -1
  100. package/dist/write/opid.d.ts +67 -23
  101. package/dist/write/opid.js +141 -19
  102. package/dist/write/opid.js.map +1 -1
  103. package/dist/write/param-schema.d.ts +17 -44
  104. package/dist/write/param-schema.js +74 -7
  105. package/dist/write/param-schema.js.map +1 -1
  106. package/dist/write/pipeline.d.ts +38 -7
  107. package/dist/write/pipeline.js +134 -18
  108. package/dist/write/pipeline.js.map +1 -1
  109. package/dist/write/pre-state.d.ts +30 -16
  110. package/dist/write/pre-state.js +88 -20
  111. package/dist/write/pre-state.js.map +1 -1
  112. package/dist/write/promote-clone.d.ts +26 -0
  113. package/dist/write/promote-clone.js +333 -41
  114. package/dist/write/promote-clone.js.map +1 -1
  115. package/dist/write/repeat-collateral.d.ts +31 -0
  116. package/dist/write/repeat-collateral.js +153 -0
  117. package/dist/write/repeat-collateral.js.map +1 -0
  118. package/dist/write/resolution-timestamps.js +25 -2
  119. package/dist/write/resolution-timestamps.js.map +1 -1
  120. package/dist/write/template-mutation.js +163 -16
  121. package/dist/write/template-mutation.js.map +1 -1
  122. package/dist/write/vectors/applescript.js +3 -10
  123. package/dist/write/vectors/applescript.js.map +1 -1
  124. package/dist/write/vectors/simulator.js +8 -2
  125. package/dist/write/vectors/simulator.js.map +1 -1
  126. package/dist/write/vectors/types.d.ts +236 -4
  127. package/dist/write/vectors/ui-certification.js +63 -13
  128. package/dist/write/vectors/ui-certification.js.map +1 -1
  129. package/dist/write/vectors/ui-chord.d.ts +144 -0
  130. package/dist/write/vectors/ui-chord.js +428 -0
  131. package/dist/write/vectors/ui-chord.js.map +1 -0
  132. package/dist/write/vectors/ui-drag.d.ts +8 -4
  133. package/dist/write/vectors/ui-drag.js +2 -0
  134. package/dist/write/vectors/ui-drag.js.map +1 -1
  135. package/dist/write/vectors/ui-recipes.d.ts +51 -3
  136. package/dist/write/vectors/ui-recipes.js +452 -44
  137. package/dist/write/vectors/ui-recipes.js.map +1 -1
  138. package/dist/write/vectors/ui-state.d.ts +157 -0
  139. package/dist/write/vectors/ui-state.js +237 -0
  140. package/dist/write/vectors/ui-state.js.map +1 -0
  141. package/dist/write/vectors/ui.d.ts +386 -13
  142. package/dist/write/vectors/ui.js +1543 -124
  143. package/dist/write/vectors/ui.js.map +1 -1
  144. package/dist/write/vectors/url-scheme.js +3 -0
  145. package/dist/write/vectors/url-scheme.js.map +1 -1
  146. package/dist/write/verify/delta.d.ts +41 -0
  147. package/dist/write/verify/delta.js +36 -2
  148. package/dist/write/verify/delta.js.map +1 -1
  149. package/dist/write/verify/poller.d.ts +4 -1
  150. package/dist/write/verify/poller.js +14 -0
  151. package/dist/write/verify/poller.js.map +1 -1
  152. package/package.json +1 -1
  153. package/schema/envelope.schema.json +2 -1
  154. package/skills/things-cli/SKILL.md +2 -2
@@ -0,0 +1,100 @@
1
+ /**
2
+ * The MEASURED ceilings on Things' content fields, and the counters that
3
+ * measure a candidate value in the units the app actually cuts by.
4
+ *
5
+ * Why this exists (#621): a notes body a little over 10,000 characters was
6
+ * accepted by the app as a TRUNCATED PREFIX — cut mid-word, no error, the row
7
+ * mutated. The read-after-write caught the difference and reported a generic
8
+ * mismatch, so the caller learned that something was wrong but not that a limit
9
+ * existed, what it was, or that half the write had landed. Every field below is
10
+ * the same trap: the app never refuses an over-long value, it stores a prefix.
11
+ *
12
+ * THE LAW (NOTECAP1, [docs/lab/notecap1-notes-ceiling.md] — Things 3.23 build
13
+ * 32300036, golden `things-lab-golden-v4`). Two field classes, three ceilings:
14
+ *
15
+ * 1. **notes — 10,000 GRAPHEME CLUSTERS *and* 40,000 UTF-16 CODE UNITS,
16
+ * whichever binds first, on the URL scheme.** The cluster rule is the one
17
+ * ordinary text meets: 15,000 emoji cut to 10,000 emoji, 15,000 `e`+U+0301
18
+ * pairs cut to 10,000 pairs, and a regional-indicator flag or an emoji +
19
+ * skin-tone modifier each count as ONE. The unit rule only shows up in text
20
+ * whose clusters are unusually wide — a ZWJ emoji family is one cluster but
21
+ * eleven UTF-16 units — and it cuts on a surrogate-safe boundary rather than
22
+ * a cluster one, so it CAN leave a dangling joiner.
23
+ *
24
+ * This ceiling belongs to the URL scheme, not to the database or the app's
25
+ * model: AppleScript's `set notes` stores 60 KB without complaint. Every
26
+ * notes-carrying operation here compiles to the URL scheme (`commands.ts`
27
+ * refuses any other vector), so it is the ceiling every caller meets.
28
+ *
29
+ * It applies PER URL PARAMETER VALUE, not to the resulting field: an
30
+ * `append-notes` fragment under the ceiling joins onto an existing body and
31
+ * the joined result lands whole, well past 10,000. So the FRAGMENT is what
32
+ * must be checked — validating the JOIN would refuse writes the app performs
33
+ * correctly.
34
+ *
35
+ * 2. **titles and names — 4,000 UTF-16 CODE UNITS, in the app's model.** To-do
36
+ * titles, project titles, heading titles, checklist-item titles, area names
37
+ * and tag names all cut at 4,000 UTF-16 units, and unlike notes the cut is
38
+ * the SAME through AppleScript, so it is a property of the app rather than
39
+ * of a transport. The unit is UTF-16, not clusters: an emoji title cuts at
40
+ * 1,993 emoji (3,999 units), not 4,000 emoji. The cut lands on a cluster
41
+ * boundary, which is why a value can stop one unit short of the ceiling.
42
+ *
43
+ * There is **no URL-length ceiling** below either: a 1,000,100-character
44
+ * `things:///update` dispatches cleanly and still cuts the notes at exactly
45
+ * 10,000 clusters, and padding the URL with 5,000 more characters of `title`
46
+ * does not move that cut. The transport is not the constraint, so there is
47
+ * nothing here for vector selection to route around.
48
+ *
49
+ * Fields with no measured app cap carry no limit here — these are refusals
50
+ * against a value the app would silently mangle, not policy.
51
+ */
52
+ /**
53
+ * Count grapheme clusters — the unit the notes ceiling is expressed in.
54
+ *
55
+ * `String.prototype.length` is UTF-16 code units and would over-count every
56
+ * emoji and every combining pair, refusing an emoji-dense note at half the real
57
+ * ceiling. `Intl.Segmenter` counts extended grapheme clusters (UAX #29), which
58
+ * is what the measurement matched on every payload class probed.
59
+ */
60
+ export declare function countGraphemes(value: string): number;
61
+ /** Which unit a ceiling is counted in. */
62
+ export type LengthUnit = "graphemes" | "utf16";
63
+ /** One measured ceiling: how many, of what. */
64
+ export interface LengthLimit {
65
+ max: number;
66
+ unit: LengthUnit;
67
+ }
68
+ /** Notes: 10,000 grapheme clusters, and 40,000 UTF-16 units, whichever binds. */
69
+ export declare const NOTES_LIMITS: readonly LengthLimit[];
70
+ /** Titles and names: 4,000 UTF-16 code units, on every vector. */
71
+ export declare const TITLE_LIMITS: readonly LengthLimit[];
72
+ /**
73
+ * How many checklist items ONE dispatch carries (NOTECAP1 CK-COUNT). Past this
74
+ * Things keeps the first 100 and drops the rest — the count-axis version of the
75
+ * same silent partial landing, and just as invisible: the to-do is created, the
76
+ * items beyond 100 simply never exist.
77
+ */
78
+ export declare const CHECKLIST_MAX_ITEMS = 100;
79
+ /** Measure a value in one ceiling's own unit. */
80
+ export declare function measure(value: string, unit: LengthUnit): number;
81
+ /** How a unit is named to the caller, in the words that make the number checkable. */
82
+ export declare function unitName(unit: LengthUnit): string;
83
+ /**
84
+ * The refusal detail for an over-long field value, in the registry's house
85
+ * shape (`<path>: expected … — received …`). Names the maximum, its unit, and
86
+ * the size actually handed over, plus what the app would have done with it — so
87
+ * the caller can trim without guessing and knows why the call was not simply
88
+ * passed through. The FIRST exceeded ceiling is the one reported.
89
+ *
90
+ * Returns null when the value fits every ceiling.
91
+ */
92
+ export declare function fieldLengthRefusal(path: string, value: string, limits: readonly LengthLimit[]): string | null;
93
+ /**
94
+ * The post-write reading of a field mismatch: when what landed is a strict
95
+ * PREFIX of what was asked for, the app truncated rather than ignored, and the
96
+ * item now holds a partial value. Returns the sentence naming that — how much
97
+ * landed, how much was asked for — or null when the mismatch is something else
98
+ * (a different value, a longer one, a non-string field).
99
+ */
100
+ export declare function describeTruncation(field: string, expected: unknown, observed: unknown): string | null;
@@ -0,0 +1,144 @@
1
+ /**
2
+ * The MEASURED ceilings on Things' content fields, and the counters that
3
+ * measure a candidate value in the units the app actually cuts by.
4
+ *
5
+ * Why this exists (#621): a notes body a little over 10,000 characters was
6
+ * accepted by the app as a TRUNCATED PREFIX — cut mid-word, no error, the row
7
+ * mutated. The read-after-write caught the difference and reported a generic
8
+ * mismatch, so the caller learned that something was wrong but not that a limit
9
+ * existed, what it was, or that half the write had landed. Every field below is
10
+ * the same trap: the app never refuses an over-long value, it stores a prefix.
11
+ *
12
+ * THE LAW (NOTECAP1, [docs/lab/notecap1-notes-ceiling.md] — Things 3.23 build
13
+ * 32300036, golden `things-lab-golden-v4`). Two field classes, three ceilings:
14
+ *
15
+ * 1. **notes — 10,000 GRAPHEME CLUSTERS *and* 40,000 UTF-16 CODE UNITS,
16
+ * whichever binds first, on the URL scheme.** The cluster rule is the one
17
+ * ordinary text meets: 15,000 emoji cut to 10,000 emoji, 15,000 `e`+U+0301
18
+ * pairs cut to 10,000 pairs, and a regional-indicator flag or an emoji +
19
+ * skin-tone modifier each count as ONE. The unit rule only shows up in text
20
+ * whose clusters are unusually wide — a ZWJ emoji family is one cluster but
21
+ * eleven UTF-16 units — and it cuts on a surrogate-safe boundary rather than
22
+ * a cluster one, so it CAN leave a dangling joiner.
23
+ *
24
+ * This ceiling belongs to the URL scheme, not to the database or the app's
25
+ * model: AppleScript's `set notes` stores 60 KB without complaint. Every
26
+ * notes-carrying operation here compiles to the URL scheme (`commands.ts`
27
+ * refuses any other vector), so it is the ceiling every caller meets.
28
+ *
29
+ * It applies PER URL PARAMETER VALUE, not to the resulting field: an
30
+ * `append-notes` fragment under the ceiling joins onto an existing body and
31
+ * the joined result lands whole, well past 10,000. So the FRAGMENT is what
32
+ * must be checked — validating the JOIN would refuse writes the app performs
33
+ * correctly.
34
+ *
35
+ * 2. **titles and names — 4,000 UTF-16 CODE UNITS, in the app's model.** To-do
36
+ * titles, project titles, heading titles, checklist-item titles, area names
37
+ * and tag names all cut at 4,000 UTF-16 units, and unlike notes the cut is
38
+ * the SAME through AppleScript, so it is a property of the app rather than
39
+ * of a transport. The unit is UTF-16, not clusters: an emoji title cuts at
40
+ * 1,993 emoji (3,999 units), not 4,000 emoji. The cut lands on a cluster
41
+ * boundary, which is why a value can stop one unit short of the ceiling.
42
+ *
43
+ * There is **no URL-length ceiling** below either: a 1,000,100-character
44
+ * `things:///update` dispatches cleanly and still cuts the notes at exactly
45
+ * 10,000 clusters, and padding the URL with 5,000 more characters of `title`
46
+ * does not move that cut. The transport is not the constraint, so there is
47
+ * nothing here for vector selection to route around.
48
+ *
49
+ * Fields with no measured app cap carry no limit here — these are refusals
50
+ * against a value the app would silently mangle, not policy.
51
+ */
52
+ /**
53
+ * Printable ASCII plus LF and TAB: each of these is its own cluster, so the
54
+ * code-unit count IS the cluster count. CR is deliberately excluded — a CR LF
55
+ * pair is a SINGLE cluster, and counting it as two would refuse a CRLF-heavy
56
+ * body about twice as early as the app would cut it.
57
+ */
58
+ const ONE_CLUSTER_PER_UNIT = /^[\x20-\x7e\n\t]*$/;
59
+ let segmenter;
60
+ /**
61
+ * Count grapheme clusters — the unit the notes ceiling is expressed in.
62
+ *
63
+ * `String.prototype.length` is UTF-16 code units and would over-count every
64
+ * emoji and every combining pair, refusing an emoji-dense note at half the real
65
+ * ceiling. `Intl.Segmenter` counts extended grapheme clusters (UAX #29), which
66
+ * is what the measurement matched on every payload class probed.
67
+ */
68
+ export function countGraphemes(value) {
69
+ // Fast path for the overwhelming majority of real values; the segmenter walk
70
+ // is the expensive part on a 10,000-character body.
71
+ if (ONE_CLUSTER_PER_UNIT.test(value))
72
+ return value.length;
73
+ segmenter ??= new Intl.Segmenter(undefined, { granularity: "grapheme" });
74
+ let n = 0;
75
+ for (const _ of segmenter.segment(value))
76
+ n++;
77
+ return n;
78
+ }
79
+ /** Notes: 10,000 grapheme clusters, and 40,000 UTF-16 units, whichever binds. */
80
+ export const NOTES_LIMITS = [
81
+ { max: 10_000, unit: "graphemes" },
82
+ { max: 40_000, unit: "utf16" },
83
+ ];
84
+ /** Titles and names: 4,000 UTF-16 code units, on every vector. */
85
+ export const TITLE_LIMITS = [{ max: 4_000, unit: "utf16" }];
86
+ /**
87
+ * How many checklist items ONE dispatch carries (NOTECAP1 CK-COUNT). Past this
88
+ * Things keeps the first 100 and drops the rest — the count-axis version of the
89
+ * same silent partial landing, and just as invisible: the to-do is created, the
90
+ * items beyond 100 simply never exist.
91
+ */
92
+ export const CHECKLIST_MAX_ITEMS = 100;
93
+ /** Measure a value in one ceiling's own unit. */
94
+ export function measure(value, unit) {
95
+ return unit === "utf16" ? value.length : countGraphemes(value);
96
+ }
97
+ /** How a unit is named to the caller, in the words that make the number checkable. */
98
+ export function unitName(unit) {
99
+ return unit === "utf16" ? "UTF-16 code units" : "characters";
100
+ }
101
+ /**
102
+ * The refusal detail for an over-long field value, in the registry's house
103
+ * shape (`<path>: expected … — received …`). Names the maximum, its unit, and
104
+ * the size actually handed over, plus what the app would have done with it — so
105
+ * the caller can trim without guessing and knows why the call was not simply
106
+ * passed through. The FIRST exceeded ceiling is the one reported.
107
+ *
108
+ * Returns null when the value fits every ceiling.
109
+ */
110
+ export function fieldLengthRefusal(path, value, limits) {
111
+ for (const limit of limits) {
112
+ const n = measure(value, limit.unit);
113
+ if (n <= limit.max)
114
+ continue;
115
+ return (`${path}: expected at most ${limit.max.toLocaleString("en-US")} ${unitName(limit.unit)} — ` +
116
+ `received ${n.toLocaleString("en-US")}; Things stores a longer value as a truncated ` +
117
+ `prefix rather than refusing it, so nothing was sent`);
118
+ }
119
+ return null;
120
+ }
121
+ /**
122
+ * The post-write reading of a field mismatch: when what landed is a strict
123
+ * PREFIX of what was asked for, the app truncated rather than ignored, and the
124
+ * item now holds a partial value. Returns the sentence naming that — how much
125
+ * landed, how much was asked for — or null when the mismatch is something else
126
+ * (a different value, a longer one, a non-string field).
127
+ */
128
+ export function describeTruncation(field, expected, observed) {
129
+ if (typeof expected !== "string" || typeof observed !== "string")
130
+ return null;
131
+ if (observed.length === 0 || observed.length >= expected.length)
132
+ return null;
133
+ if (!expected.startsWith(observed))
134
+ return null;
135
+ const ceilings = (field === "notes" ? NOTES_LIMITS : TITLE_LIMITS)
136
+ .map((l) => `${l.max.toLocaleString("en-US")} ${unitName(l.unit)}`)
137
+ .join(" / ");
138
+ return (`${field} was TRUNCATED, not ignored: ${observed.length.toLocaleString("en-US")} of the ` +
139
+ `${expected.length.toLocaleString("en-US")} UTF-16 code units requested landed, and the ` +
140
+ `stored value is a prefix of what was sent — the item now holds a partial value. Things ` +
141
+ `caps this field at ${ceilings} and stores a longer value as a prefix rather than ` +
142
+ `refusing it`);
143
+ }
144
+ //# sourceMappingURL=field-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-limits.js","sourceRoot":"","sources":["../../src/write/field-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD,IAAI,SAAqC,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,6EAA6E;IAC7E,oDAAoD;IACpD,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAC1D,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,CAAC,EAAE,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC;AAWD,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;CAC/B,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,YAAY,GAA2B,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,iDAAiD;AACjD,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,IAAgB;IACrD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,QAAQ,CAAC,IAAgB;IACvC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,KAAa,EACb,MAA8B;IAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG;YAAE,SAAS;QAC7B,OAAO,CACL,GAAG,IAAI,sBAAsB,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;YAC3F,YAAY,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,gDAAgD;YACrF,qDAAqD,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,QAAiB,EACjB,QAAiB;IAEjB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SAClE,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,CACL,GAAG,KAAK,gCAAgC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU;QACzF,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,+CAA+C;QACzF,yFAAyF;QACzF,sBAAsB,QAAQ,qDAAqD;QACnF,aAAa,CACd,CAAC;AACJ,CAAC"}
@@ -369,9 +369,10 @@ const GUARDS = {
369
369
  return {
370
370
  hazard: "H-HEADING-ORDER",
371
371
  detail: `heading move rejected: ${pre.headingMove.problems.join("; ")}`,
372
- remediation: "every heading must be one of this project's headings (list them with " +
372
+ remediation: "every heading must be one of this project's OPEN headings (list them with " +
373
373
  "`things project-view <project>`), named at most once, and the anchor must be a " +
374
- "different heading in the same project",
374
+ "different open heading in the same project — a completed or canceled heading is not " +
375
+ "shown in the project view, so it can be neither moved nor used as an anchor",
375
376
  };
376
377
  },
377
378
  "H-NO-REMINDER": ({ op, pre }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/write/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/write/guards.ts"],"names":[],"mappings":"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"}
@@ -1325,9 +1325,15 @@ export async function runUniversalReorder(deps, request, options = {}) {
1325
1325
  return runInPlaceReorder(deps, op, request, options);
1326
1326
  }
1327
1327
  /** The project's heading uuids in current display (index) order. */
1328
+ /**
1329
+ * The project's LIVE heading order — the rendered order, which is the `index`
1330
+ * order filtered to `status = 0` (CHORD2 cell 7a′). Archived headings render no
1331
+ * row, so they hold no slot a bare placement could anchor against.
1332
+ */
1328
1333
  function currentHeadingOrder(deps, projectUuid) {
1329
1334
  return deps.db
1330
- .prepare(`SELECT uuid FROM TMTask WHERE type = 2 AND trashed = 0 AND project = ? ORDER BY "index"`)
1335
+ .prepare(`SELECT uuid FROM TMTask
1336
+ WHERE type = 2 AND trashed = 0 AND status = 0 AND project = ? ORDER BY "index"`)
1331
1337
  .all(projectUuid).map((r) => r.uuid);
1332
1338
  }
1333
1339
  /**
@@ -1387,11 +1393,6 @@ async function runHeadingReorder(deps, headings, position, options) {
1387
1393
  if (pre.problems.length > 0) {
1388
1394
  return refused(op, "blocked", `heading reorder rejected: ${pre.problems.join("; ")}`, "reorder the headings of one project (read the project first)");
1389
1395
  }
1390
- const touched = pre.wire.filter((u) => !movees.includes(u) && !pre.reopened.includes(u));
1391
- const reopenNote = pre.reopened.length > 0
1392
- ? `; re-ranking archived heading(s) ${pre.reopened.join(", ")} brought them back to open ` +
1393
- "(their children stay resolved)"
1394
- : "";
1395
1396
  const result = await runMutation(deps, op, { project: { uuid: projectUuid }, headings: movees, placement }, { ...legOptions(options), ...(options.dryRun === true && { dryRun: true }) });
1396
1397
  if (options.dryRun === true) {
1397
1398
  return {
@@ -1402,7 +1403,7 @@ async function runHeadingReorder(deps, headings, position, options) {
1402
1403
  membership: "none (heading re-rank)",
1403
1404
  placement: `move-heading → ${describePosition(position)}`,
1404
1405
  placementClass: "guaranteed",
1405
- note: dryRunNote(result, "heading re-rank via the native heading-block wire") + reopenNote,
1406
+ note: dryRunNote(result, "heading re-rank by driving the app's heading-order key chords"),
1406
1407
  },
1407
1408
  };
1408
1409
  }
@@ -1432,11 +1433,7 @@ async function runHeadingReorder(deps, headings, position, options) {
1432
1433
  membership: [],
1433
1434
  placement: result,
1434
1435
  placementClass: "guaranteed",
1435
- note: `reordered ${movees.length} heading(s) within project ${projectUuid}` +
1436
- reopenNote +
1437
- (touched.length > 0
1438
- ? `; also re-inserted ${touched.length} unnamed heading(s) to honor the order: ${touched.join(", ")}`
1439
- : ""),
1436
+ note: `reordered ${movees.length} heading(s) within project ${projectUuid}`,
1440
1437
  };
1441
1438
  }
1442
1439
  /** Build the ordered single-area drag legs that realize a multi-area placement. */