Files
automaton/tasks/model-divergence-enforcement/subtasks/mde-manifest-detection/BRIEF.md
T
Lap Tran 7336db282d
CI / build (push) Has been cancelled
Bootstrap self-improvement loop, decompose model-divergence-enforcement
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
2026-06-25 07:15:25 -04:00

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

  1. scripts/detect_models.py — probes opencode.json providers + localhost endpoints (8080/11434/1234/8000), emits candidate manifest as JSON to stdout
  2. scripts/status.py — add _load_models_manifest() and _get_mode() helpers
  3. scripts/install.sh, update.sh, upgrade.sh — call detect_models after vram_detect
  4. config.md — ## Available Models section template
  5. prompts/onboarding.md — Step 2d model config check
  6. tests/test_model_divergence.py — manifest loading, single vs multi mode, missing file

Acceptance

  • models.json missing → _get_mode() returns "single", all model commands are no-ops
  • models.json with 0-1 models → "single" mode
  • models.json with 2+ models → "multi" mode
  • detect_models.py probes localhost and prints candidate JSON
  • pytest tests/ -q green