122 lines
6.8 KiB
Markdown
122 lines
6.8 KiB
Markdown
---
|
|
id: IR-WP-0005
|
|
type: workplan
|
|
title: "Deliver admitted OpenRouter credentials to Radar"
|
|
domain: infotech
|
|
repo: intelligence-radar
|
|
status: finished
|
|
flavor: implementation
|
|
owner: codex
|
|
topic_slug: custodian
|
|
origin: residual
|
|
origin_ref: IR-WP-0004
|
|
created: "2026-09-14"
|
|
updated: "2026-10-04"
|
|
state_hub_workstream_id: "624750a5-d613-5e32-a656-595de03ef73c"
|
|
---
|
|
|
|
Created before closure of IR-WP-0004 at the user's request to separate credential
|
|
delivery from billing. Source files own the work; cross-repository owner plans
|
|
retain authority over native changes. Review baseline:
|
|
`docs/evidence/2026-09-14-ir-wp-0004-review.md`.
|
|
|
|
## Confirm native delivery prerequisites
|
|
|
|
```task
|
|
id: IR-WP-0005-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "52427c5c-001d-5965-a6ec-254fef0c3deb"
|
|
```
|
|
|
|
Coordinate with SECRETS-WP-0010-T03 and its existing owner records. Reuse the existing OpenBao key and completed human approvals; verify current native validity without repeating or extending approvals. Record exact recipient, caller/owner/tenant binding, admitted transport, login/time prerequisite and current owner evidence. Do not wait for billing reconciliation to perform credential-only diagnosis. No secret values in Git, logs or State Hub.
|
|
|
|
Done: confirmed via secrets-engine's authoritative reply (thread `c511e9b5-4d29-4030-bf05-bd11502bd4f0`,
|
|
message `76e4c7da-84bb-4211-9a46-c9be0da13757`) that SECRETS-WP-0010-T03 closed done 2026-09-16 —
|
|
pinned recipient authenticated to OpenRouter `GET /api/v1/key` (HTTP 200), negative verification
|
|
passed, three approvals consumed and non-reusable. Full record with pointers (no secret values):
|
|
`docs/evidence/2026-09-27-ir-wp-0005-t01-native-delivery.md`.
|
|
|
|
## Verify scoped delivery and return readiness
|
|
|
|
```task
|
|
id: IR-WP-0005-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "c4b2378a-5241-5195-8c4b-d53ec58a7f72"
|
|
```
|
|
|
|
Depends on T01 and native owner execution. Prove value-safe read-only provider key validation, correct recipient success, wrong caller/owner/tenant/path refusal, revocation and unchanged existing llm-connect delivery. Capture source/recipient revisions and sanitized native receipts. Do not widen policies or rotate the provider key merely to unblock Radar. This plan completes on admitted delivery evidence; paid inference and campaign accounting belong elsewhere.
|
|
|
|
Blocked, 2026-09-27: secrets-engine confirmed no ops-mason build is needed and withdrew
|
|
the guest-clock hold (claim/consume uses a Railiance Clock trust file, not the OS clock).
|
|
The remaining gate is human acceptance of three new apply/verify/exec approvals for the
|
|
pinned `intelligence-radar-key-check` recipient; Radar requested secrets-engine open them
|
|
(message `45b52d6e-7a3b-4ebe-ac15-d8137957731f`). Coordination trail:
|
|
`docs/evidence/2026-09-27-ir-wp-0005-t01-native-delivery.md`.
|
|
|
|
2026-10-03: human gate routed to hub decision 62aa95e4-3ccc-4867-8806-5e3db005b483 (D1: Attended OpenBao provisioning window: one session clears the pending credential lanes) by CUST-WP-0075; resolving that decision raises C-40 here.
|
|
|
|
Rechecked 2026-10-04: decision `62aa95e4-3ccc-4867-8806-5e3db005b483` is still
|
|
`open` (`decided_at` null, last hub update 2026-10-03). The radar inbox has no
|
|
new secrets-engine message. No delivery check was run and no credential was
|
|
read. Stays wait.
|
|
|
|
2026-10-04: the founder will accept the three memos once they are published.
|
|
Asked secrets-engine again, on the same thread, to create the requests and
|
|
publish memo version 3 (message `1902d854-6fd5-4444-a11d-c074e024e4b0`). The
|
|
2026-09-27 receipt is still absent. Stays wait.
|
|
|
|
2026-10-04: the founder reviewed and accepted the three memo-version-3 pages
|
|
in the browser (`SECRETS-WP-0010-T03-apply`, `-verify`, `-exec`).
|
|
secrets-engine had published them (reply `be0e6e0d-4336-4485-a458-51fe5fa63bf7`).
|
|
Sitting policy v11 was required before those pages would open. The create
|
|
receipt `railiance-platform/docs/evidence/2026-09-27-t03-approval-requests.json`
|
|
is still the pre-delivery snapshot (`human_entries_created` false); browser
|
|
acceptance does not rewrite it. The delivery receipts
|
|
`railiance-platform/docs/evidence/2026-09-27-t03-attended-delivery.json` and
|
|
`secrets-engine/docs/evidence/2026-09-27-t03-native-execution.json` are absent.
|
|
No credential was read. Hub decision `62aa95e4-3ccc-4867-8806-5e3db005b483`
|
|
stays open. T02 stays wait until those two receipts exist. Approvals expire
|
|
2026-10-05T14:24:25Z. Told secrets-engine on the same thread that one delivery
|
|
is starting and a second execution must not start (message
|
|
`a1917597-fe75-4e2f-812e-a2a640db56c5`). Worker
|
|
`01a10769-5085-7161-88a7-540ce9d75466` is that single delivery.
|
|
|
|
That delivery failed closed in preflight at 2026-10-04T15:00:30Z, before any
|
|
apply, verify, or exec claim. Warden exit 11. Attended phase
|
|
`scoped_reader_delivered`, failure `attended_admin_failed`. Native phase
|
|
`preflight`, `DeliveryError` at `exec_owner.py:184`: the pinned session
|
|
directory `/run/user/1000/secrets-engine-openrouter-check` was absent from the
|
|
user tmpfs. The checker file and `/usr/bin/python3.12` still match their pins.
|
|
No credential was emitted and no provider call was made. The failed receipts
|
|
are preserved as
|
|
`secrets-engine/docs/evidence/2026-10-04-t03-native-execution-cwd-missing.json`
|
|
and
|
|
`railiance-platform/docs/evidence/2026-10-04-t03-attended-delivery-cwd-missing.json`.
|
|
The blocking native path was moved aside because this preflight claimed
|
|
nothing. The empty directory was recreated at mode 0700, and the local
|
|
preflight then passed. One further delivery follows, worker
|
|
`01a10771-88c8-7a31-ae9f-23e74d71b37a`.
|
|
|
|
2026-10-04T15:10:05Z: that retry passed. Warden exited 0. Attended receipt
|
|
`railiance-platform/docs/evidence/2026-09-27-t03-attended-delivery.json` is
|
|
`passed` / `native_actions_completed`, `credential_values_emitted` false,
|
|
private runtime removed. Native receipt
|
|
`secrets-engine/docs/evidence/2026-09-27-t03-native-execution.json` is
|
|
`passed` / `all_actions_completed`. Apply was already satisfied, so approval
|
|
`b5fcbfcc-ad56-456f-bc36-c823052e9917` was not consumed and the role limits
|
|
stayed token TTL 900, max TTL 1800, secret-id TTL 900, one secret-id use,
|
|
eight token uses. Verify `4e9ff881-d59f-4143-9155-929afbe8dd43` exited 0 with
|
|
the unrelated path denied, the session revocation checked, and the revoked
|
|
token lookup at HTTP 403. Exec `a24e0898-b3c5-4e50-85a8-18a2c2aa229e` exited 0.
|
|
The pinned recipient key check returned `authenticated` with HTTP 200.
|
|
`llm-connect` stayed ready and its ExternalSecret stayed ready. No provider
|
|
key was rotated and no inference was run. Hub decision
|
|
`62aa95e4-3ccc-4867-8806-5e3db005b483` stays open. Billing remains
|
|
IR-WP-0006-T03. Field outcomes remain IR-WP-0007.
|
|
|
|
Asked informed-decision to provide the already specified pose-and-answer path
|
|
(`INFD-WP-0005`, `docs/specs/FrictionlessDecisionIntake.md`): one prepared
|
|
decision, a returned review URL, and the same login able to open and answer it.
|
|
Message `5500f885-17d3-4b8f-bc07-fc6ee4c33d89`.
|