Skip to content

feat: record the approved replacement text on adapt verdicts #16

Description

@runewright

rune adopt verdict <block-id> adapt --note "<rationale>" records why a block changes but not what it changes into. The approved replacement text lives only in the working tree, so an interrupted or handed-off session cannot reconstruct what the maintainer approved, and finalize can verify the original text is gone without being able to verify the approved rewrite landed.

Add a replacement payload to the adapt verdict:

rune adopt verdict <block-id> adapt --note "<rationale>" --replacement-file <path>
  • The ledger stores the approved text (or its digest plus a content-addressed copy) alongside the rationale.
  • Finalize compares the block's final content against the recorded replacement instead of only checking that the original no longer appears.
  • The sealed review record then carries the full approval chain: original block, rationale, approved replacement.

Inline --replacement <text> is worth supporting for short blocks; the file form avoids shell-quoting hazards for anything longer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions