docs/superpowers/specs/2026-09-22-llm-tagging-design.md lays out P35: a versioned hand-curated vocabulary, embedding shortlist + per-theme yes/no judgement with an evidence chunk on the largest live host, resumable docket-scoped runs with state in bib extra_json, write-back that replaces only llm: tags, and a golden-set gate before fan-out. Slice 1: src/llm/vocab/themes.yaml — 53 themes (conversion factor, practice expense, telehealth, care management, behavioral health, Part B drugs, MSSP, QPP, …), each with a label, one-sentence definition, letter-language synonyms and the FR section stems it was seeded from (dev/scripts/llm_vocab_candidates.py mines heading paragraphs from the CY2018+ rules' fr_anchors). llm.vocab.load() validates unique kebab-case slugs, non-empty definitions, integer version ≥ 1 and that retired slugs are not still active; Theme.card is the text embedded per theme; split_tags() separates llm: tags from hand tags for the write-back. stack llm vocab [--path] [--slug].
2.9 KiB
2.9 KiB