Files
T
Frank 49afdfeda4 Noctalia theme migration: Niri IPC, GTK palette, alacritty import
- Switch Niri keybinds from qs-wrapped IPC calls to direct 'noctalia msg'
- Add noctalia.kdl include to niri config
- Replace alacritty theme with import of noctalia.toml
- Ghostty: Retro Legends → noctalia theme
- GTK3/4: accent palette shift from lavender (#bfc2ff) to purple (#b267e4)
- systemd swayidle-lock.service updated
2026-09-11 00:26:56 -07:00

2.0 KiB

name, description
name description
stash-supersession-audit-before-drop Before dropping a stale git stash, prove it's superseded by HEAD via per-file line-set diff of git show stash@{0}:file vs HEAD; archive as an annotated tag and drop only after auditing unique facts — zero-loss alternative to blind drop.

Stash Supersession Audit Before Drop

Use when a repo (especially a live-deployment checkout where the working tree IS the deployment, e.g. ~/.omp command-center) has an old stash whose content may have been superseded by later commits, and dropping blindly risks losing unique facts.

Procedure

  1. Inventory the stash — see which files it touches:
    git stash show --stat stash@{0}
    
  2. Probe for unique content per file. For each touched file, diff stash version against HEAD and count lines that exist only in the stash version:
    git show "stash@{0}:<path>" > /tmp/stash_copy
    # compare normalized line sets; report lines present in stash but absent from HEAD
    
    A file with unique-vs-HEAD = 0 is fully superseded — safe to drop for that file.
  3. Classify each unique-content hit:
    • Stale fact (superseded by a later refactor, e.g. old model/provider naming) → drop is correct.
    • Live durable fact (e.g. an operational invariant never re-recorded) → extract it into the live memory/docs file or flag to the user before dropping.
  4. Archive before dropping — zero-loss: tag the stash commit, then drop from the stash list:
    git tag archive/stash-<YYYY-MM-DD>-<base-branch>-wip "stash@{0}"
    git stash drop "stash@{0}"
    
    The tag pins the full stash object (including its index parent); recoverable later via git show archive/stash-... or git checkout archive/stash-...^3 -- <path> for the untracked-files third parent if present.

Why

Stashes are invisible in normal history and expire from reflogs (~90 days). A stash that looks superseded can still hold the only copy of a durable fact; tagging converts "drop" into a reversible archive with zero workflow cost.