Merge branch 'refs/heads/main' into cw/agent-details-conflict-1772799979862
# Conflicts: # apps/server/drizzle/meta/_journal.json
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
## Architecture
|
||||
|
||||
- **Schema**: `apps/server/db/schema.ts` — all tables, columns, relations
|
||||
- **Ports** (interfaces): `apps/server/db/repositories/*.ts` — 13 repository interfaces
|
||||
- **Adapters** (implementations): `apps/server/db/repositories/drizzle/*.ts` — 13 Drizzle adapters
|
||||
- **Ports** (interfaces): `apps/server/db/repositories/*.ts` — 14 repository interfaces
|
||||
- **Adapters** (implementations): `apps/server/db/repositories/drizzle/*.ts` — 14 Drizzle adapters
|
||||
- **Barrel exports**: `apps/server/db/index.ts` re-exports everything
|
||||
|
||||
All adapters use nanoid() for IDs, auto-manage timestamps, and use Drizzle's `.returning()` for atomic reads after writes.
|
||||
@@ -29,7 +29,8 @@ All adapters use nanoid() for IDs, auto-manage timestamps, and use Drizzle's `.r
|
||||
| initiativeId | text FK → initiatives (cascade) | |
|
||||
| name | text NOT NULL | |
|
||||
| content | text nullable | Tiptap JSON |
|
||||
| status | text enum | 'pending' \| 'approved' \| 'in_progress' \| 'completed' \| 'blocked' |
|
||||
| status | text enum | 'pending' \| 'approved' \| 'in_progress' \| 'completed' \| 'blocked' \| 'pending_review' |
|
||||
| mergeBase | text nullable | git merge-base hash stored before phase merge, enables diff reconstruction for completed phases |
|
||||
| createdAt, updatedAt | integer/timestamp | |
|
||||
|
||||
### phase_dependencies
|
||||
@@ -44,12 +45,13 @@ All adapters use nanoid() for IDs, auto-manage timestamps, and use Drizzle's `.r
|
||||
| parentTaskId | text nullable self-ref FK (cascade) | decomposition hierarchy |
|
||||
| name | text NOT NULL | |
|
||||
| description | text nullable | |
|
||||
| type | text enum | 'auto' \| 'checkpoint:human-verify' \| 'checkpoint:decision' \| 'checkpoint:human-action' |
|
||||
| type | text enum | 'auto' |
|
||||
| category | text enum | 'execute' \| 'research' \| 'discuss' \| 'plan' \| 'detail' \| 'refine' \| 'verify' \| 'merge' \| 'review' |
|
||||
| priority | text enum | 'low' \| 'medium' \| 'high' |
|
||||
| status | text enum | 'pending' \| 'in_progress' \| 'completed' \| 'blocked' |
|
||||
| order | integer | default 0 |
|
||||
| summary | text nullable | Agent result summary — propagated to dependent tasks as context |
|
||||
| retryCount | integer NOT NULL | default 0, incremented on agent crash auto-retry, reset on manual retry |
|
||||
| createdAt, updatedAt | integer/timestamp | |
|
||||
|
||||
### task_dependencies
|
||||
@@ -195,6 +197,21 @@ Messages within a chat session.
|
||||
|
||||
Index: `(chatSessionId)`.
|
||||
|
||||
### errands
|
||||
|
||||
Tracks errand work items linked to a project branch, optionally assigned to an agent.
|
||||
|
||||
| Column | Type | Notes |
|
||||
|--------|------|-------|
|
||||
| id | text PK | caller-supplied |
|
||||
| description | text NOT NULL | human-readable description |
|
||||
| branch | text NOT NULL | working branch name |
|
||||
| baseBranch | text NOT NULL | default 'main' |
|
||||
| agentId | text FK → agents (set null) | assigned agent; null if unassigned |
|
||||
| projectId | text FK → projects (cascade) | owning project |
|
||||
| status | text enum | active, pending_review, conflict, merged, abandoned; default 'active' |
|
||||
| createdAt, updatedAt | integer/timestamp | |
|
||||
|
||||
### review_comments
|
||||
|
||||
Inline review comments on phase diffs, persisted across page reloads.
|
||||
@@ -215,7 +232,7 @@ Index: `(phaseId)`.
|
||||
|
||||
## Repository Interfaces
|
||||
|
||||
13 repositories, each with standard CRUD plus domain-specific methods:
|
||||
14 repositories, each with standard CRUD plus domain-specific methods:
|
||||
|
||||
| Repository | Key Methods |
|
||||
|-----------|-------------|
|
||||
@@ -232,6 +249,7 @@ Index: `(phaseId)`.
|
||||
| ConversationRepository | create, findById, findPendingForAgent, answer |
|
||||
| ChatSessionRepository | createSession, findActiveSession, findActiveSessionByAgentId, updateSession, createMessage, findMessagesBySessionId |
|
||||
| ReviewCommentRepository | create, findByPhaseId, resolve, unresolve, delete |
|
||||
| ErrandRepository | create, findById, findAll (filter by projectId/status), update, delete |
|
||||
|
||||
## Migrations
|
||||
|
||||
@@ -243,4 +261,4 @@ Key rules:
|
||||
- See [database-migrations.md](database-migrations.md) for full workflow
|
||||
- Snapshots stale after 0008; migrations 0008+ are hand-written
|
||||
|
||||
Current migrations: 0000 through 0030 (31 total).
|
||||
Current migrations: 0000 through 0035 (36 total).
|
||||
|
||||
Reference in New Issue
Block a user