Context
Quick's 2026-06-06 hook-lifecycle comparison checked current notes main (58f194f) after notes#127 merged.
notes is already the mature implementation in the comparison:
- pre-commit encryption and obfuscation hooks;
- post-commit deobfuscation;
- post-merge deobfuscation;
- post-checkout deobfuscation for branch checkouts;
- stale-readable and dual-present staging guards;
- a git-crypt-aware manifest merge driver that re-cleans successful encrypted output.
Related stale-readable issues are already closed:
Remaining questions
This issue tracks the softer follow-up questions so they do not live only in a local investigation note.
- Rebase / post-rewrite lifecycle. Should
notes install a post-rewrite hook to reconcile readable notes after git rebase or amend paths? Current coverage is commit, merge, and checkout.
- Post-merge failure UX. The current post-merge/post-checkout warning is safe but generic. Should it include a more explicit triage sequence such as
notes changes --summary, notes changes <file>, notes deobfuscate, and only then intentional notes unlock --force when accepting refresh?
- Preflight / doctor command. A normal Git pre-merge hook is not enough:
pre-merge-commit does not cover fast-forward pulls, rebases, checkouts, or all tracked-blob update paths. Would a notes preflight or notes doctor command be useful to detect dirty generated readables, stale state rows, dual-present conflicts, and hook/merge-driver drift before intentional pull/merge/rebase work?
Non-goal
Do not assume a true Git pre-merge hook can solve stale-readable state. The likely small win is better explicit diagnostics/preflight around Git operations while preserving the existing fail-closed post-mutation behavior.
Done when
- We either add focused tests/docs for one concrete reproduced gap, or explicitly close this as unnecessary after checking rebase/post-rewrite and current UX.
- Any resulting issue/PR is narrower than this audit umbrella.
Context
Quick's 2026-06-06 hook-lifecycle comparison checked current
notesmain(58f194f) afternotes#127merged.notesis already the mature implementation in the comparison:Related stale-readable issues are already closed:
git pull#85 — post-merge hook could silently leave readable notes stale aftergit pull;Remaining questions
This issue tracks the softer follow-up questions so they do not live only in a local investigation note.
notesinstall apost-rewritehook to reconcile readable notes aftergit rebaseor amend paths? Current coverage is commit, merge, and checkout.notes changes --summary,notes changes <file>,notes deobfuscate, and only then intentionalnotes unlock --forcewhen accepting refresh?pre-merge-commitdoes not cover fast-forward pulls, rebases, checkouts, or all tracked-blob update paths. Would anotes preflightornotes doctorcommand be useful to detect dirty generated readables, stale state rows, dual-present conflicts, and hook/merge-driver drift before intentional pull/merge/rebase work?Non-goal
Do not assume a true Git pre-merge hook can solve stale-readable state. The likely small win is better explicit diagnostics/preflight around Git operations while preserving the existing fail-closed post-mutation behavior.
Done when