At30653c6the scan read 99 committed verifiers, 7 wired, census coverage 93 of 99, 5 NEW_UNWIRED, q63 5 faults; volt CHECK rc 1 on 6 unclassed. After: wired 8, census 99 of 99, NEW_UNWIRED 0, q63 0 faults, volt CHECK rc 0 (tree audit 0 unclassed of 99). q65_runner ledger 79 rows (PASS 55/FAIL 24) -> 83 (58/25). Pathspec defect, measured not assumed: sphinx's archive-agentic-memory-5paper-dossier-2026-10-25/CHECK.txt is one line invoking verify_claims.py from its own directory, and CODE_PATHSPECS carried :(glob)**/CHECK and not CHECK.txt -- so a lane with a committed gate was filed as unwired. Patched copy, every other argument held fixed: wired 7->8, code-grep 13->12, NEW_UNWIRED 5->4, and the only file moving between the two NEW lists is that verifier. Scanner selftest 10/10 after the change, c-cell on the referrer-path token included. Readings: q65-2026-10-25-residual-{red,green}.txt. Census re-emitted: 99 rows = gate-run 83 + wired-invoke 8 + declared-one-off 8, arithmetic against 99 at the same rev. The four files left undeclared were executed: forge/verify_check_lint_classes_dry.py FAIL rc 1 0.39s; forge/verify_repro_bounds_refactor.py PASS 0.35s; forge/verify_smell_check_monotonic_refactor.py PASS 0.58s; spark/verify_env.py PASS 0.06s. The FAIL is Q65's thesis, found by Q65's own runner and held open as a finding for forge: orig_text() reads git show HEAD:tools/check_lint.py as the 'original', and the refactor it verifies was committed in the same commit that added the verifier (4f76eaa), so original and refactored are the same bytes -- checks 4a/4d fail, and the two BYTE-IDENTICAL checks pass vacuously. Remedy (pin the pre-refactor blob by sha) is forge's; not edited here. Still open and named: 25 FAIL rows are per-lane findings; 51 PASS* rows read an absolute host root (Q62's class, 48 before this tick); path-claims is forge's two-character citation at SMELL_CHECK_MONOTONIC_REFACTOR_VERIFICATION.md:95-96, so tools/verify.py is 8 legs / 7 pass / 1 fault both before and after; promoting volt CHECK to a tools/verify.py leg stays the operator's call. Index re-rendered in this commit.
8.1 KiB
8.1 KiB
| 1 | # Q63 verifier census -- one row per COMMITTED verify_*.py at the rev the | ||
|---|---|---|---|
| 2 | # scan read, class plus the evidence the class rests on. | ||
| 3 | # rev: 30653c6 (the tree these classes were read at) | ||
| 4 | # row: <class> TAB <path> TAB <evidence> (three tab-separated columns) | ||
| 5 | # class gate-run = q65_runner.py executed it and recorded an rc (Q65); | ||
| 6 | # class wired-invoke = a committed line invokes it (the ref is the evidence); | ||
| 7 | # class declared-one-off = the file states in-file that no gate invokes it; | ||
| 8 | # class undeclared = unwired, no statement and no graded run (the Q65 residual). | ||
| 9 | # ARITHMETIC: the row count must equal the committed verifier count at that rev. | ||
| 10 | # This file used to list only the UNWIRED files, so a verifier that appeared in | ||
| 11 | # no row was invisible and both instruments still read clean -- 8 of 88 at | ||
| 12 | # `b01ec0e`. A census makes the omission itself the fault: q65_runner.py --check | ||
| 13 | # reports UNCLASSED for a committed verifier this file does not name. | ||
| 14 | # Regenerate: q63_verify_scan.py --repo . --emit-baseline | ||
| 15 | declared-one-off | wizard-work/beam/verify_toposort_none.py | in-file declaration |
| 16 | declared-one-off | wizard-work/forge/verify_append_only_audit_dry_refactor.py | in-file declaration |
| 17 | gate-run | wizard-work/forge/verify_append_only_owners_dry_refactor.py | q65:PASS |
| 18 | gate-run | wizard-work/forge/verify_census_row_delta_exit_contract.py | q65:PASS |
| 19 | gate-run | wizard-work/forge/verify_check_lint_classes_dry.py | q65:FAIL |
| 20 | gate-run | wizard-work/forge/verify_check_lint_dry_refactor.py | q65:FAIL |
| 21 | gate-run | wizard-work/forge/verify_checkin_check_dry_refactor.py | q65:PASS |
| 22 | gate-run | wizard-work/forge/verify_chunker_refactor.py | q65:PASS |
| 23 | gate-run | wizard-work/forge/verify_citation_hash_class_dry_refactor.py | q65:FAIL |
| 24 | gate-run | wizard-work/forge/verify_citation_hash_class_portable_default.py | q65:FAIL |
| 25 | gate-run | wizard-work/forge/verify_citation_resolve_check_dry_refactor.py | q65:FAIL |
| 26 | gate-run | wizard-work/forge/verify_doc_census_dry_refactor.py | q65:FAIL |
| 27 | gate-run | wizard-work/forge/verify_doc_command_report_dry.py | q65:FAIL |
| 28 | gate-run | wizard-work/forge/verify_gate_blame_dry_refactor.py | q65:FAIL |
| 29 | gate-run | wizard-work/forge/verify_landing_check_refactor.py | q65:PASS |
| 30 | declared-one-off | wizard-work/forge/verify_path_claim_apply_baseline_refactor.py | in-file declaration |
| 31 | gate-run | wizard-work/forge/verify_path_claim_dry_refactor.py | q65:FAIL |
| 32 | gate-run | wizard-work/forge/verify_pdf_refactor.py | q65:PASS |
| 33 | gate-run | wizard-work/forge/verify_queue_append_audit_dry_refactor.py | q65:FAIL |
| 34 | gate-run | wizard-work/forge/verify_reply_check_dry_refactor.py | q65:PASS |
| 35 | gate-run | wizard-work/forge/verify_repro_bounds_refactor.py | q65:PASS |
| 36 | gate-run | wizard-work/forge/verify_roundtrip_refactor.py | q65:PASS |
| 37 | gate-run | wizard-work/forge/verify_selftest_sweep_dry_refactor.py | q65:FAIL |
| 38 | gate-run | wizard-work/forge/verify_selftest_sweep_refactor.py | q65:FAIL |
| 39 | gate-run | wizard-work/forge/verify_served_drift_summarise_dry.py | q65:PASS |
| 40 | gate-run | wizard-work/forge/verify_smell_check_monotonic_refactor.py | q65:PASS |
| 41 | gate-run | wizard-work/forge/verify_smell_scan_refactor.py | q65:PASS |
| 42 | gate-run | wizard-work/forge/verify_tool_map_dry_refactor.py | q65:PASS |
| 43 | gate-run | wizard-work/forge/verify_write_probe_dry_refactor.py | q65:FAIL |
| 44 | wired-invoke | wizard-work/ledger/2026-10-25-head-20-commits/verify_head_commits.py | HEAD:wizard-work/ledger/2026-10-25-head-20-commits/CHECK:7:exec python3 verify_head_commits.p... |
| 45 | gate-run | wizard-work/ledger/verify_arxiv_csai.py | q65:PASS |
| 46 | gate-run | wizard-work/ledger/verify_arxiv_csai_fresh.py | q65:PASS |
| 47 | gate-run | wizard-work/ledger/verify_arxiv_csv.py | q65:PASS |
| 48 | gate-run | wizard-work/ledger/verify_arxiv_fresh.py | q65:PASS |
| 49 | gate-run | wizard-work/ledger/verify_catalog.py | q65:PASS |
| 50 | gate-run | wizard-work/ledger/verify_gitea_repos.py | q65:FAIL |
| 51 | gate-run | wizard-work/ledger/verify_github_python_repos.py | q65:FAIL |
| 52 | declared-one-off | wizard-work/ledger/verify_github_repos.py | in-file declaration |
| 53 | gate-run | wizard-work/ledger/verify_issues.py | q65:PASS |
| 54 | gate-run | wizard-work/ledger/verify_python_org_repos.py | q65:FAIL |
| 55 | gate-run | wizard-work/ledger/verify_stackchain_catalog.py | q65:PASS |
| 56 | gate-run | wizard-work/ledger/verify_users.py | q65:PASS |
| 57 | gate-run | wizard-work/ledger/verify_workflow.py | q65:FAIL |
| 58 | gate-run | wizard-work/null/artifact-seal/verify_artifact_seal_oracle.py | q65:PASS |
| 59 | gate-run | wizard-work/null/diffkit/verify_realrepo.py | q65:PASS |
| 60 | gate-run | wizard-work/sol/verify_pending_request_triage.py | q65:PASS |
| 61 | declared-one-off | wizard-work/sol/verify_sol_triage.py | in-file declaration |
| 62 | gate-run | wizard-work/sol/verify_triage.py | q65:PASS |
| 63 | gate-run | wizard-work/sol/verify_triage_queue.py | q65:FAIL |
| 64 | declared-one-off | wizard-work/sol/verify_troupe_sol_health.py | in-file declaration |
| 65 | gate-run | wizard-work/spark/verify_all.py | q65:PASS |
| 66 | declared-one-off | wizard-work/spark/verify_analyzer.py | in-file declaration |
| 67 | gate-run | wizard-work/spark/verify_check.py | q65:PASS |
| 68 | gate-run | wizard-work/spark/verify_count.py | q65:PASS |
| 69 | gate-run | wizard-work/spark/verify_demo.py | q65:PASS |
| 70 | gate-run | wizard-work/spark/verify_dir.py | q65:PASS |
| 71 | gate-run | wizard-work/spark/verify_dir_analyzer.py | q65:PASS |
| 72 | wired-invoke | wizard-work/spark/verify_dirs.py | HEAD:wizard-work/spark/run_verify.sh:2:python3 /root/.hermes/wizard-outputs/spark/verify_dirs.py |
| 73 | gate-run | wizard-work/spark/verify_env.py | q65:PASS |
| 74 | gate-run | wizard-work/spark/verify_environment.py | q65:FAIL |
| 75 | gate-run | wizard-work/spark/verify_fib.py | q65:PASS |
| 76 | gate-run | wizard-work/spark/verify_formatter.py | q65:PASS |
| 77 | gate-run | wizard-work/spark/verify_hermes.py | q65:FAIL |
| 78 | gate-run | wizard-work/spark/verify_hermes_cli.py | q65:PASS |
| 79 | gate-run | wizard-work/spark/verify_hermes_path.py | q65:PASS |
| 80 | gate-run | wizard-work/spark/verify_inventory.py | q65:FAIL |
| 81 | gate-run | wizard-work/spark/verify_json.py | q65:PASS |
| 82 | gate-run | wizard-work/spark/verify_lines.py | q65:PASS |
| 83 | declared-one-off | wizard-work/spark/verify_loc_report.py | in-file declaration |
| 84 | gate-run | wizard-work/spark/verify_lwc.py | q65:PASS |
| 85 | gate-run | wizard-work/spark/verify_minimal.py | q65:PASS |
| 86 | gate-run | wizard-work/spark/verify_push.py | q65:PASS |
| 87 | gate-run | wizard-work/spark/verify_python_env.py | q65:PASS |
| 88 | gate-run | wizard-work/spark/verify_report.py | q65:PASS |
| 89 | gate-run | wizard-work/spark/verify_result.py | q65:PASS |
| 90 | gate-run | wizard-work/spark/verify_scratch_analysis.py | q65:PASS |
| 91 | gate-run | wizard-work/spark/verify_skill_system.py | q65:FAIL |
| 92 | gate-run | wizard-work/spark/verify_skills.py | q65:PASS |
| 93 | gate-run | wizard-work/spark/verify_skills2.py | q65:PASS |
| 94 | gate-run | wizard-work/spark/verify_skills3.py | q65:PASS |
| 95 | gate-run | wizard-work/spark/verify_skills_fixed.py | q65:PASS |
| 96 | gate-run | wizard-work/spark/verify_snippets.py | q65:PASS |
| 97 | gate-run | wizard-work/spark/verify_status.py | q65:PASS |
| 98 | gate-run | wizard-work/spark/verify_sum.py | q65:PASS |
| 99 | gate-run | wizard-work/spark/verify_tool.py | q65:PASS |
| 100 | gate-run | wizard-work/spark/verify_wordcount.py | q65:PASS |
| 101 | wired-invoke | wizard-work/sphinx/archive-agentic-memory-5paper-dossier-2026-10-25/verify_claims.py | HEAD:wizard-work/sphinx/archive-agentic-memory-5paper-dossier-2026-10-25/CHECK.txt:1:python3 ... |
| 102 | gate-run | wizard-work/sphinx/archive-gutenberg/verify_archive.py | q65:PASS |
| 103 | gate-run | wizard-work/sphinx/archive-index-2026-10-23/verify_index.py | q65:FAIL |
| 104 | wired-invoke | wizard-work/sphinx/archive-lc-coverage-crossindex-2026-10-23/verify_archive.py | HEAD:wizard-work/sphinx/archive-lc-coverage-crossindex-2026-10-23/mutation_battery.py:85: rc ... |
| 105 | wired-invoke | wizard-work/sphinx/archive-lc-mm-dossier-2026-10-23/verify_dossier.py | HEAD:wizard-work/sphinx/archive-lc-mm-dossier-2026-10-23/mutation_battery.py:31: p = subproce... |
| 106 | gate-run | wizard-work/sphinx/archive-memgallery-2026-10-21/verify_claims.py | q65:FAIL |
| 107 | gate-run | wizard-work/sphinx/archive-memlens-2026-10-22/verify_memlens_archive.py | q65:PASS |
| 108 | gate-run | wizard-work/sphinx/archive-mm-prm-2026-10-22/verify_mm_prm_archive.py | q65:PASS |
| 109 | gate-run | wizard-work/sphinx/archive-remember-r1-figures-2026-10-23/verify_archive.py | q65:FAIL |
| 110 | wired-invoke | wizard-work/sphinx/archive-transformer-pdf-modality-2026-10-23/verify_archive.py | HEAD:wizard-work/sphinx/archive-transformer-pdf-modality-2026-10-23/CHECK.py:173: p = subproc... |
| 111 | gate-run | wizard-work/sphinx/verify_mm_dossier.py | q65:PASS |