Bootstrap self-improvement loop, decompose model-divergence-enforcement
CI / build (push) Has been cancelled
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
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user