The near-duplicate sentences render through one accessor

grammar/terms.py:template_sentences returns each selected template's documentation opening followed by its note. It emits each distinct note once, in selection order. This is necessary because total_thermal_electron_density selects both a total entry and a thermal entry. The selector orders conditioned entries only against unconditioned siblings, so neither conditioned entry suppresses the other. The accessor keeps both openings and emits their shared sentence once; select_conventions is unchanged.

Sentence from the rulingPlacement in templates.ymlReason and boundary
A cold or hot neutral temperature is that of the named component alone; without the component it covers the whole neutral population of the selected species. temperature with subject: neutral: one entry excludes population, the other requires cold or hot. It describes neutral_temperature and the cold and hot forms. A population-token definition would also reach unrelated quantities such as cold_electron_density; a broad neutral template would reach other neutral populations.
Triangularity without a qualifier is the mean of the upper and lower triangularities; upper and lower triangularity each use one extremum of the cross-section. triangularity: one entry excludes zone, the other requires upper or lower. It covers the unqualified and vertical forms at the plasma boundary and flux surface; other zone forms, such as inner_triangularity_of_plasma_boundary, do not receive it.
Total density is the sum of the thermal and fast populations of the species; thermal excludes the suprathermal particles that fast names. density with subject: electron: one entry requires aggregation: total, the other requires population: thermal or fast. It covers total and thermal/fast electron-density forms, including stacked forms. Other electron-density forms and other species do not receive it.

The test enumerates 10 temperature names, 28 triangularity names and all 24 electron-density combinations of registered population and aggregation tokens. It checks all three sentences on every name through template_sentences, plus opening and note order on total_thermal_electron_density. The focused registry and template gate passed 85 tests (EXIT=0) against 22 passed (EXIT=0) at base. The full grammar suite passed 1275 tests with 32 skipped (EXIT=0) against 1212 passed and 32 skipped (EXIT=0) from the extracted base revision: 63 added passes and zero added failures. The base log records its imported module path under the extraction, rather than this worktree.

Five temporary mutations each made a test that passes at head fail. Removing the neutral sentence from its conditioned entry made neutral_temperature render zero copies (EXIT=1). Removing note deduplication made total_thermal_electron_density render two copies of the density sentence (EXIT=1). Moving the neutral sentence to the broad subject-temperature entry reached electron_temperature (EXIT=1); moving the triangularity sentence there did the same (EXIT=1); moving the density sentence to the broad subject-density entry reached electron_density (EXIT=1). Their logs are control-removed-neutral.log, control-duplicated-density.log, control-misplaced-neutral.log, control-misplaced-triangularity.log and control-misplaced-density.log in the run directory.