Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
0554066
feat(03-02): implement Discord adapter with Gateway infrastructure
gouravjshah Feb 13, 2026
dac6b43
fix(03-02): fix Discord test assertion
gouravjshah Feb 13, 2026
cf5b768
feat(03-02): implement Telegram adapter with long polling infrastructure
gouravjshah Feb 13, 2026
a565190
feat(03-02): add retry logic with exponential backoff for 429 errors
gouravjshah Feb 13, 2026
1f0ea80
fix(03-02): fix retry tests with atomic counters for closure capture
gouravjshah Feb 13, 2026
41e716f
fix(03-02): fix retry delay calculation (default to 1 sec, not 60)
gouravjshah Feb 13, 2026
d4dd539
fix(03-02): trim whitespace in Retry-After extraction
gouravjshah Feb 13, 2026
52d2278
docs(03-02): complete 03-02-PLAN execution summary and update STATE
gouravjshah Feb 13, 2026
0937467
feat(03-03): add squad configuration schema
gouravjshah Feb 13, 2026
e8c4185
feat(03-03): implement squad broadcast logic
gouravjshah Feb 13, 2026
2fa8eb0
docs(03-03): add comprehensive YAML configuration schema
gouravjshah Feb 13, 2026
d53778f
feat(03-03): implement enhanced secrets management
gouravjshah Feb 14, 2026
a059787
feat(03-03): integrate gateway with aofctl serve
gouravjshah Feb 14, 2026
228123f
test(03-03): add integration tests for config and squad broadcast
gouravjshah Feb 14, 2026
99d6c67
docs(03-03): add gateway troubleshooting guide
gouravjshah Feb 14, 2026
2b8926d
docs(03-03): complete 03-03-PLAN execution summary and update STATE
gouravjshah Feb 14, 2026
a595a58
feat(04-01): create React + Vite project structure with builder.io setup
gouravjshah Feb 14, 2026
c90680d
feat(04-01): set up Redux store with eventsSlice and configSlice
gouravjshah Feb 14, 2026
767859d
feat(04-01): create useWebSocket hook with automatic reconnection
gouravjshah Feb 14, 2026
4932bf4
feat(04-01): add configuration API client hooks
gouravjshah Feb 14, 2026
0e8947c
feat(04-01): add Tailwind CSS and shadcn/ui component setup
gouravjshah Feb 14, 2026
de6b273
feat(04-01): configure Vite proxy and CORS for localhost development
gouravjshah Feb 14, 2026
0e66ee6
feat(04-01): TypeScript types for Phase 1 CoordinationEvent completed
gouravjshah Feb 14, 2026
cd56b85
feat(04-01): create App.tsx with WebSocket subscription and Redux int…
gouravjshah Feb 14, 2026
84ff2e7
feat(04-01): implement Vite build optimization and production configu…
gouravjshah Feb 14, 2026
869d88e
feat(04-01): add developer documentation and setup instructions
gouravjshah Feb 14, 2026
04b1450
docs(04-01): complete 04-01-PLAN execution summary and update STATE
gouravjshah Feb 14, 2026
986256d
chore(04-mission-control-ui): install and configure dnd-kit library
gouravjshah Feb 14, 2026
7127142
feat(04-mission-control-ui): add tasksSlice with optimistic updates a…
gouravjshah Feb 14, 2026
547a079
feat(04-mission-control-ui): create useTaskManagement hook for API in…
gouravjshah Feb 14, 2026
2c04685
feat(04-mission-control-ui): create AgentCard component with dynamic …
gouravjshah Feb 14, 2026
f801ac0
feat(04-mission-control-ui): create AgentGrid component with config p…
gouravjshah Feb 14, 2026
446b7b1
feat(04-mission-control-ui): create TaskCard component with drag handle
gouravjshah Feb 14, 2026
33dbdda
feat(04-mission-control-ui): create Lane component with drop zone
gouravjshah Feb 14, 2026
3d185cb
feat(04-mission-control-ui): implement KanbanBoard with drag-and-drop
gouravjshah Feb 14, 2026
c81f652
test(04-mission-control-ui): implement version-based conflict resolut…
gouravjshah Feb 14, 2026
b1601d8
feat(04-mission-control-ui): add comprehensive accessibility features
gouravjshah Feb 14, 2026
81a3a34
feat(04-mission-control-ui): add visual feedback, animations, and loa…
gouravjshah Feb 14, 2026
1fb4cde
test(04-mission-control-ui): create integration tests and component d…
gouravjshah Feb 14, 2026
08e74e0
docs(04-mission-control-ui): complete 04-02-PLAN execution summary
gouravjshah Feb 14, 2026
45ddffc
feat(04-mission-control-ui): create chatSlice with message deduplication
gouravjshah Feb 14, 2026
ed7699b
feat(04-mission-control-ui): add config API module with YAML parsing
gouravjshah Feb 14, 2026
5e85125
feat(04-mission-control-ui): create ChatMessage and SquadChat components
gouravjshah Feb 14, 2026
2c1a31f
feat(04-mission-control-ui): create activitiesSlice for event timeline
gouravjshah Feb 14, 2026
d407479
feat(04-mission-control-ui): create ActivityFeed with collapsible items
gouravjshah Feb 14, 2026
578c8ff
feat(04-mission-control-ui): create TaskDetail modal component
gouravjshah Feb 14, 2026
6d46d50
feat(04-mission-control-ui): create TaskTimeline for History tab
gouravjshah Feb 14, 2026
c752fc5
feat(04-mission-control-ui): add config API routes infrastructure
gouravjshah Feb 14, 2026
38034ab
feat(04-mission-control-ui): create Comments section for TaskDetail
gouravjshah Feb 14, 2026
5a3789b
feat(04-mission-control-ui): integrate SquadChat and ActivityFeed int…
gouravjshah Feb 14, 2026
e7df3d9
feat(04-mission-control-ui): add timestamp formatting with date-fns
gouravjshah Feb 14, 2026
f707811
feat(04-mission-control-ui): document message deduplication and recon…
gouravjshah Feb 14, 2026
719c1ac
feat(04-mission-control-ui): add integration tests and accessibility …
gouravjshah Feb 14, 2026
dffe239
docs(04-mission-control-ui): complete 04-03-PLAN execution summary an…
gouravjshah Feb 14, 2026
6513e27
feat(04-04): integrate config API routes into serve.rs custom Axum app
gouravjshah Feb 14, 2026
2af2178
feat(04-04): create AGENTS.md and TOOLS.md template files
gouravjshah Feb 14, 2026
4eebaad
docs(04-04): create comprehensive production deployment guide
gouravjshah Feb 14, 2026
0704fc1
fix(04-04): remove root route handler to enable static file serving at /
gouravjshah Feb 14, 2026
e3d8378
docs(04-04): complete Phase 4 Plan 04 execution summary and update STATE
gouravjshah Feb 14, 2026
3e39d0e
docs(05-agent-personas): create comprehensive phase 5 plans and updat…
gouravjshah Feb 14, 2026
bcd69fa
feat(05-01): create aof-personas crate with workspace types, loader, …
gouravjshah Feb 14, 2026
0bc30af
feat(05-01): define Agent, Soul, SoulFrontmatter types with serde der…
gouravjshah Feb 14, 2026
3eaf77b
feat(05-01): add AGENTS.md and SOUL.md workspace fixture files with 3…
gouravjshah Feb 14, 2026
58dbc23
test(05-01): add 17 comprehensive integration tests for persona loadi…
gouravjshah Feb 14, 2026
e7914a7
docs(05-01): add persona system concept docs and internal developer d…
gouravjshah Feb 14, 2026
7ba59d3
docs(05-01): complete workspace file format & loaders plan summary an…
gouravjshah Feb 14, 2026
5daa28c
feat(05-04): extend Agent type with persona fields and introduction e…
gouravjshah Feb 14, 2026
bece654
feat(05-03): add AgentIntroduction type to CoordinationEvent
gouravjshah Feb 14, 2026
9136c72
feat(05-04): create PersonalityTraits component with colored trait ba…
gouravjshah Feb 14, 2026
272dba1
feat(05-02): create PromptComposer with 7-layer instruction composition
gouravjshah Feb 14, 2026
ae357a5
feat(05-04): create CapabilityBoundaries expandable CAN/CANNOT component
gouravjshah Feb 14, 2026
7906009
feat(05-03): create introduction event builder in aof-personas
gouravjshah Feb 14, 2026
260f0df
feat(05-02): add token counting and graceful truncation with tests
gouravjshah Feb 14, 2026
22f74db
feat(05-04): redesign AgentCard layout with persona-first visual hier…
gouravjshah Feb 14, 2026
1c38921
feat(05-02): add prompt caching with SHA256 invalidation and tests
gouravjshah Feb 14, 2026
f229449
feat(05-04): add introduction message toast notifications
gouravjshah Feb 14, 2026
5696a74
feat(05-03): integrate introduction event emission into aofctl serve
gouravjshah Feb 14, 2026
81a07de
feat(05-02): implement tool reference linking with tests
gouravjshah Feb 14, 2026
0b52e87
feat(05-04): update AgentGrid responsive layout and skeleton
gouravjshah Feb 14, 2026
b360ff7
feat(05-02): add security validation and injection detection tests
gouravjshah Feb 14, 2026
bd166f7
feat(05-03): add introduction events to Redux store and IntroductionCard
gouravjshah Feb 14, 2026
cd0578c
test(05-04): add 22 component tests and persona UI documentation
gouravjshah Feb 14, 2026
f71c8a4
test(05-02): add 18 comprehensive composition tests with reference ag…
gouravjshah Feb 14, 2026
e77778a
feat(05-03): wire introduction events to messaging gateway
gouravjshah Feb 14, 2026
22e20d3
feat(05-03): add squad-specific introduction customization via squads…
gouravjshah Feb 14, 2026
12e8fd0
feat(05-02): integrate PromptComposer into AgentExecutor
gouravjshah Feb 14, 2026
0104106
docs(05-04): complete AgentCard Persona Display plan execution summar…
gouravjshah Feb 14, 2026
6e18402
test(05-02): add end-to-end integration test for prompt composition w…
gouravjshah Feb 14, 2026
001edd5
test(05-03): add 11 comprehensive introduction event tests
gouravjshah Feb 14, 2026
ac1ebeb
docs(05-02): add developer documentation and composed prompt examples
gouravjshah Feb 14, 2026
2a26dda
docs(05-03): complete introduction events plan execution summary and …
gouravjshah Feb 14, 2026
1fe32a8
docs(05-02): complete system-prompt-composition plan execution summar…
gouravjshah Feb 14, 2026
da674c3
feat(05-05): implement reliability metrics computation logic
gouravjshah Feb 14, 2026
820adac
feat(05-05): expose /api/agents/:id/metrics HTTP endpoint
gouravjshah Feb 14, 2026
d37d9f5
feat(05-05): create useAgentMetrics hook for polling metrics
gouravjshah Feb 14, 2026
f85889f
feat(05-05): integrate live metrics display into AgentCard
gouravjshah Feb 14, 2026
7933fde
test(05-05): add comprehensive metrics computation and display tests
gouravjshah Feb 14, 2026
4839b0d
docs(05-05): add reliability metrics documentation
gouravjshah Feb 14, 2026
becca17
docs(05-05): complete reliability metrics plan execution summary and …
gouravjshah Feb 14, 2026
8c85278
fix(05-05): relax scaling test threshold for debug builds
gouravjshah Feb 14, 2026
109534b
test(05-06): add end-to-end integration test for full persona workflow
gouravjshah Feb 14, 2026
977e6a7
docs(05-06): add developer guide for persona system architecture
gouravjshah Feb 14, 2026
403a55f
docs(05-06): add user tutorial for creating agent personas
gouravjshah Feb 14, 2026
d6d1f78
docs(05-06): add API reference documentation for persona system
gouravjshah Feb 14, 2026
ffcccd2
docs(05-06): add example personas library with 5 reference agents
gouravjshah Feb 14, 2026
593336a
docs(05-06): add troubleshooting guide for persona system issues
gouravjshah Feb 14, 2026
d73a25c
docs(05-06): add Phase 5 design rationale document
gouravjshah Feb 14, 2026
1a45c6f
docs(05-06): update architecture docs with Phase 5 persona system
gouravjshah Feb 14, 2026
633976e
docs(05-06): add comprehensive test summary and verification report
gouravjshah Feb 14, 2026
d473d86
docs(05-06): add Phase 5 completion summary and hand-off documentation
gouravjshah Feb 14, 2026
e1aa874
docs(05-06): complete integration-testing-docs plan and mark Phase 5 …
gouravjshah Feb 14, 2026
29ee2ec
docs(06-conversational-configuration): complete phase research for co…
gouravjshah Feb 14, 2026
bb74f20
docs(06-conversational-configuration): create phase plan (5 plans, 3 …
gouravjshah Feb 14, 2026
f427a1f
docs(06-conversational-configuration): align research with provider-a…
gouravjshah Feb 14, 2026
61533f5
docs(06-conversational-configuration): set Gemini 3.5 Flash as defaul…
gouravjshah Feb 14, 2026
27a0265
docs(06-conversational-configuration): correct model version to Gemin…
gouravjshah Feb 14, 2026
798fd83
chore(06-conversational-configuration): create aof-conversational cra…
gouravjshah Feb 14, 2026
32b5cfa
feat(06-conversational-configuration): define core conversation types
gouravjshah Feb 14, 2026
6e68e01
feat(06-conversational-configuration): implement input sanitization w…
gouravjshah Feb 14, 2026
44ad6ed
feat(06-conversational-configuration): implement intent classificatio…
gouravjshah Feb 14, 2026
8f89f87
feat(06-conversational-configuration): implement session management w…
gouravjshah Feb 14, 2026
71561fb
feat(06-conversational-configuration): implement orchestrator routing…
gouravjshah Feb 14, 2026
4a1d877
test(06-conversational-configuration): add integration test structure
gouravjshah Feb 14, 2026
026487c
docs(06-conversational-configuration): create developer architecture …
gouravjshah Feb 14, 2026
62b5b19
docs(06-conversational-configuration): complete 06-01-PLAN execution …
gouravjshah Feb 14, 2026
37454eb
feat(06-conversational-configuration): add Specialist trait interface
gouravjshah Feb 14, 2026
7ea7252
feat(06-conversational-configuration): add squad template library wit…
gouravjshah Feb 14, 2026
2d4a539
feat(06-conversational-configuration): add schedule parsing engine wi…
gouravjshah Feb 14, 2026
3548c2e
feat(06-conversational-configuration): add YAML generation utilities
gouravjshah Feb 14, 2026
16536ef
feat(06-conversational-configuration): implement SquadBuilder special…
gouravjshah Feb 14, 2026
3cfe12a
feat(06-conversational-configuration): implement SkillTeacher specialist
gouravjshah Feb 14, 2026
838691e
feat(06-conversational-configuration): wire SquadBuilder and SkillTea…
gouravjshah Feb 14, 2026
888c004
docs(06-conversational-configuration): add squad templates and skill …
gouravjshah Feb 14, 2026
eddec9b
fix(06-conversational-configuration): disable scheduler module to all…
gouravjshah Feb 14, 2026
d3008de
feat(06-conversational-configuration): implement Scheduler specialist
gouravjshah Feb 14, 2026
7babe9d
feat(06-conversational-configuration): wire Scheduler into orchestrator
gouravjshah Feb 14, 2026
931e509
docs(06-conversational-configuration): complete 06-03-PLAN execution …
gouravjshah Feb 14, 2026
5d522ee
docs(06-conversational-configuration): add schedule configuration doc…
gouravjshah Feb 14, 2026
953cefc
fix(06-conversational-configuration): remove unused import warning in…
gouravjshah Feb 14, 2026
3148320
docs(06-conversational-configuration): complete 06-04-PLAN execution …
gouravjshah Feb 14, 2026
8ed8b49
feat(06-conversational-configuration): implement generation validatio…
gouravjshah Feb 14, 2026
8342828
feat(06-conversational-configuration): implement AgentCreator specialist
gouravjshah Feb 14, 2026
03a455d
feat(06-conversational-configuration): wire AgentCreator into orchest…
gouravjshah Feb 14, 2026
dee84e2
test(06-conversational-configuration): add comprehensive agent creati…
gouravjshah Feb 14, 2026
d6652f9
docs(06-conversational-configuration): add agent generation documenta…
gouravjshah Feb 14, 2026
4abf85b
fix(06-conversational-configuration): correct conflict detection test…
gouravjshah Feb 14, 2026
0b143c0
docs(06-conversational-configuration): complete 06-02-PLAN execution …
gouravjshah Feb 14, 2026
192d25c
feat(06-conversational-configuration): implement file persistence module
gouravjshah Feb 14, 2026
16ba25f
feat(06-conversational-configuration): add conversation REST API endp…
gouravjshah Feb 14, 2026
c6b12e8
feat(06-conversational-configuration): add TypeScript types for conve…
gouravjshah Feb 14, 2026
b684526
feat(06-conversational-configuration): add Redux conversation slice
gouravjshah Feb 14, 2026
8c53535
feat(06-conversational-configuration): add useConversation hook
gouravjshah Feb 14, 2026
4fa05e3
feat(06-conversational-configuration): add ConversationPanel and Chat…
gouravjshah Feb 14, 2026
85ec8ce
feat(06-conversational-configuration): add FilePreview and YamlEditor…
gouravjshah Feb 14, 2026
0ae7057
feat(06-conversational-configuration): add routing and CreateAgent page
gouravjshah Feb 14, 2026
ebf6780
test(06-conversational-configuration): add persistence tests and API …
gouravjshah Feb 14, 2026
cb5b906
docs(06-conversational-configuration): add user documentation for con…
gouravjshah Feb 14, 2026
06dd9e1
docs(06-conversational-configuration): complete 06-05-PLAN execution …
gouravjshah Feb 14, 2026
20b631f
docs: update internal developer documentation for Phase 6 completion
gouravjshah Feb 14, 2026
e1bc785
feat(07-coordination-protocols): create aof-coordination-protocols cr…
gouravjshah Feb 14, 2026
3728d88
feat(07-coordination-protocols): define CoordinationProtocolError type
gouravjshah Feb 14, 2026
f10faca
feat(07-coordination-protocols): define SessionMessage and MessageTyp…
gouravjshah Feb 14, 2026
8876089
feat(07-coordination-protocols): implement SessionTools message queue…
gouravjshah Feb 14, 2026
62b0e36
feat(07-coordination-protocols): extend CoordinationEvent with protoc…
gouravjshah Feb 14, 2026
cc40088
docs(07-coordination-protocols): create internal and user-facing docu…
gouravjshah Feb 14, 2026
b9fcde9
docs(07-coordination-protocols): complete 07-01-PLAN execution summar…
gouravjshah Feb 14, 2026
754f4ca
feat(07-coordination-protocols): implement HeartbeatScheduler
gouravjshah Feb 14, 2026
ed3c32d
feat(07-coordination-protocols): implement CoordinationManager
gouravjshah Feb 14, 2026
819edd0
feat(07-coordination-protocols): add coordination config to serve com…
gouravjshah Feb 14, 2026
aa7d556
feat(07-coordination-protocols): add coordination health REST endpoint
gouravjshah Feb 14, 2026
2a21e9d
test(07-coordination-protocols): verify heartbeat and manager tests pass
gouravjshah Feb 14, 2026
101726d
docs(07-coordination-protocols): add heartbeat architecture and user …
gouravjshah Feb 14, 2026
e9b7991
docs(07-coordination-protocols): complete 07-02-PLAN execution summar…
gouravjshah Feb 14, 2026
2bff02a
feat(07-coordination-protocols): implement TokenMetrics with atomic c…
gouravjshah Feb 14, 2026
63bd2e3
feat(07-coordination-protocols): integrate TokenMetrics into Coordina…
gouravjshah Feb 14, 2026
610c90f
feat(07-coordination-protocols): add metrics config and REST endpoint…
gouravjshah Feb 14, 2026
bacd1ae
docs(07-coordination-protocols): add token metrics architecture to de…
gouravjshah Feb 14, 2026
2786747
docs(07-coordination-protocols): create user-facing token budget mana…
gouravjshah Feb 14, 2026
2900f89
docs(07-coordination-protocols): complete 07-04-PLAN execution summar…
gouravjshah Feb 14, 2026
d31712b
feat(07-coordination-protocols): implement StandupConfig and StandupS…
gouravjshah Feb 14, 2026
d266dda
feat(07-coordination-protocols): implement standup scheduling loop
gouravjshah Feb 14, 2026
484bc3b
feat(07-coordination-protocols): implement standup response handling …
gouravjshah Feb 14, 2026
a62067a
feat(07-coordination-protocols): implement optional Sonnet summarization
gouravjshah Feb 14, 2026
37c5899
feat(07-coordination-protocols): integrate StandupScheduler into Coor…
gouravjshah Feb 14, 2026
520ed8d
docs(07-coordination-protocols): complete 07-03-PLAN core execution a…
gouravjshah Feb 14, 2026
7e78aac
test(07-coordination-protocols): create mock agent infrastructure for…
gouravjshah Feb 14, 2026
74b67b0
test(07-coordination-protocols): add heartbeat integration test infra…
gouravjshah Feb 14, 2026
c82b4b2
docs(07-coordination-protocols): add example coordination configuration
gouravjshah Feb 14, 2026
9425ef4
docs(07-coordination-protocols): create user setup guide
gouravjshah Feb 14, 2026
428f1d9
docs(07-coordination-protocols): create troubleshooting guide
gouravjshah Feb 14, 2026
de4f00e
docs(07-coordination-protocols): complete 07-06-PLAN execution summar…
gouravjshah Feb 14, 2026
14e7006
docs(roadmap): mark Phase 7 (Coordination Protocols) complete
gouravjshah Feb 14, 2026
ff6217b
feat(08-production-readiness): create per-tool seccomp profiles
gouravjshah Feb 14, 2026
8d83d3f
feat(08-production-readiness): implement SeccompProfileManager and Ca…
gouravjshah Feb 14, 2026
d2c285f
chore(08-production-readiness): add Criterion and tokio-console depen…
gouravjshah Feb 14, 2026
e329fe0
feat(08-production-readiness): define credential access audit types i…
gouravjshah Feb 14, 2026
7a63999
feat(08-production-readiness): implement credential access auditing a…
gouravjshah Feb 14, 2026
819db2b
feat(08-production-readiness): create Criterion micro-benchmarks for …
gouravjshah Feb 14, 2026
719ec4a
test(08-production-readiness): add integration performance tests and …
gouravjshah Feb 14, 2026
fa76e31
test(08-production-readiness): create security test suite
gouravjshah Feb 14, 2026
b04d63e
feat(08-production-readiness): add tokio-console profiling support
gouravjshah Feb 14, 2026
29e6792
ci(08-production-readiness): add performance regression detection wor…
gouravjshah Feb 14, 2026
fc12199
docs(08-production-readiness): create security hardening documentation
gouravjshah Feb 14, 2026
e627300
docs(08-production-readiness): add comprehensive performance document…
gouravjshah Feb 14, 2026
b0e9637
docs(08-production-readiness): complete 08-01-PLAN execution summary …
gouravjshah Feb 14, 2026
351ee42
chore(08-production-readiness): add Prometheus and structured logging…
gouravjshah Feb 14, 2026
4ab8aaf
feat(08-production-readiness): add device pairing types to aof-core
gouravjshah Feb 14, 2026
e1b4208
feat(08-production-readiness): implement Prometheus metrics registry
gouravjshah Feb 14, 2026
2388e35
feat(08-production-readiness): implement health/readiness checks and …
gouravjshah Feb 14, 2026
cec2951
feat(08-production-readiness): add systemd service, Docker improvemen…
gouravjshah Feb 14, 2026
d1c2c69
docs(08-production-readiness): comprehensive deployment and observabi…
gouravjshah Feb 14, 2026
22d376c
feat(08-production-readiness): implement Private CA for device certif…
gouravjshah Feb 14, 2026
1637b27
docs(08-04): complete production deployment infrastructure plan summa…
gouravjshah Feb 14, 2026
f560f58
feat(08-production-readiness): implement DeviceRegistry with approval…
gouravjshah Feb 14, 2026
e9c730a
docs(08-production-readiness): partial completion summary for 08-03 d…
gouravjshah Feb 14, 2026
c87fd56
feat(08-production-readiness): implement resilience patterns (circuit…
gouravjshah Feb 14, 2026
dd48aec
test(08-production-readiness): add chaos engineering test suite
gouravjshah Feb 14, 2026
9468c9c
docs(08-production-readiness): add SLO definitions, incident runbooks…
gouravjshah Feb 14, 2026
d8e9d0a
docs(08-production-readiness): complete 08-05-PLAN execution summary …
gouravjshah Feb 14, 2026
dff62c7
docs(phase-8): add strategic vision for OpenAgentiX platform and secu…
gouravjshah Feb 14, 2026
46d9532
feat(08-production-readiness): implement mTLS server config and devic…
gouravjshah Feb 14, 2026
6da7d2a
docs(08-production-readiness): complete device pairing documentation
gouravjshah Feb 14, 2026
ebcbc45
docs(08-production-readiness): complete 08-03-PLAN execution summary
gouravjshah Feb 14, 2026
0028fea
docs(08-production-readiness): update STATE for 08-03-PLAN completion
gouravjshah Feb 14, 2026
c7262c7
docs(phase-8): complete production-readiness phase execution with 100…
gouravjshah Feb 14, 2026
099bbdd
feat(gojo): Complete AOF test setup with 11 specialized agent minions
gouravjshah Feb 14, 2026
4b04584
fix(gojo): Correct serve-config format and update all documentation
gouravjshah Feb 14, 2026
778d1a5
feat(gojo): Configure port 7777 to avoid conflicts and add PORT-CONFI…
gouravjshah Feb 14, 2026
99f9600
refactor: rename gojo → quickstart (better conveys testing infrastruc…
gouravjshah Feb 14, 2026
59598e0
docs(quickstart): Add comprehensive testing guide with 4 test levels
gouravjshah Feb 14, 2026
145fef5
docs(quickstart): Fix agent invocation syntax - correct --interactive…
gouravjshah Feb 14, 2026
926138f
docs(quickstart): Update to use pnpm and add comprehensive web-ui set…
gouravjshah Feb 14, 2026
210c22d
feat(07-coordination-protocols): add TypeScript types for coordinatio…
gouravjshah Feb 14, 2026
257e283
feat(07-coordination-protocols): create Redux coordinationSlice
gouravjshah Feb 14, 2026
a4cf9b0
feat(07-coordination-protocols): create useCoordination hook
gouravjshah Feb 14, 2026
20ddddf
feat(07-coordination-protocols): extend useWebSocket for coordination…
gouravjshah Feb 14, 2026
bf4c8d9
feat(07-coordination-protocols): create HeartbeatDashboard component
gouravjshah Feb 14, 2026
39bbec2
feat(07-coordination-protocols): create StandupFeed component
gouravjshah Feb 14, 2026
92e15e3
feat(07-coordination-protocols): create CoordinationStatus component
gouravjshah Feb 14, 2026
22513f0
feat(07-coordination-protocols): create CoordinationPage
gouravjshah Feb 14, 2026
96b9127
test(07-coordination-protocols): add component tests
gouravjshah Feb 14, 2026
e92408a
docs(07-coordination-protocols): update documentation for Mission Con…
gouravjshah Feb 14, 2026
5933bc1
docs(07-coordination-protocols): complete 07-05-PLAN execution summar…
gouravjshah Feb 14, 2026
c062783
docs: update STATE.md for Plan 07-05 completion
gouravjshah Feb 14, 2026
c2ddd4c
docs(api): create formal coordination API and component specification…
gouravjshah Feb 14, 2026
4d5e4b3
docs: create comprehensive API and frontend web app specifications fo…
gouravjshah Feb 14, 2026
0f7d347
docs(milestone-2): phase 1 planning + builder.io handoff package
gouravjshah Feb 14, 2026
e787d6a
docs(handoff): add builder.io project setup configuration
gouravjshah Feb 14, 2026
b37e643
feat(web-app): create complete React + TypeScript scaffold for Milest…
gouravjshah Feb 14, 2026
1ec3cd9
fix(aof-gateway): remove hardcoded Slack tokens to fix GitHub push pr…
gouravjshah Feb 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
134 changes: 134 additions & 0 deletions .github/workflows/performance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Performance Regression Detection

on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:

env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1

jobs:
micro-benchmarks:
name: Criterion Micro-benchmarks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache build artifacts
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}

- name: Run event_serialization benchmark
run: cargo bench --bench event_serialization

- name: Run broadcaster_throughput benchmark
run: cargo bench --bench broadcaster_throughput

- name: Run coordination_overhead benchmark
run: cargo bench --bench coordination_overhead

- name: Upload Criterion HTML reports
uses: actions/upload-artifact@v4
if: always()
with:
name: criterion-reports
path: target/criterion/
retention-days: 14

- name: Store baseline on main branch
if: github.ref == 'refs/heads/main'
run: |
cargo bench --bench event_serialization -- --save-baseline main
cargo bench --bench broadcaster_throughput -- --save-baseline main
cargo bench --bench coordination_overhead -- --save-baseline main

- name: Compare against main baseline on PRs
if: github.event_name == 'pull_request'
run: |
# Note: For proper baseline comparison, we'd need to restore the baseline
# from a previous run. This is a simplified version that shows the pattern.
# Full implementation would use actions/cache to restore baselines.
cargo bench --bench event_serialization -- --baseline main || echo "No baseline to compare"
cargo bench --bench broadcaster_throughput -- --baseline main || echo "No baseline to compare"
cargo bench --bench coordination_overhead -- --baseline main || echo "No baseline to compare"

integration-performance:
name: Integration Performance Tests
runs-on: ubuntu-latest
# Only run on main branch pushes to avoid excessive CI time on every PR
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache build artifacts
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-perf-${{ hashFiles('**/Cargo.lock') }}

- name: Build release binary
run: cargo build --release

- name: Run baseline single agent tests
run: cargo test --test perf_baseline_single_agent --release -- --nocapture

- name: Run concurrent agents test
run: cargo test --test perf_concurrent_agents --release -- --nocapture

- name: Run memory stability tests (ignored by default)
run: cargo test --test perf_memory_stability --release -- --ignored --nocapture

regression-check:
name: Regression Failure Detection
runs-on: ubuntu-latest
needs: [micro-benchmarks]
if: always()
steps:
- name: Check benchmark results
run: |
# This job aggregates results and would fail the workflow if:
# 1. Criterion detects >10% regression (configured in benchmark code with significance_level(0.1))
# 2. Integration tests fail assertions (>10s for 20 agents, >100ms p95 latency)
# 3. Memory stability tests detect unbounded growth

# In a production setup, this would parse Criterion output and fail if regression detected
echo "Benchmark results checked. See micro-benchmarks job for details."
echo "Criterion will fail if p-value indicates >10% regression with statistical significance."
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,20 @@ secrets/
*.log
logs/

# Planning docs (except summaries and state)
.planning/*
!.planning/STATE.md
!.planning/PROJECT.md
!.planning/ROADMAP.md
!.planning/REQUIREMENTS.md
!.planning/CONTEXT.md
!.planning/ARCHITECTURE.md
!.planning/phases/
!.planning/phases/**/
!.planning/phases/**/*-SUMMARY.md
!.planning/phases/**/*-PLAN.md
!.planning/phases/**/CONTEXT.md
!.planning/phases/**/RESEARCH.md

# OS files
Thumbs.db
191 changes: 191 additions & 0 deletions .planning/PROJECT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# AOF - The Humanized Agentic Ops Platform

## What This Is

An open-source (Apache 2.0) platform that makes AI agents feel like team members, not scripts. Built on a Rust core, AOF gives DevOps/SRE engineers agent squads with real personalities, visible coordination, and a Mission Control dashboard — all while doing real ops work (K8s, monitoring, incident response). Think "OpenClaw for DevOps" but built for production infrastructure.

## Core Value

Agents that feel human — with personas, visible communication, and a Mission Control where you see your team of AI minions coordinating, reporting, and getting real work done.

## Requirements

### Validated

<!-- Shipped and confirmed valuable (existing AOF capabilities). -->

- Multi-provider LLM abstraction (Anthropic, OpenAI, Google, Groq, Ollama, Bedrock) — existing
- Agent execution engine with tool composition and streaming — existing
- Workflow execution (DAG-based step orchestration) — existing
- AgentFlow execution (multi-agent graph flows) — existing
- Memory backends (in-memory, file-based, optional Redis/Sled) — existing
- MCP client support (stdio, SSE, HTTP transports) — existing
- Built-in tool registry (kubectl, docker, git, shell, HTTP, file ops) — existing
- Trigger server with platform adapters (Telegram, Slack, Discord stubs) — existing
- Skills system (SKILL.md loading, registry, requirements gating) — existing
- Fleet coordination primitives (Raft, Byzantine consensus) — existing
- kubectl-style CLI (aofctl) — existing
- TUI interactive mode with streaming — existing
- Error knowledge base for learning from failures — existing
- Session management with resume capability — existing
- YAML-first agent/workflow/flow configuration — existing

### Active

<!-- The reinvention: humanized agentic ops platform. -->

**Agent Persona System (SOUL.md)**
- [ ] Each agent has a persistent personality defined in SOUL.md (identity, communication style, boundaries, vibe)
- [ ] Agents speak in character — their personality comes through in every interaction
- [ ] Avatar/icon system — each agent has a visual identity (emoji, pixel art, or custom image)
- [ ] Role titles and skill tags displayed on agent profile cards
- [ ] Agents maintain consistent personality across sessions via memory

**Visible Agent Communication**
- [ ] Squad chat — agents talk to each other in a shared chat stream visible to humans
- [ ] Announce queue — cross-agent communication protocol (agent A can message agent B)
- [ ] Humans can join squad chat, interrupt, redirect, or give new instructions
- [ ] Agent-to-agent task delegation — one agent can create tasks for another
- [ ] Communication logs are persistent and reviewable

**Mission Control (WASM Web UI)**
- [ ] WASM-based web dashboard compiled from Rust (pure Rust story, no JS framework)
- [ ] Agent cards — profile view with avatar, role, status, personality, skills, attention items
- [ ] Kanban task board — tasks flow through backlog/assigned/in-progress/review/done
- [ ] Squad chat panel — real-time view of agent-to-agent and human-to-agent conversation
- [ ] Live activity feed — real-time stream of what agents are doing (like GitHub activity)
- [ ] Task detail view — description, context, assignee (agent), comments, timeline, attachments
- [ ] Agent status indicators (idle, working, waiting for human, blocked)
- [ ] Squad overview — visual representation of all agents and their relationships

**Standups, Check-ins & Coordination**
- [ ] Agents perform scheduled standups — report what they did, what they're doing, blockers
- [ ] Check-in protocol — agents periodically report status without being asked
- [ ] Heartbeat system — proactive monitoring checks on schedules (every 30min, daily, etc.)
- [ ] Roundtable discussions — agents can hold group conversations to solve problems together
- [ ] Human-in-the-loop workflows — agents assign tasks to humans with context and comments

**Messaging Gateway (Slack/Discord)**
- [ ] Single bot mode — one bot in Slack, routes to different agents behind the scenes
- [ ] Dedicated agent channels — each agent appears separately in squad channels
- [ ] NAT-transparent — outbound WebSocket (no ngrok needed for Slack/Discord)
- [ ] Agents respond in character with their persona
- [ ] Squad announcements — broadcast to all agents or specific teams

**Conversational Configuration (The Interface IS Conversation)**
- [ ] Talk to the system to create agents — "I need a K8s monitoring agent" → agent with persona created
- [ ] Talk to build agent teams/fleets — "Build me an incident response squad" → team created with roles
- [ ] Talk to configure schedules — "Check my cluster every 30 minutes" → heartbeat configured
- [ ] Talk to add skills — "Learn how to debug our Postgres" → skill created from conversation
- [ ] YAML/CLI as power-user layer underneath — conversation generates config, not the other way around
- [ ] The main agent (orchestrator/router) understands intent and delegates to the right agents

**Real Ops Capabilities**
- [ ] K8s diagnostics — pod debugging, log analysis, event inspection, resource usage
- [ ] Incident response flow — triage agent coordinates specialist agents
- [ ] Monitoring integration — Prometheus queries, alert triage
- [ ] Skills platform — codify tribal knowledge as executable SKILL.md files
- [ ] Runbook execution — convert wiki/playbook procedures into agent skills

**Local-First Architecture**
- [ ] Local Rust daemon — agents run on your machine, Mission Control connects to it
- [ ] Optional server deployment — deploy daemon to server for always-on agents
- [ ] WebSocket control plane — Mission Control and Slack connect to daemon
- [ ] Session persistence — agent state survives daemon restarts

### Out of Scope

- Multi-tenancy / MSP features — enterprise product, not v1 open source
- RBAC / SSO / audit trails — enterprise product
- Billing / usage tracking — enterprise product
- Cloud-hosted SaaS offering — self-hosted only for v1
- Mobile app — web + Slack/Discord are the interfaces
- Voice/talk mode — text-based interactions for v1
- OAuth subscription support (Anthropic Pro/Max) — nice to have, not v1

## Context

**Why this exists:** OpenClaw proved that making AI agents feel human goes viral. Every agentic framework (LangGraph, CrewAI, Agno) feels like running scripts — even if technically powerful. The missing ingredient is the *human touch*: agents with personalities, visible coordination, and interfaces that make you feel like you're managing a team of intelligent minions. No one has built this for DevOps/SRE.

**What we're building on:** AOF has a solid Rust foundation — 13 crates covering LLM abstraction, agent execution, workflows, memory, tools, triggers, skills, and fleet coordination. The engine is proven. What's missing is the soul.

**Inspiration sources:**
- OpenClaw/Clawdbot: SOUL.md personas, agent-to-agent comms, skills platform, heartbeat system
- OpenClaw Mission Control: kanban tasks, agent cards, squad chat, live activity, task assignment
- Research in `/Users/gshah/work/opsflow-sh/plans/research/`: strategic analysis, feature extraction, architecture plans

**Existing codebase:** 13 Rust crates at v0.4.0-beta. Codebase map at `.planning/codebase/`. The Rust engine stays and evolves; the CLI/UX layer gets reinvented.

**Brand:** AOF (Agentic Ops Framework) remains the engine name. Product brand TBD — xops.bot is available as an option. Name decision deferred to post-prototype.

### Security: AOF's Enterprise Differentiation (vs OpenClaw)

**Phase 8 Delivery — Production Security Hardening:**

AOF is NOT just a humaner OpenClaw clone. It's **enterprise-grade agentic infrastructure** with security designed from the ground up:

**Defense-in-Depth Security Model (6 layers):**
1. **Sandbox Isolation:** Per-tool seccomp profiles blocking 23+ dangerous syscalls (ptrace, mount, bpf, etc.) — prevents kernel exploits
2. **Capability Dropping:** `--cap-drop=ALL` by default with per-tool allowlists — strips unnecessary permissions
3. **Credential Auditing:** CredentialAccessInterceptor logs every credential read with tamper-proof sequence numbers — track who accessed what
4. **Behavioral Anomaly Detection:** 4-component scoring system detects suspicious credential access patterns — catch insider threats
5. **Device Pairing & mTLS:** Private CA + device registry with approval workflow — only trusted devices can pair
6. **Production Observability:** SRE-grade metrics, health checks, graceful shutdown, incident runbooks — production-hardened

**Why this matters for enterprises:**
- **OpenClaw** executes user code with minimal isolation — fine for trusted OpenAI API calls, dangerous for production infrastructure access
- **AOF** runs untrusted agent code in hardened containers with comprehensive audit trails — enterprise can prove compliance
- **Selling point:** "Agents that feel human, but production-hardened for infrastructure access"

**Blog Series Planned (Q1 2026):**
1. "AOF vs OpenClaw: Why Human-Feeling Agents Need Enterprise Security"
2. "Seccomp Deep Dive: How AOF Prevents Sandbox Escape Attacks"
3. "Credential Auditing in Agentic Systems: The Missing Security Layer"
4. "From OpenClaw to OpenAgentiX: Generalizing AOF for Enterprise"

### Future Vision: OpenAgentiX Platform

**Phase 9-10 Generalization Path:**

AOF currently targets **DevOps/SRE** as initial market. Future vision is **OpenAgentiX** — a generalized agentic platform for any enterprise use case:

**Generalization Roadmap:**
- **v0.5 (AOF):** DevOps/SRE agents with K8s tools, incident response, monitoring
- **v1.0 (AOF + DevOps Enterprise):** Persona system, Mission Control, Slack/Discord, production hardening
- **v2.0 (OpenAgentiX):** Multi-domain agent framework — swap K8s tools for database, network, security, finance, HR tools
- **v2.5 (OpenAgentiX Enterprise):** Multi-tenancy, RBAC, SSO, audit trails, billing (separate commercial product)

**Key Insight:**
The security model (seccomp + credential auditing + behavioral anomaly detection) **is domain-agnostic**. It works for K8s agents, database agents, finance agents, any untrusted code executing against production systems.

**Market Positioning:**
- **OpenClaw** = Make agents feel human (great UX, no security)
- **AOF** = Make agents feel human + production-hardened (DevOps focused)
- **OpenAgentiX** = Make agents feel human + enterprise-secure (any domain, multi-tenancy, compliance)

## Constraints

- **Language**: Rust for core engine and WASM Mission Control (pure Rust story is a differentiator)
- **License**: Apache 2.0 — everything open source, enterprise features come later in separate products
- **Architecture**: Local-first — must work on a single machine, server deployment optional
- **Performance**: Rust performance is a selling point — agent communication and task coordination must be snappy
- **Frontend**: Mission Control built with builder.io (user's existing tool). Backend/daemon is Rust. Beautiful UX wins over language purity.
- **Backward compatibility**: Existing AOF YAML configs should still work (migration path, not hard break)
- **Cross-platform**: macOS, Linux, Windows (same as current AOF)

## Key Decisions

| Decision | Rationale | Outcome |
|----------|-----------|---------|
| builder.io for Mission Control | User's existing tool. Beautiful, polished UX. Rust backend + builder.io frontend. | — Pending |
| Local-first architecture | DevOps engineers want control, not another SaaS. Server mode is opt-in. | — Pending |
| Everything open source (v1) | Virality requires zero friction. Enterprise features are a separate product. | — Pending |
| Keep AOF as engine name | Established brand, crates already published. Product name TBD. | — Pending |
| Agents as "team members" not "tools" | This is THE differentiator. Every design decision serves the human feel. | — Pending |
| Slack/Discord dual mode | Single bot for quick access + dedicated agent channels for squad work | — Pending |
| Reinvention over evolution | Willing to restructure core if needed — the vision is more important than preserving current CLI patterns | — Pending |
| Conversation as primary interface | Users talk to the system, not write YAML. Config is generated from conversation. YAML is the power-user escape hatch. | — Pending |
| Simplicity over power | Dead simple first experience beats feature richness. If you need docs to start, you've lost. | — Pending |

---
*Last updated: 2026-02-11 after initialization*
Loading