Block a user
Epic: model the server-package axis — ssh-mcp field notes → roadmap
Overnight cut — #90–#93 all implemented, PR'd, CI-green ✅
Worked the four filed issues unattended, one PR each off fresh origin/main. Nothing merged, tagged, or released. Every PR…
feat(#93): filesystem permission pre-flight (0600/0700) + one-click fix (P1)
feat(#92): unpinned-spec detection + resolved version + one-click pin + drift (P0)
feat(#91): sidecar config detection + precedence + verified paths (P0)
feat(#90): ServerSpec spine — promote FLAG_ENV_MIGRATIONS into the server-package axis
chore(#68): rotate signing keys, key-rotation re-attestation mode, harden show-seed-b64
Decision — treat this rotation as hygiene, not urgent (2026-08-12)
After a threat-model pass (full rationale on #61): nothing users rely on today depends on the catalog signing key — the…
Signed catalog: Ed25519 verification, remote refresh, anti-rollback
Threat-model decision — catalog signing (2026-08-12)
Talked through the actual threat model. Inputs: the catalog is a list of commands that run on a user's machine, so its integrity = code…
Show *what* is unsaved: pending-changes list on the close prompt + Save & close (P1)