From 62192028d6e51dd5bb971e8bf83526dbf1be26e6 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 28 Sep 2026 10:43:27 +0200 Subject: [PATCH] Reconcile completed evidence and block remaining external acceptance Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0e72b-466d-75c0-b550-2474a3be5f36 --- .../2026-09-27-metered-owner-deployment.json | 39 +++ ...2026-09-27-sonnet5-tool-session-proof.json | 310 ++++++++++++++++++ .../proposals/glas-metered-20260927/README.md | 26 +- .../glas-metered-tool-20260927/README.md | 2 + .../SECRETS-WP-0006-catalog-lane-adoption.md | 14 +- ...-WP-0007-production-lifecycle-hardening.md | 13 +- ...-0008-layer-model-lifecycle-conformance.md | 18 +- ...ETS-WP-0009-glas-claude-native-delivery.md | 48 ++- 8 files changed, 454 insertions(+), 16 deletions(-) create mode 100644 docs/evidence/2026-09-27-metered-owner-deployment.json create mode 100644 docs/evidence/2026-09-27-sonnet5-tool-session-proof.json diff --git a/docs/evidence/2026-09-27-metered-owner-deployment.json b/docs/evidence/2026-09-27-metered-owner-deployment.json new file mode 100644 index 0000000..fd9d88f --- /dev/null +++ b/docs/evidence/2026-09-27-metered-owner-deployment.json @@ -0,0 +1,39 @@ +{ + "date": "2026-09-27", + "installation": { + "authority": "User approved configuration/code update, no paid call; ADMINISTER @ realm:host/railiance01; activation=APPROVED", + "old_source": "f7c12bedc8149bbf484065fb58411a9fac706798", + "new_source": "11cc0d5452c1520060031f50d77f20b80f6dcf85", + "owner_sha256": "e0d3fb84649fdca302eccd9415f3cc2beaee84bf07bd83205cdffbe93e5573bc", + "owner_mode": "0600", + "backup_sha256": "0e263f8299a42f63caf3595ff3eb7adc10354673f7b5125e0811def3bea7c274", + "spend_policy_sha256": "f31c585916de1ea8bd8e48c72421803dfde1015e6201704b9320f77d2c545d9c", + "ledger_rows": { + "reservations": 0, + "request_routes": 0, + "request_reservations": 0 + }, + "standing_worker_unchanged": true, + "paid_requests": 0, + "credentials_read": false + }, + "checks": { + "source": "11cc0d5452c1520060031f50d77f20b80f6dcf85", + "owner_digest": "97ee637a8e022922bbf6264b57a55f68d05d4372dabd20e3cd74bed14db57cd2", + "path_and_pin_checks": "passed", + "substituted_child_denied": true, + "standalone_companion_denied": true, + "companion_catalog": "activity-core-metered-worker-token", + "companion_env": "ACTIVITY_CORE_WORKER_TOKEN", + "owner_check": { + "ok": true, + "check_only": true, + "dispatch_enabled": false, + "policy_sha256": "de3d01c9f4753994e8f73c111cde328a649e05dbb2563c37b5c12d86a488b2fa", + "runtime_sha256": "b6e4e8a429393d68831c996a65c0489664205df969ac9882e581983ec2da4969" + }, + "credentials_read": false, + "queue_claimed": false, + "provider_request": false + } +} diff --git a/docs/evidence/2026-09-27-sonnet5-tool-session-proof.json b/docs/evidence/2026-09-27-sonnet5-tool-session-proof.json new file mode 100644 index 0000000..4a6754e --- /dev/null +++ b/docs/evidence/2026-09-27-sonnet5-tool-session-proof.json @@ -0,0 +1,310 @@ +{ + "scope": "standalone installed packages and real CLI/bwrap; synthetic key/provider/empty queue", + "ok": true, + "runtime_sha256": "b6e4e8a429393d68831c996a65c0489664205df969ac9882e581983ec2da4969", + "proof_script_sha256": "984c062d3e4c36671065803b1e2706f81388f31b97a8a5af9d488a31e96ca5b2", + "claude_sha256": "19842705e989393fce936804df6d2ab034860e24b8f8880357981d87ffd83fac", + "imports": { + "rein_aharness": "lib/python3.12/site-packages/rein_aharness/__init__.py", + "llm_connect": "lib/python3.12/site-packages/llm_connect/__init__.py", + "glas_harness": "lib/python3.12/site-packages/glas_harness/__init__.py", + "sandboxer": "lib/python3.12/site-packages/sandboxer/__init__.py" + }, + "packaged_definitions": true, + "positive": { + "native_threshold_usd": 1.0, + "probe": { + "runtime_readonly": true, + "python_prefix": "/opt/sandboxer/runtime", + "cli_version": "2.1.266 (Claude Code)", + "private_absent": true, + "source_absent": true, + "proxy_absent": true, + "interfaces": [ + "lo" + ] + }, + "provider_requests": 2, + "cli_exit_code": 0, + "cli_is_error": false, + "cli_estimated_usd": 0.0006000000000000001, + "request_reservations": [ + { + "receipt": "5bab05cf-b2ff-427f-b85f-407116d54c11", + "run_id": "fixture-run", + "policy_sha256": "c72c3a7c69e5224c63beb60f699bbc0c28d93d4b300604cae4208e761a1b4825", + "lease_id": "d341c917fb2e1aa82e245ff5e4e6eba62d979527682d90916970cda6dd8dbb7a", + "liability_microusd": 4640000, + "state": "charged", + "observed_microusd": 500, + "created_at": "2026-09-27T15:05:05.507407+00:00" + }, + { + "receipt": "2a59879d-c6d0-496d-8f2c-0e45dddaa19f", + "run_id": "fixture-run", + "policy_sha256": "c72c3a7c69e5224c63beb60f699bbc0c28d93d4b300604cae4208e761a1b4825", + "lease_id": "d341c917fb2e1aa82e245ff5e4e6eba62d979527682d90916970cda6dd8dbb7a", + "liability_microusd": 4640000, + "state": "charged", + "observed_microusd": 500, + "created_at": "2026-09-27T15:05:05.686105+00:00" + } + ], + "route_revoked": true, + "workspace_removed": true, + "bootstrap": { + "ok": true, + "claimed": false, + "empty": true, + "run_id": "", + "ops_state": null + }, + "profile_ref": "harness.agent-dev-local@1.1.1", + "model": "claude-sonnet-5", + "request_shapes": [ + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "adaptive", + "manual_thinking_budget": false, + "sampling_parameters": {}, + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24" + ], + "tool_results": [] + }, + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "adaptive", + "manual_thinking_budget": false, + "sampling_parameters": {}, + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24" + ], + "tool_results": [ + { + "id": "fixture_git_status", + "is_error": false + } + ] + } + ], + "policy_context_tokens": 1000000, + "admission_requests": [ + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "disabled", + "top_level_fields": [ + "max_tokens", + "messages", + "metadata", + "model", + "output_config", + "stream", + "system", + "thinking", + "tools" + ], + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24", + "structured-outputs-2025-12-15" + ], + "message_roles": [ + "user" + ], + "output_config_keys": [ + "effort", + "format" + ], + "output_effort": "high", + "refusal": "beta feature not admitted" + }, + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "adaptive", + "top_level_fields": [ + "context_management", + "max_tokens", + "messages", + "metadata", + "model", + "output_config", + "stream", + "system", + "thinking", + "tools" + ], + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24" + ], + "message_roles": [ + "user" + ], + "output_config_keys": [ + "effort" + ], + "output_effort": "high" + }, + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "adaptive", + "top_level_fields": [ + "context_management", + "max_tokens", + "messages", + "metadata", + "model", + "output_config", + "stream", + "system", + "thinking", + "tools" + ], + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24" + ], + "message_roles": [ + "user", + "assistant", + "user" + ], + "output_config_keys": [ + "effort" + ], + "output_effort": "high" + } + ] + }, + "refused": { + "native_threshold_usd": 0.01, + "probe": { + "runtime_readonly": true, + "python_prefix": "/opt/sandboxer/runtime", + "cli_version": "2.1.266 (Claude Code)", + "private_absent": true, + "source_absent": true, + "proxy_absent": true, + "interfaces": [ + "lo" + ] + }, + "provider_requests": 0, + "cli_exit_code": 1, + "cli_is_error": true, + "cli_estimated_usd": 0, + "request_reservations": [], + "route_revoked": true, + "workspace_removed": true, + "bootstrap": null, + "profile_ref": "harness.agent-dev-local@1.1.1", + "model": "claude-sonnet-5", + "request_shapes": [], + "policy_context_tokens": 1000000, + "admission_requests": [ + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "disabled", + "top_level_fields": [ + "max_tokens", + "messages", + "metadata", + "model", + "output_config", + "stream", + "system", + "thinking", + "tools" + ], + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24", + "structured-outputs-2025-12-15" + ], + "message_roles": [ + "user" + ], + "output_config_keys": [ + "effort", + "format" + ], + "output_effort": "high", + "refusal": "beta feature not admitted" + }, + { + "model": "claude-sonnet-5", + "max_tokens": 64000, + "thinking_type": "adaptive", + "top_level_fields": [ + "context_management", + "max_tokens", + "messages", + "metadata", + "model", + "output_config", + "stream", + "system", + "thinking", + "tools" + ], + "betas": [ + "claude-code-20250219", + "interleaved-thinking-2025-05-14", + "thinking-token-count-2026-05-13", + "context-management-2025-06-27", + "prompt-caching-scope-2026-01-05", + "mid-conversation-system-2026-04-07", + "effort-2025-11-24" + ], + "message_roles": [ + "user" + ], + "output_config_keys": [ + "effort" + ], + "output_effort": "high" + } + ] + }, + "artifact_unchanged": true, + "live_factory_attempts": 0 +} diff --git a/docs/proposals/glas-metered-20260927/README.md b/docs/proposals/glas-metered-20260927/README.md index ae1b2a6..8af062f 100644 --- a/docs/proposals/glas-metered-20260927/README.md +++ b/docs/proposals/glas-metered-20260927/README.md @@ -1,9 +1,13 @@ # Metered owner activation candidate — 2026-09-27 +Historical preparation packet. The [replacement-window final outcome](../glas-metered-tool-renewal-20260927/README.md#final-attended-outcome--2026-09-27) supersedes the pending installation and approval statements below. Native credential delivery/revocation completed; the owner attempt failed. Accounting reconciliation, corrected runtime admission and separate retry authority remain. + This is a reviewed source candidate, not native authorization. No provider key was read, no approval created or consumed, and no paid/production queue attempt -was made. The live owner still has the old file; the source catalog now pins the -corrected file and will refuse that old file. +was made. After explicit user approval, the corrected owner and Secrets Engine commit +`11cc0d5452c1520060031f50d77f20b80f6dcf85` were installed on Railiance. +[Deployment checks](../../evidence/2026-09-27-metered-owner-deployment.json) pass; +spend limits and the standing worker are unchanged. ## Concrete correction @@ -18,7 +22,9 @@ reference. Only its Messages policy changes: The optional CLI title-generation request remains refused: its structured-output beta/format are not admitted. The primary request succeeds in the synthetic proof. Mid-conversation system-role messages remain refused by the narrow -transport; this first-response proof does not establish a complete tool loop. +transport. The later [synthetic tool proof](../../evidence/2026-09-27-sonnet5-tool-session-proof.json) +establishes a successful two-request Bash tool/result exchange using a disposable +EUR 10 fixture envelope; it does not establish paid/native queue admission. Do not broaden that transport as an implied consequence of allowing the header. The input upper rate remains 4 micro-USD/token (covers one-hour cache creation), @@ -74,16 +80,16 @@ credential retrieval, host mutation, queue claim or approval consumption. ## Remaining native sequence -1. Approve the corrected host owner file and exact source release. Replace only +1. **Completed with user approval:** install corrected host owner and source release. Replace only `/home/tegwick/hfact/owner-metered/owner.json`, preserving mode 0600. Require the old SHA-256 `0e263f8299a42f63caf3595ff3eb7adc10354673f7b5125e0811def3bea7c274`, unchanged spend-policy pin and empty parent/request/route tables before the replacement. Refuse drift; do not reset or recreate the existing ledger. -2. Update the host Secrets Engine from `f7c12bed` to the reviewed source including +2. **Completed:** host Secrets Engine updated from `f7c12bed` to `11cc0d5`, including the companion-only guards and corrected catalog pin. No worker restart or profile promotion is required for this file-only correction. Validate the exact recipient path/pins and run its backend-free `metered-once --check`. -3. Choose and accept the next proof's budget and scope. The existing EUR 5 cap +3. User selected preparation of the [€10 proposal](../../../../prj-helixforge-factory/operations/metered-tool-session-proposal.md). Accept its new native spend grant and exact validity before activation. The existing EUR 5 cap permits one bounded model response but cannot establish a completed native tool session. Do not queue the one-commit task expecting two calls to fit. 4. Use the current owner routing catalog and scoped attended requester lane @@ -100,7 +106,11 @@ credential retrieval, host mutation, queue claim or approval consumption. claim/PDP/consume/readiness gates. Record natural claim/heartbeat/close, request holds, cleanup, actual outcome and revocation. Retain failures. -Native configuration, requester login, real human entries and paid execution -are not performed by this packet. Required attended authentication cannot be +The approved configuration/code installation is complete. Requester login, +real human entries, a new spend grant and paid execution remain outstanding. Required attended authentication cannot be substituted by an agent action. The complete factory G0 and useful delivery remain HFACT T01/T05; this packet is the narrower disposable Glas proof. + +The latest observed ECB rate (2026-09-25) is approximately EUR 0.876962/USD, +above the installed 0.87 treatment. Paid execution remains disabled pending +fresh accepted FX/tariff validity; see the €10 proposal. diff --git a/docs/proposals/glas-metered-tool-20260927/README.md b/docs/proposals/glas-metered-tool-20260927/README.md index 4a04b30..13bca9b 100644 --- a/docs/proposals/glas-metered-tool-20260927/README.md +++ b/docs/proposals/glas-metered-tool-20260927/README.md @@ -1,5 +1,7 @@ # EUR 10 native tool-proof candidate — 2026-09-27 +Historical preparation packet. The [replacement-window final outcome](../glas-metered-tool-renewal-20260927/README.md#final-attended-outcome--2026-09-27) supersedes the pending installation and approval statements below. Native credential delivery/revocation completed; the owner attempt failed. Accounting reconciliation, corrected runtime admission and separate retry authority remain. + Existing work: REINAH-WP-0003-T05/T06 and SECRETS-WP-0009-T03. The user approved one disposable attempt. This packet is not installed or active. Native spend request e9521804-8fce-4fbc-bfdf-8a1aa959fd61 is awaiting the human diff --git a/workplans/SECRETS-WP-0006-catalog-lane-adoption.md b/workplans/SECRETS-WP-0006-catalog-lane-adoption.md index c243e50..dc8c74f 100644 --- a/workplans/SECRETS-WP-0006-catalog-lane-adoption.md +++ b/workplans/SECRETS-WP-0006-catalog-lane-adoption.md @@ -4,12 +4,12 @@ type: workplan title: "Adopt concrete OpenBao credential lanes from ops-warden" domain: infotech repo: secrets-engine -status: active +status: blocked flavor: implementation owner: codex topic_slug: custodian created: "2026-08-21" -updated: "2026-09-27" +updated: "2026-09-28" state_hub_workstream_id: "31f7f8ea-7f73-516c-8877-f03a13f1db82" --- @@ -436,3 +436,13 @@ SECRETS-WP-0008-T02 are now closed against that real evidence and current regression coverage. T05 remains open for the other lanes; T06 retains per-lane routing/proxy retirement and the npm custody discrepancy. No broader recipient, proxy retirement, or production action is inferred from that receipt. + + +## Loose-end review — 2026-09-28 + +Reviewed all remaining tasks against the native OpenRouter acceptance and current +Glas receipts. T05 still requires acceptance for the other catalog lanes; T06 +still requires owner-agreed proxy retirement and platform custody disposition +of the npm pointer. No remaining task is independently completable in this repo. +Both tasks remain wait; the workplan is now blocked. Existing accepted actions +are not authority for other lanes or routing changes. diff --git a/workplans/SECRETS-WP-0007-production-lifecycle-hardening.md b/workplans/SECRETS-WP-0007-production-lifecycle-hardening.md index 8285ec8..2bd141a 100644 --- a/workplans/SECRETS-WP-0007-production-lifecycle-hardening.md +++ b/workplans/SECRETS-WP-0007-production-lifecycle-hardening.md @@ -4,12 +4,12 @@ type: workplan title: "Production-safe provisioning, authorization, and lifecycle hardening" domain: infotech repo: secrets-engine -status: active +status: blocked flavor: implementation owner: codex topic_slug: custodian created: "2026-08-23" -updated: "2026-09-27" +updated: "2026-09-28" state_hub_workstream_id: "68a39be1-bd9c-5133-ad64-e7bca892aaf3" --- @@ -814,3 +814,12 @@ T04 is done. T07 stays wait because its per-lane acceptance includes routing and proxy retirement, and the receipt covers only the exact OpenRouter key-check recipient. Other lanes and cross-owner cutover remain SECRETS-WP-0006-T05/T06; this workplan is not finished merely because the engine gate is complete. + + +## Loose-end review — 2026-09-28 + +T01–T06 implementation is complete. T07 retains the per-lane acceptance and +routing retirement in SECRETS-WP-0006-T05/T06. The shared approval service and +requester chain have already been exercised natively; those historical serving +prerequisites are resolved. Remaining gates are exact lane authority, attended +acceptance and owner-agreed cutover. T07 remains wait; workplan now blocked. diff --git a/workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md b/workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md index 0fbe73f..c703ab0 100644 --- a/workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md +++ b/workplans/SECRETS-WP-0008-layer-model-lifecycle-conformance.md @@ -4,12 +4,12 @@ type: workplan title: "Evolve the Lifecycle engine to the accepted security layer model" domain: infotech repo: secrets-engine -status: active +status: blocked flavor: implementation owner: grok topic_slug: custodian created: "2026-08-29" -updated: "2026-09-27" +updated: "2026-09-28" state_hub_workstream_id: "9c9e5164-b2f5-5ea2-a557-5368d65e9fe0" --- @@ -526,3 +526,17 @@ owner records the bounded essentials review in live registration/custody, provisioning and native refusal/revocation evidence. No new task or workplan was created. Warden's npm no-rotation hold remains; factory records now consume the completed generic approval and companion returns. + + +## Loose-end review — 2026-09-28 + +Closed the stale conformance-record question above by reading GH-DEC-2026-020 +§4 and the published ops-warden reference. The existing checker already prints +VALIDATED_AGAINST and SCOPE before loading declarations and implements the +GH-DEC-2026-021 version detector. No durable per-repo conformance record is +required. No further implementation is needed for that note. + +T06 still depends on RPF-WP-0035-T02, whose current file remains wait for live +platform service registration/custody and scoped JWT provisioning plus native +login, denial and revocation evidence. Source tenant corrections are complete. +The workplan is now blocked; no new task or workplan was created. diff --git a/workplans/SECRETS-WP-0009-glas-claude-native-delivery.md b/workplans/SECRETS-WP-0009-glas-claude-native-delivery.md index 4516522..8e9e484 100644 --- a/workplans/SECRETS-WP-0009-glas-claude-native-delivery.md +++ b/workplans/SECRETS-WP-0009-glas-claude-native-delivery.md @@ -8,7 +8,7 @@ status: blocked flavor: implementation owner: codex created: "2026-09-05" -updated: "2026-09-27" +updated: "2026-09-28" state_hub_workstream_id: "40ccc3b4-d046-5a58-8649-e7935f45c974" --- @@ -49,7 +49,7 @@ synthetic exec-env transport proof passed; no real secret was read. ```task id: SECRETS-WP-0009-T03 status: wait -blocking_reason: "Exact-profile review found installed context/output/beta mismatches. Corrected owner candidate and source catalog pin prepared with six unapproved action requests; exact Sonnet 5 synthetic target proof passes. Await reviewed host config/source installation, proof budget and FX/tariff acceptance, then attended per-lane approvals/apply/verify/delivery/revocation." +blocking_reason: "Native apply/verify and credential delivery/revocation completed; owner attempt failed on runtime launchers. Await corrected artifact admission/pins, owner reconciliation of the held EUR 10 reservation and unknown billing, and separate retry authority under REINAH-WP-0003-T05/T06." priority: high state_hub_task_id: "f8069c8a-ad6b-5d0b-9a36-c2326699437d" ``` @@ -552,3 +552,47 @@ approval creation/consume, native apply or paid run occurred. Validation for this correction: 498 tests passed in the full Secrets Engine suite; the finalized exact-profile Railiance proof passed and records its script SHA-256. + +### Approved installation and tool-session proposal — 2026-09-27 + +The user approved the configuration/code update and separately requested preparation +of the €10 tool-session proposal. Installed Secrets Engine `11cc0d5` and corrected +owner `e0d3fb84` on Railiance; exact path/hash checks, substituted-command refusal, +standalone companion refusal and backend-free owner check pass. Standing worker, +spend limits and existing ledger are unchanged; no credentials read or paid calls. +Deployment receipt: `docs/evidence/2026-09-27-metered-owner-deployment.json`. + +Actual pinned CLI/profile 1.1.1/runtime b6e4e8a4 passes a synthetic two-request Bash +tool/result exchange and zero-forward underfunded refusal, with teardown and +unchanged artifact. Receipt: `../rein-aharness/docs/evidence/2026-09-27-sonnet5-tool-session-proof.json`. +The inactive proposal is `../prj-helixforge-factory/operations/metered-tool-session-proposal.md`: +EUR 10 run cap, USD 10 liability, EUR/USD 1.00 treatment, existing native USD 5 +threshold/daily EUR 20/total EUR 500 retained. Two USD 4.64 holds fit. Installed +0.87 FX is below the latest observed 0.876962 reference; fresh validity/FX acceptance +is required. No new grant or paid execution is authorized by proposal preparation. + +Remaining owner tasks retain their waiting status: fresh spend grant/window, +accounting continuity and replacement recipient pins; attended native per-lane +approval/delivery/revocation; then natural queue/model/tool/commit/recovery proof. +This return supersedes earlier installation-pending statements, not those gates. + + +## Loose-end review — 2026-09-28 + +The final attended outcome in +[the replacement-window packet](../docs/proposals/glas-metered-tool-renewal-20260927/README.md) +supersedes the installation and approval waits above. Reviewed the owner receipts +`rein-aharness/docs/evidence/2026-09-27-metered-terminal-delivery.json`, +`2026-09-27-metered-postflight.json` and `2026-09-27-metered-native-resume.json`. +All six exact decisions were consumed; both apply/verify lanes passed and both +exec sessions were established and successfully revoked. The owner claimed the +single queue job and closed failed at attempt 1. The runtime launchers referenced +a deleted build directory. No successful model/tool/commit acceptance is claimed. + +T03 remains wait for corrected runtime admission and recipient pins, owner +accounting reconciliation (EUR 10 parent reservation held; observed billing +unknown), and separate authority for another attempt. REINAH-WP-0003-T05/T06 +owns the runtime/accounting return. Previously consumed approvals must not be +replayed; absence of request rows does not prove no billing occurred. The workplan +remains blocked. Installation and native credential delivery are completed +portions of this existing task, not new work items.