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
1.6 KiB
1.6 KiB
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.
- Match source:
legacy- Match source:
legacy-task-id-trailerorlegacy-subject - Meaning: attribution recovered from pre-lineage-era metadata; useful but weaker than canonical lineage identity.
- Match source:
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.
- Match source:
When consuming this endpoint, prefer confidence-driven copy/visual hierarchy rather than flattening all rows into an equivalent "task commit" presentation.