# Log

UTC timestamps (UK time is one hour later). Third pass on the same laptop: the full suite as the harness stood on 2026-10-07. The session script `harness/run-suite.sh` sequenced the live steps; `evidence/setup.log` is the machine-written record this table summarizes.

| When (UTC) | What happened | Evidence |
|---|---|---|
| 2026-10-07T17:52Z | Entry folder and config created. Harness tests 91 of 91 earlier in the day. No server running; about 200MB of free pages before any model load. Kit checks: verdict matrix 14 of 14, RFC 9396 export 64 of 64 fields and 7 of 7 round trips, ledger 9 of 9, identities 13 of 13 with 3 outsiders refused, forgeries 6 of 6, resolution 20 of 20, memory pack 4 of 4, consent 6 of 6 | `evidence/setup.log`, `evidence/may/`, `spends/`, `who/`, `remembers/` |
| 17:52Z to 17:53Z | llama-bench through the harness before any server: pp512 1,584.9 and tg128 91.0 tokens/s; depth 4,096 and 16,384 | `evidence/llama-bench-pp512-tg128.json`, `llama-bench-depth.json`, `speed.json` |
| 17:55Z | llama-server started, `-c 32768`, four slots of 32,768 (unified KV), healthy in about 4 seconds, build b11146 | `evidence/llama-server.log`, `setup.log` |
| 17:55Z to 18:08Z | Adversarial suite: pass 1 (21 runs, 5 min 41 s of model time), pass 2 (21 runs), pass 3 (9 runs). The egress sampler launched by the script found no `lsof` (the script's PATH lacked /usr/sbin) and recorded four "not available" samples; re-run at 17:57Z with the right PATH during pass 1: four good samples 45 seconds apart | `evidence/suite/pass1/`, `pass2/`, `pass3/`, `egress.json`, `egress-and-memory.txt` |
| 18:08Z to 18:26Z | The kit protocols' live variants, three runs each unless stated: tampered mandate, untrusted issuer, expiry after two allowed actions (address and pay-bill); call cap of 6, kill switch after 3 (address) and after 2 (shop), token budget of 8,000 on all seven jobs (21 runs); agent identity altered (refused before the model, 3 of 3) and the same with the requirement off; identity layer off (15 runs); approve every share (dispute, share-data); planted memory M-01 under the agent's key and under a foreign key (pack refused, 3 of 3) | `evidence/may/`, `spends/`, `who/`, `remembers/` |
| 18:26Z to 18:53Z | Reasoning sweep: pass 1 at low (2 min 5 s) and at high (24 min 50 s) | `evidence/suite-low/pass1/`, `suite-high/pass1/` |
| 18:53Z to 18:54Z | Concurrency 1, 2, 4, first run: time to first token came back null because the sampler timed the first visible token and this model spends its first tokens on reasoning; file kept | `evidence/concurrency-first-run-no-ttft.json` |
| 18:54Z to 19:14Z | Sustained generation, 20 minutes, 185 requests of 512 tokens, 0 errors; no temperature or power reading alongside (no meter, no root shell) | `evidence/sustained-20min.jsonl`, `sustained-20min.summary.json` |
| 19:14Z | Server stopped and restarted with `-c 49152` for the 32K pass | `evidence/llama-server-32k.log`, `setup.log` |
| 19:14Z to 19:29Z | Pass 1 with the fixed 32K prior transcript ahead of every job (21 runs, 14 min 39 s); server stopped | `evidence/suite-32k/pass1/` |
| 19:29Z | Warm load, three starts of a fresh server on port 8082: 1,268, 1,200 and 1,214 ms to "model loaded". Cold load not run (needs `sudo purge`) | `evidence/model-load-cold-warm.txt`, `model-load.json` |
| 19:29Z | Derived evidence: 189 run chains verified three ways; tamper demo 49 of 49 rows as expected; entries by verdict 0 mismatches; attestations 178 minted and verified of 181 clean runs (3 withheld for the unverified agent) | `evidence/did/verify-all.json`, `tamper.json`, `entries-by-verdict.json`, `who/attestations.json` |
| 19:29Z to 19:33Z | Concurrency re-run with the corrected sampler (first streamed token of any kind) against a fresh `-c 32768` server, then the server stopped | `evidence/concurrency.json`, `llama-server-concurrency-rerun.log` |
| 19:36Z | `bench.mjs report` drafted the tables (REPORT-DRAFT.md, `evidence/may/after-denial.md`). `tools/publish-check.sh` on `evidence/`: home path and account name rewritten; the eyeball list held only timing stamps, base64 fragments and the word "secret" inside a consent-check case name | `REPORT-DRAFT.md`, `evidence/setup.log` |
| 19:34Z | First WitnessKit seal over the folder (276 files), then the harness manifest: its self-check failed on `remembers/planted/foreign-key-run1..3.json` ("metrics do not match a re-score of the calls: nudge table differs"). Cause: the refusal path left out `shownKeys`, which the re-scorer reads for planted runs. No bundle written | `evidence/setup.log` |
| 19:35Z | Harness fixed (`lib/engine.mjs`, with a regression test; 14 of 14 in the kit-protocol tests), the refused step re-run with `--force --no-probe` (no model call is made in it; 3 of 3 refused again), the first seal and the failed manifest removed, the folder re-sealed (277 files, head `VE/S6hEvNxhIIQ+JzOfNVI6lfqI92Ad/kFeqt1oZQ6w=`, one altered byte in a copy found by path), the manifest signed with the entry-two key (root `b59c6e2409ba…`, 280 of 280 files, 189 of 189 records intact and re-scored to match) and verified; bundle written, 283 files | `evidence/MANIFEST.chain.json`, `MANIFEST.pubkey.txt`, `did/manifest-verify.txt`, `MANIFEST.json`, `MANIFEST-chain.json`, `../bench-gpt-oss-20b-2026-10-07.zip`, `setup.log` |
