FR-DEV-7 specifies "Compare current edit state against the unedited original or against a chosen history state." Only the second half exists, and only as navigation.
Gap
Traced in docs/traceability.md to History::entries, History::go_to, develop.rs::history_rows, develop.rs::go_to_history and ui/history.slint.
Jumping to a history state is the edit changing. Comparison means seeing the other state without leaving this one. The requirement's first clause — against the unedited original — has no implementation at all, and the workaround (walk the list to step zero, look, walk back) is exactly the wrong interaction at the moment it is needed, which is when a photographer suspects they have overcooked the frame.
Why this is filed separately
The two implementing tickets are already open — hold-to-compare, and named snapshots. This exists so the requirement has a home, can be closed as a unit, and so the traceability matrix stops claiming coverage the behaviour does not provide.
Closes when
Hold-to-compare against the unedited original ships → first clause.
Named snapshots ship and the same gesture accepts one → second clause, properly rather than as navigation.
Part of the Develop Ergonomics spec (FR-DEV series proposal), 2026-09-05.
FR-DEV-7 specifies "Compare current edit state against the **unedited original** or against a chosen history state." Only the second half exists, and only as navigation.
## Gap
Traced in `docs/traceability.md` to `History::entries`, `History::go_to`, `develop.rs::history_rows`, `develop.rs::go_to_history` and `ui/history.slint`.
Jumping to a history state **is** the edit changing. Comparison means seeing the other state without leaving this one. The requirement's first clause — against the unedited original — has no implementation at all, and the workaround (walk the list to step zero, look, walk back) is exactly the wrong interaction at the moment it is needed, which is when a photographer suspects they have overcooked the frame.
## Why this is filed separately
The two implementing tickets are already open — hold-to-compare, and named snapshots. This exists so the *requirement* has a home, can be closed as a unit, and so the traceability matrix stops claiming coverage the behaviour does not provide.
## Closes when
- Hold-to-compare against the unedited original ships → first clause.
- Named snapshots ship and the same gesture accepts one → second clause, properly rather than as navigation.
---
Part of the Develop Ergonomics spec (FR-DEV series proposal), 2026-09-05.
Closed by#3 (first clause: against the unedited original) and #8 + #3 (second clause: against a chosen snapshot, properly rather than as history navigation).
Until then, docs/traceability.md claims coverage this behaviour does not provide.
**Closed by** #3 (first clause: against the unedited original) and #8 + #3 (second clause: against a chosen snapshot, properly rather than as history navigation).
Until then, `docs/traceability.md` claims coverage this behaviour does not provide.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
FR-DEV-7 specifies "Compare current edit state against the unedited original or against a chosen history state." Only the second half exists, and only as navigation.
Gap
Traced in
docs/traceability.mdtoHistory::entries,History::go_to,develop.rs::history_rows,develop.rs::go_to_historyandui/history.slint.Jumping to a history state is the edit changing. Comparison means seeing the other state without leaving this one. The requirement's first clause — against the unedited original — has no implementation at all, and the workaround (walk the list to step zero, look, walk back) is exactly the wrong interaction at the moment it is needed, which is when a photographer suspects they have overcooked the frame.
Why this is filed separately
The two implementing tickets are already open — hold-to-compare, and named snapshots. This exists so the requirement has a home, can be closed as a unit, and so the traceability matrix stops claiming coverage the behaviour does not provide.
Closes when
Part of the Develop Ergonomics spec (FR-DEV series proposal), 2026-09-05.
Closed by #3 (first clause: against the unedited original) and #8 + #3 (second clause: against a chosen snapshot, properly rather than as history navigation).
Until then,
docs/traceability.mdclaims coverage this behaviour does not provide.Landed in
d3b6127(2026-09-12) with the snapshot work: comparison against the original and against a chosen snapshot. FR-DEV-7 is tagged in six files.