Files
auto-publisher/AGENTS.md

87 lines
2.9 KiB
Markdown

# AGENTS.md — Autonomous Publisher Infrastructure
## Quick Start
8 authority sites on Proxmox CTs 135-142. Flask :5000 + nginx :80.
Check Obsidian: Infrastructure/Auto Publisher.md
## Critical Rules
1. NEVER Proxmox CTs for AI — user forbids it
2. MacBook: qwen3.5:4b-mlx (think:false)
3. GamingPC: ornith:latest (RTX 3070)
4. Deploy engine: tar+scp+pct push+pct exec restart
5. Check Obsidian before any infra change: ~/ai brain/ai brain/
## Dashboards
- NOC (fleet): http://localhost:5090
- Admin (pipeline): http://localhost:5106
- Kalshi (trading): http://localhost:5053/fleet
## 8 Sites
| # | CT | IP | Vertical | Health |
|---|----|----|----------|--------|
| 1 | 135 | .240 | AI | /health |
| 2 | 136 | .241 | Tech | /health |
| 3 | 137 | .242 | Science | ARP issue |
| 4 | 138 | .243 | Crypto | ARP issue |
| 5 | 139 | .244 | Linux | /health |
| 6 | 140 | .246 | Gaming | /health |
| 7 | 141 | .247 | DIY | /health |
| 8 | 142 | .248 | Guides | /health |
.242/.243 need periodic `sudo arp -d <ip>` — another device responds to ARP first.
## Quick Commands
Deploy engine update to all CTs:
```
cd ~/auto-publisher/sites/_engine && tar czf /tmp/e.tar.gz app.py
scp /tmp/e.tar.gz root@10.30.20.85:/tmp/
for vmid in 135 136 137 138 139 140 141 142; do
ssh root@10.30.20.85 "pct push $vmid /tmp/e.tar.gz /tmp/e.tar.gz && pct exec $vmid -- bash -c 'cd /opt/publisher && tar xzf /tmp/e.tar.gz && systemctl restart publisher'"
done
```
Pipeline:
```
/usr/bin/python3 ~/auto-publisher/core/orchestrator.py discover
/usr/bin/python3 ~/auto-publisher/core/orchestrator.py run --max 3
/usr/bin/python3 ~/auto-publisher/core/orchestrator.py status
```
Speed bot:
```
cd ~/kalshi-bot && .venv/bin/python3 speed_bot.py --coin DOGE --dry
```
NOC restart:
```
pkill -f noc.py; /usr/bin/python3 ~/auto-publisher/dashboard/noc.py --port 5090
```
ARP fix:
```
sudo -S -p '' arp -d 10.30.20.242; sudo -S -p '' arp -d 10.30.20.243
```
## Key Files
- Engine: ~/auto-publisher/sites/_engine/app.py
- Orchestrator: ~/auto-publisher/core/orchestrator.py
- NOC: ~/auto-publisher/dashboard/noc.py
- Speed bot: ~/kalshi-bot/speed_bot.py
- Evolution log: ~/auto-publisher/core/evolution_log.json
- Gitea main: http://10.30.20.149:3000/drjones/auto-publisher
- Gitea per-site: http://10.30.20.149:3000/drjones/{name}-publisher
## Credit Plugins
- Kalshi: Auth via RSA-PSS-SHA256, key ~/kalshi-bot/kalshi_private_key.pem
- Gitea: Basic auth drjones:czapiewski
- Proxmox: root/Czapiewski1! via SSH
## Pitfalls
- Ollama saturated by Kalshi bots — throttle before pipeline
- MLX needs think:false or generates slow chain-of-thought
- System Python 3.9 lacks requests — install with --break-system-packages
- Python 3.9 doesn't support `str | None` syntax — use Optional[str]
- CT 137/138 ARP conflicts — flush before accessing
- Evolution cron b48fc30f84b7 paused — too complex for unattended
- WebSocket auth for Kalshi still WIP (401/403)