Some checks failed
CI / lint (push) Successful in 54s
Infra CI / zotero (push) Successful in 25s
Infra CI / notebooks (push) Successful in 1m12s
CI / notebooks-smoke (push) Successful in 1m52s
CI / test (push) Failing after 2m53s
Deploy / notebooks (push) Has been skipped
Deploy / zotero (push) Has been skipped
Deploy / docs (push) Has been skipped
Deploy / api (push) Has been skipped
Deploy / llm (push) Has been skipped
Deploy / mc (push) Has been skipped
Infra CI / docs (push) Successful in 1m49s
Infra CI / api (push) Successful in 1m27s
Infra CI / mc (push) Failing after 50s
Infra CI / llm (push) Successful in 1m13s
Deploy / report (push) Has been cancelled
llm.themes stamps the P35 vocabulary onto indexed chunks with one normalised matrix product per batch against the theme cards (no model calls): the top themes clearing --min-score land in cmetadata as themes / theme_scores, with themes_vocab recording the vocabulary version so a vocabulary bump re-stamps. Default scope is the CMS manual sections (corpus, doctype manual); any collection/doctype/key can be stamped. /search takes theme=<slug> (a Python-side match over the comma-joined slugs, like year) and every source carries themes. Also: the thread-local Store test compared against the executor's worker cap (8) although the executor spawns threads lazily, so under load it failed with 7; it now compares against the threads that ran.