Adds task lineage commit associations: a new API route stores and exposes which commits belong to which task, the `TaskChangesTab` surfaces these lineage links visually, and documentation covers the reconciliation model. Includes comprehensive tests for both the route and component. Fusion-Task-Id: FN-3998
28 lines
1.6 KiB
Markdown
28 lines
1.6 KiB
Markdown
# Task Lineage Reconciliation Notes
|
|
|
|
## FN-3953 historical mismatch (GitHub-tracking vs current task)
|
|
|
|
- Historical commit subject evidence:
|
|
- `6871c510a feat(FN-3953): enable tracking issue creation on task edit and document the...`
|
|
- Current unrelated FN-3953 evidence:
|
|
- `f6a1862f9 feat(FN-3953): wire agent provisioning approval policy into engine tools`
|
|
- Reconciled GitHub-tracking task lineage: `FN-3874`, `FN-3940`, `FN-3943`
|
|
- Summary: raw task-ID references in historical commits can map to different board meanings over time; therefore historical attribution must use immutable lineage IDs plus persisted association records rather than display task ID alone.
|
|
- Confidence: high
|
|
|
|
## Dashboard confidence semantics (FN-3998 follow-through)
|
|
|
|
Task detail → Changes now surfaces lineage commit associations from `GET /api/tasks/:id/commit-associations` with explicit confidence labels.
|
|
|
|
- `canonical`
|
|
- Match source: `canonical-lineage-trailer`
|
|
- Meaning: commit carries immutable lineage trailer and is safe to treat as authoritative task attribution.
|
|
- `legacy`
|
|
- Match source: `legacy-task-id-trailer` or `legacy-subject`
|
|
- Meaning: attribution recovered from pre-lineage-era metadata; useful but weaker than canonical lineage identity.
|
|
- `ambiguous`
|
|
- Match source: `manual-reconciliation`
|
|
- Meaning: historical overlap required manual reconciliation; must remain visibly weaker in UI and should not be presented as canonical evidence.
|
|
|
|
When consuming this endpoint, prefer confidence-driven copy/visual hierarchy rather than flattening all rows into an equivalent "task commit" presentation.
|