Context
During the Antigravity boot sequence and orchestrator daemon startup, several child processes failed with exit code 1 or went into restart loops. This instability was detected in ai:orchestrator logs.
The Problem
ProcessSupervisorService spawns child processes with stdio: 'ignore'. This hides stderr, making child process failures completely opaque and unrecoverable for post-mortem analysis.
- The
mlx task definition uses --model gemma4:31b which is Ollama-format, but mlx_lm.server expects a valid HuggingFace repository ID or local path. This causes the mlx inference server to crash and restart every ~15s.
- The Memory Core Chroma instance (port 8001) is not managed by the orchestrator daemon, meaning if it's down, dependent tasks (like
kbSync, backup, summary) fail on boot in a cascading chain until manually started.
The Architectural Reality
ai/daemons/services/ProcessSupervisorService.mjs line 207 spawns the child with {stdio: 'ignore'}.
ai/daemons/TaskDefinitions.mjs line 54 defines the mlx task with the incorrect model argument.
The Fix
- Update
ProcessSupervisorService.mjs to pipe or inherit stdio (e.g., ['ignore', 'pipe', 'pipe']) and explicitly handle logging child stderr to writeLog_.
- Correct the
mlx task model argument in TaskDefinitions.mjs to a valid HuggingFace repo ID (e.g., google/gemma-2-27b-it or appropriate for the local environment).
- Add Memory Core Chroma to the orchestrator
TaskDefinitions so it gets managed alongside KB Chroma.
Acceptance Criteria
Out of Scope
- Major refactoring of the ProcessSupervisor logic beyond fixing the logging visibility.
Origin Session ID
Origin Session ID: 188acb85-b41e-435c-94ee-0cc9944d4c97
Context During the Antigravity boot sequence and orchestrator daemon startup, several child processes failed with
exit code 1or went into restart loops. This instability was detected inai:orchestratorlogs.The Problem
ProcessSupervisorServicespawns child processes withstdio: 'ignore'. This hidesstderr, making child process failures completely opaque and unrecoverable for post-mortem analysis.mlxtask definition uses--model gemma4:31bwhich is Ollama-format, butmlx_lm.serverexpects a valid HuggingFace repository ID or local path. This causes the mlx inference server to crash and restart every ~15s.kbSync,backup,summary) fail on boot in a cascading chain until manually started.The Architectural Reality
ai/daemons/services/ProcessSupervisorService.mjsline 207 spawns the child with{stdio: 'ignore'}.ai/daemons/TaskDefinitions.mjsline 54 defines themlxtask with the incorrect model argument.The Fix
ProcessSupervisorService.mjsto pipe or inheritstdio(e.g.,['ignore', 'pipe', 'pipe']) and explicitly handle logging childstderrtowriteLog_.mlxtask model argument inTaskDefinitions.mjsto a valid HuggingFace repo ID (e.g.,google/gemma-2-27b-itor appropriate for the local environment).TaskDefinitionsso it gets managed alongside KB Chroma.Acceptance Criteria
ProcessSupervisorServicecaptures and logs child processstderron failure.mlxinference server starts successfully without looping.Out of Scope
Origin Session ID Origin Session ID: 188acb85-b41e-435c-94ee-0cc9944d4c97