diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..ce0e903
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,31 @@
+name: CI
+
+on: [push, pull_request]
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version: 18
+
+ - name: Install & test engine-bridge
+ working-directory: engine-bridge
+ run: |
+ npm ci
+ npm test --silent
+
+ - name: Setup Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ override: true
+
+ - name: Test engine-core (Rust)
+ working-directory: engine-core
+ run: cargo test --locked --verbose
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..0f2b4b9
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,15 @@
+# Task #69 β Circuit breaker checks + enhanced event processing
+
+- [ ] Gather repo context: circuit breaker usage in engine-core; event processing flow in engine-bridge; dashboard wiring
+- [ ] Resolve discrepancies found in current code (e.g., EventPropagator/HeartbeatMonitor API mismatches)
+- [ ] Implement/verify circuit breaker checks integration (contract-side already present; ensure any missing entry-points call assert_closed)
+- [ ] Enhance event processing reliability:
+ - [ ] Ensure max-events-per-cycle enforced in both normal processing and recovery
+ - [ ] Fix cursor persistence / heartbeat visibility (EventPropagator.isRunning usage)
+ - [ ] Ensure RPC endpoint probing and status reporting are exposed/used correctly
+ - [ ] Confirm queue processing error isolation + retries behavior
+- [ ] Run tests/build:
+ - [ ] cargo test (engine-core)
+ - [ ] npm test/build (engine-bridge, dashboard)
+- [ ] Finalize by ensuring TypeScript compile passes and tests are green
+
diff --git a/dashboard/src/App.tsx b/dashboard/src/App.tsx
index 4021995..59c1ecd 100644
--- a/dashboard/src/App.tsx
+++ b/dashboard/src/App.tsx
@@ -1,6 +1,7 @@
import { useState, type ReactNode } from 'react';
import { Shield } from 'lucide-react';
import { ThemeToggle } from './components/ThemeToggle';
+import GuardianConfigForm from './components/GuardianConfigForm';
import { GuardianConfigForm } from './components/GuardianConfigForm';
import { Tabs, type TabDescriptor } from './components/Tabs';
import { RpcSettings } from './components/RpcSettings';
@@ -68,6 +69,10 @@ function App() {
>
+
+
+
+