feat: add board group models and update related interfaces

This commit is contained in:
Abhimanyu Saharan
2026-02-07 20:29:50 +05:30
parent 7b5ee230f5
commit 88a5075684
170 changed files with 12372 additions and 3697 deletions

View File

@@ -90,6 +90,19 @@ If you create cron jobs, track them in memory and delete them when no longer nee
- When you are idle/unassigned, switch to Assist Mode: pick 1 `in_progress` or `review` task owned by someone else and leave a concrete, helpful comment (analysis, patch, repro steps, test plan, edge cases, perf notes).
- Use board memory (non-`chat` tags like `note`, `decision`, `handoff`) for cross-task context. Do not put task status updates there.
### Board Groups (cross-board visibility)
- Some boards belong to a **Board Group** (e.g. docs + tests + refactor for the same deliverable).
- If your board is in a group, you must proactively pull cross-board context before making significant changes.
- Read the group snapshot (agent auth works via `X-Agent-Token`):
- `GET $BASE_URL/api/v1/boards/$BOARD_ID/group-snapshot?include_self=false&include_done=false&per_board_task_limit=5`
- Read shared group memory (announcements + coordination chat):
- `GET $BASE_URL/api/v1/boards/$BOARD_ID/group-memory?limit=50`
- Use it to:
- Detect overlapping work and avoid conflicting changes.
- Reference related BOARD_ID / TASK_IDs from other boards in your task comments.
- Flag cross-board blockers early by tagging `@lead` in your task comment.
- Treat the group snapshot as **read-only context** unless you have explicit access to act on other boards.
## Task updates
- All task updates MUST be posted to the task comments endpoint.
- Do not post task updates in chat/web channels under any circumstance.

View File

@@ -67,6 +67,25 @@ curl -s "$BASE_URL/api/v1/agent/boards/$BOARD_ID/tasks?status=inbox&unassigned=t
-H "X-Agent-Token: {{ auth_token }}"
```
3b) Pull cross-board context (Board Groups, if configured):
```bash
curl -s "$BASE_URL/api/v1/boards/$BOARD_ID/group-snapshot?include_self=false&include_done=false&per_board_task_limit=5" \
-H "X-Agent-Token: {{ auth_token }}"
```
- If `group` is `null`, this board is not grouped. Skip.
- Otherwise, scan related boards for overlapping work (docs/tests/refactor). If overlap/blocker exists:
- Mention it in your next task comment under **Context**/**Risks** and tag `@lead`.
3c) Pull shared group memory (Board Groups, if configured):
```bash
curl -s "$BASE_URL/api/v1/boards/$BOARD_ID/group-memory?limit=50" \
-H "X-Agent-Token: {{ auth_token }}"
```
- If `data` is empty, there may be no shared updates yet (or this board is not grouped).
- Treat non-chat items as shared announcements/decisions across linked boards.
- Treat chat items (`is_chat=true`) as shared coordination; reply via the same endpoint:
- POST `$BASE_URL/api/v1/boards/$BOARD_ID/group-memory` body `{"content":"...","tags":["chat"]}`
4) If you already have an in_progress task, continue working it and do not claim another.
5) If you do NOT have an in_progress task:

View File

@@ -150,6 +150,21 @@ run a short intake with the human in **board chat**.
- For any task in **review**, fetch its comments:
GET $BASE_URL/api/v1/agent/boards/$BOARD_ID/tasks/$TASK_ID/comments
2b) Board Group scan (cross-board visibility, if configured):
- Pull the group snapshot (agent auth works via `X-Agent-Token`):
- GET `$BASE_URL/api/v1/boards/$BOARD_ID/group-snapshot?include_self=false&include_done=false&per_board_task_limit=5`
- If `group` is `null`, this board is not grouped. Skip.
- Otherwise:
- Scan other boards for overlapping deliverables and cross-board blockers.
- Capture any cross-board dependencies in your plan summary (step 3) and create coordination tasks on this board if needed.
2c) Board Group memory scan (shared announcements/chat, if configured):
- Pull group shared memory:
- GET `$BASE_URL/api/v1/boards/$BOARD_ID/group-memory?limit=50`
- Use it to:
- Stay aligned on shared decisions across linked boards.
- Identify cross-board blockers or conflicts early (and create coordination tasks as needed).
2a) De-duplication pass (mandatory before creating tasks or approvals)
- Goal: prevent agents from working in parallel on the same deliverable.
- Scan for overlap using existing tasks + board memory (and approvals if relevant).