Skip to content

v0.14.1 — the trim + harden patch

Choose a tag to compare

@john-broadway john-broadway released this 04 Jul 07:31

PLAN previews and the PROVE ledger now tell the whole truth — and keep secrets out of both.

A 10-cluster sweep landing 57 verified fixes (+74 pinning tests, suite 5,153 green, ruff + pyright clean):

Hardened

  • Secrets out of PLAN previews: guest-config plans mask cloud-init secrets (e.g. cipassword); ACME DNS-plugin plans no longer capture provider credential data; notification-endpoint plans disclose/redact the fields actually applied. pve_tfa_delete no longer sends the password where a PVE error echo could leak it.
  • Disclosure gaps closed on four planes: all 12 PMG RuleDB update tools, pve_network_iface_create, SDN zone/vnet/subnet create/update, storage-backend create/delete (plans now say plainly when cleanup=True wipes disks), and pve_replication_create now render the actual field values being changed into the dry-run preview and the executed-mutation ledger entry.
  • Fail-closed: the PROVE ledger's symlink guard re-checks on every append/read; envelope-resolution failures refuse and record instead of raising unaudited; PBS remotes_list/traffic_control_upsert refuse unexpected shapes; backup storage names get the path-traversal guard; role/realm/group free-text rejects control characters; A2A non-string skill is a clean audited rejection.
  • Envelope RATE fix: caps rank by effective sustained rate (count/window), so a short-window sanity ceiling can't outrank a stricter long-window budget.
  • Startup warning when PROXIMO_LEDGER_REDACT is off (parity with the other permissive-default warnings).
  • doctor: the spine report — the four structural pillars (PLAN·PROVE·UNDO·DIAGNOSE) and the two operator sockets (CONSENT·CONTAIN) with erection recipes; configured state reported yes/no only, never the paths.

Trimmed — ~35 verified-identical duplication sites collapsed into shared helpers; dead code removed. Zero behavior change, pinned by the suite.

Honesty note: risk ratings remain an advisory heuristic, not a sandbox; UNDO covers the snapshottable surface, not every mutation; the opt-in controls stay inert until configured — see SECURITY.md for what each control honestly holds.

No new tools (352), no new env vars, no breaking changes. Full details in CHANGELOG.md.