Work Tracking
Work tracking is a lightweight system for capturing improvements, bugs, tasks, goals, deferred suggestions, and technical debt as structured markdown entries. Items live in a work/ directory at the repository root, flow through a record-pluck-accept lifecycle, and stay scoped to the project they belong to.
Enabling work tracking
Section titled “Enabling work tracking”Toggle work tracking on at Settings > r26D > Work Tracking. When enabled, the sidebar gains context menu items for recording, plucking, and accepting work items on any repository that has a work/ directory.
The manual /xp_work slash command works regardless of whether the toggle is on or off. The toggle only controls the GUI launcher surfaces: sidebar context menu entries and modal dialogs.
The work/ directory
Section titled “The work/ directory”Eight canonical files live under work/ at the repo root. Each file tracks a specific category and uses a unique ID prefix. Every entry gets a stable identifier (e.g. IMP-7, BUG-3) that never changes after assignment.
| File | Prefix | Purpose |
|---|---|---|
IMPROVEMENTS.md | IMP | Product and workflow improvement ideas |
BUGS.md | BUG | Defects and incorrect behavior |
TODO.md | TODO | Planned tasks and features |
USER_GOALS.md | GOAL | User outcomes and scenarios |
DEFERRED.md | DEF | Valid suggestions parked for later |
TECH_DEBT.md | DEBT | Known shortcuts and cleanup tasks |
ITERATION.md | ITER | Active work for the current iteration |
ACCEPTANCE.md | ACC | Work waiting for human verification |
Each file carries a **Last id:** PREFIX-N counter in its header. The counter is monotonically non-decreasing: it increments when new entries are added but never decreases when entries are removed, moved, or plucked.
Entry format
Section titled “Entry format”Every entry follows the same structure:
## Entry title
**Id:** IMP-42
**Date:** 2026-05-28
**Why:** Users need feedback on whether the push succeeded or failed.
**Issue:** When a user clicks to push, there is no visual confirmation.
**Suggestion:** Display a toast notification on push completion.The Why field captures rationale for the item. Issue describes the problem. Suggestion is an optional implementation direction. Bug entries use Expected Behavior instead of Suggestion.
Recording items
Section titled “Recording items”From the sidebar
Section titled “From the sidebar”Right-click a repository in the sidebar and choose one of the recording actions:
- Record Improvement — appends to
IMPROVEMENTS.md - Record Bug — appends to
BUGS.md - Record Todo — appends to
TODO.md - Defer Suggestion — appends to
DEFERRED.md - Record Tech Debt — appends to
TECH_DEBT.md - Record Goal — appends to
USER_GOALS.md
Each action opens the record modal with three fields:
| Field | Required | Notes |
|---|---|---|
| Description | Yes | What needs to change or what went wrong |
| Why does this matter? | No | Rationale for prioritization; persisted as **Why:** in the entry |
| Suggestion | No | Implementation direction; shown only for improvements and deferred items |
The item is assigned the next available ID, committed, and confirmed via a toast notification.
From chat
Section titled “From chat”Type a prefix at the start of a chat message to record an item without opening the modal:
| Prefix | Target file |
|---|---|
improve: or feedback: | IMPROVEMENTS.md |
bug: or bug report: | BUGS.md |
feat:, todo:, or task: | TODO.md |
goal:, scenario:, or user_goal: | USER_GOALS.md |
deferred: or defer: | DEFERRED.md |
tech debt: or debt: | TECH_DEBT.md |
For example, typing bug: Toast z-index covers sidebar file list in the chat composer records a new bug entry.
Pluck workflow
Section titled “Pluck workflow”Plucking takes a queued item through planning, implementation, verification, and cleanup in one streamlined flow.
From the sidebar
Section titled “From the sidebar”Right-click a repository and select Pluck Work Item. The pluck modal loads all queued items from the six source files (IMPROVEMENTS.md, TODO.md, USER_GOALS.md, BUGS.md, DEFERRED.md, TECH_DEBT.md), grouped by category. Click an item to expand its description, then click Pluck into Workspace to begin.
Plucking creates a new workspace named after the item (e.g. imp-42-show-toast-for-push), switches to it, and sends /xp_work pluck IMP-42 to the chat agent. The agent then:
- Marks the item as In progress in the source file
- Plans the implementation (agent prompts you to choose a planning mode)
- Implements the change
- Verifies the result
- Squash-merges when complete
- Removes the item from the source file
- Optionally creates an
ACC-Nentry inACCEPTANCE.mdif human verification is needed - Commits with the original item body in the commit message and adds a line to
CHANGELOG.md
In-progress items
Section titled “In-progress items”Items already being worked on in another workspace appear in a trailing In Progress section at the bottom of the pluck modal with a badge and dimmed styling. Re-plucking an in-progress item requires explicit confirmation.
From chat
Section titled “From chat”Type pluck: <reference> in chat and reference the item by title or ID to start the pluck workflow without opening the modal.
Iteration management
Section titled “Iteration management”Items can also flow through a more traditional iteration model using chat commands:
| Command | Effect |
|---|---|
add to iteration: <reference> | Moves an item from a queue file to ITERATION.md |
done: <reference> | Marks an iteration item as complete |
needs acceptance: <reference> | Moves an iteration item to ACCEPTANCE.md |
When an item moves between files, it gets a new ID in the target file (e.g. IMP-7 becomes ITER-5) and a **Source id:** field preserving traceability.
Acceptance
Section titled “Acceptance”Items that need human verification land in ACCEPTANCE.md. Each acceptance entry includes:
- Description of what was built
- Source and Source id linking back to the original item
- Acceptance Criteria as a checklist
- Pre-verification steps (e.g. merge a branch before testing)
Accepting from the sidebar
Section titled “Accepting from the sidebar”Right-click a repository and select Accept Work Item. The accept modal lists all pending acceptance items. Expand an item to see its criteria and context, then click Investigate in Workspace to create a dedicated workspace for verification.
The acceptance workspace opens with the agent briefed on the criteria but explicitly instructed to wait for human verification. When you confirm the criteria are met, the agent runs /xp_work accept ACC-N to remove the entry and commit.
Accepting from chat
Section titled “Accepting from chat”Type accept: <reference> to accept a verified item directly.
Detection
Section titled “Detection”Workbench detects work tracking support by checking whether the repository has a work/ directory. When the toggle is enabled, each repository is probed on startup and when the setting changes. Repositories without a work/ directory do not show work tracking context menu items.
See also
Section titled “See also”- r26D Company Settings — the settings section where work tracking lives
- Slash Commands — for
/xp_workcommand usage - Settings — full settings reference