# 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.
