Close half of the vocabulary row the pack executed and make the other half mandatory, and give the contract the fourth value the engine now sends

This commit is contained in:
heaven 2026-09-06 02:43:35 +03:00
parent fde85307d4
commit 5ac3f61161
2 changed files with 3 additions and 3 deletions

File diff suppressed because one or more lines are too long

View file

@ -1716,7 +1716,7 @@ components:
(0.11.0)** so a client can tell an order in chapters from an order it must phrase in
characters.
⚠ **An OPEN vocabulary that grows additively** — today `declared`, `detected`, `none`.
⚠ **An OPEN vocabulary that grows additively** — today `declared`, `delimited`, `detected`, `none` (⚠ `delimited` added by the engine 06.09: the file drew a separator — an EPUB spine, a form feed — but calling it a CHAPTER is the engine's assumption, not the format's word).
A value this build does not know is read as "not recognised" and is never promoted into
trust. A client MUST do the same: switch on the values it knows and treat the rest as
"no usable structure", rather than compile an exhaustive list that a minor will outgrow.
@ -2674,7 +2674,7 @@ components:
- type: 'null'
description: |
Where the chapter boundaries came from, passed through from the engine's manifest.
⚠ **An open vocabulary that GROWS additively** — today `declared`, `detected`, `none`.
⚠ **An open vocabulary that GROWS additively** — today `declared`, `delimited`, `detected`, `none` (⚠ `delimited` added by the engine 06.09: the file drew a separator — an EPUB spine, a form feed — but calling it a CHAPTER is the engine's assumption, not the format's word).
A value this build does not know is read as "not recognised" and never promoted into
trust; a client MUST do the same rather than switch on an exhaustive list.
source_chars: