@miller-tech/uap 1.40.0 → 1.41.0

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 (150) hide show
  1. package/README.md +109 -642
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli/deliver-defaults.d.ts +23 -0
  4. package/dist/cli/deliver-defaults.d.ts.map +1 -0
  5. package/dist/cli/deliver-defaults.js +121 -0
  6. package/dist/cli/deliver-defaults.js.map +1 -0
  7. package/dist/cli/init.d.ts.map +1 -1
  8. package/dist/cli/init.js +29 -0
  9. package/dist/cli/init.js.map +1 -1
  10. package/dist/cli/setup.d.ts.map +1 -1
  11. package/dist/cli/setup.js +19 -0
  12. package/dist/cli/setup.js.map +1 -1
  13. package/dist/policies/policy-tools.d.ts +7 -0
  14. package/dist/policies/policy-tools.d.ts.map +1 -1
  15. package/dist/policies/policy-tools.js +24 -2
  16. package/dist/policies/policy-tools.js.map +1 -1
  17. package/docs/INDEX.md +48 -286
  18. package/docs/architecture/OVERVIEW.md +328 -0
  19. package/docs/architecture/PROTOCOL.md +204 -0
  20. package/docs/benchmarks/README.md +17 -192
  21. package/docs/getting-started/CONFIGURATION.md +237 -0
  22. package/docs/getting-started/INSTALLATION.md +125 -0
  23. package/docs/getting-started/QUICKSTART.md +115 -0
  24. package/docs/guides/COORDINATION.md +162 -0
  25. package/docs/guides/DELIVER.md +115 -0
  26. package/docs/guides/DEPLOY_BATCHING.md +212 -0
  27. package/docs/guides/DROIDS_AND_SKILLS.md +202 -0
  28. package/docs/guides/LOCAL_MODELS.md +148 -0
  29. package/docs/guides/MCP_ROUTER.md +195 -0
  30. package/docs/guides/MEMORY.md +235 -0
  31. package/docs/guides/MULTI_MODEL.md +223 -0
  32. package/docs/guides/POLICIES.md +190 -0
  33. package/docs/guides/WORKTREE_WORKFLOW.md +185 -0
  34. package/docs/integrations/MCP_ROUTER.md +147 -0
  35. package/docs/integrations/RTK.md +102 -0
  36. package/docs/reference/API.md +485 -0
  37. package/docs/reference/CLI.md +719 -0
  38. package/docs/reference/CONFIGURATION.md +90 -193
  39. package/docs/reference/DATABASE_SCHEMA.md +110 -344
  40. package/docs/reference/FEATURES.md +176 -472
  41. package/docs/reference/PATTERNS.md +102 -0
  42. package/docs/reference/PLATFORMS.md +83 -0
  43. package/package.json +3 -1
  44. package/src/policies/enforcers/7ebbc721-7540-4e9f-879a-770e0213a09b_architecture_review.py +101 -0
  45. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  46. package/src/policies/enforcers/_common.py +100 -0
  47. package/src/policies/enforcers/artifact_hygiene.py +52 -0
  48. package/src/policies/enforcers/cluster_routing.py +63 -0
  49. package/src/policies/enforcers/codebase_read_before_plan.py +52 -0
  50. package/src/policies/enforcers/coord_overlap.py +81 -0
  51. package/src/policies/enforcers/delivery_enforcement.py +97 -0
  52. package/src/policies/enforcers/doc_live_over_report.py +50 -0
  53. package/src/policies/enforcers/expert_review_required.py +135 -0
  54. package/src/policies/enforcers/iac_parity.py +53 -0
  55. package/src/policies/enforcers/mcp_router_first.py +37 -0
  56. package/src/policies/enforcers/memory_before_plan.py +61 -0
  57. package/src/policies/enforcers/parallel_reads.py +50 -0
  58. package/src/policies/enforcers/rtk_wrap.py +44 -0
  59. package/src/policies/enforcers/schema_diff_gate.py +80 -0
  60. package/src/policies/enforcers/session_memory_write.py +52 -0
  61. package/src/policies/enforcers/task_required.py +131 -0
  62. package/src/policies/enforcers/test_gate.py +58 -0
  63. package/src/policies/enforcers/validate_plan_before_build.py +75 -0
  64. package/src/policies/enforcers/worktree_required.py +57 -0
  65. package/src/policies/schemas/policies/architecture-review.md +51 -0
  66. package/src/policies/schemas/policies/artifact-hygiene.md +29 -0
  67. package/src/policies/schemas/policies/cluster-routing.md +31 -0
  68. package/src/policies/schemas/policies/codebase-read-before-plan.md +30 -0
  69. package/src/policies/schemas/policies/coord-overlap.md +24 -0
  70. package/src/policies/schemas/policies/delivery-enforcement.md +45 -0
  71. package/src/policies/schemas/policies/doc-live-over-report.md +32 -0
  72. package/src/policies/schemas/policies/expert-review-required.md +60 -0
  73. package/src/policies/schemas/policies/iac-parity.md +31 -0
  74. package/src/policies/schemas/policies/mandatory-testing-deployment.md +147 -0
  75. package/src/policies/schemas/policies/mcp-router-first.md +24 -0
  76. package/src/policies/schemas/policies/memory-before-plan.md +24 -0
  77. package/src/policies/schemas/policies/merge-deploy-monitor-verify.md +145 -0
  78. package/src/policies/schemas/policies/parallel-reads.md +24 -0
  79. package/src/policies/schemas/policies/rtk-wrap.md +26 -0
  80. package/src/policies/schemas/policies/schema-diff-gate.md +30 -0
  81. package/src/policies/schemas/policies/session-memory-write.md +24 -0
  82. package/src/policies/schemas/policies/task-required.md +49 -0
  83. package/src/policies/schemas/policies/test-gate.md +24 -0
  84. package/src/policies/schemas/policies/validate-plan-before-build.md +28 -0
  85. package/src/policies/schemas/policies/worktree-required.md +28 -0
  86. package/templates/hooks/uap-policy-gate.sh +5 -0
  87. package/docs/AGENTS.md +0 -423
  88. package/docs/DOCUMENTATION_AUDIT_REPORT.md +0 -131
  89. package/docs/GETTING_STARTED.md +0 -288
  90. package/docs/PROJECT_ANALYSIS_REPORT.md +0 -510
  91. package/docs/architecture/COMPLETE_ARCHITECTURE.md +0 -748
  92. package/docs/architecture/EXPERT_STACK.md +0 -137
  93. package/docs/architecture/MULTI_MODEL.md +0 -224
  94. package/docs/architecture/PLATFORM_GATING.md +0 -68
  95. package/docs/architecture/SYSTEM_ANALYSIS.md +0 -334
  96. package/docs/architecture/UAP_COMPLIANCE.md +0 -217
  97. package/docs/architecture/UAP_PROTOCOL.md +0 -339
  98. package/docs/architecture/UAP_STRICT_DROIDS.md +0 -172
  99. package/docs/archive/BALLS_MODE_SELF_ANALYSIS.md +0 -260
  100. package/docs/archive/BENCHMARK_GAPS_AND_PLAN.md +0 -146
  101. package/docs/archive/FAILING_TASKS_SOLUTION_PLAN.md +0 -668
  102. package/docs/archive/JINJA2-SYSTEM-MESSAGE-FIX.md +0 -209
  103. package/docs/archive/MODEL_ROUTING_IMPLEMENTATION_SUMMARY.md +0 -281
  104. package/docs/archive/MODEL_ROUTING_OPTIMIZATION_PLAN.md +0 -320
  105. package/docs/archive/NPM-PUBLISH-V0.9.1.md +0 -240
  106. package/docs/archive/OPTIMIZATION_OPTIONS.md +0 -334
  107. package/docs/archive/PARALLELISM_GAPS_AND_OPTIONS.md +0 -422
  108. package/docs/archive/POLICY_GATE_IMPLEMENTATION.md +0 -245
  109. package/docs/archive/SETUP_IMPROVEMENTS.md +0 -213
  110. package/docs/archive/UAP_GENERIC_OPTIMIZATION_PLAN.md +0 -270
  111. package/docs/archive/UAP_OPTIMIZATION_PLAN.md +0 -701
  112. package/docs/archive/UAP_V103_PATTERN_DESIGN.md +0 -315
  113. package/docs/archive/UAP_V104_COMPLIANCE_DESIGN.md +0 -223
  114. package/docs/archive/changelog/2026-03-10_uap-100-compliance.md +0 -77
  115. package/docs/archive/changelog/2026-03-10_uap-full-system-verification.md +0 -109
  116. package/docs/archive/opencode-integration-guide.md +0 -740
  117. package/docs/archive/opencode-integration-quickref.md +0 -180
  118. package/docs/benchmarks/OVERNIGHT_RUNNER.md +0 -341
  119. package/docs/benchmarks/SPECULATIVE_DECODING_JOURNEY_2026-03.md +0 -221
  120. package/docs/benchmarks/VALIDATION_PLAN.md +0 -568
  121. package/docs/blog/SPECULATIVE_DECODING_PRODUCTION_PLAYBOOK.md +0 -139
  122. package/docs/blog/local-coding-agents.md +0 -266
  123. package/docs/blog/x-thread.md +0 -254
  124. package/docs/deployment/DEPLOYMENT.md +0 -895
  125. package/docs/deployment/DEPLOYMENT_STRATEGIES.md +0 -518
  126. package/docs/deployment/DEPLOY_BATCHER_ANALYSIS.md +0 -224
  127. package/docs/deployment/DEPLOY_BATCHING.md +0 -273
  128. package/docs/deployment/DEPLOY_BUCKETING_ANALYSIS.md +0 -420
  129. package/docs/deployment/QWEN35_LLAMA_CPP.md +0 -426
  130. package/docs/deployment/UAP_LLAMA_ANTHROPIC_PROXY_BOOTSTRAP.md +0 -279
  131. package/docs/getting-started/INTEGRATION.md +0 -628
  132. package/docs/getting-started/OVERVIEW.md +0 -324
  133. package/docs/getting-started/SETUP.md +0 -377
  134. package/docs/integrations/MCP_ROUTER_SETUP.md +0 -445
  135. package/docs/integrations/RTK_INTEGRATION.md +0 -468
  136. package/docs/operations/TROUBLESHOOTING.md +0 -660
  137. package/docs/pr/PR_SPECULATIVE_DOCS_TEMPLATE.md +0 -146
  138. package/docs/pr/UPSTREAM_PRS.md +0 -424
  139. package/docs/reference/API_REFERENCE.md +0 -903
  140. package/docs/reference/EXPERT_DROIDS.md +0 -219
  141. package/docs/reference/HARNESS-MATRIX.md +0 -318
  142. package/docs/reference/PATTERN_LIBRARY.md +0 -636
  143. package/docs/reference/UAP_CLI_REFERENCE.md +0 -620
  144. package/docs/research/BEHAVIORAL_PATTERNS.md +0 -228
  145. package/docs/research/DOMAIN_STRATEGIES.md +0 -316
  146. package/docs/research/MEMORY_SYSTEMS_COMPARISON.md +0 -812
  147. package/docs/research/PATTERN_ANALYSIS_2026-01-18.md +0 -436
  148. package/docs/research/PERFORMANCE_ANALYSIS_2026-01-18.md +0 -209
  149. package/docs/research/PERFORMANCE_TEST_PLAN.md +0 -383
  150. 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.