transceiver-db/sync/history/2026-04-29-tipllm-robot-learning.md
2026-04-29 22:42:43 +02:00

64 lines
2.0 KiB
Markdown

# 2026-04-29 TIPLLM Robot Learning Handoff
## Summary
Rene requested that TIP crawler/robot planning use TIPLLM only, no external AI layer, and that crawler/robot experience be written into a Gitea training pool so TIPLLM improves over time.
Implemented locally and synced to Erik:
- Verification robot controller with safe profiles:
- `erik-safe`
- `pi-fetch`
- `proxmox-heavy`
- TIPLLM planning mode:
- `--tipllm-plan --limit=N`
- Robot experience writer:
- status snapshots
- TIPLLM plans
- queue dry-runs
- queue enqueues
- rejected queue plans
- future crawler results
- Learning pool import:
- `TIP_TRAINING_REPO/qa-pairs/**/*.jsonl` is imported into the `tip_llm` lane by `learning-pool:build`.
## Safety Choices
- Default robot profile is `erik-safe`.
- `erik-safe` is capped to 3 lightweight queues by default.
- Playwright and discovery queues are excluded from `erik-safe`.
- No crawler jobs were started during this work.
- No queue waves were enqueued during this work.
## Training Pool
The local Gitea training pool clone already existed at `/tmp/tip-training-data`.
A first robot experience was written and pushed:
```text
f1c83f8 crawl: add robot-status training records [2026-04-29T20:11:24.091Z]
```
## Erik
Synced code/docs to `/opt/tip` and ran the scraper TypeScript build.
The build initially failed because two stale misplaced remote-only duplicate files existed on Erik:
- `/opt/tip/packages/scraper/src/scrapers/scheduler.ts`
- `/opt/tip/packages/scraper/src/vendor-discovery-crawler.ts`
They were not present locally and had wrong relative imports. Removed only those duplicates. Build passed after that.
PM2 services were left running and were not restarted.
## Commands To Start Safely
```bash
npm run robots:verification -w packages/scraper -- --status
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
```