Skip to main content

Module grouping

Module grouping 

Source
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§

GroupingOptions

Enums§

Progress
Pipeline stage notifications, in the order they occur. Grouping carries 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. None when the text has no such pair.
run
Run the grouping stage over a core-only document. Returns the same document with groups, reading_plan and the grouping audit fields filled, and "group" appended to generator.stages.