--- pageType: source id: source.robotics-team-agent title: robotics-team-agent sourceType: local-file sourcePath: /home/topher/.openclaw/workspace-crash-bot/projects/robotics-team-agent.md ingestedAt: 2026-05-02T21:20:34.979Z updatedAt: 2026-05-02T21:20:34.979Z status: active growth: seed --- # 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 ````text # 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 ## Related ### Referenced By - [README](sources/readme.md)