docs(skills): add burn-in lessons from the 2026.08.1 soak - #3284
Merged
vpetersson merged 2 commits intoAug 14, 2026
Conversation
- testbed-qa: new "Burn-in / pre-release soak" section covering the rotating-playlist check, full asset-type coverage, not deviating from shipping config, the advisory-only lockfile, ELF-verified core-dump sweeps, the ssh/stdin loop traps, and guarded destructive tests - testbed-qa: mention burn-in in the frontmatter so it is discoverable - cut-release: add the burn-in gate while the release is still a draft Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds burn-in/soak guidance to the hardware testbed QA runbook and wires it into the release-cut checklist so pre-release validation is performed (and reported) before a tag/OTA is published.
Changes:
- Add a new “Burn-in / pre-release soak” section to the
testbed-qaskill with concrete, experience-derived burn-in rules and pitfalls. - Insert a “5b” burn-in gate into
cut-releaseto run the soak while the GitHub release is still a draft, and clarify which commit hash should be soaked.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .claude/skills/testbed-qa/SKILL.md | Adds a dedicated burn-in/soak section and renumbers the per-board quirks section accordingly. |
| .claude/skills/cut-release/SKILL.md | Adds a draft-stage burn-in gate referencing the new testbed-qa section and commit selection guidance. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (1)
.claude/skills/testbed-qa/SKILL.md:272
- The burn-in guidance hardcodes the Docker bridge gateway as
172.18.0.1, but Docker’s bridge gateway can vary by network/subnet (the code generally treats the bridge range as172.16.0.0/12). Hardcoding a single IP here may mislead readers when they compare access logs on different hosts.
holder while the lockfile still read the holder's id, untouched. All API writes
arrive from the docker bridge gateway (`172.18.0.1`), so the server access log
cannot attribute them to a session. Consequence: a finding was published and had
vpetersson
approved these changes
Aug 14, 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.



Issues Fixed
No issue. Captures hard-won lessons from the 2026.08.1 pre-release burn-in so the next one does not repeat them.
Description
Adds a Burn-in / pre-release soak section to
testbed-qa, plus a burn-in gate incut-release. Every rule below is here because it actually bit during the 2026.08.1 soak:coreon the fleet is a jsonschema vocabulary JSON, so afind -name 'core*'sweep reports ~100 phantom dumps per board and a-deletewould strip package files out of the image layers. Also: Rock Pi 4 setscore_uses_pid=0, so its dumps are a barecoreand acore.<pid>sweep skips it.sshin awhile readloop eats the loop's stdin and the loop runs once, silently processing only the first board; converselyssh -nbreaksssh 'bash -s'script piping (empty script, exits 0, looks like a pass).cut-releasegains a step 5b placing the burn-in while the release is still a draft (a blocker then costs a deleted draft, not a published tag and a fleet OTA), and notes which commit is the correct soak target.Docs only. No code paths touched. Section 6 renumbered to 7, cross-references updated.
Checklist