Repository navigation
spec(claw): sarif.t27 -- t27c findings as SARIF 2.1.0 for code scanning - #10288
Merged
Merged
Conversation
…ng (Closes #10284) Row code-scanning-sarif of specs/claw/github_surface.t27. The spec holds the rule table, the severity mapping, the path and region rules, JSON escaping, the result cap and the document itself; a companion test-only spec pins the length tables. Unknown severity, rule, path or number drops the line and sets executionSuccessful to false; a clipped buffer is detectable. 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>
…oses #10284) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 18, 2026 07:35
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 #10284
Row
code-scanning-sarifofspecs/claw/github_surface.t27(#10280, epic #9271).What
specs/claw/sarif.t27shapes t27c findings into a SARIF 2.1.0 document that GitHub code scanning accepts: findings then show in the Security tab and inline on the PR diff, and close on their own when fixed.severity slug path line col message).T27C001toT27C004), severity mapping error/warning/info(note) to the SARIF levels.invocations[0].executionSuccessfulto false. A clipped buffer is detectable (sarif_fits). Empty input gives a valid empty run, which closes every open alert.specs/claw/sarif_pins.t27is the test-only companion that pins the explicit length tables with.len(thegates_pins.t27split), because gen-c cannot express.len.Lab evidence (Railway)
t27c spec-status specs/claw/sarif.t27: IMPLEMENTEDt27c test-reportonsarif.t27: 15 pass, 0 FAIL, 0 vacuoust27c test-reportonsarif_pins.t27: 5 pass, 0 FAIL, 0 vacuoust27c gen-c specs/claw/sarif.t27lowers (rc 0); the C parses. gen-c emits one-Wincompatible-pointer-typeswarning for the array parameter ofparse_line; a harness needs to account for it.Not in this PR
The upload step (
github/codeql-action/upload-sarifwith the job's ownGITHUB_TOKENandsecurity-events: write) is workflow YAML, foreign code, and needs a shrink offset. An adapter from t27c output to the TSV input is also still to do (parse errors carry no file path; test-report and spec-status words need mapping). Both are the next step.Only
.t27files are added; no workflow, gate file, seal or generated file is touched.🤖 Generated with Claude Code