Rendered from docs/obligations/0031-list-extension-in-an-add-only-overlay.md in the Headwater
corpus. Every document on this half of the site is typed by the taxonomy
the descriptor names: corpus.json.
List extension in an add-only overlay
Context
A bundle holds no override and no remove, and spec 2 supplies add_to for a list. Nothing states whether a bundle may use it.
The confluence argument covers disjoint addresses only, and two add_to operations at one address are not disjoint. The wordings disagree as well. Spec 2, spec 7 and the glossary permit whatever is not override or remove, and Q3 says that a bundle only adds.
Obligation
Until this closes, no bundle ships a lifecycle state or a projection, because the base holds both as lists.
A second entry now names a fact that the collapse loses. The decision-record entry models the tradition that invented the lifecycle ladder, and it may write no rung of it. Two of the tradition's states arrive at deprecated. A rejected record was proposed and refused, so nothing relied on it. A deprecated record was accepted and later abandoned, so things did rely on it. Both values are terminal-retained, so the collapse is silent rather than an error, and a reader cannot tell the two apart. The first entry hit this limit twice and could name no lost fact. This is that fact.
Discharge
The resolver reads the wordings as they stand. It admits add_to in any overlay, and its confluence check refuses two list operations from two sources at one address. What closes this is a ruling in spec 2, and no code can supply it.