Nine Fix Rounds Landed on One Live Composite Instance Without Restart or State Loss

Claim

During the development of eOS-kernellib PR #129 (2026-07-20), one running DGD instance absorbed nine rounds of interactive fixes -- spanning the demo page, the HTTP handler, the SSE broker, the inventory daemon, and the System-tier identity facade -- entirely by recompile in place, while a human tester drove the browser demo against it. No round restarted the process. Registered identities, minted agents, live bearer sessions, persisted items, audit entries, and held-open server-sent-event streams survived every daemon replacement; the tester's walk continued across all nine rounds without re-registering. One round demonstrated the safety half of the property: a daemon draft that could not compile was refused at the console and the running master kept serving its old program until corrected source compiled -- the instance is never in a broken in-between state.

Grounds

This is an Empirical Observation: direct observation of the 2026-07-20 development session, with the artifacts in public git history.

Setup: the composite browser demo (eOS-kernellib examples/composite-app/) deployed per its README browser-path recipe on a macOS development host -- DGD with the lpc-ext crypto module, native TLS on the labeled https port, a human tester in Safari. The instance booted once and ran through the whole session.

The nine rounds and their mechanisms (each a commit on the branch merged as PR #129, 24b978d through fc74f70 plus the page rounds before them):

State-intact evidence: after the inventoryd replacement, the new report code read back the item and audit counts created before the replacement (items and audit entries minted early in the tester's walk). The tester's identities and sessions continued authenticating across the identityd and authd replacements. The audit stream's server heartbeat, held open on one connection, was observed at tick #70 mid-session -- a connection whose lifetime spanned multiple daemon replacements.

The refused round: an inventoryd draft referenced a function defined later in the file (LPC resolves calls textually); the console compile refused it with the compile error and the running daemon kept serving the old program. The corrected source (PR #129 commit c7497ea) then compiled in place. The failure mode was refusal, not partial replacement.

Limits: one operator, one instance, one development host. Variable-layout preservation was exercised in the additive direction only (new variables initialized nil; existing state retained). The in-flight-request-finishes-with-old-logic half of the hot-reload claim was not directly probed -- the same caveat the single-file demonstration carries.

What Would Revise It

Sources

Relations