# Vault Fuse Freshness

> Audit Linux rclone FUSE wiki freshness. Use when dir-cache-time drifts or a bounded vfs/refresh is needed.

- Skill: `karlorz/vault-fuse-freshness` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add karlorz/vault-fuse-freshness`
- Raw SKILL.md: https://api.skillmd.com/api/skills/karlorz/vault-fuse-freshness/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: karlorz (https://skillmd.com/u/karlorz)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/karlorz/vault-fuse-freshness

---


# vault-fuse-freshness

Audit and maintain S3->FUSE visibility freshness on Linux hosts that consume the wiki through an rclone mount.

## When to use

- New host bring-up after `/vault-sync-install`
- Investigating stale directory listings on pvelxc/LXC hosts
- Verifying `--dir-cache-time` remains within the cross-device SLA envelope

## What it does

1. Detects a running `rclone mount` process.
2. Audits effective `--dir-cache-time` against a threshold (default `15m`).
3. Optionally runs `rclone rc vfs/forget dir=<path>` for targeted stale directory listings.
4. Runs bounded `rclone rc vfs/refresh recursive=true dir=/` when RC is enabled.
5. Logs outcomes to `$(platform_log_dir)/wiki-fuse-refresh.log`.

## Guardrails

- Linux-focused workflow. On non-Linux hosts, it exits with a skip message.
- Does not modify mount unit files; it validates runtime behavior and refreshes the VFS view.
- If `--dir-cache-time` exceeds threshold, returns non-zero so automation can flag drift.
- `vfs/forget` uses `dir=<path>` or `file=<path>` keys. Do not pass `recursive=true` to `vfs/forget`; recursive refresh is only for `vfs/refresh`.
- RC calls are wrapped with `timeout`; override with `VS_FUSE_RC_TIMEOUT_SECONDS=<seconds>` when needed.

## Execution

```bash
# Companion script (interactive)
bash packages/vault-sync/skills/vault-fuse-freshness/fuse-freshness.sh --check-only
bash packages/vault-sync/skills/vault-fuse-freshness/fuse-freshness.sh --max-dir-cache 10m
bash packages/vault-sync/skills/vault-fuse-freshness/fuse-freshness.sh --forget-dir _archive
bash packages/vault-sync/skills/vault-fuse-freshness/fuse-freshness.sh --dry-run

# Companion script (headless / CI)
VS_FUSE_CHECK_ONLY=1 VS_FUSE_MAX_DIR_CACHE=15m bash packages/vault-sync/skills/vault-fuse-freshness/fuse-freshness.sh
VS_FUSE_FORGET_DIRS="_archive raw" VS_FUSE_RC_TIMEOUT_SECONDS=60 bash packages/vault-sync/skills/vault-fuse-freshness/fuse-freshness.sh
```

