funkpower
c071f84829
citefind: the references in a bibliography, and what could not be read off them
...
Cuts a reference list into entries — at the note numbers where there are any,
at the layout where there are not — and reads each as far as its punctuation
allows. Fields that would not parse are named in `unsettled` rather than
guessed at, and `--prompt` asks a model about exactly those and no others.
Over 202 real reference sections from the corpus: 8,566 references, 95% with
a title, 82% with a year, 46% settling every field with no model involved.
A title is refused where the entry was never divided, so no record reports
its own text back as the work it cites.
`ibid.` is flagged and left alone — it points at a work, and the entry does
not say which. A rule of dashes is filled in, because the style defines it as
the author above.
chunkmd gains `note_starts` and `cites_something`: recognising a page of
notes and splitting one are the same knowledge, and two copies of that
pattern would drift.
2026-09-20 10:38:48 -04:00
funkpower
d24e37bd12
langid and tocfind: what language a book is in, and what it says its chapters are
2026-09-20 10:02:15 -04:00
funkpower
05759ab902
bookmeta: the metadata a file already carries, and a question about the rest
2026-09-20 09:41:37 -04:00
funkpower
d47881ef3b
idnorm and bibfetch: an identifier read, and a register asked
2026-09-19 19:19:54 -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
48600bd90c
bindings: a C ABI and an npm package alongside the wheel
2026-09-19 18:40:08 -04:00
funkpower
cf126dddc3
bindings: the libraries in process, for Python
2026-09-19 17:54:18 -04:00
funkpower
ab33ac4693
every tool writes its own manual page
2026-09-19 15:25:13 -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
14e1fcf3ef
bibclean: slugs, and whether the one a record has still names it
2026-09-19 14:23:36 -04:00
funkpower
6e26d5cf4b
bibclean: record faults, weighed, with the repairs that need no lookup
2026-09-19 12:50:53 -04:00
funkpower
c6575b2d42
emb: lines into vectors, against a server that owns the model
2026-09-19 12:43:20 -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
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
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
funkpower
0208b14b5d
textkit: token counting and the two segmenters
2026-09-19 11:04:27 -04:00
funkpower
00f4c38816
workspace, licence, and the three record types
2026-09-19 11:00:40 -04:00