Skip to content

Release Gates

Lu-Fi edited this page Oct 27, 2026 · 2 revisions

Release gates

Since 2026-10-26 the rules for the next releases are machine-readable (docs/status/release.yaml in OpenIMP next) and the generated feature matrix shows their state. The user decision behind them: a release is not a date, it is a state that is measured.

Where to look:

  • Generated matrix with the gate section: https://lu-fi.github.io/openimp/feature-matrix.html (hover or click a cell for state, evidence and issue) and docs/FEATURE_MATRIX.md in the repository.
  • Project board: https://github.com/users/Lu-Fi/projects/1 (gaps, bugs and progress are public GitHub issues in Lu-Fi/openimp; milestones RC3 and Release 1; an open issue labelled type:wip is a construction sign in the matrix). Tracking issue: #107.
  • Rule files: docs/status/release.yaml (gates), docs/status/features.yaml (45 features x SoCs), docs/status/issues.json, docs/status/soak.json; make status-check validates them.

Gate SoCs

T10, T20, T21, T23, T31, T40, T41. T30 (no camera), T32 and T33 are not part of RC3 or Release 1.

RC3

Every vendor function that a streamer (timps, prudynt, raptor) calls works on every gate SoC. "Works" means the API matrix cell is dev, dev+, run, rt or a vendor no-op that OpenIMP matches (see Testing for the evidence levels). The streamer call sets are the "Used by" data of docs/api_evidence.json; fleet runs are in docs/api_run.json.

State of next on 2026-10-27 (generated): 1787 of 1787 streamer-function cells work, 0 missing: the RC3 gate is GREEN.

SoC works missing
T10 228/228 0
T20 228/228 0
T21 252/252 0
T23 290/290 0
T31 319/319 0
T40 217/217 0
T41 253/253 0

RC3 is not tagged yet. Next steps: build an RC3 candidate image, run it for one night of soak, then tag RC3. Some cells count as working at the evidence level "API round trip" (for example DMIC_* on T31, T40 and T41) or as a matched vendor no-op; the matrix shows which. The ISP bypass is one of the matched cases: on T10, T20, T21, T23 and T31 SetISPBypass(ENABLE) (full ISP, the streamer's start-up call) is a no-op returning 0 and DISABLE (the real bypass) is refused with -1 like the vendor T21 library (issues 119 and 126); on T41 Set 0 works and Set 1 is refused with -1 (issue 125). A working real bypass is issue 129.

Release 1

RC3 is green (reached) and published (tag), and the image built from that tag then runs for at least 14 days without a reset on the fleet:

  • at least 1 camera per gate SoC reaches the 14 stable days (a SoC is as good as its best camera),
  • 0 unplanned reboots and 0 kernel oopses in the counted window,
  • a reset is an unplanned reboot, an oops or a new image, and restarts the counter,
  • planned flashes and tests are excluded only if the camera's status log marks the line as "planned".

Release 1 = RC3 tag + 14 days on the fleet. The 14-day counter starts only when RC3 is published. State on 2026-10-27: not started (0 of 7 SoCs). The soak data is refreshed daily (make status-soak).

How a user can help

Run the device test app on a camera of your SoC (Testing) and attach apitest.json to an issue: a PASS on a camera turns a cell from "implemented, not device-tested" into evidence.

Clone this wiki locally