FlowState Agents
Features & Capabilities
Agents App - Features & Capabilities Report
Template Version: 1.0.0 Generated: 2026-01-22 Package:
@epicdm/flowstate-app-agentsApp ID:agents
Table of Contents
- Overview
- App Identity
- Feature Categories
- Capabilities
- Data Models
- User Workflows
- Integration Points
- Architecture Summary
- Quality & Compliance
Overview
Purpose
The Agents App provides autonomous agent and task approval management for AI-driven workflows. It enables users to orchestrate AI agents, manage automated task execution, review agent outputs through approval workflows, monitor worker status, and track execution logs across codebases.
Target Users
| User Type | Description | Primary Use Cases |
|---|---|---|
| AI Engineers | Configure and monitor agents | Set up workers, manage codebases, configure agent tasks |
| Project Managers | Oversee agent work | Review approvals, track task progress, monitor success rates |
| Developers | Collaborate with agents | Create tasks, respond to agent queries, review outputs |
| Operations | System monitoring | View logs, track worker health, analyze success metrics |
Value Proposition
- Autonomous Task Execution: Agents execute spec-driven tasks automatically
- Human-in-the-Loop Approvals: Review and approve agent outputs before finalization
- Worker Management: Monitor agent health, activity, and performance metrics
- Codebase Organization: Organize work by workspace and codebase
- Execution Transparency: Comprehensive logging with filtering and search
- Conversation Support: Threaded discussions for human-agent collaboration
App Identity
| Property | Value |
|---|---|
| ID | agents |
| Display Name | Agents App |
| Package Name | @epicdm/flowstate-app-agents |
| Version | 1.0.0 |
| Category | business |
| Icon | users |
| Color | N/A |
| Base Path | /agents |
| Permissions | database, notifications |
Entry Points
| Entry Point | Path | Description |
|---|---|---|
| Main Export | src/index.ts | Primary package export |
| Standalone | src/standalone.tsx | Standalone app entry |
| App Component | src/App.tsx | Main React component with routing |
| Plugin | src/plugin.ts | FlowState plugin registration |
Feature Categories
Category 1: Dashboard & Metrics
Central dashboard with real-time agent metrics
Feature: Dashboard Overview
| Property | Details |
|---|---|
| ID | dashboard-overview |
| Status | Implemented |
| Priority | High |
Description: Main dashboard displaying key metrics including active workers, task queue size, pending approvals, and 24-hour success rate.
User Story: As an AI engineer, I want to see a dashboard so that I can quickly understand the state of my agent fleet.
Acceptance Criteria:
- [x] Display active worker count
- [x] Show task queue length
- [x] Display pending approvals count
- [x] Calculate and show 24-hour success rate
- [x] Activity feed from recent logs
- [x] Quick task creation action
Implementation:
| Component | Path | Purpose |
|---|---|---|
| DashboardPage | src/pages/DashboardPage.tsx | Main dashboard page |
| DashboardStats | src/components/DashboardStats.tsx | Statistics display |
| ActivityFeed | src/components/ActivityFeed.tsx | Recent activity |
| NewTaskDialog | src/components/NewTaskDialog.tsx | Task creation |
Routes:
/dashboard- Main dashboard (default route)
Category 2: Task Management
Agent task creation, execution tracking, and status management
Feature: Task List & Filtering
| Property | Details |
|---|---|
| ID | task-list |
| Status | Implemented |
| Priority | High |
Description: Comprehensive task list with status filtering, execution status filtering, multi-field sorting, and hierarchical task display with navigation controls.
User Story: As a developer, I want to view and filter agent tasks so that I can track work progress.
Acceptance Criteria:
- [x] Status filtering (all, pending, in-progress, completed)
- [x] Execution status filtering (all, success, failure, in-progress)
- [x] Sorting by updatedAt, createdAt, title, status
- [x] Hierarchical rendering with indentation
- [x] Navigation controls (top, bottom, next task)
- [x] Real-time updates via reactive queries
- [x] Loading skeleton and empty states
Implementation:
| Component | Path | Purpose |
|---|---|---|
| TasksPage | src/pages/TasksPage.tsx | Tasks list page |
| AgentTaskList | src/components/AgentTaskList.tsx | Filterable task list |
| AgentTaskItem | src/components/AgentTaskItem.tsx | Individual task display |
| TaskList | src/components/TaskList.tsx | Basic task list |
| useWorkflowTasks | src/hooks/useWorkflowTasks.ts | Task operations |
Routes:
/tasks- Task list/tasks/:taskId- Task detail
Feature: Task Detail View
| Property | Details |
|---|---|
| ID | task-detail |
| Status | Implemented |
| Priority | High |
Description: Detailed task view with tabbed navigation for overview, conversation history, approvals, and metadata. Includes agent assignment, execution timing, and conversation response capabilities.
User Story: As a developer, I want to view task details so that I can understand task status and respond to agent queries.
Acceptance Criteria:
- [x] Task header with status and timing
- [x] Tabbed navigation (Overview, Conversation, Approvals, Metadata)
- [x] Execution output display
- [x] Conversation history from discussions
- [x] Response input for human-agent collaboration
- [x] Task status updates
Implementation:
| Component | Path | Purpose |
|---|---|---|
| TaskDetailPage | src/pages/TaskDetailPage.tsx | Task detail page |
| ConversationViewer | src/components/ConversationViewer.tsx | Conversation display |
| AgentSelector | src/components/AgentSelector.tsx | Agent assignment |
| useTaskDiscussions | src/hooks/useTaskDiscussions.ts | Task conversations |
Feature: Task Creation
| Property | Details |
|---|---|
| ID | task-create |
| Status | Implemented |
| Priority | High |
Description: Dialog-based task creation with title, description, and navigation to created task.
User Story: As a developer, I want to create tasks so that I can assign work to agents.
Acceptance Criteria:
- [x] Modal dialog for task creation
- [x] Form validation
- [x] Navigation to created task
- [x] Available from dashboard and tasks page
Implementation:
| Component | Path | Purpose |
|---|---|---|
| NewTaskDialog | src/components/NewTaskDialog.tsx | Task creation dialog |
Category 3: Approval Workflow
Human-in-the-loop approval for agent outputs
Feature: Approval List
| Property | Details |
|---|---|
| ID | approval-list |
| Status | Implemented |
| Priority | High |
Description: Table-based approval list with status badges, color coding, click-to-open dialog, and approval summary statistics.
User Story: As a project manager, I want to view pending approvals so that I can review and approve agent work.
Acceptance Criteria:
- [x] Status badges with color coding (pending, approved, rejected, needs-revision)
- [x] Responsive table layout
- [x] Click-to-open dialog for pending approvals
- [x] Approval counts summary
- [x] Loading and empty states
Implementation:
| Component | Path | Purpose |
|---|---|---|
| ApprovalsPage | src/pages/ApprovalsPage.tsx | Approvals page |
| ApprovalList | src/components/ApprovalList.tsx | Approval table |
| ApprovalDialog | src/components/ApprovalDialog.tsx | Approval review dialog |
| useWorkflowApprovals | src/hooks/useWorkflowApprovals.ts | Approval operations |
Routes:
/approvals- Approvals list
Feature: Approval Actions
| Property | Details |
|---|---|
| ID | approval-actions |
| Status | Implemented |
| Priority | High |
Description: Modal dialog for reviewing and taking action on approvals (approve, reject, request revision) with optional comments.
User Story: As a reviewer, I want to approve or reject agent outputs so that I can ensure quality.
Acceptance Criteria:
- [x] Approve with optional comments
- [x] Reject with optional comments
- [x] Request revision with feedback
- [x] Status change notifications
Implementation:
| Component | Path | Purpose |
|---|---|---|
| ApprovalDialog | src/components/ApprovalDialog.tsx | Approval action modal |
Category 4: Worker Management
Monitor and manage autonomous workers/agents
Feature: Worker Overview
| Property | Details |
|---|---|
| ID | worker-overview |
| Status | Implemented |
| Priority | High |
Description: Overview dashboard showing total workers, active workers, active tasks, and completed tasks with aggregated statistics.
User Story: As an operations engineer, I want to see worker status so that I can monitor agent health.
Acceptance Criteria:
- [x] Total workers count
- [x] Active workers count (activity < 5 min)
- [x] Active tasks count
- [x] Completed tasks count
- [x] Statistics grid layout
Implementation:
| Component | Path | Purpose |
|---|---|---|
| WorkersPage | src/pages/WorkersPage.tsx | Workers page |
| WorkerManagement | src/components/WorkerManagement.tsx | Worker management UI |
Routes:
/workers- Worker management
Feature: Worker Cards
| Property | Details |
|---|---|
| ID | worker-cards |
| Status | Implemented |
| Priority | Medium |
Description: Individual worker cards showing status (Active/Idle/Inactive), active tasks, completed tasks, failed tasks, success rate, last activity, and log viewing.
User Story: As an AI engineer, I want to see individual worker stats so that I can identify performance issues.
Acceptance Criteria:
- [x] Status determination based on last activity
- [x] Task statistics per worker
- [x] Success rate calculation
- [x] Last activity timestamp
- [x] View logs action
- [x] Sorted by active status and last activity
Implementation:
| Component | Path | Purpose |
|---|---|---|
| WorkerCard | src/components/WorkerManagement.tsx | Worker card (internal) |
Category 5: Codebase Management
Organize codebases within workspaces
Feature: Codebase List
| Property | Details |
|---|---|
| ID | codebase-list |
| Status | Implemented |
| Priority | Medium |
Description: Workspace-scoped codebase listing with status badges, descriptions, and navigation to codebase details.
User Story: As a developer, I want to view codebases so that I can organize agent work by repository.
Acceptance Criteria:
- [x] Filter by current workspace
- [x] Status badges (active/inactive)
- [x] Codebase description display
- [x] Navigation to detail view
- [x] Create new codebase action
Implementation:
| Component | Path | Purpose |
|---|---|---|
| CodebasesPage | src/pages/CodebasesPage.tsx | Codebases page |
| useWorkflowCodebases | src/hooks/useWorkflowCodebases.ts | Codebase operations |
Routes:
/codebases- Codebase list/codebases/new- Create codebase/codebases/:id- Codebase detail
Feature: Codebase Detail
| Property | Details |
|---|---|
| ID | codebase-detail |
| Status | Implemented |
| Priority | Medium |
Description: Detailed codebase view with metadata, editing capabilities, and associated information.
User Story: As a developer, I want to view codebase details so that I can manage repository configuration.
Acceptance Criteria:
- [x] Display codebase metadata
- [x] Edit codebase details
- [x] Status display
- [x] Created/updated timestamps
Implementation:
| Component | Path | Purpose |
|---|---|---|
| CodebaseDetailPage | src/pages/CodebaseDetailPage.tsx | Codebase detail |
| CodebaseNewPage | src/pages/CodebaseNewPage.tsx | Create codebase |
Category 6: Logging & Monitoring
Comprehensive execution logging with filtering
Feature: Log Viewer
| Property | Details |
|---|---|
| ID | log-viewer |
| Status | Implemented |
| Priority | High |
Description: Log viewer with level filtering, category filtering, search, expandable details, and color-coded severity levels.
User Story: As an operations engineer, I want to view execution logs so that I can debug issues.
Acceptance Criteria:
- [x] Filter by level (debug, info, warn, error, critical)
- [x] Filter by category
- [x] Search by message content
- [x] Expandable log details
- [x] Metadata display (command, exit code, duration, error)
- [x] Color-coded severity levels
- [x] Relative timestamps
Implementation:
| Component | Path | Purpose |
|---|---|---|
| LogsPage | src/pages/LogsPage.tsx | Logs page |
| LogViewer | src/components/LogViewer.tsx | Log viewer component |
| useWorkflowLogs | src/hooks/useWorkflowLogs.ts | Log queries |
Routes:
/logs- Logs viewer
Category 7: Spec Workflow Support
Spec-driven development workflow
Feature: Spec Management
| Property | Details |
|---|---|
| ID | spec-management |
| Status | Implemented |
| Priority | Medium |
Description: Support for spec-driven workflow with phases (requirements, design, tasks, implementation), milestone timeline, and phase documents.
User Story: As a developer, I want to manage specs so that I can follow structured development workflows.
Acceptance Criteria:
- [x] Spec list view
- [x] Spec detail view
- [x] Phase document management
- [x] Milestone timeline display
- [x] Markdown editor for documents
Implementation:
| Component | Path | Purpose |
|---|---|---|
| SpecListView | src/components/SpecListView.tsx | Spec listing |
| SpecDetailView | src/components/SpecDetailView.tsx | Spec detail |
| SpecCard | src/components/SpecCard.tsx | Spec card display |
| PhaseDocuments | src/components/PhaseDocuments.tsx | Phase documents |
| MilestoneTimeline | src/components/MilestoneTimeline.tsx | Timeline |
| MarkdownEditor | src/components/MarkdownEditor.tsx | Document editing |
| MarkdownRenderer | src/components/MarkdownRenderer.tsx | Document rendering |
| useWorkflowSpecs | src/hooks/useWorkflowSpecs.ts | Spec operations |
| useWorkflowMilestones | src/hooks/useWorkflowMilestones.ts | Milestone operations |
Capabilities
Core Capabilities
| Capability | Description | Implementation |
|---|---|---|
| Task Orchestration | Manage agent task queues | useWorkflowTasks hook with RxDB |
| Approval Workflow | Human-in-the-loop review | ApprovalList with status transitions |
| Worker Monitoring | Track agent health and performance | WorkerManagement with calculated stats |
| Execution Logging | Track all agent activities | LogViewer with filtering and search |
| Human-Agent Collaboration | Conversation threading | TaskDiscussions with discussion collection |
Technical Capabilities
| Capability | Status | Notes |
|---|---|---|
| CRUD Operations | Yes | Full CRUD on tasks, approvals, codebases |
| Real-time Updates | Yes | RxDB reactive subscriptions |
| Offline Support | Yes | RxDB local-first architecture |
| Search & Filter | Yes | Multi-field filtering on logs and tasks |
| Sorting | Yes | Configurable sort on task lists |
| Pagination | No | Scroll-based loading |
| Export | No | Not currently implemented |
| Notifications | Yes | Toast notifications for actions |
Integration Capabilities
| Integration | Type | Description |
|---|---|---|
| FlowState Framework | internal | Auth, org context, layout |
| RxDB Collections | internal | Data persistence and sync |
| Discussion Collection | internal | Human-agent conversations |
Data Models
Collections Used
| Collection | Description | Operations | Primary Hook |
|---|---|---|---|
tasks | Agent task records | CRUD, Query | useWorkflowTasks |
approvals | Approval records | CRUD, Query | useWorkflowApprovals |
logs | Execution logs | Query | useWorkflowLogs |
codebases | Codebase records | CRUD, Query | useWorkflowCodebases |
workspaces | Workspace records | Query | useWorkflowWorkspaces |
discussions | Conversation turns | CRUD, Query | useTaskDiscussions |
sessions | Agent sessions | Query | DB collections |
conversations | Agent conversations | Query | DB collections |
messages | Conversation messages | Query | DB collections |
flows | Agent workflows | Query | DB collections |
Entity Relationships
Workspace
|
+-- Codebases (hasMany)
|
+-- Specs (hasMany, via categoryId)
|
+-- Milestones (hasMany)
| |
| +-- Tasks (hasMany)
| |
| +-- Discussions (hasMany)
| |
| +-- Logs (hasMany)
|
+-- Approvals (hasMany)
Task
|
+-- Subtasks (hasMany, via parentTaskId)
|
+-- TimeEntries (hasMany)
|
+-- Worker (belongsTo, via metadata.assignedAgent)
Key Data Flows
User Action --> Component --> Hook --> RxDB Collection --> UI Update
|
+--> Service (complex logic)
|
+--> Replication --> Server
Agent Execution:
Task Created --> Orchestrator Picks Up --> Agent Executes -->
--> Logs Created --> Status Updated --> Approval Created (if needed)
User Workflows
Workflow 1: Task Execution Monitoring
Monitor agent task execution
Trigger: Navigate to Tasks page
Steps:
| Step | Action | Component | Outcome |
|---|---|---|---|
| 1 | Open tasks page | TasksPage | Task list displayed |
| 2 | Filter by status | AgentTaskList | Filtered view |
| 3 | Click task | AgentTaskItem | Navigate to detail |
| 4 | View conversation | TaskDetailPage | Conversation shown |
| 5 | Respond if needed | Response input | Task reset to queue |
Success Outcome: Task status tracked, human input provided Failure Handling: Logs available for debugging
Workflow 2: Approval Review
Review and approve agent outputs
Trigger: Pending approval notification
Steps:
| Step | Action | Component | Outcome |
|---|---|---|---|
| 1 | Open approvals | ApprovalsPage | Approval list shown |
| 2 | Click pending approval | ApprovalList | Dialog opens |
| 3 | Review content | ApprovalDialog | Content displayed |
| 4 | Take action | ApprovalDialog | Approve/reject/revise |
| 5 | Add comments | ApprovalDialog | Comments saved |
Success Outcome: Approval processed, workflow continues Failure Handling: Revision requested with feedback
Workflow 3: Worker Health Check
Monitor worker status and health
Trigger: Navigate to Workers page
Steps:
| Step | Action | Component | Outcome |
|---|---|---|---|
| 1 | Open workers | WorkersPage | Overview displayed |
| 2 | Review metrics | WorkerManagement | Stats shown |
| 3 | Check worker card | WorkerCard | Individual stats |
| 4 | View logs | LogViewer | Worker logs filtered |
| 5 | Identify issues | Log analysis | Issues found |
Success Outcome: Worker health verified Failure Handling: Inactive workers identified
State Transitions
Task Status States
+----------+ +--------------+ +----------+
| To Do |---->| In Progress |---->| Complete |
+----------+ +--------------+ +----------+
| |
v v
+----------+ +--------------+
| On Hold |<--->| Blocked |
+----------+ +--------------+
| From State | To State | Trigger | Side Effects |
|---|---|---|---|
| To Do | In Progress | Agent picks up | Execution starts |
| In Progress | Complete | Agent finishes | Approval may be created |
| In Progress | Blocked | Error occurs | Log created |
| Complete | To Do | Human response | Re-queued for agent |
Approval Status States
+----------+ +----------+
| Pending |---->| Approved |
+----------+ +----------+
|
+---------->+----------+
| | Rejected |
| +----------+
|
+---------->+----------------+
| Needs Revision |
+----------------+
Integration Points
Internal Integrations
| Integration | Package | Purpose |
|---|---|---|
| FlowState Framework | @epicdm/flowstate-app-framework | App container, auth, layout |
| Collections | @epicdm/flowstate-collections | Data models and schemas |
| RxDB | @epicdm/flowstate-rxdb | Database operations |
| RxDB React | @epicdm/flowstate-rxdb-react | Reactive subscriptions |
| UI Components | @epicdm/flowstate-ui | Shared UI components |
External Integrations
| Integration | Type | Configuration |
|---|---|---|
| Formik | Library | Form management |
| Yup | Library | Form validation |
| react-toastify | Library | Toast notifications |
| Lucide React | Library | Icons |
MCP Integration
| Tool | Purpose | Example Usage |
|---|---|---|
collection-query | Query tasks, approvals | {"collection": "tasks", "selector": {"status": "In Progress"}} |
collection-create | Create tasks | {"collection": "tasks", "data": {...}} |
collection-update | Update task status | {"collection": "tasks", "id": "...", "data": {"status": "Complete"}} |
Architecture Summary
Directory Structure
src/
+-- components/ # UI components (25+ files)
| +-- codebases/ # Codebase components
| +-- variables/ # Variable components
| +-- ActivityFeed.tsx
| +-- AgentSelector.tsx
| +-- AgentTaskItem.tsx
| +-- AgentTaskList.tsx
| +-- ApprovalDialog.tsx
| +-- ApprovalList.tsx
| +-- DashboardStats.tsx
| +-- ErrorBoundary.tsx
| +-- Header.tsx
| +-- LogViewer.tsx
| +-- MarkdownEditor.tsx
| +-- MarkdownRenderer.tsx
| +-- MilestoneTimeline.tsx
| +-- NewTaskDialog.tsx
| +-- PhaseDocuments.tsx
| +-- Sidebar.tsx
| +-- SpecCard.tsx
| +-- SpecDetailView.tsx
| +-- SpecListView.tsx
| +-- TaskList.tsx
| +-- WorkerManagement.tsx
+-- hooks/ # Custom React hooks (10 hooks)
| +-- useTaskDiscussions.ts
| +-- useWorkflowApprovals.ts
| +-- useWorkflowCodebases.ts
| +-- useWorkflowLogs.ts
| +-- useWorkflowMilestones.ts
| +-- useWorkflowSpecs.ts
| +-- useWorkflowTasks.ts
| +-- useWorkflowVariables.ts
| +-- useWorkflowWorkspaces.ts
+-- pages/ # Page components (11 pages)
+-- types/ # TypeScript definitions
+-- db/ # Database configuration
+-- lib/ # Utility libraries
Key Architectural Patterns
| Pattern | Usage | Example |
|---|---|---|
| State Management | RxDB + Jotai | Collections for data, Jotai for UI state |
| Data Flow | Reactive subscriptions | RxDB observables through hooks |
| Component Architecture | Feature-based | Components grouped by domain |
| Routing | React Router v6 | Flat routes for simplicity |
| Error Handling | Error boundaries | ErrorBoundary wrapper component |
Hooks Overview
| Hook | Purpose | Returns |
|---|---|---|
useWorkflowTasks | Task operations | { tasks, startTask, stopTask, updateTask, filterByStatus } |
useWorkflowApprovals | Approval operations | { approvals, createApproval, updateApprovalStatus } |
useWorkflowLogs | Log queries | { logs, getLogsByEntity, getLogsByTask, getLogsByAgent } |
useWorkflowCodebases | Codebase operations | { codebases, createCodebase, updateCodebase } |
useWorkflowWorkspaces | Workspace queries | { workspaces, getWorkspaceById } |
useTaskDiscussions | Task conversations | { conversations, isLoading } |
useWorkflowSpecs | Spec operations | { specs, createSpec, updateSpec, filterSpecs } |
useWorkflowMilestones | Milestone operations | { milestones, getPhaseDocument, updatePhaseDocument } |
useWorkflowVariables | Variable operations | { variables, createVariable, updateVariable } |
Quality & Compliance
Test Coverage
| Test Type | Location | Coverage Target |
|---|---|---|
| Unit Tests | src/**/__tests__/ | >= 80% |
| Hook Tests | src/hooks/__tests__/ | >= 80% |
| E2E Tests | playwright/ | Critical paths |
Accessibility
| Requirement | Status | Notes |
|---|---|---|
| WCAG 2.1 AA | In Progress | Components use semantic HTML |
| Keyboard Navigation | Yes | Tab navigation supported |
| Screen Reader Support | Partial | Aria labels on interactive elements |
| Focus Management | Yes | Modal focus trapping |
Security Considerations
| Consideration | Implementation |
|---|---|
| Input Validation | Yup schemas for form validation |
| Authorization | Org/workspace isolation via IDs |
| Data Protection | RxDB local-first with replication |
FlowState Alignment
Spec-Driven Development
This app follows the FlowState Standard for spec-driven development:
- Requirements:
.flowstate/specs/{{feature-name}}/requirements.md - Design:
.flowstate/specs/{{feature-name}}/design.md - Wireframes:
.flowstate/specs/{{feature-name}}/wireframes.html - Tasks:
.flowstate/specs/{{feature-name}}/tasks.md
Quality Gates
| Gate | Requirement | Status |
|---|---|---|
| Test Coverage | >= 80% statements | In Progress |
| TypeScript Strict | No any without justification | Pass |
| Accessibility | WCAG 2.1 AA | In Progress |
| Documentation | 100% TSDoc on public APIs | In Progress |
| Security | No critical vulnerabilities | Pass |
Appendix
Related Documentation
| Document | Location | Purpose |
|---|---|---|
| FLOWSTATE.md | .flowstate/docs/FLOWSTATE.md | Development workflow |
| PROCESS.md | .flowstate/docs/PROCESS.md | Development process |
| TDD.md | .flowstate/steering/TDD.md | Testing standards |
| QUALITY.md | .flowstate/steering/QUALITY.md | Code quality |
Version History
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0.0 | 2026-01-22 | Claude | Initial documentation |