Commit eb3ba26
feat(dashboard): AIOS Dashboard - Final Integration (#68)
* feat(infra): add WorktreeManager for isolated story development
Implements git worktree management for parallel story development:
- Create/remove worktrees with branch isolation (auto-claude/{storyId})
- Detect merge conflicts before merging (dry-run)
- Merge with options: staged, squash, cleanup
- Audit logging for all merge operations
- Merge history tracking per story
- Stale worktree detection and cleanup
Includes 32 comprehensive tests covering all operations.
Co-Authored-By: Claude <noreply@anthropic.com>
* test(infra): add tests for worktree status integration [Story 1.5]
Adds tests for ProjectStatusLoader worktree integration:
- getWorktreesStatus() returns null when no worktrees
- getWorktreesStatus() returns required fields (path, branch, createdAt, etc)
- generateStatus() includes worktrees when present
- generateStatus() excludes worktrees key when none exist
- formatStatusDisplay() shows worktrees summary
- formatStatusDisplay() handles empty/undefined worktrees
All Story 1.5 acceptance criteria verified.
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(ade): complete Epic 1 (Worktree) and Epic 2 (Migration V3)
Epic 1 - Worktree Manager:
- Add worktree-manager.js with create/list/remove/merge operations
- Add CLI tasks: create-worktree, list-worktrees, remove-worktree
- Add auto-worktree.yaml workflow for automatic story isolation
- Integrate worktree status with project-status-loader
Epic 2 - Migration V2→V3:
- Add V3 schemas (agent-v3-schema.json, task-v3-schema.json)
- Add asset-inventory.js for comprehensive asset tracking
- Add path-analyzer.js for dependency validation
- Add migrate-agent.js for V2→V3 migration
- Migrate all 12 agents to V3 format with autoClaude capabilities
QA Gate: PASS WITH CONCERNS
- 12/12 agents migrated to V3
- WorktreeManager functional
- TypeCheck passing
[ADE Epic 1+2]
Co-Authored-By: Claude <noreply@anthropic.com>
* chore(ide-sync): update agent definitions for V3 migration
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(dashboard): implement Epic 2 - Agent Monitor
Story 2.1: Agent Store Implementation
- agent-store.ts with Zustand state management
- External listeners pattern (same as story-store)
- Polling interval configuration
- Active/idle agent tracking
Story 2.2: AgentCard Component
- Visual card with status indicator
- Agent icon and name display
- Progress bar for active agents
- Phase display (Planning, Coding, etc.)
Story 2.3: AgentMonitor Grid
- Grid layout for active agents (responsive)
- Compact pills for idle agents
- Auto-refresh toggle
- Manual refresh button
- Active count header
Story 2.4: Activity Indicator
- Relative time format (just now, X min ago)
- Stale warning for > 5 min inactive
- Automatic update with polling
New routes:
- /agents page added to sidebar
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(dashboard): implement Epic 3 - Integrations
Story 3.1: Terminal Output Viewer
- TerminalOutput component with ANSI color support (ansi-to-html)
- Auto-scroll with pause/resume toggle
- Search within output with highlight
- Copy to clipboard support
- Line count and status bar
Story 3.2: GitHub Integration
- API route using gh CLI (execFile for security)
- GitHubPanel component with issues and PRs
- Draft PR indicator
- Labels display
- Relative date formatting
- Error state for unauthenticated CLI
Story 3.3: Settings Page
- settings-store.ts with Zustand persist
- Theme toggle (dark/light/system)
- Auto-refresh toggle and interval config
- Stories directory path config
- Agent color customization
- Reset to defaults
New routes:
- /terminals - Terminal output viewer
- /github - GitHub issues and PRs
- /settings - Dashboard configuration
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(qa): implement Epic 6 - QA Evolution
Story 6.1: QA 10-Phase Review
- Add qa-review-build.md task with 10 structured phases
- Command: *review-build {story-id}
- Output: docs/stories/{story-id}/qa/qa_report.md
Story 6.2: QA Report Generator
- Add qa-report-tmpl.md template (Handlebars)
- Add qa-report-generator.js script with CLI
- Issues categorized: Critical/Major/Minor
- JSON schema for automated parsing
- Dashboard integration via status.json
Story 6.3: Fix Request Generator
- Add qa-create-fix-request.md task
- Command: *create-fix-request {story-id}
- Generates QA_FIX_REQUEST.md with location, problem, expected
Story 6.4: QA Fixer Task
- Add qa-fix-issues.md task with 8 phases for @dev
- Command: *fix-qa-issues {story-id}
- Minimal changes enforcement, no scope creep
Story 6.5: QA Loop Orchestrator
- Add qa-loop.yaml workflow definition
- Add qa-loop-orchestrator.js script
- Loop: review → fix → re-review (max 5 iterations)
- Track status in qa/loop-status.json
- Commands: *qa-loop, *stop-qa-loop, *resume-qa-loop
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(memory): implement Epic 7 - Memory Layer
Story 7.1: Session Insights Capture
- Add capture-session-insights.md task
- Command: *capture-insights {story-id}
- Captures: discoveries, patterns, gotchas, decisions
- Auto-trigger for complexity >= STANDARD
Story 7.2: Codebase Mapper
- Add codebase-mapper.js script
- Command: *map-codebase
- Output: .aios/codebase-map.json
- Detects: structure, services, patterns, conventions, dependencies
Story 7.3: Pattern Extractor
- Add pattern-extractor.js script
- Add extract-patterns.md task
- Command: *extract-patterns
- Output: .aios/patterns.md
- Categories: State, API, Error Handling, Components, Hooks, Testing
Story 7.4: Gotchas Documenter
- Add gotchas-documenter.js script
- Add document-gotchas.md task
- Command: *list-gotchas
- Output: .aios/gotchas.md
- Auto-extracts from session insights
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(dashboard): add Roadmap view and UI components
- Add RoadmapView with MoSCoW prioritization (Must/Should/Could/Won't)
- Add FAB component for floating action buttons
- Add Icon component for centralized icon rendering
- Add StatusBadge and Tag UI components
- Update Sidebar with improved navigation and shortcuts
- Refactor various components for professional UX
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(dashboard): implement real-time CLI integration and CRUD stories
Epic A - Real-time CLI Integration (SSE):
- Add /api/events SSE endpoint for real-time status updates
- Create useRealtimeStatus hook with EventSource and polling fallback
- Update agent-store with handleRealtimeUpdate action
- Add dashboard-status-writer.js for CLI integration
Epic B - Real Terminal (SSE streaming):
- Add /api/logs SSE endpoint using tail -f for log streaming
- Create TerminalStream component with ANSI color support
- Add terminal-store for managing terminal instances
- Update terminals page with grid/single view modes
Epic C - Stories CRUD:
- Add POST to /api/stories for creating stories
- Create /api/stories/[id] with GET, PUT, DELETE endpoints
- Add StoryCreateModal and StoryEditModal components
- Update KanbanBoard with integrated modal management
- Stories are archived instead of hard deleted
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(tests): isolate test directories and fix mock sequences
- project-status-loader.test.js: Use os.tmpdir() to isolate tests from
parent git repository context
- worktree-manager.test.js: Use os.tmpdir() to prevent test artifacts
from polluting source tree
- wizard/integration.test.js: Fix inquirer.prompt mock sequence to
include language prompt before project type and IDE prompts
These fixes resolve test failures caused by:
1. Tests inheriting parent git repo context when creating temp dirs
2. Temp directories left in source tree affecting manifest generation
3. Mock sequence mismatch in wizard error handling tests
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(dashboard): consolidate motion system and enhance kanban a11y
- Replace `transition-all duration-*` with `transition-luxury` utility
class for consistent animations (TerminalGrid, progress-bar, fab)
- Add keyboard navigation a11y to Kanban:
- Focus-visible ring using accent-gold color
- Aria-labels on sortable story cards
- Screen reader instructions for drag/drop
- Add progress-bar component using CSS variables
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* feat(qa): add session persistence and abandoned loop detection
- Add isAbandoned() to detect loops without updates > 1 hour
- Add recoverFromAbandoned() for automatic state recovery
- Add _updateLoopsIndex() to maintain global loops index
- Add listLoops() helper with filter support (active/abandoned/all)
- Add checkAbandonedLoops() helper function
- Add 'list' and 'check-abandoned' CLI commands
- Store loops index at .aios/qa-loops-index.json
This addresses QA Report issue ADE-001 (HIGH): QA Loop iterations
not persisted between sessions.
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* feat(ade): implement build recovery & resume system [Story 8.4]
Add BuildStateManager for autonomous build state tracking with:
- Checkpoint system with auto-save after subtask completion
- Build resume from last checkpoint (*build-resume command)
- Build status display (*build-status command)
- Abandoned build detection (>1 hour threshold)
- Failure notifications with stuck-detector integration
- Complete attempt logging for debugging
Includes 49 unit tests covering all 8 acceptance criteria.
QA Review: PASS ✅
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* feat(epic-12): implement Auto-Claude feature absorption
Epic 12 - Auto-Claude Feature Absorption (complete):
Fase 3 - Learning System:
- gotcha-registry.js: Learn from past mistakes with keyword indexing
- qa-feedback.js: Adjust pattern confidence based on QA results
- context-snapshot.js: Capture/restore development context
Fase 4 - Polish & Dashboard:
- semantic-search.js: Synonym-based semantic pattern search
- QAMetricsPanel.tsx: Dashboard component with trend charts
- /api/qa/metrics: API endpoint for QA metrics
Integration:
- Updated learning/index.js with new module exports
- Enhanced qa-review-build.md with new QA phases
AIOS Score: 85/100 → 95/100
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* feat(agents): update agent definitions and squad scripts
- Update analyst, architect, dev, devops, pm, qa agents
- Enhance squad analyzer, extender, and migrator
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* feat(dashboard): update AIOS dashboard components
- Enhance Kanban board and columns
- Update agent monitor and cards
- Improve story cards and detail modal
- Add roadmap view components
- Update layout (AppShell, Sidebar, StatusBar)
- Add new UI components (section-label, skeleton, status-dot)
- Update stores and types
- Add API routes and documentation
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* fix(wizard): update wizard and CLI tools
- Update feedback and validation modules
- Enhance wizard index
- Update aios.js CLI
- Fix diagnose-installation tool
Co-Authored-By: Claude (claude-opus-4-5-alan) <noreply@anthropic.com>
* chore(ide-sync): sync agent definitions to IDE configurations
Update 14 agent files across IDE configurations after merge with main.
Co-Authored-By: Claude <noreply@anthropic.com>
* chore(ide-sync): sync antigravity and cursor agent files
Update agent definitions in antigravity and cursor IDE configurations.
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(ade): implement Semantic Merge Engine for AI-powered conflict resolution
Story 8.3 Enhanced - AI-powered semantic merge system:
- SemanticAnalyzer: extracts semantic elements (imports, functions, classes)
- ConflictDetector: detects conflicts using compatibility rules
- AutoMerger: resolves simple conflicts deterministically
- AIResolver: uses Claude CLI for complex conflict resolution
- SemanticMergeEngine: orchestrates the complete pipeline
Features:
- 20 change types (import_added, function_modified, class_removed, etc.)
- 5 merge strategies (combine, take_newer, ai_required, human_required)
- Conflict severity levels (low, medium, high, critical)
- Automatic fallback from standard merge to semantic merge
- Event-driven architecture with progress tracking
- Merge reports saved to .aios/merge/
Integration:
- BuildOrchestrator now uses SemanticMergeEngine when conflicts detected
- Configurable confidence threshold for AI resolutions
Based on Auto-Claude's merge system architecture.
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(ade): implement PR Review AI for automated code review
Adds AI-powered Pull Request review system with:
- DiffAnalyzer: parses unified diffs into structured changes
- SecurityAnalyzer: detects credentials, SQL injection, XSS, command injection
- PerformanceAnalyzer: finds React issues, database issues, async problems
- CodeQualityAnalyzer: empty catch blocks, console statements, TypeScript issues
- RedundancyAnalyzer: duplicate code patterns, similar function names
- AIReviewer: uses Claude CLI for intelligent review
Supports both PR review via GitHub CLI and local diff review.
Generates verdicts: approve, request_changes, or comment.
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(ade): implement CI/CD Discovery and Test Discovery
CI/CD Discovery:
- Detects 8 providers: GitHub Actions, GitLab CI, Jenkins, CircleCI,
Travis CI, Azure Pipelines, Bitbucket, AWS CodePipeline
- Parses workflow configurations (YAML, Jenkinsfile)
- Analyzes pipeline complexity and features
- Generates AIOS integration suggestions
Test Discovery:
- Detects 10 frameworks: Jest, Vitest, Mocha, Pytest, RSpec,
Go Test, PHPUnit, JUnit, Playwright, Cypress
- Finds test files with framework-specific patterns
- Analyzes test files for suites, tests, hooks
- Supports coverage configuration detection
- Runs tests selectively based on changed files
Closes P1 gaps from Auto-Claude comparison.
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(epic-6): implement Permission Modes system for safe autonomous operations
Adds 3-level permission system inspired by Craft Agents:
- Explore (🔍): Read-only mode for safe codebase exploration
- Ask (1 parent bf53475 commit eb3ba26
File tree
45 files changed
+1336
-501
lines changed- .aios-core
- core
- execution
- memory
- permissions
- __tests__
- quality-gates
- development
- agents
- scripts
- infrastructure/scripts
- monitor/hooks
- lib
- schemas
- .aios
- file-evolution
- .antigravity/rules/agents
- .cursor/rules/agents
- .trae/rules/agents
- .windsurf/rules/agents
- apps
- dashboard
- src
- components/monitor
- hooks
- lib
- stores
- monitor-server/server
- tests/integration/windows
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
45 files changed
+1336
-501
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
243 | | - | |
| 243 | + | |
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
| |||
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
477 | | - | |
| 477 | + | |
478 | 478 | | |
479 | 479 | | |
480 | 480 | | |
| |||
670 | 670 | | |
671 | 671 | | |
672 | 672 | | |
673 | | - | |
| 673 | + | |
674 | 674 | | |
675 | 675 | | |
676 | 676 | | |
677 | 677 | | |
678 | | - | |
| 678 | + | |
679 | 679 | | |
680 | 680 | | |
681 | 681 | | |
| |||
811 | 811 | | |
812 | 812 | | |
813 | 813 | | |
814 | | - | |
815 | 814 | | |
816 | 815 | | |
817 | 816 | | |
818 | 817 | | |
819 | | - | |
820 | | - | |
821 | | - | |
822 | | - | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
823 | 821 | | |
824 | 822 | | |
825 | 823 | | |
826 | 824 | | |
827 | | - | |
| 825 | + | |
828 | 826 | | |
829 | 827 | | |
830 | 828 | | |
| |||
1378 | 1376 | | |
1379 | 1377 | | |
1380 | 1378 | | |
1381 | | - | |
| 1379 | + | |
1382 | 1380 | | |
1383 | 1381 | | |
1384 | 1382 | | |
| |||
1450 | 1448 | | |
1451 | 1449 | | |
1452 | 1450 | | |
1453 | | - | |
| 1451 | + | |
1454 | 1452 | | |
1455 | 1453 | | |
1456 | 1454 | | |
| |||
1700 | 1698 | | |
1701 | 1699 | | |
1702 | 1700 | | |
1703 | | - | |
| 1701 | + | |
1704 | 1702 | | |
1705 | 1703 | | |
1706 | 1704 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
422 | | - | |
| 422 | + | |
423 | 423 | | |
424 | 424 | | |
425 | 425 | | |
426 | 426 | | |
427 | 427 | | |
428 | 428 | | |
429 | | - | |
| 429 | + | |
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | 434 | | |
435 | | - | |
| 435 | + | |
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
| |||
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
446 | | - | |
| 446 | + | |
447 | 447 | | |
448 | 448 | | |
449 | 449 | | |
| |||
832 | 832 | | |
833 | 833 | | |
834 | 834 | | |
835 | | - | |
836 | 835 | | |
837 | 836 | | |
838 | 837 | | |
| |||
841 | 840 | | |
842 | 841 | | |
843 | 842 | | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
862 | 849 | | |
863 | 850 | | |
864 | 851 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
| 225 | + | |
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| |||
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
474 | | - | |
| 474 | + | |
475 | 475 | | |
476 | 476 | | |
477 | 477 | | |
| |||
483 | 483 | | |
484 | 484 | | |
485 | 485 | | |
486 | | - | |
| 486 | + | |
487 | 487 | | |
488 | 488 | | |
489 | 489 | | |
| |||
575 | 575 | | |
576 | 576 | | |
577 | 577 | | |
578 | | - | |
| 578 | + | |
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
101 | | - | |
102 | 100 | | |
103 | 101 | | |
104 | | - | |
| 102 | + | |
105 | 103 | | |
106 | 104 | | |
107 | 105 | | |
| |||
139 | 137 | | |
140 | 138 | | |
141 | 139 | | |
142 | | - | |
| 140 | + | |
143 | 141 | | |
144 | 142 | | |
145 | 143 | | |
| |||
215 | 213 | | |
216 | 214 | | |
217 | 215 | | |
218 | | - | |
| 216 | + | |
219 | 217 | | |
220 | 218 | | |
221 | 219 | | |
| |||
234 | 232 | | |
235 | 233 | | |
236 | 234 | | |
237 | | - | |
| 235 | + | |
238 | 236 | | |
239 | 237 | | |
240 | 238 | | |
| |||
255 | 253 | | |
256 | 254 | | |
257 | 255 | | |
258 | | - | |
| 256 | + | |
259 | 257 | | |
260 | 258 | | |
261 | 259 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
289 | 289 | | |
290 | 290 | | |
291 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
292 | 296 | | |
293 | 297 | | |
294 | 298 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
41 | 35 | | |
42 | | - | |
43 | 36 | | |
44 | 37 | | |
45 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
37 | 31 | | |
38 | | - | |
39 | 32 | | |
40 | 33 | | |
41 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
124 | 122 | | |
125 | 123 | | |
126 | 124 | | |
| |||
0 commit comments