Skip to content

[feat] pipeline-1: desk battery (end-of-half retry, per-check fingerprints, release baselines), e2e coverage guard, CLAUDE-index.md - #441

Merged
AlexZ005 merged 7 commits into
feat/60from
feat/pipeline-1
Oct 25, 2026
Merged

AlexZ005 merged 7 commits into
feat/60from
feat/pipeline-1

Conversation

@AlexZ005

Copy link
Copy Markdown
Collaborator

Process lane pipeline-1, which makes releases faster and cheaper. Merge into feat/60, the next int.

  • scripts/ci/battery-desk.cjs runs tests/e2e/battery.json the way an integrator does: one half per e2e slot, with the self-hosted, production-host and modules-flight cases read from the file.
    • Every red runs once more at the end of its half. Green on that rerun counts as flaky: it is logged, not handed on.
    • Every failed check gets a fingerprint (numbers, JSON, paths and colour codes taken out).
    • baseline save <tag> records a run of the release tag.
    • diff --baseline <tag> sorts a union's reds into pre-existing (needs no A/B), flaky, or NEW.
    • flakes prints the flake rate per suite.
    • import turns an old battery.sh run into a run that diff can read.
    • Each run writes one BATTERY-DONE … summary line plus <name>.done.
  • tests/e2e/battery.json gains modules, desk and exclude.
    • 29 suites from the 1.43 battery join. They are optional on runners until a deps run has seen them green.
    • The 429 e2e files that are in no battery are listed under exclude, with reasons. Triage of those is owed to test-health-1.
  • tests/unit/batteryDesk.test.js checks fingerprints and classification, and acts as the coverage guard: a tests/e2e/*.test.cjs that is neither listed nor excluded fails CI.
  • CLAUDE-index.md is generated by scripts/claude-index.cjs and checked by tests/unit/claudeIndex.test.js. It gives the line of every section, entry and bold sub-entry of the 7,000-line CLAUDE.md, which an agent only ever sees the start of. CLAUDE.md now points at the index in its first lines.
  • RELEASING.md gets a new step, "Record the release's known reds".

Gates: vitest 211 files / 2613 tests; svelte-check 298/39 (baseline 299/39, not ratcheted); battery-desk.cjs coverage passes.

🤖 Generated with Claude Code

AlexZ005 and others added 7 commits October 24, 2026 11:03
…gerprints, release baselines, flake log, coverage guard

scripts/ci/battery-desk.cjs runs tests/e2e/battery.json the way an integrator does (one half per e2e
slot, the self-hosted / production-host / modules-flight cases from data), reruns every red once at the
end of its half, fingerprints each failed check, saves a per-tag baseline and diffs a union run against
it (pre-existing / flaky / NEW). battery.json gains modules, desk and exclude; the 1.43 battery's extra
suites join as optional on runners. tests/unit/batteryDesk.test.js: every e2e file is listed or excluded.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…isten on ::1 only); BATTERY_COMMIT names a snapshot

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… sub-entry of CLAUDE.md with its line

CLAUDE.md is ~7,000 lines and an agent is shown only its start; the index (generated by
scripts/claude-index.cjs, checked by tests/unit/claudeIndex.test.js) is what to grep first.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… desk run, so it can be diffed

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…it archive + .env + certs + the desk tool

A v1.42.0 archive without the gitignored .env ran on the public PeerJS cloud: 67/228 suites red on the PC
slot (two-peer 'could not fill the peer id'), no boot at all on the Deck.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…w (a later rerun overwrites the logs); RELEASING: the union's own battery as the tag's baseline when no pc run

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@AlexZ005
AlexZ005 merged commit 3d2e146 into feat/60 Oct 25, 2026
8 of 9 checks passed
@AlexZ005
AlexZ005 deleted the feat/pipeline-1 branch October 25, 2026 18:37
@AlexZ005

Copy link
Copy Markdown
Collaborator Author

In main via 60-int: released in v1.44.0 (#476).

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