> ## Documentation Index
> Fetch the complete documentation index at: https://forgekit-docs-feature-windows-portable-hooks.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog: what's new in Forge

> Weekly release notes for Forge — new features, updates, and fixes for the CLI, verification gates, and cross-session memory layer.

<Update label="July 19, 2026">
  ## Updates

  **`forge verify --deep` now reports a four-state result.** The multi-lens
  consensus run no longer collapses to a binary pass/fail. You'll see one of
  `PASS`, `FAIL`, `INCOMPLETE`, or `NOT_CONFIGURED`, so a stalled lens or an
  unconfigured repo can't quietly read as green. Only `PASS` counts as verified,
  and `PASS` now also requires the underlying `forge verify` tests status to be
  `PASS` — a green deep run can never outrun a red base run.

  See [Quality commands](/cli/quality) and
  [Verification gates](/concepts/verification-gates).

  **Completion gate requires test evidence for code changes.** For any session
  that touched source code, the Stop-path completion gate no longer accepts a
  `forge handoff` snapshot on its own. You'll need either a test file in the
  session's diff or a fresh passing `forge verify` against the current changes.
  Doc-only, config-only, and other non-code sessions are unaffected.

  When the gate blocks, the repair checklist now leads with `forge verify` so
  the evidence gets recorded before the handoff snapshot. See
  [Cross-session memory](/concepts/cross-session-memory).

  **Clearer positioning for hooks and guardrails.** Forge's automatic hooks are
  Claude Code-specific, and — like every other advisory signal — they're
  off-by-default until you opt in with `FORGE_ENFORCE=1`. The guardrails are
  defence in depth, not a security sandbox. Nothing about the runtime changed;
  the docs and CLI copy just match what the tool actually does. See
  [CLI overview](/cli/overview) and the
  [Pre-action gate](/concepts/pre-action-gate).

  ## Fixes

  **Secret redactor now preserves structured tool output.** Built-in tools like
  Bash, Read, and Grep return structured objects, and the previous redactor
  stringified those responses — which meant Claude Code silently discarded the
  rewrite and the unredacted output stayed visible. The redactor now walks the
  response recursively: strings are scrubbed in place, arrays and objects keep
  their keys and shape, and non-string leaves pass through untouched. Plain-string
  responses redact byte-identically to before, and a response with nothing to
  redact emits no rewrite at all.

  **`FORGE_GUARD_STRICT=1` exit status is no longer swallowed.** The redactor's
  shell wrapper used to force a clean exit, hiding the strict-mode failure code
  from Claude Code so the `DEGRADED` signal never surfaced. The child's exit
  status is now propagated end-to-end, so strict mode's stderr feedback actually
  reaches you. Note that this hook runs after the tool has already executed —
  strict mode makes redactor degradation loud, but blocking a call before it runs
  is the job of the [Pre-action gate](/concepts/pre-action-gate).
</Update>
