diff --git a/sync/CURRENT.md b/sync/CURRENT.md index a6390a2..1d6ffe8 100644 --- a/sync/CURRENT.md +++ b/sync/CURRENT.md @@ -27,6 +27,15 @@ When work touches TIP, Magatama, LLM Gateway, bridges, auth, or shared Erik infr ## 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: - `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. @@ -82,7 +91,8 @@ From 2026-04-29: 1. Clone or pull Gitea `origin` on laptop/Claude Code. 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 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 ``` -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. - Pi: `pi-fetch`. - Proxmox: `proxmox-heavy`. diff --git a/sync/history/2026-04-29-fo-blog-v7-tip-handoff.md b/sync/history/2026-04-29-fo-blog-v7-tip-handoff.md new file mode 100644 index 0000000..166fc6d --- /dev/null +++ b/sync/history/2026-04-29-fo-blog-v7-tip-handoff.md @@ -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/`.