Expand description
The grouping stage: an LLM merges and labels shape-class ids — never hunks
(ADR 0001) — behind the LlmBackend abstraction (ADR 0016), with a coverage
audit that back-fills anything the model drops (invariant 5) and a
content-hash cache that pins groupings (ADR 0009).
Mechanical pieces the model never sees or cannot override:
- classes living entirely in generated files are pre-assigned to the noise tier and never reach the payload (ADR 0006);
- classes touching a rename below 95% similarity can never stay in a skim group — they are extracted into a synthesized focus group (ADR 0003).
Structs§
Enums§
- Progress
- Pipeline stage notifications, in the order they occur.
Groupingcarries the backend name so a renderer can say WHICH agent it is waiting on — that stage is the slow one (a subprocess LLM call on a cache miss).
Constants§
- PROMPT_
VERSION - Feeds the cache key: bump on ANY change to the prompt text or the shape of what the model can fetch, or cached groupings would silently mix prompt generations.
Functions§
- json_
object - The span the grouping parser reads: the first
{to the last}, inclusive, whatever prose or fence surrounds it.Nonewhen the text has no such pair. - run
- Run the grouping stage over a core-only document. Returns the same document
with
groups,reading_planand the grouping audit fields filled, and"group"appended togenerator.stages.