feat(acceptance): #205 AC#6 teensy41 cold resolver <= 200 ms gate#229
feat(acceptance): #205 AC#6 teensy41 cold resolver <= 200 ms gate#229
Conversation
Closes the last unmet AC for #205. Times a single uncached fbuild_library_select::resolve() call against a real Teensyduino install (92 framework libraries) on a teensy41 Blink fixture and asserts the cold path finishes within the AC's 200 ms budget. Mirrors the inline-tempdir pattern of stm32_acceptance.rs / teensy30_acceptance.rs so nothing lands in the committed fixtures. Local Windows measurement: 11.36 ms (~17.6x headroom under the 200 ms budget). Closes #205 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Closes the last unmet acceptance criterion of #205. With this merge, all six ACs are CI-enforced and #205 can close.
AC#6 verbatim from the #205 issue body
Summary
teensy41_cold_library_selection_meets_205_ac6incrates/fbuild-build/tests/teensy41_acceptance.rsmaterializes a real Teensyduino install viafbuild_packages::library::TeensyCores::ensure_installed, lists its 92 bundled framework libraries withget_framework_libraries, and times a single uncachedfbuild_library_select::resolve(seeds, search_paths, libraries)call against a teensy41 Blink fixture.elapsed_ms <= 200.0with a clear panic message; emits the timing on stdout so the CI log records it..github/workflows/acceptance-205.ymlas a fourth matrix entry; the same workflow already covers AC#1 (teensyLC), AC#2 (teensy30 AnalogOutput), and AC#4 (stm32f103c8 SPI).stm32_acceptance.rs/teensy30_acceptance.rs— no committed fixture, no scratch artifacts in the repo.TDD walkthrough
RED — assertion mechanism proven
Temporarily tightened the threshold to
0.001 msand ran:Output:
Panic format matches the spec; the assertion mechanism works.
GREEN — restored threshold passes
Restored the threshold to
200.0and reran the same command:Measured cold time: 11.36 ms — ~17.6x headroom under the 200 ms budget. Plenty of margin for slower CI runners and growth in the Teensyduino library set.
Files changed
crates/fbuild-build/tests/teensy41_acceptance.rs.github/workflows/acceptance-205.ymlteensy41 cold resolvermatrix entry + path filter#205 AC status after this PR
.bss <= 3 KB+ no FNET/Snooze/RadioHead/mbedtlsteensylc_blink_meets_205_acceptance_criteria.dmabuffers <= 1 KBteensy30_analog_output_meets_205_ac2library-selectstm32f103c8_blink_with_spi_auto_discovers_library_205_ac4bench-fastled-examplesPhase 7teensy41_cold_library_selection_meets_205_ac6(this PR)Closes #205
Test plan
bench-205.yml/acceptance-205.ymlruns on this PR and the newteensy41 cold resolvermatrix entry passes on Ubuntu CI-D warningsclean onfbuild-build(verified locally)Generated with Claude Code