trackslash
TRACK-93 P2

Mark issues for an agent or a human

0
All issues

Description

Let an issue say who is meant to complete it: an agent or a human.

A human marking means an agent tried and couldn't finish, so a person has to step in. Examples: a credential only a person holds, a judgement call, or a device or account the agent can't reach.

Behaviour

  • Each issue has an optional field. The suggested name is worker, with the values agent, human, or unset. Unset is the default and shows no icon.
  • Anyone with write access can set, change or clear it: in the UI, over REST and through MCP.
  • An agent that marks an issue human should also comment on what it needs from the person. The MCP tool descriptions should say so, because this is how agents learn the convention.
  • A change is recorded in the project changelog and pushed over realtime, like a priority change.
  • The field is for members only on help-desk projects: reporters' views don't show it. Public projects show it like priority.

Where the icon shows

The icon uses the Lucide set, e.g. bot for an agent and user-round for a human. The human icon is styled to stand out, because it means someone is waiting on a person. Both need a tooltip and an aria-label ("For an agent", "Needs a human").

  • Rows: issue-summary-row (components.html). This covers the project lists, planned, sprint history, the work panel and linked or sub-issue rows.
  • Cards: issue-card-list (work_panel.html) and the sprint board cards (project_panel_sprint.html).
  • Detail page:
    • The header, beside the key and priority (issue_panel_header.html).
    • A picker in the details panel, like the priority picker (issue_panel_details.html).
    • The new-issue form.
  • Add the badge to COMPONENTS.md.

API and MCP

  • worker is readable and writable on issue create and update over REST, and on track_create_issue and track_update_issue.
  • track_list_issues and the REST list accept a worker filter. That lets an agent find the work meant for it, and a person find what's waiting on them.

Done when

  • Issues can be marked agent, human, or left unset from the UI, REST and MCP, and the mark can be cleared.
  • The icon shows on rows, cards and the detail page.
  • Tests go through the public API, per AGENTS.md. The template table test in ui_issue_list_test.go covers the badge.

Sub-issues

0

Linked issues

0

GitHub

0

No branches or pull requests linked.

Comments

1
Bradley

Fixed in https://github.com/badbundle/track-slash-app/pull/189 (merged as 5d9409d).

  • Field: worker is agent, human or null (migration 0052). It is set through:
    • REST worker / clear_worker on issue create, sub-issue create and update;
    • MCP worker / clear_worker on track_create_issue, track_create_sub_issue and track_update_issue;
    • the Details sidebar picker;
    • the new-issue form.
  • Filter: REST ?worker=agent|human|none and MCP workers. none means unmarked.
  • Agent convention: the track_update_issue description tells agents to set human when they get stuck and to comment on what the person needs to do.
  • Where the icon shows: a neutral bot for an agent and an amber user-round for a human, with the tooltip "For an agent" or "Needs a human". It appears on:
    • issue rows;
    • work-panel cards;
    • sprint board cards;
    • the issue header.
  • Changelog: changes are recorded, e.g. "Worker: Agent → Human".
  • Who can set it: members with write access only. Public or help-desk submitters get a 403, and help-desk reporters never see the mark.

Not in this change: a worker filter in the UI's list filter controls. REST and MCP have it.