Files
LithosAnanake/src/test_runner/modules
Robert Allan JamesandClaude Sonnet 5 7100523656 POST coverage cluster 2/4: Q48.16 math primitives (proof-covered, previously untested)
New module (q48_words_test.c, Module 25 -- matches word_registry.c's own
existing numbering for this file's registration) covers all 23 words in
q48_words.c: no test file existed for this file at all before. Standard
WordTestSuite/TestCase tabular format, unlike ACL's hand-rolled style --
these are pure stateless functions, a natural fit. 28 TestCase entries;
values built via Q.FROM-INT/Q.1/Q.0, read back via Q.TO-INT for readable
log output.

Verified q48_16.h's q48_to_u64() sign-extends through a signed int64_t
intermediate before writing the Q.NEG/Q.ABS tests, rather than assuming
negative round-trip works.

Boot-verified: zero build warnings, all 23 words pass individually,
FINAL TEST SUMMARY 1003->1031 total / 965->993 passed (+28 exactly),
0 failed, 0 errors. Noted (pre-existing, not fixed): print_module_summary()
is called with hardcoded (name,0,0,0,0) across every WordTestSuite module
in the tree, including this new one -- decorative, always zero; the real
counts live in each word's own per-suite line and the global summary.

Cluster 3 of 4 in the POST-coverage sequence (code sweeps -> HOL green ->
POST coverage, one proof-covered cluster at a time). Two clusters left:
inference-engine accessors, physics freeze/diagnostic. Full writeup in
FABRIC-2.md Section J.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 23:30:46 -04:00
..

src/test_runner/modules/

Per-category test files, one per FORTH-79 word category plus integration/stress/adversarial suites, run in this order by test_runner.c (POST order).

Word-category tests (validate each src/word_source/*.c file): arithmetic_words_test.c, mixed_arithmetic_words_test.c, stack_words_test.c, control_words_test.c, defining_words_tests.c, memory_words_test.c, return_stack_words_test.c, double_words_test.c, logical_words_test.c, io_words_test.c, string_words_test.c, block_words_test.c, format_words_test.c, system_words_test.c, dictionary_words_test.c, dictionary_manipulation_words_test.c, vocabulary_words_test.c, starforth_words_test.c, mama_forth_words_test.c, acl_words_test.c.

Cross-cutting tests:

  • integration_tests.c — multi-word interaction tests.
  • stress_tests.c — load/volume tests.
  • break_me_tests.c — adversarial/fuzzing tests.

Note: not every src/word_source/*.c file has a dedicated test module here (e.g. defer_words.c, log_words.c, inference_words.c, lifecycle_words_hosted.c, editor_words.c are exercised indirectly via integration tests or the tools/hermes_*.sh smoke tests rather than a standalone *_test.c module).