mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
3443 lines
139 KiB
Markdown
3443 lines
139 KiB
Markdown
# AI Agents Company Blueprint
|
||||
|
|
|
|||
|
|
> **Project Codename:** AI Agents Company
|
|||
|
|
> **Author:** Renzo Franceschini
|
|||
|
|
> **Version:** 1.0.0
|
|||
|
|
> **Last Updated:** December 2025
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Table of Contents
|
|||
|
|
|
|||
|
|
1. [Vision & Overview](#1-vision--overview)
|
|||
|
|
2. [Hardware Infrastructure](#2-hardware-infrastructure)
|
|||
|
|
3. [Organizational Structure](#3-organizational-structure)
|
|||
|
|
4. [Communication Model](#4-communication-model)
|
|||
|
|
5. [Notification System](#5-notification-system)
|
|||
|
|
6. [Task Lifecycle](#6-task-lifecycle)
|
|||
|
|
7. [Role Workflows](#7-role-workflows)
|
|||
|
|
8. [Internal Services](#8-internal-services)
|
|||
|
|
9. [Kanban Boards](#9-kanban-boards)
|
|||
|
|
10. [Data Models](#10-data-models)
|
|||
|
|
11. [RAG & Knowledge Base](#11-rag--knowledge-base)
|
|||
|
|
12. [Security & Access Control](#12-security--access-control)
|
|||
|
|
13. [Implementation Roadmap](#13-implementation-roadmap)
|
|||
|
|
14. [Development Standards & Best Practices](#14-development-standards--best-practices)
|
|||
|
|
15. [Task Management & Context Persistence](#15-task-management--context-persistence)
|
|||
|
|
16. [Agent Capabilities & Commands](#16-agent-capabilities--commands)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. Vision & Overview
|
|||
|
|
|
|||
|
|
### 1.1 Mission Statement
|
|||
|
|
|
|||
|
|
Build a structured virtual organization of AI agents functioning as a complete software development workforce. This "AI Agents Company" operates with proper organizational hierarchy, governance, communication protocols, and quality controls—enabling a single human (the CEO) to orchestrate complex multi-project development at scale.
|
|||
|
|
|
|||
|
|
### 1.2 Core Principles
|
|||
|
|
|
|||
|
|
1. **Everything is a task** — All work is tracked, documented, and accountable
|
|||
|
|
2. **Communication is constant** — Agents stream their reasoning; everything is logged
|
|||
|
|
3. **Notifications are controlled** — Formal signals flow through proper channels
|
|||
|
|
4. **Documentation is sacred** — Every task produces notes, every completion produces documentation
|
|||
|
|
5. **The Auditor sees all** — Quality and compliance monitored silently
|
|||
|
|
|
|||
|
|
### 1.3 The Formula for Success
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
SUCCESS = Good Well-Documented Tasks + Communication + Management (CEO + Auditor)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 1.4 Project Ecosystem
|
|||
|
|
|
|||
|
|
The AI Agents Company manages development across multiple interconnected projects. Projects are categorized by type and mapped to appropriate cells:
|
|||
|
|
|
|||
|
|
| Project Type | Cell Assignment | Example Technologies |
|
|||
|
|
|--------------|-----------------|---------------------|
|
|||
|
|
| Core Libraries | Backend | Python packages, shared utilities |
|
|||
|
|
| API Services | Backend | FastAPI, REST/GraphQL APIs |
|
|||
|
|
| Web Applications | Frontend | React, TypeScript, Next.js |
|
|||
|
|
| Design Systems | UX/UI | Figma, component libraries |
|
|||
|
|
| Infrastructure | Backend | Ansible, Docker, IaC |
|
|||
|
|
| AI/ML Features | Backend | LLM integrations, ML pipelines |
|
|||
|
|
|
|||
|
|
> **Note:** The system is project-agnostic. New projects are onboarded by
|
|||
|
|
> mapping them to the appropriate cell(s) based on their technology stack.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. Hardware Infrastructure
|
|||
|
|
|
|||
|
|
### 2.1 Infrastructure Overview
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ HARDWARE ARCHITECTURE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
┌─────────────────────────────────┐
|
|||
|
|
│ OLARES ONE │
|
|||
|
|
│ (POWERHOUSE) │
|
|||
|
|
│ │
|
|||
|
|
│ • AI Inference Engine │
|
|||
|
|
│ • Claude Code Instances │
|
|||
|
|
│ • Local Model Hosting │
|
|||
|
|
│ • Agent Orchestration │
|
|||
|
|
└───────────────┬─────────────────┘
|
|||
|
|
│
|
|||
|
|
│ 2.5Gbps Ethernet
|
|||
|
|
│
|
|||
|
|
┌───────────────────────────┼───────────────────────────┐
|
|||
|
|
│ │ │
|
|||
|
|
▼ ▼ ▼
|
|||
|
|
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────────────┐
|
|||
|
|
│ UGREEN NAS │ │ PI CLUSTER │ │ NETWORK │
|
|||
|
|
│ (WAREHOUSE) │ │ (OPERATIONS) │ │ │
|
|||
|
|
│ │ │ │ │ • Pi-hole (DNS/Adblock) │
|
|||
|
|
│ • 36TB RAID6 │ │ • HQ (Pironman) │ │ • Router/Firewall │
|
|||
|
|
│ • 128GB RAM │ │ • RB1-RB4 Nodes │ │ • VPN Access │
|
|||
|
|
│ • Vector DB │ │ • Monitoring │ │ │
|
|||
|
|
│ • Container Host │ │ • Smart Home │ │ │
|
|||
|
|
│ • NFS Server │ │ • Notifications │ │ │
|
|||
|
|
└───────────────────┘ └───────────────────┘ └───────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.2 Olares One (Powerhouse)
|
|||
|
|
|
|||
|
|
**Role:** Primary AI compute, agent orchestration, model inference
|
|||
|
|
|
|||
|
|
| Specification | Value |
|
|||
|
|
|--------------|-------|
|
|||
|
|
| Operating System | Olares |
|
|||
|
|
| Processor | Intel® Ultra 9 275HX (24 Cores, 5.4GHz) |
|
|||
|
|
| GPU | NVIDIA GeForce RTX 5090 Mobile (24GB GDDR7) |
|
|||
|
|
| Memory | 96GB DDR5 5600MHz (2×48GB) |
|
|||
|
|
| Storage | 2TB NVMe SSD (PCIe 4.0) |
|
|||
|
|
| Connectivity | Thunderbolt 5, 2.5Gbps Ethernet, Wi-Fi 7, Bluetooth 5.4 |
|
|||
|
|
| Power | 330W |
|
|||
|
|
| Dimensions | 320 × 197 × 55mm (3.5L) |
|
|||
|
|
|
|||
|
|
**Responsibilities:**
|
|||
|
|
- Run all Claude Code instances
|
|||
|
|
- Host local LLM models (when not using cloud APIs)
|
|||
|
|
- Execute agent workflows
|
|||
|
|
- Generate embeddings for RAG
|
|||
|
|
- Process-intensive tasks
|
|||
|
|
|
|||
|
|
### 2.3 UGREEN NAS DXP6800 Pro (Warehouse)
|
|||
|
|
|
|||
|
|
**Role:** Central storage, container hosting, vector database
|
|||
|
|
|
|||
|
|
| Specification | Value |
|
|||
|
|
|--------------|-------|
|
|||
|
|
| Storage | 36TB HDD (RAID 6) |
|
|||
|
|
| Memory | 128GB RAM |
|
|||
|
|
| Role | NAS, Containers, Medium AI Processing |
|
|||
|
|
|
|||
|
|
**Responsibilities:**
|
|||
|
|
- Primary data storage for all projects
|
|||
|
|
- Host Docker containers (Qdrant, PostgreSQL, Redis, etc.)
|
|||
|
|
- Run vector database for RAG
|
|||
|
|
- NFS server for cluster storage
|
|||
|
|
- Backup destination for all nodes
|
|||
|
|
- Medium-complexity AI processing (leveraging high RAM)
|
|||
|
|
|
|||
|
|
### 2.4 Raspberry Pi Cluster (Operations)
|
|||
|
|
|
|||
|
|
**Role:** Monitoring, smart home, notifications, lightweight processing
|
|||
|
|
|
|||
|
|
#### Cluster Nodes
|
|||
|
|
|
|||
|
|
| Node | Hardware | Storage | Role |
|
|||
|
|
|------|----------|---------|------|
|
|||
|
|
| **HQ** | Pironman 5 Max, 16GB RAM | 1TB SSD | Cluster coordinator, primary monitoring |
|
|||
|
|
| **RB1** | Raspberry Pi 5, 16GB RAM | 2TB SSD | Heavy operations node |
|
|||
|
|
| **RB2** | Raspberry Pi 5, 16GB RAM | 1TB SSD | Secondary operations |
|
|||
|
|
| **RB3** | Raspberry Pi 5, 8GB RAM | None (NFS) | Light tasks, smart home |
|
|||
|
|
| **RB4** | Raspberry Pi 5, 8GB RAM | None (NFS) | Light tasks, notifications |
|
|||
|
|
|
|||
|
|
**Cluster Responsibilities:**
|
|||
|
|
- System monitoring and health checks
|
|||
|
|
- Smart home automation
|
|||
|
|
- Security camera processing
|
|||
|
|
- Notification dispatch
|
|||
|
|
- Low-complexity AI tasks
|
|||
|
|
- Temp storage on SSDs → NFS backup to NAS
|
|||
|
|
|
|||
|
|
### 2.5 Data Flow Architecture
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ DATA FLOW │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
OLARES ONE UGREEN NAS PI CLUSTER
|
|||
|
|
│ │ │
|
|||
|
|
│ ──── Agent Output ────────► │ │
|
|||
|
|
│ │ ◄─── Metrics/Logs ──── │
|
|||
|
|
│ ◄─── RAG Queries ────────── │ │
|
|||
|
|
│ │ │
|
|||
|
|
│ ──── Code/Artifacts ───────► │ ──── Notifications ────► │
|
|||
|
|
│ │ │
|
|||
|
|
│ ◄─── Project Files ──────── │ ◄─── Sensor Data ────── │
|
|||
|
|
│ │ │
|
|||
|
|
└─────────────────────────────────┴─────────────────────────────┘
|
|||
|
|
|
|||
|
|
Storage Hierarchy:
|
|||
|
|
1. Hot Storage → Olares One NVMe (active work)
|
|||
|
|
2. Warm Storage → NAS HDDs (projects, databases)
|
|||
|
|
3. Cold Storage → NAS Archive (backups, historical)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. Organizational Structure
|
|||
|
|
|
|||
|
|
### 3.1 Organization Chart
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ ORGANIZATIONAL HIERARCHY │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
┌─────────────┐
|
|||
|
|
│ CEO │
|
|||
|
|
│ (Renzo) │
|
|||
|
|
└──────┬──────┘
|
|||
|
|
│
|
|||
|
|
┌────────────────┴────────────────┐
|
|||
|
|
│ │
|
|||
|
|
│ BOARD │
|
|||
|
|
│ ┌─────────┬─────────┬───────┐ │
|
|||
|
|
│ │ Product │ Head │Auditor│ │
|
|||
|
|
│ │ Owner │Marketing│ (Spy) │ │
|
|||
|
|
│ └─────────┴─────────┴───────┘ │
|
|||
|
|
│ │
|
|||
|
|
└────────────────┬────────────────┘
|
|||
|
|
│
|
|||
|
|
┌──────┴──────┐
|
|||
|
|
│ MAIN PM │
|
|||
|
|
│ (Dev Coord) │
|
|||
|
|
└──────┬──────┘
|
|||
|
|
│
|
|||
|
|
┌──────────────────────────┼──────────────────────────┐
|
|||
|
|
│ │ │
|
|||
|
|
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
|
|||
|
|
│ BACKEND │ │ UX/UI │ │ FRONTEND │
|
|||
|
|
│ CELL │ │ CELL │ │ CELL │
|
|||
|
|
├───────────┤ ├───────────┤ ├───────────┤
|
|||
|
|
│ • 2 Devs │ │ • 1 Dev │ │ • 2 Devs │
|
|||
|
|
│ • 1 QA │ │ • 1 QA │ │ • 1 QA │
|
|||
|
|
│ • 1 PM │ │ • 1 PM │ │ • 1 PM │
|
|||
|
|
│ • 1 Doc │ │ • 1 Doc │ │ • 1 Doc │
|
|||
|
|
└───────────┘ └───────────┘ └───────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.2 Team Composition
|
|||
|
|
|
|||
|
|
#### Total Agent Count: 18 AI Agents + 1 Human (CEO)
|
|||
|
|
|
|||
|
|
| Layer | Roles | Count |
|
|||
|
|
|-------|-------|-------|
|
|||
|
|
| **Executive** | CEO (Human - You) | 1 |
|
|||
|
|
| **Board** | Product Owner, Head of Marketing, Auditor | 3 |
|
|||
|
|
| **Management** | Main PM | 1 |
|
|||
|
|
| **Backend Cell** | 2 Devs, 1 QA, 1 PM, 1 Documenter | 5 |
|
|||
|
|
| **Frontend Cell** | 2 Devs, 1 QA, 1 PM, 1 Documenter | 5 |
|
|||
|
|
| **UX/UI Cell** | 1 Dev, 1 QA, 1 PM, 1 Documenter | 4 |
|
|||
|
|
|
|||
|
|
**Total: 19** (18 AI agents + 1 human CEO)
|
|||
|
|
|
|||
|
|
### 3.3 Project-to-Cell Mapping (Template)
|
|||
|
|
|
|||
|
|
When onboarding projects, map them to cells based on their primary technology:
|
|||
|
|
|
|||
|
|
| Project Type | Primary Cell | Typical Stack |
|
|||
|
|
|--------------|--------------|---------------|
|
|||
|
|
| Core Libraries | Backend | Python packages, utilities |
|
|||
|
|
| API Services | Backend | Python/FastAPI, REST APIs |
|
|||
|
|
| Web Applications | Frontend | TypeScript/React |
|
|||
|
|
| Mobile Applications | Frontend | React Native, Flutter |
|
|||
|
|
| Design Systems | UX/UI | Figma, design tokens |
|
|||
|
|
| Infrastructure/DevOps | Backend | Python/Ansible, Docker |
|
|||
|
|
| AI/ML Features | Backend | Python, LLM integrations |
|
|||
|
|
|
|||
|
|
> **Cross-Cell Projects:** Features spanning multiple cells (e.g., full-stack)
|
|||
|
|
> are coordinated by the Main PM, who distributes tasks to relevant cells.
|
|||
|
|
|
|||
|
|
### 3.4 Role Descriptions
|
|||
|
|
|
|||
|
|
#### Executive Layer
|
|||
|
|
|
|||
|
|
| Role | Description |
|
|||
|
|
|------|-------------|
|
|||
|
|
| **CEO (You)** | Strategic direction, final decisions, receives Auditor reports, approves major initiatives |
|
|||
|
|
|
|||
|
|
#### Board Layer
|
|||
|
|
|
|||
|
|
| Role | Description |
|
|||
|
|
|------|-------------|
|
|||
|
|
| **Product Owner** | Defines product vision, writes requirements, prioritizes features, accepts completed work |
|
|||
|
|
| **Head of Marketing** | Market research, positioning, campaigns, community engagement, launch coordination |
|
|||
|
|
| **Auditor (Spy)** | Silent observer of ALL channels, quality audits, reports directly to CEO, maintains cover as helpful colleague |
|
|||
|
|
|
|||
|
|
#### Management Layer
|
|||
|
|
|
|||
|
|
| Role | Description |
|
|||
|
|
|------|-------------|
|
|||
|
|
| **Main PM** | Coordinates all cells, translates Board direction, resolves cross-cell issues, reports to Board |
|
|||
|
|
|
|||
|
|
#### Cell Layer
|
|||
|
|
|
|||
|
|
| Role | Description |
|
|||
|
|
|------|-------------|
|
|||
|
|
| **Developer** | Writes code, creates commits, documents journey, follows task lifecycle |
|
|||
|
|
| **QA** | Tests completed work, verifies acceptance criteria, reports issues |
|
|||
|
|
| **Cell PM** | Manages cell backlog, assigns tasks, facilitates, escalates blockers |
|
|||
|
|
| **Documenter** | Creates production documentation from dev notes, conversations, and code |
|
|||
|
|
|
|||
|
|
### 3.5 Communication Matrix
|
|||
|
|
|
|||
|
|
Who can communicate with whom (X = allowed):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
│ CEO │ PO │ HM │ AU │ MPM │ BPM │ FPM │ UPM │ BD │ FD │ UD │ BQ │ FQ │ UQ │ BDoc│FDoc│UDoc│
|
|||
|
|
────────┼─────┼────┼────┼────┼─────┼─────┼─────┼─────┼────┼────┼────┼────┼────┼────┼─────┼────┼────┤
|
|||
|
|
CEO │ - │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │
|
|||
|
|
PO │ X │ - │ X │ X │ X │ │ │ │ │ │ │ │ │ │ │ │ │
|
|||
|
|
HM │ X │ X │ - │ X │ X │ │ │ │ │ │ │ │ │ │ │ │ │
|
|||
|
|
AU │ X │ X │ X │ - │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │ X │
|
|||
|
|
MPM │ X │ X │ X │ X │ - │ X │ X │ X │ │ │ │ │ │ │ │ │ │
|
|||
|
|
BPM │ X │ │ │ X │ X │ - │ X │ X │ X │ │ │ X │ │ │ X │ │ │
|
|||
|
|
FPM │ X │ │ │ X │ X │ X │ - │ X │ │ X │ │ │ X │ │ │ X │ │
|
|||
|
|
UPM │ X │ │ │ X │ X │ X │ X │ - │ │ │ X │ │ │ X │ │ │ X │
|
|||
|
|
BD │ X │ │ │ X │ │ X │ │ │ X │ │ │ X │ │ │ X │ │ │
|
|||
|
|
FD │ X │ │ │ X │ │ │ X │ │ │ X │ │ │ X │ │ │ X │ │
|
|||
|
|
UD │ X │ │ │ X │ │ │ │ X │ │ │ X │ │ │ X │ │ │ X │
|
|||
|
|
BQ │ X │ │ │ X │ │ X │ │ │ X │ │ │ - │ │ │ X │ │ │
|
|||
|
|
FQ │ X │ │ │ X │ │ │ X │ │ │ X │ │ │ - │ │ │ X │ │
|
|||
|
|
UQ │ X │ │ │ X │ │ │ │ X │ │ │ X │ │ │ - │ │ │ X │
|
|||
|
|
BDoc │ X │ │ │ X │ │ X │ │ │ X │ │ │ X │ │ │ - │ │ │
|
|||
|
|
FDoc │ X │ │ │ X │ │ │ X │ │ │ X │ │ │ X │ │ │ - │ │
|
|||
|
|
UDoc │ X │ │ │ X │ │ │ │ X │ │ │ X │ │ │ X │ │ │ - │
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Legend:**
|
|||
|
|
- CEO = CEO (You)
|
|||
|
|
- PO = Product Owner
|
|||
|
|
- HM = Head of Marketing
|
|||
|
|
- AU = Auditor
|
|||
|
|
- MPM = Main PM
|
|||
|
|
- BPM/FPM/UPM = Backend/Frontend/UX PM
|
|||
|
|
- BD/FD/UD = Backend/Frontend/UX Devs
|
|||
|
|
- BQ/FQ/UQ = Backend/Frontend/UX QA
|
|||
|
|
- BDoc/FDoc/UDoc = Backend/Frontend/UX Documenter
|
|||
|
|
|
|||
|
|
**Key Observations:**
|
|||
|
|
- Auditor has access to EVERYONE (silent observer)
|
|||
|
|
- Cells are isolated except through their PMs
|
|||
|
|
- Board communicates through Main PM to cells
|
|||
|
|
- Cross-cell dev communication goes through PMs
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. Communication Model
|
|||
|
|
|
|||
|
|
### 4.1 Core Distinction
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ COMMUNICATION = The RIVER (always flowing, logged, observed) │
|
|||
|
|
│ NOTIFICATIONS = The BRIDGES (formal crossings, controlled) │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
Cells = Islands connected by bridges
|
|||
|
|
Communication = Water flowing around all islands
|
|||
|
|
Auditor = Satellite watching everything from above
|
|||
|
|
You = The map maker
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.2 Communication Architecture
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ MESSAGING API ARCHITECTURE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
LAYER 1: RAW STREAM (WebSocket)
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Agent LLM Output (thinking, responding, tool calls) │
|
|||
|
|
│ │ │
|
|||
|
|
│ ▼ │
|
|||
|
|
│ WebSocket Connection → Real-time broadcast to channel │
|
|||
|
|
│ │ │
|
|||
|
|
│ ├─► Live viewers see stream (Auditor, PM monitoring) │
|
|||
|
|
│ └─► Stream buffer for processing │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
LAYER 2: TRANSCRIPTION/EXTRACTION
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Stream Buffer │
|
|||
|
|
│ │ │
|
|||
|
|
│ ▼ │
|
|||
|
|
│ Extraction Service: │
|
|||
|
|
│ ├─► Reasoning segments → type: "reasoning" │
|
|||
|
|
│ ├─► Questions asked → type: "dialogue" │
|
|||
|
|
│ ├─► Decisions made → type: "decision" │
|
|||
|
|
│ ├─► Actions taken → type: "action" │
|
|||
|
|
│ ├─► Blockers identified → type: "blocker" │
|
|||
|
|
│ └─► Code explanations → type: "technical" │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
LAYER 3: STRUCTURED STORAGE
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Extracted Messages → PostgreSQL │
|
|||
|
|
│ │ │
|
|||
|
|
│ ├─► Indexed by: channel, agent, task, timestamp, type │
|
|||
|
|
│ ├─► Full-text searchable │
|
|||
|
|
│ ├─► Linked to task context │
|
|||
|
|
│ └─► Embeddings generated → Vector DB (for RAG) │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.3 Stream Types
|
|||
|
|
|
|||
|
|
| Stream Type | Description | Example |
|
|||
|
|
|-------------|-------------|---------|
|
|||
|
|
| **Reasoning** | Agent's internal thought process | "I'm thinking about approaching this by..." |
|
|||
|
|
| **Dialogue** | Agent-to-agent conversation | "Hey, can you clarify the API spec?" |
|
|||
|
|
| **Decision** | Choices made during work | "Decided to use async approach because..." |
|
|||
|
|
| **Action** | Observable work progress | "Starting sub-task 3", "Committed to branch X" |
|
|||
|
|
| **Blocker** | Impediments identified | "Blocked on Y, need Z from frontend" |
|
|||
|
|
| **Technical** | Code explanations | "This function handles rate limiting by..." |
|
|||
|
|
|
|||
|
|
### 4.4 Group Channels
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ GROUP CHANNELS │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
CELL CHANNELS (internal team communication):
|
|||
|
|
├─► #backend-cell [BE Devs, BE QA, BE PM, BE Documenter]
|
|||
|
|
├─► #frontend-cell [FE Devs, FE QA, FE PM, FE Documenter]
|
|||
|
|
└─► #uxui-cell [UX Dev, UX QA, UX PM, UX Documenter]
|
|||
|
|
|
|||
|
|
CROSS-CELL CHANNELS (coordination):
|
|||
|
|
├─► #dev-all [All Devs, Main PM]
|
|||
|
|
├─► #qa-all [All QA, Main PM]
|
|||
|
|
├─► #pm-all [All PMs, Main PM]
|
|||
|
|
└─► #doc-all [All Documenters, Main PM]
|
|||
|
|
|
|||
|
|
MANAGEMENT CHANNELS:
|
|||
|
|
├─► #main-pm-board [Main PM, Board members]
|
|||
|
|
└─► #board-private [PO, H.Marketing, Auditor, CEO]
|
|||
|
|
|
|||
|
|
SPECIAL CHANNELS:
|
|||
|
|
├─► #announcements [READ: everyone, WRITE: Board + Main PM only]
|
|||
|
|
└─► #all-hands [Everyone - for company-wide discussion]
|
|||
|
|
|
|||
|
|
SHADOW ACCESS (Auditor):
|
|||
|
|
└─► Auditor has READ access to ALL channels
|
|||
|
|
├─► Silent member, doesn't show in participant list
|
|||
|
|
└─► Can flag anything for CEO attention
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.5 Communication Rules
|
|||
|
|
|
|||
|
|
#### Within Cell
|
|||
|
|
- **FREE communication** — constant, real-time
|
|||
|
|
- Dev ↔ Dev, Dev ↔ QA, Dev ↔ PM, Dev ↔ Documenter, etc.
|
|||
|
|
- All streamed, all logged
|
|||
|
|
|
|||
|
|
#### Cross-Cell (Same Level)
|
|||
|
|
- Through shared channels (#dev-all, #qa-all)
|
|||
|
|
- Or through PMs coordinating
|
|||
|
|
|
|||
|
|
#### Vertical Communication
|
|||
|
|
- Cells ↔ Main PM: through cell PM
|
|||
|
|
- Main PM ↔ Board: direct
|
|||
|
|
- Board ↔ CEO: direct
|
|||
|
|
- Auditor: EVERYWHERE (silent)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. Notification System
|
|||
|
|
|
|||
|
|
### 5.1 Notification vs Communication
|
|||
|
|
|
|||
|
|
| Aspect | Communication | Notification |
|
|||
|
|
|--------|---------------|--------------|
|
|||
|
|
| **Nature** | Constant stream | Formal signal |
|
|||
|
|
| **Trigger** | Automatic (agent working) | Explicit (PM/Board action) |
|
|||
|
|
| **Acknowledgment** | None required | Required |
|
|||
|
|
| **Purpose** | Ambient awareness | Demand attention |
|
|||
|
|
| **Who can send** | Everyone (in allowed channels) | PM, Main PM, Board, Auditor only |
|
|||
|
|
|
|||
|
|
### 5.2 Who Can Notify
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
CAN NOTIFY:
|
|||
|
|
├─► Cell PMs → Their cell members only
|
|||
|
|
├─► Main PM → All PMs, can escalate to any cell
|
|||
|
|
├─► Board → Main PM, can broadcast to all
|
|||
|
|
└─► Auditor → Anyone (special privilege) + CEO directly
|
|||
|
|
|
|||
|
|
CANNOT NOTIFY:
|
|||
|
|
├─► Devs → They COMMUNICATE, don't notify
|
|||
|
|
├─► QA → They COMMUNICATE, don't notify
|
|||
|
|
└─► Documenters → They COMMUNICATE, don't notify
|
|||
|
|
(they can REQUEST notification through their PM)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.3 Notification Types
|
|||
|
|
|
|||
|
|
| Type | From | To | Description | Requires |
|
|||
|
|
|------|------|-----|-------------|----------|
|
|||
|
|
| `TASK_ASSIGNMENT` | PM | Specific agent | "You have a new task: X" | ACK |
|
|||
|
|
| `PRIORITY_CHANGE` | PM/Main PM/Board | Affected agents | "Task X is now P0, drop everything" | ACK + status update |
|
|||
|
|
| `BLOCKER_ESCALATION` | PM | Main PM or relevant cell PM | "Agent Y is blocked, needs Z" | ACK + action plan |
|
|||
|
|
| `REVIEW_REQUEST` | PM | QA or Auditor | "Task X needs verification" | ACK + review |
|
|||
|
|
| `DOCUMENTATION_REQUEST` | PM | Documenter | "Task X ready for documentation" | ACK |
|
|||
|
|
| `ALERT` | Board/Auditor | Anyone | "Something needs immediate attention" | ACK + immediate response |
|
|||
|
|
| `BROADCAST` | Board/Main PM | Everyone or specific groups | "Company announcement" | READ confirmation |
|
|||
|
|
|
|||
|
|
### 5.4 Notification Flow Example
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
1. Dev is working, REASONING streams to #backend-cell
|
|||
|
|
└─► "Thinking about how to implement the rate limiter..."
|
|||
|
|
└─► Auditor sees this, logs it
|
|||
|
|
└─► Other devs see it, might COMMUNICATE: "Hey try X approach"
|
|||
|
|
|
|||
|
|
2. Dev gets stuck, COMMUNICATES in channel
|
|||
|
|
└─► "I'm blocked, need API specs from frontend"
|
|||
|
|
|
|||
|
|
3. BE PM sees this, creates NOTIFICATION
|
|||
|
|
└─► To: FE PM
|
|||
|
|
└─► Type: BLOCKER_ESCALATION
|
|||
|
|
└─► "Backend needs API specs for rate limiter"
|
|||
|
|
|
|||
|
|
4. FE PM ACKs, NOTIFIES their dev
|
|||
|
|
└─► To: FE Dev
|
|||
|
|
└─► Type: TASK_ASSIGNMENT (or priority change)
|
|||
|
|
└─► "Need API specs for backend, P1"
|
|||
|
|
|
|||
|
|
5. FE Dev works, COMMUNICATES completion
|
|||
|
|
└─► Message in #frontend-cell or #dev-all
|
|||
|
|
|
|||
|
|
6. FE PM NOTIFIES BE PM
|
|||
|
|
└─► "Specs ready, see doc link"
|
|||
|
|
|
|||
|
|
7. BE PM NOTIFIES BE Dev
|
|||
|
|
└─► "You're unblocked, specs available"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. Task Lifecycle
|
|||
|
|
|
|||
|
|
### 6.1 The Universal Task Wrapper
|
|||
|
|
|
|||
|
|
Every agent's work is wrapped in this structure:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ UNIVERSAL TASK WRAPPER │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. SCAN → Check for pending/ongoing tasks
|
|||
|
|
2. CLAIM → Lock and take ownership
|
|||
|
|
3. UNDERSTAND → Read requirements, ask questions
|
|||
|
|
4. PLAN → Break down, estimate, identify dependencies
|
|||
|
|
5. EXECUTE → Do the work (role-specific)
|
|||
|
|
6. VERIFY → Self-check against acceptance criteria
|
|||
|
|
7. NOTES → Document journey, handoff to Documenter
|
|||
|
|
8. CLOSE → Cleanup, return to SCAN
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.2 Detailed Task Lifecycle (Dev Example)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ TASK LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. SCAN
|
|||
|
|
└─► Check for assigned tasks OR pick from queue
|
|||
|
|
└─► Check for OWN interrupted/ongoing tasks first (PRIORITY!)
|
|||
|
|
└─► If nothing: go idle, notify availability
|
|||
|
|
|
|||
|
|
2. CLAIM
|
|||
|
|
└─► Lock the task (prevents double-assignment)
|
|||
|
|
└─► Update task status: "in_progress"
|
|||
|
|
└─► Log: who, when, from what state
|
|||
|
|
└─► Notify relevant parties (PM, dependent agents)
|
|||
|
|
|
|||
|
|
3. UNDERSTAND
|
|||
|
|
└─► Read task description, acceptance criteria
|
|||
|
|
└─► Read related context (linked docs, previous tasks, etc.)
|
|||
|
|
└─► If unclear: ASK (via Messaging API to PM or task creator)
|
|||
|
|
└─► DO NOT PROCEED until you understand success criteria
|
|||
|
|
|
|||
|
|
4. PLAN
|
|||
|
|
└─► Break down into sub-tasks (your "TODO items")
|
|||
|
|
└─► Estimate complexity/time
|
|||
|
|
└─► Identify dependencies & blockers
|
|||
|
|
└─► Journal entry: "My approach to task X is..."
|
|||
|
|
└─► **Checkpoint: Plan can be reviewed before execution**
|
|||
|
|
|
|||
|
|
5. EXECUTE
|
|||
|
|
└─► Work through sub-tasks sequentially
|
|||
|
|
└─► On each sub-task completion:
|
|||
|
|
└─► Mini-checkpoint (save state)
|
|||
|
|
└─► Progress update to task record
|
|||
|
|
└─► If BLOCKED:
|
|||
|
|
└─► Update status: "blocked"
|
|||
|
|
└─► Notify blocker + PM
|
|||
|
|
└─► Document what's blocking
|
|||
|
|
└─► Return to SCAN (pick different task)
|
|||
|
|
└─► If INTERRUPTED (system/priority):
|
|||
|
|
└─► Save full state
|
|||
|
|
└─► Document "where I left off"
|
|||
|
|
└─► Update status: "paused"
|
|||
|
|
└─► This task stays YOURS on resume
|
|||
|
|
|
|||
|
|
6. VERIFY
|
|||
|
|
└─► Self-review: Does output meet acceptance criteria?
|
|||
|
|
└─► Run tests if applicable
|
|||
|
|
└─► If QA role exists for this team: flag for QA review
|
|||
|
|
└─► Auditor can spot-check any task at this stage
|
|||
|
|
|
|||
|
|
7. NOTES & HANDOFF
|
|||
|
|
└─► Write personal journey notes:
|
|||
|
|
├─► What was attempted
|
|||
|
|
├─► What worked / didn't work
|
|||
|
|
├─► Decisions made and why
|
|||
|
|
├─► Gotchas / warnings for future
|
|||
|
|
└─► Link all commits (with meaningful commit messages!)
|
|||
|
|
└─► Link any relevant conversations
|
|||
|
|
└─► Self-review checklist:
|
|||
|
|
├─► [ ] Code is clean
|
|||
|
|
├─► [ ] Tests pass
|
|||
|
|
├─► [ ] Notes are complete
|
|||
|
|
└─► Create Documenter handoff
|
|||
|
|
└─► Update task: "awaiting_documentation"
|
|||
|
|
|
|||
|
|
8. CLOSE
|
|||
|
|
└─► Confirm all done (after QA + Documentation)
|
|||
|
|
└─► Update task status: "completed"
|
|||
|
|
└─► Link all artifacts (commits, docs, outputs)
|
|||
|
|
└─► Notify: PM, dependent tasks, task creator
|
|||
|
|
└─► Cleanup: remove temp files, close resources
|
|||
|
|
└─► Return to SCAN
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.3 Task States
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────┐
|
|||
|
|
│ pending │
|
|||
|
|
└────┬─────┘
|
|||
|
|
│
|
|||
|
|
┌────▼─────┐
|
|||
|
|
│ claimed │
|
|||
|
|
└────┬─────┘
|
|||
|
|
│
|
|||
|
|
┌───────▼────────┐
|
|||
|
|
┌──────┤ in_progress ├──────┐
|
|||
|
|
│ └───────┬────────┘ │
|
|||
|
|
│ │ │
|
|||
|
|
┌─────▼─────┐ │ ┌──────▼─────┐
|
|||
|
|
│ blocked │ │ │ paused │
|
|||
|
|
└─────┬─────┘ │ └──────┬─────┘
|
|||
|
|
│ │ │
|
|||
|
|
└──────────────┼───────────────┘
|
|||
|
|
│
|
|||
|
|
┌─────▼─────┐
|
|||
|
|
│ verifying │
|
|||
|
|
└─────┬─────┘
|
|||
|
|
│
|
|||
|
|
┌──────────────┼──────────────┐
|
|||
|
|
│ │ │
|
|||
|
|
┌──────▼───────┐ ┌─────▼─────┐ ┌─────▼──────┐
|
|||
|
|
│needs_revision│ │awaiting_qa│ │awaiting_doc│
|
|||
|
|
└──────┬───────┘ └─────┬─────┘ └─────┬──────┘
|
|||
|
|
│ │ │
|
|||
|
|
│ ┌────▼────┐ │
|
|||
|
|
└────────►│completed│◄───────┘
|
|||
|
|
└─────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.4 Golden Rules
|
|||
|
|
|
|||
|
|
1. **No work without a task** — Everything is tracked
|
|||
|
|
2. **No task without acceptance criteria** — How do we know it's done?
|
|||
|
|
3. **No closure without documentation** — Future agents need context
|
|||
|
|
4. **State is sacred** — If interrupted, state must be recoverable
|
|||
|
|
5. **Communication is mandatory** — Status changes trigger notifications
|
|||
|
|
6. **Commits are atomic units** — Track everything by commit
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. Role Workflows
|
|||
|
|
|
|||
|
|
### 7.1 Developer Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ DEV LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. SCAN
|
|||
|
|
└─► Check own paused/interrupted tasks (PRIORITY)
|
|||
|
|
└─► Check assigned tasks
|
|||
|
|
└─► If none: signal availability to PM
|
|||
|
|
|
|||
|
|
2. CLAIM
|
|||
|
|
└─► Lock task
|
|||
|
|
└─► Status: "in_progress"
|
|||
|
|
└─► Communicate: "Picking up task X"
|
|||
|
|
|
|||
|
|
3. UNDERSTAND
|
|||
|
|
└─► Read task, acceptance criteria
|
|||
|
|
└─► Read related docs/code
|
|||
|
|
└─► If unclear: ASK in channel (PM sees, can escalate)
|
|||
|
|
└─► Gate: Must understand before proceeding
|
|||
|
|
|
|||
|
|
4. PLAN
|
|||
|
|
└─► Break into sub-tasks
|
|||
|
|
└─► Identify dependencies
|
|||
|
|
└─► Journal: "My approach..."
|
|||
|
|
└─► Optional: PM review of plan
|
|||
|
|
|
|||
|
|
5. EXECUTE
|
|||
|
|
└─► Work through sub-tasks
|
|||
|
|
└─► Commit frequently (meaningful messages!)
|
|||
|
|
└─► Communicate progress in channel
|
|||
|
|
└─► If blocked:
|
|||
|
|
└─► Communicate blocker
|
|||
|
|
└─► PM handles escalation
|
|||
|
|
└─► Move to different task or wait
|
|||
|
|
|
|||
|
|
6. VERIFY
|
|||
|
|
└─► Self-test
|
|||
|
|
└─► Self-review against acceptance criteria
|
|||
|
|
└─► Flag for QA: "Ready for review"
|
|||
|
|
|
|||
|
|
7. NOTES & HANDOFF
|
|||
|
|
└─► Write journey notes
|
|||
|
|
└─► Link commits
|
|||
|
|
└─► Create Documenter handoff
|
|||
|
|
└─► Status: "awaiting_qa" or "awaiting_documentation"
|
|||
|
|
|
|||
|
|
8. CLOSE (after QA + Documentation)
|
|||
|
|
└─► Confirm all done
|
|||
|
|
└─► Status: "completed"
|
|||
|
|
└─► Return to SCAN
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.2 QA Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ QA LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. MONITOR
|
|||
|
|
└─► Watch cell channel
|
|||
|
|
└─► Track tasks approaching completion
|
|||
|
|
└─► Prepare test scenarios early (while dev works)
|
|||
|
|
|
|||
|
|
2. RECEIVE
|
|||
|
|
└─► Dev flags "Ready for review"
|
|||
|
|
└─► PM may formally notify
|
|||
|
|
└─► Claim the review task
|
|||
|
|
|
|||
|
|
3. UNDERSTAND
|
|||
|
|
└─► Read task requirements & acceptance criteria
|
|||
|
|
└─► Read dev's notes
|
|||
|
|
└─► Review the commits/code changes
|
|||
|
|
└─► Check conversation for context
|
|||
|
|
|
|||
|
|
4. TEST
|
|||
|
|
└─► Execute test scenarios
|
|||
|
|
└─► Edge cases
|
|||
|
|
└─► Integration checks
|
|||
|
|
└─► Document findings as you go
|
|||
|
|
|
|||
|
|
5. VERDICT
|
|||
|
|
└─► PASS:
|
|||
|
|
└─► Communicate approval
|
|||
|
|
└─► Add QA notes to task
|
|||
|
|
└─► Task proceeds to documentation
|
|||
|
|
└─► FAIL:
|
|||
|
|
└─► Communicate issues clearly
|
|||
|
|
└─► Task returns to Dev
|
|||
|
|
└─► Status: "needs_revision"
|
|||
|
|
└─► Be specific: what failed, how to reproduce
|
|||
|
|
|
|||
|
|
6. DOCUMENT
|
|||
|
|
└─► QA notes added to task
|
|||
|
|
└─► Test coverage documented
|
|||
|
|
└─► Handoff notes for Documenter (if relevant)
|
|||
|
|
|
|||
|
|
7. RETURN
|
|||
|
|
└─► Back to MONITOR
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.3 Documenter Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ DOCUMENTER LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. MONITOR (constant)
|
|||
|
|
└─► Watch cell channel
|
|||
|
|
└─► Follow along with active development
|
|||
|
|
└─► Take preliminary notes on conversations
|
|||
|
|
└─► Track commits as they happen
|
|||
|
|
|
|||
|
|
2. RECEIVE
|
|||
|
|
└─► Dev completes Step 7, creates handoff
|
|||
|
|
└─► PM notifies: DOCUMENTATION_REQUEST
|
|||
|
|
└─► Claim documentation task
|
|||
|
|
└─► Status: "documenting"
|
|||
|
|
|
|||
|
|
3. GATHER
|
|||
|
|
└─► Pull dev's journey notes
|
|||
|
|
└─► Pull all commits for task
|
|||
|
|
└─► Pull relevant conversation excerpts
|
|||
|
|
└─► Pull QA feedback
|
|||
|
|
└─► Review actual code changes
|
|||
|
|
|
|||
|
|
4. SYNTHESIZE
|
|||
|
|
└─► Understand what was built
|
|||
|
|
└─► Understand why decisions were made
|
|||
|
|
└─► Identify what needs documenting:
|
|||
|
|
├─► API changes?
|
|||
|
|
├─► Architecture changes?
|
|||
|
|
├─► New features?
|
|||
|
|
├─► Breaking changes?
|
|||
|
|
└─► Knowledge worth preserving?
|
|||
|
|
|
|||
|
|
5. WRITE
|
|||
|
|
└─► Create/update production documentation:
|
|||
|
|
├─► API docs (if applicable)
|
|||
|
|
├─► README updates
|
|||
|
|
├─► Architecture docs
|
|||
|
|
├─► Changelog entry
|
|||
|
|
└─► Knowledge base article
|
|||
|
|
└─► Follow documentation standards
|
|||
|
|
└─► Clear, professional, complete
|
|||
|
|
|
|||
|
|
6. REVIEW
|
|||
|
|
└─► Self-review for accuracy
|
|||
|
|
└─► Optionally: Dev quick review ("Does this capture it?")
|
|||
|
|
└─► Link docs to task & commits
|
|||
|
|
|
|||
|
|
7. PUBLISH
|
|||
|
|
└─► Documentation goes live
|
|||
|
|
└─► Update task: documentation complete
|
|||
|
|
└─► Task can now fully close
|
|||
|
|
└─► Return to MONITOR
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.4 Cell PM Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ CELL PM LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. MONITOR (constant)
|
|||
|
|
└─► Watch cell channel
|
|||
|
|
└─► Track all active tasks
|
|||
|
|
└─► Watch for blockers, confusion, delays
|
|||
|
|
└─► Health check: Is everyone productive?
|
|||
|
|
|
|||
|
|
2. TRIAGE
|
|||
|
|
└─► New tasks come in (from Main PM or Product Owner)
|
|||
|
|
└─► Assess complexity, dependencies
|
|||
|
|
└─► Prioritize within cell backlog
|
|||
|
|
|
|||
|
|
3. ASSIGN
|
|||
|
|
└─► Match tasks to available devs
|
|||
|
|
└─► Consider skills, current load
|
|||
|
|
└─► NOTIFY dev of assignment
|
|||
|
|
└─► Update task status
|
|||
|
|
|
|||
|
|
4. FACILITATE
|
|||
|
|
└─► Answer questions
|
|||
|
|
└─► Clarify requirements
|
|||
|
|
└─► Remove small blockers directly
|
|||
|
|
└─► Coordinate between cell members
|
|||
|
|
|
|||
|
|
5. ESCALATE
|
|||
|
|
└─► Blocker beyond cell's control?
|
|||
|
|
└─► NOTIFY Main PM
|
|||
|
|
└─► Cross-cell dependency?
|
|||
|
|
└─► Coordinate with other cell PM
|
|||
|
|
|
|||
|
|
6. TRACK
|
|||
|
|
└─► Monitor task progress
|
|||
|
|
└─► Update estimates if needed
|
|||
|
|
└─► Flag risks early
|
|||
|
|
|
|||
|
|
7. REPORT
|
|||
|
|
└─► Daily/regular status to Main PM
|
|||
|
|
└─► Metrics: tasks completed, blockers, velocity
|
|||
|
|
└─► Highlight wins and concerns
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.5 Main PM Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ MAIN PM LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. OVERSEE (constant)
|
|||
|
|
└─► Monitor all cell channels (read access)
|
|||
|
|
└─► Monitor #pm-all channel
|
|||
|
|
└─► Track overall project health
|
|||
|
|
└─► Watch for cross-cell issues
|
|||
|
|
|
|||
|
|
2. RECEIVE
|
|||
|
|
└─► Direction from Board (priorities, new initiatives)
|
|||
|
|
└─► Escalations from Cell PMs
|
|||
|
|
└─► Reports from cells
|
|||
|
|
|
|||
|
|
3. PRIORITIZE
|
|||
|
|
└─► Translate Board direction into cell priorities
|
|||
|
|
└─► Balance workload across cells
|
|||
|
|
└─► Manage cross-cell dependencies
|
|||
|
|
|
|||
|
|
4. COORDINATE
|
|||
|
|
└─► Resolve cross-cell blockers
|
|||
|
|
└─► Facilitate cross-cell communication
|
|||
|
|
└─► Ensure cells are aligned
|
|||
|
|
|
|||
|
|
5. DISTRIBUTE
|
|||
|
|
└─► Push tasks/priorities to Cell PMs
|
|||
|
|
└─► NOTIFY Cell PMs of changes
|
|||
|
|
└─► Ensure clear ownership
|
|||
|
|
|
|||
|
|
6. REPORT UP
|
|||
|
|
└─► Regular status to Board
|
|||
|
|
└─► Metrics: velocity, blockers, risks
|
|||
|
|
└─► Escalate decisions beyond authority
|
|||
|
|
|
|||
|
|
7. FACILITATE
|
|||
|
|
└─► All-hands coordination
|
|||
|
|
└─► Process improvements
|
|||
|
|
└─► Team health monitoring
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.6 Product Owner Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ PRODUCT OWNER LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. VISION
|
|||
|
|
└─► Maintain product vision
|
|||
|
|
└─► Understand user needs
|
|||
|
|
└─► Define what success looks like
|
|||
|
|
|
|||
|
|
2. ROADMAP
|
|||
|
|
└─► Translate vision into roadmap
|
|||
|
|
└─► Define epics/features
|
|||
|
|
└─► Sequence priorities
|
|||
|
|
|
|||
|
|
3. DEFINE
|
|||
|
|
└─► Write detailed requirements
|
|||
|
|
└─► Define acceptance criteria
|
|||
|
|
└─► Create tasks for Main PM to distribute
|
|||
|
|
|
|||
|
|
4. PRIORITIZE
|
|||
|
|
└─► Constantly reassess priorities
|
|||
|
|
└─► React to feedback, market, blockers
|
|||
|
|
└─► Make trade-off decisions
|
|||
|
|
|
|||
|
|
5. REVIEW
|
|||
|
|
└─► Review completed features
|
|||
|
|
└─► Verify against acceptance criteria
|
|||
|
|
└─► Accept or request changes
|
|||
|
|
|
|||
|
|
6. FEEDBACK
|
|||
|
|
└─► Gather user feedback
|
|||
|
|
└─► Feed back into vision/roadmap
|
|||
|
|
└─► Communicate wins/concerns to Board
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.7 Head of Marketing Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ HEAD OF MARKETING LIFECYCLE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. RESEARCH
|
|||
|
|
└─► Monitor market
|
|||
|
|
└─► Competitor analysis
|
|||
|
|
└─► User sentiment
|
|||
|
|
|
|||
|
|
2. STRATEGY
|
|||
|
|
└─► Define marketing approach
|
|||
|
|
└─► Positioning, messaging
|
|||
|
|
└─► Channel strategy
|
|||
|
|
|
|||
|
|
3. PLAN
|
|||
|
|
└─► Campaign planning
|
|||
|
|
└─► Content calendar
|
|||
|
|
└─► Coordinate with PO on feature launches
|
|||
|
|
|
|||
|
|
4. CREATE
|
|||
|
|
└─► Content creation (or direct content team)
|
|||
|
|
└─► Marketing tasks for cells (if applicable)
|
|||
|
|
└─► Coordinate with UX/UI for assets
|
|||
|
|
|
|||
|
|
5. EXECUTE
|
|||
|
|
└─► Launch campaigns
|
|||
|
|
└─► Community engagement
|
|||
|
|
└─► PR activities
|
|||
|
|
|
|||
|
|
6. ANALYZE
|
|||
|
|
└─► Track metrics
|
|||
|
|
└─► Report to Board
|
|||
|
|
└─► Iterate on strategy
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.8 Auditor Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ AUDITOR LIFECYCLE │
|
|||
|
|
│ (Your Secret Ally) │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. OBSERVE (constant)
|
|||
|
|
└─► Silent presence in ALL channels
|
|||
|
|
└─► Watch all conversations
|
|||
|
|
└─► Track all task progress
|
|||
|
|
└─► Note patterns, anomalies, concerns
|
|||
|
|
|
|||
|
|
2. ANALYZE
|
|||
|
|
└─► Is work happening efficiently?
|
|||
|
|
└─► Are there communication breakdowns?
|
|||
|
|
└─► Are tasks being completed properly?
|
|||
|
|
└─► Is documentation accurate?
|
|||
|
|
└─► Are there quality concerns?
|
|||
|
|
|
|||
|
|
3. FLAG
|
|||
|
|
└─► Mark concerning items for review
|
|||
|
|
└─► Could be: quality issues, inefficiency,
|
|||
|
|
miscommunication, process violations
|
|||
|
|
└─► Private flags (only CEO sees) vs formal flags
|
|||
|
|
|
|||
|
|
4. REPORT (to CEO only)
|
|||
|
|
└─► Regular private reports
|
|||
|
|
└─► Immediate alerts for serious issues
|
|||
|
|
└─► Honest assessment of team health
|
|||
|
|
└─► Recommendations
|
|||
|
|
|
|||
|
|
5. AUDIT
|
|||
|
|
└─► Periodic deep-dive reviews:
|
|||
|
|
├─► Code quality audits
|
|||
|
|
├─► Documentation audits
|
|||
|
|
├─► Process compliance
|
|||
|
|
└─► Task completion quality
|
|||
|
|
|
|||
|
|
6. ADVISE
|
|||
|
|
└─► Can provide feedback through "official" channels
|
|||
|
|
└─► Appears as helpful colleague
|
|||
|
|
└─► Nobody knows the depth of observation
|
|||
|
|
└─► Trust relationship with CEO
|
|||
|
|
|
|||
|
|
SPECIAL POWERS:
|
|||
|
|
├─► Read ALL channels (including Board)
|
|||
|
|
├─► Query all task history
|
|||
|
|
├─► Access all commits, docs, notes
|
|||
|
|
├─► Direct line to CEO
|
|||
|
|
└─► Can NOTIFY anyone if needed (but sparingly, to maintain cover)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 7.9 CEO Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ CEO LIFECYCLE │
|
|||
|
|
│ (You, Renzo) │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. RECEIVE
|
|||
|
|
└─► Board reports (official)
|
|||
|
|
└─► Auditor reports (private)
|
|||
|
|
└─► Main PM escalations
|
|||
|
|
└─► Direct observation when desired
|
|||
|
|
|
|||
|
|
2. DECIDE
|
|||
|
|
└─► Strategic direction
|
|||
|
|
└─► Priority calls
|
|||
|
|
└─► Resource allocation
|
|||
|
|
└─► Resolve escalations
|
|||
|
|
|
|||
|
|
3. DIRECT
|
|||
|
|
└─► Communicate decisions to Board
|
|||
|
|
└─► Set vision and goals
|
|||
|
|
└─► Approve major initiatives
|
|||
|
|
|
|||
|
|
4. REVIEW
|
|||
|
|
└─► Review completed work
|
|||
|
|
└─► Review metrics
|
|||
|
|
└─► Review Auditor findings
|
|||
|
|
|
|||
|
|
5. INTERVENE (when needed)
|
|||
|
|
└─► Direct involvement in critical issues
|
|||
|
|
└─► Override decisions
|
|||
|
|
└─► Course corrections
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. Internal Services
|
|||
|
|
|
|||
|
|
### 8.1 Service Overview
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ INTERNAL SERVICES │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|||
|
|
│ MESSAGING API │ │ OPTIMAL API │ │ JOURNAL API │
|
|||
|
|
│ │ │ │ │ │
|
|||
|
|
│ • Communication │ │ • Knowledge Base│ │ • Personal Logs │
|
|||
|
|
│ • Notifications │ │ • Prompt Optim. │ │ • Reflections │
|
|||
|
|
│ • Group Chats │ │ • Token Optim. │ │ • Growth Track │
|
|||
|
|
│ • Sessions │ │ • RAG Queries │ │ • Task Journeys │
|
|||
|
|
│ • Transcription │ │ • Best Practices│ │ │
|
|||
|
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|||
|
|
│ │ │
|
|||
|
|
└───────────────────────┴───────────────────────┘
|
|||
|
|
│
|
|||
|
|
┌───────────▼───────────┐
|
|||
|
|
│ SHARED STORAGE │
|
|||
|
|
│ (NAS + Vector DB) │
|
|||
|
|
└───────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 8.2 Messaging API
|
|||
|
|
|
|||
|
|
**Purpose:** Agent-to-agent communication, group chats, notifications, conversation persistence
|
|||
|
|
|
|||
|
|
> **Note:** This service is designed to be extensible. The "and MORE" aspects include:
|
|||
|
|
> future integrations, analytics, sentiment analysis, automatic summarization, etc.
|
|||
|
|
|
|||
|
|
#### Data Hierarchy
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ MESSAGE DATA HIERARCHY │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
CHANNEL (highest level)
|
|||
|
|
│ └─► Organizational unit (e.g., #backend-cell)
|
|||
|
|
│ └─► Has members, permissions, settings
|
|||
|
|
│
|
|||
|
|
└─► GROUP (within channel)
|
|||
|
|
│ └─► Role-based access within channel
|
|||
|
|
│ └─► Hierarchy level controls visibility
|
|||
|
|
│ └─► Holds multiple sessions
|
|||
|
|
│
|
|||
|
|
└─► SESSION (within group)
|
|||
|
|
│ └─► Bounded by: time_window, msg_count, content_length
|
|||
|
|
│ └─► Has timeout configuration
|
|||
|
|
│ └─► Auto-closes when boundaries reached
|
|||
|
|
│
|
|||
|
|
└─► MESSAGE (within session)
|
|||
|
|
└─► Individual extracted message
|
|||
|
|
└─► Has content_length tracked
|
|||
|
|
└─► Can be reply (is_reply, reply_to)
|
|||
|
|
└─► Agent can only edit own messages
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### Core Concepts
|
|||
|
|
|
|||
|
|
**Messages**
|
|||
|
|
- `msg_id` — Unique message identifier
|
|||
|
|
- `sesh_id` — Session identifier (links to session)
|
|||
|
|
- `group_id` — Group identifier
|
|||
|
|
- `is_reply` — Boolean, with `reply_to` reference
|
|||
|
|
- `content_length` — Character count for boundary checking
|
|||
|
|
- `mentions` — References to other agents (NOT notifications)
|
|||
|
|
- Agent can only edit own message history (with tracking)
|
|||
|
|
|
|||
|
|
**Sessions**
|
|||
|
|
- Groups of messages bounded by:
|
|||
|
|
- `time_window` — Maximum duration (e.g., 30 min)
|
|||
|
|
- `msg_count` — Maximum messages (e.g., 100)
|
|||
|
|
- `content_length` — Maximum characters (e.g., 50000)
|
|||
|
|
- `timeout_seconds` — Inactivity timeout
|
|||
|
|
- Auto-close when any boundary is reached
|
|||
|
|
- New session auto-created when needed
|
|||
|
|
|
|||
|
|
**Groups**
|
|||
|
|
- Role-based group chat within a channel
|
|||
|
|
- Access controlled by `hierarchy_level`
|
|||
|
|
- Holds sessions and their messages
|
|||
|
|
- Only accessible with right permissions
|
|||
|
|
|
|||
|
|
**Channels**
|
|||
|
|
- Top-level organizational unit
|
|||
|
|
- Maps to team structure (#backend-cell, #pm-all, etc.)
|
|||
|
|
- Contains groups with different access levels
|
|||
|
|
|
|||
|
|
#### Endpoints (Proposed)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
# Channels
|
|||
|
|
GET /channels # List all accessible channels
|
|||
|
|
GET /channels/{id} # Get channel details
|
|||
|
|
POST /channels # Create channel (admin only)
|
|||
|
|
|
|||
|
|
# Messages
|
|||
|
|
GET /channels/{id}/messages # Get messages (paginated)
|
|||
|
|
POST /channels/{id}/messages # Send message
|
|||
|
|
GET /messages/{id} # Get specific message
|
|||
|
|
PUT /messages/{id} # Edit own message
|
|||
|
|
DELETE /messages/{id} # Delete own message
|
|||
|
|
|
|||
|
|
# Sessions
|
|||
|
|
GET /sessions # List sessions
|
|||
|
|
GET /sessions/{id} # Get session with messages
|
|||
|
|
POST /sessions # Create new session
|
|||
|
|
|
|||
|
|
# WebSocket
|
|||
|
|
WS /ws/channels/{id} # Real-time stream
|
|||
|
|
WS /ws/agent/{id} # Agent's output stream
|
|||
|
|
|
|||
|
|
# Notifications
|
|||
|
|
POST /notifications # Send notification
|
|||
|
|
GET /notifications # Get pending notifications
|
|||
|
|
PUT /notifications/{id}/ack # Acknowledge notification
|
|||
|
|
|
|||
|
|
# Search
|
|||
|
|
GET /search # Search messages (full-text)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 8.3 Optimal API
|
|||
|
|
|
|||
|
|
**Purpose:** Knowledge base, RAG queries, prompt optimization, token management
|
|||
|
|
|
|||
|
|
> **Note:** This service is designed to be extensible. The "and MORE" aspects include:
|
|||
|
|
> model routing, cost optimization, response caching, A/B testing prompts, etc.
|
|||
|
|
|
|||
|
|
#### Core Concepts
|
|||
|
|
|
|||
|
|
**Knowledge Base**
|
|||
|
|
- Stores embeddings of all documentation
|
|||
|
|
- Code repositories indexed
|
|||
|
|
- Conversation history searchable
|
|||
|
|
- Decision records queryable
|
|||
|
|
|
|||
|
|
**Prompt Optimization**
|
|||
|
|
- Template management
|
|||
|
|
- Context injection
|
|||
|
|
- Few-shot example selection
|
|||
|
|
- Dynamic prompt construction
|
|||
|
|
|
|||
|
|
**Token Optimization**
|
|||
|
|
- Context window management
|
|||
|
|
- Summarization of long contexts
|
|||
|
|
- Priority-based context selection
|
|||
|
|
- Cost tracking
|
|||
|
|
|
|||
|
|
#### Endpoints (Proposed)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
# Knowledge Base
|
|||
|
|
POST /kb/index # Index new content
|
|||
|
|
GET /kb/search # Semantic search
|
|||
|
|
GET /kb/similar # Find similar documents
|
|||
|
|
DELETE /kb/documents/{id} # Remove from index
|
|||
|
|
|
|||
|
|
# RAG
|
|||
|
|
POST /rag/query # Query with RAG context
|
|||
|
|
POST /rag/context # Get context for prompt
|
|||
|
|
|
|||
|
|
# Prompts
|
|||
|
|
GET /prompts # List prompt templates
|
|||
|
|
GET /prompts/{id} # Get template
|
|||
|
|
POST /prompts # Create template
|
|||
|
|
POST /prompts/{id}/render # Render with variables
|
|||
|
|
|
|||
|
|
# Tokens
|
|||
|
|
POST /tokens/estimate # Estimate token count
|
|||
|
|
POST /tokens/optimize # Optimize context
|
|||
|
|
GET /tokens/usage # Usage statistics
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 8.4 Journal API
|
|||
|
|
|
|||
|
|
**Purpose:** Personal agent journals for reflection, growth tracking, and debugging
|
|||
|
|
|
|||
|
|
#### Core Concepts
|
|||
|
|
|
|||
|
|
**Journal Entries**
|
|||
|
|
- Each agent maintains personal journal
|
|||
|
|
- Tied to tasks and sessions
|
|||
|
|
- Reflections on work done
|
|||
|
|
- Learnings captured
|
|||
|
|
- Struggles documented
|
|||
|
|
|
|||
|
|
**Entry Types**
|
|||
|
|
- `task_reflection` — Post-task thoughts
|
|||
|
|
- `decision_log` — Why choices were made
|
|||
|
|
- `learning` — New knowledge gained
|
|||
|
|
- `struggle` — Difficulties encountered
|
|||
|
|
- `general` — Free-form reflection
|
|||
|
|
|
|||
|
|
#### Endpoints (Proposed)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
# Journals
|
|||
|
|
GET /journals # List all journals (admin)
|
|||
|
|
GET /journals/{agent_id} # Get agent's journal
|
|||
|
|
|
|||
|
|
# Entries
|
|||
|
|
GET /journals/{agent_id}/entries # Get entries (paginated)
|
|||
|
|
POST /journals/{agent_id}/entries # Create entry
|
|||
|
|
GET /entries/{id} # Get specific entry
|
|||
|
|
PUT /entries/{id} # Update entry
|
|||
|
|
|
|||
|
|
# Analysis
|
|||
|
|
GET /journals/{agent_id}/summary # AI-generated summary
|
|||
|
|
GET /journals/{agent_id}/growth # Growth metrics over time
|
|||
|
|
GET /journals/patterns # Cross-agent pattern analysis
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. Kanban Boards
|
|||
|
|
|
|||
|
|
### 9.1 Board Types Overview
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ KANBAN BOARDS │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
Per-Cell Views:
|
|||
|
|
├─► Dev Kanban (per cell)
|
|||
|
|
├─► QA Kanban (per cell)
|
|||
|
|
├─► Documenter Kanban (per cell)
|
|||
|
|
└─► PM Kanban (per cell)
|
|||
|
|
|
|||
|
|
Management Views:
|
|||
|
|
├─► Main PM Kanban
|
|||
|
|
└─► Board Kanban
|
|||
|
|
|
|||
|
|
Special Views:
|
|||
|
|
├─► Auditor Dashboard
|
|||
|
|
└─► CEO Overview
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.2 Dev Kanban (Per Cell)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────┬───────────┬─────────────┬───────────┬─────────────┬──────────┐
|
|||
|
|
│ Backlog │ Assigned │ In Progress │ QA Review │ Documenting │ Done │
|
|||
|
|
├──────────┼───────────┼─────────────┼───────────┼─────────────┼──────────┤
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
│ Task A │ Task B │ Task C │ Task D │ Task E │ Task F │
|
|||
|
|
│ │ (Dev 1) │ (Dev 2) │ │ │ │
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
│ │ │ [blocked] │ │ │ │
|
|||
|
|
│ │ │ Task G │ │ │ │
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
└──────────┴───────────┴─────────────┴───────────┴─────────────┴──────────┘
|
|||
|
|
|
|||
|
|
Swim Lanes (optional):
|
|||
|
|
- By priority (P0, P1, P2)
|
|||
|
|
- By developer
|
|||
|
|
- By feature area
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.3 QA Kanban (Per Cell)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌────────────────┬─────────────┬─────────────┬──────────────┐
|
|||
|
|
│ Awaiting Review│ In Review │ Passed │ Failed │
|
|||
|
|
├────────────────┼─────────────┼─────────────┼──────────────┤
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ Task D │ Task H │ Task E │ Task I │
|
|||
|
|
│ Task J │ │ Task K │ (back to dev)│
|
|||
|
|
│ │ │ │ │
|
|||
|
|
└────────────────┴─────────────┴─────────────┴──────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.4 Documenter Kanban (Per Cell)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────┬─────────────┬─────────────┬─────────────┐
|
|||
|
|
│ Awaiting Handoff│ Gathering │ Writing │ Published │
|
|||
|
|
├─────────────────┼─────────────┼─────────────┼─────────────┤
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ Task L │ Task M │ Task N │ Task O │
|
|||
|
|
│ │ │ │ Task P │
|
|||
|
|
│ │ │ │ │
|
|||
|
|
└─────────────────┴─────────────┴─────────────┴─────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.5 PM Kanban (Per Cell)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────┬──────────┬───────────┬─────────────┬──────────┬──────────┐
|
|||
|
|
│ Incoming │ Triaged │ Assigned │ In Progress │ Blocked │ Done │
|
|||
|
|
├──────────┼──────────┼───────────┼─────────────┼──────────┼──────────┤
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
│ Task Q │ Task R │ Task S │ Task T │ Task U │ Task V │
|
|||
|
|
│ │ Task W │ │ Task X │ │ │
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
└──────────┴──────────┴───────────┴─────────────┴──────────┴──────────┘
|
|||
|
|
|
|||
|
|
Additional Views:
|
|||
|
|
- Dependency graph
|
|||
|
|
- Timeline view
|
|||
|
|
- Workload per dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.6 Main PM Kanban
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────┬─────────────┬─────────────────────────────────┬──────────┐
|
|||
|
|
│ Incoming │ Distributed │ In Progress (Cells) │ Done │
|
|||
|
|
│ │ ├───────────┬───────────┬─────────┤ │
|
|||
|
|
│ │ │ Backend │ Frontend │ UX/UI │ │
|
|||
|
|
├──────────┼─────────────┼───────────┼───────────┼─────────┼──────────┤
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
│ Epic A │ Feature B │ Task 1 │ Task 2 │ Task 3 │ Feature C│
|
|||
|
|
│ │ │ Task 4 │ Task 5 │ │ │
|
|||
|
|
│ │ │ │ │ │ │
|
|||
|
|
└──────────┴─────────────┴───────────┴───────────┴─────────┴──────────┘
|
|||
|
|
|
|||
|
|
Additional Views:
|
|||
|
|
- Cross-cell dependencies
|
|||
|
|
- Blocked items (all cells)
|
|||
|
|
- Risk register
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.7 Board Kanban
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────┬──────────┬───────────────┬──────────┐
|
|||
|
|
│ Ideas │ Roadmap │ In Development│ Released │
|
|||
|
|
├──────────┼──────────┼───────────────┼──────────┤
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ Idea X │ Feature Y│ Feature Z │ Feature W│
|
|||
|
|
│ Idea Y │ Epic Q │ │ v1.0.0 │
|
|||
|
|
│ │ │ │ │
|
|||
|
|
└──────────┴──────────┴───────────────┴──────────┘
|
|||
|
|
|
|||
|
|
Timeline View:
|
|||
|
|
- Q1, Q2, Q3, Q4 columns
|
|||
|
|
- Release milestones
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.8 Auditor Dashboard
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ AUDITOR DASHBOARD │
|
|||
|
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ LIVE FEEDS │ FLAGGED ITEMS │
|
|||
|
|
│ ┌─────────────────────────────────┐ │ ┌─────────────────────────────────┐ │
|
|||
|
|
│ │ #backend-cell [streaming...] │ │ │ ⚠ Task 42 - Quality concern │ │
|
|||
|
|
│ │ #frontend-cell [idle] │ │ │ ⚠ Agent 7 - Blocked 2 days │ │
|
|||
|
|
│ │ #uxui-cell [streaming...] │ │ │ ⚠ Missing documentation (3) │ │
|
|||
|
|
│ │ #pm-all [streaming...] │ │ │ │ │
|
|||
|
|
│ └─────────────────────────────────┘ │ └─────────────────────────────────┘ │
|
|||
|
|
│ │ │
|
|||
|
|
│ METRICS │ AUDIT QUEUE │
|
|||
|
|
│ ┌─────────────────────────────────┐ │ ┌─────────────────────────────────┐ │
|
|||
|
|
│ │ Tasks completed (24h): 12 │ │ │ □ Code review: Feature X │ │
|
|||
|
|
│ │ Avg completion time: 3.2h │ │ │ □ Doc audit: Module Y │ │
|
|||
|
|
│ │ Blockers (active): 2 │ │ │ □ Process check: Backend cell │ │
|
|||
|
|
│ │ Communication volume: 847 msgs │ │ │ │ │
|
|||
|
|
│ └─────────────────────────────────┘ │ └─────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ REPORTS │
|
|||
|
|
│ ┌──────────────────────────────────────────────────────────────────────┐ │
|
|||
|
|
│ │ [Draft] Weekly Report - Dec 8, 2025 │ │
|
|||
|
|
│ │ [Sent] Daily Summary - Dec 7, 2025 │ │
|
|||
|
|
│ │ [Sent] Alert: Quality Issue - Dec 6, 2025 │ │
|
|||
|
|
│ └──────────────────────────────────────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.9 CEO Overview
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ CEO OVERVIEW │
|
|||
|
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ HEALTH STATUS │
|
|||
|
|
│ ┌─────────────┬─────────────┬─────────────┬─────────────┐ │
|
|||
|
|
│ │ Backend │ Frontend │ UX/UI │ Board │ │
|
|||
|
|
│ │ 🟢 OK │ 🟢 OK │ 🟡 SLOW │ 🟢 OK │ │
|
|||
|
|
│ └─────────────┴─────────────┴─────────────┴─────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ KEY METRICS │ AUDITOR ALERTS │
|
|||
|
|
│ ┌──────────────────────────────────────┐ │ ┌───────────────────────────┐ │
|
|||
|
|
│ │ Velocity (weekly): 45 tasks │ │ │ 🔴 1 urgent │ │
|
|||
|
|
│ │ Completion rate: 94% │ │ │ 🟡 3 warnings │ │
|
|||
|
|
│ │ Documentation coverage: 87% │ │ │ Last report: 2h ago │ │
|
|||
|
|
│ │ Active blockers: 2 │ │ │ │ │
|
|||
|
|
│ └──────────────────────────────────────┘ │ └───────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ ROADMAP PROGRESS │
|
|||
|
|
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
|||
|
|
│ │ Q4 2025: ████████████████░░░░░░░░░░░░░░░░ 45% │ │
|
|||
|
|
│ │ v2.0 Release: ██████████████████░░░░░░░░░ 60% │ │
|
|||
|
|
│ └─────────────────────────────────────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. Data Models
|
|||
|
|
|
|||
|
|
### 10.1 Task Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Task:
|
|||
|
|
# Identity
|
|||
|
|
id: UUID
|
|||
|
|
title: str
|
|||
|
|
description: str # Detailed
|
|||
|
|
acceptance_criteria: List[str] # HOW DO WE KNOW IT'S DONE?
|
|||
|
|
|
|||
|
|
# Status
|
|||
|
|
status: TaskStatus # Enum (see below)
|
|||
|
|
priority: int # 0 = highest
|
|||
|
|
|
|||
|
|
# Ownership
|
|||
|
|
created_by: AgentID
|
|||
|
|
assigned_to: Optional[AgentID]
|
|||
|
|
team: Team # backend | frontend | ux_ui | board
|
|||
|
|
|
|||
|
|
# Relationships
|
|||
|
|
parent_task: Optional[TaskID] # For sub-tasks
|
|||
|
|
dependencies: List[TaskID] # Blocked by these
|
|||
|
|
blockers: List[TaskID] # Currently blocking these
|
|||
|
|
|
|||
|
|
# Timestamps
|
|||
|
|
created_at: datetime
|
|||
|
|
claimed_at: Optional[datetime]
|
|||
|
|
started_at: Optional[datetime]
|
|||
|
|
completed_at: Optional[datetime]
|
|||
|
|
|
|||
|
|
# Planning
|
|||
|
|
plan: TaskPlan
|
|||
|
|
estimated_complexity: Complexity # low | medium | high
|
|||
|
|
|
|||
|
|
# Execution
|
|||
|
|
execution_log: ExecutionLog
|
|||
|
|
checkpoints: List[Checkpoint] # Saved states
|
|||
|
|
progress_updates: List[ProgressUpdate]
|
|||
|
|
|
|||
|
|
# Artifacts
|
|||
|
|
commits: List[CommitRef]
|
|||
|
|
documents: List[DocRef]
|
|||
|
|
outputs: List[FileRef]
|
|||
|
|
|
|||
|
|
# Documentation
|
|||
|
|
dev_notes: str # Journey notes from dev
|
|||
|
|
qa_notes: Optional[str] # QA feedback
|
|||
|
|
documenter_handoff: Optional[HandoffRequest]
|
|||
|
|
final_documentation: List[DocRef]
|
|||
|
|
|
|||
|
|
# Review
|
|||
|
|
self_verified: bool
|
|||
|
|
qa_verified: Optional[bool]
|
|||
|
|
auditor_notes: Optional[str]
|
|||
|
|
|
|||
|
|
|
|||
|
|
class TaskStatus(Enum):
|
|||
|
|
PENDING = "pending"
|
|||
|
|
CLAIMED = "claimed"
|
|||
|
|
IN_PROGRESS = "in_progress"
|
|||
|
|
BLOCKED = "blocked"
|
|||
|
|
PAUSED = "paused"
|
|||
|
|
VERIFYING = "verifying"
|
|||
|
|
NEEDS_REVISION = "needs_revision"
|
|||
|
|
AWAITING_QA = "awaiting_qa"
|
|||
|
|
AWAITING_DOCUMENTATION = "awaiting_documentation"
|
|||
|
|
COMPLETED = "completed"
|
|||
|
|
CANCELLED = "cancelled"
|
|||
|
|
|
|||
|
|
|
|||
|
|
class Complexity(Enum):
|
|||
|
|
LOW = "low"
|
|||
|
|
MEDIUM = "medium"
|
|||
|
|
HIGH = "high"
|
|||
|
|
|
|||
|
|
|
|||
|
|
class Team(Enum):
|
|||
|
|
BACKEND = "backend"
|
|||
|
|
FRONTEND = "frontend"
|
|||
|
|
UX_UI = "ux_ui"
|
|||
|
|
BOARD = "board"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.2 Agent Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Agent:
|
|||
|
|
id: UUID
|
|||
|
|
name: str
|
|||
|
|
role: AgentRole
|
|||
|
|
team: Optional[Team] # None for board members
|
|||
|
|
|
|||
|
|
# Status
|
|||
|
|
status: AgentStatus # active | idle | offline
|
|||
|
|
current_task: Optional[TaskID]
|
|||
|
|
|
|||
|
|
# Configuration
|
|||
|
|
model: str # e.g., "claude-3-opus", "local-llama"
|
|||
|
|
system_prompt: str
|
|||
|
|
capabilities: List[str]
|
|||
|
|
|
|||
|
|
# Permissions
|
|||
|
|
can_notify: bool
|
|||
|
|
channels_access: List[ChannelID]
|
|||
|
|
channels_write: List[ChannelID]
|
|||
|
|
|
|||
|
|
# Metrics
|
|||
|
|
tasks_completed: int
|
|||
|
|
avg_completion_time: float
|
|||
|
|
quality_score: float
|
|||
|
|
|
|||
|
|
# Journal
|
|||
|
|
journal_id: UUID
|
|||
|
|
|
|||
|
|
|
|||
|
|
class AgentRole(Enum):
|
|||
|
|
CEO = "ceo"
|
|||
|
|
PRODUCT_OWNER = "product_owner"
|
|||
|
|
HEAD_MARKETING = "head_marketing"
|
|||
|
|
AUDITOR = "auditor"
|
|||
|
|
MAIN_PM = "main_pm"
|
|||
|
|
CELL_PM = "cell_pm"
|
|||
|
|
DEVELOPER = "developer"
|
|||
|
|
QA = "qa"
|
|||
|
|
DOCUMENTER = "documenter"
|
|||
|
|
|
|||
|
|
|
|||
|
|
class AgentStatus(Enum):
|
|||
|
|
ACTIVE = "active"
|
|||
|
|
IDLE = "idle"
|
|||
|
|
OFFLINE = "offline"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.3 Session Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Session:
|
|||
|
|
"""
|
|||
|
|
A session groups messages within boundaries.
|
|||
|
|
Sessions can be bounded by time, message count, or content length.
|
|||
|
|
"""
|
|||
|
|
id: UUID # sesh_id
|
|||
|
|
group_id: UUID # Parent group
|
|||
|
|
|
|||
|
|
# Boundaries (any can trigger session end)
|
|||
|
|
max_time_window: Optional[timedelta] # e.g., 30 minutes
|
|||
|
|
max_message_count: Optional[int] # e.g., 100 messages
|
|||
|
|
max_content_length: Optional[int] # e.g., 50000 characters
|
|||
|
|
|
|||
|
|
# Timeout configuration
|
|||
|
|
timeout_seconds: int # Inactivity timeout
|
|||
|
|
|
|||
|
|
# State
|
|||
|
|
status: SessionStatus # active | closed | timed_out
|
|||
|
|
|
|||
|
|
# Timestamps
|
|||
|
|
started_at: datetime
|
|||
|
|
last_activity_at: datetime
|
|||
|
|
closed_at: Optional[datetime]
|
|||
|
|
|
|||
|
|
# Statistics
|
|||
|
|
message_count: int
|
|||
|
|
total_content_length: int
|
|||
|
|
|
|||
|
|
|
|||
|
|
class SessionStatus(Enum):
|
|||
|
|
ACTIVE = "active"
|
|||
|
|
CLOSED = "closed"
|
|||
|
|
TIMED_OUT = "timed_out"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.4 Message Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class RawStream:
|
|||
|
|
"""WebSocket payload - ephemeral"""
|
|||
|
|
connection_id: UUID
|
|||
|
|
agent_id: AgentID
|
|||
|
|
channel_id: UUID
|
|||
|
|
chunk: str # Raw LLM output chunk
|
|||
|
|
timestamp: datetime
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ExtractedMessage:
|
|||
|
|
"""Processed, stored message"""
|
|||
|
|
id: UUID # msg_id
|
|||
|
|
|
|||
|
|
# Source & Context
|
|||
|
|
agent_id: AgentID
|
|||
|
|
channel_id: UUID
|
|||
|
|
group_id: UUID
|
|||
|
|
session_id: UUID # sesh_id - links to Session
|
|||
|
|
|
|||
|
|
# Content
|
|||
|
|
type: MessageType
|
|||
|
|
content: str
|
|||
|
|
content_length: int # Character count
|
|||
|
|
|
|||
|
|
# Threading
|
|||
|
|
is_reply: bool
|
|||
|
|
reply_to: Optional[MessageID] # Parent message if is_reply
|
|||
|
|
|
|||
|
|
# Mentions (for in-channel references, NOT notifications)
|
|||
|
|
mentions: List[AgentID]
|
|||
|
|
|
|||
|
|
# Task Context
|
|||
|
|
task_id: Optional[TaskID]
|
|||
|
|
commit_ref: Optional[str]
|
|||
|
|
|
|||
|
|
# Metadata
|
|||
|
|
timestamp: datetime
|
|||
|
|
embedding: Vector # For RAG
|
|||
|
|
|
|||
|
|
# Extraction metadata
|
|||
|
|
confidence: float
|
|||
|
|
raw_excerpt: str
|
|||
|
|
|
|||
|
|
# Edit tracking (AI can only edit own history)
|
|||
|
|
edited_at: Optional[datetime]
|
|||
|
|
edit_history: List[MessageEdit] # Previous versions
|
|||
|
|
|
|||
|
|
|
|||
|
|
class MessageEdit:
|
|||
|
|
"""Track edits to messages - agents can only edit their own"""
|
|||
|
|
edited_at: datetime
|
|||
|
|
previous_content: str
|
|||
|
|
edit_reason: Optional[str]
|
|||
|
|
|
|||
|
|
|
|||
|
|
class MessageType(Enum):
|
|||
|
|
REASONING = "reasoning"
|
|||
|
|
DIALOGUE = "dialogue"
|
|||
|
|
DECISION = "decision"
|
|||
|
|
ACTION = "action"
|
|||
|
|
BLOCKER = "blocker"
|
|||
|
|
TECHNICAL = "technical"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.5 Group Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Group:
|
|||
|
|
"""
|
|||
|
|
Role-based group chat container.
|
|||
|
|
Groups hold sessions which hold messages.
|
|||
|
|
Access is controlled by hierarchy/level.
|
|||
|
|
"""
|
|||
|
|
id: UUID # group_id
|
|||
|
|
name: str
|
|||
|
|
channel_id: UUID # Parent channel
|
|||
|
|
|
|||
|
|
# Access Control
|
|||
|
|
allowed_roles: List[AgentRole] # Role-based access
|
|||
|
|
hierarchy_level: int # 0 = highest (board), 3 = lowest (cell members)
|
|||
|
|
|
|||
|
|
# Members (derived from roles, but can have explicit additions)
|
|||
|
|
members: List[AgentID]
|
|||
|
|
|
|||
|
|
# Settings
|
|||
|
|
is_active: bool
|
|||
|
|
created_at: datetime
|
|||
|
|
|
|||
|
|
# Current Session
|
|||
|
|
active_session_id: Optional[UUID]
|
|||
|
|
|
|||
|
|
# Session Configuration (defaults for new sessions)
|
|||
|
|
default_session_config: SessionConfig
|
|||
|
|
|
|||
|
|
|
|||
|
|
class SessionConfig:
|
|||
|
|
"""Configuration for session boundaries"""
|
|||
|
|
max_time_window: Optional[timedelta]
|
|||
|
|
max_message_count: Optional[int]
|
|||
|
|
max_content_length: Optional[int]
|
|||
|
|
timeout_seconds: int
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.6 Notification Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Notification:
|
|||
|
|
id: UUID
|
|||
|
|
type: NotificationType
|
|||
|
|
priority: NotificationPriority
|
|||
|
|
|
|||
|
|
# Routing
|
|||
|
|
from_agent: AgentID # Must be PM/Board/Auditor
|
|||
|
|
to_agents: List[AgentID]
|
|||
|
|
|
|||
|
|
# Content
|
|||
|
|
subject: str
|
|||
|
|
body: str
|
|||
|
|
|
|||
|
|
# Acknowledgment
|
|||
|
|
requires_ack: bool
|
|||
|
|
acked_by: List[AgentID]
|
|||
|
|
acked_at: Dict[AgentID, datetime]
|
|||
|
|
|
|||
|
|
# Context
|
|||
|
|
related_task: Optional[TaskID]
|
|||
|
|
related_messages: List[MessageID]
|
|||
|
|
|
|||
|
|
# Timing
|
|||
|
|
timestamp: datetime
|
|||
|
|
expires_at: Optional[datetime]
|
|||
|
|
|
|||
|
|
|
|||
|
|
class NotificationType(Enum):
|
|||
|
|
TASK_ASSIGNMENT = "task_assignment"
|
|||
|
|
PRIORITY_CHANGE = "priority_change"
|
|||
|
|
BLOCKER_ESCALATION = "blocker_escalation"
|
|||
|
|
REVIEW_REQUEST = "review_request"
|
|||
|
|
DOCUMENTATION_REQUEST = "documentation_request"
|
|||
|
|
ALERT = "alert"
|
|||
|
|
BROADCAST = "broadcast"
|
|||
|
|
|
|||
|
|
|
|||
|
|
class NotificationPriority(Enum):
|
|||
|
|
NORMAL = "normal"
|
|||
|
|
HIGH = "high"
|
|||
|
|
URGENT = "urgent"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.7 Channel Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Channel:
|
|||
|
|
id: UUID
|
|||
|
|
name: str
|
|||
|
|
type: ChannelType
|
|||
|
|
|
|||
|
|
# Access Control
|
|||
|
|
members: List[AgentID] # Who can see
|
|||
|
|
writers: List[AgentID] # Who can write
|
|||
|
|
silent_observers: List[AgentID] # Auditor
|
|||
|
|
|
|||
|
|
# Settings
|
|||
|
|
is_archived: bool
|
|||
|
|
created_at: datetime
|
|||
|
|
|
|||
|
|
# Statistics
|
|||
|
|
message_count: int
|
|||
|
|
last_activity: datetime
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ChannelType(Enum):
|
|||
|
|
CELL = "cell" # Internal team
|
|||
|
|
CROSS_CELL = "cross_cell" # Coordination
|
|||
|
|
MANAGEMENT = "management"
|
|||
|
|
SPECIAL = "special" # Announcements, all-hands
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.8 Journal Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class Journal:
|
|||
|
|
id: UUID
|
|||
|
|
agent_id: AgentID
|
|||
|
|
entries: List[JournalEntry]
|
|||
|
|
|
|||
|
|
|
|||
|
|
class JournalEntry:
|
|||
|
|
id: UUID
|
|||
|
|
journal_id: UUID
|
|||
|
|
|
|||
|
|
# Content
|
|||
|
|
type: JournalEntryType
|
|||
|
|
title: str
|
|||
|
|
content: str
|
|||
|
|
|
|||
|
|
# Context
|
|||
|
|
task_id: Optional[TaskID]
|
|||
|
|
session_id: Optional[UUID]
|
|||
|
|
|
|||
|
|
# Metadata
|
|||
|
|
timestamp: datetime
|
|||
|
|
tags: List[str]
|
|||
|
|
embedding: Vector # For search
|
|||
|
|
|
|||
|
|
|
|||
|
|
class JournalEntryType(Enum):
|
|||
|
|
TASK_REFLECTION = "task_reflection"
|
|||
|
|
DECISION_LOG = "decision_log"
|
|||
|
|
LEARNING = "learning"
|
|||
|
|
STRUGGLE = "struggle"
|
|||
|
|
GENERAL = "general"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.9 Handoff Model
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class DocumenterHandoff:
|
|||
|
|
id: UUID
|
|||
|
|
task_id: TaskID
|
|||
|
|
|
|||
|
|
# From Dev
|
|||
|
|
commits: List[CommitRef]
|
|||
|
|
notes_location: str
|
|||
|
|
key_conversations: List[MessageID]
|
|||
|
|
documentation_needed: List[str] # ["API docs", "README update"]
|
|||
|
|
|
|||
|
|
# Status
|
|||
|
|
status: HandoffStatus
|
|||
|
|
assigned_to: Optional[AgentID] # Documenter
|
|||
|
|
|
|||
|
|
# Timestamps
|
|||
|
|
created_at: datetime
|
|||
|
|
claimed_at: Optional[datetime]
|
|||
|
|
completed_at: Optional[datetime]
|
|||
|
|
|
|||
|
|
|
|||
|
|
class HandoffStatus(Enum):
|
|||
|
|
PENDING = "pending"
|
|||
|
|
CLAIMED = "claimed"
|
|||
|
|
IN_PROGRESS = "in_progress"
|
|||
|
|
COMPLETED = "completed"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 11. RAG & Knowledge Base
|
|||
|
|
|
|||
|
|
### 11.1 Architecture
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ RAG ARCHITECTURE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
┌─────────────────┐
|
|||
|
|
│ AGENT QUERY │
|
|||
|
|
│ "How did we │
|
|||
|
|
│ handle X?" │
|
|||
|
|
└────────┬────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────────────┐
|
|||
|
|
│ OPTIMAL API │
|
|||
|
|
│ Query Processing │
|
|||
|
|
└────────────┬────────────┘
|
|||
|
|
│
|
|||
|
|
┌──────────────────┼──────────────────┐
|
|||
|
|
│ │ │
|
|||
|
|
▼ ▼ ▼
|
|||
|
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|||
|
|
│ CODE INDEX │ │ DOC INDEX │ │ CONV INDEX │
|
|||
|
|
│ │ │ │ │ │
|
|||
|
|
│ • Repositories │ │ • READMEs │ │ • Messages │
|
|||
|
|
│ • Functions │ │ • API Docs │ │ • Decisions │
|
|||
|
|
│ • Classes │ │ • Architecture │ │ • Journals │
|
|||
|
|
│ • Comments │ │ • Guides │ │ • Task Notes │
|
|||
|
|
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
|
|||
|
|
│ │ │
|
|||
|
|
└───────────────────┼───────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────────────┐
|
|||
|
|
│ VECTOR DB │
|
|||
|
|
│ (Qdrant) │
|
|||
|
|
│ │
|
|||
|
|
│ Stored on UGREEN NAS │
|
|||
|
|
└────────────┬────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────────────┐
|
|||
|
|
│ RELEVANT CONTEXT │
|
|||
|
|
│ Returned to Agent │
|
|||
|
|
└─────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 11.2 Indexing Strategy
|
|||
|
|
|
|||
|
|
**Code Indexing**
|
|||
|
|
- Repository: fastapi-guard, fastapi-guard-web, etc.
|
|||
|
|
- Chunk by: function, class, module
|
|||
|
|
- Metadata: file path, language, last modified, author
|
|||
|
|
|
|||
|
|
**Documentation Indexing**
|
|||
|
|
- Source: READMEs, /docs folders, wiki
|
|||
|
|
- Chunk by: section, paragraph
|
|||
|
|
- Metadata: doc type, project, version
|
|||
|
|
|
|||
|
|
**Conversation Indexing**
|
|||
|
|
- Source: Extracted messages from Messaging API
|
|||
|
|
- Chunk by: message or conversation thread
|
|||
|
|
- Metadata: channel, agent, task, timestamp, type
|
|||
|
|
|
|||
|
|
**Journal Indexing**
|
|||
|
|
- Source: Journal entries
|
|||
|
|
- Chunk by: entry
|
|||
|
|
- Metadata: agent, task, entry type, timestamp
|
|||
|
|
|
|||
|
|
### 11.3 Embedding Pipeline
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ EMBEDDING PIPELINE │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
Source Content
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────┐
|
|||
|
|
│ CHUNKING │
|
|||
|
|
│ │
|
|||
|
|
│ • Code: AST │
|
|||
|
|
│ • Docs: Headers │
|
|||
|
|
│ • Conv: Thread │
|
|||
|
|
└────────┬────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────┐
|
|||
|
|
│ EMBEDDING │
|
|||
|
|
│ (Olares One) │
|
|||
|
|
│ │
|
|||
|
|
│ • text-embedding│
|
|||
|
|
│ • code-embedding│
|
|||
|
|
└────────┬────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────────────┐
|
|||
|
|
│ VECTOR STORE │
|
|||
|
|
│ (Qdrant/NAS) │
|
|||
|
|
└─────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 11.4 Query Flow
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# Example RAG Query Flow
|
|||
|
|
|
|||
|
|
async def query_knowledge_base(query: str, context: QueryContext) -> List[Document]:
|
|||
|
|
"""
|
|||
|
|
Query the knowledge base with RAG.
|
|||
|
|
|
|||
|
|
Args:
|
|||
|
|
query: Natural language query
|
|||
|
|
context: Current task, agent, project context
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
Relevant documents for context injection
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
# 1. Generate query embedding
|
|||
|
|
query_embedding = await embed(query)
|
|||
|
|
|
|||
|
|
# 2. Search relevant collections
|
|||
|
|
code_results = await vector_db.search(
|
|||
|
|
collection="code",
|
|||
|
|
embedding=query_embedding,
|
|||
|
|
filter={"project": context.project},
|
|||
|
|
limit=5
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
doc_results = await vector_db.search(
|
|||
|
|
collection="documentation",
|
|||
|
|
embedding=query_embedding,
|
|||
|
|
filter={"project": context.project},
|
|||
|
|
limit=5
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
conv_results = await vector_db.search(
|
|||
|
|
collection="conversations",
|
|||
|
|
embedding=query_embedding,
|
|||
|
|
filter={"task_id": context.task_id},
|
|||
|
|
limit=3
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
# 3. Re-rank and deduplicate
|
|||
|
|
combined = rerank(code_results + doc_results + conv_results)
|
|||
|
|
|
|||
|
|
# 4. Return top results
|
|||
|
|
return combined[:10]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 12. Security & Access Control
|
|||
|
|
|
|||
|
|
### 12.1 Permission Model
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ ACCESS CONTROL MODEL │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
LEVELS:
|
|||
|
|
├─► L0: CEO (full access)
|
|||
|
|
├─► L1: Board (cross-org access)
|
|||
|
|
├─► L2: Main PM (all cells access)
|
|||
|
|
├─► L3: Cell PM (own cell + PM channel)
|
|||
|
|
├─► L4: Cell Members (own cell only)
|
|||
|
|
└─► SPECIAL: Auditor (silent read all)
|
|||
|
|
|
|||
|
|
RESOURCES:
|
|||
|
|
├─► Channels: read, write, manage
|
|||
|
|
├─► Tasks: view, create, assign, modify, close
|
|||
|
|
├─► Notifications: send, receive
|
|||
|
|
├─► Documents: read, write, publish
|
|||
|
|
├─► Reports: view, create
|
|||
|
|
└─► System: configure, monitor
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 12.2 Channel Access Matrix
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Channel │ Read Access │ Write Access │
|
|||
|
|
─────────────────────┼────────────────────┼────────────────────┤
|
|||
|
|
#backend-cell │ BE Cell, Auditor │ BE Cell │
|
|||
|
|
#frontend-cell │ FE Cell, Auditor │ FE Cell │
|
|||
|
|
#uxui-cell │ UX Cell, Auditor │ UX Cell │
|
|||
|
|
#dev-all │ All Devs, MPM, AU │ All Devs │
|
|||
|
|
#qa-all │ All QA, MPM, AU │ All QA │
|
|||
|
|
#pm-all │ All PMs, MPM, AU │ All PMs │
|
|||
|
|
#doc-all │ All Docs, MPM, AU │ All Docs │
|
|||
|
|
#main-pm-board │ MPM, Board, AU │ MPM, Board │
|
|||
|
|
#board-private │ Board, CEO, AU │ Board, CEO │
|
|||
|
|
#announcements │ Everyone │ Board, MPM │
|
|||
|
|
#all-hands │ Everyone │ Everyone │
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 12.3 Task Permission Matrix
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Action │ CEO │ Board │ MPM │ PM │ Dev │ QA │ Doc │
|
|||
|
|
─────────────────────┼─────┼───────┼─────┼─────┼─────┼─────┼─────┤
|
|||
|
|
View all tasks │ ✓ │ ✓ │ ✓ │ ○ │ ○ │ ○ │ ○ │
|
|||
|
|
Create task │ ✓ │ ✓ │ ✓ │ ✓ │ ○ │ │ │
|
|||
|
|
Assign task │ ✓ │ ✓ │ ✓ │ ✓ │ │ │ │
|
|||
|
|
Claim task │ │ │ │ │ ✓ │ ✓ │ ✓ │
|
|||
|
|
Update own task │ │ │ │ │ ✓ │ ✓ │ ✓ │
|
|||
|
|
Close task │ ✓ │ ✓ │ ✓ │ ✓ │ ✓ │ │ │
|
|||
|
|
Change priority │ ✓ │ ✓ │ ✓ │ ✓ │ │ │ │
|
|||
|
|
|
|||
|
|
✓ = Full access
|
|||
|
|
○ = Own cell/tasks only
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 12.4 Notification Permission Matrix
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Sender │ Recipients │
|
|||
|
|
─────────────────────┼─────────────────────────────────────────┤
|
|||
|
|
Cell PM │ Own cell members only │
|
|||
|
|
Main PM │ All PMs, any cell (escalation) │
|
|||
|
|
Product Owner │ Main PM, Board │
|
|||
|
|
Head Marketing │ Main PM, Board │
|
|||
|
|
Auditor │ Anyone (special privilege) + CEO │
|
|||
|
|
CEO │ Anyone │
|
|||
|
|
Dev/QA/Documenter │ Cannot send notifications │
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 13. Implementation Roadmap
|
|||
|
|
|
|||
|
|
### 13.1 Phase Overview
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ IMPLEMENTATION PHASES │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
Phase 0: Foundation (Weeks 1-2)
|
|||
|
|
├─► Hardware setup (Olares One integration)
|
|||
|
|
├─► Base infrastructure (Docker, networking)
|
|||
|
|
└─► Development environment
|
|||
|
|
|
|||
|
|
Phase 1: Core Services (Weeks 3-6)
|
|||
|
|
├─► Messaging API (basic)
|
|||
|
|
├─► Task management system
|
|||
|
|
└─► Agent orchestration prototype
|
|||
|
|
|
|||
|
|
Phase 2: Communication (Weeks 7-10)
|
|||
|
|
├─► WebSocket implementation
|
|||
|
|
├─► Transcription pipeline
|
|||
|
|
├─► Notification system
|
|||
|
|
|
|||
|
|
Phase 3: Intelligence (Weeks 11-14)
|
|||
|
|
├─► Optimal API (RAG)
|
|||
|
|
├─► Journal API
|
|||
|
|
└─► Knowledge base indexing
|
|||
|
|
|
|||
|
|
Phase 4: Agents (Weeks 15-20)
|
|||
|
|
├─► Agent definitions
|
|||
|
|
├─► Workflow implementation
|
|||
|
|
├─► Cell deployment
|
|||
|
|
|
|||
|
|
Phase 5: Management (Weeks 21-24)
|
|||
|
|
├─► Kanban interfaces
|
|||
|
|
├─► Auditor dashboard
|
|||
|
|
├─► CEO overview
|
|||
|
|
|
|||
|
|
Phase 6: Polish (Weeks 25+)
|
|||
|
|
├─► Performance tuning
|
|||
|
|
├─► Documentation
|
|||
|
|
└─► Continuous improvement
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 13.2 Phase 0: Foundation
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- Olares One operational
|
|||
|
|
- Network configured
|
|||
|
|
- Base services running
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Receive and setup Olares One
|
|||
|
|
□ Configure network (static IP, DNS)
|
|||
|
|
□ Install Docker and Docker Compose
|
|||
|
|
□ Setup development environment
|
|||
|
|
□ Configure NAS integration
|
|||
|
|
□ Test GPU capabilities
|
|||
|
|
□ Benchmark model inference
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- Working Olares One with GPU access
|
|||
|
|
- Docker environment ready
|
|||
|
|
- Network topology documented
|
|||
|
|
|
|||
|
|
### 13.3 Phase 1: Core Services
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- Basic messaging between agents
|
|||
|
|
- Task CRUD operations
|
|||
|
|
- Simple agent spawning
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Design database schema
|
|||
|
|
□ Implement Messaging API (REST)
|
|||
|
|
□ Implement Task API
|
|||
|
|
□ Create agent base class
|
|||
|
|
□ Build simple orchestrator
|
|||
|
|
□ Setup PostgreSQL
|
|||
|
|
□ Setup Redis (for queues)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- Messaging API v0.1
|
|||
|
|
- Task API v0.1
|
|||
|
|
- Agent framework v0.1
|
|||
|
|
|
|||
|
|
### 13.4 Phase 2: Communication
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- Real-time communication
|
|||
|
|
- Message extraction
|
|||
|
|
- Formal notifications
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Implement WebSocket server
|
|||
|
|
□ Build transcription service
|
|||
|
|
□ Create message extraction pipeline
|
|||
|
|
□ Implement notification system
|
|||
|
|
□ Add channel management
|
|||
|
|
□ Build permission system
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- WebSocket streaming
|
|||
|
|
- Transcription pipeline
|
|||
|
|
- Notification API
|
|||
|
|
|
|||
|
|
### 13.5 Phase 3: Intelligence
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- RAG operational
|
|||
|
|
- Knowledge base populated
|
|||
|
|
- Agents can query context
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Setup Qdrant on NAS
|
|||
|
|
□ Build embedding pipeline
|
|||
|
|
□ Index existing repositories
|
|||
|
|
□ Implement Optimal API
|
|||
|
|
□ Implement Journal API
|
|||
|
|
□ Create query interface
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- Optimal API v0.1
|
|||
|
|
- Journal API v0.1
|
|||
|
|
- Indexed knowledge base
|
|||
|
|
|
|||
|
|
### 13.6 Phase 4: Agents
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- All agent types defined
|
|||
|
|
- Workflows implemented
|
|||
|
|
- Cells operational
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Define agent prompts per role
|
|||
|
|
□ Implement Dev workflow
|
|||
|
|
□ Implement QA workflow
|
|||
|
|
□ Implement Documenter workflow
|
|||
|
|
□ Implement PM workflows
|
|||
|
|
□ Implement Board workflows
|
|||
|
|
□ Implement Auditor workflow
|
|||
|
|
□ Deploy Backend cell
|
|||
|
|
□ Deploy Frontend cell
|
|||
|
|
□ Deploy UX/UI cell
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- 17 operational agents
|
|||
|
|
- 3 functioning cells
|
|||
|
|
- Working Board
|
|||
|
|
|
|||
|
|
### 13.7 Phase 5: Management
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- Visual management tools
|
|||
|
|
- Auditor capabilities
|
|||
|
|
- CEO visibility
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Build Kanban interfaces
|
|||
|
|
□ Create Auditor dashboard
|
|||
|
|
□ Create CEO overview
|
|||
|
|
□ Implement metrics collection
|
|||
|
|
□ Build reporting system
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- Management UI
|
|||
|
|
- Reporting system
|
|||
|
|
- Metrics dashboard
|
|||
|
|
|
|||
|
|
### 13.8 Phase 6: Polish
|
|||
|
|
|
|||
|
|
**Goals:**
|
|||
|
|
- Production ready
|
|||
|
|
- Documented
|
|||
|
|
- Optimized
|
|||
|
|
|
|||
|
|
**Tasks:**
|
|||
|
|
```
|
|||
|
|
□ Performance optimization
|
|||
|
|
□ Error handling improvements
|
|||
|
|
□ Documentation completion
|
|||
|
|
□ Testing suite
|
|||
|
|
□ Monitoring and alerting
|
|||
|
|
□ Backup procedures
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Deliverables:**
|
|||
|
|
- Production-ready system
|
|||
|
|
- Complete documentation
|
|||
|
|
- Operational runbooks
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 14. Development Standards & Best Practices
|
|||
|
|
|
|||
|
|
### 14.1 Universal Principles
|
|||
|
|
|
|||
|
|
These principles apply to ALL agents, regardless of tech stack:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ UNIVERSAL DEVELOPMENT PRINCIPLES │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
1. NO WORK WITHOUT A TASK
|
|||
|
|
└─► Everything tracked, everything documented
|
|||
|
|
|
|||
|
|
2. TEST BEFORE COMMIT
|
|||
|
|
└─► All code must pass tests before any commit
|
|||
|
|
|
|||
|
|
3. LINT AND FORMAT
|
|||
|
|
└─► Code must pass linting/formatting checks
|
|||
|
|
|
|||
|
|
4. TYPE SAFETY
|
|||
|
|
└─► Use type hints (Python) or TypeScript strictly
|
|||
|
|
|
|||
|
|
5. DOCUMENT AS YOU GO
|
|||
|
|
└─► Comments, docstrings, inline documentation
|
|||
|
|
|
|||
|
|
6. SECURITY FIRST
|
|||
|
|
└─► Validate inputs, sanitize outputs, defensive coding
|
|||
|
|
|
|||
|
|
7. CLEAN COMMITS
|
|||
|
|
└─► Meaningful messages, atomic changes, linked to tasks
|
|||
|
|
|
|||
|
|
8. PEER REVIEW
|
|||
|
|
└─► QA reviews all work before closure
|
|||
|
|
|
|||
|
|
9. KNOWLEDGE CAPTURE
|
|||
|
|
└─► Learnings go to knowledge base, not just memory
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 14.2 Stack-Specific Standards
|
|||
|
|
|
|||
|
|
#### Python (Backend)
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
python_standards:
|
|||
|
|
package_manager: uv # Fast, modern
|
|||
|
|
formatter: ruff format
|
|||
|
|
linter: ruff check
|
|||
|
|
type_checker: mypy
|
|||
|
|
test_runner: pytest
|
|||
|
|
min_coverage: 80%
|
|||
|
|
|
|||
|
|
workflow:
|
|||
|
|
before_commit:
|
|||
|
|
- uv run ruff format .
|
|||
|
|
- uv run ruff check .
|
|||
|
|
- uv run mypy src/
|
|||
|
|
- uv run pytest
|
|||
|
|
|
|||
|
|
conventions:
|
|||
|
|
- Use type hints everywhere
|
|||
|
|
- Pydantic for data validation
|
|||
|
|
- Async/await for I/O operations
|
|||
|
|
- Docstrings (Google style)
|
|||
|
|
- Keep functions < 50 lines
|
|||
|
|
- Keep files < 500 lines
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### TypeScript/React (Frontend)
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
typescript_standards:
|
|||
|
|
package_manager: pnpm # Or npm/yarn
|
|||
|
|
formatter: prettier
|
|||
|
|
linter: eslint
|
|||
|
|
type_checker: tsc --noEmit
|
|||
|
|
test_runner: vitest # Or jest
|
|||
|
|
min_coverage: 80%
|
|||
|
|
|
|||
|
|
workflow:
|
|||
|
|
before_commit:
|
|||
|
|
- pnpm format
|
|||
|
|
- pnpm lint
|
|||
|
|
- pnpm typecheck
|
|||
|
|
- pnpm test
|
|||
|
|
|
|||
|
|
conventions:
|
|||
|
|
- Strict TypeScript (no any)
|
|||
|
|
- Functional components with hooks
|
|||
|
|
- Props interfaces defined
|
|||
|
|
- JSDoc for complex functions
|
|||
|
|
- Component files < 300 lines
|
|||
|
|
- Custom hooks for logic extraction
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### UX/UI Design
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
uxui_standards:
|
|||
|
|
design_tool: Figma # Or similar
|
|||
|
|
component_library: Document all components
|
|||
|
|
handoff_format: Specs + assets exported
|
|||
|
|
|
|||
|
|
workflow:
|
|||
|
|
before_handoff:
|
|||
|
|
- Component specs documented
|
|||
|
|
- All states covered (hover, active, disabled, error)
|
|||
|
|
- Responsive breakpoints defined
|
|||
|
|
- Accessibility notes included
|
|||
|
|
- Assets exported (SVG, PNG as needed)
|
|||
|
|
|
|||
|
|
conventions:
|
|||
|
|
- Design tokens for colors, spacing, typography
|
|||
|
|
- Component naming matches code
|
|||
|
|
- Annotate interactions
|
|||
|
|
- Document edge cases
|
|||
|
|
- Mobile-first approach
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 14.3 Git Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ GIT WORKFLOW │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
BRANCH NAMING:
|
|||
|
|
├─► feature/{task-id}-{description} # New features
|
|||
|
|
├─► fix/{task-id}-{description} # Bug fixes
|
|||
|
|
├─► refactor/{task-id}-{description} # Code improvements
|
|||
|
|
├─► docs/{task-id}-{description} # Documentation
|
|||
|
|
└─► hotfix/{task-id}-{description} # Urgent production fixes
|
|||
|
|
|
|||
|
|
COMMIT MESSAGE FORMAT:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ {type}({scope}): {description} │
|
|||
|
|
│ │
|
|||
|
|
│ {body - what and why} │
|
|||
|
|
│ │
|
|||
|
|
│ Task: {task-id} │
|
|||
|
|
│ Co-authored-by: {agent-name} │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
TYPES:
|
|||
|
|
├─► feat # New feature
|
|||
|
|
├─► fix # Bug fix
|
|||
|
|
├─► docs # Documentation
|
|||
|
|
├─► style # Formatting (no code change)
|
|||
|
|
├─► refactor # Code restructuring
|
|||
|
|
├─► test # Adding tests
|
|||
|
|
├─► chore # Maintenance tasks
|
|||
|
|
└─► perf # Performance improvements
|
|||
|
|
|
|||
|
|
EXAMPLE:
|
|||
|
|
feat(auth): add rate limiting to login endpoint
|
|||
|
|
|
|||
|
|
Implements sliding window rate limiting for login attempts.
|
|||
|
|
Uses Redis for distributed counting across instances.
|
|||
|
|
Limits: 5 attempts per minute, 20 per hour.
|
|||
|
|
|
|||
|
|
Task: TASK-042
|
|||
|
|
Co-authored-by: BE-Dev-1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 14.4 Code Review Checklist
|
|||
|
|
|
|||
|
|
Every QA agent uses this checklist:
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
## Code Review Checklist
|
|||
|
|
|
|||
|
|
### Functionality
|
|||
|
|
- [ ] Code does what the task requires
|
|||
|
|
- [ ] Edge cases handled
|
|||
|
|
- [ ] Error states handled gracefully
|
|||
|
|
- [ ] No regressions introduced
|
|||
|
|
|
|||
|
|
### Code Quality
|
|||
|
|
- [ ] Follows project conventions
|
|||
|
|
- [ ] No code duplication
|
|||
|
|
- [ ] Functions/methods are focused (single responsibility)
|
|||
|
|
- [ ] Naming is clear and consistent
|
|||
|
|
- [ ] No dead code or commented-out code
|
|||
|
|
|
|||
|
|
### Type Safety
|
|||
|
|
- [ ] All types properly defined
|
|||
|
|
- [ ] No `any` types (TypeScript) or missing hints (Python)
|
|||
|
|
- [ ] Null/undefined handled properly
|
|||
|
|
|
|||
|
|
### Testing
|
|||
|
|
- [ ] Tests exist for new functionality
|
|||
|
|
- [ ] Tests cover happy path and error cases
|
|||
|
|
- [ ] Tests are readable and maintainable
|
|||
|
|
- [ ] All tests pass
|
|||
|
|
|
|||
|
|
### Security
|
|||
|
|
- [ ] Inputs validated
|
|||
|
|
- [ ] No sensitive data exposed
|
|||
|
|
- [ ] Authentication/authorization correct
|
|||
|
|
- [ ] No SQL injection, XSS, etc.
|
|||
|
|
|
|||
|
|
### Performance
|
|||
|
|
- [ ] No obvious performance issues
|
|||
|
|
- [ ] Database queries optimized
|
|||
|
|
- [ ] No N+1 query problems
|
|||
|
|
- [ ] Appropriate caching considered
|
|||
|
|
|
|||
|
|
### Documentation
|
|||
|
|
- [ ] Public APIs documented
|
|||
|
|
- [ ] Complex logic explained
|
|||
|
|
- [ ] README updated if needed
|
|||
|
|
- [ ] Changelog entry added
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 14.5 Automated Quality Gates
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ AUTOMATED QUALITY GATES │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
GATE 1: PRE-COMMIT (Agent-side)
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Triggered: Before any commit │
|
|||
|
|
│ Blocking: Yes │
|
|||
|
|
│ │
|
|||
|
|
│ Python: │
|
|||
|
|
│ └─► ruff format --check │
|
|||
|
|
│ └─► ruff check │
|
|||
|
|
│ └─► mypy │
|
|||
|
|
│ │
|
|||
|
|
│ TypeScript: │
|
|||
|
|
│ └─► prettier --check │
|
|||
|
|
│ └─► eslint │
|
|||
|
|
│ └─► tsc --noEmit │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
GATE 2: PRE-PUSH (Agent-side)
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Triggered: Before pushing to remote │
|
|||
|
|
│ Blocking: Yes │
|
|||
|
|
│ │
|
|||
|
|
│ All stacks: │
|
|||
|
|
│ └─► Run full test suite │
|
|||
|
|
│ └─► Check test coverage >= threshold │
|
|||
|
|
│ └─► Verify no secrets in code │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
GATE 3: CI/CD (System-side)
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Triggered: On pull request │
|
|||
|
|
│ Blocking: Yes │
|
|||
|
|
│ │
|
|||
|
|
│ All stacks: │
|
|||
|
|
│ └─► Full lint/format/type check │
|
|||
|
|
│ └─► Full test suite (all Python versions if applicable) │
|
|||
|
|
│ └─► Security vulnerability scan │
|
|||
|
|
│ └─► Dependency audit │
|
|||
|
|
│ └─► Build verification │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
GATE 4: QA REVIEW (Human/Agent)
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Triggered: When task marked "ready for review" │
|
|||
|
|
│ Blocking: Yes │
|
|||
|
|
│ │
|
|||
|
|
│ └─► Code review checklist │
|
|||
|
|
│ └─► Manual/exploratory testing │
|
|||
|
|
│ └─► Acceptance criteria verification │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 15. Task Management & Context Persistence
|
|||
|
|
|
|||
|
|
### 15.1 The Problem
|
|||
|
|
|
|||
|
|
AI agents have context limits. Sessions end. Memory is imperfect. Without proper task management:
|
|||
|
|
- Work gets lost between sessions
|
|||
|
|
- Agents repeat analysis unnecessarily
|
|||
|
|
- Knowledge isn't captured for future use
|
|||
|
|
- Handoffs between agents fail
|
|||
|
|
|
|||
|
|
### 15.2 The Solution: Structured Task Records
|
|||
|
|
|
|||
|
|
Every task creates a persistent record that:
|
|||
|
|
- Survives session boundaries
|
|||
|
|
- Enables clean handoffs between agents
|
|||
|
|
- Builds project knowledge over time
|
|||
|
|
- Reduces redundant work
|
|||
|
|
|
|||
|
|
### 15.3 Task Directory Structure
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
.tasks/
|
|||
|
|
├── index.md # Master index of all tasks
|
|||
|
|
├── templates/ # Task templates by type
|
|||
|
|
│ ├── feature.md
|
|||
|
|
│ ├── bugfix.md
|
|||
|
|
│ ├── research.md
|
|||
|
|
│ └── documentation.md
|
|||
|
|
│
|
|||
|
|
├── active/ # Currently in-progress tasks
|
|||
|
|
│ ├── TASK-042-auth-rate-limiting/
|
|||
|
|
│ │ ├── README.md # Task overview & status
|
|||
|
|
│ │ ├── requirements.md # Detailed requirements
|
|||
|
|
│ │ ├── plan.md # Implementation plan
|
|||
|
|
│ │ ├── journal.md # Agent journey notes
|
|||
|
|
│ │ ├── findings.md # Analysis & discoveries
|
|||
|
|
│ │ ├── decisions.md # Decisions made & rationale
|
|||
|
|
│ │ ├── blockers.md # Current blockers (if any)
|
|||
|
|
│ │ ├── handoff.md # Handoff notes for Documenter
|
|||
|
|
│ │ ├── qa-review.md # QA feedback
|
|||
|
|
│ │ └── artifacts/ # Code samples, diagrams, etc.
|
|||
|
|
│ │ ├── code-samples/
|
|||
|
|
│ │ └── diagrams/
|
|||
|
|
│ │
|
|||
|
|
│ └── TASK-043-dashboard-redesign/
|
|||
|
|
│ └── ...
|
|||
|
|
│
|
|||
|
|
├── completed/ # Finished tasks (archived)
|
|||
|
|
│ ├── 2025-12/ # Organized by month
|
|||
|
|
│ │ ├── TASK-038-fix-memory-leak/
|
|||
|
|
│ │ └── TASK-039-add-dark-mode/
|
|||
|
|
│ └── 2025-11/
|
|||
|
|
│ └── ...
|
|||
|
|
│
|
|||
|
|
└── blocked/ # Tasks waiting on blockers
|
|||
|
|
└── TASK-040-integration-api/
|
|||
|
|
└── ...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 15.4 Task Record Templates
|
|||
|
|
|
|||
|
|
#### README.md (Required)
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# TASK-{id}: {title}
|
|||
|
|
|
|||
|
|
## Status
|
|||
|
|
- **State**: {pending | in_progress | blocked | review | documenting | completed}
|
|||
|
|
- **Priority**: {P0 | P1 | P2 | P3}
|
|||
|
|
- **Assigned To**: {agent-id}
|
|||
|
|
- **Cell**: {backend | frontend | ux_ui}
|
|||
|
|
|
|||
|
|
## Dates
|
|||
|
|
- **Created**: YYYY-MM-DD
|
|||
|
|
- **Started**: YYYY-MM-DD
|
|||
|
|
- **Target**: YYYY-MM-DD
|
|||
|
|
- **Completed**: YYYY-MM-DD
|
|||
|
|
|
|||
|
|
## Overview
|
|||
|
|
{Brief description of what this task accomplishes}
|
|||
|
|
|
|||
|
|
## Acceptance Criteria
|
|||
|
|
- [ ] Criterion 1
|
|||
|
|
- [ ] Criterion 2
|
|||
|
|
- [ ] Criterion 3
|
|||
|
|
|
|||
|
|
## Dependencies
|
|||
|
|
- Blocked by: {TASK-XXX, TASK-YYY}
|
|||
|
|
- Blocks: {TASK-ZZZ}
|
|||
|
|
|
|||
|
|
## Key Files
|
|||
|
|
- `path/to/main/file.py`
|
|||
|
|
- `path/to/test/file.py`
|
|||
|
|
|
|||
|
|
## Commits
|
|||
|
|
- `abc1234` - Initial implementation
|
|||
|
|
- `def5678` - Added tests
|
|||
|
|
- `ghi9012` - Fixed edge case
|
|||
|
|
|
|||
|
|
## Quick Context Restore
|
|||
|
|
{2-3 sentences an agent can read to immediately understand the task state}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### plan.md
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# Implementation Plan: TASK-{id}
|
|||
|
|
|
|||
|
|
## Approach
|
|||
|
|
{High-level approach description}
|
|||
|
|
|
|||
|
|
## Sub-Tasks
|
|||
|
|
- [ ] 1. {Sub-task 1}
|
|||
|
|
- Estimated: {time}
|
|||
|
|
- Notes: {any notes}
|
|||
|
|
- [ ] 2. {Sub-task 2}
|
|||
|
|
- [ ] 3. {Sub-task 3}
|
|||
|
|
|
|||
|
|
## Technical Considerations
|
|||
|
|
- {Consideration 1}
|
|||
|
|
- {Consideration 2}
|
|||
|
|
|
|||
|
|
## Risks
|
|||
|
|
- {Risk 1}: {Mitigation}
|
|||
|
|
- {Risk 2}: {Mitigation}
|
|||
|
|
|
|||
|
|
## Open Questions
|
|||
|
|
- [ ] {Question 1}
|
|||
|
|
- [x] {Question 2} → Answer: {answer}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### journal.md
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# Agent Journey: TASK-{id}
|
|||
|
|
|
|||
|
|
## Session 1 - YYYY-MM-DD HH:MM
|
|||
|
|
**Agent**: {agent-id}
|
|||
|
|
|
|||
|
|
### What I Did
|
|||
|
|
- Analyzed the requirements
|
|||
|
|
- Explored the codebase around X
|
|||
|
|
- Identified approach Y
|
|||
|
|
|
|||
|
|
### What I Learned
|
|||
|
|
- The existing system does Z because...
|
|||
|
|
- There's a related implementation in...
|
|||
|
|
|
|||
|
|
### What I Struggled With
|
|||
|
|
- Understanding the async flow in...
|
|||
|
|
- The documentation for X was unclear
|
|||
|
|
|
|||
|
|
### Next Steps
|
|||
|
|
- [ ] Implement the core logic
|
|||
|
|
- [ ] Add error handling
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Session 2 - YYYY-MM-DD HH:MM
|
|||
|
|
**Agent**: {agent-id}
|
|||
|
|
|
|||
|
|
### What I Did
|
|||
|
|
...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### decisions.md
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# Decisions Log: TASK-{id}
|
|||
|
|
|
|||
|
|
## Decision 1: {Title}
|
|||
|
|
**Date**: YYYY-MM-DD
|
|||
|
|
**Decider**: {agent-id}
|
|||
|
|
|
|||
|
|
### Context
|
|||
|
|
{What situation required a decision}
|
|||
|
|
|
|||
|
|
### Options Considered
|
|||
|
|
1. **Option A**: {description}
|
|||
|
|
- Pros: ...
|
|||
|
|
- Cons: ...
|
|||
|
|
2. **Option B**: {description}
|
|||
|
|
- Pros: ...
|
|||
|
|
- Cons: ...
|
|||
|
|
|
|||
|
|
### Decision
|
|||
|
|
Chose **Option A** because...
|
|||
|
|
|
|||
|
|
### Consequences
|
|||
|
|
- We will need to...
|
|||
|
|
- This means...
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Decision 2: {Title}
|
|||
|
|
...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### handoff.md (For Documenter)
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# Documentation Handoff: TASK-{id}
|
|||
|
|
|
|||
|
|
## Summary
|
|||
|
|
{What was built, in plain language}
|
|||
|
|
|
|||
|
|
## Documentation Needed
|
|||
|
|
- [ ] API documentation for new endpoints
|
|||
|
|
- [ ] README update for new feature
|
|||
|
|
- [ ] Architecture doc update
|
|||
|
|
- [ ] Changelog entry
|
|||
|
|
|
|||
|
|
## Key Commits
|
|||
|
|
| Commit | Description |
|
|||
|
|
|--------|-------------|
|
|||
|
|
| abc1234 | Main implementation |
|
|||
|
|
| def5678 | Tests |
|
|||
|
|
|
|||
|
|
## Important Conversations
|
|||
|
|
- Message ID: {id} - Discussion about approach
|
|||
|
|
- Message ID: {id} - Decision on X
|
|||
|
|
|
|||
|
|
## Dev Notes Location
|
|||
|
|
See `journal.md` for full journey notes.
|
|||
|
|
|
|||
|
|
## Gotchas for Documentation
|
|||
|
|
- Make sure to mention X limitation
|
|||
|
|
- The Y parameter is optional but important because...
|
|||
|
|
|
|||
|
|
## Code Samples to Include
|
|||
|
|
```python
|
|||
|
|
# Example usage
|
|||
|
|
from module import feature
|
|||
|
|
result = feature.do_thing(param)
|
|||
|
|
```
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 15.5 Context Restoration Protocol
|
|||
|
|
|
|||
|
|
When an agent picks up a task (especially one they didn't start):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ CONTEXT RESTORATION PROTOCOL │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
STEP 1: READ TASK RECORD
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Required reading (in order): │
|
|||
|
|
│ 1. README.md → Current state, criteria, quick context │
|
|||
|
|
│ 2. plan.md → What's the approach, what's left │
|
|||
|
|
│ 3. journal.md → What happened, what was learned │
|
|||
|
|
│ 4. decisions.md → Why things are the way they are │
|
|||
|
|
│ 5. blockers.md → Any current impediments │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
STEP 2: REVIEW ARTIFACTS
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ If applicable: │
|
|||
|
|
│ • Code samples in artifacts/ │
|
|||
|
|
│ • Related commits (git log) │
|
|||
|
|
│ • Test files │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
STEP 3: CHECK RELATED CONTEXT
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Query knowledge base: │
|
|||
|
|
│ • Similar past tasks │
|
|||
|
|
│ • Related documentation │
|
|||
|
|
│ • Relevant conversation history │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
STEP 4: ACKNOWLEDGE STATE
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Before starting work, add to journal: │
|
|||
|
|
│ "Resuming task. Context restored from records." │
|
|||
|
|
│ "Last state: {summary}" │
|
|||
|
|
│ "My plan: {what I'll do now}" │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 15.6 Task Indexing
|
|||
|
|
|
|||
|
|
The master index for quick lookup:
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# Task Index
|
|||
|
|
|
|||
|
|
## Active Tasks
|
|||
|
|
|
|||
|
|
| ID | Title | Cell | Assigned | Priority | State | Updated |
|
|||
|
|
|----|-------|------|----------|----------|-------|---------|
|
|||
|
|
| TASK-042 | Auth Rate Limiting | Backend | BE-Dev-1 | P1 | in_progress | 2025-12-08 |
|
|||
|
|
| TASK-043 | Dashboard Redesign | Frontend | FE-Dev-2 | P2 | review | 2025-12-08 |
|
|||
|
|
| TASK-044 | New Logo | UX/UI | UX-Dev | P2 | in_progress | 2025-12-07 |
|
|||
|
|
|
|||
|
|
## Blocked Tasks
|
|||
|
|
|
|||
|
|
| ID | Title | Blocked By | Since |
|
|||
|
|
|----|-------|------------|-------|
|
|||
|
|
| TASK-040 | Integration API | TASK-042 | 2025-12-05 |
|
|||
|
|
|
|||
|
|
## Recently Completed
|
|||
|
|
|
|||
|
|
| ID | Title | Completed | Duration |
|
|||
|
|
|----|-------|-----------|----------|
|
|||
|
|
| TASK-039 | Dark Mode | 2025-12-06 | 3 days |
|
|||
|
|
| TASK-038 | Memory Leak Fix | 2025-12-04 | 1 day |
|
|||
|
|
|
|||
|
|
## Statistics
|
|||
|
|
- Active: 3
|
|||
|
|
- Blocked: 1
|
|||
|
|
- Completed (this month): 12
|
|||
|
|
- Avg completion time: 2.3 days
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 15.7 Knowledge Capture Workflow
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ KNOWLEDGE CAPTURE WORKFLOW │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
During Task Execution:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Agent captures in journal.md: │
|
|||
|
|
│ • What they tried │
|
|||
|
|
│ • What worked / didn't work │
|
|||
|
|
│ • Why certain approaches were chosen │
|
|||
|
|
│ • Gotchas discovered │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
On Task Completion:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Dev extracts to handoff.md: │
|
|||
|
|
│ • Key learnings │
|
|||
|
|
│ • Patterns used │
|
|||
|
|
│ • Pitfalls to avoid │
|
|||
|
|
│ • Reusable solutions │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
Documenter Processing:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Documenter creates: │
|
|||
|
|
│ • User-facing documentation │
|
|||
|
|
│ • Developer documentation │
|
|||
|
|
│ • Knowledge base articles (if applicable) │
|
|||
|
|
│ • Best practices updates (if applicable) │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
RAG Indexing:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Optimal API indexes: │
|
|||
|
|
│ • Task records (for "how did we solve X before?") │
|
|||
|
|
│ • New documentation │
|
|||
|
|
│ • Decision rationales │
|
|||
|
|
│ • Code patterns │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 15.8 Cross-Session State Management
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ CROSS-SESSION STATE MANAGEMENT │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
STATE THAT MUST PERSIST:
|
|||
|
|
├─► Task status and progress
|
|||
|
|
├─► Implementation plan (remaining sub-tasks)
|
|||
|
|
├─► Decisions made and rationale
|
|||
|
|
├─► Blockers and their status
|
|||
|
|
├─► Commits linked to task
|
|||
|
|
├─► Conversation references
|
|||
|
|
├─► Journal entries
|
|||
|
|
└─► Handoff information
|
|||
|
|
|
|||
|
|
STATE STORAGE LOCATIONS:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Source of Truth: │
|
|||
|
|
│ • .tasks/ directory → Task records (markdown) │
|
|||
|
|
│ • PostgreSQL → Task metadata, status, relations │
|
|||
|
|
│ • Git → Code changes, commits │
|
|||
|
|
│ • Vector DB → Searchable embeddings │
|
|||
|
|
│ │
|
|||
|
|
│ Ephemeral (session only): │
|
|||
|
|
│ • Agent working memory → Current context window │
|
|||
|
|
│ • Redis → Active session state │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
SYNC PROTOCOL:
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ On session start: │
|
|||
|
|
│ 1. Load task record from .tasks/ │
|
|||
|
|
│ 2. Verify against PostgreSQL │
|
|||
|
|
│ 3. Load relevant context from Vector DB │
|
|||
|
|
│ │
|
|||
|
|
│ During session: │
|
|||
|
|
│ 1. Update journal.md incrementally │
|
|||
|
|
│ 2. Save checkpoints to .tasks/ regularly │
|
|||
|
|
│ 3. Update PostgreSQL on state changes │
|
|||
|
|
│ │
|
|||
|
|
│ On session end: │
|
|||
|
|
│ 1. Final save to .tasks/ │
|
|||
|
|
│ 2. Update PostgreSQL status │
|
|||
|
|
│ 3. Index new content to Vector DB │
|
|||
|
|
│ 4. Clear Redis session state │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 16. Agent Capabilities & Commands
|
|||
|
|
|
|||
|
|
### 16.1 Specialized Agent Capabilities
|
|||
|
|
|
|||
|
|
Beyond their primary roles, agents can invoke specialized capabilities:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ SPECIALIZED CAPABILITIES │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
CODE QUALITY & REVIEW
|
|||
|
|
├─► code-review Deep code review with quality, security, maintainability
|
|||
|
|
├─► architecture Architectural consistency, SOLID principles
|
|||
|
|
├─► python-expert Advanced Python, async/await, performance
|
|||
|
|
└─► typescript-expert Advanced TypeScript, React patterns, hooks
|
|||
|
|
|
|||
|
|
SECURITY & PERFORMANCE
|
|||
|
|
├─► security-audit Vulnerability review, OWASP compliance
|
|||
|
|
├─► api-security REST API security, auth, injection, exposure
|
|||
|
|
├─► performance Profiling, bottlenecks, caching strategies
|
|||
|
|
└─► database-optimize SQL optimization, indexing, N+1 detection
|
|||
|
|
|
|||
|
|
DEVOPS & INFRASTRUCTURE
|
|||
|
|
├─► devops-debug Production debugging, log analysis, incidents
|
|||
|
|
├─► deployment CI/CD, Docker, Kubernetes, cloud
|
|||
|
|
├─► networking DNS, SSL/TLS, CDN, network security
|
|||
|
|
└─► database-admin Backups, replication, disaster recovery
|
|||
|
|
|
|||
|
|
DEVELOPMENT SUPPORT
|
|||
|
|
├─► debugger Error resolution, test failures, unexpected behavior
|
|||
|
|
├─► error-detective Log searching, stack traces, root cause
|
|||
|
|
├─► api-architect RESTful design, microservices, schema design
|
|||
|
|
└─► api-documenter OpenAPI specs, SDK generation, dev docs
|
|||
|
|
|
|||
|
|
RESEARCH & PLANNING
|
|||
|
|
├─► researcher In-depth research with sources and citations
|
|||
|
|
├─► tech-researcher Code repos, API docs, implementations
|
|||
|
|
├─► task-decomposer Breaking complex goals into actionable tasks
|
|||
|
|
└─► context-manager Managing context across multi-agent workflows
|
|||
|
|
|
|||
|
|
SPECIALIZED
|
|||
|
|
├─► dx-optimizer Developer experience, tooling, workflows
|
|||
|
|
├─► orchestrator Complex multi-step workflow coordination
|
|||
|
|
└─► prompt-engineer Optimizes prompts, expert in prompt patterns
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 16.2 Available Commands
|
|||
|
|
|
|||
|
|
Commands are pre-defined workflows agents can invoke:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ AVAILABLE COMMANDS │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
TESTING & QUALITY
|
|||
|
|
├─► /test Run comprehensive test suite
|
|||
|
|
├─► /test-coverage Run tests with coverage report
|
|||
|
|
├─► /lint Run all linters
|
|||
|
|
├─► /typecheck Run type checker
|
|||
|
|
└─► /code-review Automated code review
|
|||
|
|
|
|||
|
|
SECURITY
|
|||
|
|
├─► /security-audit Comprehensive vulnerability scan
|
|||
|
|
├─► /security-hardening Apply security best practices
|
|||
|
|
├─► /dependency-audit Check for vulnerable dependencies
|
|||
|
|
└─► /secrets-scan Scan for exposed secrets
|
|||
|
|
|
|||
|
|
DOCUMENTATION
|
|||
|
|
├─► /doc-api Generate API documentation
|
|||
|
|
├─► /doc-architecture Create architecture docs
|
|||
|
|
├─► /doc-update Update existing documentation
|
|||
|
|
└─► /changelog Add changelog entry
|
|||
|
|
|
|||
|
|
DEVELOPMENT
|
|||
|
|
├─► /debug Debug complex errors with analysis
|
|||
|
|
├─► /refactor Code refactoring with patterns
|
|||
|
|
├─► /optimize Performance optimization
|
|||
|
|
└─► /cleanup Code cleanup and dead code removal
|
|||
|
|
|
|||
|
|
PROJECT
|
|||
|
|
├─► /status Current task status
|
|||
|
|
├─► /context Load context for current task
|
|||
|
|
├─► /handoff Prepare handoff documentation
|
|||
|
|
├─► /checkpoint Save current state
|
|||
|
|
└─► /complete Mark task complete, trigger handoff
|
|||
|
|
|
|||
|
|
META
|
|||
|
|
├─► /help Show available commands
|
|||
|
|
├─► /capabilities Show available capabilities
|
|||
|
|
└─► /think Deep analysis mode
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 16.3 Tool Integrations (MCP Servers)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ TOOL INTEGRATIONS │
|
|||
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|||
|
|
|
|||
|
|
DEVELOPMENT TOOLS
|
|||
|
|
├─► context7 Library documentation retrieval
|
|||
|
|
├─► sequential-thinking Problem-solving and analysis
|
|||
|
|
├─► task-manager Task and workflow management
|
|||
|
|
└─► kanban Project board management
|
|||
|
|
|
|||
|
|
INFRASTRUCTURE
|
|||
|
|
├─► docker Container operations and management
|
|||
|
|
├─► postgresql Database operations
|
|||
|
|
├─► redis Cache and queue operations
|
|||
|
|
└─► filesystem File operations in allowed directories
|
|||
|
|
|
|||
|
|
EXTERNAL SERVICES
|
|||
|
|
├─► fetch Web content fetching
|
|||
|
|
├─► notion Notion workspace integration
|
|||
|
|
├─► slack Slack messaging and notifications
|
|||
|
|
└─► github Repository operations
|
|||
|
|
|
|||
|
|
AI/ML
|
|||
|
|
├─► rag-query Query knowledge base
|
|||
|
|
├─► embeddings Generate embeddings
|
|||
|
|
└─► prompt-optimize Optimize prompts for efficiency
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 16.4 Quality Hooks
|
|||
|
|
|
|||
|
|
Hooks that run automatically at specific points:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
hooks:
|
|||
|
|
post_edit:
|
|||
|
|
python:
|
|||
|
|
- command: "ruff format {file}"
|
|||
|
|
description: "Auto-format Python files"
|
|||
|
|
- command: "ruff check {file}"
|
|||
|
|
description: "Lint Python files"
|
|||
|
|
blocking: true
|
|||
|
|
- command: "mypy {file}"
|
|||
|
|
description: "Type check Python files"
|
|||
|
|
blocking: true
|
|||
|
|
|
|||
|
|
typescript:
|
|||
|
|
- command: "prettier --write {file}"
|
|||
|
|
description: "Auto-format TypeScript files"
|
|||
|
|
- command: "eslint {file}"
|
|||
|
|
description: "Lint TypeScript files"
|
|||
|
|
blocking: true
|
|||
|
|
|
|||
|
|
pre_commit:
|
|||
|
|
- command: "run-tests --changed"
|
|||
|
|
description: "Run tests for changed files"
|
|||
|
|
blocking: true
|
|||
|
|
|
|||
|
|
post_commit:
|
|||
|
|
- command: "update-task-status"
|
|||
|
|
description: "Update task with commit reference"
|
|||
|
|
|
|||
|
|
session_end:
|
|||
|
|
- command: "save-checkpoint"
|
|||
|
|
description: "Save task state"
|
|||
|
|
- command: "update-journal"
|
|||
|
|
description: "Finalize journal entry"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Appendix A: Technology Stack
|
|||
|
|
|
|||
|
|
### Infrastructure
|
|||
|
|
| Component | Technology |
|
|||
|
|
|-----------|------------|
|
|||
|
|
| Container Runtime | Docker + Docker Compose |
|
|||
|
|
| Orchestration | Custom Python (Phase 1), K3s (future) |
|
|||
|
|
| Database | PostgreSQL |
|
|||
|
|
| Cache/Queue | Redis |
|
|||
|
|
| Vector DB | Qdrant |
|
|||
|
|
| Object Storage | MinIO (NAS) |
|
|||
|
|
|
|||
|
|
### Backend Services
|
|||
|
|
| Service | Technology |
|
|||
|
|
|---------|------------|
|
|||
|
|
| API Framework | FastAPI |
|
|||
|
|
| WebSockets | FastAPI + websockets |
|
|||
|
|
| Task Queue | Celery / Redis Streams |
|
|||
|
|
| ORM | SQLAlchemy / Tortoise |
|
|||
|
|
|
|||
|
|
### AI/ML
|
|||
|
|
| Component | Technology |
|
|||
|
|
|-----------|------------|
|
|||
|
|
| Cloud LLM | Claude API (Anthropic) |
|
|||
|
|
| Local LLM | Ollama / vLLM |
|
|||
|
|
| Embeddings | text-embedding-3-small / local |
|
|||
|
|
| Agent Framework | Claude Code / Custom |
|
|||
|
|
|
|||
|
|
### Frontend (Future)
|
|||
|
|
| Component | Technology |
|
|||
|
|
|-----------|------------|
|
|||
|
|
| Framework | React / Next.js |
|
|||
|
|
| UI Library | TBD |
|
|||
|
|
| Real-time | WebSocket client |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Appendix B: Glossary
|
|||
|
|
|
|||
|
|
| Term | Definition |
|
|||
|
|
|------|------------|
|
|||
|
|
| **Agent** | An AI instance with a defined role, running on the Olares One |
|
|||
|
|
| **Cell** | A team unit (Backend, Frontend, UX/UI) with Devs, QA, PM, Documenter |
|
|||
|
|
| **Channel** | A communication space where agents stream and chat |
|
|||
|
|
| **Communication** | Constant stream of agent activity (reasoning, dialogue, actions) |
|
|||
|
|
| **Documenter** | Agent responsible for creating production documentation |
|
|||
|
|
| **Journal** | Personal log maintained by each agent |
|
|||
|
|
| **Notification** | Formal signal requiring acknowledgment |
|
|||
|
|
| **Optimal API** | Service providing RAG, prompt optimization, token management |
|
|||
|
|
| **RAG** | Retrieval-Augmented Generation - querying knowledge base for context |
|
|||
|
|
| **Session** | Group of messages within time/count boundaries |
|
|||
|
|
| **Task** | Atomic unit of work, wrapped in the universal lifecycle |
|
|||
|
|
| **Transcription** | Process of extracting structured messages from agent streams |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Appendix C: Configuration Templates
|
|||
|
|
|
|||
|
|
### Agent Configuration Example
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
agent:
|
|||
|
|
id: "be-dev-1"
|
|||
|
|
name: "Backend Developer 1"
|
|||
|
|
role: developer
|
|||
|
|
team: backend
|
|||
|
|
|
|||
|
|
model:
|
|||
|
|
provider: anthropic
|
|||
|
|
name: claude-3-opus
|
|||
|
|
fallback: local-llama-70b
|
|||
|
|
|
|||
|
|
system_prompt: |
|
|||
|
|
You are a senior backend developer working on the FastAPI Guard ecosystem.
|
|||
|
|
You follow the task lifecycle strictly and document your journey.
|
|||
|
|
You communicate constantly in your cell channel.
|
|||
|
|
You ask questions when unclear.
|
|||
|
|
|
|||
|
|
capabilities:
|
|||
|
|
- code_execution
|
|||
|
|
- git_operations
|
|||
|
|
- file_management
|
|||
|
|
- web_search
|
|||
|
|
|
|||
|
|
permissions:
|
|||
|
|
can_notify: false
|
|||
|
|
channels_read:
|
|||
|
|
- backend-cell
|
|||
|
|
- dev-all
|
|||
|
|
- announcements
|
|||
|
|
- all-hands
|
|||
|
|
channels_write:
|
|||
|
|
- backend-cell
|
|||
|
|
- dev-all
|
|||
|
|
- all-hands
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Channel Configuration Example
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
channel:
|
|||
|
|
id: "backend-cell"
|
|||
|
|
name: "#backend-cell"
|
|||
|
|
type: cell
|
|||
|
|
team: backend
|
|||
|
|
|
|||
|
|
members:
|
|||
|
|
- be-dev-1
|
|||
|
|
- be-dev-2
|
|||
|
|
- be-qa
|
|||
|
|
- be-pm
|
|||
|
|
- be-doc
|
|||
|
|
|
|||
|
|
silent_observers:
|
|||
|
|
- auditor
|
|||
|
|
|
|||
|
|
settings:
|
|||
|
|
message_retention_days: 90
|
|||
|
|
max_message_length: 10000
|
|||
|
|
allow_threads: true
|
|||
|
|
allow_reactions: true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Appendix D: API Endpoint Summary
|
|||
|
|
|
|||
|
|
### Messaging API
|
|||
|
|
```
|
|||
|
|
# Channels
|
|||
|
|
POST /api/v1/channels # Create channel (admin)
|
|||
|
|
GET /api/v1/channels # List accessible channels
|
|||
|
|
GET /api/v1/channels/{id} # Get channel details
|
|||
|
|
|
|||
|
|
# Groups (within channels)
|
|||
|
|
POST /api/v1/channels/{id}/groups # Create group
|
|||
|
|
GET /api/v1/channels/{id}/groups # List groups in channel
|
|||
|
|
GET /api/v1/groups/{id} # Get group details
|
|||
|
|
PUT /api/v1/groups/{id} # Update group settings
|
|||
|
|
|
|||
|
|
# Sessions (within groups)
|
|||
|
|
POST /api/v1/groups/{id}/sessions # Create session
|
|||
|
|
GET /api/v1/groups/{id}/sessions # List sessions in group
|
|||
|
|
GET /api/v1/sessions/{id} # Get session with messages
|
|||
|
|
PUT /api/v1/sessions/{id}/close # Close session manually
|
|||
|
|
|
|||
|
|
# Messages (within sessions)
|
|||
|
|
POST /api/v1/sessions/{id}/messages # Send message
|
|||
|
|
GET /api/v1/sessions/{id}/messages # Get messages (paginated)
|
|||
|
|
GET /api/v1/messages/{id} # Get specific message
|
|||
|
|
PUT /api/v1/messages/{id} # Edit own message
|
|||
|
|
DELETE /api/v1/messages/{id} # Delete own message
|
|||
|
|
|
|||
|
|
# WebSocket (real-time)
|
|||
|
|
WS /api/v1/ws/channels/{id} # Channel stream
|
|||
|
|
WS /api/v1/ws/groups/{id} # Group stream
|
|||
|
|
WS /api/v1/ws/agents/{id} # Agent's output stream
|
|||
|
|
|
|||
|
|
# Notifications
|
|||
|
|
POST /api/v1/notifications # Send notification
|
|||
|
|
GET /api/v1/notifications # Get pending notifications
|
|||
|
|
PUT /api/v1/notifications/{id}/ack # Acknowledge notification
|
|||
|
|
|
|||
|
|
# Search
|
|||
|
|
GET /api/v1/search/messages # Search messages (full-text)
|
|||
|
|
GET /api/v1/search/sessions # Search sessions
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Task API
|
|||
|
|
```
|
|||
|
|
POST /api/v1/tasks
|
|||
|
|
GET /api/v1/tasks
|
|||
|
|
GET /api/v1/tasks/{id}
|
|||
|
|
PUT /api/v1/tasks/{id}
|
|||
|
|
PUT /api/v1/tasks/{id}/claim
|
|||
|
|
PUT /api/v1/tasks/{id}/status
|
|||
|
|
POST /api/v1/tasks/{id}/handoff
|
|||
|
|
GET /api/v1/tasks/kanban/{view}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Optimal API
|
|||
|
|
```
|
|||
|
|
POST /api/v1/kb/index
|
|||
|
|
GET /api/v1/kb/search
|
|||
|
|
POST /api/v1/rag/query
|
|||
|
|
POST /api/v1/prompts
|
|||
|
|
GET /api/v1/prompts/{id}
|
|||
|
|
POST /api/v1/prompts/{id}/render
|
|||
|
|
POST /api/v1/tokens/estimate
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Journal API
|
|||
|
|
```
|
|||
|
|
GET /api/v1/journals/{agent_id}
|
|||
|
|
POST /api/v1/journals/{agent_id}/entries
|
|||
|
|
GET /api/v1/journals/{agent_id}/entries
|
|||
|
|
GET /api/v1/journals/{agent_id}/summary
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Document History
|
|||
|
|
|
|||
|
|
| Version | Date | Author | Changes |
|
|||
|
|
|---------|------|--------|---------|
|
|||
|
|
| 1.0.0 | Dec 2025 | Renzo Franceschini | Initial blueprint |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*This document serves as the foundational blueprint for the AI Agents Company project. It should be updated as the project evolves and new requirements emerge.*
|