Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneesstack72

Relationships

#1146 vault skill docs don't mention --refresh-from/--refresh-ttl auto-refresh or that 'vault inspect' shows refresh-hook status

Opened by g2rant · 7/14/2026· Shipped 7/14/2026

Problem

swamp vault put <vault> <key> --refresh-from "<command>" --refresh-ttl <duration> is a fully functional, first-class feature. I verified it directly: it re-runs the given command once the TTL elapses and replaces the stored value, and if the refresh command fails, its stderr is surfaced as a WARN log line while the vault safely falls back to the last-known-good value (no corruption). swamp vault inspect <vault> <key> --json also returns the hook's command, ttl, and lastRefreshedAt fields.

None of this is documented anywhere in the shipped .agents/skills/swamp/references/vault/ skill docs:

  • vault/guide.md's quick-reference table lists vault inspect only as "Inspect annotation" (notes/URL/labels metadata) — there's no mention that it also surfaces refresh-hook status.
  • vault/references/examples.md's "Rotation Patterns" section describes only manual rotation (swamp vault put <vault> KEY=new-value) and a custom rotation workflow with a bespoke secret-updater model — it never mentions --refresh-from/--refresh-ttl at all, despite this being a more idiomatic fit for expiring credentials (cloud SSO tokens, short-lived API tokens, etc.).
  • No vault doc anywhere mentions --refresh-from, --refresh-ttl, or --clear-refresh.

The only way I discovered this feature was reading raw swamp vault put --help output directly. An agent following the shipped skill docs end-to-end (as instructed by a repo's AGENTS.md) would not discover it, and would likely reinvent manual rotation scripts/workflows instead of using the native mechanism.

Proposed solution

  • Add --refresh-from / --refresh-ttl / --clear-refresh to the vault guide's quick-reference table, with a short "Automatic Refresh" section describing the mechanism (the CLI's own --help already has a good example: auto-refreshing a GCP token every 50 minutes).
  • Update the "Rotation Patterns" section in examples.md to present --refresh-from as the preferred approach for expiring/rotating credentials, with manual rotation and rotation-workflow presented as the fallback for values that can't be refreshed by a local command.
  • Clarify in the vault inspect documentation that it also reports refresh-hook metadata (hasRefreshHook, refreshHook.command, refreshHook.ttl, refreshHook.lastRefreshedAt), not just annotations.

Alternatives considered

None — the underlying feature already exists and works well; this is purely a documentation gap in the shipped skill content.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 4 MOREPR_MERGED+ 1 MORECONTRIBUTOR_NOTIFIED

Shipped

7/14/2026, 6:53:37 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack727/14/2026, 6:05:03 PM
Editable. Press Enter to edit.

stack72 commented 7/14/2026, 6:53:44 PM

Thanks @g2rant for reporting this! The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.