Project Managers Reference
This page is a Reference. It describes each PM's capabilities, spawn conditions, memory layout, and worker model routing. Consult it when you need to know which PM handles a task type, what models they use, or how their memory is structured. For background on why the PM model exists, see Architecture.
PM Overview
| PM | Domain | Model | Memory Dir | Spawn Trigger |
|---|---|---|---|---|
| FORGE | Engineering | Opus 4.6 + thinking:high | memory/pm-forge/ |
Code, build, test, architecture |
| GHOST | GitHub Intel + Merge | Sonnet 4.6 | memory/pm-ghost/ |
Sync cycle, PR merge, intel sweep |
| ORACLE | AI Research | Opus 4.6 | memory/pm-ai-intel.md |
Research, competitive intel, AI signals |
| SENTINEL | Operations | Opus 4.6 | memory/pm-sentinel.md |
Health checks, infra, security |
| COMPASS | Strategy | Opus 4.6 | memory/pm-compass/ |
Revenue strategy, product decisions |
| SAGE | Content + Communications | Sonnet 4.6 | memory/pm-sage/ |
Content creation, publishing, pitch materials |
PM Lifecycle
All PMs follow the same lifecycle regardless of domain:
VECTOR spawns PM with task spec
βββΆ PM boot sequence:
1. Read BRAIN.md (identity, domain rules)
2. Semantic search lessons.md (relevant past task patterns)
3. Read beliefs.json (active BEE beliefs for this PM's domain)
4. Read injected skill context (auto-matched skills)
5. Begin task work
βββΆ Task execution:
1. Plan β Gate A
2. Spawn worker(s) with [GATE:GATE-A-ID] in spec
3. Receive completion signal (worker session ends)
4. Review via git diff β Gate B
5. Integration check β Gate C
βββΆ PM close sequence:
1. Write task result to ticket
2. Output belief_updates JSON
3. Compact own memory (lessons.md append)
4. Session ends β context discarded
Session timeout: 30 minutes. Cron PM timeout: 20 minutes. Worker timeout: 15 minutes.
FORGEβCodex communication rule: FORGE communicates with Codex workers via Git only. FORGE spawns a worker, waits for session end (completion signal), then reviews git diff main..task/TASK-xxx. FORGE never monitors PTY output or reads worker self-reports.
FORGE
Domain: Engineering β code, architecture, build, testing, debugging.
Model: anthropic/claude-opus-4-6 with thinking:high always enabled.
Primary trigger conditions:
- Any task involving code creation, modification, or review
- Build failures requiring diagnosis
- Architecture decisions requiring analysis
- Test coverage gaps
- Security patches with code impact
Worker model routing:
| Work type | Model |
|---|---|
| Code/terminal/build execution | openai-codex/gpt-5.3-codex |
| Gate A scope review | anthropic/claude-opus-4-6 (FORGE itself) |
| Gate B code review | anthropic/claude-opus-4-6 (FORGE itself, thinking:high) |
| Gate D diff review | anthropic/claude-opus-4-6 (FORGE itself) |
| Writing/docs/specs | anthropic/claude-sonnet-4-6 |
Memory layout:
| File | Contents |
|---|---|
memory/pm-forge/BRAIN.md |
FORGE identity, engineering standards, zero-regression protocol |
memory/pm-forge/lessons.md |
Searchable engineering task history |
memory/pm-forge/beliefs.json |
Active BEE beliefs scoped to engineering |
Hard rule: FORGE must follow the Zero-Regression Protocol on every code change:
- Read codebase before touching it
- Plan with minimal blast radius
- Document blast radius in task spec
- Surgical fix β change only what's required
- Validate:
tsc+ full test suite + smoke test
BRAIN.md: Must never be deleted. Permanent file.
GHOST
Domain: GitHub intelligence, upstream sync, merge engineering, security advisories.
Model: anthropic/claude-sonnet-4-6
Primary trigger conditions:
- Scheduled sync cycles (07:00, 15:00, 23:00 EST)
- Upstream changes requiring merge classification
- PR review requests from VECTOR inbox
- Daily intelligence sweep (07:00 EST)
- ClawHub scan (daily, part of intel sweep)
Cron schedules:
| Cron ID | Schedule | Function |
|---|---|---|
62f942de |
07:00, 15:00, 23:00 EST | Sync Cycle β detect, classify, merge, validate, promote |
015f8062 |
07:00 EST | Intelligence Sweep β CVEs, ecosystem trends, ClawHub scan |
Worker model routing:
| Work type | Model |
|---|---|
| Merge/build/git operations | openai-codex/gpt-5.3-codex |
| Conflict analysis / intel writing | anthropic/claude-sonnet-4-6 |
Merge classification system:
| Classification | Action | GHOST can auto-proceed? |
|---|---|---|
SAFE |
Low risk, no custom patch conflicts | Yes |
CAUTION |
Moderate risk, requires review | Yes, with logging |
DANGER |
High risk, touches protected files | No β escalate to VECTOR |
Batch size limit: Batches larger than 20 commits β automatic escalation. GHOST does not auto-merge large batches without VECTOR review.
CUSTOM_PATCHES.md: GHOST is the sole maintainer. No other PM or agent writes to this file.
Memory layout:
| File | Contents |
|---|---|
memory/pm-ghost/BRAIN.md |
GHOST identity, merge rules, classification criteria |
memory/pm-ghost/lessons.md |
Past merge decisions and outcomes |
memory/pm-ghost/beliefs.json |
Active BEE beliefs for GitHub/sync domain |
Intel sweep output: memory/intel/ghost-clawhub-scan.md β ADOPT/TRIAL/SKIP triage. ADOPT-rated skills generate tickets in tasks/forge.md automatically.
ORACLE
Domain: AI research, competitive intelligence, technology signals.
Model: anthropic/claude-opus-4-6
Primary trigger conditions:
- Scheduled daily sweep (07:15 EST)
- VECTOR requests for competitive analysis
- Market positioning tasks
- Technology evaluation requests
Cron schedule:
| Cron ID | Schedule | Function |
|---|---|---|
58e79401 |
07:15 EST | AI intel sweep β research, synthesis, standup brief |
Worker architecture (multi-step pipeline):
| Step | Model | Role |
|---|---|---|
| 1. Data gathering | anthropic/claude-sonnet-4-6 |
Web search, scraping (multiple parallel workers) |
| 2. Reasoning | openai/o3 (single-shot, no tools) |
Receives full corpus, reasons on implications |
| 3. Synthesis | anthropic/claude-opus-4-6 (ORACLE itself) |
Integrates worker output + o3 analysis |
Important constraint: o3 cannot loop tool calls as a spawned worker (tool incompatibility). o3 always receives full pre-gathered corpus and reasons without tools.
Source coverage:
| Source | Type |
|---|---|
| GitHub Trending | Open-source signals |
| Hacker News | Community signals |
| ArXiv | Research papers |
| Reddit (r/MachineLearning, r/LocalLLaMA) | Practitioner signals |
| X (Twitter) | Early-stage signals |
Rate limit rule: Stagger worker launches when using Brave Search. Parallel workers hitting Brave Search simultaneously trigger rate limits.
Memory layout:
| File | Contents |
|---|---|
memory/pm-ai-intel.md |
ORACLE mission, intel standards, source prioritization |
SENTINEL
Domain: Operations β infrastructure health, deployment safety, security posture.
Model: anthropic/claude-opus-4-6
Primary trigger conditions:
- Scheduled health pulses (08:00, 12:00, 16:00, 20:00 EST)
- Post-promotion health checks
- Security scan requests
- Infrastructure incident response
Cron schedule:
| Cron ID | Schedule | Function |
|---|---|---|
82c33e12 |
08:00, 12:00, 16:00, 20:00 EST | Health Pulse β all services checked, report generated |
Worker model routing:
| Work type | Model |
|---|---|
| Terminal/infra/health check execution | openai-codex/gpt-5.3-codex |
| Security analysis / risk assessment | anthropic/claude-opus-4-6 (SENTINEL itself) |
Standup role: SENTINEL provides the security posture segment of the daily standup:
- Security concerns about work currently in progress
- Data sovereignty status (India deployments)
- Privacy risk flags (Canada/PIPEDA)
- Architecture security gaps in proposed builds
- Attack surface changes from completed work
Memory layout:
| File | Contents |
|---|---|
memory/pm-sentinel.md |
SENTINEL mission, health check definitions, security standards |
COMPASS
Domain: Product strategy, business strategy, revenue analysis.
Model: anthropic/claude-opus-4-6
Primary trigger conditions:
- Revenue strategy decisions
- Product roadmap questions
- ORACLE intel requiring business synthesis
- Country/department targeting for enterprise sales
- Pricing model decisions
Mandate: Synthesizes ORACLE intelligence into actionable revenue strategy. Maps competitive signals to product decisions. Defines country and department targeting for enterprise sales.
Worker model routing:
| Work type | Model |
|---|---|
| Strategy / proposals / analysis | anthropic/claude-sonnet-4-6 |
| Scripting/tooling (rare) | openai-codex/gpt-5.3-codex |
Memory layout:
| File | Contents |
|---|---|
memory/pm-compass/BRAIN.md |
COMPASS identity, strategic frameworks |
memory/pm-compass/lessons.md |
Past strategy decisions and outcomes |
memory/pm-compass/beliefs.json |
Active BEE beliefs for strategy domain |
SAGE
Domain: Content creation, communications, pitch materials, brand voice.
Model: anthropic/claude-sonnet-4-6
Primary trigger conditions:
- Content calendar execution
- LinkedIn, Twitter/X, blog posts
- Pitch materials and proposals
- Meeting preparation briefs
- Documentation (this page was written by SAGE)
Mission statement: Turn strategy into story. Pitch materials, content calendar, meeting narratives, brand voice.
Standup role: SAGE speaks last in the daily standup. Frames the external narrative from everything the other PMs decided β what's the story we're telling the market this week?
Worker model routing:
| Work type | Model |
|---|---|
| All writing β content, proposals, social, comms | anthropic/claude-sonnet-4-6 |
| Scripting/formatting (rare) | openai-codex/gpt-5.3-codex |
Platform constraints SAGE enforces:
| Platform | Character limit | Hashtags | URL policy |
|---|---|---|---|
| LinkedIn personal | 3000 (optimal: 1300) | 3β5, at end | No URLs in body (kills reach) |
| LinkedIn company | 3000 | 3β5, at end | No URLs in body |
| Twitter/X | 280 | Max 2 | URLs count toward limit |
| Blog | 800β2000 words | n/a | Internal links encouraged |
Memory layout:
| File | Contents |
|---|---|
memory/pm-sage/BRAIN.md |
SAGE identity, brand voice standards, platform rules |
memory/pm-sage/lessons.md |
Past content performance patterns |
memory/pm-sage/beliefs.json |
Active BEE beliefs for content domain |
PM Isolation Rules
| Rule | Detail |
|---|---|
| Cross-PM memory reads | Prohibited. PM B cannot read PM A's memory/pm-a/ directory. |
| VECTOR memory reads | VECTOR can read all PM memory directories. No PM can read L4 files (SOUL.md, USER.md). |
| Belief writes | PMs output belief_updates JSON. VECTOR writes to the beliefs table. No direct PM writes to beliefs. |
| CUSTOM_PATCHES.md writes | GHOST only. All other PMs must never write to this file. |
| Chief contact | All PMs prohibited from contacting Chief directly. VECTOR is the sole voice. |
| OS access | All PMs prohibited from browser, terminal verification, Peekaboo, or system config access. VECTOR only. |