# CDC Diagnostics Human-Required Plan

## Current Design

- Auto Coverage classifies TiCDC/changefeed diagnostics as
  `evidence_assisted` when identifiers are present.
- The current evidence providers cannot retrieve canonical changefeed
  configuration metadata such as table filters, partition filters, dispatch
  rules, or sink configuration.
- Self-contained TiCDC usage and capability questions do not need that runtime
  metadata.

## Risks

- A diagnostic draft can mistake missing system metadata for missing customer
  context and ask the customer for information already present.
- Prompt-only routing can drift and allow an unsupported CDC diagnostic through
  the gate.

## Target Contract

- TiCDC usage, configuration how-to, and capability Q&A can remain
  `direct_answer` when no ticket-specific diagnosis is required.
- Any ticket-specific TiCDC/changefeed diagnosis is deterministically normalized
  to `human_required` at Auto Coverage Gate.
- The classification records `cdc_configuration_meta_unavailable`; it does not
  treat Org ID, Cluster ID, or Changefeed ID as the missing evidence.
- No new metadata provider, fallback, customer-visible reply, or production
  operation is introduced.

## Implementation Steps

1. Define the Q&A versus ticket-specific diagnostic contract in the classifier.
2. Add a deterministic CDC diagnostic hard stop in Auto Coverage policy.
3. Add local contract tests for both retained Q&A and blocked diagnostics.

## Verification Checklist

- CDC capability/how-to Q&A remains `direct_answer` and coverage-eligible.
- CDC error, lag, missing data, or changefeed-specific investigation becomes
  `human_required` even when all identifiers are present.
- Issue allowlists and enabled `evidence_assisted` coverage cannot bypass the
  hard stop.
- TypeScript build and relevant Node tests pass before any deployment work.
