You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Umbrella for completing the facade cold-start sequence — deriving the session identity and key material at login and assembling the live session behind the Engine::start surface.
Context
Engine::start is currently the frozen facade skeleton (#623 scaffolded it; lib.rs / facade.rs note that "the full cold-start sequence … lands with the pipeline slices"). It authenticates and wires background work, but it does not yet derive the session identity/key material or assemble the live-session data paths. #739 (Closes #697) wired the liveness re-PUT loop into start but had to defer every piece that needs derived session key material or the live resolve path — see the dependent issues below.
web: give the wallet method a started-engine surface #938 — the wallet method cannot obtain a SIWE nonce over a dormant API client; the engine worker's ApiClient runs with an empty base URL until this slice's auth/config surface wires the real one.
Remaining work (after #789 landed #748/#751/#750): the live-session resolve-tick driver
#789 landed the facade reads/command/events (#748), the held-record population logic (#751), and the EOL-renewal pass (#750) — all test-proven but dormant until a production driver populates the held set. This umbrella stays open for that live-session wiring:
Spawn the production resolve-tick loop (focus-window polling) that calls resolve_and_hold so the held set is populated from live resolves in start().
API base-URL config: the loop's ApiClient is currently built with an empty base URL (harmless while dormant). Wire the real API base (part of the auth/config surface, still Unimplemented) so EOL republication actually publishes.
Write-seed plumbing: resolve_and_hold needs the unsealed write_scope_seed in HeldMaterial, but the Adopted resolve outcome does not yet carry it — thread it through the resolve/gate path.
Surface renewal outcomes: the liveness loop currently drops eol_renew_pass's Vec<EolRenewResult> (marked #[must_use] in feat(engine): wire the facade cold-start pipeline and live resolve-tick driver #789 with an explicit call-site suppression), so a LostRace/PublishError is computed but invisible. When this driver wires the held set live, surface those (Event / dead-letter / retry) so a name can't silently lapse toward EOL.
Umbrella for completing the facade cold-start sequence — deriving the session identity and key material at login and assembling the live session behind the
Engine::startsurface.Context
Engine::startis currently the frozen facade skeleton (#623 scaffolded it;lib.rs/facade.rsnote that "the full cold-start sequence … lands with the pipeline slices"). It authenticates and wires background work, but it does not yet derive the session identity/key material or assemble the live-session data paths. #739 (Closes #697) wired the liveness re-PUT loop intostartbut had to defer every piece that needs derived session key material or the live resolve path — see the dependent issues below.Scope
The cold-start sequence, end to end:
Ed25519Signers, writer pseudonym signers — the seeded per-scope derivation with key-regression epochs.Dependencies
Depends on (upstream):
Engine::startsurface (merged).Blocks
ApiClientruns with an empty base URL until this slice's auth/config surface wires the real one.Notes
Part of the v2 build (
v2-build), tracked in #655.Remaining work (after #789 landed #748/#751/#750): the live-session resolve-tick driver
#789 landed the facade reads/command/events (#748), the held-record population logic (#751), and the EOL-renewal pass (#750) — all test-proven but dormant until a production driver populates the held set. This umbrella stays open for that live-session wiring:
Spawn the production resolve-tick loop (focus-window polling) that calls
resolve_and_holdso the held set is populated from live resolves instart().API base-URL config: the loop's
ApiClientis currently built with an empty base URL (harmless while dormant). Wire the real API base (part of the auth/config surface, stillUnimplemented) so EOL republication actually publishes.Write-seed plumbing:
resolve_and_holdneeds the unsealedwrite_scope_seedinHeldMaterial, but theAdoptedresolve outcome does not yet carry it — thread it through the resolve/gate path.Surface renewal outcomes: the liveness loop currently drops
eol_renew_pass'sVec<EolRenewResult>(marked#[must_use]in feat(engine): wire the facade cold-start pipeline and live resolve-tick driver #789 with an explicit call-site suppression), so aLostRace/PublishErroris computed but invisible. When this driver wires the held set live, surface those (Event / dead-letter / retry) so a name can't silently lapse toward EOL.