Repository navigation
CodeQL quality suites: measured before any setup change; keep default setup (plan M4) - #450
Merged
seathatflowsinourveins merged 4 commits intoSep 28, 2026
Conversation
Measure the CodeQL quality suites with the CLI version live default setup uses (2.27.1, from the verified codeql-bundle-v2.27.1 release of github/codeql-action) at ba1700a for python, javascript-typescript and actions: the default, security-extended, code-quality and security-and-quality suites. The local default-suite SARIF matches the live default-setup SARIF of the same commit exactly. A stratified 20-alert code-quality sample judged against source gives 8 false positives, 8 real and actionable (7 hygiene, 1 reliability) and 4 real but not actionable (captured pages under evidence/). None of the 6 error-level sampled alerts is actionable. A 6-alert supplement of gate-relevant rules that only the broader suites add is 6/6 false positive. The decision record keeps default setup and the ruleset unchanged, keeps the PATCH to extended deferred, and states the overturn condition. No workflow file or repository setting is changed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Hash-list the ten files of evidence/artifacts/codeql-quality-measure-20260927/ and docs/decisions/2026-09-27-codeql-quality-suites.md through host_receipts.register_file, as the hot-file protocol in docs/lanes.md prescribes. This is the branch's last commit so a rebase can take main's manifests/evidence.json and re-register these eleven paths. component_matrix.py --check and new_host_grand_list.py --check both pass, so the generated reports need no rewrite. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The cross-family review of PR #450 found two P2 defects. Both reproduced. Alternative 4 (security-extended plus code-quality.qls) is not equivalent to security-and-quality. In counts.json, Python omits 43 results: overlap .python security_and_quality_results_in_neither_default_nor_code_quality = 77, less overlap["python:extended"].extended_results_not_in_default = 34. per_rule gives 30 py/uninitialized-local-variable (error), 11 py/cyclic-import (note) and 2 py/unnecessary-delete (warning). error_level_non_security is 60 for code-quality and 90 for security-and-quality. JavaScript is 13 = 13 with no omitted result. Source for why the rules miss code-quality, from the bundle: suite-helpers 1.0.58 code-quality-selectors.yml requires precision high or very-high and the quality tag. In python-queries 1.8.11, Variables/UninitializedLocal.ql has @precision medium, and Imports/CyclicImport.ql and Statements/UnnecessaryDelete.ql lack the quality tag. The decision now states the measured difference and gives option 4 its own rejection reason. run.sh waited with a bare `wait`, which "waits for all running background jobs ... and the return status is zero" (bash(1) 5.2, SHELL BUILTIN COMMANDS, wait; `help wait`). Its analysis loop also ignored failed steps. It now keeps each pipeline's $!, waits on each PID and stops a pipeline at its first failed step. It writes ALL DONE and exits 0 only when all three pipelines succeed; otherwise it appends a FAILED line and exits 1. The CodeQL argv is unchanged: the control-case argv diff is empty. Replay with a stub codeql that returns 23: - before: all creates failing gave exit 0 with ALL DONE; a failing middle analysis gave exit 0 after 12 steps; - after: the same cases give exit 1 with FAILED, after 3 and 9 steps. The recorded run was unaffected. The retained <dl>/steps.tsv has 15 step lines, each with exit 0. Each create-*.err ends "Successfully created database at <dl>/db/<language>.", all 12 analyze-*.err end "Exported results to SARIF (<n>ms).", and the 12 SARIF files match sarif_sha256.local. receipt.json records this under run_integrity, with the sha256 of the run.sh that was used. Checks: scripts/validate.py passed. python3 -m unittest tests.test_evidence_manifest tests.test_validate tests.test_host_receipts tests.test_adoption_docs_consistency ran 280 tests: OK, 1 skipped. shellcheck is not installed on this host; bash -n passes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e protocol Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
seathatflowsinourveins
deleted the
claude/codeql-quality-measure-20260927
branch
September 28, 2026 08:08
This was referenced Sep 28, 2026
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.
Scope
security-and-qualitynow, keep the PATCH toextendeddeferred, and leave the ruleset unchanged.ba1700ad;mainmerged in atf508ffbaper the docs/lanes.md hot-file protocol.lane:foundation.docs/decisions/2026-09-27-codeql-quality-suites.mdevidence/artifacts/codeql-quality-measure-20260927/manifests/evidence.jsonSOTA sources
codeql-bundle-v2.27.1. It is the CLI version the live default setup used atba1700ad, and it was verified with the API digest, the checksum asset andgh release verify-asset.python/javascript/actions*-code-quality.qlsand*-security-and-quality.qls.Evidence-class table
evidence/artifacts/codeql-quality-measure-20260927/docs/decisions/2026-09-27-codeql-quality-suites.mdLocal commands run
Decision record
docs/decisions/2026-09-27-codeql-quality-suites.md. It records:security-and-quality; PATCH the default setup toextended; keep as is;The 8 real actionable findings are listed for follow-up. They are not fixed here.
Review
codex exec -s read-only -m gpt-6-astra, effort max, on90dbf097, 2026-09-28): changes-needed.security-and-quality, but it omits 43 Python results, including 30 error-levelpy/uninitialized-local-variable.waitinrun.shlet a replay exit 0 withALL DONEafter failed steps.8424dc33):run.shwaits on each PID and stops the analysis loop on a failed step. It was probed with a stubcodeql.set -ustopsrun.shbefore it clearssteps.tsv. This predates the change.Checklist
🤖 Generated with Claude Code