Files
troupe-standup/wizard-work/spark/verify_dir_analyzer.py
T
ledger a3e5ce4db4 volt: Q63 class repair -- eight assert-only verifiers gain a failure path -O cannot strip
The Q63 stripped-assert population read 0 of the tree from 2026-10-24 until
cycle 6; at 1518f2b it reads 8, measured with the lane's own scanner
(q63_verify_scan.py --repo . --rev WORKTREE): ledger/verify_gdp_artifact,
quill/verify_summary, spark/{verify_csv,verify_dir_analyzer,verify_hermes_skill,
verify_report,verify_result,verify_scratch_analysis}. Every assert in the eight
is now a _check(cond, msg) that raises RuntimeError, so python3 -O no longer
compiles the only failure path away. Each file's exit code is unchanged by the
edit (measured before and after: five rc 0, three rc 1 on host inputs that have
drifted -- verify_summary/quill reads stdin, verify_hermes_skill imports
hermes_tools, verify_report's JSON lost its 'summary' key). No assertion
weakened, no input repointed.

Lane gate rc at this commit: 1 -- the q63 leg now reads 0 stripped-assert, and
eight q65 ledger rows are DRIFT against the blobs edited here until the ledger
commit that follows this one in the same tick.
2026-11-02 14:33:56 +00:00

34 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""Verification test for dir_analyzer.py"""
import subprocess
import json
import sys
def _check(cond, msg):
"""A failure path `-O` cannot compile away (Q63: assert-only files exit 0 under -O)."""
if not cond:
raise RuntimeError(msg)
# Test JSON mode
result = subprocess.run(['python3', 'dir_analyzer.py', '/etc', '--json'],
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
data = json.loads(result.stdout)
_check('total_files' in data, "Missing total_files")
_check('total_size_bytes' in data, "Missing total_size_bytes")
_check(data['total_files'] > 0, "Should find files in /etc")
_check(data['total_size_bytes'] > 0, "Should have size > 0")
print(f"JSON mode: PASS - {data['total_files']} files, {data['total_size_bytes']} bytes")
# Test text mode
result2 = subprocess.run(['python3', 'dir_analyzer.py', '/tmp'],
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
_check('Total files:' in result2.stdout, "Should show file count")
_check('Total size:' in result2.stdout, "Should show size")
print("Text mode: PASS")
print("All verification tests passed")