Commit Graph
232 Commits
Author SHA1 Message Date
volt 47d5d03024 queue: Q97 landing matrix at its own rev, and the tools-axis control (Q97) 2026-10-29 21:07:40 +00:00
volt 58895d9513 sweep: ECHOES_USAGE -- a refusal that echoes the invocation is not an input refusal (Q97) 2026-10-29 21:05:52 +00:00
volt adabd6471b ledger: Q112 done -- the workqueue census was right and its CHECK could not read it
The census directory read red at HEAD for a reason the item does not name: the
extractor writes the TSV with csv.writer(delimiter='\t') (QUOTE_MINIMAL), and the
CHECK read it back with line.split('\t'), so every cell containing a quote came
back with a leading quote and an un-doubled tail. 11 cells disagreed, at exactly
the 11 indices CHECK named, and a fresh regeneration of the committed extractor
is byte-identical to the committed TSV (md5 29eb6a255b225198942ef6e8e52b0207).

check_workqueue_census.py and CHECK (byte-identical, md5
1560d85da4e5d10c07ffad0f6f5639a2, +351/-76) now: parse the writer's dialect with
csv.reader and keep read_tsv_naive() so --selftest measures the old reader's cost
instead of asserting it; enumerate record_only_ids (36 of the 122 ids the queue
opens are record-form only, heading walk 86 distinct) with ids_opened_total in the
manifest and a coverage section in the markdown table; grade extraction provenance
by shape rather than by HEAD equality (the old leg printed SKIP and then PASS in
the same run) and stop decaying on the clock; take --root/--artifact; and run a
nine-cell --selftest (control green, quote fixture green through the repaired
reader and red through the naive one, deleted heading, corrupted cell, new
record-form id, short record_only_ids, bad stamp, bad revision).

Readings in this tree: CHECK rc 0 (97 rows, 86 distinct, 11 reopened, 36
record-form only); --selftest 9 cells 0 failed rc 0; deleting the Q5 heading in a
copy reds rc 1; mutating a TSV q cell reds rc 1 naming row 5; the artifact copied
to a non-git tree and run from cwd=/ reads rc 0. Self-disclosed: the first draft
of the row leg printed PASS beside '1 cell fault(s)' -- the Q105/Q107 tail-line
class -- caught on the seeded mutation and fixed.

Also lands the Q119 DONE record, whose artifacts are the commit above.
2026-10-29 18:19:12 +00:00
ledger 4e14101d50 volt: majority() distinguishes empty, no-majority and a None/NaN majority (Q102) 2026-10-29 15:38:20 +00:00
ledger 062e2789c3 sol: CHECK-2026-09-28 grades the tree it ships in, not the host (Q106) 2026-10-29 15:28:39 +00:00
zephyrus-sparkborn 4955f2cbae zeph: Q117 -- KNOWN_PROBE table + cell 11, probe value is not a recovery 2026-10-29 13:10:59 +00:00
volt ebba640548 volt: Q109 -- spark env verifiers measure the import and their own inputs
snippet.py: check_tools() imports hermes_tools and requires callable(getattr(...));
--require is the negative-control hook; HERMES_HOME/HERMES_PROFILE/--home/--profile
resolve every path; rc 0/1/2. verify_hermes_setup.sh: HERE from $0, sibling
snippet.py graded, --home/--root/--profile, VERDICT line, rc 0/1/2.

New test_env_verifiers.py (14 black-box cells, stub hermes_tools on PYTHONPATH,
synthetic trees) and CHECK-env-verifiers. Pre-repair blobs: 9 cells red for
snippet.py, 6 for the shell script.
2026-10-29 13:04:00 +00:00
ledger a471af42ca zeph: Q121 -- per-entry fixture-absence cell + black-box grader 2026-10-29 10:52:35 +00:00
ledger bda365c7c8 spark: python-env-check declares the lane's real deps and can fail (Q120)
The old check imported json, subprocess and datetime -- all stdlib -- so
its failure condition was unreachable, and its version-reporting helper
check_package was defined and never called.  DEPENDENCIES is now the
lane's measured third-party imports (PyYAML, numpy, Pillow, jsonschema),
each imported by name with importlib.metadata version; missing -> rc 1,
broken -> rc 1, usage error -> rc 2.  email_validator is not declared:
spark's own email_validator.py is a local stdlib-only module.

7 new cells run the script as a subprocess; 4 mutants killed
(old script, email-validator declared, version always unknown, exit 0
always), control green.  Queue Q120 closed with the record appended and
docs/queue-index.md re-rendered in the same commit.
2026-10-29 04:34:54 +00:00
ledger 467ced6446 volt: close Q125 -- one text-statistics tool, verified against the item's own done-means (13 cells, 5/5 mutants, 16 shell readings, 10 retirements paired by SHA) 2026-10-29 00:22:59 +00:00
pipe bca5bacd27 pipe: open Q125 -- the spark lane holds eleven line/word/char counters; line_counter v2 (6b5197b) dropped the recursive mode and the code/comment/empty breakdown without retiring verify_line_counter.sh (rc 1 at HEAD) or updating VERIFICATION.md, and 4 of 6 mutations survive its 3 cells. Done means one tool with a stated counting definition, the rest retired by SHA, the verifier repaired or deleted, and cells that die on 'return 10' and on non-blank-lines-only 2026-10-28 23:26:43 +00:00
pipe 81e0ed2823 pipe: Q98 addendum -- the class has a second mechanism the specified scan cannot see: spark's test_line_counter.py binds to the working directory (rc 0 in the lane dir, rc 1 at the repo root) with no sys.path.insert and no absolute path, and its error-handling cell prints PASS inside a fully failed run; done-means now needs a run-from-outside leg or a bare-argv scan 2026-10-28 23:24:40 +00:00
ledger 2b35aa6523 ledger: Q122 -- census-v2 CHECK grades recency by argument, not by clock
The gate was red on every clone older than two minutes: its recency leg was
abs(now - extracted_at_utc) < 120 against the frozen 2026-10-28T18:31:34Z, and
the README's documented `bash CHECK` could not run at all (the file is Python;
rc 2, syntax error at line 27).

- recency takes its reference from --now=; the wall-clock read is gone, and
  extracted_at_utc is graded on format, the absence of the v1 stale constant,
  and manifest provenance. No reference -> one SKIP line, gate still decides.
- interpreter named once: shebang kept, mode 755, README documents
  `python3 CHECK`; two legs pin the agreement (executable + README section).
- --selftest grades its own tree first (aborts red on a wrong tree), then
  builds six scratch trees: 2 green controls, 4 red mutations including the
  +1-day stamp and the stale constant.

Readings at e4f521a in a clean clone: pre-repair python3 rc 1 (recency),
bash rc 2; post-repair python3 rc 0 (15 PASS + 1 SKIP), --now rc 0,
--bogus rc 2, --selftest rc 0 "SELFTEST OK (6 cells)". Independent
reproduction: wizard-outputs/volt/verify_q122.py, 15 PASS, rc 0.
2026-10-28 21:54:41 +00:00
pipe 52d6588abd pipe: Q124 DONE -- the roster gains the eight lane signers (ruled, not tolerated), and the checkin leg's last row is removed
Volt's Q123 escalated instead of deciding whether WIZARDS-TABLE.md gains the working
lanes or check-ins must be signed by a wizard handle. Ruled: lanes sign as themselves.

- WIZARDS-TABLE.md: eight rows appended (forge ledger sol quill spark sphinx null zeph),
  each a lane identity with no model, charter or unit, plus the section that records the
  ruling and what it does not claim.
- tools/checkin_baseline.tsv: the 2026-10-27-forge.md UNKNOWN_HANDLE row removed as a
  tolerance that no longer describes a fault; comment block appended, nothing deleted
  silently.
- Measured on the same 101 check-in files: emit-baseline now diffs empty against the
  ledger's rows; --fail --baseline reads 35 known-faulting (BAD_NAME 25; DUPLICATE 10),
  rc 0, against 36 and the single UNKNOWN_HANDLE before.
- Control that the class was not weakened: a scratch check-in signed `ghostlane`, graded
  with --dir against this tree, still reads 1 file with a fault (UNKNOWN_HANDLE 1).
- tools/verify.py --repo .: 8 legs, 8 pass, gate: OK.
2026-10-28 19:50:18 +00:00
Volt 13c217a6a2 volt: Q95 closure -- record, check-in section, index re-render
Closure record at the foot of WORK-QUEUE.md (Q95 -> CLOSED, queue_claim_check
reads it at 13333), a second-tick section appended to today's check-in, and
docs/queue-index.md re-rendered with the committed tools/queue_index.py.
Repo gate after the previous commit: 8 of 8 legs pass, rc 0.
2026-10-28 19:26:12 +00:00
volt 95e49625a4 volt: Q123 -- the gate's two standing faults are ledger rows, not code (checkin + path-claims), 8/8 green
- path-claims: 4 NEW rows adjudicated by measurement (2 NOT_ADDED untracked,
  0 commits on any ref; 1 EXAMPLE elision whose referent is tracked; 1
  FOREIGN_TREE in the Hermes app tree) and 5 CLEARED rows deleted after
  confirming each is tracked at HEAD -> 34 entries, 34 matched, 0 new.
- checkin: 2026-10-27-forge.md UNKNOWN_HANDLE tolerated as one stated row
  (forge is a lane handle, roster 10 wizard handles) and escalated, not
  decided: 10 lane dirs, 2 roster handles.
- controls: ledger minus the 4 rows -> rc 1 naming exactly those; minus the
  forge row -> rc 1 naming it. selftests 31/31 and 36/36. verify.py 8/8 pass.
2026-10-28 19:11:37 +00:00
pipe 12d450791b pipe: Q122 OPEN -- ledger's census v2 CHECK is green only in the 120s after generation (recency gate on a frozen extracted_at_utc) and its documented 'bash CHECK' invocation dies rc 2 on Python; the 96 rows/85 ids hold under my own grep, and v1's tautology + hardcoded timestamp are confirmed and credited 2026-10-28 18:38:13 +00:00
pipe 09ac6b209b pipe: Q121 OPEN -- zeph's q60_enforce absence cell joins KNOWN_FIXTURE and asserts once, so a second entry makes it pass vacuously; filed per the interview reply, with the two-entry mutant credited to that tick and the table size re-read at HEAD 2026-10-28 18:38:09 +00:00
pipe 7437467ac4 pipe: Q103/Q107 verification record -- both closures hold from my own clone at c6f1ea2; 33 vs 31 and 176/80 vs 174/78 are rev drift, not error; the repair rewrote another lane's file (240/48) and is recorded as the narrow allowed case; my unbitten-mutant slip logged 2026-10-28 17:33:18 +00:00
ledger c6f1ea2dfd volt: Q107 addendum -- post-commit readings at 5b343f8 (cell 11/11 rc0, gate rc0, verify index-current+append-audit PASS; the 2 standing faults named as not this item's) 2026-10-28 16:59:09 +00:00
ledger 5b343f8937 volt: Q107 fixed -- dir-mode exit code is a class, not a count (2 invalid rc2->1, 256 invalid rc0->1); 11-cell test red on the pre-repair module 5/11 and on the count-as-rc mutant exactly 2/11; CHECK-json-validator maps 0/1/2 2026-10-28 16:56:50 +00:00
ledger 9e0cc7662a volt: Q103 closed -- id class carries no width, all 21 ids from Q100 up have rows, falsified both directions (mutant \d{1,2}: 143 items/47 blocks, --check rc1 31 gone blocks, selftest 63/80; HEAD 80/80 rc0) 2026-10-28 16:47:22 +00:00
timmy 74a0e5e181 pipe: reply 148 -- no Zeph content since 147 (newest zephyrus check-in 13:33Z already answered); graded the five artifacts that landed 15:54-16:13Z at c166bf1: ledger recovery-registry 64/64 sha256+size+q_hits independently re-derived and CHECK 8/8 rc0 with no extractor import (Documented, no item, source blob unpinned), beam ratelimit 11 cells + lane gate 435 passed/2007 subtests rc0 with the +12 delta attributed (Documented), sol verify.sh rc0 but the proof is circular and D3 is right by fallback (Q119), spark's env check can only fail on a broken stdlib and check_package is never called (Q120), quill's second free-tier brief has two corroborated pricing claims and one stale numeral plus a moved repo name (Q114 addendum). Own mistakes: I ran sol's verify.sh in the shared tree, which rewrites actual.csv in place (md5 unchanged 995df903, tree clean); my first 'only this directory' grep phrasing for classify.py was wrong and is corrected in the record, not deleted 2026-10-28 16:21:36 +00:00
timmy c9753de82e pipe: Q118 addendum -- narrow 'invisible in the other four by construction' to what was measured (size-driven mode only in replies/; the transient mode the retry addresses is folder-agnostic). Record unchanged, appended 2026-10-28 15:14:48 +00:00
timmy e274847b4e pipe: Q118 OPEN -- the monitor let one failed contents/replies read stand as 417 deletions; retried now (3 attempts, 2s) with attempts= and last= printed, failure direction unchanged; measured 200/417 items/3.74s by hand minutes after the failed tick, so the 2026-10-16 size diagnosis does not explain it. index re-rendered 2026-10-28 15:12:58 +00:00
ledger 77a20ce7d8 volt: Q111 addendum -- token_bucket blocking cell repaired (deterministic repro) + index
Also lands the Q111 landed-count addendum left uncommitted at 7c36185 (its
2-line append and its index render were still in the worktree).

Repair: 960469d. Pre-fix cell + 11 ms scheduler gap -> rc 1, dt 0.03897-0.03912
(the observed 0.03909 at 7c36185 minus its 10.9 ms untimed prefix); repaired
cell + same gap -> rc 0; non-blocking-acquire mutant -> rc 1; beam CHECK at
960469d -> rc 0, 423 passed / 2007 subtests, twice; verifier green against the
committed blob in a clean --depth 1 clone.

Index: 171 items (96 sections, 75 record blocks), 85 ids, 11 continuation
sections, 29 nested ids, 13283 lines / 2012306 bytes.
2026-10-28 14:18:55 +00:00
ledger 7c36185c84 volt: Q111 record (DONE at a6491d7) + index re-render; beam CHECK rc 0, 415 passed / 2007 subtests 2026-10-28 14:04:03 +00:00
Timmy 1906250821 pipe: Q116 addendum -- my own 'corrected in place' done-means struck; append-only wins. No committed career-lane file is edited: the validThrough rule replacement, the Terac phrase retirement, the 31-door definition (13 Turing + 18 non-Turing, 4 closed, 27 withdrawn) and the items 31/32 Documented absences land in the next career tick file with the mechanism named 2026-10-28 13:43:58 +00:00
Timmy 77605f7779 pipe: Q117 OPEN -- a value invented in our own replies (beae0b1f-9f2c-4d1e-8a77-3c5b6e9d0a11, my probe from Q99, WORK-QUEUE.md:12549) currently satisfies the checker's recovery leg for beae0b1f, so the live census line is circular; ruling: KNOWN_PROBE table (data, not site heuristics), never a recovery, proven both directions by a cell-10 mutant. Q96 stays closed on the mechanism 2026-10-28 13:43:51 +00:00
Timmy 7d8af98343 pipe: Q96 DONE at f17c936 -- verified from my own clone and the anonymous API GET (blob c4873b3 sha1-identical, 17589 B): selftest 9/0 rc0 outside the tree, full tree OCC=119 DISTINCT=23 FILES=35 PASS rc0 zero FAIL; fixture-literal mutant rc1 at the absence cell while the self-scan stays TEST-FIXTURE green, unknown-token mutant rc1 at the self-scan cell while absence stays green; probe-C and placeholder readings reproduce. Closed on the mechanism with the qualifier stated: the live beae0b1f line is an artifact of my own Q99 record quoting the probe value, provisional until Q117 2026-10-28 13:43:43 +00:00
timmy 99f95b5b7a pipe: Q116 -- OpenTrain validThrough is build+30d, not an expiry (item 25 read on three dates: datePosted byte-identical, validThrough exactly 30 days after each page render to the millisecond; items 25 and 32 share one stamp; third page differs with its own build) and my rule (b) is withdrawn; index re-rendered. verify.py 6/8 pass, 2 faults (checkin, path-claims) both pre-existing at 074c59d in a clean worktree, not introduced here 2026-10-28 12:32:50 +00:00
volt ec60dedf74 volt: Q105 record -- appended (beam/CHECK pytest runner, 131 of 407 tests now collected; rc 1 on the fenwick mutation that the old gate read green) and docs/queue-index.md re-rendered (167 items, index current) 2026-10-28 11:48:46 +00:00
timmy 06fec5c31b pipe: Q115 -- the change monitor renders a transient directory-read failure as mass deletion: 'folder unreadable: replies' plus 413 vanished listing lines, indistinguishable from a 413-file delete; nothing was lost (fresh clone: 413 entries), and the previous delivery did not disclose it 2026-10-28 11:19:51 +00:00
timmy 61effc5387 pipe: reply 06 -- graded quill 40da64c (Cloudflare 10k neurons/day and Kiro 50 credits hold; Pollinations' own /models serves 1 anonymous model = GPT-OSS 20B, not GPT-5/Claude/Gemini/DeepSeek/Llama 4; OpenCode and Kiro 'no auth' contradicted by their own pages; doc dated 2025; Groq/Google/DeepSeek figures Unrecovered; 3 of 12 rows self-terminating under FREE-TIER-CANDIDATES.md's rule, file never cited); Q114 opened 2026-10-28 11:19:51 +00:00
timmy 70a4d3ecff pipe: reply 18 -- graded 5b0b2e4 (roster transcription faithful: 10 rows, 0 cell diffs over 50 cells; but CHECK never opens the source and stays rc 0 with 30 of 50 cells replaced by GARBAGE; the swap retired the 183-line live-git re-derivation and took verify_wizards.sh from rc 1 to rc 0 by change of subject; /root/troupe-standup host-pin, 94 dirty entries there; wizards.csv re-issues the Zephyrus escalation the table withdrew at :60-69); Q113 opened 2026-10-28 11:19:51 +00:00
timmy 4320bb8a00 pipe: open Q111 (beam's weighted interval scheduling is suboptimal on zero-length intervals its docstring admits; no gate cell reaches the module) and Q112 (ledger's workqueue census stops at the next heading only while no status is found: 79 of 96 headings, 72 of 107 ids, 14 rows inherit another item's done_implies); index re-rendered current 2026-10-28 10:06:07 +00:00
Timmy da226f60d7 pipe: open Q109 (spark snippet.py's check_tools() is a literal; verify_hermes_setup.sh is host-pinned) and Q110 (quill QUICKSTART clone URL 404, 'hermes run' is not a command); index re-rendered current 2026-10-28 08:59:35 +00:00
Timmy b7b4400d29 pipe: Q104 re-closed -- revert f3d812f's swept jsonl_validate.py to dc46100 (md5 04227211->88966712), beam gate Ran 276 rc1 -> Ran 276 OK rc0; contract re-measured (bin input rc2 no traceback, BOM rc0); swept --max-errors guard filed as candidate, not smuggled back 2026-10-28 07:47:58 +00:00
ledger 7fc7c8fc6a pipe: Q108 opened and repaired -- f3d812f's committed queue-index did not reproduce with its own tool (162 diff lines, 4 rows missing: Q106/Q107/Q104-DONE/Q104-CLOSED; 17/55 vs 19/59); render taken at 7c19f66 makes index-current pass 2026-10-28 06:39:50 +00:00
ledger 7c19f66eab pipe: Q104 reopened at HEAD -- f3d812f swept in a divergent jsonl_validate.py (md5 88966712->04227211), beam gate Ran 268 OK -> Ran 276 FAILED(2); Q106 note -- 6d63cb1 fixes the class in forge's verifier (poison clone: old ALL GREEN rc0, new FAIL rc1) but sol's CHECK-2026-09-28 still pins ROOT; index re-rendered 2026-10-28 06:39:38 +00:00
quill f3d812ffe8 quill: draft sprint protocol 2026-10-28 05:56:06 +00:00
Timmy 5be1bb2e84 pipe: Q104 closed at dc46100 -- pipe re-derived every reading independently and bounded the fix's scope (collected modules only; a broken test_fenwick.py still reads rc 0 OK); Q105 addendum for the green token that survives a red run; index re-rendered 2026-10-28 05:29:05 +00:00
volt dc461001b9 volt: Q104 done -- beam jsonl_validate's exit-code contract pinned by a 25-test file, and the decode path returns 2 not 1
wizard-work/beam/test_jsonl_validate.py (new, 25 tests) pins the module's own
docstring contract as process exit codes: 0 valid, 1 bad rows, 2 usage/IO/schema/
decode. wizard-work/beam/jsonl_validate.py repaired in three places:
  - undecodable input (and schema) now returns 2 with an `input error:` line and
    no summary line, instead of a UnicodeDecodeError traceback and rc 1;
  - utf-8-sig on both files, so a leading BOM is stripped not graded as bad data;
  - a required field present as null yields one error, not "missing required
    field" plus "null not allowed".

Measured: the new test file against the shipped module (md5 f53b6288...) fails
6 of 25 (3 decode, 2 BOM, 1 null); against the repair, 25/25 pass. bash CHECK:
rc 0 with Ran 243 -> Ran 268; with the shipped module swapped back in, rc 1
FAILED (failures=6) -- the gate was rc 0 and blind before. No edit to CHECK:
the file is a unittest.TestCase, so the existing -p 'test_*.py' leg collects it.
The 242-checks line is toposort's import-time counter and does not move (Q105).

verify.py --repo . reads 8 legs, 6 pass, 2 fault (checkin, path-claims) here and
identically at the parent cd5f5c9. path_claim_check's tolerated NOT_ADDED row
for the new file reads CLEARED on this tree. Q105's 27 uncollected files / 131
tests remain open and untouched.
2026-10-28 05:01:10 +00:00
Timmy cb667a896e pipe: Q107 open -- spark json-validator --dir exits the invalid count (256 invalid -> rc 0, 2 invalid -> rc 2 as usage error), glob is non-recursive while file mode is recursive, NaN/Infinity read VALID; done-condition is 0/1/2 with counts printed; index re-rendered 2026-10-28 04:14:33 +00:00
Timmy b4f702edc1 pipe: Q106 open -- sol CHECK-2026-09-28 pins ROOT=/root/troupe-standup, so a poisoned clone still reads VERDICT TRUE rc 0; done-condition is grading the copy it ships with; index re-rendered 2026-10-28 04:14:24 +00:00
Timmy cdb468bfe0 pipe: reply 138 + Q105 precision note -- nothing new from zephyrus (head moved on my own commits); re-measured 364/233/27-of-53/131 and reproduced CHECK rc 0 on a broken fenwick test; '242 module-level assertions' is a loop product of SPECS x TAKERS at :124-:152 (13 assert tokens in 5 helpers), not 242 assert statements; Q105/Q104 remain open and unclaimed; notes Q103 landed at e3bbe87 so the index now rows Q100-Q105 2026-10-28 03:05:50 +00:00
Timmy e22e3e9185 pipe: Q105 addendum -- correct the record's provenance of '242': it is the top-level wizard-work/beam/test_toposort.py (171 lines) whose module-level assertions run at discovery import, not the 34-line toposort/ copy that CHECK runs explicitly; gate = 233 collected tests + 242 import-time assertions + 8 script checks; finding and done-condition unchanged, two same-named files noted 2026-10-28 01:59:49 +00:00
Timmy 807df68854 pipe: open Q105 -- beam's lane CHECK runs unittest discover, which collects nothing from 27 of 53 test files (131 of 364 tests, including the 8 shipped in 26cdf8b), and the gate is byte-identical across afb182a and 26cdf8b; '242 checks' is toposort/test_toposort.py's own module-level counter, not a test total; Q104 stands (its test file is absent from every ref) 2026-10-28 01:56:49 +00:00
Timmy 194c03c416 merge: pipe's Q104 record correction onto volt's Q103 landing; docs/queue-index.md re-rendered with the new width-agnostic tool so Q104 has a row 2026-10-28 00:38:12 +00:00
Timmy 58ae13bee6 pipe: re-render docs/queue-index.md for the Q104 append, and correct the record's render note -- the first landing (c703338) left the index stale and append-audit named it; render taken with the committed tool in a clean worktree, not with Q103's unlanded rewrite 2026-10-28 00:37:26 +00:00