# Promotion Policy

This file defines how evaluator findings may influence later
`tikv-slow-diagnosis` edits.

## Accepted target surfaces

- `entry_routing`
- `scope_or_path_logic`
- `required_evidence`
- `reference_activation`
- `output_wording_and_uncertainty`

## Improvement item schema

```json
{
  "bucket": "workflow | knowledge | output | do_not_change_yet",
  "title": "",
  "problem_statement": "",
  "proposed_skill_change": "",
  "target_surface": "entry_routing | scope_or_path_logic | required_evidence | reference_activation | output_wording_and_uncertainty",
  "source_case_ids": [],
  "source_mismatch_types": [],
  "evidence_strength": "repeated_clear_cases | single_case_strong | insufficient",
  "merge_readiness": "eligible_now | review_only | do_not_change_yet",
  "rationale": ""
}
```

## Promotion rules

- only promote cases whose `final_human_conclusion.status = clear`
- every proposed change must trace back to at least one reviewed case and one
  explicit `mismatch_type`
- prefer repeated clear cases before changing reusable workflow or knowledge
- a single case may justify change only when it exposes a materially wrong
  outcome caused by `missing_required_evidence` or `overclaimed_root_cause`

## merge_readiness

- `eligible_now`
  Safe to feed into the next `tikv-slow-diagnosis` edit proposal.
- `review_only`
  Useful signal, but not yet stable enough to change the main skill.
- `do_not_change_yet`
  Track it, but do not let it influence the main skill now.

When in doubt between `eligible_now` and `review_only`, prefer `review_only`.

## Evaluator-only invariants

These must not be mistaken for direct runtime-skill behavior:

- `clinic_only = true` is an evaluation discovery contract, not a diagnosis
  entry restriction inside `tikv-slow-diagnosis`
- `ignore_grafana_only = true` is an evaluation sampling rule, not a reason to
  remove Grafana-assisted diagnosis from the runtime skill
- excluded cases, Grafana-only benchmark cases, and comment-only benchmark
  evidence must not directly drive runtime-skill edits
