Clarifies how sponge_privacy.fish actually keeps credentials out of persistent history: a matched command is queued on fish_postexec and purged (with an immediate history save) on the very next fish_prompt under sponge's own defaults — not stored-and-redacted, and not deferred to shell exit.
Calls out sponge_purge_only_on_exit explicitly: turning it on defers purging to fish_exit, which never fires on a killed/crashed session, so a matched command could then survive indefinitely. This config leaves it at its safe (off) default.
Adds an upfront scope note: detection is heuristic (pattern- and variable-name-based), so this reduces risk rather than guaranteeing zero exposure.
Hyperlinks the Fisher-managed (jorgebucaran/fisher, meaningful-ooo/sponge) and bundled plugin names to their upstream GitHub repos, for the Starlight site rendering.
Verified the removal-timing claims against the actual upstream meaningful-ooo/sponge v1.1.0 source (_sponge_on_postexec.fish, _sponge_remove_from_history.fish, _sponge_on_exit.fish, conf.d/sponge.fish) rather than assuming.
Doc-only change: docs/manual/09-fisher-plugins.md (SSoT) plus the regenerated docs/fish-config.md concat. The Starlight .mdx and man page regenerate from CI (git-ignored / needs pandoc, respectively, neither available locally).
Manual Verification Checklist
Read through the new "Sponge History Filtering" section in docs/manual/09-fisher-plugins.md for tone/accuracy
Confirm the plugin links resolve correctly (jorgebucaran/fisher, meaningful-ooo/sponge, and the five bundled-plugin origins)
After merge, confirm CI regenerates docs/fish-config.1 and the Starlight site cleanly and deploys without errors
Spot-check the live site page renders the new prose and links as expected
## Summary
- Clarifies how `sponge_privacy.fish` actually keeps credentials out of persistent history: a matched command is queued on `fish_postexec` and purged (with an immediate `history save`) on the very next `fish_prompt` under sponge's own defaults — not stored-and-redacted, and not deferred to shell exit.
- Calls out `sponge_purge_only_on_exit` explicitly: turning it on defers purging to `fish_exit`, which never fires on a killed/crashed session, so a matched command could then survive indefinitely. This config leaves it at its safe (off) default.
- Adds an upfront scope note: detection is heuristic (pattern- and variable-name-based), so this reduces risk rather than guaranteeing zero exposure.
- Hyperlinks the Fisher-managed (`jorgebucaran/fisher`, `meaningful-ooo/sponge`) and bundled plugin names to their upstream GitHub repos, for the Starlight site rendering.
Verified the removal-timing claims against the actual upstream `meaningful-ooo/sponge` v1.1.0 source (`_sponge_on_postexec.fish`, `_sponge_remove_from_history.fish`, `_sponge_on_exit.fish`, `conf.d/sponge.fish`) rather than assuming.
Doc-only change: `docs/manual/09-fisher-plugins.md` (SSoT) plus the regenerated `docs/fish-config.md` concat. The Starlight `.mdx` and man page regenerate from CI (git-ignored / needs `pandoc`, respectively, neither available locally).
## Manual Verification Checklist
- [x] Read through the new "Sponge History Filtering" section in `docs/manual/09-fisher-plugins.md` for tone/accuracy
- [x] Confirm the plugin links resolve correctly (jorgebucaran/fisher, meaningful-ooo/sponge, and the five bundled-plugin origins)
- [x] After merge, confirm CI regenerates `docs/fish-config.1` and the Starlight site cleanly and deploys without errors
- [x] Spot-check the live site page renders the new prose and links as expected
Explains that a matched command is actively deleted from history and
force-saved within about one prompt cycle by default, not deferred to
shell exit, and calls out sponge_purge_only_on_exit as the setting that
would change that (a killed/crashed session never triggers fish_exit).
Also hyperlinks the Fisher-managed and bundled plugin names to their
upstream repos on the Starlight site.
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.
Summary
sponge_privacy.fishactually keeps credentials out of persistent history: a matched command is queued onfish_postexecand purged (with an immediatehistory save) on the very nextfish_promptunder sponge's own defaults — not stored-and-redacted, and not deferred to shell exit.sponge_purge_only_on_exitexplicitly: turning it on defers purging tofish_exit, which never fires on a killed/crashed session, so a matched command could then survive indefinitely. This config leaves it at its safe (off) default.jorgebucaran/fisher,meaningful-ooo/sponge) and bundled plugin names to their upstream GitHub repos, for the Starlight site rendering.Verified the removal-timing claims against the actual upstream
meaningful-ooo/spongev1.1.0 source (_sponge_on_postexec.fish,_sponge_remove_from_history.fish,_sponge_on_exit.fish,conf.d/sponge.fish) rather than assuming.Doc-only change:
docs/manual/09-fisher-plugins.md(SSoT) plus the regenerateddocs/fish-config.mdconcat. The Starlight.mdxand man page regenerate from CI (git-ignored / needspandoc, respectively, neither available locally).Manual Verification Checklist
docs/manual/09-fisher-plugins.mdfor tone/accuracydocs/fish-config.1and the Starlight site cleanly and deploys without errors