Assign a requirement and see who worked on it

The developer and QA assignee fields, how to assign a project member or an external person, and how the "Worked on by" list is derived.

This page shows you how to assign a developer and a QA reviewer to a requirement, and how Spectrace works out who contributed to it.

Prerequisites

  • A requirement in a project you are a member of.

Two assignee slots

Every requirement has two assignment slots:

SlotLabel on the pagePurpose
DeveloperDevThe person implementing the requirement.
QAQAThe person reviewing test cases and verifying the result.

Each slot holds either a project member (a Spectrace user in the project) or an external person identified by email address and an optional display name. The two forms are mutually exclusive per slot: setting a member clears any external email, and setting an external email clears the member.

Assignment is optional at every stage. Moving a requirement to In Dev does not require an assignee, and moving it back to Backlog clears any project member from both slots (an external email assignee stays). See Move a requirement through workflow stages.

Assign from the requirement page

Under the title, the Dev and QA chips read Unassigned until set.

  1. Open the picker

    Click the Dev or QA chip. The menu lists every member of the project by name and email.

  2. Pick a member, or assign by email

    Click a member to assign them. To assign someone without a Spectrace account, click + Assign by email (external), enter the address (name@external.com) and an optional display name, and confirm.

  3. Clear an assignment

    Open the picker again and click Clear; it appears only while the slot is filled.

Assigning or clearing a project member in the Dev slot writes an audit entry (developer_assigned / developer_unassigned), and doing the same in the QA slot writes qa_assigned / qa_unassigned; both show in the project's history and count toward the "Worked on by" list below. Assigning an external email does not write an entry.

Other places assignment happens

  • MCP. When an agent calls spectrace_requirements_transition to move a requirement to in_development and the Dev slot is empty, the tool assigns the calling user. See Tool reference.
  • Slack. The requirement message's overflow menu has a Reassign action that opens a user picker. /spectrace my lists the requirements assigned to or created by the Spectrace user whose email matches your Slack email. See Slack, Jira and Linear.
  • Linear. On connect, Spectrace matches Linear workspace members to Spectrace users by email. When a synced issue has an assignee with a matched identity, that user lands in the Dev slot.

Where assignments show

  • Requirement page. The Dev and QA chips, with the member's name or the external email.
  • Board and list. A small avatar on the card when the Dev slot holds an external person with a display name. Cards do not show an avatar for a project member today; open the requirement to see the assignee. The board's Assignee filter works on the same value.
  • Roles are separate from assignment. Being assigned as QA does not change your project role, and a viewer can be assigned. See Roles and permissions.

Contributors: "Worked on by"

Beside the assignee chips, the requirement page shows a Worked on by row of initials once someone has acted on the requirement. This list is derived, not stored: Spectrace groups the project audit log entries for the requirement by actor and shows everyone with at least one entry, in the order they first appeared.

What counts as work is any logged human action on the requirement other than creating it, such as:

  • changing the title, description, type, priority, or user story;
  • adding, editing, completing, or removing an acceptance criterion;
  • moving the workflow stage;
  • assigning a developer or a QA reviewer;
  • generating, approving, or rejecting test cases.

Stage moves made through the MCP server, and completing work from the VS Code extension, write audit entries with you as the actor, so that work counts. Field edits through MCP (title, description, priority) do not write an entry, and starting work from the extension writes an entry without an actor, so neither counts. Toggling a criterion from the extension does not either. Automated jobs (enrichment, webhooks) do not either; only entries with a human actor are grouped.

Hover an initial to see the name, the number of actions, and the first and last dates. The row shows five people and a +N badge for the rest; hover the badge for their names. A departed member keeps the name recorded at the time of their actions.

What done looks like

The requirement page shows a name in the Dev chip, optionally one in QA, and, after any edit, a Worked on by row that includes you. If the picker lists only you, the project has no other members yet — invite them from the project settings, or assign by email. If a person you expect is missing from Worked on by, they have not taken a logged action on this requirement; being assigned to it does not add them, only the person who did the assigning.