diff --git a/deploy/sitting-admission.json b/deploy/sitting-admission.json index da4ccec..0b59b94 100644 --- a/deploy/sitting-admission.json +++ b/deploy/sitting-admission.json @@ -3,8 +3,8 @@ "policy": { "origin": "http://flex-auth-informed-decision-sitting.flex-auth.svc.cluster.local:8080", "package": "informed-decision.compact-sitting", - "version": "v3", - "package_digest": "sha256:dd40c80c5719851737178097cdee65afac108b54e19c07370e549b860f1a9655", + "version": "v4", + "package_digest": "sha256:80c8debbf9b8a2f8899b5b5599f713a6a0112a293e38cf6855ce77efa98d1915", "pod_name": "flex-auth-informed-decision-sitting" }, "keycape_egress_ips": [ diff --git a/docs/batches/2026-09-27/approval-create-intents.json b/docs/batches/2026-09-27/approval-create-intents.json new file mode 100644 index 0000000..d65f120 --- /dev/null +++ b/docs/batches/2026-09-27/approval-create-intents.json @@ -0,0 +1,28 @@ +{ + "kind": "informed-decision-approval-create-intents", + "sitting_id": "infd-sitting-2026-09-27", + "status": "not-posted", + "posted": false, + "requester_client": "informed-decision-sitting-requester", + "human_control": true, + "pdp_path": false, + "required_count": 1, + "note": "Intents only. Digests are computed by approval-engine at create; do not invent them here.", + "intents": [ + { + "memo_id": "infd-20260927-b01", + "create_client": "informed-decision-sitting-requester", + "binding": { + "action": "accept", + "actor": "informed-decision", + "principal": "helixforge-factory", + "purpose": "Accept one EUR 10 metered tool proof; no retry or publication; 2026-09-27T16:35:00Z through 2026-09-27T17:35:00Z", + "target": { + "id": "spend-envelope:hfact-glas-tool-proof-20260927-one-attempt", + "type": "spend-envelope", + "system": "rein-aharness" + } + } + } + ] +} diff --git a/docs/batches/2026-09-27/bound/index.json b/docs/batches/2026-09-27/bound/index.json new file mode 100644 index 0000000..ffc86dd --- /dev/null +++ b/docs/batches/2026-09-27/bound/index.json @@ -0,0 +1,15 @@ +{ + "kind": "informed-decision-bound-sitting", + "sitting_id": "infd-sitting-2026-09-27", + "principal": "uid=platform-root,ou=people,dc=netkingdom,dc=local", + "submitted": false, + "agent_disposition_forbidden": true, + "memos": [ + { + "memo_id": "infd-20260927-b01", + "approval_id": "e9521804-8fce-4fbc-bfdf-8a1aa959fd61", + "memo": "infd-20260927-b01.memo.json", + "packet": "infd-20260927-b01.packet.md" + } + ] +} diff --git a/docs/batches/2026-09-27/bound/infd-20260927-b01.memo.json b/docs/batches/2026-09-27/bound/infd-20260927-b01.memo.json new file mode 100644 index 0000000..0bfcac4 --- /dev/null +++ b/docs/batches/2026-09-27/bound/infd-20260927-b01.memo.json @@ -0,0 +1 @@ +{"approval_binding_digest":"sha256:7aefcee9b79eb3285997066b323ae1772e13d58f875aacc6eb5e9407bd1c1185","approval_id":"e9521804-8fce-4fbc-bfdf-8a1aa959fd61","binding":{"justification":null,"principal":{"display_name":"uid=platform-root,ou=people,dc=netkingdom,dc=local","id":"uid=platform-root,ou=people,dc=netkingdom,dc=local","identifiers":[],"kind":"person","role":"reviewer"},"target":{"environment":"prod","id":"spend-envelope:hfact-glas-tool-proof-20260927-one-attempt","kind":"spend-envelope","label":"One metered Glas proof attempt (railiance01)","requires_new_bind":false},"terms":null},"binding_level":"organizational","brief":"User approved this one-attempt scope in the rein-aharness session. This native record replaces the old EUR 5 spend authority for that attempt only. No publication or automatic retry. Credential apply/verify/exec and human review remain separate exact actions. Daily EUR 20 and lifetime EUR 500 ceilings retain previous liabilities.","highlights":[{"id":"infd-20260927-b01-h1","item_id":"infd-20260927-b01-packet","locator":{"kind":"work_record","task":"SECRETS-WP-0009-T03","workplan":"SECRETS-WP-0009"},"note":"One attempt only, whether successful or failed. Retire old dispatch capability before activation; preserve and reconcile every previous liability. Conservative accounting charges full holds: two maximum requests consume USD 9.28; a third cannot fit. Failure remains recorded. EUR/USD 1.00 is an accounting treatment; confirm applicable FX/fees/taxes fit before executing.","required_ack":true,"severity":"critical"}],"id":"infd-20260927-b01","locale":"en","packet":[{"hash":"sha256:3e69a99b853b352e36d92b1a4d365246b38045039c8ccf1cdad9b5d331896709","item_id":"infd-20260927-b01-packet","label":"infd-20260927-b01-packet"}],"question":"Authorize one disposable Glas tool/commit attempt, EUR 10 run cap, in the 2026-09-27 16:35–17:35 UTC window?","requested_act":"approve","sealed":false,"step_kind":"approve","ui_release":"informed-decision@0.2.0","version":1} diff --git a/docs/batches/2026-09-27/bound/infd-20260927-b01.packet.md b/docs/batches/2026-09-27/bound/infd-20260927-b01.packet.md new file mode 100644 index 0000000..44de5b8 --- /dev/null +++ b/docs/batches/2026-09-27/bound/infd-20260927-b01.packet.md @@ -0,0 +1,59 @@ +# One metered Glas tool-session proof + +Existing work: REINAH-WP-0003-T05/T06, SECRETS-WP-0009-T03, HFACT-WP-0001-T01/T04. +User approved the existing EUR 10 one-attempt proposal in the rein-aharness session. +This native memo does not manufacture an approval entry or deliver credentials. + +## Exact scope and window +One disposable PROOF.md tool/commit attempt, no publication, no automatic retry. +Not useful-change G0 acceptance. Failure or exhaustion consumes the attempt. +UTC validity: 2026-09-27T16:35:00Z through 2026-09-27T17:35:00Z. No dispatch outside +this window; shortening it is permitted, extending it needs a fresh approval. + +## Enforced limits +Per-run EUR 10; maximum liability USD 10.00; EUR per USD accounting treatment 1.00. +Native CLI USD 5.00 stop threshold, maximum 30 turns. Daily EUR 20 (Europe/Berlin) +and total EUR 500 remain ceilings across prior and replacement state, not new +independent allowances. Runtime b6e4e8a429393d68831c996a65c0489664205df969ac9882e581983ec2da4969. + +Exact identity pins, retained from the approved proposal: +```json +{ + "worker_id": "rein-aharness-metered@railiance01", + "activity_definition_id": "5bae5505-77f1-5ba3-8dfa-2e10ed15531e", + "target_repo": "/home/tegwick/hfact/targets/hfact-glas-proof", + "project": "prj-helixforge-factory", + "profile_ref": "harness.agent-dev-local@1.1.1", + "profile_sha256": "10e423fe256d3a1b3a64b9380ce422dd9e3eba3a432ae35ac28680562683ca65", + "descriptor_sha256": "4f151744d8fcc18a58e4b571a6bff32c8688028841c225da3de41d49b29a3a9b", + "repository_grant_id": "656911f7dff83e871434b415f0cee685" +} +``` + +## Accounting continuity +Before replacement activation: retire the old dispatch capability, verify no +outstanding run/route/request, preserve old policy and ledgers, and reconcile/carry +all prior daily and lifetime liability. Never reset or erase an existing ledger. +A nonzero/unreconciled old balance blocks activation until continuity is proven. +The old approval ID cannot authorize the new envelope. Use the accepted native +ID for this memo in the new SpendPolicy and bind new recipient hashes afterward. +One-attempt control must be preserved even though daily/total ceilings allow more. + +## Provider and conversion review +First-party global Sonnet 5 rates rechecked 2026-09-27: USD 2 input, USD 10 output, +USD 4 one-hour cache creation per million tokens. Full 1M context plus 64k output +reserves USD 4.64. Two requests reserve USD 9.28; actual low usage does not refund +conservative charges. Two requests permit a tool/result cycle but do not guarantee +completion. Reject unadmitted features; no US-only or fast-mode premium is admitted. +Source: https://platform.claude.com/docs/en/about-claude/pricing +ECB 2026-09-25: USD 1.1403 per EUR, EUR 0.8769622029 per USD. +Source: https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml +EUR/USD 1.00 is a reviewed accounting treatment, not a guaranteed invoice rate. +Before execution, confirm actual conversion including applicable fees/taxes fits; +otherwise refuse instead of exceeding the approved EUR cap. + +## Separate authority +The accepted approval ID becomes spend authority only. It does not authorize +OpenBao policies/AppRoles, key delivery, worker-token delivery, or human entries. +Those keep their native exact action/consume/backend gates. No agent may accept, +decline, seal, or impersonate the human reviewer. diff --git a/docs/batches/2026-09-27/budget/index.json b/docs/batches/2026-09-27/budget/index.json new file mode 100644 index 0000000..ea60b5f --- /dev/null +++ b/docs/batches/2026-09-27/budget/index.json @@ -0,0 +1,24 @@ +{ + "kind": "informed-decision-batch", + "id": "infd-batch-2026-09-27-budget", + "review_group": "net-kingdom-admins", + "status": "draft-unsigned", + "submitted": false, + "one_question_per_memo": true, + "approve_all_forbidden": true, + "agent_disposition_forbidden": true, + "ordinal": [ + { + "n": 1, + "memo_id": "infd-20260927-b01", + "workplan": "SECRETS-WP-0009", + "task": "SECRETS-WP-0009-T03", + "hub_task_prefix": "f8069c8a", + "question": "Authorize one disposable Glas tool/commit attempt, EUR 10 run cap, in the 2026-09-27 16:35–17:35 UTC window?", + "memo": "infd-20260927-b01.memo.json", + "packet": "infd-20260927-b01.packet.md", + "packet_hash": "sha256:3e69a99b853b352e36d92b1a4d365246b38045039c8ccf1cdad9b5d331896709", + "required_highlight": "infd-20260927-b01-h1" + } + ] +} diff --git a/docs/batches/2026-09-27/budget/infd-20260927-b01.memo.json b/docs/batches/2026-09-27/budget/infd-20260927-b01.memo.json new file mode 100644 index 0000000..14754ee --- /dev/null +++ b/docs/batches/2026-09-27/budget/infd-20260927-b01.memo.json @@ -0,0 +1 @@ +{"approval_binding_digest":null,"approval_id":null,"binding":{"justification":null,"principal":{"display_name":"Named reviewer in net-kingdom-admins","id":"pending-human-session","identifiers":[],"kind":"person","role":"reviewer"},"target":{"environment":"prod","id":"spend-envelope:hfact-glas-tool-proof-20260927-one-attempt","kind":"spend-envelope","label":"One metered Glas proof attempt (railiance01)","requires_new_bind":false},"terms":null},"binding_level":"organizational","brief":"User approved this one-attempt scope in the rein-aharness session. This native record replaces the old EUR 5 spend authority for that attempt only. No publication or automatic retry. Credential apply/verify/exec and human review remain separate exact actions. Daily EUR 20 and lifetime EUR 500 ceilings retain previous liabilities.","highlights":[{"id":"infd-20260927-b01-h1","item_id":"infd-20260927-b01-packet","locator":{"kind":"work_record","task":"SECRETS-WP-0009-T03","workplan":"SECRETS-WP-0009"},"note":"One attempt only, whether successful or failed. Retire old dispatch capability before activation; preserve and reconcile every previous liability. Conservative accounting charges full holds: two maximum requests consume USD 9.28; a third cannot fit. Failure remains recorded. EUR/USD 1.00 is an accounting treatment; confirm applicable FX/fees/taxes fit before executing.","required_ack":true,"severity":"critical"}],"id":"infd-20260927-b01","locale":"en","packet":[{"hash":"sha256:3e69a99b853b352e36d92b1a4d365246b38045039c8ccf1cdad9b5d331896709","item_id":"infd-20260927-b01-packet","label":"infd-20260927-b01-packet"}],"question":"Authorize one disposable Glas tool/commit attempt, EUR 10 run cap, in the 2026-09-27 16:35–17:35 UTC window?","requested_act":"approve","sealed":false,"step_kind":"approve","ui_release":"informed-decision@0.2.0","version":1} diff --git a/docs/batches/2026-09-27/budget/infd-20260927-b01.packet.md b/docs/batches/2026-09-27/budget/infd-20260927-b01.packet.md new file mode 100644 index 0000000..44de5b8 --- /dev/null +++ b/docs/batches/2026-09-27/budget/infd-20260927-b01.packet.md @@ -0,0 +1,59 @@ +# One metered Glas tool-session proof + +Existing work: REINAH-WP-0003-T05/T06, SECRETS-WP-0009-T03, HFACT-WP-0001-T01/T04. +User approved the existing EUR 10 one-attempt proposal in the rein-aharness session. +This native memo does not manufacture an approval entry or deliver credentials. + +## Exact scope and window +One disposable PROOF.md tool/commit attempt, no publication, no automatic retry. +Not useful-change G0 acceptance. Failure or exhaustion consumes the attempt. +UTC validity: 2026-09-27T16:35:00Z through 2026-09-27T17:35:00Z. No dispatch outside +this window; shortening it is permitted, extending it needs a fresh approval. + +## Enforced limits +Per-run EUR 10; maximum liability USD 10.00; EUR per USD accounting treatment 1.00. +Native CLI USD 5.00 stop threshold, maximum 30 turns. Daily EUR 20 (Europe/Berlin) +and total EUR 500 remain ceilings across prior and replacement state, not new +independent allowances. Runtime b6e4e8a429393d68831c996a65c0489664205df969ac9882e581983ec2da4969. + +Exact identity pins, retained from the approved proposal: +```json +{ + "worker_id": "rein-aharness-metered@railiance01", + "activity_definition_id": "5bae5505-77f1-5ba3-8dfa-2e10ed15531e", + "target_repo": "/home/tegwick/hfact/targets/hfact-glas-proof", + "project": "prj-helixforge-factory", + "profile_ref": "harness.agent-dev-local@1.1.1", + "profile_sha256": "10e423fe256d3a1b3a64b9380ce422dd9e3eba3a432ae35ac28680562683ca65", + "descriptor_sha256": "4f151744d8fcc18a58e4b571a6bff32c8688028841c225da3de41d49b29a3a9b", + "repository_grant_id": "656911f7dff83e871434b415f0cee685" +} +``` + +## Accounting continuity +Before replacement activation: retire the old dispatch capability, verify no +outstanding run/route/request, preserve old policy and ledgers, and reconcile/carry +all prior daily and lifetime liability. Never reset or erase an existing ledger. +A nonzero/unreconciled old balance blocks activation until continuity is proven. +The old approval ID cannot authorize the new envelope. Use the accepted native +ID for this memo in the new SpendPolicy and bind new recipient hashes afterward. +One-attempt control must be preserved even though daily/total ceilings allow more. + +## Provider and conversion review +First-party global Sonnet 5 rates rechecked 2026-09-27: USD 2 input, USD 10 output, +USD 4 one-hour cache creation per million tokens. Full 1M context plus 64k output +reserves USD 4.64. Two requests reserve USD 9.28; actual low usage does not refund +conservative charges. Two requests permit a tool/result cycle but do not guarantee +completion. Reject unadmitted features; no US-only or fast-mode premium is admitted. +Source: https://platform.claude.com/docs/en/about-claude/pricing +ECB 2026-09-25: USD 1.1403 per EUR, EUR 0.8769622029 per USD. +Source: https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml +EUR/USD 1.00 is a reviewed accounting treatment, not a guaranteed invoice rate. +Before execution, confirm actual conversion including applicable fees/taxes fits; +otherwise refuse instead of exceeding the approved EUR cap. + +## Separate authority +The accepted approval ID becomes spend authority only. It does not authorize +OpenBao policies/AppRoles, key delivery, worker-token delivery, or human entries. +Those keep their native exact action/consume/backend gates. No agent may accept, +decline, seal, or impersonate the human reviewer. diff --git a/docs/batches/2026-09-27/sitting.json b/docs/batches/2026-09-27/sitting.json new file mode 100644 index 0000000..b26412b --- /dev/null +++ b/docs/batches/2026-09-27/sitting.json @@ -0,0 +1,12 @@ +{ + "kind": "informed-decision-sitting", + "id": "infd-sitting-2026-09-27", + "review_group": "net-kingdom-admins", + "status": "draft-unsigned", + "batches": [ + "infd-batch-2026-09-27-budget" + ], + "memo_count": 1, + "bind_path": "create approval (attended), Flex Auth exact-record admission, load store, human accept", + "note": "Unsigned draft. Live bind substitutes pending-human-session with the authenticated key-cape subject." +} diff --git a/docs/evidence/2026-09-27-tool-budget-approval-create.json b/docs/evidence/2026-09-27-tool-budget-approval-create.json new file mode 100644 index 0000000..a1655c6 --- /dev/null +++ b/docs/evidence/2026-09-27-tool-budget-approval-create.json @@ -0,0 +1,41 @@ +{ + "observed_at": "2026-09-27T16:32:35.212172+00:00", + "status": "created", + "phase": "seven_unapproved_requests_created", + "requests": [ + { + "memo_id": "infd-20260927-b01", + "approval": { + "binding": { + "action": "accept", + "actor": "informed-decision", + "digest": "sha256:7aefcee9b79eb3285997066b323ae1772e13d58f875aacc6eb5e9407bd1c1185", + "human_control": true, + "pdp_digest": null, + "pdp_path": false, + "principal": "helixforge-factory", + "purpose": "Accept one EUR 10 metered tool proof; no retry or publication; 2026-09-27T16:35:00Z through 2026-09-27T17:35:00Z", + "target": { + "id": "spend-envelope:hfact-glas-tool-proof-20260927-one-attempt", + "system": "rein-aharness", + "type": "spend-envelope" + } + }, + "created_at": "2026-09-27T16:32:43+00:00", + "entries": [], + "id": "e9521804-8fce-4fbc-bfdf-8a1aa959fd61", + "required_count": 1, + "status": "requested", + "superseded_by": null, + "updated_at": "2026-09-27T16:32:43+00:00", + "validity": { + "expires_at": "2026-09-28T16:32:39.348387+00:00", + "not_before": "2026-09-27T16:32:39.348387+00:00" + } + } + } + ], + "credential_values_emitted": false, + "human_entries_created": false, + "skipped": [] +}