• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wboayue / stable-flight / 38486877469
92%

Build:
DEFAULT BRANCH: main
Ran 13 Oct 2026 11:57PM UTC
Jobs 1
Files 111
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Oct 2026 11:52PM UTC coverage: 90.018% (+0.1%) from 89.898%
38486877469

push

github

web-flow
Autotune search tunes down from a too-high start (#361) (#370)

Autotune's gain search now brings a rate loop down from a P that's too
high. On `stable-flight-sim`, `quad_x` started from rate P ×1.2, ×1.5,
×3 and ×10 now ends `Tuned` on every stage, at roll P 1.95 and pitch P
1.72–1.92. Before this change, ×1.2–1.5 ended `Kept(Worse)` and ×2 and
up ended `StageFailed(Invalid)`.

## Cause (traced on the sim)

The bracket already came down. The relay caps the search at 0.6·Ku (Ku
6.7), and the search verified P 1.95. Two other steps threw that result
away:

- **×1.2–1.5 ended `Kept(Worse)`.**
- The baseline at P 2.93 failed the criterion: overshoot 0.078 against
the 0.05 limit. But it settled in 0.068 s, because it overshoots inside
the settle band.
- The verify at 1.95 passed, with overshoot 0.032, and settled in 0.076
s.
- That's over the allowed 0.068 × 1.1 = 0.075 s, so `Acceptance` called
the result worse and kept the high P.
- **×2 and up ended `Invalid`.** Every baseline step clipped, and 3
clipped baseline steps in a row failed the stage. This happened even
though the relay had already measured Ku fine.

## Changes (`tuning/autotune/procedure/search.rs`)

1. **The verify is held to the baseline only when the baseline met the
criterion.** Otherwise it only has to meet the criterion. A start that
fails the criterion isn't a standard to stay no worse than.
2. **A baseline whose steps abort or keep clipping leaves no baseline**,
instead of failing the stage. The search carries on, and the verify must
meet the criterion. Repeated host stalls still fail the stage, and so
does an envelope breach on the baseline.
3. **A start above the search's maximum flies no baseline.** The maximum
includes the relay's 0.6·Ku cap, so this is a gain the search would
never pick. On hardware at ×10, its steps would be violent.

The docs are updated to match: the `SearchPlan`, `Acceptance` and
`Method::Search` rustdoc, `architecture.md#autotune`, and the core
CHANGELOG.
... (continued)

17 of 17 new or added lines in 2 files covered. (100.0%)

5113 of 5680 relevant lines covered (90.02%)

4.85 hits per line

Jobs
ID Job ID Ran Files Coverage
1 38486877469.1 13 Oct 2026 11:56PM UTC 111
90.02
GitHub Action Run
Source Files on build 38486877469
  • Tree
  • List 111
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38486877469
  • 9acd4ae4 on github
  • Prev Build on main (#38482244415)
  • Next Build on main (#38490852587)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc