funkpower
1284136f69
chunkmd, citefind: the back-reference marker a whole class of EPUBs leaves
...
\[←788 \]
\[[←193](index_split_011.xhtml#citation-193) \]
An arrow pointing back to where the note was called, sometimes a link and
sometimes not, inside escaped brackets. Neither pattern knew it, so a page of
notes set this way read as body prose: the chunk was never flagged, the
citation stage never selected it, and the book came out with nothing.
Ten books of the corpus use it and eight of them had zero citations —
including both volumes of *The Decline of the West*, whose 830 endnotes are
exactly what this is for. 142 of the 199 affected chunks are those two books.
Recorded in parity/KNOWN.md: the Python this was ported from did not know the
marker either, and no fixture carries one, so the suite agrees either way.
2026-09-20 16:06:22 -04:00
funkpower
d47881ef3b
idnorm and bibfetch: an identifier read, and a register asked
2026-09-19 19:19:54 -04:00
funkpower
4d14544409
bibclean: an abstract that arrived as an index
2026-09-19 19:09:27 -04:00
funkpower
e6c51a5943
parity: the vocabulary rules gained a field
2026-09-19 19:07:43 -04:00
funkpower
484017fc18
vocabmerge: a subject scheme, supplied rather than compiled in
2026-09-19 19:06:57 -04:00
funkpower
05b363ea8a
seriesof: the series a book belongs to, and which volume this is
2026-09-19 19:03:47 -04:00
funkpower
619672d403
pdfgutter: never rewrite a page tree it cannot account for
2026-09-19 16:51:12 -04:00
funkpower
a03dcd400c
avplan: paths an encoder can actually read, and a pipeline that runs
2026-09-19 15:31:17 -04:00
funkpower
3c697bee50
pdfgutter: two facing pages photographed as one, found and cut
2026-09-19 15:19:35 -04:00
funkpower
49f12c9718
avplan: whether a recording plays, and the one call that fixes it
2026-09-19 15:07:33 -04:00
funkpower
ea0a3694b1
mdsplit: the works inside one file, and the books inside scripture
2026-09-19 14:58:54 -04:00
funkpower
9bf59f6ebb
vocabmerge: the near-duplicate headings a catalogue accumulates
2026-09-19 14:37:22 -04:00
funkpower
739e6c82e9
lints
2026-09-19 14:30:22 -04:00
funkpower
3c16892ebf
bibclean: a name from the book's own pages, where the record has none
2026-09-19 14:29:12 -04:00
funkpower
14e1fcf3ef
bibclean: slugs, and whether the one a record has still names it
2026-09-19 14:23:36 -04:00
funkpower
b0743d5bf7
a missing word, a hidden dependency, and a second pass that changed things
2026-09-19 13:00:29 -04:00
funkpower
6e26d5cf4b
bibclean: record faults, weighed, with the repairs that need no lookup
2026-09-19 12:50:53 -04:00
funkpower
1071f0bed3
booksniff, and one place for the parts every tool shares
2026-09-19 12:40:20 -04:00
funkpower
36afe3350b
cuepack: cues into passages that keep their timestamps
2026-09-19 12:32:41 -04:00
funkpower
b6602ee1e9
rrf: rank fusion without the database
2026-09-19 12:29:54 -04:00
funkpower
339f402610
ported patterns mean in rust what they mean in python
2026-09-19 12:26:41 -04:00
funkpower
17a03b0087
cueseg: topic chapters from a transcript, and a worked pipeline in the readme
2026-09-19 12:21:35 -04:00
funkpower
c7d0767376
cuekit and cuenorm: three subtitle formats, one cue stream
2026-09-19 11:54:36 -04:00
funkpower
33c2e40a1a
pdftriage: text layer verdicts, including the reflected-font recovery
2026-09-19 11:46:34 -04:00
funkpower
bd0ae11d01
mdscrub: decode character references, keep block boundaries, narrow the fence
2026-09-19 11:36:31 -04:00
funkpower
1b3c002b3d
mdscrub: residual html, control characters, headings, page markers
2026-09-19 11:30:05 -04:00
funkpower
e0473fb8ae
chunkmd: page and chapter aware chunking, roles, footnote flag
2026-09-19 11:22:56 -04:00
funkpower
6d9b7415dd
corpus-core: make the stream contract hold under hostile input
2026-09-19 11:11:58 -04:00
funkpower
d8929371b4
parity harness, pinned to the python tokeniser over 10k lines
2026-09-19 11:06:55 -04:00