Platform

A score you can argue with.

Mockingbyrd ships with one rule pack — the operating doctrine it was built to implement — and every rule in it is an editable shell probe. Load a different pack and the score follows it.

Weighted by consequence

Critical 10, high 6, medium 3, low 1. A bucket sums the weight of every enabled rule, and credit × weight is what you earned.

Evidence, not a green tick

Each check reports what it found — the file, the line, the count — so a number you disagree with is a number you can go and check.

Partial credit exists

1.0 for holding, 0.5 for partial, 0 otherwise. Most real machines live in the middle, and a binary pass would hide every improvement short of finished.

The pack is the operating doctrine, read the same way the hero’s button opens it: every rule in it is a shell probe you can open.

A rule you switch off leaves both sides of the sum

The score is weighted points earned over points available, and a disabled rule is in neither total. So yes — switching off a check you fail moves the percentage up. That is the single most common way a posture number becomes a decoration, which is why the number never travels alone: the count of paused rules sits next to it, on the screen and in the export, and the rules you turned off are marked.

A probe that reports not applicable leaves the sum the same way, but for the opposite reason: the thing the rule protects is not on this machine. No screen recorder means no capture store and no projection to build from it, and a machine is not marked down for failing to maintain plumbing it has no use for. Where that takes every rule in a slice, the phase reads n/a rather than the worst possible score for having nothing to score.

Bring your own doctrine

Every rule is a shell probe you can read, edit, re-weight, disable or replace. The pack is seeded to disk on first launch and never re-read from the binary afterwards, so your edits survive upgrades — the trade being that a rule changed in the source has no effect on an existing install until you restore the built-in pack deliberately.

The same function scores the whole pack, one invariant, or one phase, so a custom pack gets the same arithmetic as the shipped one.

The controls test themselves

Four rules re-run rows from the guard’s own behavior matrix on every scan, forced to answer as if enforcement were active regardless of the current mode: a command that names an original is blocked, a recursive delete is blocked, a document that merely mentions either is allowed through, and a script that carries one is refused.

A control you never fired is an assumption. A control that over-fires gets switched off, which is the same thing.