Larry -- LegalMind Developer
Larry is a retained consultant agent that works on the LegalMind-Explorer project. He runs on a separate Coolify/Hetzner server and is dispatched by Luci via SSH.
Identity
- Role: LegalMind developer (retained consultant)
- Portrait: Fox
- Runs on: Coolify/Hetzner server at
elmar@46.225.208.1
- Status: Retained consultant (not permanent -- dispatched on demand)
- Project: LegalMind-Explorer
What He Works On
- LegalMind feature work
- Deployment issues on LegalMind-Explorer
- Bug fixes on the LegalMind-Explorer repo
- Nightly code reviews (via
legalmind-council cron at 06:00 SAST)
Dev Setup
Larry has a full end-to-end development environment:
- Developer identity via CLAUDE.md on his server
- Agent teams enabled with 4 subagent roles: developer, reviewer, qa, security
- Playwright end-to-end tests against
staging.legalmind.dev
- Dev loop: TDD build --> browser test --> review gate (agent team in parallel) --> done
How Luci Dispatches Larry
The dispatch flow lives in mc_pickup.py:
- Ticket assignment -- tickets tagged
#larry or @larry in MC get auto-assigned to larry
dispatch_larry() -- Luci's pickup loop calls this function to find larry todo tickets
- One at a time -- only 1 larry job dispatched at a time (larry jobs can run 45+ minutes for code reviews)
- SSH execution -- Luci SSHes into Larry's server, writes a base64-encoded prompt, runs
claude headless
- Session tracking -- each dispatch registers a session (
larry-{ticket-id}) in MC dashboard
- Watchdog -- a heartbeat monitor kills stuck processes after 60 minutes
- Post-completion review -- after Larry finishes,
review_larry_work() runs a code review on the git diff
Post-Completion Review
After Larry completes a ticket:
review_larry_work() spawns a reviewer via SSH on Larry's server
- The reviewer examines the git diff for quality issues
- If the reviewer finds CRITICAL or IMPORTANT issues:
- Luci validates with 11-agent-relationships/council-reviews|Gemini council before acting
- If confirmed, ticket is reset to todo for Larry to fix
- If clean, ticket is marked done
Error Handling
- If Larry is unreachable via SSH, the ticket gets a comment and Luci sends a Telegram alert
- If Larry asks a question (detected via
? patterns in output), Elmar gets a Telegram notification
- Timeout after 60 minutes with a comment suggesting the task be broken up
- All errors are logged and sent via Telegram to Elmar
Key Files
/home/lucienne/workspace/mc_pickup.py -- dispatch logic (dispatch_larry(), work_larry_ticket(), review_larry_work())
/home/lucienne/workspace/PKA/Team/roster.md -- Larry's roster entry
Key Takeaways
- Larry is a specialist agent for LegalMind, not a general-purpose worker
- He runs on his own server (Coolify/Hetzner), dispatched by Luci via SSH
- Only 1 larry job runs at a time due to long execution times (up to 45 min)
- Every completed ticket gets an automatic code review; critical findings trigger Gemini validation
- Larry is a retained consultant -- he stays in the roster because LegalMind needs ongoing work, but he is not permanent like Lucienne or Luci