intelligence-radar/workplans/IR-WP-0005-credential-delivery.md
tegwick 2f5fe5faae Close IR-WP-0005 on the passed read-only key check.
Assistant: grok
Assistant-Session: 01a106a5-fc07-78c2-b64f-8e04cea25daf
2026-10-04 17:13:00 +02:00

6.8 KiB

id type title domain repo status flavor owner topic_slug origin origin_ref created updated state_hub_workstream_id
IR-WP-0005 workplan Deliver admitted OpenRouter credentials to Radar infotech intelligence-radar finished implementation codex custodian residual IR-WP-0004 2026-09-14 2026-10-04 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

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

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.