One DeviceCore owns product lifecycles across board, simulator and web. Platform executors perform bounded work and return typed results. DC1–DC7 and the domain ownership cutovers are complete; board staging already uses RideExec. Program order is in #1448.
Remaining implementation
Runtime store convergence
Maps in simulator and web, plus browser routes, use the shared flat store. Native routes and trips share that card through #1702. Native recording is complete in #1713 / #1718, merged as d00ea1cb after independent review and green CI. Browser recording is complete in #1720 / #1723, merged as 80241949 after review, actual browser Save/reset checks and green CI. Samples and finalized IDs now resolve on the same memory card. Browser trips are explicitly absent; adding demo content is not a convergence requirement. Persistent Unix HostStore create/open is complete in #1682 / #1684; Windows creation still needs a directory-durability contract.
Refine bounded children by object kind under this epic, with client acceptance in #1392. Runtime policy must use the common store; files may remain at import/export boundaries. Define host-card lifetime, reopen and reset behavior. Preserve full StoreId/ObjectId/Revision identity, atomic replacement, read-lease lifetime and explicit I/O failure.
Shared Save draining is complete in #1706 / #1709. Accepted-boundary checkpoint context and typed checkpoint support are complete in #1712 / #1714. Native #1713 / #1718 supplies real journal, resume, statistics and continuation context through the same card owner. Tests cover failed open, append, journal, finalization, recovery confirmation and exact damaged deletion. A real process trace confirms Continue/Save and a second reopen preserve the exact object, samples, UTC start and sensor totals, including when optional GPX export fails. Browser conversion is complete in #1720 / #1723: real journal and saved samples, truthful memory-only checkpoint status and acknowledged reset cleanup. Actual browser runs preserve saved rides across resets and lose the page-local card on reload. R4 durability and retention policy belong to #1398.
ForgetBond
Typed removal and the residual mailbox deletion are complete through #1678 / PR #1679. DeviceCore owns one token, explicit refusal, terminal matching and manual retry. The board confirms the RRAM write before it removes host keys; disconnect during a storage-lock wait retains the request. The UI distinguishes errors and unconfirmed controller cleanup.
Remaining: the pinned BLE library queues controller resolving-list cleanup and exposes no completion receipt. Live acknowledged cleanup needs radio-wide idle coordination; the current UI asks for a restart instead of claiming full completion. Physical paired-phone deletion, reset and failure acceptance remain open. The attached board booted with no saved bond, so its scoped run could not prove real key deletion. The separate reconnect defect remains #481.
Map and effect-delivery contracts
N5 planner parity is owned by #1400; it is a dependency here, not a second implementation plan. DeviceCore retains deletion ordering, trip cascades, cancellation, recovery and catalog policy; executor adapters must not grow those decisions again.
Close when
Use exact child scopes and current measurements. The old command-count and line-saving forecasts are retired.
Native embedded planner terrain is complete in #1719 / #1721, merged as 263c055d after review and green CI. Import and reopen use the same retained map terrain. The actual CLI trace preserves map identity and byte-identical route heights/totals after removal of the source file. Peak View keeps its existing independent cache. Unavailable route-distance presentation and bounded rounding are complete in #1722 / #1724, merged as 72fc615a after review and green CI. Real empty/unreadable routes reach Map and Statistics without a fabricated distance or arithmetic overflow.
One DeviceCore owns product lifecycles across board, simulator and web. Platform executors perform bounded work and return typed results. DC1–DC7 and the domain ownership cutovers are complete; board staging already uses RideExec. Program order is in #1448.
Remaining implementation
Runtime store convergence
Maps in simulator and web, plus browser routes, use the shared flat store. Native routes and trips share that card through #1702. Native recording is complete in #1713 / #1718, merged as
d00ea1cbafter independent review and green CI. Browser recording is complete in #1720 / #1723, merged as80241949after review, actual browser Save/reset checks and green CI. Samples and finalized IDs now resolve on the same memory card. Browser trips are explicitly absent; adding demo content is not a convergence requirement. Persistent Unix HostStore create/open is complete in #1682 / #1684; Windows creation still needs a directory-durability contract.Refine bounded children by object kind under this epic, with client acceptance in #1392. Runtime policy must use the common store; files may remain at import/export boundaries. Define host-card lifetime, reopen and reset behavior. Preserve full StoreId/ObjectId/Revision identity, atomic replacement, read-lease lifetime and explicit I/O failure.
Shared Save draining is complete in #1706 / #1709. Accepted-boundary checkpoint context and typed checkpoint support are complete in #1712 / #1714. Native #1713 / #1718 supplies real journal, resume, statistics and continuation context through the same card owner. Tests cover failed open, append, journal, finalization, recovery confirmation and exact damaged deletion. A real process trace confirms Continue/Save and a second reopen preserve the exact object, samples, UTC start and sensor totals, including when optional GPX export fails. Browser conversion is complete in #1720 / #1723: real journal and saved samples, truthful memory-only checkpoint status and acknowledged reset cleanup. Actual browser runs preserve saved rides across resets and lose the page-local card on reload. R4 durability and retention policy belong to #1398.
ForgetBond
Typed removal and the residual mailbox deletion are complete through #1678 / PR #1679. DeviceCore owns one token, explicit refusal, terminal matching and manual retry. The board confirms the RRAM write before it removes host keys; disconnect during a storage-lock wait retains the request. The UI distinguishes errors and unconfirmed controller cleanup.
Remaining: the pinned BLE library queues controller resolving-list cleanup and exposes no completion receipt. Live acknowledged cleanup needs radio-wide idle coordination; the current UI asks for a restart instead of claiming full completion. Physical paired-phone deletion, reset and failure acceptance remain open. The attached board booted with no saved bond, so its scoped run could not prove real key deletion. The separate reconnect defect remains #481.
Map and effect-delivery contracts
N5 planner parity is owned by #1400; it is a dependency here, not a second implementation plan. DeviceCore retains deletion ordering, trip cascades, cancellation, recovery and catalog policy; executor adapters must not grow those decisions again.
Close when
Use exact child scopes and current measurements. The old command-count and line-saving forecasts are retired.
Native embedded planner terrain is complete in #1719 / #1721, merged as
263c055dafter review and green CI. Import and reopen use the same retained map terrain. The actual CLI trace preserves map identity and byte-identical route heights/totals after removal of the source file. Peak View keeps its existing independent cache. Unavailable route-distance presentation and bounded rounding are complete in #1722 / #1724, merged as72fc615aafter review and green CI. Real empty/unreadable routes reach Map and Statistics without a fabricated distance or arithmetic overflow.