Back to Works

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.

Claude Opus / Sonnet / Haiku
NVIDIA NemoClaw
TypeScript
OpenClaw Gateway
HIPAA Compliant

┌──────────────────────────────────────────────────────────────────────────────────────┐
│                              NEMOCLAW 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     │
                    │    (Read tool for images)    │
                    └─────────────┬───────────────┘
                                  │
                    ┌─────────────▼─────────────┐
                    │  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      │  │
│  └──────────────┘  │  │         │          │  │  └──────────────┘  │
└────────────────────┘  │  ┌──────▼───────┐  │  │  Codebase +        │
                        │  │ 5 SUB-AGENTS │  │  │  Defensive +       │
                        │  │  PARALLEL    │  │  │  Patterns +        │
                        │  ├──────────────┤  │  │  Plan + Tests      │
                        │  │🤖A1 Codebase │  │  └────────────────────┘
                        │  │🤖A2 Defensive│  │
                        │  │🤖A3 Patterns │  │
                        │  │🤖A4 History  │  │
                        │  │🤖A5 Plan     │  │
                        │  │  (all Opus)  │  │
                        │  └──────┬───────┘  │
                        │         │          │
                        │  ┌──────▼───────┐  │
                        │  │ Merge 5→1    │  │
                        │  │ unified      │  │
                        │  │ report       │  │
                        │  └──────────────┘  │
                        └─────────┬──────────┘
                                  │
          ┌───────────────────────┼───────────────────────┐
          │            PARALLEL (single message)           │
┌─────────▼──────────────┐              ┌─────────────────▼──────────┐
│  Step 3: A reviews B   │              │  Step 3: B reviews A       │
│  ┌──────────────────┐  │              │  ┌──────────────────┐      │
│  │ 🤖 Opus          │  │              │  │ 🤖 Sonnet        │      │
│  │ Cross-validator  │  │              │  │ Cross-validator  │      │
│  └──────────────────┘  │              │  └──────────────────┘      │
│  Categories:           │              │  Categories:               │
│  ALIGNED | DIVERGENT   │              │  ALIGNED | DIVERGENT       │
│  GAP_A | GAP_B         │              │  GAP_A | GAP_B             │
│  CONFLICT              │              │  CONFLICT                  │
└─────────┬──────────────┘              └───────────────┬────────────┘
          │                                             │
          └──────────────────┬──────────────────────────┘
                             │
               ┌─────────────▼─────────────┐
               │  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        │
               │    (Glob/Read/Grep)         │
               │  ✓ Anti-pattern checklist   │
               │  ✓ Defensive checklist      │
               │                             │
               │  → Write plan to            │
               │    claude/my/plans/         │
               └─────────────┬──────────────┘
                             │
               ┌─────────────▼──────────────┐
               │  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-agents

Skill: /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 (dependency bump)            │
               └──────────────────┬──────────────────┘
                                  │
     ┌────────────────────────────▼────────────────────────────┐
     │                    Step 1: Context Gathering            │
     │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌─────────┐ │
     │  │1a: Jira  │  │1b: Diff  │  │1c: Files │  │1d: PR   │ │
     │  │ ticket   │  │ git diff │  │ git show │  │comments │ │
     │  │          │  │ --stat   │  │ origin/  │  │         │ │
     │  │          │  │ + full   │  │ {branch} │  │         │ │
     │  └──────────┘  └──────────┘  └──────────┘  └─────────┘ │
     └────────────────────────────┬────────────────────────────┘
                                  │
               ┌──────────────────▼──────────────────┐
               │  Step 1.5: Doc Discovery (claude-mem)│
               │  search → timeline → get_observations│
               │  Find: past work with modules,       │
               │  architectural decisions, past reviews│
               └──────────────────┬──────────────────┘
                                  │
     ┌────────────────────────────┼────────────────────────────┐
     │              PARALLEL (single message)                   │
     │                            │                            │
┌────▼────────────────────┐  ┌────▼────────────────────────────┐
│  TRACK A                │  │  TRACK B                        │
│  Independent Solution   │  │  Multi-Agent Code Review        │
│  Architect              │  │                                 │
│  ┌───────────────────┐  │  │  ┌───────────────────────────┐  │
│  │ 🤖 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 to the   │  │  │  │ 🤖B4 History+Patterns    │  │
│  │ task (blind to PR)│  │  │  │ 🤖B5 Tests+Edge Cases   │  │
│  └───────────────────┘  │  │  │    (all Opus)            │  │
│                         │  │  └─────────┬─────────────────┘  │
│  Output:                │  │            │                    │
│  - Task understanding   │  │  ┌─────────▼─────────────────┐  │
│  - Key files            │  │  │ Deduplicate + merge       │  │
│  - Proposed approach    │  │  │ Unified issues list       │  │
│  - Arch recommendations │  │  │ with confidence 0-100     │  │
│  - Risks                │  │  └───────────────────────────┘  │
│  - Tests                │  │                                 │
└─────────┬───────────────┘  └───────────────┬─────────────────┘
          │                                  │
          │  result_A                        │  result_B (issues)
          │                                  │
          │               ┌──────────────────▼──────────────────┐
          │               │  Step 3: Confidence Scoring         │
          │               │  ┌──────────────────────────────┐   │
          │               │  │ 🤖🤖🤖 Haiku ×N             │   │
          │               │  │ (one per issue,              │   │
          │               │  │  all PARALLEL)               │   │
          │               │  │                              │   │
          │               │  │ 0-100 score                  │   │
          │               │  │ avg(agent, haiku) ≥ 75       │   │
          │               │  │ → KEEP, otherwise FILTER     │   │
          │               │  └──────────────────────────────┘   │
          │               └──────────────────┬──────────────────┘
          │                                  │ filtered issues
          │                                  │
          └──────────────┬───────────────────┘
                         │
          ┌──────────────▼───────────────────────┐
          │  Step 4: Synthesis                    │
          │  ┌────────────────────────────────┐   │
          │  │ 🤖 Opus                        │   │
          │  │ Compares Track A vs Track B    │   │
          │  │                                │   │
          │  │ ALIGNED — matches              │   │
          │  │ DIVERGENT — differs            │   │
          │  │ MISSING — not in PR            │   │
          │  │ CRITICAL — verified issues     │   │
          │  │ QUALITY — architectural        │   │
          │  └────────────────────────────────┘   │
          └──────────────┬───────────────────────┘
                         │
          ┌──────────────▼───────────────────────┐
          │  Step 5: Summary with Explanation     │
          │  PR explanation for user              │
          │  ✅ What's done well                  │
          │  ⚠️ What can be improved              │
          │  Status: READY / NEEDS FIXES          │
          └──────────────┬───────────────────────┘
                         │
          ┌──────────────▼───────────────────────┐
          │  Step 6: Draft Comments               │
          │  Style: bitbucket-comment-style.md    │
          │  inline (file:line) > general          │
          │  ⛔ WAIT FOR APPROVAL                 │
          └──────────────┬───────────────────────┘
                         │ approved (all/selective)
          ┌──────────────▼───────────────────────┐
          │  Step 7: Post Comments                │
          │  bitbucket-prs.sh:                    │
          │  inline-comment / comment / reply      │
          └──────────────┬───────────────────────┘
                         │
          ┌──────────────▼───────────────────────┐
          │  Step 8: Summary Report               │
          └──────────────┬───────────────────────┘
                         │
          ┌──────────────▼───────────────────────┐
          │  Step 9: claude-mem                    │
          │  Save: findings, divergent approaches, │
          │  patterns, recurring author issues     │
          └──────────────────────────────────────┘

Agents: 1 Opus (Track A) + 1 Opus-orch(→5 Opus) (Track B)
        + N Haiku scorers + 1 Opus (Synthesis)
Total:  ~10-15 sub-agents

Skills 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.

Technical Stack

AI Models
Claude Opus / Sonnet / Haiku
Sandbox
NVIDIA NemoClaw
Gateway
OpenClaw (TypeScript)
Memory
ChromaDB + SQLite
CLI Tools
Bash / Python
Messaging
Telegram Bot API
Integrations
Bitbucket / Jira / Sentry
DevOps
Docker
Back to All Works