things-api 0.14.0 → 0.15.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.
- package/README.md +2 -2
- package/dist/cli/commands/area.js +1 -1
- package/dist/cli/commands/project.js +1 -1
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.js +73 -4
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/todo.js +1 -1
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +20 -0
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/glyphs.js +9 -10
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.js +4 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/read-driver.d.ts +7 -1
- package/dist/cli/read-driver.js +3 -1
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +33 -2
- package/dist/cli/render.js +60 -9
- package/dist/cli/render.js.map +1 -1
- package/dist/client.d.ts +35 -3
- package/dist/client.js +25 -4
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +13 -2
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +56 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +61 -39
- package/dist/model/entities.js +0 -4
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.js +24 -43
- package/dist/model/mappers.js.map +1 -1
- package/dist/read/area-view.js +6 -6
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.js +2 -2
- package/dist/read/detail.js.map +1 -1
- package/dist/read/filter-contract.d.ts +1 -1
- package/dist/read/filter-contract.js +3 -0
- package/dist/read/filter-contract.js.map +1 -1
- package/dist/read/log-boundary.d.ts +46 -2
- package/dist/read/log-boundary.js +43 -2
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +13 -0
- package/dist/read/predicates.js +13 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.js +5 -5
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/search-rank.js +2 -2
- package/dist/read/search-rank.js.map +1 -1
- package/dist/read/shape.d.ts +5 -4
- package/dist/read/shape.js +53 -50
- package/dist/read/shape.js.map +1 -1
- package/dist/read/snapshot.js +2 -2
- package/dist/read/snapshot.js.map +1 -1
- package/dist/read/stage.d.ts +31 -13
- package/dist/read/stage.js +28 -11
- package/dist/read/stage.js.map +1 -1
- package/dist/read/views.d.ts +62 -0
- package/dist/read/views.js +131 -11
- package/dist/read/views.js.map +1 -1
- package/dist/write/clear-reminder.js +3 -1
- package/dist/write/clear-reminder.js.map +1 -1
- package/dist/write/commands.js +106 -25
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.js +11 -7
- package/dist/write/guards.js.map +1 -1
- package/dist/write/move.js +45 -0
- package/dist/write/move.js.map +1 -1
- package/dist/write/operations.d.ts +4 -3
- package/dist/write/operations.js +1 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.js +3 -3
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +41 -0
- package/dist/write/pre-state.js +64 -7
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/reorder.js +49 -2
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/resolution-timestamps.js +7 -7
- package/dist/write/resolution-timestamps.js.map +1 -1
- package/dist/write/reversibility.js +5 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/scope-guard.js +2 -0
- package/dist/write/scope-guard.js.map +1 -1
- package/dist/write/undo.d.ts +1 -1
- package/dist/write/undo.js +19 -12
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +9 -0
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/simulator.js +210 -9
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/verify/delta.d.ts +55 -10
- package/dist/write/verify/delta.js +73 -10
- package/dist/write/verify/delta.js.map +1 -1
- package/package.json +1 -1
- package/schema/envelope.schema.json +25 -0
- package/skills/things-cli/SKILL.md +9 -7
- package/skills/things-cli/references/{model.md → data-model.md} +3 -1
- package/skills/things-cli/references/ordering.md +2 -0
|
@@ -26,13 +26,14 @@ function containerKey(task) {
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* `now`/`zone` supply the evaluation clock the reader hands to `byUuid` (and thus
|
|
29
|
-
* `
|
|
30
|
-
* SAME injected clock the write planner used — never the wall
|
|
31
|
-
* pinned `THINGS_NOW` (consumer-timezone / bench fence), an
|
|
32
|
-
* item dated pinned-today would otherwise be judged
|
|
33
|
-
* reader and lose its
|
|
34
|
-
* regression from the #211
|
|
35
|
-
* pure verify-reader tests and ordering call sites are
|
|
29
|
+
* the `today`/`evening` markers) so a verified read-after-write gates Today
|
|
30
|
+
* placement on the SAME injected clock the write planner used — never the wall
|
|
31
|
+
* clock. Under a pinned `THINGS_NOW` (consumer-timezone / bench fence), an
|
|
32
|
+
* `evening`/`today` item dated pinned-today would otherwise be judged
|
|
33
|
+
* future-dated by a real-clock reader and lose its markers, failing the delta
|
|
34
|
+
* assertion (bench-caught regression from the #211 clock gate). Defaults to the
|
|
35
|
+
* host clock so the pure verify-reader tests and ordering call sites are
|
|
36
|
+
* unaffected.
|
|
36
37
|
*/
|
|
37
38
|
export function createDbReader(db, now = new Date(), zone) {
|
|
38
39
|
return {
|
|
@@ -61,6 +62,10 @@ export function createDbReader(db, now = new Date(), zone) {
|
|
|
61
62
|
const row = db.prepare("SELECT COUNT(*) AS n FROM TMTask WHERE trashed = 1").get();
|
|
62
63
|
return row.n;
|
|
63
64
|
},
|
|
65
|
+
manualLogDate() {
|
|
66
|
+
const row = db.prepare("SELECT manualLogDate FROM TMSettings").get();
|
|
67
|
+
return row?.manualLogDate ?? null;
|
|
68
|
+
},
|
|
64
69
|
findCreated(probe) {
|
|
65
70
|
const excluded = new Set(probe.excludeUuids ?? []);
|
|
66
71
|
// The time-bound is dropped to 0 ONLY for a backdated create (add --created-at):
|
|
@@ -127,12 +132,40 @@ export function createDbReader(db, now = new Date(), zone) {
|
|
|
127
132
|
},
|
|
128
133
|
};
|
|
129
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* The internal derivation-substrate field names an assertion may reference by
|
|
137
|
+
* their bare (stable) schedule-vocabulary name — they live on the entity's
|
|
138
|
+
* nested `derived` bag (one-vocabulary Batch 2), so {@link getField} reads them
|
|
139
|
+
* from there. The Today placement axis is the presence-keyed `today`/`evening`
|
|
140
|
+
* markers (`todaySection` was deleted); `reminder` resolves to the RAW stored
|
|
141
|
+
* byte on the substrate, the write engine's prediction/verification target.
|
|
142
|
+
*/
|
|
143
|
+
const DERIVED_ASSERT_FIELDS = new Set([
|
|
144
|
+
"start",
|
|
145
|
+
"logged",
|
|
146
|
+
"trashed",
|
|
147
|
+
"today",
|
|
148
|
+
"evening",
|
|
149
|
+
"reminder",
|
|
150
|
+
]);
|
|
130
151
|
/**
|
|
131
152
|
* Resolve an assertion path against a decoded entity. Computed paths:
|
|
132
153
|
* `tags` → sorted direct-tag titles; `checklistTitles` → checklist titles
|
|
133
|
-
* in order;
|
|
154
|
+
* in order; the derivation-substrate names ({@link DERIVED_ASSERT_FIELDS}) read
|
|
155
|
+
* from the nested `derived` bag; otherwise a dotted walk (`area.uuid`,
|
|
156
|
+
* `project.title`, …). NOTE: the write-verify `reminder` assertion resolves to
|
|
157
|
+
* the RAW stored byte `derived.reminder` (NOT the live-gated top-level
|
|
158
|
+
* `reminder`) — a write must be verified against the byte the app actually
|
|
159
|
+
* stored/cleared, which survives a stale schedule (§9n).
|
|
134
160
|
*/
|
|
135
161
|
export function getField(entity, path) {
|
|
162
|
+
// The substrate fields (start/logged/trashed/today/evening/reminder) live on
|
|
163
|
+
// `entity.derived` — read them there under their stable schedule-vocabulary
|
|
164
|
+
// name (a heading carries no substrate, so it has none). `reminder` here is
|
|
165
|
+
// the RAW byte, the write engine's prediction/verification target.
|
|
166
|
+
if (DERIVED_ASSERT_FIELDS.has(path) && "derived" in entity) {
|
|
167
|
+
return entity.derived[path];
|
|
168
|
+
}
|
|
136
169
|
// Day-precision views of the stored timestamps (backdating asserts these;
|
|
137
170
|
// Date objects never compare === so the raw fields are not assertable).
|
|
138
171
|
if (path === "stoppedDate" && "stopped" in entity) {
|
|
@@ -167,6 +200,22 @@ function valuesEqual(a, b) {
|
|
|
167
200
|
return JSON.stringify(a) === JSON.stringify(b);
|
|
168
201
|
return a === b || (a === undefined && b === null) || (a === null && b === undefined);
|
|
169
202
|
}
|
|
203
|
+
/** Evaluate a {@link FieldPredicate} against a decoded field value. */
|
|
204
|
+
function predicateHolds(pred, actual) {
|
|
205
|
+
switch (pred.predicate) {
|
|
206
|
+
case "arrived-on-or-before":
|
|
207
|
+
// Non-null ISO date on or before the reference day. `YYYY-MM-DD` string
|
|
208
|
+
// ordering is chronological, so a lexicographic <= is a day compare; a
|
|
209
|
+
// null/undefined (undated) value is not a string and correctly fails.
|
|
210
|
+
return typeof actual === "string" && actual <= pred.date;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** Does a decoded field value satisfy an assertion (predicate form or equality)? */
|
|
214
|
+
function assertionHolds(assertion, actual) {
|
|
215
|
+
if (assertion.satisfies !== undefined)
|
|
216
|
+
return predicateHolds(assertion.satisfies, actual);
|
|
217
|
+
return valuesEqual(actual, assertion.equals);
|
|
218
|
+
}
|
|
170
219
|
function checkAssertions(entity, assertions) {
|
|
171
220
|
const observed = {};
|
|
172
221
|
if (entity === null)
|
|
@@ -175,7 +224,7 @@ function checkAssertions(entity, assertions) {
|
|
|
175
224
|
for (const a of assertions) {
|
|
176
225
|
const actual = getField(entity, a.field);
|
|
177
226
|
observed[a.field] = actual === undefined ? null : actual;
|
|
178
|
-
if (!
|
|
227
|
+
if (!assertionHolds(a, actual))
|
|
179
228
|
pass = false;
|
|
180
229
|
}
|
|
181
230
|
return { pass, observed };
|
|
@@ -513,7 +562,7 @@ export function evaluateDelta(spec, reader, pre) {
|
|
|
513
562
|
for (const a of spec.assert) {
|
|
514
563
|
const actual = fields?.[a.field];
|
|
515
564
|
observed[a.field] = actual === undefined ? null : actual;
|
|
516
|
-
if (!
|
|
565
|
+
if (!assertionHolds(a, actual))
|
|
517
566
|
pass = false;
|
|
518
567
|
}
|
|
519
568
|
// TMArea/TMTag carry no modification date: movement = any asserted
|
|
@@ -537,6 +586,20 @@ export function evaluateDelta(spec, reader, pre) {
|
|
|
537
586
|
observed: { trashedCount: remaining },
|
|
538
587
|
};
|
|
539
588
|
}
|
|
589
|
+
case "logged-now": {
|
|
590
|
+
const current = reader.manualLogDate();
|
|
591
|
+
const advanced = current !== null && (spec.manualLogDatePre === null || current > spec.manualLogDatePre);
|
|
592
|
+
// pending>0: the boundary MUST advance (manualLogDate stamped ~the completion
|
|
593
|
+
// instant). pending==0: a clean no-op — `log completed now` advances only when
|
|
594
|
+
// there are pending completions, so an unchanged stamp is the correct outcome.
|
|
595
|
+
const satisfied = spec.pending > 0 ? advanced : true;
|
|
596
|
+
return {
|
|
597
|
+
satisfied,
|
|
598
|
+
movement: advanced,
|
|
599
|
+
assertedMovement: advanced,
|
|
600
|
+
observed: { logged: spec.pending, manualLogDate: current },
|
|
601
|
+
};
|
|
602
|
+
}
|
|
540
603
|
default: {
|
|
541
604
|
const exhaustive = spec;
|
|
542
605
|
throw new Error(`unknown delta mode: ${JSON.stringify(exhaustive)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../src/write/verify/delta.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../src/write/verify/delta.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "things-api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Typed TypeScript library + CLI for Things 3 (Cultured Code) — verified writes, audit trail, schema-drift detection",
|
|
5
5
|
"homepage": "https://github.com/mikegreiling/things-api#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"trash",
|
|
51
51
|
"changes",
|
|
52
52
|
"search",
|
|
53
|
+
"deadlines",
|
|
53
54
|
"projects",
|
|
54
55
|
"areas",
|
|
55
56
|
"tags",
|
|
@@ -158,6 +159,10 @@
|
|
|
158
159
|
"additionalProperties": false,
|
|
159
160
|
"description": "Whole-view aggregate counts (ADDITIVE). Present ONLY on the `today` view: the app's sidebar count split — `dueOrOverdue` (open members whose deadline is due or overdue) vs. `other` (the rest). A convenience aggregate an agent would otherwise recompute over the rows; it lives here so `data` stays pure domain rows. Both counts are OPEN members only, and a `0` is meaningful."
|
|
160
161
|
},
|
|
162
|
+
"logging": {
|
|
163
|
+
"$ref": "#/definitions/LogState",
|
|
164
|
+
"description": "The Logbook's log-move cadence fact (ADDITIVE). Present ONLY on the `logbook` view: the \"Move completed items to Logbook\" setting in Cultured Code's own words (`cadence` ∈ Immediately | Daily | Manually) plus — under Manually only — `lastLoggedAt`, the ISO-8601 instant of the last explicit log. A whole-view fact an agent would otherwise have no way to read; it lives here so `data` stays pure logged rows (the `meta.counts` precedent). Absent for every other view."
|
|
165
|
+
},
|
|
161
166
|
"scope": {
|
|
162
167
|
"type": "object",
|
|
163
168
|
"properties": {
|
|
@@ -204,6 +209,26 @@
|
|
|
204
209
|
"additionalProperties": false,
|
|
205
210
|
"description": "The single truncation-metadata shape for every read (the `meta.truncation` field). `shown` items were returned of `total` that matched after all filters; `limit` is the effective cap (null when the caller asked for all rows, and always null on a grouped view whose caps are per-block); `truncated` is the UNIVERSAL completeness check — true exactly when anything was dropped (`shown < total`, or any block hid rows). The dropped remainder is `total - shown`.\n\nThis is the WHOLE-VIEW rollup only. Per-bucket completeness rides INLINE on the data records (read-shape v2 R1): each `children`/`sections`/`projects` bucket carries its own `total`, present iff it was capped. The pre-v2 `blocks[]` descriptor-join sidecar is RETIRED from the wire entirely (doctrine v2 PR 5) — the per-block detail the TTY renderers need is internal render plumbing ( {@link GroupBlock } ), never serialized."
|
|
206
211
|
},
|
|
212
|
+
"LogState": {
|
|
213
|
+
"type": "object",
|
|
214
|
+
"properties": {
|
|
215
|
+
"cadence": {
|
|
216
|
+
"$ref": "#/definitions/LogCadence"
|
|
217
|
+
},
|
|
218
|
+
"lastLoggedAt": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "ISO-8601 instant of the last explicit log — present under Daily and Manually."
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"required": ["cadence"],
|
|
224
|
+
"additionalProperties": false,
|
|
225
|
+
"description": "A VIEW-LEVEL fact about the Logbook: the log-move cadence in Cultured Code's own Settings words, plus — under Daily and Manually — the instant of the last explicit log (`TMSettings.manualLogDate`), as an ISO-8601 string (an INSTANT, so a consumer renders its calendar day in their own zone; the wire carries the exact instant). Rides `meta.logging` on the wire (never a data row) — the `meta.counts` precedent for a whole-view aggregate."
|
|
226
|
+
},
|
|
227
|
+
"LogCadence": {
|
|
228
|
+
"type": "string",
|
|
229
|
+
"enum": ["Immediately", "Daily", "Manually"],
|
|
230
|
+
"description": "The Cultured Code words for the \"Move completed items to Logbook\" cadence — the exact Settings-dropdown labels (`logInterval` 0=Immediately · 1=Daily · 4=Manually; there is NO weekly/monthly in Things 3.22.x, oddities §8c). Kept in the app's own vocabulary so consumer copy never invents a lifecycle word."
|
|
231
|
+
},
|
|
207
232
|
"ErrorEnvelope": {
|
|
208
233
|
"type": "object",
|
|
209
234
|
"properties": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: things-cli
|
|
3
3
|
description: Read and manage a user's tasks in the Things 3 app (macOS) through the `things` CLI — list views like Today/Inbox/Upcoming, search, and create, edit, schedule, complete, move, or organize to-dos, projects, areas, headings, and tags. Use whenever the user asks about their tasks, to-dos, projects, or anything in Things.
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.15.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Things CLI
|
|
@@ -10,6 +10,8 @@ version: 0.14.0
|
|
|
10
10
|
|
|
11
11
|
`things --help` is the one-screen index; `things <group> --help` lists a group's verbs and flags (always current for the binary you invoke); `things help <topic>` opens a contract guide — topics: `agent`, `filters`, `ids`, `move`, `output`, `repeating`, `writes`.
|
|
12
12
|
|
|
13
|
+
**This skill's reference files** are exactly `data-model`, `contracts`, `ordering`, `errors`, `banner`, `gui` (all `references/*.md`) — do not guess other names. Read *shapes* (every view's JSON, `stage`/`when`, the compact/full tiers) live in `data-model`; the envelope, exit codes, undo, batch, and recurrence in `contracts`; move/reorder axes in `ordering`; the error contract in `errors`. There is no `reads`/`writes`/`recurrence`/`safety` file. Most tasks need only this page — open a reference only when a link below sends you there.
|
|
14
|
+
|
|
13
15
|
## Data model (read this first)
|
|
14
16
|
|
|
15
17
|
- **To-do** — the basic item: title, notes, an optional **checklist** (sub-steps), tags, schedule, deadline, reminder. Has at most ONE container — loose in an **area**, directly in a **project**, or under a **heading** inside a project — or **none at all** (standalone to-dos are normal, like standalone projects).
|
|
@@ -24,11 +26,11 @@ version: 0.14.0
|
|
|
24
26
|
|
|
25
27
|
Reads decompose an item's position onto two derived, presence-keyed words (they REPLACED the old `start`/`logged`/`trashed`/`todaySection` fields):
|
|
26
28
|
|
|
27
|
-
- **`stage`** — the sidebar BUCKET: `inbox | upcoming | anytime | someday | logbook | trash`. Read view membership off it directly (a completed row is `logbook`, a trashed row `trash`, regardless of any other hint). Dropped inside a section that already states it; present in mixed lists, `search`, `changes`, and `detail`.
|
|
29
|
+
- **`stage`** — the sidebar BUCKET: `inbox | upcoming | anytime | someday | logbook | trash`. Read view membership off it directly (a completed row is `logbook`, a trashed row `trash`, regardless of any other hint). Dropped inside a section that already states it; present in mixed lists, `search`, `changes`, `deadlines`, and `detail`.
|
|
28
30
|
- **`when`** — the TIME POSITION: `today | evening | a future ISO date`, or absent. `evening` implies today; someday is a bucket (→ `stage`), never a `when`. A due deadline pulls an undated row into Today (`when: "today"`); the app re-files it into Anytime, so it derives `stage: "anytime"` (it leaves the Inbox/Someday list).
|
|
29
31
|
- **`provisional: true`** marks a Today member the app has not yet materialized (the "N new to-dos" banner / `•` pip); see [references/banner.md](references/banner.md).
|
|
30
32
|
|
|
31
|
-
**Absence is meaningful.** In the compact list tier a field at its default is omitted (no `status` = open, no `when` = not in Today), and inside a single-container node an item omits ancestry the node already states (absent `project`/`area` there = inherited). Full rules and the compact/full tiers: [references/model.md](references/model.md).
|
|
33
|
+
**Absence is meaningful.** In the compact list tier a field at its default is omitted (no `status` = open, no `when` = not in Today), and inside a single-container node an item omits ancestry the node already states (absent `project`/`area` there = inherited). Full rules and the compact/full tiers: [references/data-model.md](references/data-model.md).
|
|
32
34
|
|
|
33
35
|
## Referring to items
|
|
34
36
|
|
|
@@ -40,7 +42,7 @@ Commands take a `<ref>`: a UUID, a unique UUID prefix (≥ 6 chars), a Things sh
|
|
|
40
42
|
|
|
41
43
|
These hold regardless of the binary version; see [references/contracts.md](references/contracts.md) for the full text.
|
|
42
44
|
|
|
43
|
-
- **JSON envelope**: every `--json` response is `{ apiVersion, ok, kind, data, meta }`. Read results from `.data` (`.data.items`/`.data.sections`/`.data.item`/`.data.view`/`.data.children` per `kind`; `today` is `.data.children.{today,evening}.items` with its count on `meta.counts`), never `.items`; UUIDs are `.uuid`, not `.id`. Check `meta.truncation.truncated` before concluding "no match" or "that's everything". List/search rows are compact summaries whose `tags` may be incomplete — use `things show <ref> --json` for effective tags, checklist, notes, and placement.
|
|
45
|
+
- **JSON envelope**: every `--json` response is `{ apiVersion, ok, kind, data, meta }`. Read results from `.data` (`.data.items`/`.data.sections`/`.data.item`/`.data.view`/`.data.children` per `kind`; `today` is `.data.children.{today,evening}.items` with its count on `meta.counts`; the `logbook` view carries the log-move cadence on `meta.logging = {cadence, lastLoggedAt?}` — CC's Settings words `Immediately|Daily|Manually`, `lastLoggedAt` under Daily and Manually), never `.items`; UUIDs are `.uuid`, not `.id`. Check `meta.truncation.truncated` before concluding "no match" or "that's everything". List/search rows are compact summaries whose `tags` may be incomplete — use `things show <ref> --json` for effective tags, checklist, notes, and placement.
|
|
44
46
|
- **Exit codes**: `0` landed and checked · `2` usage · `3` verify-failed · `4` blocked · `5` drift-blocked · `6` unsupported · `7` environment (`1` is an internal bug). Nonzero means the change did NOT stick; the message names the fix.
|
|
45
47
|
- **Previews, undo & idempotency**: `--dry-run` is universal — accepted by every command, it guarantees nothing changes: on a read it returns the normal output unchanged, on a write it shows the exact plan without executing; `things undo` reverses recent changes made through this tool (each reversible write returns an `undoToken`); a single mutation may carry `--op-id <key>` so an ambiguous resubmission is recognized as already applied (the variadic `move`/`reorder` refuse it — use `things batch` with a per-line `opId`).
|
|
46
48
|
- **Preconditions**: referenced containers and tags must already exist — create nested structures outside-in and reuse each returned UUID.
|
|
@@ -48,11 +50,11 @@ These hold regardless of the binary version; see [references/contracts.md](refer
|
|
|
48
50
|
|
|
49
51
|
## Reading
|
|
50
52
|
|
|
51
|
-
Views and lookups — pass `--json` whenever you will act on the output: `things today | inbox | upcoming | anytime | someday | logbook | trash`, `things show <ref>` (full detail incl. notes + checklist + effective tags), `things projects [ref]`, `things areas [ref]`, `things tags`, `things search <words>`, `things changes --since <moment>`. Compact rows carry `hasNotes`, `checklist:{open,total}` (to-dos), and `todos:{open,total}` (projects); `--full` (or `show`) adds the full `notes`, `startDate`, and checklist `items`. A `search` hit carries `match:{field,text}` provenance when it matched something other than the title. Filters (`--tag`, `--untagged`, `--overdue`, `--limit N`, `--all`, …) compose with AND — see `things help filters`. The reserved read-only ref `loose` addresses the area-less items as a pseudo-area (`areas loose`, `area show loose`, `--area loose`) and wins over any real area named "Loose"; every write verb refuses it.
|
|
53
|
+
Views and lookups — pass `--json` whenever you will act on the output: `things today | inbox | upcoming | anytime | someday | logbook | trash`, `things show <ref>` (full detail incl. notes + checklist + effective tags), `things projects [ref]`, `things areas [ref]`, `things tags`, `things search <words>`, `things changes --since <moment>`. `things deadlines` is the deadline horizon — every item (to-dos AND projects) that HAS a deadline, in deadline order, most-overdue first; it is a derived query view, NOT reorderable, and repeating items appear at their next occurrence's projected deadline. Scope it with `--today` (only what's due in Today), `--overdue` (only items already past their deadline), and `--project`/`--area`/`--tag`. Compact rows carry `hasNotes`, `checklist:{open,total}` (to-dos), and `todos:{open,total}` (projects); `--full` (or `show`) adds the full `notes`, `startDate`, and checklist `items`. A `search` hit carries `match:{field,text}` provenance when it matched something other than the title. Filters (`--tag`, `--untagged`, `--overdue`, `--limit N`, `--all`, …) compose with AND — see `things help filters`. The reserved read-only ref `loose` addresses the area-less items as a pseudo-area (`areas loose`, `area show loose`, `--area loose`) and wins over any real area named "Loose"; every write verb refuses it.
|
|
52
54
|
|
|
53
55
|
## Writing
|
|
54
56
|
|
|
55
|
-
Namespaced verb families — run `things <group> --help` for the verbs and `things <group> <verb> --help` for exact flags: `things todo …` (add/update/complete/cancel/reopen/move/delete/restore/tags/checklist/make-repeating), `things project …` (add/update/move/complete/… plus the heading verbs), `things area …`, `things tag …`, plus `things batch` (JSONL — chain created uuids across lines with `tempId`/`$ref`, retry safely with `opId`, undo the whole run with its `undoToken`), `things undo`, and `things
|
|
57
|
+
Namespaced verb families — run `things <group> --help` for the verbs and `things <group> <verb> --help` for exact flags: `things todo …` (add/update/complete/cancel/reopen/move/delete/restore/tags/checklist/make-repeating), `things project …` (add/update/move/complete/… plus the heading verbs), `things area …`, `things tag …`, plus `things batch` (JSONL — chain created uuids across lines with `tempId`/`$ref`, retry safely with `opId`, undo the whole run with its `undoToken`), `things undo`, `things reorder`, and `things log-now` (move completed items into the Logbook now; reports how many moved, a clean no-op when none are pending, and cannot be undone).
|
|
56
58
|
|
|
57
59
|
**Scheduling is an update, not a move**: `things todo update <ref> --when today|evening|anytime|someday|YYYY-MM-DD` schedules or parks an item; `move` changes its CONTAINER only.
|
|
58
60
|
|
|
@@ -66,7 +68,7 @@ Namespaced verb families — run `things <group> --help` for the verbs and `thin
|
|
|
66
68
|
|
|
67
69
|
## Going deeper
|
|
68
70
|
|
|
69
|
-
- [references/model.md](references/model.md) — the full data model, `stage`/`when` derivation, the compact/full tiers, view membership, and filters.
|
|
71
|
+
- [references/data-model.md](references/data-model.md) — the full data model, `stage`/`when` derivation, the compact/full tiers, view membership, and filters.
|
|
70
72
|
- [references/contracts.md](references/contracts.md) — the JSON envelope, exit codes, safety/undo/idempotency, batch chaining, and recurrence.
|
|
71
73
|
- [references/ordering.md](references/ordering.md) — move vs reorder in depth: axes, gates, caps, automatic fallbacks, placement guarantees, and the one dead class (templates).
|
|
72
74
|
- [references/errors.md](references/errors.md) — the error contract: the candidate shape, dead-row hints, hazard acknowledgments, and the error-code registry.
|
|
@@ -35,13 +35,15 @@ Entities, relationships, and how the sidebar views are computed over them, as ex
|
|
|
35
35
|
- **logbook** — completed/canceled items.
|
|
36
36
|
- **trash** — trashed items (restorable until the trash is emptied).
|
|
37
37
|
|
|
38
|
+
Beyond the sidebar mirror, **`things deadlines`** is a derived query view (not an app sidebar list): one flat `data.items[]` of every LIVE item — to-dos AND projects — that carries a deadline, ordered `deadline` ASC (most-overdue first), tie-broken by Today order then uuid. Its `stage` is KEPT (stage-mixed, like `search`/`changes`). It is presentation-ordered and **NON-SCOPE** — deadline order IS the view, so it is not reorderable (`reorder --in deadlines` is refused). A dismissed deadline nag does NOT hide a row here (dismissal only affects the Today pull, not the deadline). Deadline-bearing repeating items are PROJECTED at their next occurrence's deadline (the same projection the `upcoming` view uses); a deadline-less or unprojectable template is left out. Filters: `--today` (only current Today members, This-Evening included), `--overdue` (only open items already past today — never projections), `--project`/`--area`/`--tag`, `--limit`/`--all`. MCP: `read_view deadlines` with `today`/`overdue`/`project`/`area`/`tag` params.
|
|
39
|
+
|
|
38
40
|
`things projects`/`areas`/`tags` list containers; `things projects <ref>` / `things areas <ref>` / `things show <ref>` show one item's full detail — notes, checklist, effective tags — which the compact list rows do NOT display.
|
|
39
41
|
|
|
40
42
|
### Reading view membership from JSON — `stage` and `when`
|
|
41
43
|
|
|
42
44
|
Reads decompose an item's position onto two derived, presence-keyed words (they REPLACED the old `start`/`startDate`/`logged`/`trashed`/`todaySection` wire fields, which no longer appear):
|
|
43
45
|
|
|
44
|
-
- **`stage`** — the sidebar BUCKET: `inbox | upcoming | anytime | someday | logbook | trash`. Read view membership off it directly. It is dropped inside a section/catalogue that already states it (the stage-pure `inbox`/`anytime`/`someday`/`logbook`/`trash` lists and the `today` view's two `children` buckets) and kept everywhere it is not implied (the mixed `upcoming` day blocks — future-dated `upcoming` rows beside deadline-forecast `anytime`/`someday` ones — plus `search`, `changes`, the projects/areas listings, and `detail`).
|
|
46
|
+
- **`stage`** — the sidebar BUCKET: `inbox | upcoming | anytime | someday | logbook | trash`. Read view membership off it directly. It is dropped inside a section/catalogue that already states it (the stage-pure `inbox`/`anytime`/`someday`/`logbook`/`trash` lists and the `today` view's two `children` buckets) and kept everywhere it is not implied (the mixed `upcoming` day blocks — future-dated `upcoming` rows beside deadline-forecast `anytime`/`someday` ones — plus `search`, `changes`, `deadlines`, the projects/areas listings, and `detail`).
|
|
45
47
|
- **`when`** — the TIME POSITION: `today | evening | a future ISO date`, or absent (unscheduled and not in Today). `evening` implies today. Someday is a bucket, never a `when`. The `today` view returns `data.children = { today: {items, total?}, evening: {items, total?} }` — two keyed buckets (the bucket key states today/evening, so `when` is dropped inside them); the whole-view count rides `meta.counts` (`{dueOrOverdue, other}`).
|
|
46
48
|
- The two are DIFFERENT facts. A due deadline pulls an UNDATED row into Today: it reads `when: "today"` and derives `stage: "anytime"` — the app re-files a deadline-pulled Inbox/Someday row into Anytime at pull time (R13/BANNER1b), so it drops out of the Inbox/Someday lists and joins Anytime while its `when` reads `today`. Completed/canceled → `stage: "logbook"`, trashed → `stage: "trash"`, regardless of any other hint.
|
|
47
49
|
- `provisional: true` marks a Today member the app has not yet materialized — see [banner.md](banner.md).
|
|
@@ -58,6 +58,8 @@ A Today/Evening member has TWO order slots: its slot in the Today VIEW (`todayIn
|
|
|
58
58
|
- `--in someday` / `--in anytime` / a container ref on a same-day forecast set reorders its CONTAINER index (its someday/anytime list order), never the day-block — the explicit axis is honored, not overridden by the day route.
|
|
59
59
|
- Forcing the container index axis on a Today/Evening member PRESERVES the Today/Evening flag — a flag-safe move protocol routes it off the de-Today path. Only the someday/inbox loose axes still refuse a flagged member (their re-entry cannot preserve the flag).
|
|
60
60
|
|
|
61
|
+
**A Today reorder preserves the rest of Today's grouping.** The Today view groups rows by the day each ENTERED Today (its entry cohort), newest first, then manual order within a cohort. The app's native Today reorder can only pull a named row up to *today*'s cohort, so `things reorder` composes the MINIMAL wire that realizes your placement — it names only what must move, and every other Today row keeps its entry cohort and its visible position untouched. A `--first`/`--start` moves the named row(s) to the visible top, re-dating only THEIR entry cohort to today (inherent, expected). A `--before`/`--after`/`--end` that reaches across the grouping has to name the co-listed rows ABOVE the drop point too, which re-stamps THEIR entry cohort to today (changing only their Today grouping, never their schedule) — the result `warnings` + `--dry-run` disclose how many co-listed rows that is, so a broad cohort re-date is never silent. (A container reorder — project/area/heading/inbox/someday — has no entry-cohort dimension, so this note is Today/Evening-only.)
|
|
62
|
+
|
|
61
63
|
## Mixed-stage move placement
|
|
62
64
|
|
|
63
65
|
A `move` selection spanning stage sub-buckets (anytime + scheduled + someday + templates):
|