sync: document fo-blog v7 TIP handoff

This commit is contained in:
Rene Fichtmueller 2026-04-29 22:56:31 +02:00
parent e4d4a0c43e
commit 470609ed40
2 changed files with 99 additions and 2 deletions

View File

@ -27,6 +27,15 @@ When work touches TIP, Magatama, LLM Gateway, bridges, auth, or shared Erik infr
## Latest Work ## Latest Work
- Codex follow-up on 2026-04-29 clarified the active BlogLLM model:
- TIP shows `fo-blog-v7`, but this is not a normal Ollama GGUF manifest.
- It is a local Adapter Bridge / Mac Studio model backed by the RunPod-trained PEFT adapter:
`/Users/renefichtmueller/Desktop/Claude Code/magatama/training-data/runpod/pod-runs/2026-04-25-fo-tip/final/adapters/fo_blogllm/final-adapter`
- Bridge definition:
`/Users/renefichtmueller/Desktop/Claude Code/magatama/scripts/ollama_adapter_bridge.py`
- TIP API default:
`packages/api/src/llm/client.ts` uses `OLLAMA_LLM_MODEL || "fo-blog-v7"`.
- `fo-blog-v8` remains the next training candidate, not the currently active TIP BlogLLM model.
- Full Codex session handoff was added: - Full Codex session handoff was added:
- `sync/history/2026-04-29-codex-full-session-handoff.md` - `sync/history/2026-04-29-codex-full-session-handoff.md`
- covers TIP verification, product image/detail crawling, Blog Engine Hot Topics, TIPLLM robots, training pool, Erik status, and cross-repo sync. - covers TIP verification, product image/detail crawling, Blog Engine Hot Topics, TIPLLM robots, training pool, Erik status, and cross-repo sync.
@ -82,7 +91,8 @@ From 2026-04-29:
1. Clone or pull Gitea `origin` on laptop/Claude Code. 1. Clone or pull Gitea `origin` on laptop/Claude Code.
2. Read this folder first. 2. Read this folder first.
3. If testing robots, start with dry runs only: 3. For BlogLLM work, treat `fo-blog-v7` as Adapter Bridge / PEFT adapter, not as a `~/.ollama` GGUF model.
4. If testing robots, start with dry runs only:
```bash ```bash
npm run robots:verification -w packages/scraper -- --status npm run robots:verification -w packages/scraper -- --status
@ -90,7 +100,7 @@ npm run robots:verification -w packages/scraper -- --tipllm-plan --limit=3
npm run robots:verification -w packages/scraper -- --enqueue=details-fast-lane --profile=erik-safe --dry-run npm run robots:verification -w packages/scraper -- --enqueue=details-fast-lane --profile=erik-safe --dry-run
``` ```
4. Only dispatch real crawl work after deciding the target host: 5. Only dispatch real crawl work after deciding the target host:
- Erik: `erik-safe`, tiny batches only. - Erik: `erik-safe`, tiny batches only.
- Pi: `pi-fetch`. - Pi: `pi-fetch`.
- Proxmox: `proxmox-heavy`. - Proxmox: `proxmox-heavy`.

View File

@ -0,0 +1,87 @@
# 2026-04-29 FO-Blog v7 / TIP Handoff
## Summary
Rene asked where the model from the last days of training is located. The screenshot from TIP showed `fo-blog-v7` active with:
```text
BLOG_LLM_PROVIDER=ollama
OLLAMA_LLM_MODEL=fo-blog-v7
```
Codex verified that the current active TIP BlogLLM is indeed `fo-blog-v7`, but it is not stored as a normal Ollama GGUF model named `fo-blog-v7`.
## Finding
`fo-blog-v7` is a virtual/local model name served by the Mac Studio Adapter Bridge.
Bridge definition:
```text
/Users/renefichtmueller/Desktop/Claude Code/magatama/scripts/ollama_adapter_bridge.py
```
Actual trained adapter:
```text
/Users/renefichtmueller/Desktop/Claude Code/magatama/training-data/runpod/pod-runs/2026-04-25-fo-tip/final/adapters/fo_blogllm/final-adapter
```
Important adapter file:
```text
adapter_model.safetensors
```
Observed details:
- Adapter directory size: about `169M`.
- `adapter_model.safetensors`: about `161.5M`.
- File timestamp: `2026-04-26 08:18`.
- Base model in bridge: `Qwen/Qwen2.5-7B-Instruct`.
- Bridge model name: `fo-blog-v7`.
- Aliases include `fo-blog-v7:latest`, `fo-blog-v6`, `fo-blog-v6:latest`, `fo-blog-v6-runpod`, `fo-blog-v6-runpod:latest`.
## TIP Wiring
TIP API default model:
```text
/Users/renefichtmueller/Desktop/Claude Code/github-repos/transceiver-db/packages/api/src/llm/client.ts
```
Relevant behavior:
```text
const OLLAMA_URL = process.env.OLLAMA_URL || "http://localhost:11434";
const LLM_MODEL = process.env.OLLAMA_LLM_MODEL || "fo-blog-v7";
const BLOG_LLM_PROVIDER = process.env.BLOG_LLM_PROVIDER || "ollama";
```
TIP dashboard card:
```text
/Users/renefichtmueller/Desktop/Claude Code/github-repos/transceiver-db/packages/dashboard/index.html
```
The dashboard correctly labels the model as `fo-blog-v7` and "Adapter Bridge / Mac Studio".
## Important Clarification
Do not search for `fo-blog-v7.gguf` as the canonical artifact. Codex checked the local Ollama manifests and found visible manifests for older models such as `fo-blog-v5`, `fo-blog-v6`, and `fo-blog-v3-qwen7b`, but not a normal `fo-blog-v7` manifest.
The correct artifact for the current `fo-blog-v7` is the PEFT adapter under the Magatama RunPod folder above.
## Decision
- Treat `fo-blog-v7` as the current active TIP BlogLLM model.
- Treat `fo-blog-v8` as the next model/training candidate.
- Keep the TIP crawler/robot planning lane TIPLLM-only.
- Keep Erik cautious: controller/light `erik-safe` only.
- Put heavy crawler execution on Proxmox/Pi workers.
## Open Points
- Verify the Adapter Bridge process health before a production blog-generation run.
- Decide whether to package/export `fo-blog-v7` into a GGUF/Ollama manifest for easier discovery, or keep the PEFT adapter bridge as canonical.
- When training `fo-blog-v8`, preserve the same handoff pattern: final adapter path, base model, bridge mapping, TIP env/default, and dashboard state must all be written into `sync/`.