@miller-tech/uap 1.39.0 → 1.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +109 -642
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/bin/cli.js +2 -2
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/cli/deliver.d.ts +3 -2
  6. package/dist/cli/deliver.d.ts.map +1 -1
  7. package/dist/cli/deliver.js +10 -5
  8. package/dist/cli/deliver.js.map +1 -1
  9. package/docs/INDEX.md +48 -286
  10. package/docs/architecture/OVERVIEW.md +328 -0
  11. package/docs/architecture/PROTOCOL.md +204 -0
  12. package/docs/benchmarks/README.md +17 -192
  13. package/docs/getting-started/CONFIGURATION.md +237 -0
  14. package/docs/getting-started/INSTALLATION.md +125 -0
  15. package/docs/getting-started/QUICKSTART.md +115 -0
  16. package/docs/guides/COORDINATION.md +162 -0
  17. package/docs/guides/DELIVER.md +115 -0
  18. package/docs/guides/DEPLOY_BATCHING.md +212 -0
  19. package/docs/guides/DROIDS_AND_SKILLS.md +202 -0
  20. package/docs/guides/LOCAL_MODELS.md +148 -0
  21. package/docs/guides/MCP_ROUTER.md +195 -0
  22. package/docs/guides/MEMORY.md +235 -0
  23. package/docs/guides/MULTI_MODEL.md +223 -0
  24. package/docs/guides/POLICIES.md +190 -0
  25. package/docs/guides/WORKTREE_WORKFLOW.md +185 -0
  26. package/docs/integrations/MCP_ROUTER.md +147 -0
  27. package/docs/integrations/RTK.md +102 -0
  28. package/docs/reference/API.md +485 -0
  29. package/docs/reference/CLI.md +719 -0
  30. package/docs/reference/CONFIGURATION.md +90 -193
  31. package/docs/reference/DATABASE_SCHEMA.md +110 -344
  32. package/docs/reference/FEATURES.md +176 -472
  33. package/docs/reference/PATTERNS.md +102 -0
  34. package/docs/reference/PLATFORMS.md +83 -0
  35. package/package.json +1 -1
  36. package/docs/AGENTS.md +0 -423
  37. package/docs/DOCUMENTATION_AUDIT_REPORT.md +0 -131
  38. package/docs/GETTING_STARTED.md +0 -288
  39. package/docs/PROJECT_ANALYSIS_REPORT.md +0 -510
  40. package/docs/architecture/COMPLETE_ARCHITECTURE.md +0 -748
  41. package/docs/architecture/EXPERT_STACK.md +0 -137
  42. package/docs/architecture/MULTI_MODEL.md +0 -224
  43. package/docs/architecture/PLATFORM_GATING.md +0 -68
  44. package/docs/architecture/SYSTEM_ANALYSIS.md +0 -334
  45. package/docs/architecture/UAP_COMPLIANCE.md +0 -217
  46. package/docs/architecture/UAP_PROTOCOL.md +0 -339
  47. package/docs/architecture/UAP_STRICT_DROIDS.md +0 -172
  48. package/docs/archive/BALLS_MODE_SELF_ANALYSIS.md +0 -260
  49. package/docs/archive/BENCHMARK_GAPS_AND_PLAN.md +0 -146
  50. package/docs/archive/FAILING_TASKS_SOLUTION_PLAN.md +0 -668
  51. package/docs/archive/JINJA2-SYSTEM-MESSAGE-FIX.md +0 -209
  52. package/docs/archive/MODEL_ROUTING_IMPLEMENTATION_SUMMARY.md +0 -281
  53. package/docs/archive/MODEL_ROUTING_OPTIMIZATION_PLAN.md +0 -320
  54. package/docs/archive/NPM-PUBLISH-V0.9.1.md +0 -240
  55. package/docs/archive/OPTIMIZATION_OPTIONS.md +0 -334
  56. package/docs/archive/PARALLELISM_GAPS_AND_OPTIONS.md +0 -422
  57. package/docs/archive/POLICY_GATE_IMPLEMENTATION.md +0 -245
  58. package/docs/archive/SETUP_IMPROVEMENTS.md +0 -213
  59. package/docs/archive/UAP_GENERIC_OPTIMIZATION_PLAN.md +0 -270
  60. package/docs/archive/UAP_OPTIMIZATION_PLAN.md +0 -701
  61. package/docs/archive/UAP_V103_PATTERN_DESIGN.md +0 -315
  62. package/docs/archive/UAP_V104_COMPLIANCE_DESIGN.md +0 -223
  63. package/docs/archive/changelog/2026-03-10_uap-100-compliance.md +0 -77
  64. package/docs/archive/changelog/2026-03-10_uap-full-system-verification.md +0 -109
  65. package/docs/archive/opencode-integration-guide.md +0 -740
  66. package/docs/archive/opencode-integration-quickref.md +0 -180
  67. package/docs/benchmarks/OVERNIGHT_RUNNER.md +0 -341
  68. package/docs/benchmarks/SPECULATIVE_DECODING_JOURNEY_2026-03.md +0 -221
  69. package/docs/benchmarks/VALIDATION_PLAN.md +0 -568
  70. package/docs/blog/SPECULATIVE_DECODING_PRODUCTION_PLAYBOOK.md +0 -139
  71. package/docs/blog/local-coding-agents.md +0 -266
  72. package/docs/blog/x-thread.md +0 -254
  73. package/docs/deployment/DEPLOYMENT.md +0 -895
  74. package/docs/deployment/DEPLOYMENT_STRATEGIES.md +0 -518
  75. package/docs/deployment/DEPLOY_BATCHER_ANALYSIS.md +0 -224
  76. package/docs/deployment/DEPLOY_BATCHING.md +0 -273
  77. package/docs/deployment/DEPLOY_BUCKETING_ANALYSIS.md +0 -420
  78. package/docs/deployment/QWEN35_LLAMA_CPP.md +0 -426
  79. package/docs/deployment/UAP_LLAMA_ANTHROPIC_PROXY_BOOTSTRAP.md +0 -279
  80. package/docs/getting-started/INTEGRATION.md +0 -628
  81. package/docs/getting-started/OVERVIEW.md +0 -324
  82. package/docs/getting-started/SETUP.md +0 -377
  83. package/docs/integrations/MCP_ROUTER_SETUP.md +0 -445
  84. package/docs/integrations/RTK_INTEGRATION.md +0 -468
  85. package/docs/operations/TROUBLESHOOTING.md +0 -660
  86. package/docs/pr/PR_SPECULATIVE_DOCS_TEMPLATE.md +0 -146
  87. package/docs/pr/UPSTREAM_PRS.md +0 -424
  88. package/docs/reference/API_REFERENCE.md +0 -903
  89. package/docs/reference/EXPERT_DROIDS.md +0 -219
  90. package/docs/reference/HARNESS-MATRIX.md +0 -318
  91. package/docs/reference/PATTERN_LIBRARY.md +0 -636
  92. package/docs/reference/UAP_CLI_REFERENCE.md +0 -620
  93. package/docs/research/BEHAVIORAL_PATTERNS.md +0 -228
  94. package/docs/research/DOMAIN_STRATEGIES.md +0 -316
  95. package/docs/research/MEMORY_SYSTEMS_COMPARISON.md +0 -812
  96. package/docs/research/PATTERN_ANALYSIS_2026-01-18.md +0 -436
  97. package/docs/research/PERFORMANCE_ANALYSIS_2026-01-18.md +0 -209
  98. package/docs/research/PERFORMANCE_TEST_PLAN.md +0 -383
  99. package/docs/research/TERMINAL_BENCH_LEARNINGS.md +0 -217
@@ -1,344 +1,110 @@
1
- # UAP Database Schema Reference
2
-
3
- This document provides accurate database schema definitions for all UAP SQLite databases.
4
-
5
- ## Short-Term Memory Database
6
-
7
- **Location:** `agents/data/memory/short_term.db`
8
-
9
- ### Table: memories
10
-
11
- ```sql
12
- CREATE TABLE memories (
13
- id INTEGER PRIMARY KEY AUTOINCREMENT,
14
- timestamp TEXT NOT NULL,
15
- type TEXT NOT NULL CHECK(type IN ('action', 'observation', 'thought', 'goal', 'lesson', 'decision')),
16
- content TEXT NOT NULL,
17
- project_id TEXT NOT NULL DEFAULT 'default',
18
- importance INTEGER NOT NULL DEFAULT 5
19
- );
20
-
21
- CREATE INDEX idx_memories_project_id ON memories(project_id);
22
- CREATE INDEX idx_memories_timestamp ON memories(timestamp);
23
- CREATE INDEX idx_memories_type ON memories(type);
24
- CREATE INDEX idx_memories_project_type ON memories(project_id, type);
25
- CREATE INDEX idx_memories_importance ON memories(importance DESC);
26
- ```
27
-
28
- ### Table: memories_fts (FTS5)
29
-
30
- ```sql
31
- CREATE VIRTUAL TABLE memories_fts USING fts5(
32
- content,
33
- type,
34
- content='memories',
35
- content_rowid='id',
36
- tokenize='porter unicode61'
37
- );
38
- ```
39
-
40
- ### Table: session_memories
41
-
42
- ```sql
43
- CREATE TABLE session_memories (
44
- id INTEGER PRIMARY KEY AUTOINCREMENT,
45
- session_id TEXT NOT NULL,
46
- timestamp TEXT NOT NULL,
47
- type TEXT NOT NULL,
48
- content TEXT NOT NULL,
49
- importance INTEGER DEFAULT 5
50
- );
51
-
52
- CREATE UNIQUE INDEX idx_session_unique ON session_memories(session_id, content);
53
- CREATE INDEX idx_session_id ON session_memories(session_id);
54
- CREATE INDEX idx_session_timestamp ON session_memories(timestamp);
55
- CREATE INDEX idx_session_importance ON session_memories(importance DESC);
56
- CREATE INDEX idx_session_id_importance ON session_memories(session_id, importance DESC);
57
- ```
58
-
59
- ### Table: entities (Knowledge Graph L4)
60
-
61
- ```sql
62
- CREATE TABLE entities (
63
- id INTEGER PRIMARY KEY AUTOINCREMENT,
64
- type TEXT NOT NULL,
65
- name TEXT NOT NULL,
66
- description TEXT,
67
- first_seen TEXT NOT NULL,
68
- last_seen TEXT NOT NULL,
69
- mention_count INTEGER NOT NULL DEFAULT 1,
70
- UNIQUE(type, name)
71
- );
72
-
73
- CREATE INDEX idx_entities_type ON entities(type);
74
- ```
75
-
76
- ### Table: relationships (Knowledge Graph L4)
77
-
78
- ```sql
79
- CREATE TABLE relationships (
80
- id INTEGER PRIMARY KEY AUTOINCREMENT,
81
- source_id INTEGER NOT NULL,
82
- target_id INTEGER NOT NULL,
83
- relation TEXT NOT NULL,
84
- strength REAL NOT NULL DEFAULT 1.0,
85
- timestamp TEXT NOT NULL,
86
- UNIQUE(source_id, target_id, relation),
87
- FOREIGN KEY (source_id) REFERENCES entities(id),
88
- FOREIGN KEY (target_id) REFERENCES entities(id)
89
- );
90
-
91
- CREATE INDEX idx_relationships_source ON relationships(source_id);
92
- CREATE INDEX idx_relationships_target ON relationships(target_id);
93
- ```
94
-
95
- ## Coordination Database
96
-
97
- **Location:** `agents/data/coordination/coordination.db`
98
-
99
- ### Table: agent_registry
100
-
101
- ```sql
102
- CREATE TABLE agent_registry (
103
- id TEXT PRIMARY KEY,
104
- name TEXT NOT NULL,
105
- session_id TEXT NOT NULL,
106
- status TEXT NOT NULL CHECK(status IN ('active', 'idle', 'completed', 'failed')),
107
- current_task TEXT,
108
- worktree_branch TEXT,
109
- started_at TEXT NOT NULL,
110
- last_heartbeat TEXT NOT NULL,
111
- capabilities TEXT
112
- );
113
-
114
- CREATE INDEX idx_agent_registry_session ON agent_registry(session_id);
115
- CREATE INDEX idx_agent_registry_status ON agent_registry(status);
116
- ```
117
-
118
- ### Table: agent_messages
119
-
120
- ```sql
121
- CREATE TABLE agent_messages (
122
- id INTEGER PRIMARY KEY AUTOINCREMENT,
123
- channel TEXT NOT NULL,
124
- from_agent TEXT,
125
- to_agent TEXT,
126
- type TEXT NOT NULL CHECK(type IN ('request', 'response', 'notification', 'claim', 'release')),
127
- payload TEXT NOT NULL,
128
- priority INTEGER DEFAULT 5,
129
- created_at TEXT NOT NULL,
130
- read_at TEXT,
131
- expires_at TEXT
132
- );
133
-
134
- CREATE INDEX idx_messages_channel ON agent_messages(channel);
135
- CREATE INDEX idx_messages_to_agent ON agent_messages(to_agent);
136
- CREATE INDEX idx_messages_created ON agent_messages(created_at);
137
- ```
138
-
139
- ### Table: work_announcements
140
-
141
- ```sql
142
- CREATE TABLE work_announcements (
143
- id INTEGER PRIMARY KEY AUTOINCREMENT,
144
- agent_id TEXT NOT NULL,
145
- agent_name TEXT,
146
- worktree_branch TEXT,
147
- intent_type TEXT NOT NULL CHECK(intent_type IN ('editing', 'reviewing', 'refactoring', 'testing', 'documenting')),
148
- resource TEXT NOT NULL,
149
- description TEXT,
150
- files_affected TEXT,
151
- estimated_completion TEXT,
152
- announced_at TEXT NOT NULL,
153
- completed_at TEXT,
154
- FOREIGN KEY (agent_id) REFERENCES agent_registry(id)
155
- );
156
-
157
- CREATE INDEX idx_announcements_agent ON work_announcements(agent_id);
158
- CREATE INDEX idx_announcements_resource ON work_announcements(resource);
159
- CREATE INDEX idx_announcements_active ON work_announcements(completed_at) WHERE completed_at IS NULL;
160
- ```
161
-
162
- ### Table: work_claims (Legacy)
163
-
164
- ```sql
165
- CREATE TABLE work_claims (
166
- id INTEGER PRIMARY KEY AUTOINCREMENT,
167
- resource TEXT NOT NULL,
168
- agent_id TEXT NOT NULL,
169
- claim_type TEXT NOT NULL CHECK(claim_type IN ('exclusive', 'shared')),
170
- claimed_at TEXT NOT NULL,
171
- expires_at TEXT,
172
- FOREIGN KEY (agent_id) REFERENCES agent_registry(id)
173
- );
174
-
175
- CREATE INDEX idx_claims_agent ON work_claims(agent_id);
176
- CREATE INDEX idx_claims_resource ON work_claims(resource);
177
- ```
178
-
179
- ### Table: deploy_queue
180
-
181
- ```sql
182
- CREATE TABLE deploy_queue (
183
- id INTEGER PRIMARY KEY AUTOINCREMENT,
184
- agent_id TEXT NOT NULL,
185
- action_type TEXT NOT NULL CHECK(action_type IN ('commit', 'push', 'merge', 'deploy', 'workflow')),
186
- target TEXT NOT NULL,
187
- payload TEXT,
188
- status TEXT NOT NULL CHECK(status IN ('pending', 'batched', 'executing', 'completed', 'failed')),
189
- batch_id TEXT,
190
- queued_at TEXT NOT NULL,
191
- execute_after TEXT,
192
- priority INTEGER DEFAULT 5,
193
- dependencies TEXT
194
- );
195
-
196
- CREATE INDEX idx_deploy_status ON deploy_queue(status);
197
- CREATE INDEX idx_deploy_batch ON deploy_queue(batch_id);
198
- CREATE INDEX idx_deploy_target ON deploy_queue(target);
199
- ```
200
-
201
- ### Table: deploy_batches
202
-
203
- ```sql
204
- CREATE TABLE deploy_batches (
205
- id TEXT PRIMARY KEY,
206
- created_at TEXT NOT NULL,
207
- executed_at TEXT,
208
- status TEXT NOT NULL CHECK(status IN ('pending', 'executing', 'completed', 'failed')),
209
- result TEXT
210
- );
211
- ```
212
-
213
- ## Task Database
214
-
215
- **Location:** `./.uap/tasks/tasks.db`
216
-
217
- ### Table: tasks
218
-
219
- ```sql
220
- CREATE TABLE tasks (
221
- id TEXT PRIMARY KEY,
222
- title TEXT NOT NULL,
223
- description TEXT,
224
- type TEXT NOT NULL CHECK(type IN ('task', 'bug', 'feature', 'epic', 'chore', 'story')) DEFAULT 'task',
225
- status TEXT NOT NULL CHECK(status IN ('open', 'in_progress', 'blocked', 'done', 'wont_do')) DEFAULT 'open',
226
- priority INTEGER NOT NULL CHECK(priority BETWEEN 0 AND 4) DEFAULT 2,
227
- assignee TEXT,
228
- worktree_branch TEXT,
229
- labels TEXT,
230
- notes TEXT,
231
- parent_id TEXT,
232
- created_at TEXT NOT NULL,
233
- updated_at TEXT NOT NULL,
234
- due_date TEXT,
235
- closed_at TEXT,
236
- closed_reason TEXT,
237
- FOREIGN KEY (parent_id) REFERENCES tasks(id)
238
- );
239
-
240
- CREATE INDEX idx_tasks_status ON tasks(status);
241
- CREATE INDEX idx_tasks_type ON tasks(type);
242
- CREATE INDEX idx_tasks_priority ON tasks(priority);
243
- CREATE INDEX idx_tasks_assignee ON tasks(assignee);
244
- CREATE INDEX idx_tasks_parent ON tasks(parent_id);
245
- CREATE INDEX idx_tasks_due_date ON tasks(due_date);
246
- ```
247
-
248
- ### Table: task_dependencies
249
-
250
- ```sql
251
- CREATE TABLE task_dependencies (
252
- id INTEGER PRIMARY KEY AUTOINCREMENT,
253
- from_task TEXT NOT NULL,
254
- to_task TEXT NOT NULL,
255
- dep_type TEXT NOT NULL CHECK(dep_type IN ('blocks', 'related', 'discovered_from')),
256
- created_at TEXT NOT NULL,
257
- FOREIGN KEY (from_task) REFERENCES tasks(id),
258
- FOREIGN KEY (to_task) REFERENCES tasks(id),
259
- UNIQUE(from_task, to_task)
260
- );
261
-
262
- CREATE INDEX idx_deps_from ON task_dependencies(from_task);
263
- CREATE INDEX idx_deps_to ON task_dependencies(to_task);
264
- CREATE INDEX idx_deps_type ON task_dependencies(dep_type);
265
- ```
266
-
267
- ### Table: task_history
268
-
269
- ```sql
270
- CREATE TABLE task_history (
271
- id INTEGER PRIMARY KEY AUTOINCREMENT,
272
- task_id TEXT NOT NULL,
273
- field TEXT NOT NULL,
274
- old_value TEXT,
275
- new_value TEXT,
276
- changed_by TEXT,
277
- changed_at TEXT NOT NULL,
278
- FOREIGN KEY (task_id) REFERENCES tasks(id)
279
- );
280
-
281
- CREATE INDEX idx_history_task ON task_history(task_id);
282
- CREATE INDEX idx_history_time ON task_history(changed_at);
283
- ```
284
-
285
- ### Table: task_activity
286
-
287
- ```sql
288
- CREATE TABLE task_activity (
289
- id INTEGER PRIMARY KEY AUTOINCREMENT,
290
- task_id TEXT NOT NULL,
291
- agent_id TEXT NOT NULL,
292
- activity TEXT NOT NULL CHECK(activity IN ('claimed', 'released', 'commented', 'updated', 'created', 'closed')),
293
- details TEXT,
294
- timestamp TEXT NOT NULL,
295
- FOREIGN KEY (task_id) REFERENCES tasks(id)
296
- );
297
-
298
- CREATE INDEX idx_activity_task ON task_activity(task_id);
299
- CREATE INDEX idx_activity_agent ON task_activity(agent_id);
300
- ```
301
-
302
- ### Table: task_summaries
303
-
304
- ```sql
305
- CREATE TABLE task_summaries (
306
- id INTEGER PRIMARY KEY AUTOINCREMENT,
307
- original_ids TEXT NOT NULL,
308
- summary TEXT NOT NULL,
309
- labels TEXT,
310
- closed_period TEXT,
311
- created_at TEXT NOT NULL
312
- );
313
-
314
- CREATE INDEX idx_summaries_period ON task_summaries(closed_period);
315
- ```
316
-
317
- ## Database Configuration
318
-
319
- All databases use:
320
-
321
- - **Journal mode:** WAL (Write-Ahead Logging)
322
- - **Synchronous:** NORMAL
323
- - **Busy timeout:** 10,000ms
324
- - **Cache size:** -64000 pages (64MB)
325
-
326
- ## Migration Notes
327
-
328
- ### Memory Database Migrations
329
-
330
- - Added `importance` column to `memories` table
331
- - Widen CHECK constraint on `memories.type` to include 'lesson' and 'decision'
332
- - Added `description` column to `entities` table
333
- - Added `strength` column to `relationships` table
334
-
335
- ### Task Database Migrations
336
-
337
- - Added `due_date` column (v4.9.0)
338
- - Added `closed_at` and `closed_reason` columns (v9.4.0)
339
-
340
- ## See Also
341
-
342
- - [API Reference](./API_REFERENCE.md)
343
- - [Memory System Architecture](../../docs/architecture/SYSTEM_ANALYSIS.md)
344
- - [Multi-Agent Coordination](../../docs/reference/FEATURES.md#multi-agent-coordination)
1
+ # Database Schema Reference
2
+
3
+ > Universal Agent Protocol (UAP) v1.40.0
4
+
5
+ UAP persists state in a set of SQLite databases (via `better-sqlite3`, WAL mode)
6
+ plus a Qdrant vector store for semantic search. All schemas below are grounded
7
+ in source. Paths are resolved relative to the project working directory unless
8
+ noted otherwise.
9
+
10
+ ## SQLite databases
11
+
12
+ | DB file | Owning module | Purpose |
13
+ |---------|---------------|---------|
14
+ | `.uap/tasks/tasks.db` (+ `tasks.jsonl` mirror) | `src/tasks/database.ts` | Task tracking, dependency DAG, history. |
15
+ | `.uap/worktree_registry.db` (legacy `.uam/...`) | `src/cli/worktree.ts` | Worktree registry. |
16
+ | `agents/data/coordination/coordination.db` | `src/coordination/database.ts`, `adaptive-patterns.ts` | Multi-agent coordination + adaptive pattern outcomes. |
17
+ | `agents/data/memory/policies.db` | `src/policies/database-manager.ts` | Executable policy engine. |
18
+ | `agents/data/memory/short_term.db` | `src/memory/short-term/schema.ts` (+ daily-log, correction-propagator) | Short-term (L1/L2) memory, sessions, knowledge graph. |
19
+ | `agents/data/memory/model_analytics.db` | `src/models/analytics.ts` | Model task-outcome analytics. |
20
+ | `agents/data/memory/model_fingerprints.db` | `src/memory/model-router.ts` (package-relative path) | Model routing fingerprints. |
21
+ | `agents/data/memory/historical_context.db` | `src/memory/adaptive-context.ts` | Historical task outcomes + semantic cache. |
22
+ | `agents/data/memory/predictive.db` | `src/memory/predictive-memory.ts` | Predictive query learning. |
23
+ | `agents/data/memory/telemetry.db` | `src/dashboard/data-service.ts` | Dashboard telemetry time-series + session history. |
24
+ | `agents/data/memory/session.db` | `src/dashboard/data-service.ts` | Dashboard display view (sessions/agents/skills/...). |
25
+ | `agents/data/memory/session_snapshots.db` | read-only in `src/cli/dashboard.ts` | Session snapshots. |
26
+ | Hierarchical memory DB (caller-supplied path) | `src/memory/hierarchical-memory.ts` | Tiered hot/warm/cold memory. |
27
+
28
+ ## Tasks DB (`src/tasks/database.ts`)
29
+
30
+ | Table | Key columns |
31
+ |-------|-------------|
32
+ | `tasks` | `id` PK, `title`, `description`, `type` (task/bug/feature/epic/chore/story), `status` (open/in_progress/blocked/done/wont_do), `priority` (0-4), `assignee`, `worktree_branch`, `labels`, `parent_id` FK, timestamps, `closed_reason` |
33
+ | `task_dependencies` | `from_task` FK, `to_task` FK, `dep_type` (blocks/related/discovered_from), `UNIQUE(from_task,to_task)` |
34
+ | `task_history` | `task_id` FK, `field`, `old_value`, `new_value`, `changed_by`, `changed_at` |
35
+ | `task_activity` | `task_id` FK, `agent_id`, `activity` (claimed/released/commented/updated/created/closed), `timestamp` |
36
+ | `task_summaries` | `original_ids`, `summary`, `labels`, `closed_period`, `created_at` |
37
+
38
+ ## Worktree Registry DB (`src/cli/worktree.ts`)
39
+
40
+ | Table | Key columns |
41
+ |-------|-------------|
42
+ | `worktrees` | `id` PK, `slug` UNIQUE, `branch_name`, `worktree_path`, `created_at`, `status` (default `active`) |
43
+
44
+ ## Coordination DB (`src/coordination/database.ts`, `adaptive-patterns.ts`)
45
+
46
+ | Table | Key columns |
47
+ |-------|-------------|
48
+ | `agent_registry` | `id` PK, `name`, `session_id`, `status` (active/idle/completed/failed), `current_task`, `worktree_branch`, `last_heartbeat`, `capabilities` |
49
+ | `agent_messages` | `channel`, `from_agent`, `to_agent`, `type` (request/response/notification/claim/release), `payload`, `priority`, `expires_at` |
50
+ | `work_announcements` | `agent_id` FK, `worktree_branch`, `intent_type` (editing/reviewing/refactoring/testing/documenting), `resource`, `files_affected`, `announced_at`, `completed_at` |
51
+ | `work_claims` | `resource`, `agent_id` FK, `claim_type` (exclusive/shared), `claimed_at`, `expires_at` |
52
+ | `deploy_queue` | `agent_id`, `action_type` (commit/push/merge/deploy/workflow), `target`, `status` (pending/batched/executing/completed/failed), `batch_id`, `priority`, `dependencies` |
53
+ | `deploy_batches` | `id` PK, `status` (pending/executing/completed/failed), `result`, timestamps |
54
+ | `pattern_outcomes` | `pattern_id`, `task_category`, `uses`, `successes`, PK(`pattern_id`,`task_category`) |
55
+ | `agent_pattern_outcomes` | `agent_id`, `pattern_id`, `task_category`, `uses`, `successes`, composite PK |
56
+
57
+ ## Policies DB (`src/policies/database-manager.ts`)
58
+
59
+ | Table | Key columns |
60
+ |-------|-------------|
61
+ | `policies` | `id` PK, `name`, `category`, `level`, `rawMarkdown`, `convertedFormat`, `executableTools`, `tags`, `version`, `isActive`, `priority`, `enforcementStage` |
62
+ | `executable_tools` | `id` PK, `policyId` FK, `toolName`, `code`, `language` (default `python`) |
63
+ | `policy_executions` | `policyId` FK, `toolName`, `operation`, `args`, `result`, `allowed`, `reason`, `executedAt` |
64
+
65
+ ## Short-Term Memory DB (`src/memory/short-term/schema.ts`)
66
+
67
+ | Table | Key columns |
68
+ |-------|-------------|
69
+ | `memories` | `id` PK, `timestamp`, `type` (action/observation/thought/goal/lesson/decision), `content`, `project_id` (default `default`), `importance` (default 5) |
70
+ | `memories_fts` | FTS5 virtual table mirroring `memories` (synced by triggers) |
71
+ | `session_memories` | `session_id`, `timestamp`, `type`, `content`, `importance` |
72
+ | `session_memories_fts` | FTS5 virtual table mirroring `session_memories` |
73
+ | `entities` | `type`, `name`, `description`, `mention_count`, `UNIQUE(type,name)` |
74
+ | `relationships` | `source_id` FK, `target_id` FK, `relation`, `strength`, `UNIQUE(source_id,target_id,relation)` |
75
+ | `daily_log` | `date`, `content`, `type`, `promoted`, `promoted_to`, `gate_score` (created by `daily-log.ts`) |
76
+ | `superseded_entries` | `tier`, `original_entry_id`, `original_content`, `corrected_content`, `reason` (created by `correction-propagator.ts`) |
77
+
78
+ ## Other memory / analytics DBs
79
+
80
+ | DB / table | Key columns |
81
+ |------------|-------------|
82
+ | `hierarchical_memory` (`hierarchical-memory.ts`) | `id` PK, `tier` (hot/warm/cold), `content`, `compressed`, `type`, `importance`, `access_count`, `embedding` BLOB |
83
+ | `task_outcomes` (`analytics.ts`) | `modelId`, `taskType`, `complexity`, `success`, `durationMs`, `tokensIn`, `tokensOut`, `cost`, `taskId` |
84
+ | `fingerprint_updates` (`model-router.ts`) | `model_id` PK, `avg_latency_ms`, `success_rate`, `updated_at` |
85
+ | `category_stats` (`model-router.ts`) | `model_id`, `category`, `attempts`, `successes`, PK(`model_id`,`category`) |
86
+ | `historical_data` (`adaptive-context.ts`) | `task_type` PK, `total_attempts`, `uam_successes`, `no_uam_successes`, avg times |
87
+ | `semantic_cache` (`adaptive-context.ts`) | `cache_key` PK, `instruction_hash`, `decision_json`, `success_rate`, `use_count` |
88
+ | `predictive_queries` / `predictive_history` (`predictive-memory.ts`) | `keyword` PK / `description`, `queries` |
89
+ | `time_series` / `session_history` (`data-service.ts`) | telemetry JSON / per-session tokens, cost, tool_calls, policy_checks, policy_blocks |
90
+
91
+ ## Qdrant collections
92
+
93
+ Qdrant runs as a local Docker container (`qdrant/qdrant:latest`, container
94
+ `uap-qdrant`, port 6333) or against a cloud endpoint (`QDRANT_URL` /
95
+ `QDRANT_API_KEY`). Client is `@qdrant/js-client-rest`, lazy-loaded.
96
+
97
+ | Collection | Purpose | Embedding model | Vector dim / distance |
98
+ |------------|---------|-----------------|-----------------------|
99
+ | `agent_memory` | Long-term semantic memory (L3) | `all-MiniLM-L6-v2` (config) / nomic-embed-text (runtime) | 384 (compliance/MiniLM path) or 768 (cloud/nomic); Cosine |
100
+ | `agent_patterns` | Pattern RAG retrieval | `all-MiniLM-L6-v2` | 384; Cosine |
101
+
102
+ > **Dimension nuance (load-bearing).** The pattern indexer
103
+ > (`agents/scripts/index_patterns_to_qdrant.py`) and the compliance auto-fix
104
+ > (`src/cli/compliance.ts`) create collections at 384 dims. The TypeScript
105
+ > Qdrant Cloud backend (`src/memory/backends/qdrant-cloud.ts`) defaults
106
+ > `vectorSize` to 768 and, on dimension mismatch, creates a suffixed collection
107
+ > `${collection}_v${vectorSize}`. Collection names are configurable
108
+ > (`memory.longTerm.collection`, `memory.patternRag.collection`) and may be
109
+ > suffixed with a project id by `sanitizeCollectionName`. Distance is always
110
+ > Cosine.