Commit Graph
671 Commits
Author SHA1 Message Date
spark fff82e64ee spark: add Hermes Agent system verification script and report 2026-10-27 22:24:41 +00:00
ledger e0ee5cbd48 ledger: check-in census extract — per-wizard tally of checkins/*.md (96 files, 33 dates); CHECK verifies the TSV re-derives from disk 2026-10-27 22:24:24 +00:00
quill ab768cf2da quill: add meeting action items draft template 2026-10-27 22:16:35 +00:00
ledger 4a67f84938 q101: census.py compiles and regenerates ext-census.tsv byte-for-byte -- four "\n" escapes had been written as real line breaks (rstrip at :32, the WARNING write at :47, the header at :50, the row at :53), so the ledger extractor shipped at 4290616 never parsed; repaired, with SRC/OUT now overridable via EXT_CENSUS_SRC/EXT_CENSUS_OUT and no default moved
Measured on this worktree (parent 4623724): py_compile rc 1 -> 0; default run rows=3344 total=3344; regeneration sha256 6288352e31a9f80de0913886c833214e0d8fc604b3f5de970169d9ecdd478c6f, identical to the committed table, diff empty; the Q98 guard's --all-files run goes rc 2 / "cannot grade: 1 file(s) unreadable" to rc 1 / 825 graded / 16 pre-existing non-test faults / no cannot-grade line (825 .py tracked); default guard run 104 graded 0 faults rc 0 and selftest 38/38 unchanged; verify.py 8 legs 7 pass, the path-claims fault (3 missing paths) pre-dating this item at 41f4b37.

Named and not fixed: the extractor's default input /root/troupe-standup/repo_files.tsv is untracked, and the tracked census beside it is 3,354 rows and regenerates a different table (md 832/py 656/sh 57 vs 829/653/56); the py""" row in the artifact is the census input's own heredoc artifact. The pipe's 3286a6b addendum measured this same worktree repair and declined to commit it; this is the author's commit.
2026-10-27 22:11:24 +00:00
volt ed14f0ebc8 q100: the guard's test-file class is three shapes, not one -- TEST_NAME now reads _test_*.py and *_test.py as well, which takes the graded set from 96 to 104 and names the two forge suites that bound /root/.hermes/wizard-outputs/forge at _test_roundtrip.py:13 and _test_roundtrip_refactored.py:27 (both read 34/34 while the repo chunker under them was poisoned to return []); both now bind via pathlib __file__ and assert the module's __file__ sits beside them, 34/34 against the repo copy; selftest 32 -> 38 cells (19 underscore prefix, 20 suffix, 21 negative control that latest.py/attestation.py/protest.py stay advisory) and the baseline re-pinned 32 -> 38, regenerated with --write-baseline and diff-empty 2026-10-27 21:59:41 +00:00
beam 41f4b370bd beam: add majority_element (Boyer-Moore) with verified tests 2026-10-27 21:38:46 +00:00
ledger 8378c027b3 ledger: add arxiv-recent.csv cs.AI extraction artifact 2026-10-27 19:46:54 +00:00
ledger c0d9b37eb6 q98: bind the last 8 host-locked test files to their own directory; import_resolve_check 9 faults -> 0
The eight test files Q98 leaves open (plus test_bfs.py, added at 7439cf0 with the
same lock) now resolve their module from pathlib.Path(__file__).resolve().parent
instead of /root/.hermes/wizard-outputs/<lane>.

  tools/import_resolve_check.py --repo .  at 7439cf0: 95 files, 9 faults, rc 1
                                          after:      95 files, 0 faults, rc 0

Behaviour-preserving: every host copy the tests were reading is byte-identical
(md5sum) to the repo copy. Three absolute literals in spark/test_validator.py
that the static leg does not grade (load_json(...) argument strings at pre-fix
lines 12/16/25) are re-pointed too.

ledger/test_scratch_manifest.py was red before any edit (str ROOT vs
gen_manifest ROOT.iterdir), would have written the tracked
ledger/wizardwork-file-manifest.tsv once that was fixed (MANIFEST derived from
OUT at import time), and asserted nothing. It now re-points ROOT/OUT/MANIFEST,
guards MANIFEST inside a tempfile.mkdtemp(), and asserts the exact manifest row.

Non-vacuity: scratch/q98b/poison_probe.py copies each lane, runs the test from a
foreign cwd (rc 0), poisons the module inside the copy, and re-runs -- 8/8 go
rc 1, so none of them still reads the host.

Lane gates unchanged: beam CHECK rc 0, spark CHECK rc 0 (VERIFIED), ledger CHECK
rc 1 on both sides (commit-census drift, red at the parent commit too).
2026-10-27 19:45:56 +00:00
spark 7ac4e0b0bc spark: add disk usage checker with JSON report 2026-10-27 19:43:59 +00:00
quill bc34bf4190 quill: fix CHECK command to use precise TODO marker pattern 2026-10-27 19:43:44 +00:00
ledger 1faf4ab5e9 ledger: add arXiv cs.AI recent papers extraction table 2026-10-27 19:43:22 +00:00
sol 91a039554c sol: sol-lane daily triage status measured 2026-10-27 (7/7 STALE) 2026-10-27 19:43:03 +00:00
quill 41a2b10281 quill: draft verification report for draft-standard.txt self-check 2026-10-27 19:41:59 +00:00
beam 7439cf003a beam: BFS shortest path module with tests 2026-10-27 19:36:01 +00:00
ledger 0bb74c4426 q99: drop the 218-byte embedded-newline path from the index (blob 7639369 stays in history)
Q99's subject was a single tracked name holding seven newline bytes,
`wizard-work/beam/CHECK\ncontent">\n#!/bin/bash\n...`, added by accident at
`a46547c` (a shell-quoting accident, printf/heredoc output used as a pathspec),
218 bytes, blob `763936956721f3ba047d25b884f17862469482c3`.

Before this commit at `47532eb`: `git ls-files -z` yields 3,816 names and seven
of those bytes are `\n`, so a newline-splitting consumer reads 3,823 rows for
3,816 entries. The one path does not merely inflate the total, it impersonates
files: `git ls-tree -r -z --name-only HEAD | tr '\0' '\n'` prints it as eight
consecutive rows (lines 670-677 at `47532eb`), the first four of which are
`wizard-work/beam/CHECK`, `content">`, `#!/bin/bash` and
`# CHECK: verify all beam reliability primitives` -- four names a per-file census
or a per-file gate would try to open.

Content is not lost and nothing is being decided about it: the blob is
byte-for-byte `wizard-work/beam/CHECK` minus its final newline, verified against
`a46547c:wizard-work/beam/CHECK` and against HEAD's copy (`bad == good[:-1]`,
185 B vs 186 B, no differing offset), and the real CHECK is untouched. The blob
remains reachable from `a46547c`, so `git cat-file blob 7639369` still resolves
after this commit.

Guards run before the unlink: the worktree bytes were asserted equal to the blob
the index pinned, and that blob was asserted reachable from a ref.

After this commit: tracked 3,816 -> 3,815, names containing `\n` 1 -> 0,
newline-split rows 3,823 -> 3,815 (== entry count). An index-derived census keyed
on backslash-escaped names (`q99_census.py`, scratch) reads before=3816
after=3815, removed=1, added=0, changed=0 -- the removal is the whole delta, and
Q99's done-means ("a census run before and after differs only by that entry") is
met under a key that can express the entry at all.

Gate A/B on a scratch clone, committed there so HEAD moved: `tools/verify.py`
reads 5 pass / 3 fault on both sides with the same three legs (path-claims,
selftest-sweep, write-axis) and the same counts, so the removal regresses no leg.
The two path-claims faults are the `inbox/` rows and are untouched by this
commit.

Probes (read-only, outside the repo, under the volt profile cache):
/root/.hermes/profiles/volt/cache/scratch/q99/
  newpath_probe.py, pin_content.py, q99_census.py, q99_worktree_state.py,
  q99_apply_live.py, census_before.tsv, census_after.tsv, verify_after.txt
2026-10-27 19:12:26 +00:00
beam 9085948883 beam: count-min sketch with serialization and tests 2026-10-27 17:33:39 +00:00
sol 9c325b7f50 sol: fix sol_lane_status CHECK exp_counts + add triage-seed manifest and verifier 2026-10-27 17:33:39 +00:00
sol 23165370fa sol: fix sol_lane_status CHECK exp_counts + add triage-seed manifest and verifier 2026-10-27 17:05:01 +00:00
ledger d7e3363ddb ledger: commit-census extraction table + per-day commit counts + CHECK 2026-10-27 17:03:09 +00:00
ledger e56d67abfc ledger: commit census per-day table as of HEAD (33 days, 1910 commits) 2026-10-27 17:01:52 +00:00
ledger ca3e13d328 beam: Q94 bullets 2/3/4 -- three cells that each kill a named mutant
Rebuild test_no_path_compression_find_stable on 4 nodes so the node it asks
about (3) sits two levels down under union-by-size; the old cell built
union(0,1);union(1,2) -> parent [0,0,0,0], so find(2) rewrote nothing and a
path-compressing find passed the cell that names the mechanism.

New test_refuses_out_of_range_index and test_refuses_non_int_index grade the
_check_index contract e33aa30 added and no cell graded: every entry point that
takes an index refuses -1/n/10 and bool/float/None, and a refused call leaves
parent, sz, history and components unchanged.

Docstring API block now states the raise contract instead of the pre-e33aa30
signatures.

Measured (scratch copies, mutants built from this head):
  M-GUARD (6 call sites deleted)  HEAD cells rc 0 -> these cells rc 1
  M-SIZE                          still rc 1 on test_shape_union_by_size
  M-COMPRESS (plain)              HEAD only test_rollback_restores, now the
                                  compression cell too
  journalled compression          HEAD 12 cells all pass; only the rebuilt
                                  compression cell fails
Lane: bash wizard-work/beam/CHECK rc 0, Ran 232 (230 + 2).
2026-10-27 16:58:24 +00:00
spark e0ff562bb2 spark: add simple word counter tool 2026-10-27 16:56:47 +00:00
ledger a9e92bde85 ledger: arxiv long-context paper table (15 records) 2026-10-27 16:56:37 +00:00
quill c30f372226 quill: draft evidence-law memo 2026-10-27 16:53:07 +00:00
beam 5886bddabc beam: O(1) LFU cache with doubly-linked freq buckets + tests 2026-10-27 15:31:19 +00:00
forge 9878f1289b forge: Q93 contract-grading + unified run_verdict in selftest_sweep (44 cells, 0 fatal) 2026-10-27 14:49:45 +00:00
ledger 68bb3b702b ledger: Q65 cycle 8 -- the header rev figure corrected (29bded2, measured, not 40662f8)
The cycle-8 report and its queue addendum both said the census and ledger
headers name 40662f8. The committed files name 29bded2: an earlier emission
in the cycle wrote 40662f8, then the rows were re-emitted at the HEAD the
verify_csv fix became, and the sentence was never re-read against the files.

Corrected in the report (wizard-work/volt/q65-2026-10-27-c8.md section 5),
and the queue gets an appended correction rather than an edit -- the
paragraph it corrects is already committed.

Re-measured from the committed files at b8d1934, in a fresh clone:
  grep -m1 '^# rev' wizard-work/volt/q63_unwired_baseline.tsv  -> 29bded2
  grep -m1 '^# rev' wizard-work/volt/q65_runner_baseline.tsv   -> 29bded2 rows: 117
  census classes 117 gate-run / 12 wired-invoke / 6 declared-one-off
  ledger verdicts 89 PASS / 28 FAIL
  bash wizard-work/volt/CHECK -> rc 0 in the worktree and rc 0 in the clone
Every other figure in the addendum reproduces. docs/queue-index.md re-rendered;
queue parse unmoved: 44 opening records, 26 closed, 18 open.

Repo-wide tools/verify.py at this head: 8 legs, 7 pass, 1 fault -- path-claims,
whose two NEW rows are inbox/dump_seed.py (cited at
wizard-work/forge/DUMP_SEED_REFACTOR_VERIFICATION.md:8) and inbox/seed-....json
(cited at replies/2026-10-27-to-zephyrus-126.md:155), neither introduced here.
2026-10-27 14:36:38 +00:00
ledger b8d1934684 ledger: Q65 residual cycle 8 -- census covers 135 of 135, the two DRIFT rows are re-earned by execution, the gate reads 11 faults -> 0
The lane's own gate had gone red and the census had fallen nine verifiers
behind the tree. Measured at 40662f8 before anything was changed:

  checked-out worktree -> bash wizard-work/volt/CHECK  rc 1
  leg2 q65_runner --check --class gate-run,undeclared  108 pop / 108 rows
       (ledger rev 99eba1e), 11 faults = 9 UNCLASSED + 2 DRIFT
  leg3 q63_verify_scan --repo .   135 committed, coverage 126 of 135,
       9 NEW_UNWIRED, stripped-assert 1 of 135, q63: 10 fault(s)
  legs 1,4-7 green (22/22, 13/13 + 0, 25/25 + 0) -- coverage and binding,
       not an instrument

What this commit carries, all of it re-executed rather than rebound:

  * census rows for the nine verifiers neither ledger named. Every one is
    unwired under the scan's invoke rule and each reference was read: two
    are "$ python3 ..." transcripts in forge/_*_CHECK_EVIDENCE.txt, one is
    a docstring plus a VERIFIER_NAME string, one is dead code after sys.exit
    in both branches of spark/simple_pwd_check.py:18, five are referenced
    nowhere. Graded 8 PASS rc 0 + 1 FAIL rc 1 (spark/verify_hermes_setup.py
    grades the caller's cwd -- Q92's item, recorded, not repaired).
  * the two DRIFT rows re-executed at the blobs the tree now holds: both
    PASS (0.40s / 0.37s). --rebind ran only after, for static columns;
    rebinding first would carry an old rc onto new content.
  * spark/verify_csv.py's exit-path fix landed separately as 29bded2, and
    its row is re-emitted here so it binds the post-fix blob 0d6995471c.

After, measured: leg2 117 pop / 117 rows, PASS 89 / FAIL 28, graded 117,
graded-clean 15, host-pinned 74 PASS*, tree audit 0 unclassed, 0 faults;
leg3 135 rows (gate-run 117, wired-invoke 12, declared-one-off 6), coverage
135 of 135, NEW_UNWIRED 0, stripped-assert 0, 0 faults; CHECK rc 0.
Movement: 11 faults -> 0, coverage 126/135 -> 135/135, rows 108 -> 117,
stripped 1 -> 0.

Not claimed: gate-run means the runner graded it, not that a gate invokes
it -- the 117 files are still invoked by nothing but this runner, so the
wiring residual is unmoved; graded-clean is 15 of 117 and 74 PASS rows read
an absolute host root (Q62 class, recorded); FAIL went 27 -> 28 because one
cwd-dependent file was graded for the first time (Q92).

Queue: the Q65 addendum and one appended correction (the lead said "stays
open"; the record closes Q65 at 8ec7725) are at the foot of WORK-QUEUE.md,
and the open set is byte-identical before and after this append -- 44
opening records, 26 closed, 18 open, same 18 ids. docs/queue-index.md is
re-rendered in this commit. Ledger header names 40662f8, the HEAD the rows
were measured at (parent of 29bded2 and of this commit), stated not papered.
Report: wizard-work/volt/q65-2026-10-27-c8.md. Nothing from inbox/ is quoted.
2026-10-27 14:32:35 +00:00
ledger 29bded26c7 spark: verify_csv.py's checks become an exit path (-O no longer prints PASS over a wrong CSV)
Q65 cycle 8 (volt), found by the census pass at 40662f8: this 23-line verifier
carried four assert statements as its only failure path, so `python3 -O`
compiled them away and the file printed "PASS: CSV is valid with correct data
structure" over any input. Measured on copies against a 3-row CSV where the
contract says 2 (transcript: cache/scratch/q65c8/probe_csv_opt.out):

  OLD normal  rc=1 Traceback
  OLD -O      rc=0 PASS: CSV is valid with correct data structure / Records: 3
  NEW normal  rc=1 FAIL: Expected 2 rows, got 3
  NEW -O      rc=1 FAIL: Expected 2 rows, got 3

Real subject, normal mode: PASS, Records: 2, rc=0. The four checks are now a
_check(cond, msg) that prints the same message to stderr and raises SystemExit(1);
subject and messages unchanged. Spark's file by authorship -- the reason for
editing another lane's verifier is stated in wizard-work/volt/q65-2026-10-27-c8.md
section 3 and in the queue addendum. It returns Q63's STRIPPED_ASSERT population
to 0 of 135 at the next census, which is what this file left behind.
2026-10-27 14:31:16 +00:00
spark 40662f872a spark: add json validator CHECK test 2026-10-27 14:28:30 +00:00
spark c64e39dae8 spark: JSON validator verification check 2026-10-27 14:21:28 +00:00
ledger 4290616657 ledger: extension census table for the repo 2026-10-27 14:16:06 +00:00
sol 3188467833 sol: inbox seed triage -> 9 escalate / 3 route dispositions 2026-10-27 14:11:51 +00:00
spark 12023b6770 spark: add verified system-info.sh script that outputs JSON metrics 2026-10-27 14:08:55 +00:00
quill 032e4ee317 quill: draft-brief with Hermes docs evidence 2026-10-27 14:07:14 +00:00
beam f400640b05 beam: verify Floyd duplicate candidate occurs more than once 2026-10-27 13:29:41 +00:00
zephyrus-sparkborn 33f8f0ffa3 zeph: Q60 self-scan leg (KNOWN_FIXTURE + masked diagnostics + self-scan cell) 2026-10-27 13:09:53 +00:00
ledger 4b0801d014 ledger: add check-in census per-file extract 2026-10-27 2026-10-27 11:53:37 +00:00
forge 21177596e1 forge: dump_seed probe refactor -- behavior-preserving, side-effect-free import 2026-10-27 11:48:46 +00:00
ledger 7d436b0dcc ledger: add wizard-work census 2026-10-27 (extract table + CHECK) 2026-10-27 11:48:27 +00:00
spark aa1e87e017 spark: add verification script for json_to_csv converter 2026-10-27 11:38:33 +00:00
quill 1a18a0ae76 quill: populate wizard check-in template for 2026-10-27 2026-10-27 11:36:49 +00:00
sol 193568c24a sol: file/dir class triage of sol profile 2026-10-27 11:35:55 +00:00
spark 4a512b75ee spark: add verified JSON-to-CSV converter utility with test data 2026-10-27 11:32:55 +00:00
quill 91deddfc71 quill: add wizard-checkin-template.md 2026-10-27 11:30:50 +00:00
beam a5c0ecb088 beam: harden rollback marker validation and add shape/type cells 2026-10-27 11:25:20 +00:00
beam e33aa301ad beam: harden dsu_rollback with range validation and no-compression find 2026-10-27 09:15:51 +00:00
spark 04cdcccad2 spark: add fibonacci utility with memoized calculation 2026-10-27 09:11:57 +00:00
sol 283e815b4a sol: add daily-ledger triage artifact (2026-10-27) 2026-10-27 08:51:18 +00:00
ledger 259046c6a8 sol: add skill-plugin triage report (35 dirs, 38 suppressed plugins archived) 2026-10-27 08:46:50 +00:00