robotics-team-agent

Source

  • Type: local-file
  • Path: /home/topher/.openclaw/workspace-crash-bot/projects/robotics-team-agent.md
  • Bytes: 3361
  • Updated: 2026-05-02T21:20:34.979Z

Content

# Robotics Team Agent
 
**Status:** ✅ Complete
**Completed:** 2026-04-15
 
> This project is done. The Gitea server is set up, mirrors are running, and the architecture is in place. Keeping this file for reference.
 
## Original Context
- **User:** Considering a dedicated OpenClaw instance OR a new isolated agent
- **Context:** Losing programming coach next year; user is build/mechanical
 
## Team Details
- **Grade levels:** 9-12
- **Language:** Java
- **Libraries:** YAGSL (swerve), PhotonVision (vision)
- **Current sensors:** AprilTags (considering expansion to object detection)
- **Hardware:** RobotRIO now, moving to Pi-based next year
 
## Requirements for Team Agent
1. **Isolation** — Separate from "brewery side" (main household)
2. **GitHub access** — Separate repo for team code
3. **Google Drive** — For team documents/resources
4. **Capabilities:**
   - Code audits
   - Java/WPILib/YAGSL code review
   - Teaching/debugging for students
   - PhotonVision integration help
 
## Model Recommendation
- Ollama cloud (qwen2.5-coder:14b for code review, or 7b for speed)
- Or local on Pi: qwen2.5-coder:7b
 
## Notes
- Students should learn, not just get answers — guide them to solutions
- Seniors can mentor younger students
- Useful for explaining PID, state machines, odometry, vision pipelines
 
## Decision Pending
- Dedicated instance vs. add new agent to existing OpenClaw
- Not yet implemented
 
## Alternative Git Hosts (school blocks github.com specifically)
- [x] **Gitea** — Self-hosted on CasaOS server ✓
 
## Gitea Setup - Complete (2026-03-12)
 
### External Access
- **URL:** http://2890.duckdns.org:3002
- **Port:** 3002 (TCP, port forwarded)
- **DDNS:** 2890.duckdns.org → 174.206.100.116
- **Status:** ✅ Externally accessible
- **User:** TopherSlater
 
### Mirrored Repos (from GitHub)
| Repo | URL | Status |
|------|-----|--------|
| YAGSL | `http://2890.duckdns.org:3002/TopherSlater/YAGSL` | ✅ |
| photonvision | `http://2890.duckdns.org:3002/TopherSlater/photonvision` | ✅ |
| allwpilib | `http://2890.duckdns.org:3002/TopherSlater/allwpilib` | ✅ |
 
### Mirror Method
```bash
# Clone bare, push branches+tags only (skip PR refs)
git clone --bare https://github.com/ORG/REPO.git REPO-mirror
cd REPO-mirror
git remote set-url origin https://USER:TOKEN@localhost:3002/USER/REPO.git
git push --all origin
git push --tags origin
```
 
### Auto-Sync Script
- **Location:** `/opt/gitea-mirrors/sync.sh` (on CasaOS server)
- **Auth:** Gitea token embedded (no password prompts)
- **Cron:** `*/30 * * * * /opt/gitea-mirrors/sync.sh` (every 30 min)
- **Status:** ✅ Tested and working
 
### Architecture
- **Home server** runs Gitea + syncs with GitHub
  - Pulls libraries (YAGSL, PhotonLib, etc.) from GitHub
  - Pushes team code to GitHub for outside mentors
- **Students** pull/push only from local Gitea (never touch GitHub)
- **Outside mentors** access via Gitea directly
 
### TODO
- [ ] Test student access from school network
- [ ] Create team code repo in Gitea
- [ ] Verify mirrors sync properly over time
- [ ] Configure team repo access
- [ ] Mirror YAGSL + dependencies from GitHub to Gitea
  - YAGSL
  - PhotonLib
  - WPILib (via vendor JSON - check if still needed)
  - Other key dependencies
- [ ] Ensure Gradle is available locally (WPILib distribution or standalone)
- [ ] Test build from school network
 

Notes

Referenced By