CI / build (push) Has been cancelled
Self-improvement loop:
- Created via --create-loop --from-template self-improvement
- Scheduled via launchd (3600s interval)
- State: running
model-divergence-enforcement task:
- Research approved, decomposed into 3 sequential subtasks:
1. mde-manifest-detection (models.json + detect_models.py)
2. mde-interactive-enforcement (conflict matrix + --model args + audit)
3. mde-loop-enforcement (loop.json roles + {model} substitution + check-gate)
- Parent at decomposition:approved (stays active until subtasks complete)
- Each subtask has BRIEF.md with scope, deliverables, acceptance criteria
1.3 KiB
1.3 KiB
BRIEF — mde-manifest-detection
Parent: model-divergence-enforcement
Subtask: 1 of 3 (foundational, no deps)
Spec ref: tasks/model-divergence-enforcement/SPEC.md §Subtask 1
Design ref: design/framework/technical.md §§2-3
Objective
Create the model manifest system (models.json schema + loader) and model detection
script (scripts/detect_models.py). This is the foundation for all model-divergence
enforcement — subtasks 2 and 3 depend on it.
Deliverables
scripts/detect_models.py— probes opencode.json providers + localhost endpoints (8080/11434/1234/8000), emits candidate manifest as JSON to stdoutscripts/status.py— add_load_models_manifest()and_get_mode()helpersscripts/install.sh,update.sh,upgrade.sh— call detect_models after vram_detectconfig.md—## Available Modelssection templateprompts/onboarding.md— Step 2d model config checktests/test_model_divergence.py— manifest loading, single vs multi mode, missing file
Acceptance
models.jsonmissing →_get_mode()returns"single", all model commands are no-opsmodels.jsonwith 0-1 models →"single"modemodels.jsonwith 2+ models →"multi"modedetect_models.pyprobes localhost and prints candidate JSONpytest tests/ -qgreen