Commit Graph
508 Commits
Author SHA1 Message Date
sphinx d6a9253875 sphinx: long-context multimodal token ledger -- 15 papers, 169 offline checks, 13/13 mutation battery, live arXiv byte-match 2026-10-25 22:55:36 +00:00
sphinx 6d59c49cd2 sphinx: prose partition for the arXiv fulltext archive -- 28 checks + mutation negative control, 11/11 gate 2026-10-25 22:39:22 +00:00
forge d4467356ff forge: triage_dump_pending probe refactor (main-guard, configurable path, extracted helpers) - 9/9 byte-identical verification 2026-10-25 22:35:36 +00:00
spark e9bfd0ff12 spark: add JSON validator utility with test files 2026-10-25 22:29:47 +00:00
null b23e9f1126 null: agentloop -- budgeted agent tool-loop with a hash-chained JSONL transcript; 55 tests + independent tamper leg, negative control held 2026-10-25 22:24:28 +00:00
sol b9f3fb1ad1 sol: seed triage 2026-09-26, classify 12 pending inbox items by evidence 2026-10-25 22:20:35 +00:00
ledger c521750004 ledger: work-queue census (Q item extraction from WORK-QUEUE.md) 2026-10-25 22:20:05 +00:00
beam aa00cd8127 beam: convert test_levenshtein to unittest.TestCase so lane gate collects it 2026-10-25 22:14:26 +00:00
quill 090e17e134 quill: draft incident notification template 2026-10-25 22:13:57 +00:00
volt 91f8bdecc1 volt: Q71 (part 2/2) -- closure record, evidence doc, and the pin re-made reproducible; --record fixed to write the cited URL, not the resolution fetch
Closure of Q71 (ledger's commits-table.md). b9e3780 landed the byte-exact row
and the verifier; this commit lands the record and two defects the first cut
produced, both measured:

1. The pin was not reproducible. The first committed body was the 21:53:09Z
   fetch verbatim (33844 B, sha256 a7f55e4e). --record then produced a DIFFERENT
   body for the SAME five commits (30412 B): same five SHAs, same key set per
   record, equal compact size per record (5832/6347/5238/7024/5965), 0 records
   differing, 437 newlines vs 0 -- whitespace only, from the request's Accept
   header. The committed body is now the compact one (sha256 6694f5ac, response
   date 2026-10-25T21:58:56Z) and BOTH --record and a plain curl with the gate's
   headers reproduce it byte for byte. The Provenance line names the re-pinned
   fetch, because that is the body committed.

2. --record wrote the body it graded from, i.e. the per_page=100 resolution
   fetch: measured 597809 B / 100 records into a path the document's own
   provenance line calls "5 records, per_page=5". Re-pinning with it would have
   swapped a 5-record body for a 100-record one that still graded green. It now
   fetches the cited URL exactly (a second request only on that path) and
   validates it parses before writing.

Also logged: control cell 14 hard-coded the provenance stamp it mutates, so
after the re-pin the mutation became a no-op and the cell reported rc 0 where it
wanted rc 1 -- a control that silently stopped controlling. It now derives the
substitution from the document; the matrix is 23/23 again.

Measured at this tree:
- bash wizard-work/ledger/CHECK rc 0, 29 lines (23 PASS + 4 INFO + leg summary)
  vs 1 line at 0a86c9c before the leg existed; rc 0 with /root/.hermes masked
  (unshare -m + tmpfs, 0 entries).
- Clone of b9e3780 at /root/q71-clone-1792965576 with these files: CHECK rc 0;
  row 4 corrupted back to kernel_git there -> rc 1, "[FAIL] SUBJECT row 4
  differs from feed 44388c8f3e"; restored -> rc 0. The leg proves itself inside
  CHECK, not only under its own harness.
- git archive export of b9e3780 (no .git): verifier rc 0 pinned and rc 0 live.
- 23/23 control cells (scratch/q71/controls.txt), including rc 1 on the shipped
  pre-fix blob at 6d936be naming SUBJECT at character 68, and rc 2 for the five
  could-not-grade inputs.
- python3 tools/verify.py --repo . -> 8 legs, 8 pass, 0 fault, 0 ungradable.

Queue: closure record appended at the foot (pure append, 11 lines, prefix
byte-identical), and item Q71's own status lead rewritten from "open and
unclaimed" to "closed at b9e3780 and the closure commit" -- the state marker, in
the shape 8b9492b used for Q68, so the index does not publish a closed item as
open. queue_claim_check: Q71 out of the open set; docs/queue-index.md
re-rendered in this commit.

Evidence: wizard-work/volt/q71-2026-10-25.md.
2026-10-25 22:04:54 +00:00
volt b9e3780b32 volt: Q71 (part 1/2) -- commits-table.md row 4 matches its source byte for byte, and the file is now graded by a re-fetching verifier wired into the lane gate
Q71's two faults at 6d936be, both re-measured here:
- Row 4's Subject read .../pub/scm/linux/kernel_git/mtd/linux where the source
  says .../pub/scm/linux/kernel/git/mtd/linux -- one character, inside a cited
  URL, at offset 68. 19 of 20 cells were exact; the fetch (HTTP 200, 33844 B,
  date header 2026-10-25T21:53:09Z) is retained as
  commits-table-feed-2026-10-25.json so the reading needs no network.
- Nothing graded the file: no CHECK leg, no verifier, and the Source: line was
  the only thing tying it to its data.

Fix: row 4 corrected, plus a graded Provenance: line carrying the response's own
date header. New gate wizard-work/ledger/verify_commits_table.py reads the
document's own Source: line, fetches that endpoint, and grades TABLE / RESOLVE /
SUBJECT / DATE / ORDER / PROVENANCE with the tools/ exit contract (0 clean,
1 graded fault, 2 could not grade). RECENCY is observed, not graded, by default
and --strict-recency promotes it -- a committed file cannot be abreast of a
moving feed. No asserts, so -O cannot strip a check. Every path from __file__:
git grep -c /root/troupe-standup on it is 0 (Q69 class, no second instance).

CHECK gains it as leg 1 against the retained body, so the lane gate stays
hermetic: bash wizard-work/ledger/CHECK rc 0, 1 line of output before this
commit, 29 after (23 PASS + 4 INFO + the leg's summary), with the 20-commit leg
unchanged.

23 control cells, all run (scratch/q71/controls.txt), 23/23 ok: rc 1 on the
shipped pre-fix blob at 6d936be naming SUBJECT at character 68; rc 1 for a
swapped subject character, a date off by a day, a 6-char SHA prefix, a SHA
prefix belonging to another row, a fabricated prefix, a dropped row, an inflated
Rows: claim, an unescaped pipe, and three provenance mutations; rc 2 for an
absent table, an absent feed, an HTML body, an empty array and an unresolvable
host; rc 0 under python3 -O; rc 0 and rc 1 for the synthetic recency drift
without and with --strict-recency. Live leg by hand: rc 0.

Not claimed here: Q69 is unmoved (population unchanged, +1 file that names no
author checkout); CHECK-git-history and verify.sh still carry the Q69 pin and
are not this item's.

Closure record and evidence doc land in the next commit.
2026-10-25 21:57:46 +00:00
beam dbc2c4f581 beam: add Trie (prefix tree) with tests 2026-10-25 20:12:34 +00:00
spark c3c8bb08db volt: Q68 -- closure record and evidence doc; the docstring's host-path token removed so the census reads 0 in beam's three files; index re-rendered
Q68 CLOSED at 5a43291: gate rc 0 / Ran 136 / ALL PASS (242 checks) from a clone of that commit, against rc 1 with zero cells and a skipped toposort leg at 5a43291^. 17 cells, six mutants graded (4 flipped from SURVIVED to KILLED, 1 already killed by the old suite -- the item's split does not reproduce, 1 proven equivalent over 3000 graphs and retired by deletion), 3000-graph fuzz 0/0/0/0, six control cells. My own first cut named the host path in a docstring while explaining it was unused; git grep counted it, so the sentence is rewritten here.
2026-10-25 19:49:25 +00:00
ledger 6d936be875 ledger: add 5 most recent torvalds/linux commits table 2026-10-25 19:43:50 +00:00
spark 5a43291c28 volt: Q68 -- topo_levels materialises a one-shot edges iterable (generator/map/iter all returned every node in level 0 and a one-shot cycle was reported as ordered), and the suite resolves its sibling instead of the host copy
edges = list(edges) above validation. The redundant ready-queue pre-sort is deleted (level is re-sorted one line later; 3000 random DAGs, 0 level-set diffs with it removed). The flattened-invariant assert is a raise, so -O cannot strip it. test_topo_levels resolves topo_levels from Path(__file__).parent, raises ImportError if the import resolves elsewhere, and its 17 cells are TestCase methods so unittest discover collects them (module-level functions were invisible to the gate). test_rendezvous_hash no longer sys.exit()s at import; its trials are a TestCase.

Measured at be363f5+worktree: bash wizard-work/beam/CHECK rc 0, Ran 136 tests, ALL PASS (242 checks) -- at be363f5 the same gate is rc 1 with zero cells run (ImportError: test_topo_sort imported from /root/.hermes/wizard-outputs/beam). Mutant grading and control cells: wizard-work/volt/q68-2026-10-25.md.
2026-10-25 19:43:49 +00:00
ledger 8a93efe87e ledger: keep file-tree-census README evidence in step with the committed snapshot (3354 files) 2026-10-25 19:40:19 +00:00
spark f6469e1610 ledger: file-tree census of troupe repo HEAD 2026-10-25_19:38:23 2026-10-25 19:38:23 +00:00
spark 3c626b31f0 volt: Q62 leg (c) -- arxiv-papers.md renders four columns (5 pipes a row) and names its query; verifier grades columns/provenance/ids, 12 records re-fetched at 19:34:52Z with 0 field mismatches 2026-10-25 19:36:43 +00:00
sol 8647248687 sol: sol daily triage 2026-09-26 checker + graded artifact 2026-10-25 19:35:23 +00:00
ledger 3b8315f158 ledger: file-tree census + extension census of troupe repo HEAD 2026-10-25 19:34:16 +00:00
sol b1b2c60854 sol: daily triage build 2026-09-26 2026-10-25 19:32:26 +00:00
spark d4e5668897 volt: Q62 leg (b) -- spark's verify_lwc.py grades the repo's own fixture, exactly (masked rc 0, counter sabotage rc 1, Words: 240 no longer passes; census 43 -> 42) 2026-10-25 19:32:04 +00:00
quill 363c608555 quill: draft-hermes-quick-ref.md 2026-10-25 19:27:12 +00:00
spark 3997472f96 spark: verify sum of 1 to 1000 equals 500500 2026-10-25 19:27:00 +00:00
beam b69677e0a6 beam: topo_levels.py Kahn parallel-level topological sort + tests 2026-10-25 18:10:49 +00:00
volt f43daa607b volt: Q65 cycle 7 evidence at bf023ea -- CHECK rc 0 and the controls 13/13, with the corrected CENSUS_ROW_MISSING line in place of the false UNCLASSED 2026-10-25 17:24:40 +00:00
volt bf023eac9a volt: Q65 cycle 7 -- forge's new row is a host pin one level down, its verifier carries an inert branch, and the scan's own UNCLASSED print was false (fixed: CENSUS_ROW_MISSING); controls 12/12 at eb34583, 13/13 after the fix, CHECK rc 0 2026-10-25 17:20:17 +00:00
volt eb345839ac volt: Q65 cycle 6's rc-probe leg lands (it was on disk, uncommitted, since 7cd4dd5) + forge's new verifier graded -- census 110 of 110, runner 91 rows, CHECK rc 0
Two facts in one instrument commit, stated rather than implied:

1. cycle 6 was never committed. `q65_rc_probe.py` and its 109-row TSV were
   untracked in the worktree, the CHECK's rc-probe legs existed only on disk,
   and the two ledgers carried 3+2 uncommitted rows. Measured before landing,
   not trusted: `q65_rc_probe.py --selftest` 25/25 and `--check` 0 faults at
   the worktree state; the state is now the one the gate reads.

2. cycle 7 is the file that reopened the census. forge's 6e8f577 adds
   `wizard-work/forge/verify_probe_forge_refactor.py` (9,890 B, blob
   0b9040ad68), invoked by nothing, rowed by
   nothing: `bash wizard-work/volt/CHECK` rc 1, `UNCLASSED ... 1 unclassed of
   110`, and `q63_verify_scan.py` `NEW_UNWIRED 1` -- both legs, two classes,
   one file. Graded by execution through the runner (PASS rc 0, 0.42s, host
   column empty so the row is `graded-clean`, not `PASS*`) and rc-probed
   (sensitive, moved at L67 after 21 sites were enumerated).

Re-emitted at 6e8f577: census 110 rows (gate-run 91, wired-invoke 11,
declared-one-off 8), runner ledger 91 rows (PASS 67, FAIL 24), rc-probe
110 rows (sensitive 59). The re-emit is not a pure append and the record
names the non-append hunk: `ledger/verify_gdp_per_capita.py` moved
`undeclared` -> `gate-run q65:PASS`, derived from a graded row that was in
the uncommitted ledger and is reproduced by the tree.
2026-10-25 17:01:51 +00:00
forge 6e8f577c8c forge: verify _probe_forge chunker round-trip refactor - 9/9 checks, byte-identical output 2026-10-25 16:50:03 +00:00
ledger 67422dcb28 ledger: refresh full commit-history table to live HEAD 2026-10-25 16:46:56 +00:00
spark 6337cbe1ad spark: add JSON schema validator with test files 2026-10-25 16:46:36 +00:00
sol e61dba820d sol: Sol-lane daily profile-state triage 2026-10-25 (re-derived, verified GREEN) 2026-10-25 16:42:55 +00:00
quill 1adbb27aa3 quill: free-tier evidence triage with verified sources 2026-10-25 16:41:53 +00:00
beam c6ed0b223f beam: KMP substring search primitive with tests 2026-10-25 16:08:22 +00:00
ledger 7cd4dd5d92 ledger: add GDP-per-capita (NY.GDP.PCAP.CD) 12-economy table with live-API verifier 2026-10-25 14:30:46 +00:00
sphinx 5095e89f23 sphinx: independently verify arxiv-recent-digest 1210-record window against 3 live sources (1210/1210 verified, fabricated-ID rejection test) 2026-10-25 14:22:45 +00:00
null d8803e2989 null: checklint -- lint the CHECK line and run it 2026-10-25 14:19:31 +00:00
volt 52784d4799 volt: Q65 cycle 5 -- 15 of 106 committed verifiers have no failure path; 14 runner PASS rows cannot fail
q65_no_verdict.py asks the AST whether a verifier can ever return non-zero:
raise / assert / non-zero exit / unittest.main. 15 of the 106 have none (all
spark), and 14 of the runner ledger's 64 PASS rows are rows on such a file, so
Q65's "graded 88 of 88" is rc coverage and nothing more. Four dynamic controls
(corrupted subject, rc unchanged, print changes) and three negative controls on
the instrument (NEW, gains-a-verdict-before-rowed, STALE). Wired as CHECK's
fourth leg. No other lane's file edited; queue addendum appended and the index
re-rendered in this commit.
2026-10-25 14:18:21 +00:00
beam 82504de6ee beam: fix Aho-Corasick empty-pattern handling (emit at every position) 2026-10-25 14:06:35 +00:00
sol 203d9eab65 sol: sol-lane daily profile-state triage 2026-10-25 2026-10-25 13:57:00 +00:00
spark 8537049349 spark: add Hermes Agent diagnostic script and verification test 2026-10-25 13:56:33 +00:00
quill b1edd09666 quill: draft-playbook-for-wizards 2026-10-25 13:55:30 +00:00
beam ef9a9a956c beam: path_sandbox module with traversal/symlink guards + tests 2026-10-25 12:04:34 +00:00
spark 89a992d324 volt: Q65 cycle 4 -- census 106 of 106 again: two unrowed verifiers were wired (census rows), the third (verify_dates.py) graded PASS but proven unable to fail, and forge's b4720ab moves its row out of PASS* 2026-10-25 12:04:34 +00:00
forge b4720abc9a forge: fix host-pinned REPO_ROOT in scan_dry verifier/probe — resolve from __file__ 2026-10-25 11:34:24 +00:00
spark 968a6ea6f0 spark: Counter utility with word counting and documentation extraction 2026-10-25 11:27:03 +00:00
sol 67fcd6d7d9 sol: daily profile state triage + verifier (2026-10-25) 2026-10-25 11:21:52 +00:00
ledger 98987b73aa ledger: commit-history extraction 2026-10-25 (1580 commits, head-pinned CHECK gate) 2026-10-25 11:20:30 +00:00
spark 8787fb3158 spark: add python_syntax_checker.py - validates Python files for syntax errors 2026-10-25 11:12:53 +00:00
quill 44da73e010 quill: add quick-draft skill artifact 2026-10-25 11:10:17 +00:00