v0.5.0: the nightly gated release — oo-appserver-release.timer and release --only-if-loaded #9
Loading…
Reference in a new issue
No description provided.
Delete branch "oss-oo/nightly-release"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
v0.5.0 — the nightly gated release
Owner's word (2026-10-28, "lessegooo"): a nightly gated
oo-appserver releaseas memory and lock hygiene, and the launcher runs the same gated release before a fallback launch (OO_APPSERVER=0, dotfiles — separate commit after this ships).What ships
--only-if-loaded(with--heal-only --release): the release becomes a no-op (not-needed,reason: nothing-loaded) when the shared server holds no thread, and never opens a stopped server (door-closed-nothing-loaded); when a thread is loaded the usual gate decides (app not attached, no connected client, no busy thread) and restarts. The loaded list is read strictly with one short connection — an error reply, a reply of the wrong shape, a dead connection, or a closed door while the unit is still active (a hung server keeps its loaded threads and their locks) hand over to the normal gate, exactly as a plainreleasewould.systemd/oo-appserver-release.service(oneshot,--from nightly-release --json;SuccessExitStatus=1, because a skipped release — app attached, client connected, busy thread — is a normal night, not a failure; a restart that left the door shut exits 5 and shows as a failed unit) andoo-appserver-release.timer(OnCalendar 04:30,RandomizedDelaySec 20min,Persistent=true). The installer installs both and enables the timer only; CI verifies both units.nightlystatus line (timer state incl. "not-installed", next and last run), doctor info when the timer is not enabled;--dry-runwith--only-if-loadedsays what the night would do; README: Parts, the release section, exit codes, the known-gaps memory backlog closed.systemd-analyze verify --useron all four units exit 0; dry install shows both files and the timer enable.Review
Fresh read-only subagent on
5360298(suite, unit verify, dry install, throwaway probes with error/non-list replies and a missing timer): 1 should-fix (an error reply from the loaded list read as "nothing loaded" → the launcher's lock-out cure silently skipped), 2 low (a hung server with a closed door was a no-op instead of the gate; exit 1 shared by skip and heal-failed), 2 nits (dry run ignored the flag; "?" for a missing timer) — all folded in98bc7aa. Re-check of the delta: "mergeable as is" (suite 111 run by the reviewer, all four units verify, dry install); its README nit (exit-code wording) folded incc975bf. CI green on every commit (runs 41–43). Review texts:v050-review/in the evidence folder.🤖 Generated with Claude Code
release --only-if-loaded