# Changelog

All notable changes to `mgf-secrets` are documented here. Format loosely follows
Keep a Changelog; versions follow SemVer.

## [Unreleased]

### Added
- **Phase 1 — registry + read-only doctor.**
  - `SECRETS.toml` schema, loader, and fail-closed validator (family-namespaced;
    duplicate ids across families and armed `held` entries are load errors).
  - Read-only doctor with checks C1–C8 (Woodpecker declared↔actual, consumed↔
    declared parity with `audit_secret_scopes.py`, unregistered-actual, held
    discipline, forge deploy-key coverage, local hygiene, host-file perms,
    policy), human table + `--json`.
  - Per-kind liveness probes (one handler per registered kind).
  - CLI `mgf-secrets` with `list` / `show` / `doctor` / `probe`, `--json`, and
    the exit-code contract (0 clean · 1 findings · 2 usage/credential/load error).
  - Test suite: schema fails-closed, ported scope-logic corpus, incident replays
    (CIR-02/33/34, expired JWT, unregistered-actor, doc-form), the AG-18 redaction
    property test, the no-ungoverned gate, and the kind-extension meta-test.
