Skip to content

ci: quality gates phase 1 -- dupl repo-wide, gocognit clean-as-you-code (goal 0109) - #239

Merged
alicoding merged 3 commits into
mainfrom
quality-gates-go
Aug 18, 2026
Merged

ci: quality gates phase 1 -- dupl repo-wide, gocognit clean-as-you-code (goal 0109)#239
alicoding merged 3 commits into
mainfrom
quality-gates-go

Conversation

@alicoding

Copy link
Copy Markdown
Owner

Measurement-first wiring (full read-only run recorded in the goal file before any threshold was committed):

  • dupl @ 150, repo-wide: every existing cluster is deliberate and excluded by name — test twins, configuresvc's per-entity seed/CRUD shape, atlasservice_builtin.go. Gate lands green today; new duplication anywhere else fails the build. Anti-gaming: named-family exclusions with recorded reasons, never a threshold raise.
  • gocognit @ 15, new/changed code only (Sonar's clean-as-you-code): 25 legacy production functions sit over threshold (max 65 — burn-down list in the goal file), so the gate runs --enable-only gocognit --new-from-merge-base=origin/main as a lefthook job + CI step instead of failing every build or inflating the threshold. Lint job checkout gains fetch-depth: 0 for the merge-base.
  • Phase 2 (eslint-plugin-sonarjs + diff-cover changed-lines coverage) deferred until the in-flight npm dependency batch lands, to avoid lockfile conflicts — recorded in the goal file.

testing.md carries the standing rules; both gates verified green locally on this branch.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd

…de (goal 0109)

dupl@150 enabled with named deliberate-family exclusions (test twins,
configuresvc's per-entity seed/CRUD shape, atlasservice_builtin.go) --
lands green from a full measurement run, fails on NEW duplication
anywhere else. gocognit@15 gates NEW/CHANGED code only via
--enable-only + --new-from-merge-base (lefthook gocognit-new job + CI
step; lint job checkout gains fetch-depth 0 for the merge-base) -- 25
legacy production functions sit over threshold, so a repo-wide gate
would fail every build or mean nothing. TS-side sonarjs + diff-cover
deferred behind the in-flight npm dependency batch.

Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alicoding
alicoding enabled auto-merge (squash) August 18, 2026 17:54
alicoding and others added 2 commits August 18, 2026 14:24
…lls on flaky mirrors

Three e2e shards hung for their full 15-minute cap in one day, every
one inside `npx playwright install --with-deps chromium` while apt
fetched from ubuntu mirrors. Browser binaries now cache keyed by the
installed @playwright/test version; a hit skips the install entirely
(the runner image already carries Chromium's system deps), so only a
real Playwright bump pays the download path again.

Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ready has the deps

The 15-minute shard hangs persisted on cache-miss runs: the stall is
--with-deps' apt fetch itself, not the browser download. The ubuntu
runner image ships Chromium's system libraries, so the install is
browser-binaries-only now (and skipped entirely on a cache hit).

Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alicoding
alicoding merged commit aaec009 into main Aug 18, 2026
26 of 27 checks passed
@alicoding
alicoding deleted the quality-gates-go branch August 18, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant