Skip to content

Decide annotation identity and source changes #5

Description

@CasperEngl

Question

How should annotations identify selected content and detect changed or unavailable sources without silently relocating?

Investigate existing message IDs, content revisions, code/diff rendering and snapshots. Distinguish streaming growth from edits, repeated text, tool-output replacement, and explicitly reselected pending annotations. Recommend the smallest shared target representation and source-status rule for approval; do not assume DOM positions or line numbers alone are durable.

Activity

  1. CasperEngl commented on Sep 10, 2026

    @CasperEngl
    OwnerAuthor

    Input from the resolved interaction decision

    Decide selection and annotation placement now records CasperEngl's approved interaction contract. This ticket remains unclaimed and unresolved; no durable target representation was chosen by that discussion.

    As part of the existing renderer/target investigation, check the mapping against actual production Markdown, code, tool-output and diff renderers, including the diff renderer's shadow DOM. The temporary prototype's flat strings and DOM offsets do not establish a viable durable representation. The interaction contract requires existing renderer behavior to survive; replacing it with a simplified renderer, slicing raw Markdown or mutating React-owned source DOM is not an accepted shortcut.

    Record what evidence supports the proposed mapping and which assumptions remain unverified. If the production renderers cannot support an approved interaction without a product tradeoff, bring that conflict back for an explicit decision rather than silently weakening the contract. This is investigation/prototype evidence for a decision, not authorization to implement the production feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    wayfinder:grillingDecision requiring discussion with the developer

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions