public system overview

JARVIS

This public page explains the production system. The authenticated dashboard contains production actions for content and paper trading. Finance stays private and appears only after source verification. Each run returns ordered, redacted evidence or a visible failure.

SYS.OVERVIEW // 01

What it is

This page gives public information about Jarvis. The production dashboard uses GitHub sign-in and an explicit roster. It exposes content and paper trading. Finance appears only for the owner after private source validation. Shopping and live trading stay outside the production dashboard. Historical evidence remains available through the named repository link.

LIVE ACTIONS

Allowed owners and testers can start content and paper-trading runs from the production dashboard.

PROOF

Each run shows ordered state changes and redacted evidence from the production services.

PRIVATE FINANCE

Finance is owner-only. It stays absent until every private statement source passes exact validation.

HARD BOUNDARIES

Live trading, Shopping, checkout, and payment are not public actions. A failed step stops the run.

SYS.SWARM // 04

Meet the Swarm

SDLC v2 agents (Nanami, Aizen, Karen) run resumable sessions per task. Persistent watchers sit on an in-process event bus; Immune runs as an external service. Ephemeral executors spawn per task and exit when the work is done.

JARVIS

PERSISTENT

Interface

Dry-wit companion in Discord. Remembers you via Mem0, classifies chat vs execute, narrates results. Chat path uses DeepSeek when DEEPSEEK_ENABLED is on.

DeepSeek when enabled

NANAMI

PERSISTENT

Supervisor

PM for SDLC v2. Squeezes intent with you (G0), signs off gates, opens and merges the PR after Karen. Resumable session per task, not a one-shot.

routed reasoning

AIZEN

EPHEMERAL

Task Executor

One instance per task in a git worktree. Brainstorm → plan → build inside one resumable session. Pushes only to agent/* branches. Never merges.

executor

KAREN

PERSISTENT

Critic

Adversarial QA in a sandbox. Critique rounds until the diff is clean, then Nanami merges. Escalates when rounds stay unresolved.

reasoning

IMMUNE

EXTERNAL

Self-repair

External self-repair loop. Classifies failures, applies small repairs, test-gates patches before promote. Escalates what it cannot fix.

external service

CORTEX

PERSISTENT

Brain

Handles direct execute requests with MCP tools. Plans ordered steps across domain agents and returns results for Jarvis to narrate.

reasoning + MCP

SURGEON

EPHEMERAL

Last Resort

Tier-3 repair. When Immune's registry of fixes cannot heal a failing component, Surgeon is called for heavier intervention.

deep reasoning

SYS.TOPOLOGY // 05

Under the Hood

Agents talk over an in-process event bus with typed events and JSONL persistence. Nanami drives Aizen; Karen critiques; Nanami merges. Immune watches from outside the main loop and escalates what it cannot repair.

EVENT BUSYOUdiscord · voiceJARVISinterfaceNANAMIsupervisor · mergeAIZENtask · worktreeCORTEXbrain · MCP toolsKARENcriticIMMUNEexternal self-repairSURGEONtier-3 repairchat · voiceTASK_EVALUATEG0 → approvespawnsbuild eventsCORTEX_REQUEST/ RESULTCRITIQUE loopNOTIFYs · repairsSURGERY_REQUESTED

Nanami, Aizen, and Karen resume sessions across rounds. Per-task MEMORY.md and FILES_TOUCHED.md still ride in the prompt so a fresh session can recover when resume fails.

SYS.SECURITY // 08

Safety from Constraints

The design rule is simple: safety comes from constraints, not trust. Every layer assumes the model will eventually produce something hostile or broken, and boxes it in, whether it's writing code or spending your money.

✕Agent acts in the real world without asking

✓Strict production actions use one fixed feature scope. Content publication can require an owner decision and a redacted proof record. A broad owner command uses a separate command path.

✕Agent modifies your tests

✓Read-only enforcement. Tests are copied into the workspace and all model output is filtered against readonly patterns.

✕Path traversal in model output

✓extract_files() rejects .. segments, absolute paths, backslashes, and colons.

✕Command injection via test_command

✓Prefix allowlist: npm, npx, python, pytest. Nothing else executes.

✕Agent merges its own code to main

✓Aizen only pushes agent/* branches. In SDLC v2, Nanami opens and merges the PR after Karen. Aizen never pushes to main.

✕Runaway API cost

✓Per-task ($5) and per-day ($15) budgets, 15-iteration cap, STUCK on failure. No silent model shopping. Failsafe dead-man's switch watches spend and stalled tasks.

✕Hostile code during test runs

✓Tests run as a host subprocess under the test_command prefix allowlist and a timeout. No Docker sandbox in the default path.