# Feature Matrix and Lineage

Feature Matrix groups team tasks by product feature and project layer. Feature Lineage shows code artifacts attributed to one feature's tasks. Both tabs are available on the team **Projects** page to workspaces with the Pro feature entitlement. See [Plans](/docs/billing/plans).

## Open the views

1. Expand the team in the sidebar and select **Projects**.
2. Select **Feature Matrix** to review task coverage, or **Feature Lineage** to inspect extracted artifacts.

![Team Projects tabs with Feature Matrix selected](/docs/images/teams-projects/features-tab-navigation.webp)

These are team-level tabs. They do not appear inside an individual project's Dashboard, List, Calendar, or Automations tabs. If the feature tabs are absent, check workspace plan availability.

## Configure features and layers

1. In **Feature Matrix**, click **Classify**. If the team has no features yet, click **Set up features**.
2. Under **Project layers**, assign each project to the layer that describes its work: `frontend`, `backend`, `database`, `integration`, or `ai-ml`. A project without a mapping is **Unmapped**. This mapping saves when selected.
3. Under **New feature**, enter a feature name. Optionally select a parent to create a hierarchy; leave Parent as **top level** for a root feature. Click **Create**.
4. In **Unclassified**, select tasks and a target feature, then choose **Assign**. This queue contains tasks with no feature assignment.
5. To request suggestions for unclassified tasks, click **Suggest features**. Review resulting proposals on **Pending review**. Select the suggestions to keep and click **Confirm**; use **reject** on a proposal that should return to Unclassified.

The two queues have different meanings: **Unclassified** has no proposed feature, while **Pending review** contains suggestions that are not yet confirmed. Work through up to 200 rows at a time; apply the project filter to narrow the queue. Feature assignment changes task classification, and project-layer selections change team reporting. Confirm the target before applying either action.

Creating features, assigning tasks, and changing project-layer mappings require write access to the team. Team members without write access can review the views but cannot apply those changes.

## Read the matrix

- Summary cards show the team's feature count, features with uneven layer coverage, features with no tasks, and tasks with no feature.
- Each row is a feature; expand the chevron to show nested features. Layer columns count tasks assigned to that feature whose project maps to that layer.
- **Unmapped** counts tasks whose project has no layer mapping. **Total** is the feature's assigned-task count.
- A numbered cell is tracked task coverage. A dash means no tasks in that cell. Amber partial coverage means the feature has tasks in other layers, but none in this one. It is an observation, not proof of a missing requirement; a feature may intentionally span only some layers.
- If no project layers are configured, the matrix does not draw coverage cells because that would imply missing work without a mapping.

Click a feature row to open it in Feature Lineage. Use the row chevron to expand/collapse children without opening lineage.

## Inspect Feature Lineage

1. Open **Feature Lineage**. Select a feature from the **Feature** picker; the feature with the most assigned tasks is selected automatically when available.
2. Review the **Frontend**, **API**, and **Database** columns. These artifacts are derived from commits that reference the feature's task keys.
3. Click an artifact to inspect its source and any other features that reach the same artifact. Press **Escape** to step back from the trace; use the close control to dismiss the feature detail.
4. Expand **Built from this feature's iKanban tasks — how this is traced** for attribution details.

The matrix counts come directly from task assignments and do not require Git extraction. Lineage artifacts do: an empty panel says extraction has not run for the feature's commits, not that nothing was built. Frontend components and database tables are file-level evidence; API endpoint attribution is based on authored code hunks. Connectors appear only when extraction records an edge. Shared-artifact results show reach across features, not ownership. The component list is capped at 40 files, so a long list may be incomplete.

## Troubleshooting

| Symptom                              | Check                                                                                                                |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| Feature tabs are missing             | Confirm the workspace has the Pro Feature Matrix entitlement.                                                        |
| Matrix says no layers are configured | Open **Classify** and map the team's projects to layers.                                                             |
| A task appears under Unmapped        | Map its project to a layer, then review the matrix again.                                                            |
| A feature shows partial coverage     | Compare the feature's task counts and project-layer mappings; decide whether the layer is expected for this feature. |
| A task is in Pending review          | Confirm or reject the suggestion; it has not been confirmed by a person.                                             |
| Lineage shows no artifacts           | Check whether extraction has run over commits referencing the feature's task keys.                                   |

See [Managing Projects](/docs/teams-projects/managing-projects) for team and project navigation, and [Creating Tasks](/docs/tasks/creating-tasks) for the required Feature field when creating an issue.
