Scope
Initialize Phase 1 for making Noetica installable and runnable on macOS and Linux without coupling service supervision to Homebrew.
Corrected operating assumptions
- Homebrew is an installer/distribution path for the Mac workstation and developer bootstrapping.
- Homebrew must not be treated as the canonical service supervisor.
- Noetica should provide its own CLI entrypoint and lifecycle commands, similar in spirit to Codex / Claude Code style foreground operation.
- Long-running service mode must use OS-native supervision:
- macOS:
launchctl / LaunchAgent plist
- Linux / SourceOS:
systemd --user, systemd unit, or Quadlet where containerized
- Agent Machine remains the local runtime substrate for local providers/workers, but Phase 1 should not require live Agent Machine provider activation.
- AgentTerm is not on the critical path for Phase 1.
- Prophet Mesh in GCP is deferred until after Noetica install/provider abstraction works against external test providers such as GPT/Claude.
Phase 1 target
brew install SourceOS-Linux/tap/noetica should install a coherent Noetica workstation package that can be run in foreground or registered with OS-native service control.
Initial commands should include:
noetica version
noetica doctor
noetica configure
noetica start
noetica open
noetica smoke
noetica service install
noetica service start
noetica service status
noetica service stop
noetica service uninstall
noetica service ... must call through to the platform-native service adapter, not Homebrew services.
Required implementation plan
- Add a Phase 1 install architecture document in
docs/architecture/noetica-workstation-install-phase-1.md.
- Add a small CLI wrapper or launcher contract for Noetica lifecycle commands.
- Add macOS LaunchAgent template generation.
- Add Linux systemd user unit template generation.
- Add config path discipline:
- macOS/Linux user config:
~/.config/sourceos/noetica/config.json
- user state/logs under SourceOS-aligned user-state paths.
- Add provider config for external test providers first:
- OpenAI-compatible route
- Anthropic/Claude route
- placeholder SourceOS route
- placeholder Agent Machine route
- Add
noetica doctor checks:
- Node runtime present
- Noetica build present
- config present/valid
- external provider key present or explicitly absent
- Agent Machine installed or absent
- SourceOS route configured/unconfigured
- Add
noetica smoke using external provider or dry-run mode.
- Add Homebrew formula only after lifecycle contract is explicit.
Acceptance criteria
- Homebrew installs Noetica files and the
noetica CLI.
- Running
noetica start starts Noetica in foreground without service registration.
- Running
noetica service install writes the correct OS-native service definition.
- Running
noetica service start/status/stop uses launchctl on macOS and systemctl --user or SourceOS-compatible control on Linux.
- Noetica works with external GPT/Claude test providers before Prophet Mesh exists.
- Noetica does not require AgentTerm.
- Noetica detects Agent Machine but does not fail if Agent Machine is bootstrap-only.
- Prophet Mesh remains Phase 5 / later-provider work, not Phase 1.
Non-goals
- Do not use
brew services as the canonical service abstraction.
- Do not require Prophet Mesh for first install.
- Do not require live Agent Machine provider activation for Phase 1.
- Do not include AgentTerm in the default install path.
- Do not add unrestricted memory persistence or policy bypasses.
Scope
Initialize Phase 1 for making Noetica installable and runnable on macOS and Linux without coupling service supervision to Homebrew.
Corrected operating assumptions
launchctl/ LaunchAgent plistsystemd --user, systemd unit, or Quadlet where containerizedPhase 1 target
brew install SourceOS-Linux/tap/noeticashould install a coherent Noetica workstation package that can be run in foreground or registered with OS-native service control.Initial commands should include:
noetica service ...must call through to the platform-native service adapter, not Homebrew services.Required implementation plan
docs/architecture/noetica-workstation-install-phase-1.md.~/.config/sourceos/noetica/config.jsonnoetica doctorchecks:noetica smokeusing external provider or dry-run mode.Acceptance criteria
noeticaCLI.noetica startstarts Noetica in foreground without service registration.noetica service installwrites the correct OS-native service definition.noetica service start/status/stopuseslaunchctlon macOS andsystemctl --useror SourceOS-compatible control on Linux.Non-goals
brew servicesas the canonical service abstraction.