docs(agents): the firmware tree and the bench are shared, and tests can reach them - #75
Conversation
…an reach them Two hazards the rules didn't cover, both hit during the 2.8.0 soak prep. MESHTASTIC_FIRMWARE_ROOT names one checkout and every session on the machine gets the same value, so concurrent agents build in one .pio tree. PlatformIO cleans .pio/build/* when the env changes — on 2026-08-26 a finished seeed-xiao-s3 artifact was deleted by another session between build_poll reporting done and the next ls. A done build is perishable. And a unit-test run in a worktree shelled out to a real pio upload with a macOS port path and orphaned it to systemd --user; an invalid port is exactly what sends PlatformIO to auto-detect, which is what #73 fixed at the source. Recorded as an anti-pattern so the next test doesn't reinvent it. Signed-off-by: James Rich <james.a.rich@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughAGENTS.md now documents firmware-build concurrency controls and requires mocked PlatformIO upload subprocesses in tests. ChangesDevelopment Safety Guidance
Estimated code review effort: 1 (Trivial) | ~3 minutes Merge Risk: ⚪ Minimal · up to This is a docs-only change with no runtime or deployment impact; the remaining issue is a localized wording correction about explicit upload ports, so no actionable merge-blocking risk remains. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Two hazards
AGENTS.mddid not cover, both hit during 2.8.0 soak prep.One firmware tree, shared by every session.
MESHTASTIC_FIRMWARE_ROOTnames a single checkout and clients set it identically for every session and worktree on the machine, so concurrent agents build in one.piotree. PlatformIO rewritesproject.checksumand cleans.pio/build/*when the env changes — on 2026-08-26 a finished 8-minuteseeed-xiao-s3artifact was deleted by another session betweenbuild_pollreturningdoneand the nextls. Adonebuild is perishable: flash immediately.Tests can reach the bench. A unit-test run in a worktree shelled out to a real
pio run -e meshnology_w10 -t upload --upload-port /dev/cu.usbmodem1201— a macOS path on a Linux host — and orphaned it tosystemd --user. An invalid port is exactly what sends PlatformIO to auto-detect, the failure #73 fixed at the source (the 2026-08-25meshnology_w10image that boot-looped a Heltec Wireless Tracker V2). Recorded as an anti-pattern so the next test does not reinvent it.Docs only.
Summary by CodeRabbit