Repository navigation
claw: criteria.t27 + claw/criteria check -- commands settle the criteria they can (Closes #10549) - #10572
Draft
gHashTag wants to merge 14 commits into
Draft
claw: criteria.t27 + claw/criteria check -- commands settle the criteria they can (Closes #10549)#10572gHashTag wants to merge 14 commits into
gHashTag wants to merge 14 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…\n \t (Refs #10549) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The claw gen-c freshness lines fold into one loop and scripts/gen_w368_lean.py, an unreferenced one-shot wave generator, is dropped so foreign lines shrink. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Census moves, both from the two new jobs claw-criteria and claw-criteria-post in gate-topology.yml: shell jobs 93 -> 95 (and the run: step counts with them); quiet 'named a path but not quiet' 233 -> 239, the new run: steps naming paths without a quiet shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d ': ' in a plain scalar (Refs #10549) GitHub refused the whole file, so every gate-topology job was skipped on pull_request and only a zero-job failed push run appeared. The jq object now writes key:value without the space; actionlint is clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…volhard-4b537b # Conflicts: # tools/census/quiet.txt
…aster (Refs #10549) Master moved it 233 -> 237; the two claw-criteria jobs of this PR add 6. Re-blessed with tri census pin --bless on the Railway lab; gate clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Merged
Merged
…10549) Five new spec tests aim at the survivors of the mutation run: later commands keep their own outcomes, a planned run with no result is not run, records are read to their last byte, body line edges (table rules with spaces, blank indented lines, ". x", three-digit lists, SC-7x), and helpers called off-center. 42/42 pass, 0 vacuous, on the Railway lab. read_body now looks for "-->" from s + 2, so "<!-->" and "<!--->" close themselves, as in HTML; before, they opened a comment that hid every following criterion. gen/c and the seal are regenerated on the lab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Contributor
This was referenced Oct 18, 2026
Merged
Open
gHashTag
force-pushed
the
claude/focused-volhard-4b537b
branch
from
October 18, 2026 20:21
6dec679 to
da6d254
Compare
This was referenced Oct 18, 2026
…ob, per specs/claw/token_shape.t27 (Refs #10549) The post job's token step now carries continue-on-error and a failure note (rules R1 and R2 of the law master landed). The separate secret-presence step goes: a missing secret fails the same mint and leaves the same note. Census moves, both from that removed run: step: - quiet 'named a path but not quiet' 243 -> 242 - shell 'run: steps' 329 -> 328, 'the runner does' 308 -> 307 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
force-pushed
the
claude/focused-volhard-4b537b
branch
from
October 18, 2026 20:39
6b3a741 to
ac8cc96
Compare
This was referenced Oct 18, 2026
Contributor
PR DashboardGenerated at: 2026-10-18 20:48:55 UTC
Summary
Seal Status
|
This was referenced Oct 18, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #10549
claw/criteriasettles in CI the Success Criteria a command can settle, so the Queen's reviewer spends a model lane only on the rest.specs/claw/criteria.t27is the law. It extracts criteria from the linked issues, classifies each as machine, partial or judgment, maps machine clauses to the four allow-listedt27cforms, and writes the report. Lowered togen/c/claw/criteria.cand sealed:t27c test-report42/42 pass, 0 FAIL, 0 vacuous, andt27c seal --verifymatches, both run on the Railway lab.gate-topology.ymlgets two jobs:claw-criteriaholds no secret. It fetches the linked issues and runs only the allow-listed commands, after its own path check.claw-criteria-postmints thecheck-runrow's token (checks: writeonly) and posts one check run.github_surface.t27: thecheck-runrow moves toS_LIVE.spec-guards.ymlfold into one loop;scripts/gen_w368_lean.py, an unreferenced one-shot wave generator, is dropped.shelljobs: 93 -> 95;run:steps end at 328.quiet"named a path but not quiet": 237 -> 242 (237 is master's count after the merge).Live on this PR
claw-criteriaran on this PR and passed: https://github.com/gHashTag/t27/actions/runs/39153257181/job/117751102538claw-criteria-postfails atcreate-github-app-token: "The level of access for permissions requested are not granted to this installation." The TRI CLAW installation (167308749) does not grantchecks: writeyet.claw-sariffails the same way on nearly every PR. Accepting the App's updated permissions on the installation is an owner action. Until then the check run is not posted, so the criterion "claw/criteriaappears on at least one real PR" is not met. Since master landedspecs/claw/token_shape.t27, the job follows its shape: the token step iscontinue-on-error, and a failed mint writes the owner's fix to the step summary instead of turning the job red on every pull request (ac8cc96).gate-topology.yml. Arun:plain scalar held": ", so the file did not parse and every gate-topology job was skipped. df7b09f removes the space after each jq key colon, and actionlint is clean.Share of the 20 most recent issues
The law ran over the bodies of the 20 most recent issues (47 criteria):
./target/release/t27c test-report ... exits 0).tri,t27b,python3orgit grep;The share rises as issues name
t27c test-report specs/<x>.t27in backticks, which the issue-shape gate already asks for.Mutation record
tri mutate spec --file specs/claw/criteria.t27 --jobs 16 --max 2000, run on the Railway lab at da6d254:<!-->and<!--->opened an HTML comment that hid every criterion after it. In HTML they close themselves.read_bodynow searches for-->froms + 2.ret-defaultonvoidfunctions (376, 386, 587, 849), which zig rejects.Each of the 83 survivors is argued equivalent below. Line numbers are those of this head.
Zero field offsets (10): 518, 557, 665, 751, 757, 761, 817, 873, 951, 1111. The mutant turns
x * W + Fintox * W - F, but F is 0 here:KF_VERB,RF_VERBandCF_ISSUE.Run defaults (5): 765-769. The
NO_NUMdefaults of a run are read only onceRF_SEENis 1.read_resultssets all five fields in the same step that setsRF_SEEN. So writing a default into run 0's slot (nr / RW), or not at all, is never seen.read_resultsguards (13): 856 ×4, 861 ×2, 862 ×2, 863 ×3, 866 ×2.read_resultsruns only on a stream thatcollecthas accepted. On such a stream:decover an empty span isNO_NUM, the same as not calling it;eore - 1adds only the header's last digit and newline, a line that holds no count key.Bytes at a line's end (34):
read_body;collect;count_line;The argument:
lemeets one of three bytes: the line's\n, the\rof a CRLF line, or the next record'sI/X. None of them is a space, tab,#, digit,.,),],:or|. At an empty line,t[le - 1]is the previous\n.\nor last digit (704) adds an empty or digit-only line before any heading, outside every section.t1 <= eandt3 <= eonly calldecon an empty span.t3 > eand the remainingand/orswap at 715 refuse the same records: whent3 == e,lenstaysNO_NUM, andNO_NUMis so large that the size check refuses the record too.s - 2): the two bytes before<are indent, or a\nand the previous line's last byte. Sincet[s]is<, no-->can start befores + 2.Helpers (16):
a == llmatches nothing.e == salready failse - s < 11..t27check never has.ate - 1, and a..pair is caught from either side.path_ok,--verify), so a looser bound cannot accept more.path_ok.decover an empty span isNO_NUM.i == ereturnse.Classify and report (5):
Q_NOUT >= 0): a clean clause with no outcome changes nothing in either branch.okis false, the other branch also concludesneutral, and zero issues imply zero criteria.ROW_ROOMmargin.class_oftest helper; every input it gets yields exactly one criterion.🤖 Generated with Claude Code