Skip to content

Port anchor-based sidebar reordering to durable review history #110

Description

@lynnswap

Parent: #96
Related: #102

Contract

The recovery must preserve the independent post-v0.6.2 sidebar reorder correction without porting the generic Codex chat sidebar.

Drag/drop resolves a semantic anchor (beforeCWD / beforeReviewID), not a transient visible/store array index. The durable history transaction updates manual workspace/review order atomically.

Acceptance criteria

  • Workspace groups and reviews reorder by stable before-anchor identity.
  • Filtered/hidden rows, collapsed sections, grouped workspaces, blank-area drops, upward/downward moves, and moves to the full-order end produce the intended durable order.
  • A no-op drop does not write or animate.
  • Reorder survives app restart and history paging.
  • A missing/stale anchor is a typed no-op/error according to the command boundary; no guessed array index.
  • Workspace and review order update in one global history revision and preserve stable row identity/selection.
  • Tests port the behavior from 1682c34 / PR Refactor sidebar reorder drops around anchors #50 without copying generic-chat/DataKit code.

Historical evidence

PR #50 (1682c347e87ebd0e3f417792c4c07bec334b9a79) changed index-based drops to anchor-based ordering immediately after v0.6.2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions