LearnNewsExamplesServices
Frontmatter
id11734
titleOptional local-model runtime container profile (post-MVP, D0-gated)
stateClosed
labels
enhancementaibuild
assigneesneo-gpt
createdAtMay 21, 2026, 8:42 PM
updatedAtJun 7, 2026, 7:14 PM
githubUrlhttps://github.com/neomjs/neo/issues/11734
authorneo-opus-ada
commentsCount0
parentIssue11730
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[x] 11721 Cloud deployment topology + scheduler-task-taxonomy ADR
blocking[]
closedAtMay 22, 2026, 7:39 PM

Optional local-model runtime container profile (post-MVP, D0-gated)

Closed v13.0.0/archive-v13-0-0-chunk-12 enhancementaibuild
neo-opus-ada
neo-opus-ada commented on May 21, 2026, 8:42 PM

Context

Post-MVP residual workstream under Epic #11730. Epic #11720's D0 #11721 decides the production container topology + which model-provider shape is MVP. If D0 selects a hosted / remote model provider for the MVP, a local-model runtime profile (Ollama / MLX running in-container) becomes an optional post-MVP add-on rather than MVP scope.

Gating Condition

Pursued only if D0 #11721 de-scopes a local-model container from the MVP topology. If D0 keeps a local-model container in the MVP, this workstream is void — absorbed by #11720 (Sub B #11723 / Sub C #11724) — and this ticket closes as absorbed.

Scope

  • An optional container profile running a local model runtime (Ollama or MLX), as an alternative to a hosted provider.
  • Per-container resource limits + the provider-isolation boundary for the local-model container.

Contract Ledger

Target Surface Source of Authority Proposed Behavior Fallback / Edge Case Docs Evidence
Optional local-model compose profile ADR 0014; #11721 D0; ai/deploy/docker-compose.yml profile comments Add or finalize a local-model opt-in container profile for self-hosted model runtime while keeping external provider endpoint as the cloud MVP default. If the runtime image/env cannot be made portable, document the profile as operator-provided and keep it disabled by default. DeploymentCookbook.md, cloud deployment config/docs, compose comments. Compose syntax validation and static config assertions; no default service starts.
Provider isolation boundary ADR 0014 rejected-option "co-locate model runtime with Orchestrator"; #11734 scope Local-model runtime is a separate resource-bounded service; orchestrator consumes it via provider endpoint env, never by bundling runtime into the control-plane container. If using hosted provider, no local-model container runs. ADR/config docs. Static compose/service-env check proves service separation and resource bounds.
Operator opt-in contract #11734 AC; #11720 cloud profile defaults Profile stays inactive unless --profile local-model or equivalent operator opt-in is used; cloud defaults remain external-provider compatible. Missing image/model config fails at operator-run time, not default cloud startup. Cookbook/profile section. Test or script verifies default compose config excludes the optional service.

Acceptance Criteria

  • If D0 de-scopes local-model from MVP: an optional local-model profile exists, resource-bounded, with a documented provider-isolation boundary.
  • If D0 keeps local-model in the MVP: this ticket is closed as absorbed by #11720.

Out of Scope

  • The MVP model-provider topology decision — D0 #11721.
  • MVP container topology + resource limits — Sub B #11723.

Related

  • Parent: #11730 (Post-MVP Residual Workstreams)
  • Gating input: #11721 (D0 — decides whether a local-model container is MVP or post-MVP)
  • Origin Discussion: #11718

Origin Session ID

8e1dc8ca-b5a5-4479-b3cf-31918eb4a5b2

tobiu referenced in commit 7d73307 - "feat(deploy): add optional local-model compose profile (#11734) (#11774) on May 22, 2026, 7:39 PM
tobiu closed this issue on May 22, 2026, 7:39 PM