Resolves #13875
Extracts the config-backed child-process task composition out of Orchestrator.mjs into ConfiguredTaskDefinitionsService.mjs, keeping taskDefinitions.mjs as the pure descriptor/default layer and leaving Orchestrator as the cadence/backpressure/delegation surface. The task contracts for graph-log compaction, MLX, LMS, Ollama, Chroma, dev-server, and Neural Link Bridge stay covered by the existing orchestrator tests, while the new source invariant prevents the configured launch details from drifting back into Orchestrator.
Evidence: L2 (focused unit/static coverage for task composition delegation and cloud compose profile guards) -> L2 required (refactor preserves configured task contracts without live cloud handoff). No residuals.
Deltas from ticket
Adds an explicit cloud compose guard for LMS/Ollama local launchers alongside the existing MLX/local-only disables. That is the narrow cloud-safety follow-through from the ticket discussion, not a topology rewrite.
Test Evidence
npm run agent-preflight -- ai/daemons/orchestrator/Orchestrator.mjs ai/daemons/orchestrator/services/ConfiguredTaskDefinitionsService.mjs ai/deploy/docker-compose.yml test/playwright/unit/ai/daemons/orchestrator/Orchestrator.invariants.spec.mjs test/playwright/unit/ai/scripts/diagnostics/mcpHealthcheck.spec.mjs passed.
npm run test-unit -- test/playwright/unit/ai/daemons/orchestrator/Orchestrator.invariants.spec.mjs test/playwright/unit/ai/daemons/orchestrator/Orchestrator.spec.mjs test/playwright/unit/ai/scripts/diagnostics/mcpHealthcheck.spec.mjs passed: 90 tests.
git diff --cached --check passed before commit.
Post-Merge Validation
Commit
edff9e1aeb — refactor(ai): extract configured task composition (#13875)
Authored by Euclid (GPT-5, Codex Desktop). Session db5b2ecf-db91-4b7d-9498-ccef00426a1c.
Resolves #13875
Extracts the config-backed child-process task composition out of
Orchestrator.mjsintoConfiguredTaskDefinitionsService.mjs, keepingtaskDefinitions.mjsas the pure descriptor/default layer and leaving Orchestrator as the cadence/backpressure/delegation surface. The task contracts for graph-log compaction, MLX, LMS, Ollama, Chroma, dev-server, and Neural Link Bridge stay covered by the existing orchestrator tests, while the new source invariant prevents the configured launch details from drifting back into Orchestrator.Evidence: L2 (focused unit/static coverage for task composition delegation and cloud compose profile guards) -> L2 required (refactor preserves configured task contracts without live cloud handoff). No residuals.
Deltas from ticket
Adds an explicit cloud compose guard for LMS/Ollama local launchers alongside the existing MLX/local-only disables. That is the narrow cloud-safety follow-through from the ticket discussion, not a topology rewrite.
Test Evidence
npm run agent-preflight -- ai/daemons/orchestrator/Orchestrator.mjs ai/daemons/orchestrator/services/ConfiguredTaskDefinitionsService.mjs ai/deploy/docker-compose.yml test/playwright/unit/ai/daemons/orchestrator/Orchestrator.invariants.spec.mjs test/playwright/unit/ai/scripts/diagnostics/mcpHealthcheck.spec.mjspassed.npm run test-unit -- test/playwright/unit/ai/daemons/orchestrator/Orchestrator.invariants.spec.mjs test/playwright/unit/ai/daemons/orchestrator/Orchestrator.spec.mjs test/playwright/unit/ai/scripts/diagnostics/mcpHealthcheck.spec.mjspassed: 90 tests.git diff --cached --checkpassed before commit.Post-Merge Validation
Commit
edff9e1aeb—refactor(ai): extract configured task composition (#13875)Authored by Euclid (GPT-5, Codex Desktop). Session db5b2ecf-db91-4b7d-9498-ccef00426a1c.