Close GLAS-WP-0002-T02: live OpenBao verification succeeded for real
ops-mason built the real AppRole/policy/KV path infrastructure, the founder completed provisioning, and a real task ran through rein-openweights with OPENROUTER_API_KEY explicitly unset -- real AppRole login, real KV v2 read, real OpenRouter call, real commit. Full build record (including two real bugs found and fixed along the way) in ops-mason/plans/rein-openweights-openrouter-approle.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
9cc2683cd3
commit
17adfe4d64
1 changed files with 30 additions and 8 deletions
|
|
@ -60,17 +60,39 @@ vault round trip actually works end to end. Coordinate with
|
|||
`rein-openweights` directly; this task's outcome should be recorded in
|
||||
both repos.
|
||||
|
||||
**Blocked (checked 2026-07-26):** `bao token lookup` from this
|
||||
workstation returns `403 permission denied` — no usable vault session
|
||||
here. Provisioning a new AppRole (`auth/approle/role/...`) and a KV
|
||||
secret for `rein-openweights`, mirroring `rein-aharness`'s `binky-mail`
|
||||
lane, needs vault-admin access this session doesn't have. Needs the
|
||||
operator to provision the AppRole (or provide an ambient token with
|
||||
enough privilege) before this can be exercised for real.
|
||||
**Done (2026-07-27).** The blocker got its own builder: `ops-mason`
|
||||
(chartered specifically for this class of problem — see its `INTENT.md`)
|
||||
ran the full construction-plan → review → executive-summary → approval →
|
||||
build pipeline for real (`ops-mason/plans/rein-openweights-openrouter-approle.md`),
|
||||
against real OpenBao (founder logged in via `bao login -method=oidc
|
||||
-path=netkingdom role=platform-admin`, after the bare `-method=oidc`
|
||||
default 403'd against the wrong mount path).
|
||||
|
||||
Real infrastructure now live: `reins/` KV v2 mount, policy
|
||||
`workload-kv-read-rein-openweights-openrouter`, AppRole
|
||||
`rein-openweights`, role_id/secret_id delivered to
|
||||
`~/.local/rein-openweights/approle/`. Founder completed
|
||||
`paste_once_provision` through ops-warden's desk. Catalog entry
|
||||
`rein-openweights-openrouter-approle` is `active` in `ops-warden`.
|
||||
|
||||
**Live verification, for real:** ran a task through `rein-openweights`
|
||||
with `OPENROUTER_API_KEY` explicitly unset and
|
||||
`REIN_OPENWEIGHTS_APPROLE_DIR` pointed at the delivered credential —
|
||||
real AppRole login, real KV v2 read, real OpenRouter API call, real
|
||||
2-turn tool-calling loop, real commit
|
||||
(`e30d520c79a3493aeea5e8ea4d5ec331512b781d`). The vault round trip is
|
||||
what ran, not the env-var short-circuit.
|
||||
|
||||
Two real bugs surfaced and were fixed at the root cause along the way
|
||||
(not this repo's code — `ops-mason`'s and `ops-warden`'s): a KV v2
|
||||
policy path shape bug (`ops_mason/executor.py::_policy_hcl` was writing
|
||||
the bare KV-v1-shaped path, which silently denies everything on a v2
|
||||
mount) and a missing `platform-admin` policy entry for the brand-new
|
||||
`reins/` mount. Full account in `ops-mason`'s plan file section 7.
|
||||
|
||||
```task
|
||||
id: GLAS-WP-0002-T02
|
||||
status: wait
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "74b4f35b-9cdd-4228-aeed-e0eec458c0bf"
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue