Add portable evidence bundles and budgeted OpenRouter trials

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a09cbc-910e-77a0-b336-3130194350b3
This commit is contained in:
tegwick 2026-09-13 23:50:19 +02:00
parent e7102ccb53
commit 919aefbef5
22 changed files with 1444 additions and 18 deletions

View file

@ -92,3 +92,47 @@ so review the receipt's digest_status before assuming a new draft was produced.
Install the reviewed units with `make install-timer`; uninstall/disable with
`systemctl --user disable --now intelligence-radar.timer`. That command leaves
source evidence and publications intact. No external app notifications are sent.
## Portable evidence bundles
```bash
python3 -m intelligence_radar export <recommendation-id> /tmp/report.tar
python3 -m intelligence_radar --root /tmp/radar-copy import /tmp/report.tar
```
Bundles retain the frozen recommendation, parent recommendations, referenced
capture receipts and original source artifacts. Import validates paths, checksums,
content IDs, dependency presence and replay in staging before writing to the
ledger. Existing conflicting evidence is refused. Import is bounded to 128 MiB
and 10,000 members; export is deterministic. External verifier references in
outcome notes are not automatically packaged.
Source configuration optionally accepts `max_bytes` from 1 through 20 MiB;
the default remains 5 MiB.
## Budgeted provider work samples
```bash
python3 -m intelligence_radar trials --config ops/openrouter-pilot.json \
--suite examples/work-sample-suite.json --pilot
```
This command makes paid OpenRouter calls using `OPENROUTER_API_KEY` from the
process environment. The recorded authorization is USD 10 total for this campaign.
`--pilot` selects the first two cases for each configured model; omit it for all
20 cases. Do not change the campaign identifier to bypass existing accounting.
Reservations precede requests, completed trials retain response/usage/verifier
results, and successful identical runs return their retained result. There are
no automatic inference retries. Unsettled reservations stop new work; an actual
cost exceeding its reservation halts the campaign across restarts. The prompt
reservation uses UTF-8 bytes plus framing allowance and configured provider price
caps; it is an estimate, not a provider-enforced account spending limit.
The interrupted first request returned HTTP 401. Before resuming, supply a valid
credential and reconcile the retained reservation against provider billing.
Reconciliation is currently manual and must preserve old events. Never delete
reservations or assume a timeout was free. Controlled work samples and close
variants are not representative production outcomes; they are not automatically
added to advisor calibration.