This commit is contained in:
@@ -126,11 +126,35 @@ services:
|
||||
LISTEN_ADDR: ":8083"
|
||||
CORE_RUNTIME_URL: http://core-runtime:8080
|
||||
LOCAL_CPU_PROVIDER_URL: http://docker.cin.su:18082/v1
|
||||
LOCAL_LIFEBOAT_PROVIDER_URL: ${LOCAL_LIFEBOAT_PROVIDER_URL:-}
|
||||
LOCAL_LIFEBOAT_PROVIDER_URL: http://cognitive-lifeboat:8086/v1
|
||||
LOCAL_GPU_PROVIDER_URL: http://192.168.220.91:11434
|
||||
COGNITIVE_OWNER_PRINCIPAL_ID: domovoy-creator-principal
|
||||
COGNITIVE_ALLOW_CANARY: "true"
|
||||
depends_on: [core-runtime]
|
||||
depends_on: [core-runtime, cognitive-lifeboat]
|
||||
|
||||
cognitive-lifeboat:
|
||||
image: ghcr.io/ggml-org/llama.cpp:server
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- --host
|
||||
- 0.0.0.0
|
||||
- --port
|
||||
- "8086"
|
||||
- --model
|
||||
- /models/qwen2.5-0.5b-instruct-q4_k_m.gguf
|
||||
- --alias
|
||||
- domovoy-lifeboat
|
||||
- --jinja
|
||||
- --ctx-size
|
||||
- "8192"
|
||||
- --n-gpu-layers
|
||||
- "0"
|
||||
- --threads
|
||||
- "4"
|
||||
- --parallel
|
||||
- "1"
|
||||
volumes:
|
||||
- llm_local_models:/models:ro
|
||||
|
||||
creator-web:
|
||||
build: { context: .., dockerfile: deploy/images/runtime.Dockerfile, args: { TARGET: creator-web, SOURCE_REVISION: "${ASSISTANT_SOURCE_REVISION:-unknown}" } }
|
||||
@@ -159,3 +183,6 @@ volumes:
|
||||
external: true
|
||||
assistant_notification_reader_secret:
|
||||
external: true
|
||||
llm_local_models:
|
||||
external: true
|
||||
name: llm-local-models
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
"architecture_revision": "DEV-000073-baseline",
|
||||
"base_repo_revision": "0a2599cfa6255f1a98856d2fd09dc51a2119f525",
|
||||
"risk_tier": "C",
|
||||
"intent": "Keep Domovoy alive and conversational when the primary cognitive channel is unavailable by supporting an optional local Lifeboat provider and an honest deterministic degraded mode.",
|
||||
"intent": "Keep Domovoy alive and conversational when the primary cognitive channel is unavailable by running a small local Lifeboat provider and retaining an honest deterministic degraded mode.",
|
||||
"requirement_ids": [
|
||||
"Primary cognitive settings remain confirmation-controlled while healthy",
|
||||
"Unavailable primary cognition exposes a human-readable degraded mode instead of killing chat",
|
||||
"An optional small local-only provider can serve as the Lifeboat through the existing Cognitive Gateway",
|
||||
"A small local-only provider can serve as the Lifeboat through the existing Cognitive Gateway",
|
||||
"The core can still accept and explain configuration requests when all model providers are unavailable"
|
||||
],
|
||||
"allowed_change_scope": {
|
||||
@@ -50,12 +50,12 @@
|
||||
],
|
||||
"side_effects_and_privileges": ["No new privilege", "No external egress", "No direct provider call from Core", "No configuration mutation from browser chat"],
|
||||
"persistence_and_migrations": ["No migration", "Existing conversation and capability observations only"],
|
||||
"failure_retry_restart": ["Provider absence falls back to the deterministic core reply", "Optional Lifeboat configuration is disabled when its URL is empty", "Restart reconstructs the provider registration from environment"],
|
||||
"assumptions": ["The optional Lifeboat endpoint implements the existing OpenAI-compatible local adapter contract", "Capability discovery/promotion remains the existing authorized path", "No real test secrets are in scope for this task"],
|
||||
"failure_retry_restart": ["Provider absence falls back to the deterministic core reply", "The Lifeboat container restarts independently from the primary model runtime", "Restart reconstructs the provider registration from environment"],
|
||||
"assumptions": ["The Lifeboat endpoint implements the existing OpenAI-compatible local adapter contract", "Capability discovery/promotion remains the existing authorized path", "No real test secrets are in scope for this task"],
|
||||
"acceptance_scenarios": [
|
||||
"Primary unavailable message says Domovoy remains alive and can help recover",
|
||||
"Configuration request in degraded mode no longer falsely requires the primary model",
|
||||
"Optional Lifeboat provider is registered only when LOCAL_LIFEBOAT_PROVIDER_URL is configured",
|
||||
"Production Lifeboat container exposes the configured small local model through the existing gateway adapter",
|
||||
"Chat status distinguishes primary unavailable from Domovoy unavailable",
|
||||
"Healthy mode keeps confirmation/console wording"
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user