Files
fusion/docs/task-lineage-reconciliation.md
Fusion 5640316e0c feat(FN-3998): add task lineage commit associations API, UI, and tests
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
2026-05-11 06:47:43 -07:00

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