FACTUAL ACTIVITY RECORD · An activity record based on work that took place
Implementing local service lifecycle for the Connector and Runner
Installing, starting, and stopping fixed owner-only LaunchAgents with rollback on failure
Purpose
The Connector and Runner needed safe state and autostart control from Control Center instead of manual plist and launchctl administration. The boundary had to accept no arbitrary command or path and manage only fixed services for the current Mac user.
Implementation
A resident serve command in command entry starts and stops the synchronization runtime and owner-only IPC. daily execution entry adds an hourly-capable run-due entry point that performs no editorial work at this stage and exits with NO_WORK.
ControlCenterCore/local service lifecycle controller atomically installs owner-only plists from fixed templates and manages install, update, uninstall, start, stop, restart, and Auto Start. Unknown plists, unsafe links, incorrect ownership or modes, and commands outside fixed values are rejected, while failed updates restore the prior plist and launch state.
The Services screen presents the two components separately with state-aware actions and native confirmation. Swift IPC moved to a POSIX Unix socket with a real-time timeout so response waits cannot remain unbounded.
Rendering diagram…
What was confirmed
Verification results
The 43 TypeScript and 15 Swift tests and the repository-wide verification passed.
Real LaunchAgent smoke covered Runner install, manual run, NO_WORK, and uninstall, plus Connector install, manual start, IPC status, stop, and uninstall. Install alone enabled neither start nor Auto Start.
No managed plist, LaunchAgent, or temporary data remained after the test. Human Services interaction and candidate display after Connector startup remained unverified.
Basis for completion
Completion required the fixed-target lifecycle and rollback to work through a real LaunchAgent round trip and clean up completely.