Files
stack/docs/docs/cli/prisma-eligible.md
kert 7693e97d36 feat(llm): closed theme vocabulary for comment tagging — themes.yaml v1, llm.vocab loader, stack llm vocab, P35 design spec (refs #574)
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].
2026-09-22 16:48:51 -04:00

3.3 KiB

title, sidebar_position
title sidebar_position
stack prisma eligible 90

stack prisma eligible

Usage: stack prisma eligible [OPTIONS] NAME                                    
                                                                                
 Stage 3 — LLM-driven full-text eligibility pass.                               
                                                                                
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ *    name      TEXT  Project slug. [required]                                │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --limit        -n               INTEGER  [default: 0]                        │
│ --max-chars                     INTEGER  Cap per-item markdown (full text)   │
│                                          at N chars so bounded-context local │
│                                          models keep the criteria in window. │
│                                          0 = no cap.                         │
│                                          [default: 0]                        │
│ --db                            PATH     [default:                           │
│                                          data/zotero/data/zotero.sqlite]     │
│ --storage                       PATH     [default: data/zotero/data/storage] │
│ --hold             --no-hold             [default: hold]                     │
│ --hosts                         TEXT     Comma-separated Ollama base URLs —  │
│                                          fleet mode (#655): parallel         │
│                                          eligibility via native /api/chat    │
│                                          with per-request num_ctx; bypasses  │
│                                          PRISMA_LLM_* env config.            │
│ --fleet-model                   TEXT     Model name on every fleet host.     │
│                                          [default: qwen2.5:14b]              │
│ --num-ctx                       INTEGER  Context window per fleet request.   │
│                                          [default: 8192]                     │
│ --per-host                      INTEGER  Max in-flight requests per fleet    │
│                                          host.                               │
│                                          [default: 1]                        │
│ --help                                   Show this message and exit.         │
╰──────────────────────────────────────────────────────────────────────────────╯