Deferred bugs
| Document version | Date | Summary |
|---|---|---|
| v1 | 2026-07-18 | Initial deferred bug register |
| v2 | 2026-07-24 | Record that the v0.2.0 register closed empty |
| v3 | 2026-08-01 | Record that the v0.3.0 register closed empty |
| v4 | 2026-08-04 | Record that the v0.4.0 register closed empty |
Record a bug here only when it will not be fixed in the task that discovers it. Bugs fixed immediately need a regression test and task record, but no entry in this register.
Bug identifiers are permanent and are not reused. Every open bug must link to a PBI or explicit triage decision.
Closed v0.1.0 bugs are archived in release v0.1.0. The register closed
empty, so no bug was carried forward. The v0.2.0 register is archived in
release v0.2.0, the v0.3.0 register in
release v0.3.0, and the v0.4.0 register in
release v0.4.0. All three also closed empty, so again no bug was carried
forward. The register was therefore empty when v0.5.0 was planned, so that release owns no carried
defect and its intake decision was a check rather than an assignment.
| ID | Summary | Severity | Found in | Tracking | Status | Notes |
|---|---|---|---|---|---|---|
BUG-001 | The firmware run loop iterated 10 ms slower than the pace runtime-ready announced. usleep guarantees at least the requested time and wakes on a scheduler tick boundary, so a request of exactly N ticks wakes just short of the target and the SDK adds one more tick | Low | PBI-116 device run, 2026-08-07 | PBI-110, PBI-112 | Resolved | Measured from the transcript rather than inferred. Two heap readings 1800 iterations apart were 72 seconds apart against an announced 33 ms iteration, and 90 seconds apart after the constant alone was moved to 40, which is what identified the extra tick as the cause rather than the value. Resolved on 2026-08-07 by subtracting one tick in platforms/esp_idf/main/clock.c, the seam that owns the platform’s pacing, with the tick derived from CONFIG_FREERTOS_HZ and that value pinned in sdkconfig.defaults. Confirmed on the board at 72 seconds for an announced 40 ms. A 1 kHz scheduler tick was rejected because it changes the whole system for one constant |
Supported statuses are Open, In progress, Resolved, and Accepted. Severity uses Critical,
High, Medium, or Low.