mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
The agents' runtime KB had drifted three releases behind the gateway. Add the two missing role docs (prompter, secretary — both live-session SDK chat roles, human-only) and fold the AC/decomposition guardrails and per-dev code queues into the high-traffic PM docs: - task-model: acceptance_criteria_ids + parent_ac_refs fields and how the child->parent AC link works. - task-planning: covers_parent_criteria on delegate, the parent_ac_coverage / unclaimed_parent_acs briefing fields, the decomposition-floor and roll-up gates (safe-by-construction), and per-dev sequenced code queues. - task-tools: same coverage note + correct stale verbs — QA is pass_review/fail_review (not pass/fail), cell_pm gains reassign, and main_pm no longer claims submit_up/reassign it does not have.
88 lines
2.6 KiB
Markdown
88 lines
2.6 KiB
Markdown
# Task Model
|
|
|
|
## Core Fields
|
|
|
|
| Field | Type | Description |
|
|
|-------|------|-------------|
|
|
| `id` | UUID | Primary key |
|
|
| `title` | String | Task title |
|
|
| `description` | Text | Detailed description |
|
|
| `acceptance_criteria` | Array | How we know it's done |
|
|
| `acceptance_criteria_ids` | Array | Stable per-criterion id (1:1 with `acceptance_criteria`) |
|
|
| `parent_ac_refs` | Array | Parent AC ids this subtask is responsible for |
|
|
| `status` | Enum | Lifecycle state |
|
|
| `priority` | Int | 0=P0 (highest) to 3=P3 |
|
|
| `team` | Enum | backend, frontend, ux_ui |
|
|
|
|
## Acceptance-Criteria Tracking
|
|
|
|
Every task's `acceptance_criteria` get a parallel list of stable
|
|
`acceptance_criteria_ids` — one id per criterion, generated automatically when a
|
|
task is created. The ids are stable across edits, so other tasks can reference a
|
|
specific criterion.
|
|
|
|
When a parent task is decomposed, each subtask declares which parent criteria it
|
|
covers in `parent_ac_refs` (set from the `covers_parent_criteria` argument to
|
|
`delegate`). That child→parent link is what lets the org guarantee a
|
|
decomposition actually covers the parent's full intent. See
|
|
`docs/rag/workflows/task-planning.md` for the coverage gates and the PM's
|
|
coverage briefing.
|
|
|
|
## Task Types
|
|
|
|
| Type | Description |
|
|
|------|-------------|
|
|
| `code` | Development work |
|
|
| `documentation` | Writing docs |
|
|
| `research` | Investigation |
|
|
| `planning` | Task breakdown |
|
|
| `design` | UX/UI design |
|
|
| `administrative` | Admin work |
|
|
|
|
## Git Fields
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `project_id` | Associated project (required) |
|
|
| `branch_name` | Git branch for task |
|
|
| `work_session_id` | Active work session |
|
|
| `pr_number` | PR number |
|
|
| `pr_url` | Full PR URL |
|
|
| `docs_complete` | Documenter finished |
|
|
| `pr_created` | Developer created PR |
|
|
| `commits` | Linked commits |
|
|
|
|
## Assignment Fields
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `created_by` | Agent who created |
|
|
| `assigned_to` | Currently assigned |
|
|
| `parent_task_id` | Parent for subtasks |
|
|
| `dependency_ids` | Blocking tasks |
|
|
|
|
## Context Fields
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `plan` | Implementation plan |
|
|
| `quick_context` | 2-3 sentence summary |
|
|
| `proactive_context` | RAG context at claim |
|
|
| `dev_notes` | Developer notes |
|
|
| `qa_notes` | QA feedback |
|
|
|
|
## Timestamps
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `claimed_at` | When claimed |
|
|
| `started_at` | When started |
|
|
| `completed_at` | When completed |
|
|
| `target_date` | Target date |
|
|
|
|
## Indexes
|
|
|
|
- `ix_tasks_team_status` - Team + Status queries
|
|
- `ix_tasks_assigned_status` - Assignee + Status
|
|
- `ix_tasks_project_status` - Project + Status
|