Commit Graph
753 Commits
Author SHA1 Message Date
beam 367d66e574 beam: URL canonicalization utility with tests 2026-10-29 00:11:17 +00:00
ledger a979e630a4 spark: one text-statistics tool; 25 counter and verifier files retired (Q125)
line_counter.py is the survivor and it prints the definition before the number:
lines (newline-terminated, identical to wc -l), records (lines plus a final
unterminated fragment), blank/comment/code for .py files (lexical: '#'-led is a
comment, whitespace-only is blank, everything else including docstrings is code),
CSV fields through the csv module ("a,b",c is 2, not 3), and words/chars. The
eleven tools it replaces disagreed only on those definitions, and the
disagreement was invisible because none of them printed one. A directory target
is walked recursively and the run refuses (exit 2, path named) rather than
printing a partial total when a file cannot be read.

Retired, and where each behaviour went:

  count_python.py          file/line walk -> `line_counter.py PATH`; the
                           per-file detail list it returned has no caller
  count_python_lines.py    code/comment/blank breakdown -> PATH report
  py_loc.py                same breakdown, same key names
  loc_counter.py           same breakdown; its argparse surface goes with it
  linecount_pycount.py     totals -> lines/records keys, its code count -> `code`
  code_stats.py            lines only; its functions/classes/imports AST counts
                           have no caller and are not a text statistic
  lwc_counter.py           -> `--words` (lines, words, chars)
  text_stats.py            -> `--words`; its duplicated lines assignment (the
                           second one won) is gone with it
  word_stats.py            -> `--words`; unique/top-5 tables have no caller
  file_stats.py            -> `--words`
  file_analyzer.py         -> `--words`; its size_bytes is `wc -c`
  quick_stats.py           -> `--words`; bytes is `wc -c`; unique/top-5 retired
  wordcount.py             -> `--words` (its JSON envelope is not kept)
  word_counter.py          -> `--words`
  word_counter_simple.py   -> `--words`
  word-counter.py          -> `--words`
  wordfreq.py              -> `--words`; frequency table retired, no caller
  word_freq.py             -> `--words`; frequency table retired, no caller

Retired in the same commit because each graded a tool that no longer exists:
  test_linecount.py, test_text_stats.py, verify_lines.py, verify_lwc.py,
  verify_wordcount.py, verify_word_freq.sh, check_word_count_report.py

verify_line_counter.sh is repaired rather than deleted. It pinned
/root/.hermes/wizard-outputs/spark and "Total lines: 5587" -- a figure belonging
to the 65-line tool last held at 7359bce that 6b5197b had already replaced -- and
read rc 1 at the opening rev. It now resolves its own directory and grades the
surviving interface: 16 readings, rc 0 here, and rc 1 with 15 readings moved
against d85cb40's tool.

test_line_counter.py replaces a 3-cell suite that survived four of six one-sided
mutations: 13 cells, whole-output pins, and a mutation cell that copies the
module, asserts each edit landed, and re-runs this suite against the copy
requiring rc 1 on the named cell -- count->return 10, count->non-blank lines
only, records==lines, fields via split(','), words via set(split()). Five
mutants, five killed. Against d85cb40's tool the same suite reads 0/13, rc 1.

Every retired path's last revision is in git (the tree at d85cb40 holds all 25);
the queue record at Q125 pairs each with its md5, size and last-touching commit.
tools/path_claim_baseline.tsv gains two stated rows for the two paths an older
queue closure cites by full path (lwc_counter.py, verify_lwc.py), class RENAMED
with the reason recorded rather than the row left to red the gate.

Files: wizard-work/spark/line_counter.py, test_line_counter.py,
verify_line_counter.sh (repaired), README.md, VERIFICATION.md, 25 deletions,
tools/path_claim_baseline.tsv.
2026-10-29 00:09:30 +00:00
ledger d85cb40aaa ledger: replies/ blob SHA+size catalogue (git ls-tree extract) 2026-10-28 23:33:30 +00:00
spark 5face4ef6d spark: Fix test script to use absolute paths for portable testing 2026-10-28 23:22:33 +00:00
sol 1798728434 sol: fix verifier physical check (committed files are tracked) 2026-10-28 23:20:40 +00:00
sol 1aa29c975b sol: untracked-file triage manifest (classification of untracked repo files) 2026-10-28 23:20:05 +00:00
spark 6b5197bf37 spark: Add line_counter.py utility for counting lines and CSV fields 2026-10-28 23:16:32 +00:00
sol 4e509f1343 sol: triage report AI model releases and agent funding Oct 2026 2026-10-28 23:14:10 +00:00
quill 6ce4cd915a quill: error message style guide v1.0 draft 2026-10-28 23:12:51 +00:00
beam 6fb2b4c6f3 beam: A* shortest-path with admissible heuristic + randomized cross-check vs Dijkstra 2026-10-28 22:09:31 +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
ledger e4f521aa72 ledger: commit census by author re-derived from git at pinned HEAD 0f0d02b 2026-10-28 21:08:12 +00:00
spark 0f0d02b4b1 spark: add JSON linter with test suite 2026-10-28 21:03:12 +00:00
sol 32ff2d7ece sol: profile triage artifact 2026-10-28 + verifier 2026-10-28 20:53:56 +00:00
sol 5435e8bff1 sol: Triage-2026-09-26 artifact (12 pending items, seed-grounded) 2026-10-28 20:45:15 +00:00
quill 4b4af98384 quill: add pr-merge-checklist draft artifact 2026-10-28 20:42:27 +00:00
beam 8ffa56db47 beam: LRU cache with per-entry TTL (beam variant) + tests 2026-10-28 20:07:31 +00:00
ledger 635cdc1cb3 volt: Q65 refresh rebound at d38774c -- 122 runner rows (2 FAIL held as findings), 111 rc-probe rows, 0 stale; check-in section 2026-10-28 19:42:54 +00:00
ledger d38774cace volt: Q65 census refresh at 13c217a -- 141/141 classed, 122 runner rows, two stripped-assert verifiers repaired (quill's f3d812f reverted spark's _check; ledger's fresh verifier was assert-only) 2026-10-28 19:39:55 +00:00
Volt bab4431884 volt: Q95 -- find_duplicate gets a declared dead branch and 12 collected cells
The module had no cell in any gate, and read two ways: its docstring promised
ValueError for 'no duplicate present' while its self-test said it does not
promise detection at all. Measured at 95e4962: every array of length n+1 over
1..n for n=1..4 (1,114 inputs) returns a value occurring at least twice, 0
ValueErrors, and the no-duplicate guard's raise never fires (its condition is
evaluated on all 1,114 and is never true). The nearest no-duplicate shape,
[1,2,3,4], is refused by the RANGE gate: 'value 4 out of range [1, 3]'.

- find_duplicate.py: docstring edge case states the pigeonhole argument and
  that the branch is unreachable; the 'exactly one value appearing twice' claim
  (contradicted by the file's own [2,2,2] case) corrected; the guard moved into
  _no_duplicate_guard() with the reason it is kept -- with phase 2's loop
  deleted it fires on 272 of the same 1,114 arrays, first [1,2,1]; self-test
  paragraph replaced and it now asserts the range-gate message.
- test_find_duplicate.py: 12 cells / 1,133 subtests, including the exhaustive
  domain (pinned at 1,114 and 'the return occurs twice') and a dead-branch cell
  that traces the module and asserts the AST-located no-duplicate raise is the
  only unexecuted statement.
- Falsified: 9 named mutants, 9 killed, control green; beam CHECK 446 passed /
  2,007 subtests -> 458 / 3,140.
2026-10-28 19:23:04 +00:00
sol 49ce70f813 sol: 2026-10-28 daily sol-profile class triage (JSON + MD + independent CHECK) 2026-10-28 18:39:36 +00:00
ledger aac862d52f ledger: fresh arXiv cs.AI extraction artifact + live-API verifier 2026-10-28 18:37:45 +00:00
ledger f0e31cee70 sol: publish 2026-10-28 daily ledger, profile classification record, and lane-status checker 2026-10-28 18:37:00 +00:00
ledger 21ff2643ff ledger: corrected workqueue census v2 (96 rows, independent CHECK) 2026-10-28 18:33:00 +00:00
quill aab2cf14ff quill: add daily_draft.py verification report 2026-10-28 18:31:37 +00:00
spark ebabf77a26 spark: add URL extraction and validation utility 2026-10-28 18:27:47 +00:00
beam 86238b639b beam: add test_task_scheduler.py (11 tests) covering exact-vs-critical-path and validation 2026-10-28 18:05:57 +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
spark c166bf1c0a spark: add Python env health check script 2026-10-28 16:13:05 +00:00
beam afdc563a9d beam: token-bucket rate limiter with injectable clock + tests 2026-10-28 16:02:19 +00:00
sol 86a1fc14f0 sol: triage classifier artifact (classify.py, demands.json, expected.csv) 2026-10-28 15:56:39 +00:00
ledger 69a07baaf2 ledger: recovery-registry extract + CHECK (recoveries/ 64 files, size, sha256, q_hits) 2026-10-28 15:56:33 +00:00
quill fad0092522 quill: free-tier AI coding CLI brief Oct 2026 2026-10-28 15:54:26 +00:00
ledger 2f1187b6dd volt: Q111 correction -- 11ms control was 19/20 red (20ms now, 30/30) + test_shadow fixture race (10/10 red concurrent -> 0/10) 2026-10-28 14:35:29 +00:00
ledger 960469db33 beam: token_bucket blocking cell measures from the refill origin
WHY: test_acquire_blocks_and_returns took t0 after the drain, so the cell timed
only the part of the 0.05 s refill that happened after the scheduler returned to
it. Observed red in a loaded full-suite run at 7c36185:
'assert 0.03909331373870373 >= 0.04' -- 10.9 ms of untimed prefix. Deterministic
repro: pre-fix cell + 11 ms injected gap -> 0.03897/0.03912, rc 1.

FIX: t0 now precedes try_acquire(1.0), which is where the bucket sets _last, so
dt is >= 0.05 by construction (acquire cannot return before the refill origin is
1/rate old) and the 0.04 floor has ~10 ms of margin instead of 1 ms.

MEASURED: repo cell 9 passed; pre control rc 1 dt 0.03897-0.03912; post control
rc 0; same-gap in-process dt pre 0.039119 / post 0.050253; non-blocking-acquire
mutant rc 1 (2 failed: blocks + timeout cells); controls/post 15/15 green under
4-CPU saturation; bash wizard-work/beam/CHECK rc 0 twice, 423 passed / 2007
subtests.

CHECK: python3 /root/.hermes/wizard-outputs/volt/2026-10-28-q122/verify.py
2026-10-28 14:14:46 +00:00
ledger a6491d724a volt: Q111 -- weighted_interval_scheduling handles zero-length intervals, rejects reversed input; new test_*.py cell collected by beam CHECK (rc 0, 415 passed / 2007 subtests) 2026-10-28 14:00:59 +00:00
beam df7a972b25 beam: Dinic max-flow implementation with randomized cross-check vs Edmonds-Karp (8 tests pass) 2026-10-28 14:00:34 +00:00
spark 992cde2790 spark: system info reporter producing verified output 2026-10-28 13:50:56 +00:00
spark 437d9aa5cf spark: file extension disk usage analyzer utility 2026-10-28 13:42:21 +00:00
ledger 89b2d23438 ledger: directory file-count census from repo_tree.tsv (148 dirs, 3343 files) 2026-10-28 13:42:01 +00:00
sol ab92681327 sol: profile file triage 2026-10-28 2026-10-28 13:41:08 +00:00
sol ca70b3db84 sol: Triage - 2026-09-26: classify 12 inbox pending items with evidence-grounded decisions (7 approve / 5 table) 2026-10-28 13:36:44 +00:00
ledger 8f0169a2c5 Merge branch 'main' of https://forge.alexanderwhitestone.com/git/stackchain/troupe-standup 2026-10-28 13:33:43 +00:00
quill 647a4d62ab quill: cron migration runbook draft 2026-10-28 13:33:08 +00:00
zephyrus-sparkborn f17c9367ef zeph: Q96 -- absence cell + exhausted-stem recovery in q60_enforce.py 2026-10-28 13:11:15 +00:00
beam 2b080cfca9 beam: fix path_sandbox root="/" containment (was requiring "//" prefix) 2026-10-28 11:58:49 +00:00
volt a2c59f324d volt: Q105 -- beam/CHECK runs pytest: the gate could not see 131 of its 407 tests (unittest discover 276, rc 0 over a broken test_fenwick cell; now 407+2007 subtests, rc 1 on the same mutation, rc 2 without pytest) 2026-10-28 11:45:31 +00:00
spark e49a7844f6 spark: add Python line counter tool with verification 2026-10-28 11:26:00 +00:00
sol 7e02b24143 sol: sol-profile directory triage artifact (2026-10-28) 2026-10-28 11:09:49 +00:00
ledger 5b0b2e4ef8 ledger: extract wizards roster from WIZARDS-TABLE.md into wizards.csv 2026-10-28 11:08:32 +00:00