Commit Graph

3 Commits

Author SHA1 Message Date
mosaic-coder
26a2de41f6 fix(wake): #913 installer adoption gaps — _lib dep-check fail-loud + mosaic-wake.service systemd-search-path link+validate
Some checks failed
ci/woodpecker/pr/ci Pipeline was canceled
Two non-blocking wake-canon adoption gaps surfaced by the dragon-lin pilot in
the A10 component installer (wake-install.sh). Both fixes are ADDITIVE per #869:
framework-manifest.txt ownership, the install-ordering-guard, and the bash/TS
manifest parity contract are all UNCHANGED.

(a) DEP-CHECK — wake-install.sh sourced the shared framework-manifest reader
(_lib/manifest.sh) unconditionally, so an older host seed that predates that
helper aborted with a bare, obscure `source: No such file or directory`. It now
checks the library FIRST and FAILS LOUD naming the missing file + the remedy
(re-seed the framework, then retry --component wake). The dependency is genuinely
required (Gate A cannot be skipped on an enforcement path), so it fails loud
rather than degrading.

(b) SYSTEMD SEARCH PATH — wi_install copies mosaic-wake.service under mosaic
home (systemd/user/, framework-owned) but `systemctl --user` searches
~/.config/systemd/user/, so the unit was invisible and could not be
enabled/started. install now LINKS the unit into the user systemd search path
(symlink -> the mosaic-home SSOT copy, so upgrades propagate) and post-install
VALIDATES it resolves (search-path entry exists, dereferences to a readable,
well-formed unit; an opportunistic `systemctl --user cat` probe runs only behind
a guard, since the installer may run where no user manager is live). Both steps
are idempotent (a re-install neither duplicates nor breaks the link). #869
ADDITIVE: the link target lives OUTSIDE mosaic home, so it is not a
framework-manifest path — ownership of the SSOT unit stays systemd/** in the
single framework-manifest.txt authority; NO new owned path, NO second authority.

Red-first: test-wake-install.sh gains I9 (a: missing _lib/manifest.sh fails loud
naming dep + remedy, not a bare source error; positive control installs) and I10
(b: install links the unit into the search path + validate resolves; negative
control catches a not-in-path unit; idempotent re-install). Both go RED against
the prior code and GREEN after. Wake component manifest.txt bumped 0.6.6 -> 0.6.7
(VERSION metadata only).

Closes #913
Part of #892

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0158NZqN2n2ymKFeJAZ4GUCb
2026-07-26 07:15:43 -05:00
712c770b7a fix(wake): #912 exercise the digest/HMAC trust suite in real CI (fix runner divergence + openssl + hard-require) (#921)
All checks were successful
ci/woodpecker/push/ci-image Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: jason.woltje <jason@diversecanvas.com>
Co-committed-by: jason.woltje <jason@diversecanvas.com>
2026-07-26 08:11:28 +00:00
2378665eaf feat(wake): W7 A10 idempotent installer + mosaic-wake.service (component-manifest, Gate-A, blank-reset retire, snapshot-guard, fail-closed install-validate) (#911)
All checks were successful
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <jason@diversecanvas.com>
Co-committed-by: jason.woltje <jason@diversecanvas.com>
2026-07-26 04:19:09 +00:00