Problem
PR number/URL extraction from oplog uses fragile detail.split(" -> ").nth(1) + rsplit('/').next()?.parse::<u64>() pattern, repeated 7+ times across commands.rs.
Proposed Solution
Add pr_number: Option<u64> and pr_url: Option<String> to OpEntry or UndoInfo. Eliminates a whole class of parsing bugs. Backward-compatible with existing oplog entries via #[serde(default)].
Category: enhancement | Priority: high
Problem
PR number/URL extraction from oplog uses fragile
detail.split(" -> ").nth(1)+rsplit('/').next()?.parse::<u64>()pattern, repeated 7+ times across commands.rs.Proposed Solution
Add
pr_number: Option<u64>andpr_url: Option<String>toOpEntryorUndoInfo. Eliminates a whole class of parsing bugs. Backward-compatible with existing oplog entries via#[serde(default)].Category: enhancement | Priority: high