Rendered from docs/obligations/0017-publishing-the-read-set-skips-a-re-run-on-two-of-the-eighteen.md in the Headwater corpus. Every document on this half of the site is typed by the taxonomy the descriptor names: corpus.json.

Publishing the read set skips a re-run on two of the eighteen merges where the question is live

Context

Q21 rules terminological succession and validity under merge. Publishing the read set should let a gate skip a full re-run on most merges.

Obligation

The instrument is the fraction of merges whose read set the other side never touched.

Discharge

It ran. A run now publishes the union of its inputs, so the fraction is computable over the history of this repository. Across the 58 merge commits of main the mainline had not moved past the merge base in 40. No verdict was at risk in any of those. Eighteen carry a window. In two of the eighteen the mainline moved nothing that the read set holds, so a gate skips the re-run. In sixteen it did.

The claim holds at 42 of 58 merges and fails at 2 of the 18 where the question is live. The reason is structural. Two Shape rules generate over every kind, so the union is every classified document and it can exclude almost nothing. What decides a merge is the reach of the rule set rather than the count of the corpus-scoped checks that spec 12 calls the barriers.

Two of eighteen is the reading of the comparison over listed inputs, and the barrier rule sits above it. Spec 12 voids a verdict that rests on the extent of the census, because a list of members states no extent. identifier.claimed_twice is corpus-scoped, and it puts one instance in every run of this corpus. lifecycle.deletion.not_permitted is the second barrier and it puts one more. So this record read two barrier lines on every read set of 2026-08-14. One was always enough. A corpus that carries more of them reaches the same answer sooner. A gate therefore carries none of the eighteen, and the fraction for this corpus is zero. HW-OBL-0102 carries the ruling, and the count of barriers is the number that decides this record after all.

What happens next is a statement rather than a further run, which is why this record reads build. The instrument ran and the reading is stable. A barrier line is structural for any corpus whose rule set generates over every kind. The count of them decides nothing that one does not. Spec 12 states the claim about skipping a re-run and does not state that reading. What discharges this record is the qualification in spec 12, and no measurement of this corpus adds to it.

#1475 wrote that qualification in #1505, and this record is discharged. Spec 12 now states the reading. The paragraph that states it opens "Over this corpus, a gate never saves a full re-run". It gives the two of eighteen over listed inputs, and the zero once a barrier is present. Spec 6 says that over this corpus the decision of a gate is always to run again. It links to spec 12 for the numbers. Spec 12 now names six barrier rules, where this record read two. The count went up, and the reading stays at zero.