-
Notifications
You must be signed in to change notification settings - Fork 4
Data Model
Alessio Rocchi edited this page Jan 29, 2026
·
2 revisions
Complete database schema and data structures.
CREATE TABLE memory (
id TEXT PRIMARY KEY,
key TEXT NOT NULL,
namespace TEXT DEFAULT 'default',
content TEXT NOT NULL,
embedding BLOB,
metadata TEXT,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
UNIQUE(namespace, key)
);CREATE TABLE sessions (
id TEXT PRIMARY KEY,
status TEXT NOT NULL,
started_at INTEGER NOT NULL,
ended_at INTEGER,
metadata TEXT
);CREATE TABLE tasks (
id TEXT PRIMARY KEY,
session_id TEXT,
agent_type TEXT NOT NULL,
status TEXT NOT NULL,
input TEXT,
output TEXT,
created_at INTEGER NOT NULL,
completed_at INTEGER,
FOREIGN KEY (session_id) REFERENCES sessions(id)
);CREATE VIRTUAL TABLE memory_fts USING fts5(
key,
content,
namespace,
content=memory,
content_rowid=rowid,
tokenize='porter unicode61'
);CREATE TABLE agent_identities (
agent_id TEXT PRIMARY KEY,
agent_type TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'created',
display_name TEXT,
description TEXT,
capabilities TEXT, -- JSON array
metadata TEXT, -- JSON object
version INTEGER NOT NULL DEFAULT 1,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
last_active_at INTEGER NOT NULL,
retired_at INTEGER,
retirement_reason TEXT,
created_by TEXT
);CREATE TABLE identity_audit_log (
id TEXT PRIMARY KEY,
agent_id TEXT NOT NULL,
action TEXT NOT NULL,
previous_status TEXT,
new_status TEXT,
reason TEXT,
actor_id TEXT,
metadata TEXT,
timestamp INTEGER NOT NULL,
FOREIGN KEY (agent_id) REFERENCES agent_identities(agent_id)
);CREATE TABLE task_embeddings (
task_id TEXT PRIMARY KEY,
embedding BLOB NOT NULL,
model TEXT NOT NULL,
dimensions INTEGER NOT NULL,
created_at INTEGER NOT NULL,
FOREIGN KEY (task_id) REFERENCES tasks(id)
);CREATE TABLE task_relationships (
id TEXT PRIMARY KEY,
from_task_id TEXT NOT NULL,
to_task_id TEXT NOT NULL,
relationship_type TEXT NOT NULL,
metadata TEXT,
created_at INTEGER NOT NULL,
UNIQUE(from_task_id, to_task_id, relationship_type),
FOREIGN KEY (from_task_id) REFERENCES tasks(id),
FOREIGN KEY (to_task_id) REFERENCES tasks(id)
);CREATE TABLE drift_detection_events (
id TEXT PRIMARY KEY,
task_id TEXT,
task_type TEXT NOT NULL,
ancestor_task_id TEXT NOT NULL,
similarity_score REAL NOT NULL,
threshold REAL NOT NULL,
action_taken TEXT NOT NULL,
task_input TEXT,
created_at INTEGER NOT NULL
);CREATE TABLE consensus_checkpoints (
id TEXT PRIMARY KEY,
task_id TEXT NOT NULL,
parent_task_id TEXT,
proposed_subtasks TEXT NOT NULL, -- JSON array
risk_level TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'pending',
reviewer_strategy TEXT NOT NULL,
reviewer_id TEXT,
reviewer_type TEXT,
decision TEXT, -- JSON object
created_at INTEGER NOT NULL,
expires_at INTEGER NOT NULL,
decided_at INTEGER
);CREATE TABLE agent_resource_metrics (
agent_id TEXT PRIMARY KEY,
files_read INTEGER NOT NULL DEFAULT 0,
files_written INTEGER NOT NULL DEFAULT 0,
files_modified INTEGER NOT NULL DEFAULT 0,
api_calls_count INTEGER NOT NULL DEFAULT 0,
subtasks_spawned INTEGER NOT NULL DEFAULT 0,
tokens_consumed INTEGER NOT NULL DEFAULT 0,
started_at INTEGER NOT NULL,
last_deliverable_at INTEGER,
last_activity_at INTEGER NOT NULL,
phase TEXT NOT NULL DEFAULT 'normal',
paused_at INTEGER,
pause_reason TEXT
);CREATE TABLE deliverable_checkpoints (
id TEXT PRIMARY KEY,
agent_id TEXT NOT NULL,
type TEXT NOT NULL,
description TEXT,
artifacts TEXT, -- JSON array
created_at INTEGER NOT NULL
);CREATE TABLE resource_exhaustion_events (
id TEXT PRIMARY KEY,
agent_id TEXT NOT NULL,
agent_type TEXT NOT NULL,
phase TEXT NOT NULL,
action_taken TEXT NOT NULL,
metrics TEXT NOT NULL, -- JSON object
thresholds TEXT NOT NULL, -- JSON object
triggered_by TEXT NOT NULL,
created_at INTEGER NOT NULL
);interface MemoryEntry {
id: string;
key: string;
namespace: string;
content: string;
embedding?: Float32Array;
metadata?: Record<string, any>;
createdAt: Date;
updatedAt: Date;
}
interface Session {
id: string;
status: 'active' | 'ended' | 'error';
startedAt: Date;
endedAt?: Date;
metadata?: Record<string, any>;
}
interface Task {
id: string;
sessionId?: string;
agentType: string;
status: 'pending' | 'running' | 'completed' | 'failed';
input?: string;
output?: string;
parentTaskId?: string;
riskLevel?: 'low' | 'medium' | 'high';
depth?: number;
createdAt: Date;
completedAt?: Date;
}
interface AgentIdentity {
agentId: string;
agentType: string;
status: 'created' | 'active' | 'dormant' | 'retired';
displayName?: string;
description?: string;
capabilities: Capability[];
metadata?: Record<string, any>;
version: number;
createdAt: Date;
updatedAt: Date;
lastActiveAt: Date;
retiredAt?: Date;
retirementReason?: string;
createdBy?: string;
}
interface Capability {
name: string;
version?: string;
enabled: boolean;
metadata?: Record<string, any>;
}
interface TaskRelationship {
id: string;
fromTaskId: string;
toTaskId: string;
relationshipType: 'parent_of' | 'derived_from' | 'depends_on';
metadata?: Record<string, any>;
createdAt: Date;
}
interface ConsensusCheckpoint {
id: string;
taskId: string;
parentTaskId?: string;
proposedSubtasks: ProposedSubtask[];
riskLevel: 'low' | 'medium' | 'high';
status: 'pending' | 'approved' | 'rejected' | 'expired';
reviewerStrategy: 'adversarial' | 'different-model' | 'human';
reviewerId?: string;
reviewerType?: 'agent' | 'human';
decision?: ConsensusDecision;
createdAt: Date;
expiresAt: Date;
decidedAt?: Date;
}
interface AgentResourceMetrics {
agentId: string;
filesRead: number;
filesWritten: number;
filesModified: number;
apiCallsCount: number;
subtasksSpawned: number;
tokensConsumed: number;
startedAt: Date;
lastDeliverableAt: Date | null;
lastActivityAt: Date;
phase: 'normal' | 'warning' | 'intervention' | 'termination';
pausedAt: Date | null;
pauseReason: string | null;
}Related:
Getting Started
Core Concepts
Agent Guides
- Overview
- Coder
- Researcher
- Tester
- Reviewer
- Adversarial
- Architect
- Coordinator
- Analyst
- DevOps
- Documentation
- Security Auditor
MCP Tools
- Overview
- Agent Tools
- Memory Tools
- Task Tools
- Session Tools
- System Tools
- GitHub Tools
- Review Loop Tools
- Identity Tools
Recipes
- Index
- Code Review
- Doc Sync
- Multi-Agent
- Adversarial Testing
- Full-Stack Feature
- Memory Patterns
- GitHub Integration
Advanced
- Plugin Development
- Custom Agent Types
- Workflow Engine
- Vector Search Setup
- Web Dashboard
- Programmatic API
- Resource Monitoring
Reference