test_provenance_stress.py python
66 lines 2.3 KB
Raw
sha256:0e9549ec7b463911bc08b7d586dc320b1ac9b1f5c943ee7e3865dcc6cb0f6f83 chore(governance): sync handover+roadmap to 84db8c8 (drift:… Human 1 day ago
1 """Stress tests for mixed signed/unsigned provenance ledgers (§P0.8)."""
2
3 from __future__ import annotations
4
5 from tests.support import (
6 attach_signed_provenance,
7 generate_ed25519_keypair,
8 load_honesty_config,
9 sign_append_body,
10 )
11 from tools.honesty.canonical import compute_entry_hash
12 from tools.honesty.genesis import build_genesis_entry
13 from tools.honesty.ledger import verify_ledger_file
14 from tools.honesty.ledger_io import serialize_entry
15
16
17 def test_mixed_signed_unsigned_ledger_verifies(repo_root) -> None:
18 config = load_honesty_config(repo_root)
19 private_key, pubkey = generate_ed25519_keypair()
20 genesis = build_genesis_entry(ts="2026-01-01T00:00:00Z")
21 prev = genesis["entry_hash"]
22 lines = [serialize_entry(genesis)]
23
24 for index in range(500):
25 body = {
26 "v": 1,
27 "ts": f"2026-01-01T00:{index // 60:02d}:{index % 60:02d}Z",
28 "kind": "hook_check",
29 "actor_role": "overseer",
30 "actor_session_id": f"s-{index}",
31 "hook": "handoff",
32 "ok": True,
33 }
34 if index % 3 == 0:
35 body = attach_signed_provenance(
36 body,
37 pubkey_token=pubkey,
38 agent_id=f"agent-{index}",
39 model_id="gpt-5.6",
40 )
41 signed = sign_append_body(
42 body,
43 kind="hook_check",
44 prev_hash=prev,
45 private_key=private_key,
46 pubkey_token=pubkey,
47 )
48 entry = dict(signed)
49 entry["prev_hash"] = prev
50 entry["entry_hash"] = compute_entry_hash(entry)
51 elif index % 3 == 1:
52 body["provenance"] = {"agent_id": f"soft-{index}", "model_id": "gpt-5.6"}
53 body["prev_hash"] = prev
54 body["entry_hash"] = compute_entry_hash(body)
55 entry = body
56 else:
57 body["prev_hash"] = prev
58 body["entry_hash"] = compute_entry_hash(body)
59 entry = body
60 prev = entry["entry_hash"]
61 lines.append(serialize_entry(entry))
62
63 ledger = repo_root / ".overseer" / "honesty" / "VERDICT-LEDGER.jsonl"
64 ledger.parent.mkdir(parents=True, exist_ok=True)
65 ledger.write_text("".join(lines), encoding="utf-8")
66 assert verify_ledger_file(config=config, repo_root=repo_root).exit_code == 0
File History 1 commit
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor 1 day ago