never-again

proof · nothing here yet

Numbers, once there are numbers.

This page is the layout for real na output and real fire counts from projects running never-again. It is deliberately empty. The slots below are the shape the evidence will take.

fire counts

What the log will show.

Straight from .claude/never-again/fires.log, counted by na. No model involved, which is the point.

total hook fires
fires.log
prevented, block mode
upper bound, retries double-count
hooks, blocking / warn
state.json
rules loaded per turn
warns above 60

// placeholders. no estimated token figure appears here until the constant behind it is published beside it.

terminal

Real na output.

Unedited screenshots of the stats command in projects that have been running hooks long enough to have a history.

// screenshot 01 na · full stats terminal, dark, unedited · expect ~900×560
// screenshot 02 na · most-hit rules bar chart section, after na sort
// screenshot 03 a hook firing in warn mode the permission prompt, with its reason
// screenshot 04 a hook denying a commit block mode · permissionDecision: deny

per lesson

Which rules earned their keep.

One row per lesson: how often it fired, how often that was correct, and whether a human promoted it. A rule that never fires is a rule to retire.

Lesson Rule Fires Correct Mode First filed
L001 boot the build in a real browser warn 2026-09-13
L002
L003
L004

// L001 is real and filed; its counts are blank because it has not fired in anger yet. every other row is a placeholder.

method

How these will be produced.