Normalisering af alle 39 custom knowledge-filer til READ-kontraktens skema (validate_frontmatter.py + Test-KnowledgeIndex.ps1 begge groenne): - R01/R02: 28 filer manglede frontmatter eller brugte aeldre skemaer (title/category/severity/rule-id m.fl.) - alle har nu praecis de 6 kraevede noegler; keywords haandskrevet pr. fil da de driver worklist-selektionen i INDEX/knowledge-index - R09: manglende Description-sektion - regel-agtige foersteoverskrifter (Core Rule/Rule/Regel/Core Principle) omdoebt, eller sektion indsat efter titlen hvor intro-tekst fandtes - R10: fenced code blocks konverteret til 4-space indrykkede blokke i alle filer (indhold uaendret) - R11: 4 filer over 100 linjer fortaettet redaktionelt uden semantisk tab (ai-eval-scores 143->100, git-lifecycle 121->97, permission-sets 113->99, test-feature-scenario-tags 105->91) - R05: AL0197->al0197, add_repo->add-repo; keyword-lister trimmet til maks 10 Ingen regler er fjernet eller aendret i betydning - kun form. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.6 KiB
| bc-version | domain | keywords | technologies | countries | application-area | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
architecture |
|
|
|
|
--- name: commit-message-must-include-bc-task-id description: > 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. layer: 2 category: 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.