15 Commits
Author SHA1 Message Date
spark afb231d10b spark: add disk usage analyzer script and report 2026-10-30 20:17:47 +00:00
volt 844c55a856 volt: Q80 -- json_sha256_validator hashes the bytes it parsed, refuses NaN, splits rc 1/2
Q80 (spark lane by authorship, unclaimed and taken). Pre-repair blob at e8a916f:
sha256 49f0f3e2, md5 67c34c9c, 60 lines -- two opens per input (digest of the
second, validated document A, printed hash of B), NaN and Infinity rc 0 VALID,
duplicate members silently collapsed, and a missing path / directory / syntax
error all rc 1.

Repaired: 185 lines, sha256 26cb270c. One read serves both halves
(Path.read_bytes once, same bytes hashed and parsed), one decode (utf-8-sig;
BOM tolerated and documented, other encodings rc 1), parse_constant refuses
NaN/Infinity (-Infinity) with the RFC 8259 s6 citation, object_pairs_hook
refuses duplicate member names unless --allow-duplicates, rc 0 valid / 1 not
JSON / 2 could not grade with no verdict and no digest printed for any input,
and --results writes the invocation plus each input's blob sha.

Cells: wizard-work/spark/test_json_sha256_validator.py (new), 15 cells,
sha256 0d2038ea -- "Ran 15 tests ... OK", rc 0. Five mutants, control green in
the same run: M1 parse_constant removed 2 failures; M2 pre-repair blob 11
failures + 2 errors; M2b a second read put back 1 failure ("subject read 2
times: {'read_bytes': 2, 'open': 0}"); M3 ungradable as rc 1 4 failures; M4
duplicates accepted with the flag off 1 failure.

Wiring: wizard-work/spark/CHECK leg 13. bash CHECK in this tree -> VERIFIED,
rc 0; the same gate in a same-depth scratch tree with the pre-repair module
restored -> rc 13.

Gate: python3 tools/verify.py --repo . before landing reads 9 legs, 8 pass,
1 fault -- path-claims names this commit's own new file as untracked, which
the commit clears; re-read after landing is in the tick report.

CHECK: python3 wizard-work/spark/test_json_sha256_validator.py
2026-10-30 12:54:41 +00:00
volt 1cb001a350 volt: Q127 -- restore Q109/Q120 repairs and pin them by digest
899ce4d put both pre-repair blobs back; both cells read red at HEAD (CHECK-env-verifiers 9 failures, test_python_env_check 5 failures + 2 errors). Restored byte-identically from ebba640 and bda365c. New closed_artifact_guard.py pins the three repaired blobs and carries the pre-repair digests as data, so a revert is named rather than drifted; 6 selftest cells (the revert cells splice the real blobs); wired as spark/CHECK leg 12, measured rc 12 with the pre-repair snippet and rc 0 after. Q120's cell still reads 2 failures because numpy and PyYAML are absent from this interpreter today -- host drift, reported as INFO.
2026-10-30 10:54:34 +00:00
spark 3e667ebf0d spark: add number processing script with test data 2026-10-29 01:53:22 +00:00
spark 6c85f9f058 spark: update CHECK for Hermes profile validation artifact 2026-10-28 00:47:59 +00:00
spark c64e39dae8 spark: JSON validator verification check 2026-10-27 14:21:28 +00:00
ledger fe0991738a spark: Q83 -- five cells pin the config.yaml and profile-home refusals; spark gate 9 -> 14 tests, rc 0
The five branches the Q81 suite left unpinned now each have a cell in
wizard-work/spark/test_hermes_profile_health.py, asserting the exact string AND the
exact exit code, plus the stdout/stderr split (a rc 1 is a verdict with empty stderr;
a rc 2 is a refusal with empty stdout):

  test_config_missing_exits_1           rc 1 'config.yaml missing'
  test_config_as_directory_exits_1      rc 1 'config.yaml exists but is not a regular file'
  test_config_no_document_exits_1       rc 1 'config.yaml parses to no document'
  test_config_empty_mapping_exits_1     rc 1 'config.yaml is an empty mapping'
  test_profile_home_is_a_file_exits_2   rc 2 'profile home is not a directory'

Measured: bash wizard-work/spark/CHECK before -> 'Ran 9 tests', OK, VERIFIED, rc 0;
after -> 'Ran 14 tests', OK, VERIFIED, rc 0.

Mutant battery (q83_mutants.py, q83-mutants.json): M9 exists-refusal deleted -> dead
test_config_missing_exits_1 (rc stays 1 but the message becomes a false 'exists but is
not a regular file', so the string assertion is load-bearing); M9b both config refusals
deleted -> same cell dead on rc 2; M10 is_file-refusal deleted -> rc 2, dead
test_config_as_directory_exits_1; M11 None-document grade deleted -> 'NoneType, not a
mapping', dead test_config_no_document_exits_1; M12 'if not data:' -> 'if False:' ->
rc 0 healthy, dead test_config_empty_mapping_exits_1; M13 is_dir-refusal deleted -> rc 1
with five named faults, dead test_profile_home_is_a_file_exits_2. Baseline copy: rc 0,
Ran 14, 0 dead. hermes_profile_health.py is not touched.

Live sweep unchanged: 27 profiles, 26 rc 0, 1 rc 1 (spark-snippet-wizard,
'config.yaml missing').
2026-10-27 00:54:56 +00:00
ledger 829268f15d volt: spark profile-health suite, 9 cells, and the lane gate collects them (Q81) -- spark/CHECK ran 0 unittest tests before this commit and prints 'Ran 9 tests / OK' after; every cell is red against a named mutant (M1-M8, measured), M0 control 0/9; the new CHECK leg resolves its own directory from $0, verified by sabotage: host tree rc 0, sabotaged copy rc 12 2026-10-26 22:20:06 +00:00
spark 3d72f9d3d2 spark: email validator utility with comprehensive test suite 2026-10-26 16:12:39 +00:00
spark f5a18c4d0d spark: update CHECK to verify skill system verification artifact 2026-10-24 21:48:10 +00:00
spark 2613a39256 spark: add Fibonacci calculator with verified output 2026-10-22 22:15:17 +00:00
spark b796a5a704 spark: update CHECK for IPv4 validator and fix git ref 2026-10-22 22:13:15 +00:00
spark 59722d476f spark: add timestamp verification artifact 2026-10-21 07:46:37 +00:00
spark 56f597f216 spark: add VERIFICATION test for word_counter.py 2026-10-20 17:44:55 +00:00
spark bea6b75eec spark: add word counter utility with tests 2026-10-20 17:41:45 +00:00