Record that the chapter number field promises a null the seam rejects, and that the implemented half is dense one-based numbering
This commit is contained in:
parent
08219395d7
commit
a49e0f392f
1 changed files with 15 additions and 0 deletions
|
|
@ -1834,6 +1834,21 @@ components:
|
|||
Displayed ordinal, or `null` when the book has no numbering — a legal book.
|
||||
|
||||
**Not a key:** numbering is dense, so editing the source shifts every later chapter.
|
||||
|
||||
⚠ **ЭРРАТА 05.09 — КОНТРАКТ ПРОТИВОРЕЧИТ СЕБЕ, И ШОВ РЕАЛИЗУЕТ ДРУГУЮ ПОЛОВИНУ.**
|
||||
`null` объявлен здесь ЗАКОННЫМ, но платформа его ОТВЕРГАЕТ: `Whole()` в
|
||||
`platform/internal/ingest/manifest.go` проверяет `c.Number < 1` и возвращает ошибку
|
||||
«chapter numbering is 1-based», а JSON-овый `null` декодируется в ноль. То есть
|
||||
книга, которую этот абзац называет законной, через шов не проходит вовсе.
|
||||
Противоречие — ВНУТРИ поля: «нумерация плотная, номер не ключ» и «`null` законен»
|
||||
несовместимы, и реализована первая половина.
|
||||
|
||||
⇒ До структурного пака **считать законной только плотную 1-based нумерацию**;
|
||||
ненумерованная книга сегодня НЕ поддерживается ни одним концом, и обещание обратного
|
||||
здесь — единственный её носитель. Пак, который научит движок резать книги без
|
||||
нумерации, обязан снять это противоречие ЯВНО: либо шов принимает `null`, либо
|
||||
контракт перестаёт его обещать. Версия контракта здесь НЕ двинута намеренно —
|
||||
поведение провода не изменилось, изменилась только честность его описания.
|
||||
heading:
|
||||
type: [string, 'null']
|
||||
maxLength: 200
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue