evidence-rules
Skill0 starsChanged 20 days agoApache-2.0View on GitHub
The hive constitution: rules for what counts as evidence before you claim anything is done, fixed, green, safe or verified. Applies to every task. Use whenever you are about to report an outcome, cite a measurement, trust a check, or decide a test or gate result means something.
In this repository15 other files it gives its agents.
- ai-exchangeSkill
- cleanupSkill
- design-reviewSkill
- gradeSkill
- live-ai-checkSkill
- mine-skillsSkill
- open-prSkill
- parallel-workSkill
- plan-tasksSkill
- releaseSkill
- review-changeSkill
- ship-changeSkill
- skill-evalSkill
- test-necessitySkill
- write-specSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
If the project names its own commit status (evidence.status), {{cli}} evidence exits 0 only when that status is success on HEAD and the …
- Very specific: line 19
If the gate verdict is invalid, the tree changed while it ran.
- Very specific: line 33
A test is evidence only if breaking the code turns it red: Use {{skill:test-necessity}} / {{cli}} probe to show it.
- Distinctive: line 55
Change one variable at a time: If two things changed between a red run and a green run, you don't know which one fixed it.
- Distinctive: line 60
Stitched excerpts can invent adjacency: Don't join output from separate runs into one block and present it as a single observation.
- Distinctive: line 62
A wait condition must be reachable: Before you wait for "X becomes true", confirm X can become true.
- Distinctive: line 67
Do not delete or skip a failing test, loosen an assertion, add a suppression, raise a timeout, or edit a gate to get green, unless the user …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Evidence rules
Each rule below came from a real failure where a confident claim turned out to be false. When a rule and a shortcut conflict, the rule wins.
Done means evidence for this exact tree
- A change is done when
{{cli}} evidenceexits 0. That means a full green gate run is recorded for the working tree as it is now. A green run on an earlier tree, a partial run (--only), or "the tests I ran passed" is not evidence. - If the project names its own commit status (
evidence.status),{{cli}} evidenceexits 0 only when that status issuccesson HEAD and the working tree is clean. A green status never covers uncommitted edits. - If the gate verdict is
invalid, the tree changed while it ran. The run proves nothing about either tree. Find what changed it, then re-run. - Report failures with their output. Report skipped steps as skipped. Do not soften a red into "mostly passing".
A check is evidence only if it could have failed
- Status code is not evidence. A
200from a catch-all route, an SPA rewrite or a cached page is a failed read that looks like success. Assert the content (type, body, a string only the new code contains). - An empty result with exit 0 is the most common sign of an inert check. For example, a query scoped wrong, a filter that matches nothing, or a grep over the wrong directory. Before trusting it, prove the check can fail: point it at something that must match.
- A test is evidence only if breaking the code turns it red. Use
{{skill:test-necessity}}/{{cli}} probeto show it. - Sabotage probes can be vacuous too. A break that never runs (dead branch, wrong file, a mock that hides it) proves nothing. If a probe stays green, ask whether the break was reachable before you blame the test.
Measure, don't recall
- Measure the value now; don't trust what is written. Versions, counts, limits and config drift. Re-read them before you act, and write the reading down with its date.
- Grade the code, not the documents. A grade or claim taken from an ADR,
manifest, README, tracker, comment or earlier summary (including your own) is not
a grade: record it as
unverified, with no letter, until you have checked it against the code, even when asked to write the letter now. - Grade what will ship.
git fetchfirst. If the local checkout is behind, readorigin/<base>(git show origin/<base>:<path>or a fresh worktree), not the stale files on disk. - Enumeration is not coverage. Listing what you looked at does not show you looked at everything. State the denominator: "graded 40 of 312 files".
Experiments
- Change one variable at a time. If two things changed between a red run and a green run, you don't know which one fixed it.
- Don't build the conclusion into the command. For example,
grep … | head -1when you expect one hit, or|| trueon the step you are testing. Let the command show you the case you didn't expect. - Stitched excerpts can invent adjacency. Don't join output from separate runs into one block and present it as a single observation.
- A wait condition must be reachable. Before you wait for "X becomes true", confirm X can become true. Put a time limit on the wait, and check at the limit.
Never make it green by weakening the check
Do not delete or skip a failing test, loosen an assertion, add a suppression, raise a timeout, or edit a gate to get green, unless the user explicitly asks you to. Fix the cause. If the check itself is wrong, say so, show why, and change it in its own reviewed step.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

