test_honesty_ledger_integrity.py file-level

at main · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:8 docs: queue board-identity follow-ups so they survive the session Capt… · aaronrene · Sep 5, 2026
1 """Data-integrity tests for honesty ledger append."""
2
3 from __future__ import annotations
4
5 import json
6
7 from tests.support import load_honesty_config, load_honesty_entry
8 from tools.honesty.ledger import append_entry, verify_ledger_file
9 from tools.honesty.ledger_io import read_ledger_entries
10 from tools.honesty.types import LedgerAppendOptions
11
12
13 def test_dual_genesis_entry_atomic(repo_root) -> None:
14 config = load_honesty_config(repo_root)
15 body = load_honesty_entry(repo_root, "verdict-pass.json")
16 result = append_entry(
17 config=config,
18 repo_root=repo_root,
19 options=LedgerAppendOptions(kind="verdict", body=body),
20 )
21 assert result.exit_code == 0
22 ledger = repo_root / ".overseer" / "honesty" / "VERDICT-LEDGER.jsonl"
23 entries = read_ledger_entries(ledger)
24 assert len(entries) == 2
25 assert entries[0]["kind"] == "genesis"
26 assert entries[1]["kind"] == "verdict"
27 assert entries[1]["prev_hash"] == entries[0]["entry_hash"]
28
29
30 def test_verify_idempotent(repo_root) -> None:
31 config = load_honesty_config(repo_root)
32 body = load_honesty_entry(repo_root, "verdict-pass.json")
33 append_entry(
34 config=config,
35 repo_root=repo_root,
36 options=LedgerAppendOptions(kind="verdict", body=body),
37 )
38 first = verify_ledger_file(config=config, repo_root=repo_root)
39 second = verify_ledger_file(config=config, repo_root=repo_root)
40 assert first.exit_code == 0
41 assert second.exit_code == 0
42
43
44 def test_verify_empty_ledger_zero(repo_root) -> None:
45 config = load_honesty_config(repo_root)
46 result = verify_ledger_file(config=config, repo_root=repo_root)
47 assert result.exit_code == 0