webby: row 213 round 4 review, approve, and session line

This commit is contained in:
jason.woltje committed 2026-10-21 04:37:31 -05:00
1 parent 387f04dfda
commit 02bb0afb3a
2 files changed
+56

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
# Webby review: row 213 (C2-08, #1714), round 4
Webby, 2026-10-21T09:36Z (from `date -u`). Author: Morgana. Request comment 29982 (sage-213-request-4,
sage-1901). This round only checks the rebase onto row 234's landing. Round 3 was APPROVE on manifest
887c32d60fe2 at 2d2ad2760 over 9b5362018 (comment 29924). Candidate: manifest digest
26d4d0ecff5601e2e610c02fc516cede49563e06676f05b5042ae09c1dee0671, 35 paths, on morgana/row213-r4
2b3e67e36. That commit's one parent is c771a36f4.
What I checked, without runs or a worktree:
- I took the manifest text from `queue show 213` (round 4). It hashes to the digest above, and each
path's sha256 from `git show 2b3e67e36:<path>` matches its line. The same 35 paths as round 3.
- Outside the manifest, c771a36f4..2b3e67e36 adds only Morgana's packet files under
agents/morgana/work/queue-213/.
- Three manifest paths differ in blob from 2d2ad2760: business.mjs, broker.mjs and
project-runtime.test.mjs. These are the three that 9b5362018..c771a36f4 (row 234) changed. The other
32 have the same blob and mode.
- On those three, the row's -U0 +/- lines over c771a36f4 match its lines over 9b5362018, except the
vocabulary import lines. Those follow row 234: business.mjs no longer imports `HOST_PREFIX` (row 234
removed it, and nothing in the candidate's business.mjs uses it), and broker.mjs and the pinned line
in project-runtime.test.mjs keep row 234's `HOST_ID` with `CREATIVE_DEFINITIONS` last.
- Overlap: c771a36f4..38b83ea5c changes none of the 35 paths, as Sage found.
Morgana's slot run on r4 was singles 191/0 and 31/31 mutants killed (morgana-0035). I ran nothing.
## Verdict: APPROVE
The resolved import lines keep both sides, and the rest of the row is round 3's code.
I rechecked creative roles against row 234's machine grants, because row 234 moved host access from the
business file into store records (r6 X4). That retires part of my round 3 argument: host.run no longer
reads the business file's `hosts`, so the "needs a `host` credential in the role definition" check
(round 3, business.mjs:137) no longer stands in front of it. What stands now:
- M6 (broker.mjs:1736-1738) runs before row 234's grant branch (:1744). A creative `decision.raise`
with `grant` refuses `decision-not-allowed`, before #raiseGrant.
- #raiseGrant (:870) and the agent side of #hostsCaller (:896) refuse anything but `chief-of-staff`
with `grant-chief-only`. `hosts.remove` is human or tester only (:894). No creative definition is
`chief-of-staff` (vocabulary.mjs:176).
- host.run needs a `host_grants` row naming the caller (:695, :703). At c771a36f4 nothing writes that
table. 3i-3j.sql:20 creates it, and the only code that touches it is reads (broker.mjs:695, :930,
runtime.mjs:103). enrollCheck accepts only `method: 'host-enroll'`. So no role, creative or not, can
hold a host grant at this base.
- Each host.run still spends a `host.sudo` decision (:2115-2118), and M6 keeps a creative role from
raising one.
## Non-blocking
N2. Forward note for row 235, which adds the `host` grant and the `host_grants` writer. After 234, the
role definition's `credentials` no longer gates host access, so the grant writer is where a creative
agent has to be refused. A chief-of-staff could raise a `host` grant naming a creative role as
`agent`, and the human might approve it without noticing which kind of role it is. Then host.run
would pass #hostAccess for that role, leaving only the per-call `host.sudo` decision between it and the
host. I didn't trace whether a decision raised by another role can be spent by the creative one. I couldn't read 235's code
(origin has no gizmoduck/row235-c), so I don't know whether it already refuses this. The 235 review
should check that a `host` grant naming a CREATIVE_DEFINITIONS agent refuses, with a test. This sits
next to my round 3 N1, now in DEFERRED at 5465fd52d.
+1
View File
@@ -1412,3 +1412,4 @@ are never rewritten or removed; corrections are new entries.
2026-10-21T08:31Z | Webby (Opus 5.5, reviewer seat) | row 197 proof driver r2 review, B1 and N3 only (b8461266c, run-proof.mjs ace376a9, sage-1864) | APPROVE; notes agents/webby/work/queue-197/REVIEW-proof-driver-r2.md
2026-10-21T09:29Z | Webby (Opus 5.5, reviewer seat) | row 197 queue round 4 (r6 df0c59608, manifest 1556cd29) merge and umask wrapper review | APPROVE; notes agents/webby/work/queue-197/REVIEW-merge-r4.md
2026-10-21T09:32Z | Webby (Opus 5.5, reviewer seat) | row 231 C2-01b round 1 (88daaac50, manifest d4c4cf09) review | CHANGES B1 B2; notes agents/webby/work/queue-231/REVIEW-r1.md
2026-10-21T09:37Z | Webby (Opus 5.5, reviewer seat) | row 213 C2-08 round 4 (2b3e67e36 on c771a36f4, manifest 26d4d0ec) rebase and 234 grant recheck | APPROVE; notes agents/webby/work/queue-213/REVIEW-r4.md