Skip to content

docs: correct the glossary where it disagreed with the code - #103

Merged
jspaezp merged 1 commit into
mainfrom
docs/context-glossary
Aug 28, 2026
Merged

docs: correct the glossary where it disagreed with the code#103
jspaezp merged 1 commit into
mainfrom
docs/context-glossary

Conversation

@jspaezp

@jspaezp jspaezp commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Four entries in CONTEXT.md, found while checking whether the id work needed new vocabulary. It did not -- the concepts were already there -- but three entries had gone stale and one licensed the bug #98 fixed.

Output id -- deleted

The source id where there is one, the arena index otherwise.

seal now mints a source id for every unnamed row, so an arena index cannot reach a result. That was the point of #98, and the glossary was still describing the behaviour it removed. The term has collapsed into Source id; "output id" moves to that entry's avoid list.

Decoy group -- was too small

A target and its decoy variants.

A declared group is interned by label, so several targets can share one -- the reverse-decoy case the speclib generator emits (PEPTIDEK/2 and PEDITPEP/2 in one group). Competition keys on (GroupCode, charge), so the entry now states one survivor per group and charge, and separates declared from derived groups.

Variant -- scoped to the wrong thing

One member of a decoy group.

split_flat makes a variant an index within one row's expansion. Under a declared group those are different sets: the group holds several targets, each with its own variants.

Arena index -- mechanics removed

The meaning lives in mod index's doc and the constraint is enforced by the type (pub(super) construction, no Display, no Serialize). Prose repeating an invariant the compiler already enforces can only go stale, so it is cut to what no code states: the term, and what not to call it.

No code changes.

Three entries described behaviour that no longer exists, and one licensed the
bug #98 was about.

`Output id` said "the source id where there is one, the arena index otherwise".
`seal` mints a source id for every unnamed row, so an arena index can no longer
reach a result -- which was the point of the work. The term has collapsed into
`Source id` and is gone; "output id" moves to that entry's avoid list.

`Decoy group` said "a target and its decoy variants". A declared group is
interned by label, so it can span several targets -- the reverse-decoy case the
speclib generator emits. Competition keys on `(group, charge)`, so the entry now
says one result survives per group and charge, and distinguishes declared from
derived groups.

`Variant` was defined as a member of a decoy group. It is a member of one row's
decoy expansion; under a declared group those are different sets.

`Arena index` loses its mechanics. What it means is in `mod index`'s doc and the
constraint is enforced by the type -- `pub(super)` construction, no `Display`, no
`Serialize` -- so prose repeating it can only go stale. The naming guidance stays,
since that is the part no code states.
@jspaezp
jspaezp merged commit 0566263 into main Aug 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant