Raven taxonomy

Taxonomy for confirmation and disconfirmation cases used by the white-raven governor.

File
tools/raven_taxonomy.py
Group
Epistemic / integrity

The Raven Taxonomy — note

A short note on raven_taxonomy.py, which extends white_raven_governor from one refuting instance to a whole stream, and makes explicit that your five ravens live on two different axes.


Two axes, not one

The insight the tool encodes: a raven's colour tells you either what an instance is or who caught it — never both.

Case-colours — what an instance IS (classified by classify(outcome)):

ColourInstanceVerdict on the universal
whitea genuine counterexamplerefutes it — one suffices
blackan in-distribution passconfirms it — weakly; no pile of blacks ever proves it
greyno independent ground truth, or inconclusiveunverified — neither confirms nor refutes; an open case

Team-colours — who is LOOKING (roles acting on the stream):

ColourRoleIts metric
redred team — adversarial searchyield: white ravens surfaced proactively
blueblue team — defender / monitorcoverage: fraction of white ravens caught rather than escaped, and every grey flagged

The whole point of a red raven is to convert a not-yet-seen white raven into a seen one before a blue raven has to catch it live — and a white raven that slips past both (found_by="", "appeared in the wild") is a coverage gap the report surfaces.

What the demo shows

A mixed stream — 3 blacks, 2 greys, one white found by red, one white that escaped in production — rolls up to REFUTED (a white raven kills the universal, decisively), with red yield 1, blue coverage 50% (one escaped), and the two greys flagged for investigation. A clean stream — 5 blacks, one grey, a genuine 3-method red team, no white — rolls up to CORROBORATED with the Ambinoist stance (held as both standing and open, never proven), the grey still flagged.

How it composes

Classification and the two roles sit on top; the verdict is delegated to white_raven_governor unchanged. Only black ravens count as confirmation; grey ravens never do — turning a grey into a black or a white requires the one thing the reachability-of-truth spectrum is about, an independent ground truth. So the taxonomy is not just a naming scheme: it routes each instance to the right epistemic treatment, and the stream to a governed, never-overclaimed verdict.

Honest positioning

As with the white-raven governor: black raven ≈ Hempel's confirming instance, white raven ≈ Popper's falsifier / James's white crow, grey raven ≈ the unverified/ambiguous case, red/blue raven ≈ red-team / blue-team. The colours largely rename established ideas — which is fine. The contribution is the two-axis unification and the routing: one motif that carries both what an instance is and who caught it, wired to a governed verdict that cannot be bought past by confirming instances or by greys. Non-safety-critical scope, stdlib-only, deterministic, self-testing.