162 lines
4.3 KiB
Markdown
162 lines
4.3 KiB
Markdown
# 2026-05-06 — MAGATAMA RunPod Adoption + Lane Truth
|
|
|
|
## Scope
|
|
|
|
Finalize the MAGATAMA training path so that:
|
|
|
|
1. lane-specific pools are real and visible
|
|
2. RunPod `COMPLETED` is not treated as success without a real adoptable artifact
|
|
3. Mac Studio exposes a live adoption endpoint for post-RunPod import + smoke tests
|
|
4. `fo_blogllm` / `tip_llm` stop inheriting stale `magatamallm` counts
|
|
|
|
## What Changed
|
|
|
|
### 1. Gitea-backed lane pools are now materialized
|
|
|
|
The sync/build chain was extended so `fo_blogllm` and `tip_llm` are not “README-only” placeholders anymore.
|
|
|
|
Current local lane export truth:
|
|
|
|
- `magatamallm`
|
|
- `1367 train`
|
|
- `152 eval`
|
|
- `1519 total`
|
|
- `fo_blogllm`
|
|
- `17353 train`
|
|
- `1929 eval`
|
|
- `19282 total`
|
|
- `tip_llm`
|
|
- `6482 train`
|
|
- `721 eval`
|
|
- `7203 total`
|
|
|
|
`sync_gitea_training_pool.ts` now writes lane-specific manifests and JSONL exports back into the Gitea-backed learning-pool tree.
|
|
|
|
### 2. RunPod completion gating was hardened
|
|
|
|
The dashboard/server path was updated so RunPod `COMPLETED` is no longer enough by itself.
|
|
|
|
The intended success chain is now:
|
|
|
|
1. RunPod reports terminal state
|
|
2. target model artifact is identified
|
|
3. Mac Studio `/adopt-runpod-model` is called
|
|
4. local candidate model is imported into Ollama
|
|
5. lane-specific smoke suite passes
|
|
6. active alias is switched
|
|
7. only then is the run treated as truly successful
|
|
|
|
Registry status extensions added:
|
|
|
|
- `completed_and_adopted`
|
|
- `completed_seed_preparation`
|
|
- `completed_not_adopted`
|
|
|
|
### 3. Mac Studio training API was upgraded in place
|
|
|
|
Critical discovery:
|
|
|
|
- Erik already used `http://192.168.178.213:3214`
|
|
- but the Mac LaunchAgent still served the **old** training API from:
|
|
- `~/magatama-llm/service/training_api.py`
|
|
|
|
This old service had no `/adopt-runpod-model`.
|
|
|
|
Action taken:
|
|
|
|
- upgraded the LaunchAgent-targeted file in place
|
|
- made the training API portable enough to find `register_runpod_ollama_model.py` from either:
|
|
- the MAGATAMA repo
|
|
- or fallback candidate paths
|
|
|
|
Verified from Erik:
|
|
|
|
- `GET /health` works
|
|
- response now contains:
|
|
- `register_script: /Users/renefichtmueller/Desktop/Claude Code/magatama/scripts/register_runpod_ollama_model.py`
|
|
- `POST /adopt-runpod-model` exists and returns `401` without auth, which proves the new route is live
|
|
|
|
### 4. Lane status is now honest
|
|
|
|
The live Erik dashboard API now reports lane-specific values instead of silently reusing `magatamallm`.
|
|
|
|
Also fixed:
|
|
|
|
- `fo_blogllm` and `tip_llm` no longer inherit a false “last successful run” from the global Mac training state
|
|
- lane-specific active model labels are now used:
|
|
- `fo_blogllm` -> `fo-blog-v7`
|
|
- `tip_llm` -> `tip-llm-v1`
|
|
|
|
## Verified Live State on Erik
|
|
|
|
### `magatamallm`
|
|
|
|
- available: `true`
|
|
- activeProvider: `ollama:magatama-coder:latest`
|
|
- `newSinceLastTraining = 1367`
|
|
|
|
### `fo_blogllm`
|
|
|
|
- available: `true`
|
|
- activeProvider: `ollama:fo-blog-v7`
|
|
- `newSinceLastTraining = 17353`
|
|
- `lastTrainingAt = null`
|
|
- `neverTrained = true`
|
|
|
|
### `tip_llm`
|
|
|
|
- available: `false`
|
|
- activeProvider falls back to `claude-bridge`
|
|
- target model shown as `tip-llm-v1`
|
|
- `newSinceLastTraining = 6482`
|
|
- `lastTrainingAt = null`
|
|
- `neverTrained = true`
|
|
|
|
Interpretation:
|
|
|
|
- `tip_llm` corpus is real, but the active Ollama alias is not installed locally yet.
|
|
|
|
## Pulso AI Decision
|
|
|
|
Recommended architecture:
|
|
|
|
- shared network / transceiver / switch knowledge core with TIP
|
|
- separate behavior lane
|
|
|
|
Meaning:
|
|
|
|
- `TIP_LLM`
|
|
- research
|
|
- crawler planning
|
|
- issue extraction
|
|
- vendor / firmware / compatibility search
|
|
- `Pulso AI`
|
|
- support
|
|
- diagnostics
|
|
- operational explanation
|
|
- customer/product answer layer
|
|
|
|
Do **not** blindly reuse the exact same instruction lane for both.
|
|
|
|
## Still Open
|
|
|
|
1. A fresh real RunPod run still needs full end-to-end proof after the new adoption path:
|
|
- successful worker execution
|
|
- artifact exists
|
|
- local import succeeds
|
|
- smoke suite passes
|
|
- alias switches
|
|
2. `tip_llm-v1` still needs local Ollama adoption/installation.
|
|
3. Further corpus enrichment is still desirable from:
|
|
- local transceiver/TIP/blog pools
|
|
- Susan/Fearghas if accessible
|
|
- GitHub / universities / security research sources
|
|
|
|
## Operator Notes
|
|
|
|
- TIP policy remains:
|
|
- TIPLLM-only for robot/crawler planning
|
|
- Erik is light controller only
|
|
- heavy crawling runs on Proxmox / Pis
|
|
- Push only `sync/` to Gitea from this handoff update.
|