Pinky X: service robustness — reboot-proof steer spawn + baked boot-start (v1.28.0) #54
Loading…
Reference in a new issue
No description provided.
Delete branch "oss-oo/pinky-x-robustness"
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?
Two defects in one service-robustness round (owner-reported after the 2026-09-26 station reboot):
S-1 — steering broken after reboot. After a reboot the user manager starts
zcode-observatory.servicewith the default PATH, which lacks~/.local/bin(where thezcode-dispatchlauncher symlink lives) — every steer died on the bareshutil.whichlookup. Fixed at BOTH layers: the unit shipsEnvironment="PATH=%h/.local/bin:…"(%h home specifier, no hardcoded username), and the steer spawn resolves the launcher through an explicit candidate order (resolve_dispatcher):ZDO_DISPATCH_BINoverride (missing override = loud error, never a silent fall-through) → absolute~/.local/bin/zcode-dispatch→ the tracked install dirs (sibling checkout,~/tools/zcode-dispatch,~/.local/share/zcode-dispatch) → bare PATH lookup last resort. The 503 refusal lists every candidate tried. Both spawn sites use it (start_steer+ fastlane delivery).S-2 — boot-start baked into install/update (owner decision 2026-09-26):
install.shrunssystemctl --user enable --nowafterdaemon-reload; the unit's outdated "deliberately NOT auto-enabled" comment is gone; README documents boot-start and the resolution order.Tests (84, +15): resolution-precedence units; a real boot-env integration rig (server under the scrubbed fresh-boot environment, free port — steer spawns via the absolute candidate, override wins); station-unit contract updated (Environment line + enablement); v1.27.0 validation follow-up F1 — the missing invalidation mutation tests (stream-history delivered flag, stream-dropped rewrite, provider-config touch, live-driver/alive-steer digest flips; each asserts the next poll reflects it).
Local gates: full suite 84/84 green; Super-Linter station recipe green (BASH, BASH_EXEC, MARKDOWN, PYTHON_PYLINT, PYTHON_RUFF, YAML); G5 CPU envelope re-check on a 120-session fixture rig: 0.72 % of one core over 22 poll cycles (pre-v1.27.0 failure mode ~170 %); fixture CDP probes green (page builds, version marker v1.28.0).