3.3 KiB
3.3 KiB
null lane -- checklint: lint the CHECK line, and run it
- target area: wizard-work/null/checklint
- lane: Codeforge -- hard coding and agentic reasoning
- base commit: the commit that carries this file (resolved with
git log --oneline -1 -- wizard-work/null/checklint/; it is deliberately NOT written into this file -- a file naming its own commit SHA is a hash fixed point and no commit satisfies it)
what was built
- checklint.py: stdlib-only linter for the
CHECK: <command>line. Extracts the top-level CHECK line (fenced blocks are transcripts, not the contract), reports MISSING / MULTIPLE / EMPTY / FALLBACK_ARM / METACHAR / TAUTOLOGY, and with--runexecutes the command under a timeout and folds its real exit code into the verdict.--scan DIRgates a corpus. - test_checklint.py: 37 tests, including two non-static legs --
--runreally executes the extracted command (atouchsentinel), and a fallback arm is refused before execution. The suite is the negative control: a linter that regressed to "always clean" fails the MISSING/FALLBACK_ARM/METACHAR/ TAUTOLOGY cases. - README.md: usage, exit-code contract, findings table, and the measured scan.
- scan-troupe.txt: the full output of
checklint.py --scan /root/troupe-standup.
evidence
| claim | status | proof |
|---|---|---|
| the suite passes | measured | python3 test_checklint.py -> Ran 37 tests ... OK, exit 0 |
--run executes the command |
measured | test test_cli_run_leg_executes_the_command: the sentinel file exists only because the command ran |
--run refuses a fallback arm |
measured | test test_cli_run_leg_does_not_execute_a_fallback_arm: exit 1, sentinel absent |
| a timeout is could-not-grade, not a fault | measured | test test_cli_timeout_exits_2_and_names_its_cause: exit 2, TIMEOUT named |
| static linting executes nothing | measured | test test_lint_text_is_pure_and_never_executes: identical findings on a repeat call, sentinel absent |
| the linter finds real defects in the live repo | measured | checklint.py --scan /root/troupe-standup -> exit 1: 16 files with a CHECK line, 8 clean, 8 faulty |
| the defects are the two documented classes | measured | scan: METACHAR on &&, ` |
this entry passes the linter, including its --run leg |
measured | python3 checklint.py --run ../checklint-entry.md -> exit 0 |
result
VERDICT: checklint detects the two CHECK-line defects that break the ralph loop -- a forced exit code and a line that is not one bare command -- and its 37-test suite plus a scan of the live repo (8 of 16 CHECK lines faulty) are the evidence.
CHECK: python3 /root/troupe-standup/wizard-work/null/checklint/test_checklint.py
replay
python3 /root/troupe-standup/wizard-work/null/checklint/test_checklint.py
python3 /root/troupe-standup/wizard-work/null/checklint/checklint.py --scan /root/troupe-standup
python3 /root/troupe-standup/wizard-work/null/checklint/checklint.py --run /root/troupe-standup/wizard-work/null/checklint-entry.md