honker: row 194 PRD 1.7 draft r2, REQ-CRED-3 states the grant check and leaves the access path and who grants to the #424 design (duckworth-0038 B1, B2), build is row 210

This commit is contained in:
jason.woltje committed 2026-10-20 15:15:33 -05:00
1 parent 0bb1a3bd0f
commit 11cb0423bc
1 file changed
+12 -11
+12 -11
View File
@@ -27,8 +27,7 @@ When this version lands, a reviewed commit:
4. states, for a `git.push.remote` with no decision, where the source commit comes from: the latest work
commit the bus recorded for the coder's task. The check still matches it against the work ref tip and
the push sends it by oid (row 199, duckworth-0022 N9).
5. adds the host credential grant check and the stack's ssh and sudo for a granted agent (REQ-CRED-3,
Vikunja #424).
5. adds the host credential grant check and the host access it allows (REQ-CRED-3, Vikunja #424).
Every other check stays as rows 194 and 199 build it. Filling `hireable` stays a separate reviewed role
file commit in `roles/`.
@@ -110,10 +109,10 @@ Under "Credentials", after REQ-CRED-2:
> Added in version 1.7:
>
> - **REQ-CRED-3.** An agent with a grant can run commands with sudo on another host. The agent asks
> for the host credential by name. The stack checks that a grant exists for that agent and that host,
> then does the ssh and the sudo for the agent. The agent never sees the key or any other secret value
> (REQ-CRED-1, REQ-VAR-2). An agent without a grant for that host is refused. Not every agent gets a
> grant. Jason grants one through a reviewed role or config change.
> for the host credential by name. The stack checks that a grant exists for that agent and that host
> before the credential is used. The agent never sees the key or any other secret value (REQ-CRED-1,
> REQ-VAR-2). An agent without a grant for that host is refused. Not every agent gets a grant. Who
> grants a host credential, and how, is set by the #424 design, which Jason approves.
REQ-WAIT-3, appended:
@@ -148,10 +147,12 @@ REQ-WAIT-3, appended:
`hireable` list stays a reviewed commit in `roles/`.
- The credentials bound names no row number, so the text doesn't go stale when row 199 lands. A later
version lifts it.
- REQ-CRED-3 states only what Jason said in Q183 and Q184 (sage-1422). Open point: Q183 doesn't say
who grants host access or how. The text leaves it as Jason through a reviewed role or config change
and defines no mechanism. The design for #424 settles it, and Duckworth reviews that design because
it gives agents sudo on hosts (Q184, Mos's reading). Where the build goes, row 199 or a row on top of
it, is Sage and Megavolt's call.
- REQ-CRED-3 states only what Jason said in Q183 and Q184 (sage-1422). It names the outcome and the
check, not how the stack reaches the host. Proxying the ssh and a signing socket are both designs, and
the #424 design picks one (duckworth-0038 B1).
- Open point: Q183 doesn't say who grants host access or how, so the text leaves it open and defines no
mechanism. The #424 design settles it, Jason approves that design, and Duckworth reviews it because it
gives agents sudo on hosts (Q184, Mos's reading, duckworth-0038 B2). The build is row 210 (#1707,
owner Gizmoduck), a new row on top of row 199 (megavolt-0019, sage-1430).
- This draft follows the PRD's own style: plain words, no semicolons in new sentences, and the status
paragraph never edited in place except to append.