-
44dd03d06a
Pairing: scan a QR off the terminal once; the cookie lasts a year

Eric WagonerandClaude Fable 5
2026-08-03 16:50:36 -04:00
-
78debdd62f
Mobile nav becomes a hamburger menu; Juniper joins the Help page

Eric WagonerandClaude Fable 5
2026-08-03 16:47:40 -04:00
-
f82489716a
--lan key persists across restarts; stale tabs get a readable 403

Eric WagonerandClaude Fable 5
2026-08-03 16:39:24 -04:00
-
344a930a8a
--lan first load: redirect commits the key cookie; static goes public

Eric WagonerandClaude Fable 5
2026-08-03 16:31:57 -04:00
-
95fd18ca5c
--lan startup: lead with the default-route address, demote the rest

Eric WagonerandClaude Fable 5
2026-08-03 16:21:26 -04:00
-
eb2e841d27
--lan: the desktop stays keyless; phone URLs drop loopback

Eric WagonerandClaude Fable 5
2026-08-03 16:16:55 -04:00
-
429ceb1a21
LAN access key: 128-bit token (was 48-bit for typability)

Eric WagonerandClaude Fable 5
2026-08-03 16:13:47 -04:00
-
d4e619611a
Audit round 6 (mobile + --lan): access key replaces trust-by-allowlist

Eric WagonerandClaude Fable 5
2026-08-03 16:12:01 -04:00
-
2936d21f0a
Mobile: every page earns its phone layout, and --lan serves the network

Eric WagonerandClaude Fable 5
2026-08-03 16:02:08 -04:00
-
429c519237
Proofread pass: 11 edits, 11 removals from the Titles page

Eric WagonerandClaude Fable 5
2026-08-03 15:20:32 -04:00
-
c00b3a7ad8
README: a screenshot tour of all seven pages

Eric WagonerandClaude Fable 5
2026-08-03 15:20:32 -04:00
-
1d700db012
Shaky reads become visible and clearable on the Titles page

Eric WagonerandClaude Fable 5
2026-08-03 00:25:48 -04:00
-
f19b861251
The proofread checkpoint gets its place: nav order, badge, and a rename

Eric WagonerandClaude Fable 5
2026-08-03 00:19:59 -04:00
-
25c1432a03
Docs catch-up + in-app Help page

Eric WagonerandClaude Fable 5
2026-08-02 20:20:03 -04:00
-
626f255c01
Remove-from-catalog: a third durable curation store

Eric WagonerandClaude Fable 5
2026-08-02 20:15:46 -04:00
-
86d434a400
Audit round 5 (curation feature): 5 blind reviewers, 14 confirmed fixes

Eric WagonerandClaude Fable 5
2026-08-02 20:04:15 -04:00
-
a7f0cfee05
Durable curation: persisted splits + pre-resolve title edits, catalog A→Z

Eric WagonerandClaude Fable 5
2026-08-02 19:47:08 -04:00
-
24a7bcb9e0
Fresh extraction of all 56 photos with the current pipeline

Eric WagonerandClaude Fable 5
2026-08-02 19:28:05 -04:00
-
851b34e369
Split into copies: the symmetric partner of the merge veto

Eric WagonerandClaude Fable 5
2026-08-02 19:10:26 -04:00
-
74fc4fe847
RPGs become local library citizens: identified, enriched, never uploaded

Eric WagonerandClaude Fable 5
2026-08-02 19:01:09 -04:00
-
33cbfffbd6
Photo detail page: each photo gets a real page, not a bare image

Eric WagonerandClaude Fable 5
2026-08-02 18:37:31 -04:00
-
08b741671d
Re-audit round 4: 5 blind reviewers over the new surface — 24 fixes, +28 tests

Eric WagonerandClaude Fable 5
2026-08-02 18:13:34 -04:00
-
16003ee39f
Web pages re-render only when their data changes

Eric WagonerandClaude Fable 5
2026-08-02 17:37:48 -04:00
-
189c534315
Six-page app: sidebar shell with Juniper's portrait, whole-workflow IA

Eric WagonerandClaude Fable 5
2026-08-02 17:34:17 -04:00
-
d3cf0c6151
Web UI: navigation, Juniper-derived design system, accessibility floor

Eric WagonerandClaude Fable 5
2026-08-02 17:21:14 -04:00
-
6ecdd43ed2
bggpipe web: the whole pipeline as a local web app

Eric WagonerandClaude Fable 5
2026-08-02 17:08:00 -04:00
-
bf9795235a
bggpipe init: guided, idempotent first-run setup

Eric WagonerandClaude Fable 5
2026-08-02 16:56:28 -04:00
-
10f65d8aba
Credibility pass: comments state constraints, not development history

Eric WagonerandClaude Fable 5
2026-08-02 15:08:22 -04:00
-
92aaa91a49
Re-audit round 3: 5 blind reviewers, 15 fixes, +18 tests — converging

Eric WagonerandClaude Fable 5
2026-08-02 14:55:04 -04:00
-
65d4cdd5ec
Re-audit round 2: 5 blind reviewers, 17 fixes, +12 tests

Eric WagonerandClaude Fable 5
2026-08-02 14:34:44 -04:00
-
38e20f2c30
Audit: 5-reviewer sweep — 19 fixes across every stage, +24 tests

Eric WagonerandClaude Fable 5
2026-08-02 14:10:57 -04:00
-
abf7181475
Username lives in .env only: drop bgg_username from config.toml

Eric WagonerandClaude Fable 5
2026-08-02 13:36:22 -04:00
-
8e3cdc145f
Docs for strangers: real quick start, own-shelves guide, clone-safe stub guard

Eric WagonerandClaude Fable 5
2026-08-02 13:33:52 -04:00
-
02a7ac262c
Review web UI: live-follow data files, --dev code reload

Eric WagonerandClaude Fable 5
2026-08-02 13:25:46 -04:00
-
96637cfa7f
Extract IMG_4566: Alice Is Missing base + Silent Falls expansion

Eric WagonerandClaude Fable 5
2026-08-02 13:17:50 -04:00
-
3ca7e7f650
Stage 5 upload: Playwright-driven adds and version updates

Eric WagonerandClaude Fable 5
2026-08-01 19:03:25 -04:00
-
196862e243
CLAUDE.md: replace greenfield notes with the real codebase

Eric WagonerandClaude Fable 5
2026-08-01 18:24:56 -04:00
-
824719edc7
Mascot: Juniper's bggpipe piper joins the header, favicon, and README

Eric WagonerandClaude Fable 5
2026-08-01 17:35:53 -04:00
-
8420a0a1ca
Post-resolve dedupe: duplicate reads merge, review can veto

Eric WagonerandClaude Fable 5
2026-08-01 16:59:47 -04:00
-
123e7b41a9
Review UI polish: done-card layout, clickable photo names, favicon

Eric WagonerandClaude Fable 5
2026-08-01 16:49:57 -04:00
-
6da499d31a
Review UI: surface the unresolved backlog and a full catalog ledger

Eric WagonerandClaude Fable 5
2026-08-01 16:45:57 -04:00
-
f574fb2b3c
Extract 15 reshoot photos: +15 titles incl. resolved misreads

Eric WagonerandClaude Fable 5
2026-08-01 16:40:05 -04:00
-
e03f407193
Extract 39 new shelf photos: 115 unique titles, 29 reshoot tickets

Eric WagonerandClaude Fable 5
2026-08-01 16:02:13 -04:00
-
2273ac7cf7
Web review UI: bggpipe review --web (FastAPI, localhost, no build step)

Eric WagonerandClaude Fable 5
2026-08-01 15:13:29 -04:00
-
4af83d3626
Enrich stage: full game + version metadata into games.json

Eric WagonerandClaude Fable 5
2026-08-01 14:37:56 -04:00
-
aed969856b
Resolve degrades gracefully when BGG_API_TOKEN is missing

Eric WagonerandClaude Fable 5
2026-08-01 14:35:30 -04:00
-
4bf7481f9b
Extract reports unidentifiable boxes for human retakes

Eric WagonerandClaude Fable 5
2026-08-01 14:24:16 -04:00
-
58956f626d
End-to-end run: extract -> resolve -> review -> diff on real data

Eric WagonerandClaude Fable 5
2026-08-01 14:15:20 -04:00
-
4a466f2a68
Progressive title truncation, publisher tiebreak, thematic-year fix

Eric WagonerandClaude Fable 5
2026-08-01 14:14:15 -04:00
-
09274e039c
Photo-title fixture set + resolve baseline; language-only cues skip fetch

Eric WagonerandClaude Fable 5
2026-08-01 14:09:13 -04:00
-
3543005236
Diff stage: snapshot/live collection modes, to_add + to_update outputs

Eric WagonerandClaude Fable 5
2026-08-01 14:06:23 -04:00
-
4f2ae5f525
Real extraction from shelf photos; test title list moves to tests/data

Eric WagonerandClaude Fable 5
2026-08-01 13:16:43 -04:00
-
9897da7f82
Review stage: resumable rich TUI for matches and versions

Eric WagonerandClaude Fable 5
2026-08-01 13:13:20 -04:00
-
b7a1ef8549
Extract stage: vision title + edition-cue extraction, offline-tested

Eric WagonerandClaude Fable 5
2026-08-01 13:10:13 -04:00
-
96a1e09956
Docs: BGG auth policy in spec/README, upload-flow recon notes

Eric WagonerandClaude Fable 5
2026-08-01 13:05:15 -04:00
-
12fc0522b2
Add direnv setup: .envrc loads gitignored .env, template in .env.example

Eric WagonerandClaude Fable 5
2026-08-01 12:41:34 -04:00
-
2109e3544a
Resolve stage: matching, version resolution, fixtures; BGG API auth

Eric WagonerandClaude Fable 5
2026-08-01 12:33:32 -04:00
-
4e1211feb6
BGG API client: disk cache, rate limiting, 202-queue retry, XML parsing

Eric WagonerandClaude Fable 5
2026-08-01 12:26:03 -04:00
-
d58568cceb
Scaffold bggpipe: typer CLI, config loading, title normalization

Eric WagonerandClaude Fable 5
2026-08-01 12:23:00 -04:00
-
6bd4222fc1
Initial commit: spec, Claude Code setup, and project docs

Eric WagonerandClaude Fable 5
2026-08-01 12:11:14 -04:00