Devin
|
59e1a85267
|
PR D: typed + signed event bus + events table + SSE (arch step 5)
CI / Frontend Lint (pull_request) Failing after 7s
CI / Frontend Type Check (pull_request) Failing after 7s
CI / Frontend Build (pull_request) Failing after 10s
CI / Frontend E2E Tests (pull_request) Failing after 10s
CI / Orchestrator Build (pull_request) Failing after 7s
CI / Contracts Compile (pull_request) Failing after 8s
CI / Contracts Test (pull_request) Failing after 7s
Code Quality / SonarQube Analysis (pull_request) Failing after 19s
Code Quality / Code Quality Checks (pull_request) Failing after 5s
Security Scan / Dependency Vulnerability Scan (pull_request) Failing after 3s
Security Scan / OWASP ZAP Scan (pull_request) Failing after 4s
- db/migrations/003_events.ts: append-only events table with
payload_hash, prev_hash, HMAC signature, indexed by plan_id + type
- services/eventBus.ts: EVENT_TYPES union (all 15 arch §7.2
categories), publish() with hash-chain + HMAC signing, verifyChain()
for tamper detection, subscribe() via in-process EventEmitter
- api/plans.ts:
- GET /api/plans/:planId/events (?verify=1 returns chain_valid)
- GET /api/plans/:planId/events/stream (SSE with history replay +
live push, 15s keep-alive, clean unsubscribe on client disconnect)
- index.ts: register the two new endpoints
- tests/unit/eventBus.test.ts: 9 tests covering publish, hash chain,
per-plan isolation, and three tamper-detection scenarios (payload,
signature, prev_hash)
60 tests pass. tsc clean.
|
2026-04-22 17:17:16 +00:00 |
|