oneie
Version:
Build apps, websites, and AI agents in English. Zero-interaction setup for AI agents (Claude Code, Cursor, Windsurf). Download to your computer, run in the cloud, deploy to the edge. Open source and free forever.
268 lines (200 loc) • 7.23 kB
Markdown
---
title: Tests
dimension: things
category: cascade
tags: agent, events
related_dimensions: events, people
scope: global
created: 2025-11-03
updated: 2025-11-03
version: 1.0.0
ai_context: |
This document is part of the things dimension in the cascade category.
Location: one/things/cascade/docs/examples/1-3-event-coordination/tests.md
Purpose: Documents tests for feature 1-3: event coordination system
Related dimensions: events, people
For AI agents: Read this to understand tests.
---
# Tests for Feature 1-3: Event Coordination System
**Feature:** 1-3-event-coordination
**Status:** Tests Defined → Design Phase
**Quality Agent:** agent-quality.md
---
## User Flows
### Flow 1: Create and Log Event
**User goal:** Agent creates event that gets logged
**Time budget:** < 50ms
**Steps:**
1. Agent completes work
2. Agent calls `log(event)` with type and metadata
3. Event assigned unique ID
4. Event written to file
5. Event queryable immediately
**Acceptance Criteria:**
- [ ] Event creation: < 10ms
- [ ] Event written to disk: < 50ms
- [ ] Unique ID assigned
- [ ] File in correct location (`events/workflow/`)
- [ ] Markdown format (human-readable)
- [ ] Event immediately queryable
---
### Flow 2: Query Events
**User goal:** Agent finds relevant events quickly
**Time budget:** < 100ms per query
**Steps:**
1. Agent needs to check status
2. Agent queries events by type or target
3. System returns matching events
4. Agent processes results
5. Agent takes action based on events
**Acceptance Criteria:**
- [ ] Query by type: < 50ms
- [ ] Query by target: < 50ms
- [ ] Query with multiple filters: < 100ms
- [ ] Results sorted by timestamp
- [ ] Limit and offset work correctly
- [ ] Empty results return quickly
---
### Flow 3: Subscribe to Events
**User goal:** Agent automatically acts when event occurs
**Time budget:** < 500ms from event creation to handler execution
**Steps:**
1. Agent subscribes to event type
2. Another agent creates event of that type
3. Subscribing agent's handler triggered
4. Handler executes with event data
5. Handler completes action
**Acceptance Criteria:**
- [ ] Subscription registered successfully
- [ ] Handler triggered on matching events
- [ ] Event data passed to handler
- [ ] Handler execution: < 500ms from event
- [ ] Multiple subscribers all triggered
- [ ] Handlers run in parallel
---
### Flow 4: Agent Coordination (No Manual Handoff)
**User goal:** Agents coordinate through events only
**Time budget:** < 10 seconds for complete coordination cycle
**Steps:**
1. Director assigns feature (logs `feature_assigned`)
2. Specialist receives event (subscribed to `feature_assigned`)
3. Specialist completes work (logs `implementation_complete`)
4. Quality receives event (subscribed to `implementation_complete`)
5. Quality validates (logs `quality_check_complete`)
6. Director receives event (subscribed to `quality_check_complete`)
7. Director marks complete
**Acceptance Criteria:**
- [ ] All coordination via events (0 manual handoffs)
- [ ] No missed events (100% delivery)
- [ ] Agents autonomous within roles
- [ ] Complete cycle: < 10 seconds
- [ ] Parallel execution supported
- [ ] Full audit trail in events table
---
### Flow 5: Event-Driven Problem Solving
**User goal:** Test failure triggers automatic problem solving
**Time budget:** < 2 minutes from failure to solution proposal
**Steps:**
1. Quality runs test, test fails
2. Quality logs `test_failed` event
3. Problem solver receives event (subscribed)
4. Problem solver analyzes (ultrathink)
5. Problem solver logs `solution_proposed` event
6. Specialist receives event (subscribed)
7. Specialist fixes problem
**Acceptance Criteria:**
- [ ] Test failure logged immediately
- [ ] Problem solver triggered automatically
- [ ] Analysis completes: < 2 minutes
- [ ] Solution proposal logged
- [ ] Specialist receives and acts
- [ ] Complete loop: < 5 minutes
---
## Technical Tests
### Unit Tests
**Event Creation:**
- [ ] `log(event)` validates event structure
- [ ] `log(event)` assigns unique ID
- [ ] `log(event)` adds timestamp if missing
- [ ] `log(event)` writes to correct file
- [ ] `log(event)` returns event ID
- [ ] `logBatch(events)` handles multiple events
**Event Queries:**
- [ ] `queryEvents({ type })` filters by type
- [ ] `queryEvents({ actorId })` filters by actor
- [ ] `queryEvents({ targetId })` filters by target
- [ ] `queryEvents({ since })` filters by timestamp
- [ ] `queryEvents()` supports multiple filters
- [ ] `queryEvents()` returns sorted results
**Event Subscriptions:**
- [ ] `subscribe({ role, type, handler })` registers subscription
- [ ] `subscribe()` validates handler is function
- [ ] `unsubscribe()` removes subscription
- [ ] `triggerSubscriptions(event)` calls all matching handlers
**Event Metadata:**
- [ ] `feature_assigned` includes required metadata
- [ ] `implementation_complete` includes required metadata
- [ ] `test_failed` includes error details
- [ ] `solution_proposed` includes solution details
---
### Integration Tests
**Agent Coordination:**
- [ ] Director → Specialist (feature_assigned)
- [ ] Specialist → Quality (implementation_complete)
- [ ] Quality → Director (quality_check_complete)
- [ ] Quality → Problem Solver (test_failed)
- [ ] Problem Solver → Specialist (solution_proposed)
- [ ] Specialist → Quality (fix_complete)
**Parallel Coordination:**
- [ ] Director assigns 3 features (parallel)
- [ ] 3 specialists work independently
- [ ] All complete and log events
- [ ] Quality receives all 3 completion events
- [ ] No race conditions
**Event Queries Performance:**
- [ ] Query 1000 events: < 100ms
- [ ] Query with complex filter: < 200ms
- [ ] Get latest event: < 20ms
- [ ] Get events by target: < 50ms
**Subscription Performance:**
- [ ] 10 subscriptions: all trigger < 500ms
- [ ] Parallel handlers execute correctly
- [ ] Handler errors don't break other handlers
---
### E2E Tests
**Complete Workflow via Events:**
- [ ] Idea validated (event logged)
- [ ] Plan created (event logged)
- [ ] Features assigned (events logged)
- [ ] Specs written (events logged)
- [ ] Tests defined (events logged)
- [ ] Design created (events logged)
- [ ] Implementation complete (events logged)
- [ ] Quality validated (events logged)
- [ ] Documentation complete (events logged)
- [ ] Feature complete (event logged)
- [ ] Full audit trail available
**Error Recovery via Events:**
- [ ] Test fails (event logged)
- [ ] Problem solver analyzes (event logged)
- [ ] Solution proposed (event logged)
- [ ] Fix implemented (event logged)
- [ ] Lesson learned (event logged)
- [ ] Re-test passes (event logged)
**20+ Event Types:**
- [ ] All workflow event types work
- [ ] All metadata fields included
- [ ] All events queryable
- [ ] All events enable coordination
---
## Definition of Done
- [ ] Event logger creates events
- [ ] Event query system works
- [ ] Event subscriptions trigger handlers
- [ ] 20+ workflow event types defined
- [ ] Agents coordinate via events (0% manual)
- [ ] Complete audit trail available
- [ ] Performance targets met
- [ ] All tests pass
---
**Next:** Design phase - Event system architecture and file structure