Search

    MENU

    Task blame

    Markdown

    The whole task, attributed. Every field and description line with recorded history points at the edit that set it, and the edit names the person or program behind it.

          
            MDR-2 (01a1bb09-797e-73d6-aead-295f8f563adb) Fields:Title: Draft the release summary card [01a1bb09-797]Column: Doing [01a1bb09-797]Priority: High [01a1bb09-797]Due: none [01a1bb09-797]Labels: review [01a1bb09-797]Parent: none [01a1bb09-797] Description:1 | [01a1bb09-797] | Summaries reach the board in one pass.2 | [01a1bb09-79a] | Add the changelog link at the end.3 | [01a1bb09-797] | Keep the byte count under 300. Attribution:01a1bb09-7972026-11-07 09:22:10.750 +01:00Helly R.Kind: humanEmail: helly.r@lumon.industriesSource: git-configSession: nullThread: nullAgent: nullModel: nullEffort: nullClient: zinn-cli/0.44.0 01a1bb09-79a2026-11-07 09:31:48.882 +01:00claude-codeKind: agentEmail: nullSource: env:CLAUDECODESession: ses_01a1bb09-7c4f2eThread: nullAgent: claude-codeModel: opus-4.5Effort: nullClient: zinn-cli/0.44.0 zinn-claude-code/0.2.0 
          
        

    How it decides

    Whole lines, matched exactly

    Description attribution compares complete lines, whitespace included. Blank lines are preserved.

    Shared lines keep their event

    Lines the edit leaves alone keep their attribution. Lines it introduces belong to the edit.

    Missing history reads as unrecorded

    A field or line without a recorded origin prints as unrecorded rather than guessing.

    Archived tasks still answer

    Blame reads active and archived tasks, and records no activity of its own.

    Gaps and mismatched history can leave lines unrecorded. The full rules, including comparison edge cases, are in the CLI reference.

    JSON

    With --json, the command returns the TaskBlame result. Each reference opens with zinn activity view <activity-id>.