mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-03 18:45:07 +08:00
f629ff25fa
The install→restart→wire "phases" aren't a driver concern; they're directives in document order. Restart is a run, placed between the install/credentials and the wiring, and the engine already runs directives top-to-bottom — so no phase orchestration is needed. - effect:restart: a run whose body restarts the service and waits for the ncl socket so a following wiring directive doesn't race it. New helper setup/lib/restart.sh (platform-aware restart + best-effort socket wait; the engine execs each body line separately, so one self-contained script). - ApplyOptions.skipEffects: run effects the CALLER owns and performs itself are skipped (not executed). A standalone /add-slack runs the restart; a headless rebuild or a setup that restarts once at the end passes ['restart'] and it's skipped. The declarative form of applyProviderSkill's isFlowOwnedCommand. add-slack now carries the restart between Credentials and the wire, so the whole flow is one self-contained ordered directive sequence. Dry-run: standalone runs the restart, a flow caller skips it — both fully apply, both wire. 604 pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>