Skip to main content

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

ServiceURL
Admin UIhttps://pmo.ravenhelm.dev
Agent APIhttps://pmo-api.ravenhelm.dev
GitLab Repohttps://gitlab.ravenhelm.dev/ravenmask/pmo
Wikihttps://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)

ToolStatusDescription
pmo_pick_next_taskIntelligent task selection with scoring
pmo_get_blocked_tasksLists blocked issues with blockers
pmo_acquire_lockLock component for exclusive work
pmo_release_lockRelease component lock
pmo_check_locksView all active locks
pmo_check_capacityCheck agent capacity
pmo_delegate_to_claudeStart Claude Code build
pmo_check_claude_statusMonitor Claude build
pmo_create_decisionEscalate to human
pmo_get_pending_decisionsList pending decisions
pmo_add_commentAdd Linear comments
pmo_update_issue_stateUpdate 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

ToolPurpose
pmo_pick_next_taskIntelligent task selection
pmo_acquire_lockLock component for work
pmo_release_lockRelease component lock
pmo_delegate_to_claudeStart Claude Code build
pmo_create_decisionEscalate 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