Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -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
15 changes: 15 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -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

5 changes: 5 additions & 0 deletions dashboard/src/App.tsx
Original file line number Diff line number Diff line change
@@ -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';
Expand Down Expand Up @@ -68,6 +69,10 @@ function App() {
>
<RenderPanel />
</div>

<div className="mt-8">
<GuardianConfigForm />
</div>
</main>

<footer className="px-6 pb-6 max-w-5xl mx-auto text-[11px] text-gray-500 dark:text-gray-400">
Expand Down
3 changes: 2 additions & 1 deletion dashboard/src/components/Field.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ const baseInputClasses =
const errorInputClasses =
'border-red-500 dark:border-red-500 focus:ring-red-500';


/**
* `Field` accessible form input with label, optional hint, and inline
* `Field` accessible form input with label, optional hint, and inline
* error display. Errors are wired with `role="alert"` and `aria-invalid`
* so screen-readers announce validation failures immediately.
*/
Expand Down
2 changes: 1 addition & 1 deletion dashboard/src/hooks/useZodForm.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useCallback, useMemo, useState } from 'react';
import { useCallback, useMemo, useState } from 'react';
import type { FormEvent } from 'react';
import type { z } from 'zod';

Expand Down
2 changes: 1 addition & 1 deletion dashboard/src/lib/validation.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { z } from 'zod';
import { z } from 'zod';

/**
* Schema validators for the Guardian Dashboard.
Expand Down
7 changes: 7 additions & 0 deletions dashboard/src/lib/validation.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
git : fatal: path 'dashboard/src/hooks/useZodForm.ts' exists on disk, but not in '730ee5b^'
At line:2 char:53
+ ... re-engine'; git show 730ee5b^:dashboard/src/hooks/useZodForm.ts > tem ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (fatal: path 'da...t in '730ee5b^':String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError

Binary file added engine-bridge/event-queue.db
Binary file not shown.
Loading