Repository navigation
Record a group's overall task and per-Bot subtasks - #1100
Conversation
The board only showed a flat list, and a classic room with no participants array hid every group task. track_tasks now keeps one overall task plus linked subtasks, continues the highest-priority unfinished task, and asks when a task is waiting on an answer. Fixes #1099 Co-authored-by: Danyang Chen <birfychen@gmail.com>
|
Verdict: PASS at eb43292 Ran:
Not run:
Findings: #1099 is met at this tip. A group has one open overall task (kind group) recorded by the room admin or a Main Bot in the group, plus subtasks with parentId. A member cannot record the overall task or assign a subtask. The requester of an assigned subtask stays that Bot's owner, and the classic-room test shows the other owner cannot move the card (task-update returns bot/forbidden). track_tasks with no tasks names the next unfinished task by priority, then in-progress. ask and answer use the existing input wait (waitingFor input), the group board nests same-column children under the overall task and labels a child in another column, and a room with no participants array is listed through deriveParticipants. liveParticipants follows currentParticipants when participants is an array, including an empty array. When the field is absent, the derived human role is member, so a group read still requires owning room.admin. Remote participants are excluded from assignee. A face-to-face room rejects overall, parent, and assignee. docs/subsystems/core-host.md and docs/subsystems/core-client.md describe the new behavior. The changelog fragment is present. client.js and patches/ds-bot/ matched the generate check inside verify. Residual, not a merge block: in one track_tasks call, a subtask whose parent is the overall title returns "No overall task …" until that overall item has already been recorded earlier in the same list. The tested call records the overall task first. A later assign of an existing child by the planning Bot is left unchanged, so the assignee's owner keeps the card. Security fence / display names: Correction from Reviewer: any earlier cursor[bot] report at this tip is not a conclusion. This Birfy-posted report is the Verifier conclusion for the tip. This comment is not merge authority. It does not enqueue the pull request. |
Written-by: Dev
Owner: Dev
Reviewer: Reviewer
Fixes #1099
What changed
A group now has one overall task and a subtask per Bot. The Tasks board nests those subtasks under the overall task in group scope.
track_tasksrecords that plan, names the highest-priority unfinished task to continue, and marks a task waiting when the Bot passes a question. A room that never grewparticipantsstill lists its members' tasks.Before: each Bot had a flat list, a group view was a lane of cards, and a classic room returned no tasks. After: the admin records one overall task and linked subtasks, the board shows that hierarchy, and a blocked question is stored on the task the inbox already shows.
Verification at the tip
Tip SHA:
eb4329295911df0b50fa48679dbd3b13e21c146fRan:
e109361(before the fix):node --import ./test/harness-resolve.mjs --test test/bot-tasks.test.js test/prompt.test.js test/kanban.test.js— 4 failed. The tool schema rejectedoverall/parent/assignee,columnTreewas missing, and the prompt had nooverall: true.node .github/scripts/changelog.mjs check— 26 fragments well formed.TZ=UTC npm run verify— pass (core lint, plugin lint,build-client.mjs --check,ds-bot-patches.mjs check, core tests, social / tree / timeline tests,.github/scriptstests, interop lint and tests, live-e2e lint and tests).Not run: the smoke bench (
core/dev/bench.sh). This environment has no../deepseek-harnesscheckout. The change is task records, the Tasks dialog, and prompt text; turn routing is unchanged.