claude pushed to main at jfmonty2/bookshelf 2026-09-20 02:13:06 +00:00
ab83287b5d Move Open Library lookup to the Editions API; stop asking Google Books for its placeholder
claude pushed to main at jfmonty2/bookshelf 2026-09-17 02:57:50 +00:00
4695731f91 docs: wave 11 accepted; SPEC records auth refresh + why the 404 rule needs it
claude pushed to main at jfmonty2/bookshelf 2026-09-17 02:54:43 +00:00
009cb9a7cc Wave 11 (M-authexpiry): refresh auth token every sync; recover rows lost to the expired-token sync
claude pushed to main at jfmonty2/bookshelf 2026-09-17 01:59:00 +00:00
81f63bffc0 M-authexpiry prompt: measured baseline 337 tests
claude pushed to main at jfmonty2/bookshelf 2026-09-17 01:39:47 +00:00
62cd61e707 Plan wave 11 (M-authexpiry): refresh token each sync, recover lost rows
claude pushed to main at jfmonty2/bookshelf 2026-09-17 01:28:15 +00:00
ab1d294657 server: user auth tokens valid 180 days (was PocketBase default 5)
claude pushed to main at jfmonty2/bookshelf 2026-09-16 19:01:58 +00:00
3c30a20324 Review fixes for waves 9-10; preload covers so Save stops waiting on them
claude pushed to main at jfmonty2/bookshelf 2026-09-15 18:28:40 +00:00
cf82cbc484 Wave 10 (L-search): search own library + Open Library + Google Books, deduplicated
claude pushed to main at jfmonty2/bookshelf 2026-09-15 11:58:41 +00:00
b600df69c3 Wave 9 (K-manual): add a book by hand, no ISBN required
claude pushed to main at jfmonty2/bookshelf 2026-09-13 17:30:40 +00:00
9b74f50565 Plan waves 9-10: manual entry, then online search; chained runner
claude pushed to main at jfmonty2/bookshelf 2026-09-13 11:38:28 +00:00
0c0b8466cc docs: first-command check no longer counts its own shell as a worker
claude pushed to main at jfmonty2/bookshelf 2026-09-13 11:33:26 +00:00
007a1f426d wave-guard: match workers by argv shape; accept wave 8; record HAZARD #10
claude pushed to main at jfmonty2/bookshelf 2026-09-13 11:31:05 +00:00
34097269c9 Lookup path can't crash the app; persist crash reports for off-device reading
claude pushed to main at jfmonty2/bookshelf 2026-09-12 17:51:15 +00:00
1295d88d6e docs: record wave 8 (J-crashsafe) in flight
claude pushed to main at jfmonty2/bookshelf 2026-09-12 17:47:46 +00:00
0455794603 server: anonymous LIST of users returns 403, not 200 with an empty array
claude pushed to main at jfmonty2/bookshelf 2026-09-12 17:36:16 +00:00
93546ed724 Opt-in live test: the real metadata lookup, against both real sources
claude pushed to main at jfmonty2/bookshelf 2026-09-12 17:32:19 +00:00
1385ad286f docs: the server is on the sprite and internet-exposed
claude pushed to main at jfmonty2/bookshelf 2026-09-12 11:08:09 +00:00
26f76bf0f7 run-task.sh: stop reading the worker's own prose as a quota error
486f6ebc48 Use the Google Books API key: the fallback source actually answers now
Compare 2 commits »
claude pushed to main at jfmonty2/bookshelf 2026-09-09 17:45:23 +00:00
d6d02f788c Second on-device feedback round: eight fixes, and a measured retry policy
claude pushed to main at jfmonty2/bookshelf 2026-09-09 12:46:51 +00:00
dd3a61fc33 docs: accept wave 5; record HAZARD #8 (guard can die without its sentinel)
93f972b7d1 Distinguish can't-scan, can't-look-up, and genuinely-not-found
Compare 2 commits »