Commit Graph

540 Commits

Author SHA1 Message Date
ed41cbadf0 docs(magazine): record the healing Auto-fix run on the live production magazine
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 13:35:01 +02:00
fd43710caa docs: evaluate and compare VoiceStudio (debpalash/VoiceStudio)
Studied the repo (README, license notice, engine catalog, MCP/API docs) and
the GitHub API record, and probed the user's already-running instance at
192.168.178.8:3900 read-only (/health only). No integration attempted.
Written comparison at architecture/voicestudio-comparison.md; TODO items
1-3 marked done.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 13:23:16 +02:00
faa3c16a91 fix(magazine): exclude advertisement pages from magazine-comparison statistics
A page either side marks as a full-page ad is skipped by that side's quality
run, so comparing its near-empty boxes against the same page freshly OCR'd
on the other side (ad-marking is a one-time manual step) was a review-state
difference, not a pipeline one, skewing whole-issue numbers. Verified: text
similarity 0.837->0.870, box precision 0.62->0.66 on the real re-import.

Also records the clean from-scratch re-ingest results: the ingest-time
duplicate-check ordering fix is proven in isolation (0 additional duplicates
found afterward, vs 13 before the fix), and the auto-chained Auto-fix ran
end to end.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 13:11:00 +02:00
f0b5d5aa68 feat(magazine): run the whole-issue Auto-fix pass automatically after import
A fresh import used to stop once laid out, leaving missed text, unverified
OCR and provable misspellings for a separate manual click. _ingest_sync now
runs _quality_run_sync itself, under the same job, so the ingest progress
bar carries through it and the reviewer opens an already-worked magazine.
An Auto-fix failure is reported as an ingest failure without losing the
ingest's own result.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 09:37:28 +02:00
6f2dfca89a docs(magazine): record D-E re-run results with both G fixes applied
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 09:18:11 +02:00
ac1153b782 fix(magazine): re-check for duplicate boxes after box-fitting/seam-mending grows them
The duplicate detector only ran once, before geometry fixes could merge or
grow a box into one that now duplicates another's text -- narrating it
twice. Now re-run after the geometry loop at ingest and after
recover_missing_text in the whole-issue quality run. Confirmed live: 13
such duplicates in a fresh import, 6 in the already-reviewed magazine.

TODO: F decided unnecessary per user; G updated with both universal fixes
from this pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 08:50:13 +02:00
1fb5528112 fix(magazine): drop hallucinated vision-OCR refusal text tiled over unreadable images
TODO A-E marked done for this pass; comparison report saved as evidence.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 23:26:59 +02:00
d06f990379 feat(magazine): fast LLM calls for spelling agent, run-together word repair, magazine comparison tool
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 20:09:42 +02:00
29b1f63e60 feat(magazine): click a flagged word to type your own correction
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:35:13 +02:00
63cb129d24 fix(magazine): draw panel placed inside the window; Undo/Redo lead the toolbar's second row; lines and frames are not missed text
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:33:15 +02:00
0136842258 fix: asset URLs carry a content-based build id so edited scripts are never served stale
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:13:42 +02:00
3b5e20a4c8 feat(magazine): undo and redo buttons (20-step history) in the sticky review bar
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:07:23 +02:00
a23e4be2a1 feat(magazine): Contents button in the sticky review bar
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:00:10 +02:00
1b9a4bd3bc fix(magazine): clipped-edge audit requires ink on the box's own text lines
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:54:12 +02:00
9fa661fb6a feat(magazine): page thumbnail is the Review target; one button per article only on shared pages
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:49:21 +02:00
25eea74096 feat(magazine): mend column seams; docs: TODO for verify/re-import/compare and Voice Studio evaluation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:44:28 +02:00
32a23a237a fix(magazine): dotted leaders and thin rules are not reported as missed text
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:34:06 +02:00
19af236bcd fix(magazine): stale audio on unapproved articles no longer counts as reviewed in the page grid
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 16:35:33 +02:00
d712058d68 fix(magazine): an approval wins over the quality flag in the page grid
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 16:33:24 +02:00
3d5da78a98 feat(magazine): blue unreviewed articles, auto-resolve overlapping boxes, ignore unboxed ink near graphics/ads, fewer false clipped edges
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 15:20:25 +02:00
c62cc6953d feat(magazine): auto-add figures for unboxed pictures, junk filter for linking, keep quality report in step
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 13:33:11 +02:00
bf5c795f02 fix(magazine): keep approval when auto-linking already-approved text
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 13:10:57 +02:00
4c1c97400b fix(magazine): apply column reading order automatically; article-end detection by signed end or following headline; link-next-page chip
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 13:00:14 +02:00
05bdecd58a feat(magazine): auto-link continuation pages, manual page linking, flow arrows by reading order, compact report, names/brands in spellcheck
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 11:46:32 +02:00
d0fba6a16f feat(magazine): text flow indicator (arrows, chips, reading-view seams); Auto-fix all pages with backup
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 10:46:55 +02:00
b85f40e263 feat(magazine): live per-page issue markers and panel, one-click page auto-fix, run fixes boxes too
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 10:41:39 +02:00
efaab0590e feat(magazine): cut a paragraph's box where its text wraps around an inset pull quote
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 09:50:26 +02:00
e00b215bc6 feat(magazine): detect inset pull quotes as their own region
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 09:27:04 +02:00
05a3ef4095 fix(magazine): full text with spelling underlines in review rows; drop [Non-Text]/hairline boxes; pad grown boxes
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:45:29 +02:00
d1c15b0e2b fix(magazine): boxes grow over cut-off lines without entering neighbours; re-read grown boxes
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:35:35 +02:00
e5bf4e70f9 fix(magazine): box_snapped/box_manual are Block fields (page re-OCR crashed rebuilding blocks)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:30:47 +02:00
3ec7f89009 fix(magazine): snap boxes also for vision-labelled paragraphs, per-side growth, run after page re-OCR
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:28:23 +02:00
559c165010 fix(magazine): suspect-OCR check uses page language and page vocabulary
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:23:09 +02:00
f4892dbde4 feat(magazine): fit text boxes to their ink in Clean up boxes
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:12:12 +02:00
91caa6cf90 feat(magazine): fuse paragraphs across columns/pages, article-aware acronyms, German/English spellcheck
- fuse_paragraph_blocks joins a paragraph split by a column or page break into one
  narration block (reader, podcast source and MP3), keeping source regions for highlighting
- language decided once per article; per-article acronym glossary (LLM classifies unknown
  acronyms from context), letter-spelled acronym lists, extended DE/EN database
- core/spelling: dictionary findings (compounds, inflections, line-break hyphens, other-language
  words), marked in review and listed per page/article; guarded LLM agent fixes; quality run
  now includes the spelling pass
- keep suspended compound hyphens (Programmier- und) when merging regions / building layouts

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:09:30 +02:00
d94d85b21b docs: note the docker-compose.yml rsync footgun in the NUC deploy process
Some checks failed
Test and SonarQube / quality (push) Has been cancelled
Rsyncing the tree without excluding docker-compose.yml overwrites the
NUC's own compose file with the DGX's (wrong build/image, dgx_net/
docker-socket-proxy the NUC doesn't have), breaking `docker compose up -d`.
Hit and fixed during the v1.54.0 deploy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 15:12:24 +02:00
3c91156e5c chore(release): v1.54.0
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
Fold the previously-untagged 1.53.5 work-in-progress plus the magazine
quality-check/driving-mode-player/ad-recognition/phone-toolbar fixes into
a single finalized release.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 13:44:30 +02:00
6a5e239285 fix(magazine): phone review toolbar no longer covers the page; fix iPhone test expectations
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
- The sticky review toolbar wraps to many rows on a phone and covered most of the page image,
  so drawing a region or drag-selecting boxes started on a toolbar button; it now scrolls away
  below 860px
- Delete-button layout test accepts the phone layout (text on its own line)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-26 23:12:02 +02:00
48c546fbc8 fix(magazine): region-type picker and page-quality buttons work; stronger quality audit
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
- Export the region-type picker handlers and magRunPageQuality to the page (they threw
  "not defined", so the picker never opened and Find missed text / Verify OCR did nothing)
- Add a unit test that fails when an inline mag* handler is not exported
- Quality audit: pixel-level clipping check on all four box edges, duplicate-article
  detection, detected full-page advertisements skipped and shown green (no manual button)
- Driving mode text is karaoke-style (whole article, current sentence and word highlighted)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-26 23:07:19 +02:00
9904459913 feat(magazine): whole-magazine quality check, page stages, ad pages, driving-mode player
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
- Quality run: per-page missed-text recovery, guarded OCR re-read and a pixel audit
  (uncovered ink, overlapping boxes, clipped box edges); report saved as quality_report.json
- Thumbnail grid: quality-stage colours, flag badge, live per-page indicator for every
  batch step (OCR, detection, figure fixing, quality run, audio)
- Pages can be approved as advertisements (not narrated, skipped by quality run)
- Driving mode: +/-15 s, seek bar, playback speed, text and image toggles
- Plus the previously uncommitted 1.53.5 magazine/OCR work in the same tree

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-26 19:29:43 +02:00
7e29751607 Release v1.53.4
Some checks failed
Test and SonarQube / quality (push) Has been cancelled
2026-09-24 08:25:34 +02:00
dd8309b30a Release v1.53.3
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-24 07:59:44 +02:00
b1c0197652 Release v1.53.2
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-24 07:44:16 +02:00
ba3b374246 Release v1.53.0
Some checks failed
Test and SonarQube / quality (push) Has been cancelled
2026-09-23 00:01:25 +02:00
ab5fce10bf Release v1.52.1
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-22 23:53:34 +02:00
2ba4daa742 Release v1.52.0
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-22 23:33:44 +02:00
c453295ab0 Release v1.51.0
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-22 23:23:46 +02:00
5b0fc1cb65 Release v1.50.0
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-22 23:18:37 +02:00
ab10516383 Release v1.49.0
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-22 23:14:27 +02:00
6ab2d3cdd1 Release v1.48.2
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
2026-09-22 23:11:37 +02:00