# ARCHITECT Masterplan โ€” Implementation vs Deferred **Commit baseline:** `da9b4c7` (pre-ARCHITECT) **Spec source:** `ARCHITECT_MASTERPLAN_1776834551686.md` **Author:** ARCHITECT build agent ยท 2026-04-22 This document maps every numbered section of the masterplan to its implementation status in this commit, plus a concrete migration path for anything deferred to the paid VPS / lab phase. --- ## Legend * โœ… **DONE** โ€” implemented in this commit, importable + covered by tests. * ๐ŸŸก **STUB** โ€” interface present, falls back gracefully when the heavy binary/SDK is missing; ready to "light up" once the dep is installed on the VPS. * โ›” **DEFERRED** โ€” explicitly out of scope for this commit (see notes). --- ## ยง1 โ€” Vision & ยง2 โ€” Capability Targets | Capability | Status | Notes | |----------------------------|--------|-------| | Multi-platform agent | โœ… DONE | `architect/embodied_bridge.py` fans out to Telegram + OpenClaw + Hermes Agent + Discord | | Tier-routed model brain | โœ… DONE | `architect/model_router.py` โ€” DeepSeek V3 / MiniMax M2.5 / Qwen3 / Claude / local | | Skill registry | โœ… DONE | `architect/skill_registry.py` + 19 SKILL.md files in `architect/skills/` | | Autonomous night-mode loop | โœ… DONE | `architect/nightmode.py` โ€” `start_in_background()` boots from `app.py` | | Sandboxed OSS-Guardian | โœ… DONE | `architect/sandbox.py` (docker preferred, process fallback) | ## ยง4 โ€” Architecture / ยง5 โ€” Operating Loops | Layer | Status | Notes | |-----------------------------|--------|-------| | Operator dashboard tab | โœ… DONE | New "๐Ÿ› ARCHITECT" tab in `app.py` | | Embodied bridge | โœ… DONE | `architect/embodied_bridge.py` | | Skill loader | โœ… DONE | `architect/skill_registry.py` | | Tier router + budget cap | โœ… DONE | `architect/model_router.py` (`ARCHITECT_HARD_BUDGET_USD`) | | Sandbox manager | โœ… DONE | `architect/sandbox.py` | | Night-mode scheduler | โœ… DONE | `architect/nightmode.py` (`ARCHITECT_NIGHTMODE=1`, default 18:00 hour) | ## ยง6 โ€” EmbodiedOS | Channel | Status | Notes | |----------------|--------|-------| | Telegram | โœ… DONE | `TELEGRAM_BOT_TOKEN` + `TELEGRAM_CHAT_ID` | | OpenClaw | โœ… DONE | `OPENCLAW_WEBHOOK_URL` | | Hermes Agent | โœ… DONE | `HERMES_AGENT_URL` (POSTs to `/v1/skill/extract`) | | Discord mirror | โœ… DONE | `DISCORD_WEBHOOK_URL` | ## ยง7 โ€” Skill Library (19 skills) ### Phase 1 โ€” foundation (7) โ€” all โœ… * `binary-analysis`, `web-security-advanced`, `api-security`, `memory-safety`, `cryptography-attacks`, `network-protocol`, `cloud-security` ### Phase 2 โ€” broader surface (6) โ€” all โœ… * `mobile-android`, `mobile-ios`, `supply-chain`, `reverse-engineering`, `hardware-protocols`, `container-escape` ### Phase 3 โ€” frontier (6) โ€” all โœ… * `firmware-analysis`, `automotive-security`, `ics-scada`, `rf-radio-security`, `aviation-aerospace`, `satellite-comms` Each SKILL.md ships with YAML front-matter (`triggers.languages`, `triggers.frameworks`, `triggers.asset_types`, `tools`, `severity_focus`) that the registry uses to score against a target profile. ## ยง8 โ€” Model Tier Strategy | Tier | Status | Notes | |----------------------|--------|-------| | Tier 1 โ€” DeepSeek V3 | โœ… DONE | default for static / patch / report tasks | | Tier 2 โ€” MiniMax M2.5| โœ… DONE | long-context + exploit reasoning | | Tier 3 โ€” Qwen3 235B | โœ… DONE | adversarial-review-c | | Tier 4 โ€” Claude S4.6 | โœ… DONE | critical-CVE drafts | | Tier 5 โ€” Local vLLM | โœ… DONE | bulk-triage + budget-exceeded fallback | | Hard budget cap | โœ… DONE | `ARCHITECT_HARD_BUDGET_USD` (default $10) | ## ยง9 โ€” Tooling / MCP servers | MCP server | Status | Notes | |------------------------|--------|-------| | browser-agent-mcp | โœ… DONE | Playwright when available, requests fallback | | scope-parser-mcp | โœ… DONE | H1 + Bugcrowd + Intigriti + raw-text parser | | subdomain-enum-mcp | โœ… DONE | subfinder/amass/dnsx + crt.sh fallback | | httpx-probe-mcp | โœ… DONE | native httpx + threaded requests fallback | | shodan-mcp | ๐ŸŸก STUB | needs `SHODAN_API_KEY` | | wayback-mcp | โœ… DONE | Wayback CDX + URLScan | | frida-runtime-mcp | ๐ŸŸก STUB | wraps `mythos.dynamic.frida_instr`, requires frida on VPS | | ghidra-bridge-mcp | โœ… DONE | analyzeHeadless > radare2 > readelf chain | | can-bus-mcp | ๐ŸŸก STUB | needs `python-can` and a SocketCAN interface | | sdr-analysis-mcp | ๐ŸŸก STUB | needs `rtl_sdr` / `hackrf_transfer` | All 10 are registered in `mcp_config.json` (total 41 MCP servers, up from 31). ## ยง10 โ€” Hardening & Safety | Item | Status | Notes | |-------------------------------|--------|-------| | Bounded log ring buffer | โœ… DONE | `_hermes_logs` is now `deque(maxlen=10_000)` | | Durable `HermesSession` save | โœ… DONE | `persist_hermes_session()` after CONSENSUS + DISCLOSURE | | Operator-gated submission | โœ… DONE | night-mode never auto-submits โ€” see `_phase_report()` | | Sandbox wallclock cap | โœ… DONE | `ARCHITECT_SANDBOX_TIMEOUT_S` (default 4 h) | | ACTS gate on findings | โœ… DONE | `ARCHITECT_ACTS_GATE` (default 0.72) | ## ยง11 โ€” Test Suite New `tests/` directory with 9 modules + shared `conftest.py`: * `test_audit_chain.py` โ€” chained-hash integrity * `test_webhook_hmac.py` โ€” GitHub-style HMAC accept/reject * `test_model_router.py` โ€” tier routing + budget fallback + caller pref * `test_scope_parser.py` โ€” text parser + no-creds graceful path * `test_mcp_servers_load.py` โ€” every MCP module imports + exposes tools * `test_skill_registry.py` โ€” 19 skills load + `match()` picks correctly * `test_job_queue.py` โ€” namespaced enqueue/status round-trip * `test_mythos_diagnostics.py` โ€” availability / mcp / reasoning matrices * `test_nightmode_smoke.py` โ€” phase-report filter + empty-target safety Run with `pytest -q`. ## ยง12 โ€” Deferred (explicit, with migration paths) | Item | Reason | When to enable | |---------------------------------------------|--------|----------------| | Real LoRA training on a 4ร—H100 box | โ›” โ€” needs hardware | Provision GPU VPS, then `RHODAWK_LORA=1` | | Frida live attach to a real device | โ›” โ€” needs USB / device farm | Connect device, `pip install frida` | | `python-can` against a real CAN interface | โ›” โ€” needs vehicle bench | Plug PEAK/Vector dongle, `pip install python-can` | | `pwntools` for real ROP-chain build | โ›” โ€” Linux-only heavy dep | `pip install pwntools` on the VPS | | Replace tiny in-process MCP shim with the | โ›” โ€” works today via stdio | `pip install mcp` on the VPS, swap `_mcp_runtime.py` | | official `mcp` Python SDK | | | | Live HackerOne/Bugcrowd auto-submission | โ›” โ€” by design (operator gate) | Never; remains operator-gated by design | --- ## Operator runbook (post-merge) 1. `pip install -r requirements.txt` โ€” pulls `dnspython` for the new `subdomain-enum-mcp` fallback; everything else lights up automatically when present. 2. Optional secrets to wire on the VPS: ``` OPENROUTER_API_KEY # tiers 1-4 ARCHITECT_NIGHTMODE=1 # arm the 18:00 daily loop ARCHITECT_HARD_BUDGET_USD=20 # daily budget guardrail ARCHITECT_ACTS_GATE=0.72 # raise to 0.80 for stricter triage TELEGRAM_BOT_TOKEN / _CHAT_ID # operator notifications HACKERONE_USERNAME / _API_TOKEN BUGCROWD_API_TOKEN INTIGRITI_API_TOKEN SHODAN_API_KEY URLSCAN_API_KEY OPENCLAW_WEBHOOK_URL HERMES_AGENT_URL DISCORD_WEBHOOK_URL ``` 3. `pytest -q` should be all-green (or skip-only on env-dependent paths). 4. `python app.py` โ€” the new "๐Ÿ› ARCHITECT" tab shows live stats; click "๐ŸŒ™ Run Night-Mode Cycle Now" to smoke the full loop on demand.