diff --git a/wizard-work/volt/CHECK b/wizard-work/volt/CHECK new file mode 100644 index 0000000..ce403fa --- /dev/null +++ b/wizard-work/volt/CHECK @@ -0,0 +1,21 @@ +#!/bin/bash +# CHECK — volt lane: the Q65 verifier-coverage gate. Fast: no verifier runs. +# +# What this grades: the LEDGER against the tree at HEAD. Every committed +# wizard-work/**/verify_*.py must be named by the census +# (q63_unwired_baseline.tsv) or by the runner ledger (q65_runner_baseline.tsv), +# and every ledger row's verdict must agree with the rc beside it. Re-executing +# the verifiers is `q65_runner.py --emit` (minutes, 76 files) and is not this. +# +# rc 0 the ledger is complete and self-consistent +# rc 1 a fault it graded: an unclassed verifier, a missing row, a bad pairing +# rc 2 it could not grade at all (no ledger, unreadable tree) +set -u +cd /root/troupe-standup || exit 2 + +python3 wizard-work/volt/q65_runner.py --selftest || exit 1 +python3 wizard-work/volt/q65_runner.py --check || exit 1 +python3 wizard-work/volt/q63_verify_scan.py --repo . >/dev/null || exit 1 + +echo "CHECK PASS: census covers every committed verifier; runner ledger grades clean." +exit 0 diff --git a/wizard-work/volt/q65_runner_baseline.tsv b/wizard-work/volt/q65_runner_baseline.tsv new file mode 100644 index 0000000..6c418ea --- /dev/null +++ b/wizard-work/volt/q65_runner_baseline.tsv @@ -0,0 +1,89 @@ +# Q65 runner ledger -- one row per committed verify_*.py the runner +# executes, with the exit code it actually returned at the stated rev. +# row: \t\t\t\t\t +# verdicts: PASS rc0 / FAIL rc1 / REFUSED rc2 / OTHER_RC >2 / +# TIMEOUT, ERROR, MISSING (no rc to grade). +# class is the Q63 ledger class the file came from at emit time. +# A FAIL row is a finding held open, not a tolerated pass: --check +# grades the bookkeeping, --check --strict makes any non-PASS fatal. +# timeout is PER ROW: a TIMEOUT row names its own window in the note, so +# a --merge cannot leave a stale single figure standing for rows run +# under a different one (the defect this line replaces). +# Regenerate: q65_runner.py --emit +# rev: b01ec0e rows: 76 emitted: q65_runner.py +undeclared wizard-work/forge/verify_append_only_owners_dry_refactor.py PASS 0 0.32 +undeclared wizard-work/forge/verify_census_row_delta_exit_contract.py PASS 0 1.23 +undeclared wizard-work/forge/verify_check_lint_dry_refactor.py FAIL 1 1.34 +undeclared wizard-work/forge/verify_checkin_check_dry_refactor.py PASS 0 0.43 +undeclared wizard-work/forge/verify_chunker_refactor.py PASS 0 0.11 +undeclared wizard-work/forge/verify_citation_hash_class_dry_refactor.py FAIL 1 131.04 subprocess.TimeoutExpired: Command '['/root/.hermes/installs/76f6e7e5145b5f39/environments/c5b879e2036d4c909805dd1858587925/venv/bin/python3', '/root/.hermes/wi +undeclared wizard-work/forge/verify_citation_hash_class_portable_default.py TIMEOUT 600.11 no finish in 600.0s +undeclared wizard-work/forge/verify_citation_resolve_check_dry_refactor.py FAIL 1 17.19 +undeclared wizard-work/forge/verify_doc_census_dry_refactor.py TIMEOUT 90.31 no finish in 90.0s +undeclared wizard-work/forge/verify_doc_command_report_dry.py FAIL 1 35.77 +undeclared wizard-work/forge/verify_gate_blame_dry_refactor.py FAIL 1 22.04 +undeclared wizard-work/forge/verify_landing_check_refactor.py PASS 0 6.12 +undeclared wizard-work/forge/verify_path_claim_dry_refactor.py FAIL 1 0.52 FileNotFoundError: [Errno 2] No such file or directory: '/root/.hermes/profiles/volt/cache/scratch/pc_verify_snyuxz7t' +undeclared wizard-work/forge/verify_pdf_refactor.py PASS 0 7.75 +undeclared wizard-work/forge/verify_queue_append_audit_dry_refactor.py FAIL 1 16.94 +undeclared wizard-work/forge/verify_reply_check_dry_refactor.py PASS 0 7.31 +undeclared wizard-work/forge/verify_roundtrip_refactor.py PASS 0 0.78 +undeclared wizard-work/forge/verify_selftest_sweep_dry_refactor.py FAIL 1 0.52 +undeclared wizard-work/forge/verify_selftest_sweep_refactor.py TIMEOUT 90.09 no finish in 90.0s +undeclared wizard-work/forge/verify_served_drift_summarise_dry.py PASS 0 11.92 +undeclared wizard-work/forge/verify_tool_map_dry_refactor.py PASS 0 54.48 +undeclared wizard-work/forge/verify_write_probe_dry_refactor.py FAIL 1 27.08 +undeclared wizard-work/ledger/verify_arxiv_csai.py PASS 0 0.19 +undeclared wizard-work/ledger/verify_arxiv_csai_fresh.py PASS 0 0.19 +undeclared wizard-work/ledger/verify_arxiv_csv.py PASS 0 0.10 +undeclared wizard-work/ledger/verify_arxiv_fresh.py PASS 0 0.09 +undeclared wizard-work/ledger/verify_catalog.py PASS 0 0.08 +undeclared wizard-work/ledger/verify_gitea_repos.py FAIL 1 0.23 +undeclared wizard-work/ledger/verify_github_python_repos.py FAIL 1 3.35 +undeclared wizard-work/ledger/verify_issues.py PASS 0 0.09 +undeclared wizard-work/ledger/verify_python_org_repos.py FAIL 1 3.27 +undeclared wizard-work/ledger/verify_stackchain_catalog.py PASS 0 0.11 +undeclared wizard-work/ledger/verify_users.py PASS 0 0.13 +undeclared wizard-work/ledger/verify_workflow.py FAIL 1 0.12 +undeclared wizard-work/null/artifact-seal/verify_artifact_seal_oracle.py PASS 0 0.38 +undeclared wizard-work/null/diffkit/verify_realrepo.py PASS 0 0.26 +undeclared wizard-work/sol/verify_pending_request_triage.py PASS 0 0.12 +undeclared wizard-work/sol/verify_triage.py PASS 0 0.12 +undeclared wizard-work/sol/verify_triage_queue.py FAIL 1 0.16 +undeclared wizard-work/spark/verify_all.py PASS 0 0.11 +undeclared wizard-work/spark/verify_check.py PASS 0 0.11 +undeclared wizard-work/spark/verify_count.py PASS 0 0.12 +undeclared wizard-work/spark/verify_demo.py PASS 0 0.10 +undeclared wizard-work/spark/verify_dir.py PASS 0 0.11 +undeclared wizard-work/spark/verify_dir_analyzer.py PASS 0 0.66 +undeclared wizard-work/spark/verify_environment.py FAIL 1 0.10 +undeclared wizard-work/spark/verify_fib.py PASS 0 0.07 +undeclared wizard-work/spark/verify_formatter.py PASS 0 0.24 +undeclared wizard-work/spark/verify_hermes.py FAIL 1 0.10 ModuleNotFoundError: No module named 'hermes_tools' +undeclared wizard-work/spark/verify_hermes_path.py PASS 0 0.08 +undeclared wizard-work/spark/verify_inventory.py FAIL 1 0.09 +undeclared wizard-work/spark/verify_json.py PASS 0 0.07 +undeclared wizard-work/spark/verify_lines.py PASS 0 0.06 +undeclared wizard-work/spark/verify_lwc.py PASS 0 0.15 +undeclared wizard-work/spark/verify_minimal.py PASS 0 0.08 +undeclared wizard-work/spark/verify_push.py PASS 0 0.06 +undeclared wizard-work/spark/verify_python_env.py PASS 0 0.07 +undeclared wizard-work/spark/verify_report.py PASS 0 0.06 +undeclared wizard-work/spark/verify_result.py PASS 0 0.06 +undeclared wizard-work/spark/verify_scratch_analysis.py PASS 0 0.07 +undeclared wizard-work/spark/verify_skills.py PASS 0 0.07 +undeclared wizard-work/spark/verify_skills2.py PASS 0 0.07 +undeclared wizard-work/spark/verify_skills3.py PASS 0 0.08 +undeclared wizard-work/spark/verify_skills_fixed.py PASS 0 0.09 +undeclared wizard-work/spark/verify_snippets.py PASS 0 0.08 +undeclared wizard-work/spark/verify_status.py PASS 0 0.30 +undeclared wizard-work/spark/verify_sum.py PASS 0 0.06 +undeclared wizard-work/spark/verify_tool.py PASS 0 0.44 +undeclared wizard-work/spark/verify_wordcount.py PASS 0 0.16 +undeclared wizard-work/sphinx/archive-gutenberg/verify_archive.py PASS 0 0.55 +undeclared wizard-work/sphinx/archive-index-2026-10-23/verify_index.py TIMEOUT 45.09 no finish in 45.0s +undeclared wizard-work/sphinx/archive-memgallery-2026-10-21/verify_claims.py FAIL 1 0.19 +undeclared wizard-work/sphinx/archive-memlens-2026-10-22/verify_memlens_archive.py PASS 0 0.22 +undeclared wizard-work/sphinx/archive-mm-prm-2026-10-22/verify_mm_prm_archive.py PASS 0 0.21 +undeclared wizard-work/sphinx/archive-remember-r1-figures-2026-10-23/verify_archive.py TIMEOUT 120.10 no finish in 120.0s +undeclared wizard-work/sphinx/verify_mm_dossier.py PASS 0 4.30