bcquality/custom/knowledge/architecture/commit-message-must-include-bc-task-id.md

2.1 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.

How to find the taskId before committing

  1. Get the current branch: git branch --show-current
  2. Find the linked project via BC MCP (see [[bc-mcp-find-active-task-for-branch]])
  3. Read taskId from the matching active task
  4. 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.