PMO - Project Management Office
AI-powered project management platform with Linear integration and Claude Code orchestration.
Overview
PMO is a full-stack project management platform that combines:
- PMO Admin UI - Next.js dashboard for project visibility
- PMO Agent - LangGraph AI agent for task management
URLs
| Service | URL |
|---|---|
| Admin UI | https://pmo.ravenhelm.dev |
| Agent API | https://pmo-api.ravenhelm.dev |
| GitLab Repo | https://gitlab.ravenhelm.dev/ravenmask/pmo |
| Wiki | https://gitlab.ravenhelm.dev/ravenmask/pmo/-/wikis/home |
Testing Status ✅
Last Tested: January 9, 2025
API Endpoints
- ✅ Health endpoint (
/health) - Verified working - ✅ Info endpoint (
/info) - Returns agent metadata - ✅ Authentication via Zitadel SSO - Tested and verified
Linear Integration
- ✅ GraphQL API connection - Working
- ✅ Issue fetching with filters - Tested
- ✅ Sprint/Cycle queries - Verified
- ✅ Label-based component extraction - Working
- ✅ Dependency relationship queries - Fixed and tested
Database Schema
- ✅ PostgreSQL tables deployed (component_locks, agent_capacity, claude_code_jobs, etc.)
- ✅ Stored procedures working (acquire_component_lock, release_component_lock)
- ✅ Connection pool operational
Agent Tools (12 tools fully implemented)
| Tool | Status | Description |
|---|---|---|
pmo_pick_next_task | ✅ | Intelligent task selection with scoring |
pmo_get_blocked_tasks | ✅ | Lists blocked issues with blockers |
pmo_acquire_lock | ✅ | Lock component for exclusive work |
pmo_release_lock | ✅ | Release component lock |
pmo_check_locks | ✅ | View all active locks |
pmo_check_capacity | ✅ | Check agent capacity |
pmo_delegate_to_claude | ✅ | Start Claude Code build |
pmo_check_claude_status | ✅ | Monitor Claude build |
pmo_create_decision | ✅ | Escalate to human |
pmo_get_pending_decisions | ✅ | List pending decisions |
pmo_add_comment | ✅ | Add Linear comments |
pmo_update_issue_state | ✅ | Update issue status |
Key Features
Intelligent Task Management
- Priority-based task selection with scoring algorithm
- Dependency-aware scheduling (blocked issues excluded)
- Component locking to prevent conflicts
- Sprint membership bonus in scoring
Linear Integration
- Real-time project status via GraphQL
- Sprint/cycle management
- Issue tracking and filtering by state, label, project
- Automatic component extraction from labels
Claude Code Orchestration
- Automated builds via SSH+tmux
- Job monitoring and logs
- Build status tracking
- Session management
Human-in-the-Loop
- Decision escalation with context
- Approval workflows
- Audit trail via Linear comments
Agent Tools
| Tool | Purpose |
|---|---|
pmo_pick_next_task | Intelligent task selection |
pmo_acquire_lock | Lock component for work |
pmo_release_lock | Release component lock |
pmo_delegate_to_claude | Start Claude Code build |
pmo_create_decision | Escalate to human |
Task Workflow
Check Capacity → Check Locks → Pick Task → Acquire Lock → Work → Release Lock
Deployment
cd /Users/ravenhelm/ravenhelm/services/pmo-admin
docker compose --env-file ../../secrets/.env up -d --build
Documentation
Full documentation available at: https://gitlab.ravenhelm.dev/ravenmask/pmo/-/wikis/home
Quick Links
Related Services
- Linear - Issue tracking
- Zitadel - Authentication
- PostgreSQL - Database