diff --git a/README.md b/README.md
index cc209ea..b07baa9 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
-
+
@@ -42,34 +42,41 @@ A locally-hosted operating system for AI agents β an open-source GitHub reposi
| **π§ Smart Router** | Keyword-based task routing with confidence scoring β suggests best agent for any task |
| **π Learning Analytics** | Skill evaluation scores, performance trends, and historical charts |
| **π¬ Session Replay** | Browse and replay past opencode sessions from the dashboard |
+| **β Error Dashboard** | Real-time error tracking with category filtering and circuit breaker status |
+| **π Circuit Breaker** | Auto-trip after N failures, auto-recovery after 300s, manual reset |
+| **β± Event-Driven Scheduler** | File-watcher auto-reloads jobs on change, webhook receiver, execution history |
+| **π Webhook Receiver** | `/api/webhook` β trigger skill execution from external tools |
+| **π§ SQLite FTS5 Memory** | Full-text search across brain, skills, journal with entity extraction |
+| **π€ Auto-Skill Generator** | `POST /api/skills/generate` β create SKILL.md from natural language |
+| **π± Mobile PWA** | Bottom navigation bar, manifest.json, service worker, touch-friendly UI |
---
## π Architecture
```
-ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-β AGENTIC OS DASHBOARD β
-β FastAPI + Tailwind SPA β
-ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
-β β
-β βββββββββββββββ-β ββββββββββββββββ ββββββββββββββββββββ |
-β β opencode β β Hermes β β Gemini CLI β β
-β β (Code/DevOps)β β (Memory/Schedβ β (Research/Analy) β β
-β β File Ops) β β /Channels) β β β β
-β βββββββββββββββ-β ββββββββββββββββ ββββββββββββββββββββ |
-β β
-β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
-β β 7 CORE LAYERS (Stacked) β β
-β β Layer 7: Identity / Persona / Constitution β β
-β β Layer 6: Self-Evolution + Capability Manager β β
-β β Layer 5: Scheduler + Awareness + Health Guardian β β
-β β Layer 4: Memory Graph + Memory Consolidation β β
-β β Layer 3: Skills Hub + Eval + Learnings Loop β β
-β β Layer 2: Business Brain + Context Folders β β
-β β Layer 1: Agent Router + Standards + Profiles β β
-β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
-ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+β AGENTIC OS DASHBOARD β
+β FastAPI + Tailwind SPA β
+ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
+β β
+β ββββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββ
+β β opencode β β Hermes β β Gemini CLI ββ
+β β (Code/DevOps) β β (Memory/Sched) β β (Research/Analy) ββ
+β β File Ops) β β /Channels) β β ββ
+β ββββββββββββββββββ ββββββββββββββββββ βββββββββββββββββββββββ
+β β
+β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
+β β 7 CORE LAYERS (Stacked) β β
+β β Layer 7: Identity / Persona / Constitution β β
+β β Layer 6: Self-Evolution + Capability Manager β β
+β β Layer 5: Scheduler + Awareness + Health Guardian β β
+β β Layer 4: Memory Graph + Memory Consolidation β β
+β β Layer 3: Skills Hub + Eval + Learnings Loop β β
+β β Layer 2: Business Brain + Context Folders β β
+β β Layer 1: Agent Router + Standards + Profiles β β
+β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
+ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
### Agent Responsibilities
@@ -157,7 +164,7 @@ agentic-os/
β βββ api.js # API client (all endpoints)
β βββ styles.css # Full dark/light theme CSS
β βββ utils.js # Shared utilities
-β βββ pages/ # 20 page modules (13 original + 7 v0.2.0)
+β βββ pages/ # 21 page modules (13 original + 7 v0.2.0 + 1 v0.3.0)
β βββ dashboard.js # Overview with stats
β βββ skills.js # Skill grid/list/detail
β βββ memory.js # Brain file editor
@@ -177,9 +184,11 @@ agentic-os/
β βββ agent-health.js # βΈ Agent Health (v0.2.0)
β βββ smart-router.js # βΈ Smart Router (v0.2.0)
β βββ learning-analytics.js # βΈ Learning Analytics (v0.2.0)
-β βββ session-replay.js # βΈ Session Replay (v0.2.0)
+β βββ session-replay.js # βΈ Session Replay (v0.2.0)
+β βββ errors.js # βΈ Error Dashboard (v0.3.0)
β
βββ brain/ # Shared context (all agents read)
+β βββ memory_search.py # βΈ SQLite FTS5 search (v0.3.0)
β βββ business-brain.md # Current project context
β βββ memory.md # Accumulated knowledge
β βββ recent-decisions.md
@@ -211,13 +220,38 @@ agentic-os/
βββ registry/ # Plugin marketplace
βββ standards/ # Discover/inject conventions
βββ prompts/ # 10 reusable templates
-βββ data/ # Runtime data (agent-routes.json tracked; settings/cost/chat gitignored)
+βββ data/ # Runtime data (agent-routes.json tracked; settings/cost/chat/error/scheduler/memory/circuit/kanban gitignored)
βββ audit/ # Activity log (gitignored)
βββ backups/ # Snapshots (gitignored)
```
---
+## π What's New in v0.3.0
+
+| Feature | Description |
+|---------|-------------|
+| **π Security Audit** | 23 vulnerabilities fixed: 3 CRITICAL (path traversal), 8 HIGH (XSS, command injection, missing headers), 7 MEDIUM. Security headers middleware added (CSP, HSTS, X-Frame-Options) |
+| **β± Event-Driven Scheduler** | Rewritten with file-watcher auto-reload (watchdog-style), webhook receiver at `/api/webhook`, execution history, manual job triggers |
+| **β Error Dashboard** | New `/api/errors` endpoints with category filtering (agent/skill/api/system). Dedicated dashboard page with error log + circuit breaker status cards |
+| **π Circuit Breaker** | Auto-trip after 3 failures, half-open recovery after 300s. Per-agent state tracking with manual reset. Prevents cascading failures to offline agents |
+| **π§ Persistent Memory (SQLite FTS5)** | Full-text search across `brain/*.md`, `skills/*/*.md`, `brain/journal/`. Entity extraction (persons, emails, URLs, acronyms, IPs). Reindex endpoint |
+| **π€ Auto-Skill Generator** | `POST /api/skills/generate` takes natural language description β creates full SKILL.md with eval.json and context folder |
+| **π Webhook Receiver** | Generic webhook at `/api/webhook/generic` plus skill-targeted webhooks. Integrates with GitHub, CI/CD, external tools |
+| **π± Mobile PWA** | Bottom navigation bar, `manifest.json`, service worker (offline fallback), PWA meta tags, touch-friendly 16px inputs, responsive grid collapse |
+
+### Security Hardening
+- **Path traversal**: All file endpoints validate `..` and `/` in user-supplied names
+- **XSS elimination**: 19 violations fixed across 7 JS files β all `onclick` handlers use `encodeURIComponent`, all text uses `escapeHtml()`
+- **Security headers**: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
+- **CORS restricted**: Only `http://127.0.0.1:8080` and `http://localhost:8080`
+- **API keys masked**: `/api/settings` returns keys as masked values (e.g., `sk-o****`)
+- **Input validation**: Chat messages limited to 10K chars, brain/skill names reject special chars
+- **Session replay**: Content limited to 2000 chars, path traversal prevented
+- **Runtime data gitignored**: `error-log.json`, `circuit-breaker.json`, `scheduler-history.json`, `memory.db`, `kanban/*.json`
+
+---
+
## π What's New in v0.2.0
| Feature | Description |
@@ -280,6 +314,24 @@ View evaluation scores for all 16 skills. Trends chart shows score progression o
### Session Replay (v0.2.0)
Browse opencode session logs by date and size. Click "Replay" to view all messages in a chat-like interface.
+### Error Dashboard (v0.3.0)
+View system errors grouped by category (agent, skill, API, system). Filter by category, clear all errors. Circuit breaker cards show per-agent failure state β reset from the dashboard.
+
+### Event-Driven Scheduler (v0.3.0)
+Jobs auto-reload when JSON files in `scheduler/jobs/` change. Trigger skills via webhooks at `POST /api/webhook` with `{"skill": "skill-name", "payload": {...}}`. Manual trigger at `/api/scheduler/trigger/{job_id}`.
+
+### Persistent Memory Search (v0.3.0)
+Full-text search across all brain files, skills, and journal entries via SQLite FTS5. Query at `GET /api/memory/search?q=...` with highlighted snippets. Reindex at `POST /api/memory/reindex`. Entities (persons, emails, URLs) auto-extracted.
+
+### Auto-Skill Generator (v0.3.0)
+Create new skills from natural language: `POST /api/skills/generate` with `{"name": "my-skill", "description": "Does X by doing Y"}`. Generates SKILL.md, eval.json, learnings.md, and context folder.
+
+### Webhooks (v0.3.0)
+`POST /api/webhook` β trigger any skill by name. `POST /api/webhook/generic` β catch-all for external tool integration (GitHub, CI/CD, etc.).
+
+### Mobile PWA (v0.3.0)
+Open Agentic OS on your phone β bottom nav bar replaces sidebar, touch targets are 44px+, service worker caches assets. Add to home screen for app-like experience.
+
---
## π Comparison: Agentic OS vs Claude Agent OS (Julian Goldie)