2.6 KiB
2.6 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 03-frontend-confirm | Confirm frontend renders the Cursor subagent metadata | done | 3 |
|
plan.md | ../../specs/agents/requirements/cursor-subagent-metadata.md |
Task 03: Confirm frontend renders the Cursor subagent metadata
Verify no frontend change is needed, or make the minimal one if a gap is found.
The SubagentTaskPayload TS type and the card/chip components already carry and
render model, is_async (background chip), and prompt (body fallback).
Acceptance
- With a populated Cursor
SubagentTaskPayload, the subagent card shows the model chip, the background chip (whenis_async), and the prompt in the expandable body (when noresult_textand no children). - If any expected field is present in the payload but not rendered, a minimal targeted change is made and covered by a unit test; otherwise this task is a confirmation with no code change.
Verification
cd apps && pnpm install --frozen-lockfile && pnpm --filter @kandev/web test -- components/task/chat/messages/subagent-meta.test.ts
(and cd apps/web && pnpm run typecheck if any .ts/.tsx file changed)
Files likely touched
- (confirm only, likely none)
apps/web/components/task/chat/types.ts,apps/web/components/task/chat/messages/subagent-meta.ts,apps/web/components/task/chat/messages/tool-subagent-message.tsx. apps/web/components/task/chat/messages/subagent-meta.test.ts— only if a change is made.
Dependencies
Task 02 (the payload must actually be populated to verify).
Parallelism
parallel-safe with Task 04 (disjoint: frontend unit vs manual live run).
Inputs
- Spec: "What", "Scenarios".
- Plan: "Frontend".
- Code refs:
subagent-meta.ts:56,85;tool-subagent-message.tsx;types.tsSubagentTaskPayload.
Output contract
Summary (change vs confirm-only), files changed, tests run, blockers, risks;
update this task's status and plan.md Wave 3 checkbox.
Results
- Confirmed
apps/web/components/task/chat/types.tsalready includes the populated fields (prompt,model,agent_id,is_async). - Confirmed
apps/web/components/task/chat/messages/subagent-meta.tsalready renders the model chip and background chip, andapps/web/components/task/chat/messages/tool-subagent-message.tsxalready renders the prompt fallback body. - No frontend code change was required.
cd apps && pnpm install --frozen-lockfilepassed.cd apps && pnpm --filter @kandev/web exec vitest run components/task/chat/messages/subagent-meta.test.ts components/task/chat/messages/tool-subagent-message.test.tsxpassed 41 tests across 2 files.