Repository navigation
spec(claw): suggest.t27 -- one-click formatter suggestions, COMMENT only (Closes #10285) - #10286
Merged
Merged
Conversation
…nly, RIGHT side only (Closes #10285) The law behind the pr-files and pr-suggestions rows of github_surface: the review event is always COMMENT, comments anchor on the RIGHT side inside one diff hunk, at most 20 per review, and an unreadable hunk withholds its file. Diff ranges are read from the @@ headers of pr-files. 16 tests, 0 vacuous on the Railway lab; a mutant that lets event_for return its input fails the suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 18, 2026 07:32
Contributor
This was referenced Oct 18, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…10288 (Closes #10311) (#10312) duplicate-bodies has been red on master since the claw specs landed without moving the ledger. Each new group and why it stays for now: - buf_has, digit_byte, put_count, put_str (gates.t27 + sarif.t27, #10288): deliberate. sarif.t27 says so in its header: the writers are private in gates.t27 and sarif.t27 must lower alone under gen-c. - bytes_eq 2 -> 3 (`same` in sarif_pins.t27, #10288): the test-only pins companion compares strings by .len, which gen-c cannot lower. - str_eq (gates.t27 + suggest.t27, #10286) and has_prefix (service.t27 #10283, starts_with in preview.t27 #10287): same lower-alone constraint; sharing them into one claw helper module is a follow-up, not this commit. The ledger is `python3 tools/dupe_scan.py --bless` output on master 238b6a9, run on the Railway lab; the gate exits 0 after it. Not hand-edited. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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 #10285
Adds
specs/claw/suggest.t27, the law behind thepr-files(pull_requests read) andpr-suggestions(pull_requests write) rows of the surface table in #10280. When a PR changes a.t27file that the formatter would rewrite, TRI CLAW may post one review whose comments aresuggestionblocks.The law, each line pinned by a test:
COMMENTand nothing else. APPROVE, approve, REQUEST_CHANGES, PENDING, empty andCOMMENTall map to "post nothing" (testevent_is_never_approve).@@ -a,b +c,d @@headers of thepatchfield.Verified on the Railway lab (
t27c test-report specs/claw/suggest.t27): 16 tests, 16 pass, 0 FAIL, 0 vacuous;spec-statusIMPLEMENTED. Negative control: a mutant whereevent_forreturns its input failsevent_is_never_approve.Not in this PR:
t27c fmt, computes the replacement lines and POSTs the review is foreign YAML under the own-language gate. It needs an owner-approved offset; the token for it ispull_requests: write+contents: readonly (thecreate-github-app-tokenpermission inputs).github_surface.t27(spec(claw): github_surface -- every GitHub API surface, its .t27 value, the narrow token it mints (Closes #10277) #10280, not merged yet); a row moves to LIVE in the PR that ships the workflow.🤖 Generated with Claude Code