Users refer to tasks by taskNo in conversation (e.g. 'opgave 51'). Commit messages must use taskId (e.g. 8738) — different field. Added explicit Gotcha block and sharpened step 3 in How to find. Approved by: mid (Michael Dieringer)
2.4 KiB
| name | description | layer | category |
|---|---|---|---|
| commit-message-must-include-bc-task-id | Every commit message must begin with the BC task ID in [#id] format, where id is the global taskId from the CUR MCP Active Tasks page. | 2 | architecture |
Commit Message Must Include BC Task ID
Description
Every commit must reference the BC sub-task it belongs to by prefixing the
message with [#taskId], where taskId is the globally unique, sequential
task identifier from the CUR MCP Active Tasks page (field taskId).
This links code history directly to customer-facing work items in BC, enables time registration traceability, and is consistent with the convention already used across Curabis teams.
Anti Pattern
Add Price Lookup feature — FindPrice page, tier prices, currency conversion
No traceability. Impossible to find the BC task from git history.
Best Practice
[#8738] Add Price Lookup feature — FindPrice page, tier prices, currency conversion
[#8738] Add 22 UI tests for PRICING LOOKUP feature
[#8738] Add translations, shared project memory and cspell config
The two task numbers — use taskId, not taskNo
The sub-task has two numbers — do not confuse them:
| Field | Description | Use for |
|---|---|---|
taskNo |
Sequential within the project (e.g. 42) | Referencing within a project |
taskId |
Globally unique across all projects (e.g. 8738) | Commit messages |
Always use taskId in commit messages. It is unambiguous across all projects
and repos.
Gotcha: Users and conversations refer to tasks by
taskNo— e.g. "opgave 51" or "task 42". This is the natural shorthand and is correct for conversation. ButtaskNois NOT what goes in the commit message. Always look uptaskIdfrom the MCP response before committing — they are different fields.
How to find the taskId before committing
- Get the current branch:
git branch --show-current - Find the linked project via BC MCP (see
[[bc-mcp-find-active-task-for-branch]]) - In the MCP response, read the
taskIdfield — NOTtaskNo - Prefix every commit on this branch with
[#taskId]
If no task exists for the branch, create one first (see bc-mcp.agent.md create-task workflow) or ask the project manager to register the work.
Scope
All commits that reach the main branch — feature, fix, test, chore, docs. Merge commits and auto-generated commits (renovate, al-go) are exempt.