Stability checkpoint — root hygiene + SONAR doc + batch CI rule (MR !114)
Three batched fixes (per new CLAUDE.md rule "Réduire les vagues CI") :
1. Root hygiene : run.sh moved to bin/run.sh (executable + blame
preserved). 10 doc references updated for UI-context callers ;
5 backend-context refs preserved (deployment-{gcp,kubernetes},
technology-stack, infrastructure, testing — those describe
commands in the sibling mirador-service repo).
UI root file count : 17 → 16 (cap = 15 ; CHANGELOG.md move
deferred to next sweep, requires release-please script update).
2. SONAR_TOKEN UI doc improvement : sonarcloud silent-failing >8d
on a 'Project not found' error. Updated the allow_failure: true
comment with the 3 likely root causes (project deleted, token
rotated, user-access lost) and a dated TODO 2026-05-24 so the
shield can be removed once one of the 3 is ruled out. No code
change : actual fix needs SonarCloud UI + CI vars edit (user
action only).
3. CLAUDE.md rule 'Réduire les vagues CI' : codifies the
batch-instead-of-micro-MR pattern with explicit justification
that local build/lint catches 80% of fails ; the remaining CI
fails are recognisable patterns easily debugged from N-commit
batches. Saves (N-1) × 10-15 min per CI cycle batched.