Status Mapping
GuideMode normalizes status values from all connected providers (GitHub, Jira, Linear, Notion) into a unified workflow model. This enables consistent metrics, WIP tracking, and time-in-status analytics across your entire organization.
Why Status Mapping?
Section titled “Why Status Mapping?”Different tools represent workflow states differently:
- GitHub: Open/Closed states, with optional GitHub Projects v2 columns
- Jira: Custom workflow statuses like “In Progress”, “Code Review”, “QA”
- Linear: State types (unstarted, started, completed) with custom states
- Notion: Database status properties with custom options
GuideMode maps all of these to a canonical model with:
- 9 SubStatus values for fine-grained workflow tracking
- 3 Issue States derived from SubStatus for high-level filtering
The SubStatus Model
Section titled “The SubStatus Model”SubStatus provides granular workflow state tracking:
| SubStatus | Description | State | In WIP? |
|---|---|---|---|
backlog |
Not started, not prioritized | open | No |
ready |
Ready to start, prioritized | open | No |
discovery |
Research, spike, or design work | in_progress | Yes |
delivery |
Active development | in_progress | Yes |
review |
Code review, testing, QA | in_progress | Yes |
blocked |
Waiting on external dependency | open | No |
parked |
Intentionally paused | open | No |
done |
Completed successfully | closed | No |
canceled |
Closed without completion | closed | No |
Issue States
Section titled “Issue States”The three high-level states are derived from SubStatus:
| State | Derived From SubStatuses |
|---|---|
open |
backlog, ready, blocked, parked |
in_progress |
discovery, delivery, review |
closed |
done, canceled |
State Machine
Section titled “State Machine”The full workflow state machine showing all valid transitions:
Key Transitions
Section titled “Key Transitions”| From | To | When |
|---|---|---|
backlog → ready |
Issue is prioritized for upcoming work | |
ready → discovery |
Research or design phase begins | |
ready → delivery |
Development starts (no discovery needed) | |
discovery → delivery |
Research complete, development begins | |
delivery → review |
Code complete, ready for review/testing | |
review → done |
Review approved, issue complete | |
Any → blocked |
Waiting on external dependency | |
Any → parked |
Intentionally paused | |
Any → canceled |
Closed without completion |
Mapping Priority
Section titled “Mapping Priority”When mapping provider status to SubStatus, GuideMode uses this priority:
Scope Priority for Custom Mappings
Section titled “Scope Priority for Custom Mappings”- Project + Repository specific (highest)
- Project specific
- Repository specific
- Global (lowest)
This allows different projects or repositories to have different status mappings.
Provider Heuristics
Section titled “Provider Heuristics”GuideMode includes built-in heuristics for common status names:
GitHub
Section titled “GitHub”GitHub issues have simple Open/Closed states, but GitHub Projects v2 provides custom column statuses:
| Status Pattern | SubStatus |
|---|---|
closed:COMPLETED |
done |
closed:NOT_PLANNED |
canceled |
closed (default) |
done |
Backlog, No Status, New |
backlog |
Todo, To Do, Ready |
ready |
Spike, Research, Discovery |
discovery |
In Progress, In Development |
delivery |
In Review, Code Review, Testing, QA |
review |
Blocked, Waiting, Awaiting |
blocked |
On Hold, Parked |
parked |
Done, Complete, Shipped |
done |
Canceled, Won't Fix |
canceled |
| Status Pattern | SubStatus |
|---|---|
Backlog, To Do, Open, New |
backlog |
Ready, Selected for Development |
ready |
Discovery, Spike, Research, Analysis |
discovery |
In Progress, Development, Coding |
delivery |
In Review, Code Review, Testing, QA |
review |
Blocked, On Hold, Waiting, Pending |
blocked |
Parked, Deferred, Postponed |
parked |
Done, Closed, Resolved, Shipped |
done |
Canceled, Won't Do, Duplicate, Rejected |
canceled |
Linear
Section titled “Linear”| Status Pattern | SubStatus |
|---|---|
Backlog, Triage, Unstarted |
backlog |
Todo, To Do, Ready, Up Next |
ready |
Discovery, Spike, Research |
discovery |
In Progress, Started, Doing, Active |
delivery |
In Review, Review, Testing, QA |
review |
Blocked, Waiting, On Hold |
blocked |
Parked |
parked |
Done, Complete, Completed, Merged |
done |
Canceled, Duplicate |
canceled |
Notion
Section titled “Notion”| Status Pattern | SubStatus |
|---|---|
Not Started, Backlog, New |
backlog |
To Do, Ready, Planned |
ready |
Discovery, Research, Exploring |
discovery |
In Progress, Doing, Active, Working |
delivery |
Review, In Review, Testing |
review |
Blocked, On Hold, Waiting |
blocked |
Parked, Paused |
parked |
Done, Complete, Finished, Shipped |
done |
Canceled, Archived, Dropped |
canceled |
WIP Exclusion
Section titled “WIP Exclusion”Work In Progress (WIP) metrics only count issues that are actively being worked on:
| SubStatus | Included in WIP? | Reason |
|---|---|---|
backlog |
No | Not started |
ready |
No | Waiting to start |
discovery |
Yes | Active research |
delivery |
Yes | Active development |
review |
Yes | Active review/testing |
blocked |
No | Waiting on dependency |
parked |
No | Intentionally paused |
done |
No | Completed |
canceled |
No | Closed |
This ensures WIP metrics accurately reflect work that is actively consuming team capacity.
Timestamps
Section titled “Timestamps”GuideMode tracks comprehensive timestamps for time-in-status analytics:
Core Timestamps
Section titled “Core Timestamps”| Timestamp | Description | Set When |
|---|---|---|
createdAt |
When issue was created | Initial creation |
startedAt |
When work began | First transition to in_progress (legacy) |
updatedAt |
Last modification | Any update |
closedAt |
When issue was closed | State → closed |
firstResponseAt |
First comment or review | First engagement |
Transition Timestamps
Section titled “Transition Timestamps”Each SubStatus transition is tracked with a dedicated timestamp:
| Timestamp | Description | Triggered By |
|---|---|---|
readyAt |
When issue became prioritized | SubStatus → ready |
discoveryStartedAt |
When research/spike began | SubStatus → discovery |
deliveryStartedAt |
When active development began | SubStatus → delivery |
reviewStartedAt |
When entered review/QA | SubStatus → review |
blockedAt |
When became blocked | SubStatus → blocked |
parkedAt |
When intentionally paused | SubStatus → parked |
Notes:
backloghas no timestamp (initial state)doneandcanceleduseclosedAt- Timestamps are set on transition TO the state, not FROM it
Complete Timestamp Flow
Section titled “Complete Timestamp Flow”Metrics from Timestamps
Section titled “Metrics from Timestamps”These timestamps enable powerful metrics:
| Metric | Calculation |
|---|---|
| Lead Time | closedAt - createdAt |
| Cycle Time | closedAt - startedAt (or deliveryStartedAt) |
| Discovery Duration | deliveryStartedAt - discoveryStartedAt |
| Development Duration | reviewStartedAt - deliveryStartedAt |
| Review Duration | closedAt - reviewStartedAt |
| Time to Ready | readyAt - createdAt |
| Time Blocked | Sum of periods in blocked state |
Custom Status Mappings
Section titled “Custom Status Mappings”Configure custom mappings in Settings → Integrations → Status Mappings.
Mapping Fields
Section titled “Mapping Fields”| Field | Description |
|---|---|
externalStatus |
The status name from the provider |
internalSubStatus |
The GuideMode SubStatus to map to |
projectId |
Optional - scope to specific project |
repositoryId |
Optional - scope to specific repository |
Example Configuration
Section titled “Example Configuration”| External Status | SubStatus | Scope |
|---|---|---|
In Development |
delivery | Global |
Awaiting PR Review |
review | Global |
Customer Validation |
review | frontend-project |
Sprint Backlog |
ready | mobile-repo |
Native Status Preservation
Section titled “Native Status Preservation”GuideMode stores the original provider status in the nativeStatus field. This allows:
- Debugging mapping issues
- Reconfiguring mappings without data loss
- Provider-specific filtering in advanced queries
Related Documentation
Section titled “Related Documentation”- Issues - Issue states and lifecycle
- Label Mapping - Label to type mapping
- DORA Metrics - Lead time, cycle time calculations
- Delivery Flow - Delivery metrics dashboard
