Skip to content

Commit 016657d

Browse files
authored
Merge pull request lidge-jun#2809 from lidge-jun/codex/admin-merge-record
docs(devlog): record the admin-merge round and where it stopped
2 parents 0dd7835 + ab72869 commit 016657d

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

‎devlog/_plan/260828_bugpr_fix_and_reimplement/070_outcome.md‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,48 @@ something no amount of my own green output would have surfaced.
155155
Fixed by reducing to the model component (last `:` segment, then last `/` segment,
156156
anchored) rather than widening or blacklisting. Mutation-verified: the whole-string
157157
scan fails exactly the new regression.
158+
159+
## Admin-merge authorization (2026-08-28)
160+
161+
The user authorized `--admin` merges, which resolved the self-approval deadlock and
162+
the author-attestation box. Four landed: **#2794** (`bdc1e97bb`), **#2747**
163+
(`fe063d16e`), the round docs **#2806** (`7dd01bfdd`), and #2740 earlier. Each was
164+
already fully green — the authorization removed a *process* gate, not a verification
165+
one, and nothing merged that lacked evidence.
166+
167+
#2770 was closed rather than merged: its branch predated six merges, so its diff
168+
against current `dev` showed 2439 deletions. #2806 replaced it, cut from current
169+
`dev`. #2745 was superseded by **#2807**, which carries the same fix rebased with
170+
both review blockers closed.
171+
172+
## Where the admin merge stopped, and why
173+
174+
Two credential-path PRs were **not** merged despite the rights being available.
175+
176+
**#2638** fails `hygiene` on `unsponsored_surface` naming `src/codex/auth-context.ts`.
177+
That gate asks whether a human has reviewed a credential path; admin rights answer a
178+
different question. The `maintainer-sponsored` label *is* the judgement being
179+
requested, so applying it forges the gate rather than passes it. The author has since
180+
added `fix(codex): fence retry entitlement refresh`, which closes a real window — the
181+
initial auth selection releases its admission before the first response arrives, so a
182+
profile switch could overlap credential discovery. Re-verified at the new head
183+
`e06ffbaa8`: **272/0** focused, **15465/0** full suite, `tsc` exit 0.
184+
185+
**#2807** is subtler and worth recording precisely. `hygiene` **passes** on it, because
186+
`src/server/responses/core.ts` is not in `RESTRICTED_FILES` in
187+
`.github/scripts/pr-sponsored-surface.cjs`. But `.github/CODEOWNERS:46` assigns that
188+
exact file to `@lidge-jun`, and `MAINTAINERS.md:60` requires explicit security review
189+
for credential handling — which is exactly what the diff does: it decides which origin
190+
a rotated-to account's bearer is sent to.
191+
192+
So the automated gate says yes and the written policy says no. **The gate is narrower
193+
than the rule it encodes**, and a passing check is not permission when the rule it
194+
exists to enforce plainly applies. I am both the author and the code owner, so there
195+
is no second pair of eyes on this credential path either way.
196+
197+
That asymmetry deserves fixing at the source: `src/server/responses/core.ts` belongs
198+
in `RESTRICTED_FILES` if it belongs in CODEOWNERS' security boundary. Recorded as a
199+
follow-up rather than changed here — widening a security gate mid-round, while holding
200+
admin rights and an open PR that the widened gate would block, is exactly the kind of
201+
self-serving edit that deserves its own reviewed change.
202+

0 commit comments

Comments
 (0)