Skip to content

[Bug]:Title: Feature request: allow optional display metadata in todo_write tasks #1696

@KKJava1

Description

@KKJava1

Background

In AgentScope 2.x, todo_write is useful for maintaining a lightweight task list during agent execution. However, compared with the previous PlanNotebook-
style planning flow, the current todo item shape appears to mainly support fields like:

  • content
  • status
  • priority

This works for simple checklists, but it is not enough for UI-facing dynamic plans.

Problem

For user-generated dynamic plans, the agent may need to show a structured execution plan in the frontend.

Example user request:

Query Anhui market notices, query Nanjing market notices, then compare and summarize their impact.

A useful UI plan may look like:

  1. Query Anhui market notices
    • Retrieve current Anhui market notice list and identify relevant notices.
  2. Query Nanjing market notices
    • Retrieve current Nanjing/Jiangsu market notice list and identify relevant notices.
  3. Compare notice differences
    • Compare policy scope, effective date, and trading impact.
  4. Summarize impact
    • Produce a user-facing conclusion.

Currently, if todo_write only supports content/status/priority, the frontend can only display the task title and state. The richer task description,
expected outcome, or final outcome cannot be represented in a stable way.

Using priority as a display subtitle is incorrect, and hard-coding subtitles in the application is not viable because plans are dynamically generated from
arbitrary user requests.

Requested capability

Please consider allowing optional metadata fields on each todo item, such as:

{
  "content": "Query Anhui market notices",
  "status": "in_progress",
  "priority": "high",
  "description": "Retrieve current Anhui market notice list and identify relevant notices.",
  "expectedOutcome": "A concise list of relevant Anhui notices.",
  "outcome": ""
}

Suggested optional fields:

- description: short UI-facing explanation of this step
- expectedOutcome: what this step is expected to produce
- outcome: what this step actually produced after completion
- metadata: arbitrary application-specific structured data

These fields should be optional and should not affect task execution semantics. Existing content/status/priority behavior can remain unchanged.

## Why this matters

This would make todo_write usable both as:

1. A lightweight internal task tracker
2. A frontend-facing live execution plan

It would also provide a smoother migration path from PlanNotebook-like workflows to AgentScope 2.x task lists.

## Compatibility

This can be backward-compatible if extra fields are optional and preserved in AgentState.tasksContext and event/tool result serialization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/core/toolTool, skill, RAG abstractionsbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions