From e71f7c2504a6e045d48b87d2ca2d6125ab989fdd Mon Sep 17 00:00:00 2001 From: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> Date: Sat, 5 Sep 2026 21:17:39 -0700 Subject: [PATCH] =?UTF-8?q?converge(FREEZE):=20operator-surface.v1=20FROZE?= =?UTF-8?q?N=20=E2=80=94=20owner-ratified=20true-up=20#2=20(RC-1/2/3),=20F?= =?UTF-8?q?reeze=208=20record,=20FROZEN=20stamp;=20OSV1=20SYNC=20rehash=20?= =?UTF-8?q?+=20full=20re-review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contracts/operator-surface.v1.md | 21 +- ledger/checks/mutation_harness.py | 31 ++- ledger/checks/test_operator_rows.py | 68 +++++- ledger/reconcile-report.md | 361 ++++++++++++++++++++++++++-- ledger/rows.yaml | 216 +++++++++++++++-- 5 files changed, 635 insertions(+), 62 deletions(-) diff --git a/contracts/operator-surface.v1.md b/contracts/operator-surface.v1.md index 401e8f8..9a931ba 100644 --- a/contracts/operator-surface.v1.md +++ b/contracts/operator-surface.v1.md @@ -1,6 +1,6 @@ # Operator Surface Contract — v1 -**Status:** DRAFT +**Status:** FROZEN **Scope:** This contract governs the operator surface of amplifier-work-tracker: the human web surface one operator watches — L0 Mission Control (`GET /`), L1 Project Observatory (`GET /projects/{name}`), L2 Item Detail (`GET /projects/{name}/items/{id}`), the login, `/setup` and `/trust` onboarding pages, and the PWA shell. Its consumer is a human outside this repo's own commits; a silent change breaks trained perception, and that dependence is what makes it a seam. *(Brief A §1, webapp.py:4551, webbrowse.py:287, webbrowse.py:611; Brief B §8)* @@ -64,9 +64,9 @@ Literal colour, font, or size in an inline `style=` attribute, or in a `