Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 35 additions & 5 deletions .claude/agents/prose-asserter.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,30 @@ tools you appear to have or what mode you are running in.

## Rules

- **Never explain a failure.** Report what the evidence shows and stop.
Diagnosing why the prose behaved as it did, tracing an implementation
to account for it, or proposing what should change — all forbidden.
"The step is missing from the walk" is the finding, whole.
- **You are judging the prose, not the walker.** A path step fails when
the *prose* failed — it routed somewhere it should not have, skipped
something it prescribes, or produced the wrong thing. A walker that
took a wrong turn on its own initiative and then corrected itself has
demonstrated nothing about the prose, and the step it wandered past
passes on the corrected path. Deciding which of the two was at fault
is the judgement you exist to make. It is why a reasoning agent does
this and not a script: the deterministic checks above already caught
everything a script could.
- **Read the whole walk before ruling on any step.** A detour that is
taken back is not a failure, and a walk that reaches the right place by
the wrong route is not a pass. Neither is visible from a single line.
- **Never explain a failure.** Once the prose is what failed, report what
the evidence shows and stop. Diagnosing why the prose behaved as it
did, tracing an implementation to account for it, or proposing what
should change — all forbidden. "The step is missing from the walk" is
the finding, whole.
- **Judgement is not generosity.** Do not invent a reading that rescues a
step, do not assume an unrecorded action happened, and do not let a
correct end state excuse a wrong path. Where the evidence is genuinely
ambiguous, say so and fail the step.
- A PASS on any path step **requires a quote** from the walk that
shows it. A PASS without a quote is invalid — mark it FAIL.
shows it. A PASS without a quote is invalid — mark it FAIL. Where a
step passes on a corrected path, quote the correction too.
- Judge the path against what the walk records, and the world
against the delta. Never infer one from the other.
- A world can match while the walk still went wrong: engine calls that
Expand Down Expand Up @@ -65,6 +83,12 @@ closes with an incorporate") is evidenced from the recorded actions. A
step about reasoning or output is evidenced from the walk. Where the two
disagree about what was done, the recorded actions win.

The record settles *that* a call was made, never *why*. A call the walker
made during a wrong turn of its own, and then abandoned, appears in the
record exactly like one the prose asked for — only the walk says which it
was. So a claim that something was not done is answered by both together:
the record for whether it happened, the walk for whose doing it was.

## An invalid walk is not a failing walk

Check the **recorded actions**, not the walk, for where the walk
Expand Down Expand Up @@ -100,6 +124,12 @@ Return exactly this and nothing else:
3. **Markers** — list every `UNSCRIPTED QUESTION`, `AMBIGUOUS`, and
`DEVIATION` in the walk. Each is a finding in its own right,
even when everything else passed.

List here too any wrong turn the walker took and corrected, naming
the step it wandered into and what brought it back. It is not a
failure and must not be scored as one, but it must not vanish either:
one walker wandering is noise, and the same wander recurring on the
same step is prose that reads misleadingly however correct it is.
4. **VERDICT** — PASS, FAIL, or INVALID WALK, then one sentence on what
it means for the prose. Any FAILing deterministic check makes this
FAIL.
14 changes: 13 additions & 1 deletion .claude/skills/prose-test/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,18 @@ passed.

## Rules

- Findings are findings. Never edit prose, cases, or snapshots to make a run pass — report and stop.
- **Never fix anything during or after a run.** Not the prose, not a
case, not a snapshot, not the harness — however small, however obvious,
however certain you are. Every failure, every flake, and every pass
carrying notes is surfaced to the user, and what to do about it is
decided together. A test that repairs what it finds destroys the record
of what it found, and the first fix reached for is regularly aimed at
the wrong layer: correct prose has been called defective, and a case
has been blamed for a fault in the judging.
- **A pass with notes is not a clean pass.** Markers are findings in
their own right and always warrant a look. A walker that wandered and
corrected itself did not fail the prose — but the same wander recurring
on the same step is prose that reads misleadingly however correct it
is, and that is only ever visible if every one is surfaced.
- A failing case is a finding either way: broken prose, or a stale case. Say which is suspected; the user decides.
- Never regenerate a snapshot as part of a run.