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
Conversation
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-----
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR #24 merged an earlier head than the branch carried. Measured against
develafter the merge: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
mainand 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:
scalar_typeconstrains, no coercion, belongs to D-5 — a contract cannot be evaluated without a type:range: [1, 100]against"50"has no answerrequired: truekeeps a sharper meaning: the instance must supply itaccessandcontract— one question, answered onceAnd the section three of them turn on, which was written down nowhere:
The review ledger and its gate.
reviews/cbaf928.disposition.mdcarries one row per finding;tools/check_review_ledger.pyreconciles the findings the threads raise, the ledger rows, and the decisions.It exists because the decisions list lost two findings —
claim/F-08andclaim/F-10were 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 conformancecalling a target that does not exist, "32 of 34 invariants" against 46 and 40, and "no module and no boundary" long aftergo/module/existed.make cipasses.