[xwiki/xwiki-dev-llm] 59b2f2: [Misc] Stabilise one proven flicker a run, and onl...
Branch: refs/heads/master Home: https://github.com/xwiki/xwiki-dev-llm Commit: 59b2f2361afa681b16ecb3fc378628a8081a9da0 https://github.com/xwiki/xwiki-dev-llm/commit/59b2f2361afa681b16ecb3fc378628... Author: Vincent Massol <[email protected]> Date: 2026-09-19 (Sat, 19 Sep 2026) Changed paths: M README.md M xwiki/skills/xwiki-ci-check/SKILL.md M xwiki/skills/xwiki-ci-check/routine-prompt.md M xwiki/skills/xwiki-ci-check/tools/ci-check.mjs Log Message: ----------- [Misc] Stabilise one proven flicker a run, and only when nothing blocks a release * ci-check.mjs picks at most one stabilisation candidate per sweep — a proven, already-filed flicker that nothing answers, inside the horizon, not systematic, and the one among those that fails most often, since a fix can only be shown to work on a test a repeat run can catch failing. `summary.stabilise` carries it or the reason there is none, and the paste prints that reason as its own line. * The candidate keeps its evidence and its 28 days of Develocity whether or not it won a deep slot: a filed flicker sits low in the analysis budget by design, and the configuration breakdown is the first thing whoever fixes it reads. * Nothing is proposed while something release-blocking is open. A build break blocks at any age — a quality gate red for a fortnight is a fortnight of blocked releases — while a systematic test breakage stops blocking past the horizon, where the run may not write about it at all and so cannot work on it instead. * SKILL.md §5 gains the procedure: measure the rate on the configuration Develocity names, fix inside Tier C, measure again, and open one unassigned draft PR carrying both rates with their execution counts and what a clean series does not prove — or nothing at all when the second rate is no better. * A failing SonarCloud quality gate stops being `report, never fix`: it makes the build red for everyone, so it is the run's first fix, handed to xwiki-fix-sonarqube-issue and still under nobody's name. On a cycle-2 branch the gate itself is usually the bug, and turning it off there is a proposal to the team. * The digest names a stabilisation PR and is not withheld on the morning it opened one. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: b85d2dabfd40f76a5fb634ef647d103c827ca10a https://github.com/xwiki/xwiki-dev-llm/commit/b85d2dabfd40f76a5fb634ef647d10... Author: Vincent Massol <[email protected]> Date: 2026-09-19 (Sat, 19 Sep 2026) Changed paths: M xwiki/skills/xwiki-ci-check/SKILL.md M xwiki/skills/xwiki-ci-check/tools/ci-check.mjs Log Message: ----------- [Misc] Name who caused a failing quality gate * A gate failure is not authorless: SonarCloud carries the file, the line, the rule, the day it was raised and the SCM author of every new-code issue under the failing condition. §3 now sends the report there instead of declaring the failure unattributable, and `blame.reason` says where the author is. * Measured on master, 2026-09-19: `new_reliability_rating` fails on three issues, two of them one two-line change from one author. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: cee31afb48c8fdf9e18f9985a3b68290460120dc https://github.com/xwiki/xwiki-dev-llm/commit/cee31afb48c8fdf9e18f9985a3b682... Author: Vincent Massol <[email protected]> Date: 2026-09-19 (Sat, 19 Sep 2026) Changed paths: M README.md M xwiki/skills/xwiki-ci-check/SKILL.md M xwiki/skills/xwiki-ci-check/tools/ci-check.mjs A xwiki/skills/xwiki-ci-check/tools/sonar-gate.mjs Log Message: ----------- [Misc] Find who caused a quality gate failure, and say so in the report * tools/sonar-gate.mjs reads the failing conditions of a branch's gate and the new-code issues under each — file, line, rule, severity, the day it was raised and the SCM author of the line — from SonarCloud, which is the only system that holds them: the Jenkins log says `QUALITY GATE STATUS: FAILED` and stops. * ci-check.mjs asks GitHub which commit last touched each of those files by the day the issue appeared, and puts conditions, issues and `culprits` in `sonar`. The rendered paste prints them under the incident. * Whose code, not who broke the build: a line's author is not a culprit, so this lands in `sonar.culprits`, never in `blame`, and no commit comment follows. Each name carries its provenance — Sonar's line author, or the commit's author only where Sonar had none. * Fails soft like the Develocity pass: no `SONARQUBE_TOKEN`, no gate facts, and `summary.sonar.unavailable` says so while the sweep is otherwise unchanged. * Measured on master: reliability of new code is C against a wanted A, on three issues — one BLOCKER NPE and two of one two-line change. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: e457a055f1d9164a4177e40830bef1297126506d https://github.com/xwiki/xwiki-dev-llm/commit/e457a055f1d9164a4177e40830bef1... Author: Vincent Massol <[email protected]> Date: 2026-09-19 (Sat, 19 Sep 2026) Changed paths: M README.md M xwiki/skills/xwiki-ci-check/SKILL.md M xwiki/skills/xwiki-ci-check/tools/ci-check.mjs M xwiki/skills/xwiki-ci-check/tools/commit-comment.mjs Log Message: ----------- [Misc] Comment on a quality gate when one person owns it * `sonar.unequivocal`: every commit touching a gate-causing file in the two days before the analysis is by one author, and SonarCloud attributes the lines to at most one person. Then blame is `likely` and §4 comments; otherwise `sonar.equivocalBecause` says which test failed and nobody is pinged. * A file no commit touched in that window takes no part in the decision — the issue is a rule applied to an existing line, so nobody caused it, and the last person to edit the file years ago must not be pinged for it. * The target is the pull request when the commit had one, since these land squashed and the PR is where the change was reviewed. `commit-comment.mjs --pr` posts there with the same marker and the same "already said" check. * Live, same morning: master is equivocal (two people under one condition, nobody pinged), stable-18.4.x is unequivocal (one BLOCKER NPE, one author, one commit). Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: 0eaf603dd9b56e9e1fef7dc7ed3766abdff5b88a https://github.com/xwiki/xwiki-dev-llm/commit/0eaf603dd9b56e9e1fef7dc7ed3766... Author: Vincent Massol <[email protected]> Date: 2026-09-19 (Sat, 19 Sep 2026) Changed paths: M README.md M xwiki/skills/xwiki-ci-check/SKILL.md M xwiki/skills/xwiki-ci-check/routine-prompt.md M xwiki/skills/xwiki-ci-check/tools/ci-check.mjs M xwiki/skills/xwiki-ci-check/tools/commit-comment.mjs A xwiki/skills/xwiki-ci-check/tools/sonar-gate.mjs Log Message: ----------- Merge pull request #160 from xwiki/ci-check-flicker-stabilisation [Misc] Stabilise one proven flicker a run, and only when nothing blocks a release Compare: https://github.com/xwiki/xwiki-dev-llm/compare/4f9f8a93d6ac...0eaf603dd9b5 To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-dev-llm/settings/notifications
participants (1)
-
XWiki Notifications