diff --git a/docs/hook/INDEX.md b/docs/hook/INDEX.md
index 1cfb6090..a9b72d51 100644
--- a/docs/hook/INDEX.md
+++ b/docs/hook/INDEX.md
@@ -144,7 +144,7 @@ Fail-open on infrastructure errors by design.
| [external-write-falsify-check](../../hooks/advisory-nudge/external-write-falsify-check/spec.md) | PreToolUse (opt-in) | Warn before posting hypothesis-stage text or unverified applied-on-branch claims (#656) to PR / issue / Slack / Notion |
| [external-api-literal-trigger](../../hooks/advisory-nudge/external-api-literal-trigger/spec.md) | PreToolUse | Advisory nudge when ALL_CAPS enum candidates or 3-part SQL identifiers are written without prior retrieval verification |
| [output-block-falsify-advisory](../../hooks/advisory-nudge/output-block-falsify-advisory/spec.md) | PreToolUse | Output-block falsification gate before surfacing `(Recommended)` options or bulk-action commands — T1 (exact `(Recommended)` marker without `Falsified:` line) and T2 (confidence-anchoring tokens) both emit `ask` (T1 was a hard deny until #899); on `Bash`, a blast-radius two-factor predicate (irreversible verb + shared-surface token in one command segment) also emits `ask` (#1010) |
-| [source-citation-probe-gate](../../hooks/advisory-nudge/source-citation-probe-gate/spec.md) | PreToolUse | Advisory when an external-write body (gh / Slack / Notion) cites source facts (file:line, inline-code call syntax, test-semantics claims) with no read-probe in the recent transcript and no in-body `Probe:` / `[verified]` basis — issue #830 |
+| [source-citation-probe-gate](../../hooks/advisory-nudge/source-citation-probe-gate/spec.md) | PreToolUse | Advisory when an external-write body (gh / Slack / Notion) cites source facts (file:line, inline-code call syntax, test-semantics claims) with no read-probe anywhere in the session's transcript and no in-body `Probe:` / `[verified]` basis — issue #830 |
| [composed-command-gate](../../hooks/advisory-nudge/composed-command-gate/spec.md) | PreToolUse | Advisory when an external-write body's fenced blocks carry `$` command lines with no counterpart among this session's Bash calls — the shape where the pasted output is genuine and only the command line above it was composed; clears on head-binary + 60% operand overlap, on env-var/placeholder substitution, or on `[transcribed]` — issue #1117 |
| [caller-probe-gate](../../hooks/advisory-nudge/caller-probe-gate/spec.md) | PreToolUse | Advisory when an external-write body asserts a code defect (fix( title / bug label / defect token) while citing code, with no call-site search in the recent transcript and no in-body `Caller-probe:` basis — a Read of the cited file deliberately does not clear — issue #906 |
| [unenforced-step-advisory](../../hooks/advisory-nudge/unenforced-step-advisory/spec.md) | PreToolUse | Advisory naming the MANDATORY workflow step that has no gate of its own, at the action that precedes it — code-reviewer dispatch before a content commit, pre-PR / pre-merge rebase (only when `HEAD..` is non-empty), open-PR enumeration before `git worktree add` / cmux dispatch; keyed on transcript absence, never blocks in default mode — issue #1064 |
diff --git a/hooks/advisory-nudge/source-citation-probe-gate/impl.py b/hooks/advisory-nudge/source-citation-probe-gate/impl.py
index aa764ea1..a0a3982c 100755
--- a/hooks/advisory-nudge/source-citation-probe-gate/impl.py
+++ b/hooks/advisory-nudge/source-citation-probe-gate/impl.py
@@ -28,11 +28,12 @@
Anti-bypass ported from output-block-falsify-advisory (PR #796):
unfilled scaffold placeholders (`` / `` / `<...>`
/ `