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