Plan waves 9-10: manual entry, then online search; chained runner
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RWoivrRUEmJLFFwbsrGkqQ
This commit is contained in:
1 parent
0c0b8466cc
commit
9b74f50565
4 files changed
+605
No files matched your search
@@ -737,3 +737,32 @@ non-matching task name), and after killing it. Only the real worker counts as ru
|
||||
**When checking a wave, compare the guard log with the worker's `.state`:** a
|
||||
`workers still running` renewal timestamped AFTER `.state` says SUCCESS means
|
||||
the guard is stuck. It is not a slow worker.
|
||||
|
||||
## Waves 9 + 10 — K-manual then L-search, CHAINED: launched 2026-09-13
|
||||
The Wave-8 crash never recurred and the user has parked it. Two user-requested features,
|
||||
run IN SEQUENCE (they share `ui/library`, `ui/nav`) with NO orchestrator between them —
|
||||
the user asked for wave 10 to start straight after wave 9 without waiting on them.
|
||||
|
||||
- **Wave 9 `tasks/K-manual.txt`** — add a book by hand with no ISBN. New `ui/add/`
|
||||
screen + `Routes.addBook(title, isbn)`, entry points on the library FAB/empty state and
|
||||
the scan screen's manual-ISBN dialog. Before this there was NO way to add a book with no
|
||||
barcode (`saveManualEntry` required an ISBN).
|
||||
- **Wave 10 `tasks/L-search.txt`** — library search bar also searches Open Library
|
||||
`search.json` + Google Books `volumes?q=`, on SUBMIT only; "In your library" on top;
|
||||
deduped across all three sources. User decisions recorded in the prompt: submit-only,
|
||||
"in your library" = owns SOME edition, ISBN filled only when unambiguous (OL work with
|
||||
exactly one distinct ISBN-13, else exactly one GB ISBN-13, else none).
|
||||
Live-verified API fact: **OL search omits `isbn` unless `fields=` asks for it.**
|
||||
|
||||
**Runner: `tasks/wave-chain.sh 9:K-manual 10:L-search`** (new). Holds the lease itself
|
||||
(wave-guard would release it during the between-wave gate), runs each worker in the
|
||||
foreground, then a MECHANICAL gate (assembleDebug, testDebugUnitTest, verifyPaparazziDebug,
|
||||
XML test count up, no build files, no `always 'false'`). Red -> one fresh `<task>-fix`
|
||||
worker -> re-gate -> still red = sentinel says FAILED and the chain STOPS. Green ->
|
||||
`git add -A` commit (message says "ORCHESTRATOR REVIEW STILL PENDING") + push, then next wave.
|
||||
Logs: `logs/wave-chain.log`, `logs/gate-<task>.log`, `logs/WAVE9-DONE`, `logs/WAVE10-DONE`,
|
||||
`logs/CHAIN-DONE`. Baseline: 205 tests, 2 skipped.
|
||||
|
||||
**The gate is not acceptance.** Still owed by the orchestrator for BOTH waves: read each
|
||||
`.summary`, read the diff, eyeball the new Paparazzi PNGs, check CancellationException is
|
||||
rethrown in every new catch, and check wave 10's dedupe judgement call in its report.
|
||||
Reference in new issue
Block a user