docs(fisher-plugins): clarify sponge's history-purge security model, link plugin repos #105

Merged
rootiest merged 1 commits from docs-sponge-privacy-clarity into main 2026-08-17 19:09:28 +00:00
Owner

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

  • 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
rootiest added 1 commit 2026-08-17 19:06:43 +00:00
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.
rootiest merged commit d8feaf7143 into main 2026-08-17 19:09:28 +00:00
rootiest deleted branch docs-sponge-privacy-clarity 2026-08-17 19:09:28 +00:00
Sign in to join this conversation.