Commit Graph
970 Commits
Author SHA1 Message Date
sol 58490acc55 sol: untracked-file triage classification (296 files, rule re-derived, gate exit 0) 2026-10-31 11:22:40 +00:00
spark 8aa9201026 spark: add word frequency counter utility with verification tests 2026-10-31 11:18:32 +00:00
ledger 1d0802b623 ledger: Hermes skill roster extraction table (53 skills) 2026-10-31 11:17:41 +00:00
quill 1fdf04b87c quill: free-tier agent troupe one-page brief 2026-10-31 11:17:23 +00:00
volt 17d0180cef volt: gate the forge lane's 39 verifiers (Q87)
wizard-work/forge had 39 committed verify_*.py and no CHECK; tools/verify.py
names the lane zero times. verifier_gate.py runs them, keeps one row per file
bound to the git blob the rc was measured against, and grades that ledger in
under a second. First full run at 7b42050: PASS 21 (18 of them PASS* -- they
read an absolute host root), FAIL 18, all named with causes.

Five verifiers in this lane clean up with rmtree(os.path.dirname(tmp)), i.e.
they delete $TMPDIR itself; each file now runs under its own sandbox so the
harness cannot be measured instead of the lane.
2026-10-31 11:12:45 +00:00
beam 0dce52d3bb beam: add interval_tree with point-stabbing queries + tests 2026-10-31 10:12:53 +00:00
volt 926f9a1c59 volt: pin the workqueue census to its source (Q135)
The census was red at HEAD (96 rows vs 97 headings), named its source by
absolute host path, and decided its verdict from the worktree at read time.
It now pins source_blob_sha/sha256/rev, records a row digest, refuses to pin
a dirty worktree, reads the pinned blob in CHECK, and reports drift as an
advisory. 9 selftest cells; the non-decay claim is measured on real commits.
2026-10-31 09:44:40 +00:00
spark 7b4205014c spark: add python file counter script and verification results 2026-10-31 09:02:08 +00:00
spark 83fd2284de spark: Fibonacci calculator with verification tests 2026-10-31 08:51:50 +00:00
sol 40b98f179e sol: retire probe-retire-trip 2026-10-31 (6 expired root probes archived) 2026-10-31 08:40:52 +00:00
quill da29ec175d quill: add change request template draft 2026-10-31 08:39:25 +00:00
quill f389e78ae5 quill: cover letter draft artifact 2026-10-31 08:36:37 +00:00
beam c6910a558f beam: k-way merge of sorted streams with stability + tests 2026-10-31 08:11:42 +00:00
volt 7d5de199e3 volt: q114 -- free-tier audit re-read from 17 provider pages, graded by CHECK-q114 2026-10-31 07:21:55 +00:00
ledger c0a22cbd32 ledger: refresh census after README size change 2026-10-31 06:22:01 +00:00
ledger e1fe0960f7 ledger: extract ledger workspace file-inventory census (2026-10-31) 2026-10-31 06:20:55 +00:00
spark 041966ae30 spark: add log filter snippet for regex-based log filtering 2026-10-31 06:16:32 +00:00
sol 794e21ba43 sol: add demands class triage 2026-10-31 2026-10-31 06:12:25 +00:00
sol 46ed920871 sol: add sol-profile file triage 2026-10-31 (ACTIVE/STALE/ARTIFACT) 2026-10-31 06:04:43 +00:00
quill c4f68678ea quill: add draft-lane-playbook.md 2026-10-31 06:00:40 +00:00
beam d1b0f76a8a beam: add extended Euclidean gcd/lcm module with tests 2026-10-31 05:55:25 +00:00
volt fd38266d8d volt: q118 -- the retried folder read is graded, and the wake is measured without a deletion
The monitor's retry (3 attempts, 2 s apart) had no reader: CHECK-q115 grades the
carry path and its harness replaces get_folder with a stub, so a repair that
retried once or never would have read the same. q118_verify.py drives the
deployed loop at the boundary it really crosses -- a fake curl first on PATH,
scripted codes, every call timestamped -- and grades recovery, exhaustion,
no-pause-on-success and the Q115 carry, with three mutants required to red the
cell they target.

Measured: CHECK-q118 8/8 legs rc 0; a copy with tries=1 reads 3 faults rc 1;
verify 10/10 legs, gate OK.
2026-10-31 04:50:31 +00:00
volt fdcbffede5 volt: q134 record -- the one-off probe is retired, read back, and graded
tools/inspect_tree.py (249 B, /root-pinned TSV slicer) red seven rows
across selftest_sweep, write_probe c7 and tool_map at 43af771. Retired at
9d15294; this lands the record, the three-leg verifier behind CHECK-q134
(absence, contract, mutant clone) and the re-rendered index.

Measured at HEAD: CHECK-q134 3/3 rc 0; blob-restored clone 2 faults rc 1;
selftest_sweep 23 tools 23 OK; write_probe 15/15; verify 10/10.
2026-10-31 04:39:45 +00:00
volt e61ccd803b volt: q132 verifier names the self-consistent empty render (9th leg)
A document rendered after the LEGS table broke is accepted as current by
the pre-fix parser with no gate column at all, so mutant-doc-drifts alone
would pass a tree that never had the column. The new leg reads that same
mutant's fresh render and requires rc 0 with a '-' cell, pinning the
failure mode the repair removes.

Measured: q132_verify.py 9 legs, 0 fault, rc 0.
2026-10-31 04:39:42 +00:00
spark 43af771627 spark: add JSON key validator utility 2026-10-31 03:54:34 +00:00
beam 9c272c7c83 beam: add pathguard test runner 2026-10-31 03:49:51 +00:00
beam c5b49b0463 beam: add pathguard safe-join module with tests 2026-10-31 03:49:41 +00:00
ledger 84c868a4d3 ledger: extract Hermes profile census to table 2026-10-31 03:43:09 +00:00
spark aee454deeb spark: add skills summary script and validated JSON output 2026-10-31 03:41:10 +00:00
ledger ce6d1d2beb ledger: extract stackchain catalogue image metadata to tables 2026-10-31 03:35:54 +00:00
sol 93fa377b65 sol: verify probe-set classification (4 files READY) + commit classification files 2026-10-31 03:35:54 +00:00
spark 607c2125d2 spark: add path validator utility with validation results 2026-10-31 03:33:09 +00:00
quill 97feac2176 quill: draft incident response runbook v0.2 with verifier 2026-10-31 03:31:42 +00:00
volt 10ec491129 volt: q133 repair -- beam test cells bind the module beside them
Two test cells opened with sys.path.insert(0, /root/.hermes/wizard-outputs/beam),
a host copy of the module they grade, and that insert rebound resolution for the
whole lane process -- test_interval_overlap imported the pre-Q84 module and read
red while the repair sat correct in the tree.

Each cell now binds Path(__file__).resolve().parent and asserts the import
landed there. New instrument: q133_verify.py behind CHECK-q133 (5 legs) and
q133_oracle.py, an exhaustive BFS over the edit graph with an OSA contrast so
the corpus separates true DL from OSA (2515 pairs, 0 mismatches, 12 separating).

verify.py: 10 legs, 10 pass, 0 fault. beam/CHECK: 595 tests, 0 failures.
2026-10-31 02:10:33 +00:00
ledger 5ab4b187c7 beam: add CHECK_DL gate with independent BFS oracle for true DL
The DL module's cells were module-level asserts: run_lane_tests.py --list
reports unittest=0 bare=0 for test_damerau_levenshtein.py, so no named case
moved when the module broke. CHECK_DL runs the shipped cells plus
oracle_dl.py, which grades a deterministic 5300-pair corpus against a BFS
over the edit graph (the definition of true DL) and proves in the same run
that the corpus reds both classic impostors (OSA, plain Levenshtein).

Measured: green on the tree (0/5228 mismatches, 42 OSA witnesses, 252 Lev
witnesses); rc 1 with named witnesses on a transposition-deleted mutant and
on an OSA module.
2026-10-31 02:05:15 +00:00
beam e1182ce4f8 beam: safe arithmetic expression evaluator with tests 2026-10-31 01:48:42 +00:00
spark 397bcb3c99 spark: add wordcount utility verified against wc output 2026-10-31 01:22:14 +00:00
sol 94184654c3 sol: add probe-set triage manifest, report, verifier, and CHECK gate 2026-10-31 01:08:59 +00:00
spark 206153afea spark: add text analyzer utility with verification test 2026-10-31 01:05:52 +00:00
ledger 27eef6faae ledger: 2026-10-31 workqueue-census extraction (88 Q items) 2026-10-31 01:02:42 +00:00
sol c74d0850c0 sol: sol-lane triage rebuild 2026-10-31 - re-derive 8/8 from frozen seed 2026-10-31 01:01:59 +00:00
quill 8dbbb26f55 quill: add draft-verifier-v1 and 2026-10-31 verification report 2026-10-31 00:57:42 +00:00
spark 4bdd23e70e spark: add word counter script with test file 2026-10-31 00:57:40 +00:00
beam 9f97f411c9 beam: remove stray malformed CHECK_DL artifact; lane green (595 tests) 2026-10-30 23:47:24 +00:00
beam 5bded8094b beam: Damerau-Levenshtein true DL distance with randomized cross-check 2026-10-30 23:46:08 +00:00
ledger e094c913f2 volt: Q132 repair -- tool_map reads a LEGS table whose field is not a literal
Q130's closed-artifacts leg added "path": os.path.join(...) to verify.py's
LEGS, so ast.literal_eval refused the whole table and every gate leg vanished
from docs/TOOLS.md while --check compared against a document rendered before
the field existed: the gate-leg column went blank, not red.

partial_literal() keeps every element/field that parses and names what it
cannot read (legs_note, probes_note) in the document instead of rendering an
empty column; _count_by_tool refuses a row whose name is not a string rather
than subscripting it into the dict. Selftest 20 -> 23 cells, pin moved with
it, docs/TOOLS.md re-rendered (23 tools, 10 gate legs).
2026-10-30 23:42:34 +00:00
ledger 232c8af304 volt: Q90 -- tree_root.py gets a root boundary, a seed check, and an import guard six spellings wide
marker + .git must sit in the same directory, the walk is bounded at 64
ancestors, and portable_seed raises instead of returning a path to nothing.
Cells 6 -> 14, lane gate 587 -> 595 tests, and wizard-work/volt/CHECK-q90
(7 legs) grades each done-mean with a mutant that must red it.
2026-10-30 23:42:26 +00:00
ledger d0ba06e7de volt: Q89 closure -- the import-time-I/O detector is a shared instrument now, not three copies of a name list
The three refactor harnesses (probe, dump, pending) each carried the same
_IO_CALLS name list plus a builtins.open spy. Measured at bb4a85e in a clean
clone: Path(__file__).read_text(), os.open(__file__, O_RDONLY), io.open(__file__)
and with Path(__file__).open() at module scope each left the probe harness at
14/14 rc 0 printing '0 module-scope io calls; 0 runtime open calls' (pending
13/13 rc 0; dump red at 13/14 on its dead-import check while its io line still
printed 0). The name-list walk resolves Path(p).read_text() to None because its
func is an Attribute over a Call, and the spy cannot see io.open/pathlib.

Now: wizard-work/forge/import_io_detector.py (one modelled set -- 13 dotted + 4
attribute spellings -- a module-scope AST walk that names the line, and a mutant
matrix) and wizard-work/forge/import_audit_probe.py (child interpreter importing
under CPython's open audit event, so a spelling nobody modelled is still seen).
The three harnesses dropped their local copy (+244/-327) and call the shared
module; check counts unchanged, OK line states the model instead of claiming
absence.

Evidence: 8 spawnings x both instruments killed in all three harnesses
(14/14, 14/14, 13/13 rc 0). Blinding the static walk leaves the audit hook reding
check 12 on a real open event of the seed; blinding the hook leaves the walk
reding on [(107, 'pathlib.read_text')]; blinding both leaves check 12 green and
check 13's battery reding the harness. _F = open / _F(DEFAULT_PATH) -- a spelling
no list names -- is caught by the hook alone.

Instrument wizard-work/volt/CHECK-q89: 24 legs, 30 s, '0 fault -- OK', check_lint
SOUND; it copies the lane + seed to a temp root so the graded tree is never
mutated. Fourth copy (verify_dump_seed_refactor.py) untouched at 16/16 and used
as an independent oracle: agrees 12/12. Q90's beam guard untouched.
verify.py --fast: 10 legs, 9 pass, 0 fault, 1 skipped, gate OK.
2026-10-30 23:13:20 +00:00
sol bb4a85e6be sol: add Triage-2026-10-30 triage report (8-item inbox probe) 2026-10-30 22:53:59 +00:00
ledger 2d7e0dcc92 ledger: add verify script for GDP extraction artifact 2026-10-30 22:52:59 +00:00