From f0994c11a05f809bfb84de9221942fd3e2b72555 Mon Sep 17 00:00:00 2001 From: Keith Jackson Date: Fri, 2 Oct 2026 01:01:13 -0500 Subject: [PATCH] =?UTF-8?q?docs(decisions):=20record=20the=20PR's=20measur?= =?UTF-8?q?ed=20CI=20result=20=E2=80=94=20gitea-settings=20has=20drifted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Read PR #39's own gate log rather than the tick (CLAUDE.md §2b). Every stage this branch could affect is green: decisions-log, lint, l0, render-golden, l1, and approval-policy (which evaluated for real on the pull_request event and passed — no sensitive path touched). The one failure is `gitea-settings`: required_approvals: DECLARED 1 but LIVE is 0 Gitea has DRIFTED from infra/gitea/expected-branch-protection.json Every other declared setting matched, and one runner is online. So live `main` currently requires ZERO approvals while the declaration says 1, and because .gitea/workflows/gate.yml sets REQUIRE_GITEA_SETTINGS=true, that drift blocks EVERY PR in the repo, not only this one. The check that would notice approvals are unenforced is the check that is failing. Not touched here: infra/gitea/** is a sensitive path (non-author approval required) and outside this branch's documentation-only scope. Re-asserting the protection or changing the declaration is an operator decision in its own PR; local branch fix/admin-approval-override (616a497) looks like that work in flight. Co-Authored-By: Claude Opus 5 (1M context) --- .../2026-10-02-plex-quicksync-verification.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/decisions/2026-10-02-plex-quicksync-verification.md b/decisions/2026-10-02-plex-quicksync-verification.md index 28e0863..b0b08e3 100644 --- a/decisions/2026-10-02-plex-quicksync-verification.md +++ b/decisions/2026-10-02-plex-quicksync-verification.md @@ -95,6 +95,27 @@ would be a rule evaluating against nothing. - **No YAML was added or edited**, so `indent-sequences: consistent` (which blocked a sibling branch today) is not in play here; `lint` passed over the full tracked YAML set regardless. - **`DECISIONS-LOG.md` is untouched** — this handoff is its own file, per CLAUDE.md §7. +- **The PR's own CI run was read, not assumed** (PR #39, run 208, task 261, head `1677dff5688b`). + **It is RED, and not because of this branch.** Every stage this change could affect is green — + `decisions-log`, `lint`, `l0`, `render-golden`, `l1`, `approval-policy` (`approval-policy` evaluated + for real on the `pull_request` event and passed: no sensitive path touched). The single failure is + **`gitea-settings`**, quoting the measured field: + + [fail] required_approvals: DECLARED 1 but LIVE is 0 + [fail] Gitea has DRIFTED from infra/gitea/expected-branch-protection.json. + [fail] MERGE GATE: BLOCKED + + Every other declared setting matched (`block_admin_merge_override`, `block_on_rejected_reviews`, + `dismiss_stale_approvals`, `enable_status_check`, `enable_push=false`, + `status_check_contexts = ["gate / gate (pull_request)"]`, `runners online: 1`). So **live `main` + currently requires ZERO approvals**, the declaration still says 1, and with + `REQUIRE_GITEA_SETTINGS: "true"` in `.gitea/workflows/gate.yml` that drift **blocks every PR in + the repo**, not just this one. Note the shape of it: the check that would notice approvals are + unenforced is the check that is failing. Local branch `fix/admin-approval-override` (`616a497`, + "fix(ci): let an administrator merge their own green PR") looks like the in-flight work that means + to change the declaration. **I did not touch it** — `infra/gitea/**` is a sensitive path, needs a + non-author approval, and is outside this branch's documentation-only scope. It is an operator + decision: re-assert the protection, or change the declaration deliberately in its own PR. - The repository-wide grep for `992` to find what else still asserts it: remaining occurrences are in `catalog/plex.yaml`, `catalog/render.py`, `schemas/renderer-contract.md`, `platform/intel-gpu-plugin/README.md`, `platform/intel-gpu-plugin/kustomization.yaml`, and three