contract(operator-surface): owner-ratified DRAFT true-up #1 — Core 4 reaches <style> blocks, Core 10 check wording, Freeze-7 quote verbatim; OSV1 re-review - #81
Merged
Conversation
…reaches <style> blocks, Core 10 check wording, Freeze-7 quote verbatim; OSV1 SYNC rehash + full re-review
Owner ratification, literal: "yep, do it all." (2026-09-04). Status stays DRAFT.
PART A -- contracts/operator-surface.v1.md, three parts:
1. Core 4 widened from "an inline `style=` attribute" to also reach "a
`<style>` block outside the token module (`webtheme.py`'s token block)";
the visual.single_source machine check gained the matching conjunct.
Evidence: webtrust.py:256-302 hardcodes the retired palette inside a
`<style>` block that deliberately does not import the token CSS -- the
exact defect the clause exists to prevent, which the SEED reconcile could
only record-not-score.
2. Core 10's antigoals.enforced check was stricter than its own clause and
would have falsely condemned the localStorage density preference.
Reworded to "no view holds state that does not survive a refresh (...)".
3. Freeze 7's self-failure: the Changelog's webapp.py:38-39 quotation carried
added `**` emphasis. Struck -- the span is now byte-exact. webapp.py was
NOT touched.
Plus a dated Changelog entry.
PART B -- mandatory full OSV1 re-review (never a silent hash bump):
SYNC 7566c75c... -> f4098752...; custody hash re-verified byte-for-byte,
unchanged. All 36 rows walked against both the old and new text.
* 2 rows re-anchored, checked not assumed: OSV1-005 (Core 4) and OSV1-016
(Core 10), both within the same clause. The other 33 verify identically in
both texts. OSV1-015 re-read explicitly: different conjunct, no change.
* 1 disposition changed: OSV1-033 (Freeze 7) GAP -> CONFORMS by
VIOLATION-MOVEMENT; its pin was replaced by a real check in the same change.
Tally 8/5/20/3 -> 9 CONFORMS / 5 VIOLATION / 19 GAP / 3 NOT-ASSERTABLE.
Freeze 5's Core sub-tally unmoved (10 of 19 still red).
* New `<style>`-block census engine in _support.py, sharing classify_style
with the inline census so neither half can quietly become stricter. One
block outside the token module, 40 literal declarations, webtrust.py.
OSV1-005 and OSV1-032 now pin both halves separately.
* OSV1-016 records the density ruling (CONFORMANT under the aligned wording)
and asserts the persistence that makes it so.
* Report §9's needs 2 and 4 closed; the palette itself is NOT fixed here
(work_item_pipeline-np3).
Verified: pytest ledger/checks -q 60 passed; make ledger-mutate 53/53 proven
(52 -> 53: one added, one replaced when OSV1-033 changed groups); ruff check +
format clean. No src/ byte, no custody-contract byte, no docs/VISION.md byte
touched.
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Ratification record: owner's literal words "yep, do it all." (2026-09-04). Contract stays DRAFT.
Contract (
contracts/operator-surface.v1.md)<style>block outside the token module —webtrust.py:256-302hardcodes the retired palette in exactly that form and the previous wording could not score it.visual.single_sourceextended to match.webapp.py:38-39quotation made byte-exact (the added**emphasis broke LEDGER-FORMAT §2). The probe now also asserts the source did not acquire the emphasis.Mandatory OSV1 re-review (SYNC hash changed)
OSV1-000operator-surface hash7566…03ab→f409…3edb; custody hash unchanged (re-verified). 2 rows re-anchored (OSV1-005, OSV1-016 — the only quotes into moved text; 33 others verify identically). Dispositions 8/5/20/3 → 9 CONFORMS / 5 VIOLATION / 19 GAP / 3 N-A:OSV1-033Freeze 7 GAP → CONFORMS (VIOLATION-MOVEMENT; pin replaced by a real check). New<style>-block census engine sharesclassify_stylewith the inline census — measured one block outside the token module, 40 literal declarations; OSV1-005/032 now pin both halves. Density ruling recorded on OSV1-016. Freeze 5's Core sub-tally unmoved (10 of 19 red — the highway's job).pytest ledger/checks60 passed ·make ledger-mutate53/53 · ruff clean · nosrc/changes.🤖 Generated with Amplifier