# TAXONOMY VERSIONING RULES

**Status:** MANDATORY -- taxonomy changes are versioned and logged. No silent reclassification. No version rollback.

**Versioning scheme:** SemVer `major.minor.patch`.

**Store:** `../../_public/bias-taxonomy/BLIND_SPOT_TAXONOMY.md` (Public Evaluator; E5 writes, E9 reads).

---

## Why versioning is load-bearing

The taxonomy is the Evaluator's long-memory of frame-level defects. Without versioning, new patterns accumulate invisibly: staleness looks like stability. The Phase 10 adversarial harness routinely surfaces novel defect patterns; if the taxonomy absorbs these without version marks, later runs cannot distinguish "this pattern is known" from "this pattern was re-invented." E9's over/under-report computation depends on taxonomy-version metadata as one of its staleness signals, so un-versioned drift is effectively an E9 bypass.

---

## Bump conditions

### Patch bump (`X.Y.Z -> X.Y.Z+1`)

Occurrence-counter updates on an existing taxonomy entry. No new entry, no semantic change. Patch bumps are expected on most runs; they are the normal heartbeat of the store.

### Minor bump (`X.Y.Z -> X.Y+1.0`)

A fired probe's evidence signature does not match any existing taxonomy entry, AND the pattern can be captured by an existing probe. Action: register a new taxonomy entry under the existing probe; bump minor; reset patch to 0.

Examples of minor bumps:
- Monoculture probe fires on a new school cluster not previously recorded.
- Covert tier-bias probe fires on a novel venue-tier mismatch pattern.
- Retraction miss probe fires on a new category of expression-of-concern wording.

### Major bump (`X.Y.Z -> X+1.0.0`)

A fired pattern cannot be captured by any existing probe. Action: flag to Phase 4 instruction engineering as a REOPEN TRIGGER. The Blind-Spot Mapper does NOT add probes at runtime. The taxonomy entry is registered provisionally with `probe_origin: "PROPOSED-NEW-PROBE"`; major bump is recorded; Phase 4 must either (a) define a new probe, refactor the taxonomy, and increment the probe set version, or (b) reclassify the pattern under an existing probe with rationale.

Major bumps are design-time events. Any runtime major bump that does not result in a Phase 4 reopen ticket is an invariant violation.

---

## Taxonomy entry schema

Each entry:

```
{
  "entry_id": <string>,
  "pattern_signature": <structured evidence fingerprint>,
  "probe_origin": "BSP-01-MONOCULTURE" | ... | "PROPOSED-NEW-PROBE",
  "first_seen_run_id": <string>,
  "first_seen_taxonomy_version": <semver string>,
  "occurrence_count": <int>,
  "last_seen_run_id": <string>,
  "notes": <optional free-text; design-time only>
}
```

History is additive. Deletion is prohibited. Deprecation is expressed by a separate `deprecated_at_version` field added at design time; the entry remains in the store.

---

## Catalog invariants

- No entry may exist without a `probe_origin`.
- No entry may be silently renamed; rename is a design-time operation that produces a new entry and deprecates the old.
- No version may be rolled back; a correction to a mistaken entry creates a new entry plus a correction note, never a rewrite.
- Every run records: `{taxonomy_version_at_run_start, taxonomy_version_at_run_end, entries_touched}`.
- E9 receives the taxonomy version per run; staleness detection runs externally.

---

## Runtime update protocol

1. For each fired probe, compute the pattern signature from the probe's evidence.
2. Lookup signature against current taxonomy.
3. If match -> patch-bump occurrence counter; record match in run log.
4. If no match AND an existing probe covers the pattern -> minor-bump; register new entry; record origin probe.
5. If no match AND no existing probe covers -> major-bump; register provisional entry with `probe_origin: "PROPOSED-NEW-PROBE"`; emit reopen trigger to E7 and Phase 4.
6. Write the resulting taxonomy version to the Evaluator Search Ledger and co-emit to E9.

---

## Anti-deviations

- NEVER reclassify without a version bump.
- NEVER merge two entries at runtime; mergers are design-time.
- NEVER elide a provisional `PROPOSED-NEW-PROBE` entry; provisional entries are the paper trail for Phase 4.
- NEVER trust a taxonomy write that did not produce a ledger entry; re-verify before emitting findings.
