DevPilot
OpenClaw-styled system that automates 90%+ of a developer's work in enterprise — reacts to Bitbucket/Jira/Sentry hooks with parallel multi-model AI agents, backed by advanced RAG memory across the full task lifecycle. Human-in-the-loop approval keeps the developer in control: just approve or reject.
┌──────────────────────────────────────────────────────────────────────────────────────┐ │ DEVPILOT SYSTEM (Docker) │ │ │ │ EXTERNAL EVENTS NEMOCLAW SANDBOX │ │ ════════════════ ══════════════════ │ │ │ │ ┌──────────┐ ┌──────────────────────────────────────────────────┐ │ │ │Bitbucket │──webhook──┐ │ NVIDIA OpenShell Container │ │ │ │ Cloud │ │ │ (Landlock + seccomp + network namespaces) │ │ │ └──────────┘ │ │ │ │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ ┌──────────┐ │ │ │ OPENCLAW GATEWAY │ │ │ │ │ Jira │──webhook──┤ │ │ (:18789) │ │ │ │ │ Cloud │ │ │ │ │ │ │ │ └──────────┘ │ │ │ ┌─────────────────────────────────────┐ │ │ │ │ │ │ │ │ Webhook Receiver │ │ │ │ │ ┌──────────┐ │ │ │ │ POST /hooks/bitbucket │ │ │ │ │ │ Slack │──event────┼────────│──│ POST /hooks/jira │ │ │ │ │ │ │ │ │ │ │ POST /hooks/sentry │ │ │ │ │ └──────────┘ │ │ │ │ Auth: Bearer token + HMAC │ │ │ │ │ │ │ │ └──────────┬──────────────────────────┘ │ │ │ │ ┌──────────┐ │ │ │ │ │ │ │ │ │ Sentry │──alert────┘ │ │ ┌──────────▼──────────────────────────┐ │ │ │ │ │ │ │ │ │ hooks.mappings │ │ │ │ │ └──────────┘ │ │ │ + Custom Transforms │ │ │ │ │ │ │ │ (bitbucket.ts, jira.ts, sentry.ts)│ │ │ │ │ │ │ └──────────┬──────────────────────────┘ │ │ │ │ ┌──────────┐ │ │ │ │ │ │ │ │ Telegram │◄──channel──────────│ ┌──────────▼──────────────────────────┐ │ │ │ │ │ (user) │──message──────────│──│ Agent Runtime │ │ │ │ │ └──────────┘ │ │ │ │ │ │ │ │ │ │ │ SOUL.md (agent personality) │ │ │ │ │ ┌──────────┐ │ │ │ ┌──────────────────────────────┐ │ │ │ │ │ │ Slack │◄──channel──────────│ │ │ Skills Engine │ │ │ │ │ │ │ (team) │ │ │ │ │ │ │ │ │ │ │ └──────────┘ │ │ │ │ /plan-ticket │ │ │ │ │ │ │ │ │ │ /develop-ticket │ │ │ │ │ │ ┌──────────┐ │ │ │ │ /create-pr │ │ │ │ │ │ │ Cron │──schedule──────────│ │ │ /review-pr │ │ │ │ │ │ │ (built- │ │ │ │ │ /review-support │ │ │ │ │ │ │ in) │ │ │ │ │ /investigate-sentry │ │ │ │ │ │ └──────────┘ │ │ │ │ /daily-standup │ │ │ │ │ │ │ │ │ │ /pr-monitor │ │ │ │ │ │ │ │ │ └──────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────┐ │ │ │ │ │ │ │ │ │ Memory (persistent) │ │ │ │ │ │ │ │ │ │ Cross-session knowledge │ │ │ │ │ │ │ │ │ └──────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────┐ │ │ │ │ │ │ │ │ │ Tools │ │ │ │ │ │ │ │ │ │ git, php, phpcs, phpstan │ │ │ │ │ │ │ │ │ │ bitbucket-prs.sh │ │ │ │ │ │ │ │ │ │ jira-tickets.sh │ │ │ │ │ │ │ │ │ └──────────────────────────────┘ │ │ │ │ │ │ │ └────────────────────────────────────┘ │ │ │ │ │ └─────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────┐ │ │ │ │ │ NEMOCLAW SECURITY LAYER │ │ │ │ │ │ │ │ │ │ │ │ ┌───────────────┐ ┌────────────────┐ │ │ │ │ │ │ │ Network Policy │ │ FS Policy │ │ │ │ │ │ │ │ (YAML) │ │ (Landlock) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ALLOW: │ │ R/W: workspace │ │ │ │ │ │ │ │ anthropic.com │ │ R/O: skills │ │ │ │ │ │ │ │ bitbucket.org │ │ DENY: / (rest) │ │ │ │ │ │ │ │ atlassian.net │ │ │ │ │ │ │ │ │ │ telegram.org │ │ │ │ │ │ │ │ │ │ DENY: * │ │ │ │ │ │ │ │ │ └───────────────┘ └────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌───────────────┐ ┌────────────────┐ │ │ │ │ │ │ │ Process Policy │ │ Git Policy │ │ │ │ │ │ │ │ (seccomp) │ │ │ │ │ │ │ │ │ │ │ │ ALLOW push: │ │ │ │ │ │ │ │ ALLOW: │ │ LS-*, hotfix-*│ │ │ │ │ │ │ │ git, php, │ │ DENY push: │ │ │ │ │ │ │ │ node, curl │ │ master, main │ │ │ │ │ │ │ │ DENY: │ │ release/* │ │ │ │ │ │ │ │ ssh, scp, │ │ DENY: │ │ │ │ │ │ │ │ wget, eval │ │ force-push │ │ │ │ │ │ │ └───────────────┘ └────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ ┌──────────────────────────────────┐ │ │ │ │ │ │ │ PHI/HIPAA Output Guard (custom) │ │ │ │ │ │ │ │ Scans ALL outgoing messages │ │ │ │ │ │ │ │ Blocks: SSN, DOB, MRN, API keys │ │ │ │ │ │ │ └──────────────────────────────────┘ │ │ │ │ │ └─────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────┐ │ │ │ │ │ WORKSPACE │ │ │ │ │ │ /workspace/lscodebase/ (git repo) │ │ │ │ │ │ /workspace/skills/ (SKILL.md files) │ │ │ │ │ │ /workspace/scripts/ (shell helpers) │ │ │ │ │ └─────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────┘
Key Highlights
Dual-Track Multi-Agent Architecture
Parallel Opus + Sonnet sub-agents with Haiku confidence scoring. Each skill spawns 10–15 sub-agents for cross-validation and fact-checking.
Webhook Transform Layer
TypeScript transforms routing Bitbucket, Jira, and Sentry events to skill-specific agent sessions, backed by CLI tooling for PR management and Jira ticket parsing.
HIPAA Compliance
Declarative YAML network policies (deny-by-default egress), PHI/PII regex output guardrails, and Git push branch protection enforced at sandbox level.
SQLite FSM + RAG Memory
Task lifecycle states (PLANNED → IMPLEMENTED → PR_CREATED → REVIEWED) with RAG-based cross-session memory via claude-mem MCP and ChromaDB.
Human-in-the-Loop
Every destructive action requires explicit approval via Telegram Bot API. The agent drafts, the human decides — ensuring safety at every checkpoint.
Custom SKILL.md Agents
8 specialized skills covering the full dev lifecycle: planning, coding, PR creation, code review, Sentry investigation, daily standups, and PR monitoring.
Skill: /plan-ticket
Autonomous read-only task planning. Triggered by Jira webhook or manual Telegram command. Spawns ~10–15 sub-agents for dual-model analysis with cross-validation.
┌─────────────────────────────────────────────────────────────────────┐
│ /plan-ticket LS-XXXXX │
│ Mode: READ-ONLY (autonomous) │
└─────────────────────────────────┬───────────────────────────────────┘
│
┌─────────────▼─────────────┐
│ Step 0: git checkout master│
│ git pull origin master │
└─────────────┬───────────────┘
│
┌─────────────▼─────────────┐
│ Step 1: Jira Ticket │
│ jira-tickets.sh show │
│ + download screenshots │
└─────────────┬───────────────┘
│
┌─────────────▼─────────────┐
│ Step 1.5: Doc Discovery │
│ claude-mem RAG │
│ search → timeline → │
│ get_observations │
└─────────────┬───────────────┘
│
┌───────────────────────┼───────────────────────┐
│ │ │
┌─────────▼─────────┐ ┌─────────▼─────────┐ ┌─────────▼─────────┐
│ Step 2a: │ │ Step 2b: Agent A │ │ Step 2b: Agent B │
│ Translation │ │ ┌──────────────┐ │ │ ┌──────────────┐ │
│ ┌──────────────┐ │ │ │ Opus │ │ │ │ Sonnet │ │
│ │ Haiku │ │ │ │ Orchestrator │ │ │ │ Independent │ │
│ │ Translator │ │ │ └──────┬───────┘ │ │ │ Analyst │ │
│ └──────────────┘ │ │ │ │ │ └──────────────┘ │
└────────────────────┘ │ ┌──────▼───────┐ │ └────────────────────┘
│ │ 5 SUB-AGENTS │ │
│ │ PARALLEL │ │
│ ├──────────────┤ │
│ │ A1 Codebase │ │
│ │ A2 Defensive │ │
│ │ A3 Patterns │ │
│ │ A4 History │ │
│ │ A5 Plan │ │
│ │ (all Opus) │ │
│ └──────┬───────┘ │
│ │ │
│ ┌──────▼───────┐ │
│ │ Merge 5→1 │ │
│ └──────────────┘ │
└─────────┬──────────┘
│
┌───────────────────────┼───────────────────────┐
│ PARALLEL (single message) │
┌─────────▼──────────────┐ ┌─────────────────▼──────────┐
│ Step 3: A reviews B │ │ Step 3: B reviews A │
│ ┌──────────────────┐ │ │ ┌──────────────────┐ │
│ │ Opus │ │ │ │ Sonnet │ │
│ │ Cross-validator │ │ │ │ Cross-validator │ │
│ └──────────────────┘ │ │ └──────────────────┘ │
└─────────┬──────────────┘ └───────────────┬────────────┘
└──────────────────┬──────────────────────────┘
│
┌─────────────▼─────────────┐
│ Step 3.5: Confidence │
│ Scoring │
│ ┌──────────────────────┐ │
│ │ Haiku ×N │ │
│ │ (parallel) │ │
│ │ 0-100 score each │ │
│ └──────────────────────┘ │
│ ≥75 CONFIRMED │
│ 50-74 INFO │
│ <50 FILTERED │
└─────────────┬──────────────┘
│
┌─────────────▼──────────────┐
│ Step 4: Orchestrator │
│ merges results │
│ ✓ Fact verification │
│ ✓ Anti-pattern checklist │
│ ✓ Defensive checklist │
│ → Write plan file │
└─────────────┬──────────────┘
│
┌─────────────▼──────────────┐
│ Step 5: claude-mem │
│ Save key decisions │
└─────────────┬──────────────┘
│
┌─────────────▼──────────────┐
│ Step 6: Show result │
│ ⛔ WAIT FOR APPROVAL │
└────────────────────────────┘
Agents: 1 Haiku + 1 Opus-orchestrator(→5 Opus) + 1 Sonnet
+ 2 cross-validators + N Haiku scorers
Total: ~10-15 sub-agentsSkill: /review-pr
Dual-track code review triggered by Bitbucket webhook. Track A proposes an independent solution blind to the PR, Track B performs multi-agent code analysis. Results are cross-validated and scored before human approval.
┌─────────────────────────────────────────────────────────────────────┐
│ /review-pr 20860 │
│ Mode: READ-ONLY (no git checkout) │
│ Safe for parallel execution │
└─────────────────────────────────┬───────────────────────────────────┘
│
┌──────────────────▼──────────────────┐
│ Step 0: Validation │
│ bitbucket-prs.sh show │
│ STOP if: own PR, not OPEN, trivial │
└──────────────────┬──────────────────┘
│
┌────────────────────────────▼────────────────────────────┐
│ Step 1: Context Gathering │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │1a: Jira │ │1b: Diff │ │1c: Files │ │1d: PR │ │
│ │ ticket │ │ git diff │ │ git show │ │comments │ │
│ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
└────────────────────────────┬────────────────────────────┘
│
┌────────────────────────────┼────────────────────────────┐
│ PARALLEL (single message) │
┌────▼────────────────────┐ ┌────▼────────────────────────────┐
│ TRACK A │ │ TRACK B │
│ Independent Solution │ │ Multi-Agent Code Review │
│ ┌───────────────────┐ │ │ ┌───────────────────────────┐ │
│ │ Opus │ │ │ │ Opus Orchestrator │ │
│ │ max_turns=25 │ │ │ └─────────┬─────────────────┘ │
│ │ │ │ │ │ │
│ │ Explores code │ │ │ ┌─────────▼─────────────────┐ │
│ │ via git show/ │ │ │ │ 5 SUB-AGENTS PARALLEL │ │
│ │ git grep │ │ │ │ │ │
│ │ (origin/master) │ │ │ │ B1 Compliance+Arch │ │
│ │ │ │ │ │ B2 Bugs & Logic │ │
│ │ Proposes OWN │ │ │ │ B3 Perf+Sec+HIPAA │ │
│ │ approach (blind │ │ │ │ B4 History+Patterns │ │
│ │ to the PR) │ │ │ │ B5 Tests+Edge Cases │ │
│ └───────────────────┘ │ │ └─────────┬─────────────────┘ │
└─────────┬───────────────┘ └────────────┬─────────────────────┘
│ │
│ ┌───────────────▼───────────────────┐
│ │ Step 3: Confidence Scoring │
│ │ Haiku ×N (parallel) │
│ │ avg(agent, haiku) ≥ 75 → KEEP │
│ └───────────────┬───────────────────┘
│ │
└───────────────┬───────────────┘
│
┌───────────────▼────────────────────┐
│ Step 4: Synthesis (Opus) │
│ Track A vs Track B │
│ ALIGNED | DIVERGENT | MISSING │
│ CRITICAL | QUALITY │
└───────────────┬────────────────────┘
│
┌───────────────▼────────────────────┐
│ Step 5-6: Summary + Draft Comments │
│ ⛔ WAIT FOR APPROVAL │
└───────────────┬────────────────────┘
│ approved
┌───────────────▼────────────────────┐
│ Step 7: Post to Bitbucket │
│ Step 8-9: Report + Memory save │
└────────────────────────────────────┘
Agents: 1 Opus (Track A) + 1 Opus-orch(→5 Opus) (Track B)
+ N Haiku scorers + 1 Opus (Synthesis)
Total: ~10-15 sub-agentsSkills Engine — Full Lifecycle
8 specialized SKILL.md agents covering the complete development workflow — from ticket planning to production monitoring.
/plan-ticket
Read-only. Dual-model analysis with 5 Opus sub-agents + Sonnet cross-validation. Outputs implementation plan.
/develop-ticket
Write mode. Step-by-step implementation from plan with phpcs/phpstan quality gates. Multi-checkpoint: commit → push.
/create-pr
Detects ticket type, drafts PR with description, selects reviewer, posts to Slack. All with approval checkpoints.
/review-pr
Dual-track: independent solution architect vs multi-agent code review. Haiku confidence scoring filters noise.
/review-support
Post-review support. Responds to reviewer comments, implements requested changes, and updates the PR.
/investigate-sentry
Triggered by Sentry alerts. Traces error to root cause in codebase, proposes fix, and creates ticket if needed.
/daily-standup
Cron-triggered. Aggregates yesterday's PRs, commits, Jira updates into a structured daily summary to Telegram.
/pr-monitor
Continuous monitoring of open PRs. Alerts on stale reviews, merge conflicts, and CI failures.