@pmelab/gtd 15.6.1 → 15.8.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 CHANGED
@@ -221,6 +221,17 @@ and around 1 MB on macOS:
221
221
  gtd next | claude -p --dangerously-skip-permissions
222
222
  ```
223
223
 
224
+ **The turn ends when `claude -p` returns** — a command the agent backgrounds
225
+ dies unread, and the process stalls on an empty turn. Claude Code lets the agent
226
+ background commands and caps foreground ones at 10 minutes by default, so a real
227
+ driver exports these first (`gtd install`'s reference driver does):
228
+
229
+ ```bash
230
+ export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1
231
+ export BASH_DEFAULT_TIMEOUT_MS=1800000 # 30 min
232
+ export BASH_MAX_TIMEOUT_MS=7200000 # 2 h
233
+ ```
234
+
224
235
  Reading a value twice is free: **`gtd next` never mutates**, so a peek and a
225
236
  dispatch are the same call.
226
237
 
@@ -290,7 +301,15 @@ in the new, empty definition ready to type, and jumps between a footnote's
290
301
  marker and its definition both ways — so leaving a comment for the next agent
291
302
  turn never means hand-typing the `[^name]` syntax yourself. In a review file, a
292
303
  `./path#42-70` hunk pointer is also a clickable link straight to that file and
293
- range, no go-to-definition required.
304
+ range, no go-to-definition required. A footnote can also hold a `H:`/`A:`
305
+ conversation (a thread — see [configuration](docs/configuration.md)); the editor
306
+ outlines threads, flags the open ones, and a `gtd: reply` code action adds your
307
+ empty `- H:` entry and puts the cursor there;
308
+ `gtd check <mode> <file> --open-threads` lists the ones still waiting on you,
309
+ and a review question gets its answer at the review gate again, not a lap. The
310
+ same conversation works as bare `// H: …` / `// A: …` line comments (`#`, `--`,
311
+ `;` by language) in files the process changed; `gtd check --open-threads` alone
312
+ lists the open ones (editor-only — the phone UI does not show them).
294
313
 
295
314
  ### The workflow it ships with
296
315
 
@@ -300,12 +319,17 @@ noted in steps 2, 3, and 4 below.
300
319
 
301
320
  1. **You sketch.** Change anything, or write the idea into `.gtd/TODO.md`. Rough
302
321
  is fine; it is treated as a sketch, not as work.
303
- 2. **You answer questions — when it needs you to.** Planning works out what the
304
- thing should do first, then how it should be built, and hands you a file with
305
- its open questions in it at either point. Answer them in your editor, in the
306
- file, and start the loop again. Leave the file untouched and start the loop
307
- instead to accept the plan as-is, unanswered questions and all. One point
308
- along this phase is judged rather than always asking you outright:
322
+ 2. **You answer questions and discuss.** Planning works out what the thing
323
+ should do first, then how it should be built, and hands you a file at either
324
+ point — every process stops there, even with no open question. Answer open
325
+ questions in your editor, in the file, and start the loop again; a round that
326
+ only leaves notes needs no tick. Start a footnote with `- H: <question>` to
327
+ ask something: the agent replies with `- A: <reply>` and the process stops at
328
+ the same gate again. Close a thread by replying with a conclusion or deleting
329
+ it. While a thread's last entry is the agent's, moving on is refused. Leave
330
+ the file untouched and start the loop to accept the plan as-is, unanswered
331
+ questions and all. One point along this phase is judged rather than always
332
+ asking you outright:
309
333
  - Before the how-it-should-be-built pass starts: does this plan actually need
310
334
  one? A confident no skips it — and the review it would have raised — going
311
335
  straight from your answers to a single built package, with no technical
@@ -320,7 +344,13 @@ noted in steps 2, 3, and 4 below.
320
344
  against its own spec before moving on. Three points along that loop are
321
345
  judged rather than always asking you outright — each stops and hands you a
322
346
  verdict to make (`gtd judge answer`, or land with a clean tree to accept the
323
- conservative default, which never skips work):
347
+ conservative default, which never skips work;
348
+ `gtd judge run --provider fixed --answers <path>` — or the
349
+ `GTD_JUDGE_ANSWERS` env var, inline JSON — answers one from a file, piped
350
+ between `gtd judge --json` and `gtd judge answer`;
351
+ `gtd judge run --provider jev` asks TypeSafe's Jev instead, with the key in
352
+ `TYPESAFE_API_KEY` and `JEV_BASE_URL` optionally overriding the endpoint, and
353
+ exits 1 with nothing on stdout when it cannot answer every question):
324
354
  - Every red round after the first: was the failure identical, new, or
325
355
  progress?
326
356
  - Before spending a review turn on a package: does the code already satisfy
@@ -373,7 +403,12 @@ an idle worktree — nothing pending yet — opening `.gtd/TODO.md` free-form wi
373
403
  bare textfield so you can sketch from your phone; the sketch stays un-triaged on
374
404
  disk until you run `gtd` again, from anywhere, to pick it up. A description
375
405
  renders inline markdown — bold, code, strikethrough, links, and images — instead
376
- of literal asterisks and backticks. See
406
+ of literal asterisks and backticks. A note you add from the phone starts a
407
+ thread: a footnote holding a `H:`/`A:` conversation. Threads show as a
408
+ conversation under their block, question, chunk, or hunk, and one the agent
409
+ answered last carries a "waiting on you" badge. Tap it to reply — your reply is
410
+ added as a new `H:` entry; while the agent has yet to answer, reopening it edits
411
+ your last entry instead. See
377
412
  [Configuration](https://github.com/pmelab/gtd/blob/main/docs/configuration.md)
378
413
  for its `ui:` settings.
379
414