Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
8c42c91
fix: resolve pre-existing TypeScript and React Compiler lint errors
niko4244 Apr 27, 2026
afcef63
fix: resolve all test failures and lint errors to clean baseline
niko4244 Apr 28, 2026
3c48f80
docs: add hub authority standards and model route registry
niko4244 Apr 28, 2026
60c56dc
feat: add additive SQL migrations for shared memory schema
niko4244 Apr 28, 2026
c63dac4
feat: add agent communication config, daily log, and ambient companion
niko4244 Apr 28, 2026
4335df5
feat: add task routing layer and agent execution guard
niko4244 Apr 28, 2026
d73c5f5
feat: add memory sync CLI and agent execution guard to mc-cli
niko4244 Apr 28, 2026
501e676
docs: add hub consolidation and security hardening reports
niko4244 Apr 28, 2026
96f179e
fix: add audit log for all agent execution attempts
niko4244 Apr 28, 2026
232abba
fix: record hermes execution in mission control memory
niko4244 Apr 28, 2026
082c92a
fix: pass hermes prompt through mission control cli
niko4244 Apr 28, 2026
65a7af1
fix: route hermes memory write through cli-memory service
niko4244 Apr 28, 2026
244eb6e
refactor: centralize cli memory writes in service layer
niko4244 Apr 28, 2026
aa1d988
feat: add structured execution memory metadata
niko4244 Apr 28, 2026
db42e54
feat: outcome-aware scoring and recall loop in execution memory
niko4244 Apr 28, 2026
afc946a
fix: stopword filtering, score threshold, and phrase match boost in r…
niko4244 Apr 28, 2026
fd284f6
fix: require content relevance before score threshold in recall
niko4244 Apr 28, 2026
a60eb90
feat: outcome-driven learning loop with memory marking
niko4244 Apr 28, 2026
b68639b
feat: decision-shaping context split and hint in execution log
niko4244 Apr 28, 2026
ca8f17d
refactor: move context split into memory-service buildContext
niko4244 Apr 28, 2026
2951a8b
feat: shaped execution prompt from memory context
niko4244 Apr 28, 2026
7e1b423
refactor: directive execution prompt headers in buildExecutionPrompt
niko4244 Apr 28, 2026
f9fa5e4
feat: automatic outcome suggestion with classification signal
niko4244 Apr 28, 2026
4e13a8b
feat: outcome review queue with getPendingOutcomes and approve flow
niko4244 Apr 28, 2026
f4f08ec
feat: batch outcome approval with filter validation
niko4244 Apr 28, 2026
631dcec
feat: confidence-based approval filter for memory outcomes
niko4244 Apr 28, 2026
f927b1c
fix: append confidence adjustment atomically on outcome marking
niko4244 Apr 28, 2026
6e6febf
feat: aggregated confidence scoring
niko4244 Apr 29, 2026
1bee6c9
feat: confidence decay over time
niko4244 Apr 29, 2026
688665b
feat: learning quality gate
niko4244 Apr 29, 2026
9d536b4
feat: memory generalization layer
niko4244 Apr 29, 2026
cf0e6b4
feat: anti-pattern priority system and Phase 15 fixes
niko4244 Apr 29, 2026
b7b64f1
feat: evidence-based pattern promotion
niko4244 Apr 29, 2026
1467720
feat: automatic pattern promotion and demotion
niko4244 Apr 29, 2026
304676a
feat: pattern similarity clustering
niko4244 Apr 29, 2026
38f0eac
feat: pattern validation gate
niko4244 Apr 29, 2026
827bc21
feat: outcome-correction correlation
niko4244 Apr 29, 2026
732933e
feat: decision attribution tracking
niko4244 Apr 29, 2026
26b6e41
feat: competing pattern evaluation
niko4244 Apr 29, 2026
96bad70
feat: exploration vs exploitation balance
niko4244 Apr 29, 2026
7029210
feat: stabilize memory learning engine
niko4244 Apr 29, 2026
4c61639
feat: tune scoring weights for stability
niko4244 Apr 29, 2026
3cfff46
feat: add memory CLI and UI-ready API foundation
niko4244 Apr 30, 2026
24764d6
feat: complete pre-UI foundation for Mission Control Memory
niko4244 Apr 30, 2026
338a8e8
Add Mission Control architecture and Passive Income Bot v1
niko4244 May 1, 2026
6ff61f5
Add Mission Control Memory UI and review routes
niko4244 May 1, 2026
4b2bc5e
Add routing validation foundation
niko4244 May 1, 2026
d4155ec
Add Repo Steward v1 (observe-only repo health agent)
niko4244 May 2, 2026
4cb6fc2
Add Skill Intake v1 (observe-only external repo candidate registry)
niko4244 May 2, 2026
6d63983
Merge skill-intake-v1 into main
niko4244 May 2, 2026
a6f661f
feat: add Mission Control Coordinator v1 (observe-only orchestration …
niko4244 May 2, 2026
58b5251
Add Mission Control drift detection v1
niko4244 May 2, 2026
da4a61b
Add Mission Control recommendation engine
niko4244 May 2, 2026
d9a662e
Add Mission Control approval gate
niko4244 May 2, 2026
98869db
feat: wire approvals to coordinator dispatch
niko4244 May 2, 2026
33bf2fd
refactor: unify memory write path to single CJS service
niko4244 May 2, 2026
56a9ab0
feat: add PassiveIncomeBotPanel to dashboard
niko4244 May 2, 2026
dd55f87
test: add routing-validation tests
niko4244 May 3, 2026
d6bbc69
fix: hard-exit on non-observe_only agent in coordinator
niko4244 May 3, 2026
314a16a
feat: rate limit passive income bot API route
niko4244 May 3, 2026
feafce4
Add Systems Curator and wire memory review
niko4244 May 3, 2026
d7d2e4e
Fix repo-steward script path to existing implementation
niko4244 May 3, 2026
2c5994b
Align scheduling docs with cron runtime
niko4244 May 3, 2026
ecdee3f
Clarify agent registry source of truth and planned agents
niko4244 May 3, 2026
f758d08
docs(vault): add knowledge vault foundation
niko4244 May 4, 2026
1d52245
feat(coordination): add Agent Coordination v1 (observe-first, validat…
niko4244 May 4, 2026
64bcb62
fix(coordination): enforce dependency rules by mode + restore full ty…
niko4244 May 4, 2026
6c0c419
feat(control): add command contract, execution gate, session risk, an…
niko4244 May 4, 2026
99ea4ee
feat(control): add control interface entry point
niko4244 May 4, 2026
df2b9dc
docs(control): add control engine v1 reference
niko4244 May 4, 2026
05657dc
docs(control): enforce control interface usage guidance
niko4244 May 4, 2026
fc27674
feat(control): classify local capability criticality
niko4244 May 4, 2026
2b50259
Add draft-only Mission Control request lifecycle
niko4244 May 4, 2026
33179f2
Add Mission Control request gateway
niko4244 May 4, 2026
02cef03
Wire request gateway into API routes
niko4244 May 4, 2026
51cbe93
fix(gate): wire execution gate into passive-income-bot route and mc-e…
niko4244 May 5, 2026
cbe521a
Merge Mission Control Coordinator v1
niko4244 May 5, 2026
f155dea
feat(registry): consolidate to single canonical agent registry in JSON
niko4244 May 5, 2026
8ab2128
Merge registry consolidation v1
niko4244 May 5, 2026
8499c04
Add PR Reviewer Bot v1 and Mission Control preflight hardening
niko4244 May 6, 2026
a25f0ab
Narrow super tenants GET import boundary
niko4244 May 6, 2026
fceca18
refactor(super): narrow provision-jobs GET import boundary (#4)
niko4244 May 6, 2026
5b78335
feat(audit): add Route Import Boundary Audit v1 observe-only bot (#5)
niko4244 May 6, 2026
cf9dc9b
feat(planner): add Boundary Patch Planner v1 observe-only bot (#6)
niko4244 May 6, 2026
e48ed37
Add PR Lifecycle Orchestrator v1 (#7)
niko4244 May 6, 2026
5424a55
feat(governor): add Workflow Governor v1 observe-only lifecycle contr…
niko4244 May 6, 2026
3aa1a67
chore: ignore local OpenCode config
niko4244 May 7, 2026
86e6a7e
chore: add Mission Control status command
niko4244 May 7, 2026
849fa9c
feat(status): add Mission Control status API route (#9)
niko4244 May 7, 2026
cabb2ff
Merge branch 'main' of https://github.com/niko4244/mission-control
niko4244 May 7, 2026
8463a12
feat(ui): add Mission Control status panel (#10)
niko4244 May 7, 2026
010a4fc
Merge branch 'main' of https://github.com/niko4244/mission-control
niko4244 May 7, 2026
2e54ccd
fix(ui): polish mc-status panel (#11)
niko4244 May 7, 2026
8febd14
Merge branch 'main' of https://github.com/niko4244/mission-control
niko4244 May 7, 2026
dba9736
feat(ui): add Governor Status card to Overview dashboard (#12)
niko4244 May 7, 2026
d45deae
Merge branch 'main' of https://github.com/niko4244/mission-control
niko4244 May 7, 2026
9971814
Stabilize execution boundaries and recovery paths
niko4244 May 8, 2026
f2a4eed
Harden workspace-scoped route access
niko4244 May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Agent loop logs
logs/

# Dependencies
node_modules/

Expand Down Expand Up @@ -45,3 +48,6 @@ playwright-report/
# Claude Code context files (root CLAUDE.md is committed for AI agent discovery)
**/CLAUDE.md
!/CLAUDE.md

# OpenCode configuration
opencode.json
35 changes: 35 additions & 0 deletions BLOCKERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Mission Control Implementation Blockers

## TASK 4: Activate memory-review-weekly cron job

**Date**: 2026-05-02

**Blocker**: The cron system (`src/app/api/cron/route.ts`) reads and writes to
`~/.openclaw/cron/jobs.json` (the OpenClaw daemon's config file). There is no
standalone MC-native cron table in the SQLite database.

**Implications**:
- Creating a cron job via `mc cron create` writes to `~/.openclaw/cron/jobs.json`,
which is only processed when the OpenClaw daemon is running.
- Activating the job silently in test/offline context would create a dangling entry
that never fires.
- `SCHEDULES.md` says: "No schedule activates automatically. Owner or Systems
Curator must enable it explicitly." — this is consistent.

**What was implemented instead**:
- Created `scripts/mc-memory-review.cjs` — a standalone observe-only script
that reads the SQLite memory store directly and appends results to
`logs/mc/memory-review.jsonl`.
- `SCHEDULES.md` has **not** been reconciled yet. It still describes the
planned Mission Control cron model and should be updated separately once the
scheduling/runtime story is unified.
- The script is idempotent: running twice in the same UTC day is a no-op.
- Added `"mc:memory-review": "node scripts/mc-memory-review.cjs"` to package.json.
- To wire into OpenClaw cron once the daemon is running:
```bash
mc cron create --name memory-review-weekly --schedule "0 9 * * 1" \
--agent systems-curator --task-template memory-review
```

**Tests**: `src/lib/__tests__/mc-memory-review.test.ts` — covers offline path,
idempotency, and log format.
24 changes: 24 additions & 0 deletions config/model-routes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
routes:
chat:
provider: ollama
model: qwen3.5:9b
purpose: general chat
fallback: anthropic_sonnet

fast:
provider: ollama
model: qwen3.5:9b
purpose: quick local tasks
fallback: null

reason:
provider: ollama
model: deepseek-r1:32b
purpose: math and reasoning
fallback: anthropic_sonnet

heavy_agentic:
provider: ollama
model: qwen3.6:35b-a3b
purpose: large autonomous tasks
fallback: anthropic_opus
150 changes: 150 additions & 0 deletions data/mission-control/agent-registry.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
{
"schema_version": "2",
"description": "Canonical Mission Control agent registry. Single source of truth for all agent identity, coordination metadata, and runtime eligibility. src/lib/agent-coordination.ts derives its registry from this file. ACTIVE agents with enabled:true are coordinator-orchestrated. ACTIVE agents with enabled:false are gate-enforced via API. PLANNED agents are not executable.",
"agents": [
{
"id": "repo-steward",
"name": "Repo Steward",
"status": "ACTIVE",
"mode": "OBSERVE_ONLY",
"owner": "platform",
"system_area": "repository",
"enabled": true,
"observe_only": true,
"command": ["node", "scripts/repo-steward.cjs"],
"timeout_ms": 30000,
"allowed_commands": ["git status", "git log", "git diff"],
"blocked_commands": ["git push", "git reset", "git clean"],
"dependencies": [],
"risk_level": 0,
"description": "Observe-only repository health and cleanliness check"
},
{
"id": "skill-intake",
"name": "Skill Intake",
"status": "ACTIVE",
"mode": "APPROVAL_REQUIRED",
"owner": "platform",
"system_area": "skills",
"enabled": true,
"observe_only": true,
"command": ["node", "scripts/skill-intake.cjs"],
"timeout_ms": 15000,
"allowed_commands": ["pnpm skills:intake"],
"blocked_commands": ["rm", "unlink"],
"dependencies": ["repo-steward"],
"risk_level": 1,
"description": "Observe-only external skill/repo candidate registry reader"
},
{
"id": "systems-curator",
"name": "Systems Curator",
"status": "ACTIVE",
"mode": "OBSERVE_ONLY",
"owner": "platform",
"system_area": "audit",
"enabled": true,
"observe_only": true,
"command": ["node", "scripts/systems-curator.cjs"],
"timeout_ms": 30000,
"allowed_commands": ["node scripts/systems-curator.cjs"],
"blocked_commands": [],
"dependencies": [],
"risk_level": 0,
"description": "Observe-only implementation-gap auditor for Mission Control runtime wiring"
},
{
"id": "mc-coordinator",
"name": "MC Coordinator",
"status": "ACTIVE",
"mode": "OBSERVE_ONLY",
"owner": "platform",
"system_area": "coordination",
"enabled": false,
"observe_only": true,
"command": ["node", "scripts/mc-coordinator.cjs"],
"timeout_ms": 60000,
"allowed_commands": ["node scripts/mc-coordinator.cjs"],
"blocked_commands": [],
"dependencies": ["repo-steward", "systems-curator"],
"risk_level": 1,
"description": "Observe-only orchestration spine that runs all enabled observe_only agents"
},
{
"id": "passive-income-bot",
"name": "Passive Income Bot",
"status": "ACTIVE",
"mode": "APPROVAL_REQUIRED",
"owner": "products",
"system_area": "bots",
"enabled": false,
"observe_only": false,
"command": ["node", "scripts/passive-income-bot.cjs"],
"timeout_ms": 30000,
"allowed_commands": ["node scripts/passive-income-bot.cjs"],
"blocked_commands": ["curl", "fetch", "wget"],
"dependencies": [],
"risk_level": 2,
"description": "Heuristic product opportunity scorer. Invoked via POST /api/bots/passive-income with execution gate enforcement. Not coordinator-orchestrated."
},
{
"id": "pr-reviewer-bot",
"name": "PR Reviewer Bot",
"status": "ACTIVE",
"mode": "OBSERVE_ONLY",
"owner": "platform",
"system_area": "review",
"enabled": false,
"observe_only": true,
"command": ["node", "scripts/pr-reviewer.cjs"],
"timeout_ms": 300000,
"allowed_commands": ["gh pr view", "gh pr diff", "gh pr comment", "node scripts/pr-reviewer.cjs"],
"blocked_commands": ["gh pr merge", "git push", "git commit", "git reset"],
"dependencies": ["repo-steward", "systems-curator"],
"risk_level": 1,
"description": "Observe-only PR review agent. Classifies file risk, scans diff for red flags, runs local validation, emits structured JSON and Markdown reviewer comment. No merge capability."
},
{
"id": "stocks-research-bot",
"name": "Stocks Research Bot",
"status": "PLANNED",
"enabled": false,
"description": "Equity and ETF research, paper trading simulation. Not yet wired."
},
{
"id": "sports-betting-bot",
"name": "Sports Betting Bot",
"status": "PLANNED",
"enabled": false,
"description": "Sports odds research, edge detection, paper betting simulation. Not yet wired."
},
{
"id": "appliance-bot",
"name": "Appliance Intelligence Bot",
"status": "PLANNED",
"enabled": false,
"description": "Appliance fault diagnosis, repair guidance, parts research. Not yet wired."
},
{
"id": "builder-bot",
"name": "Builder Bot",
"status": "PLANNED",
"enabled": false,
"description": "Code generation, CI/CD, dependency management. Not yet wired."
},
{
"id": "research-scout",
"name": "Research Scout",
"status": "PLANNED",
"enabled": false,
"description": "Literature review, competitive analysis, web intelligence. Not yet wired."
},
{
"id": "content-bot",
"name": "Content Bot",
"status": "PLANNED",
"enabled": false,
"description": "Copywriting, image prompts, social media drafts. Not yet wired."
}
]
}
72 changes: 72 additions & 0 deletions data/mission-control/skill-intake.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"schema_version": "1",
"description": "Observe-only registry of external repos and skills under consideration for future study or integration.",
"entries": [
{
"name": "TradingAgents",
"repo_url": "https://github.com/TauricResearch/TradingAgents",
"category": "trading-agents",
"proposed_use": "Study multi-agent trading strategy patterns and debate-style agent architecture for use in Stephen the stocks bot and future Polymarket work",
"integration_status": "candidate",
"risk_level": 1,
"allowed_actions": ["read", "study", "reference", "cite-patterns"],
"forbidden_actions": ["clone", "install", "execute", "vendor", "modify-dependencies", "import-directly"],
"notes": "Multi-agent LLM framework for financial trading research by TauricResearch. High relevance to mission-control agent orchestration patterns."
},
{
"name": "jcode",
"repo_url": "https://github.com/1jehuang/jcode",
"category": "coding-tools",
"proposed_use": "Study lightweight coding agent or task-routing patterns that may complement mission-control CLI agent design",
"integration_status": "candidate",
"risk_level": 0,
"allowed_actions": ["read", "study", "reference"],
"forbidden_actions": ["clone", "install", "execute", "vendor", "modify-dependencies", "import-directly"],
"notes": "Small coding tool repo. Low risk. Observe and assess for CLI agent patterns."
},
{
"name": "mattpocock-skills",
"repo_url": "https://github.com/mattpocock/skills",
"category": "skills-framework",
"proposed_use": "Study skill registration and dispatch patterns for use in mission-control skills subsystem",
"integration_status": "candidate",
"risk_level": 0,
"allowed_actions": ["read", "study", "reference", "adapt-patterns"],
"forbidden_actions": ["clone", "install", "execute", "vendor", "modify-dependencies", "import-directly"],
"notes": "Matt Pocock's skills repo. Useful reference for structured skill dispatch and type-safe skill registration."
},
{
"name": "browserbase-skills",
"repo_url": "https://github.com/browserbase/skills",
"category": "browser-automation",
"proposed_use": "Study browser automation skill patterns for potential future agent browser-use integration in mission-control",
"integration_status": "candidate",
"risk_level": 1,
"allowed_actions": ["read", "study", "reference"],
"forbidden_actions": ["clone", "install", "execute", "vendor", "modify-dependencies", "import-directly"],
"notes": "Browserbase skills repo. Relevant if mission-control agents need browser-use capabilities in future phases."
},
{
"name": "sim",
"repo_url": "https://github.com/simstudioai/sim",
"category": "agent-simulation",
"proposed_use": "Study simulation studio architecture for multi-agent workflow design patterns applicable to mission-control orchestration layer",
"integration_status": "candidate",
"risk_level": 1,
"allowed_actions": ["read", "study", "reference", "cite-patterns"],
"forbidden_actions": ["clone", "install", "execute", "vendor", "modify-dependencies", "import-directly"],
"notes": "SimStudio AI visual agent workflow tool. Observe for orchestration and simulation patterns."
},
{
"name": "superpowers",
"repo_url": "https://github.com/obra/superpowers",
"category": "agent-augmentation",
"proposed_use": "Study developer superpower augmentation patterns for possible integration into mission-control agent capability layer",
"integration_status": "candidate",
"risk_level": 0,
"allowed_actions": ["read", "study", "reference"],
"forbidden_actions": ["clone", "install", "execute", "vendor", "modify-dependencies", "import-directly"],
"notes": "obra/superpowers developer augmentation toolkit. Low risk. Review for agent capability extension ideas."
}
]
}
22 changes: 22 additions & 0 deletions docs/CLI-QUICKREF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Mission Control CLI

Usage:
mc memory status Show memory status
mc memory sync --dry-run Scan memory sources (no changes)
mc memory sync --apply Sync memory to MC DB
mc memory query "<term>" Search memory

mc agents run hermes --task <id> "p" Execute with task guard
mc task create "title" Create task
mc task list List tasks
mc task status <id> Get task

Examples:
mc memory status
mc memory sync --dry-run
mc memory sync --apply
mc memory query "hermes"

mc task create "Cleanup logs"
mc task list
mc agents run hermes --task 1 "analyze"
Loading