2026-09-03 · feature
Web HQ live at localhost:8601
Dashboard serves from web-hq/ via a login launchd agent that restarts on crash. First server config 404'd because macOS privacy rules block system Python from reading the Desktop folder when launchd starts it; fixed by using Homebrew Python and a working-directory setting, the same pattern as the factory HQ.
launchctl print com.luca.web-hq.bachelor-check → running · curl http://localhost:8601/ → 200
2026-09-03 · proof
Full suite green: 48 tests pass, typecheck clean
All 6 test files pass (map, telemetry, cost, adapter, CLI, bulk). Run takes under 1 second.
pnpm run test → 6 files, 48 tests passed · pnpm run typecheck → clean
2026-09-03 · feature
Thesis GUI report and analysis inputs stored
Pangram 4 GUI report on the full test document: 81.2% AI-written, 18.6% human, 11,270 words. No API call was made, so repo-side spend stays at $0. See AI_WRITING_CHECK.md for the full result.
commit ca94fd7 · AI_WRITING_CHECK.md · data/reports/pangram-ai-report-bach-26-history.pdf
2026-09-03 · feature
Bulk runner ships with consent gates and unit cap
One call checks a full list of texts. Cost is 20% below single checks. Runs above 1,000 units stop before spend. Reports strip window text and store base names only.
commit fccc2ce · src/detector/bulk.ts · src/bulk-cli.ts · tests/bulk.test.ts (14 tests)
2026-09-03 · decision
Free mode shows cost, polling keeps stage limits, privacy files ignored
Fix run after review: cost math fixed for free runs, server polling honors stage bounds, private thesis files stay untracked.
commit 12b3d9b
2026-09-03 · feature
Mock-first CLI ships with cost and privacy guards
First working build: mock default, honest offline mode, hosted Pangram path with dual consent, append-only logs without text or keys.
commit bd50514 · README.md · src/cli.ts · src/detector/
2026-09-03 · proof
Prices checked on 2026-09-03: Pangram 4 costs $0.05 per 100 words
Unknown models stay blocked for paid runs until a checked price lands in src/cost/pricing.ts.
README.md pricing table · src/cost/pricing.ts · tests/cost.test.ts (6 tests)