test_provenance_performance.py python
62 lines 1.9 KB
Raw
sha256:0e9549ec7b463911bc08b7d586dc320b1ac9b1f5c943ee7e3865dcc6cb0f6f83 chore(governance): sync handover+roadmap to 84db8c8 (drift:… Human 1 day ago
1 """Performance bounds for provenance signature verification (§P0.8)."""
2
3 from __future__ import annotations
4
5 import time
6
7 from tests.support import (
8 attach_signed_provenance,
9 generate_ed25519_keypair,
10 load_honesty_config,
11 sign_append_body,
12 )
13 from tools.honesty.canonical import compute_entry_hash
14 from tools.honesty.genesis import build_genesis_entry
15 from tools.honesty.ledger import verify_ledger_file
16 from tools.honesty.ledger_io import serialize_entry
17
18
19 def test_signed_verify_2k_bounded(repo_root) -> None:
20 config = load_honesty_config(repo_root)
21 private_key, pubkey = generate_ed25519_keypair()
22 genesis = build_genesis_entry(ts="2026-01-01T00:00:00Z")
23 prev = genesis["entry_hash"]
24 lines = [serialize_entry(genesis)]
25
26 for index in range(2000):
27 body = {
28 "v": 1,
29 "ts": f"2026-01-01T00:{index // 60:02d}:{index % 60:02d}Z",
30 "kind": "hook_check",
31 "actor_role": "overseer",
32 "actor_session_id": f"p-{index}",
33 "hook": "handoff",
34 "ok": True,
35 }
36 body = attach_signed_provenance(
37 body,
38 pubkey_token=pubkey,
39 agent_id=f"agent-{index}",
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 prev = entry["entry_hash"]
52 lines.append(serialize_entry(entry))
53
54 ledger = repo_root / ".overseer" / "honesty" / "VERDICT-LEDGER.jsonl"
55 ledger.parent.mkdir(parents=True, exist_ok=True)
56 ledger.write_text("".join(lines), encoding="utf-8")
57
58 start = time.monotonic()
59 result = verify_ledger_file(config=config, repo_root=repo_root)
60 elapsed = time.monotonic() - start
61 assert result.exit_code == 0
62 assert elapsed < 8.0
File History 1 commit
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor 1 day ago