Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

docs: the four decisions and the review ledger, which #24 merged without - #25

Merged
sinkog merged 1 commit into
develfrom
docs/decisions-recovered
Aug 10, 2026
Merged

docs: the four decisions and the review ledger, which #24 merged without#25
sinkog merged 1 commit into
develfrom
docs/decisions-recovered

Conversation

@sinkog

@sinkog sinkog commented Aug 10, 2026

Copy link
Copy Markdown
Member

PR #24 merged an earlier head than the branch carried. Measured against devel after the merge:

DECIDED blocks:        0
trust-boundary section: absent
disposition ledger:     absent
reconciliation tool:    absent

11 files, 462 lines — none of it there

This is the second time a merge has taken a head that was not the branch's. The first was #8, which merged into a base that had already merged to main and left a commit behind. Both were invisible until something was looked for and not found — a force-push and a merge race, with no check comparing what a PR claims to carry against what the target ends up holding.

Nothing here re-derives anything: same content, restored onto current devel, derived values recomputed.

What was lost and is back

Four decisions, each with what was refused and why:

choice
D-1 scalar_type constrains, no coercion, belongs to D-5 — a contract cannot be evaluated without a type: range: [1, 100] against "50" has no answer
D-2 rejection — a complete set crosses into a module, so a declared position with no value is not a state the boundary can be in. required: true keeps a sharper meaning: the instance must supply it
D-5 enforce access and contract — one question, answered once
D-6 restrict declared names; opaque keys exempt and not addressable

And the section three of them turn on, which was written down nowhere:

Materialize is the pre-entry step, so the untrusted edge is there and at ValidateCanonicalDocument — not at the module boundary, which receives a complete set. Resource budgets belong at the first two.

The review ledger and its gate. reviews/cbaf928.disposition.md carries one row per finding; tools/check_review_ledger.py reconciles the findings the threads raise, the ledger rows, and the decisions.

It exists because the decisions list lost two findingsclaim/F-08 and claim/F-10 were raised, measured, confirmed, and then appeared nowhere.

14 closed, 10 partial, 13 open, of 37. A partial is not a closed one.

Plus three false claims: make conformance calling a target that does not exist, "32 of 34 invariants" against 46 and 40, and "no module and no boundary" long after go/module/ existed.


make ci passes.

PR #24 merged an earlier head than the branch carried. Measured against devel
after the merge: zero DECIDED blocks, no trust-boundary section, no disposition
ledger, no reconciliation tool. Eleven files, 462 lines, none of it there.

This is the second time a merge has taken a head that was not the branch's. The
first was #8, which merged into a base that had already merged to main and left
a commit behind. Both were invisible until something was looked for and was not
found — a force-push and a merge race, and no check that compares what a PR
claims to carry with what the target ends up holding.

Nothing here re-derives anything: the files are the same content, restored onto
current devel and the derived values recomputed.

WHAT WAS LOST AND IS BACK:

Four decisions, each with what was refused and why.

  D-1  `scalar_type` CONSTRAINS, no coercion, and belongs to D-5. A contract
       cannot be evaluated without a type — `range: [1, 100]` against "50" has
       no answer — so a descriptive scalar_type leaves the evaluator inventing
       its own typing and the model carrying two type systems.
  D-2  REJECTION. A complete extracted set crosses into a module, so a declared
       position with no value is not a state the boundary can be in. `required`
       keeps a sharper meaning: the INSTANCE must supply it, expressible as a
       member that may not carry `origin: [schema]`.
  D-5  ENFORCE `access` AND `contract`. One question, answered once.
  D-6  RESTRICT declared names; opaque keys exempt and not addressable, because
       nothing references into an opaque blob.

And the section three of them turn on, which was written down nowhere:
`Materialize` IS the pre-entry step, so the untrusted edge is there and at
`ValidateCanonicalDocument` — not at the module boundary, which receives a
complete set. Resource budgets belong at the first two.

The review ledger and its gate: reviews/cbaf928.disposition.md carries one row
per finding, and tools/check_review_ledger.py reconciles the findings the
threads raise, the ledger rows, and the decisions. It exists because the
decisions list lost two findings — claim/F-08 and claim/F-10 were raised,
measured, confirmed, and then appeared nowhere. 14 closed, 10 partial, 13 open,
of 37. A partial is not a closed one.

Plus the three false claims: `make conformance` calling a target that does not
exist, "32 of 34 invariants" against 46 and 40, and "no module and no boundary"
long after go/module/ existed.

make ci passes.

---
[signing-metadata]
key = cic-my-sign-key
signature = vault:v1:MEYCIQDfGXEN6FnkqEvs2RD3wz4TioMEi4U+bglaEUD8ROUZ+gIhAKhL3VzLDE278w8BUr2o/iQ2oZADxXo9/F55BTGlnewa
hash-algorithm = sha256
digest = DtL0VA5vNUIrMEx3Ftr9eGlPm6j6v5GUBj/9RUUxKOA=

[certificate]
-----BEGIN CERTIFICATE-----
MIICBjCCAaygAwIBAgIUSnRMR6RPnEbg296XWPOqq/u5PCwwCgYIKoZIzj0EAwIw
QzELMAkGA1UEBhMCSFUxGTAXBgNVBAoMEENlbnRyYWxJbmZyYUNvcmUxGTAXBgNV
BAMMEENJQyBEZXZlbG9wZXIgQ0EwHhcNMjYwMzIwMTMyMjU5WhcNMjYxMjMxMTMy
MjU5WjBFMQswCQYDVQQGEwJIVTEZMBcGA1UECgwQQ2VudHJhbEluZnJhQ29yZTEb
MBkGA1UEAwwSR2Fib3IgWm9sdGFuIFNpbmtvMFkwEwYHKoZIzj0CAQYIKoZIzj0D
AQcDQgAEIG2CVmTfmLB9pLLclj7YmP2eedAjklpy4LGrU2ijoiy6Xqpuybv7OgJe
i+ez31s65NEV8+X/ByeX1cstR988z6N8MHowCQYDVR0TBAIwADAdBgNVHQ4EFgQU
yZN6AIX/TNnIJ9GwAa/NRN3ujHAwHwYDVR0jBBgwFoAUXn6CHYzPUqU4JVP8g+OS
WeDYjhcwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDAKBggqhkjOPQQDAgNIADBFAiEA+bFzXRoJ4PCQbhAAtpkcMjt0vNj5rEW0
lOMBGDNyaWkCIB1vmM7PcZzv/c9bIrxF5kqv6QXomouhByUfeNUTbpKW
-----END CERTIFICATE-----
@sinkog
sinkog merged commit 4918240 into devel Aug 10, 2026
2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant