← Vault Index
Source: frameworks/plugin-engagement-manager/advisory-sessions/skills/run-report/SKILL.md

name: run-report description: Assembles the report on what the run did — steps run, steps skipped with their reasons, verifier result, and everything needing a human's eyes. Built from the manifest, the verifier and the ledger, never written as prose. Use as the final step of Phase B, on every run.


Run report

The deliverable is the report, not the artifacts. It is how Kathryn knows what happened without opening seven files.

Never skipped

Run the verifier first

py verifyrun.py engagements//sessions// # Windows python3 verifyrun.py engagements//sessions// # macOS / Linux / cloud

It checks the manifest against the filesystem: every unconditional step ran, every RUN produced a real artifact stamped with the right ledgerId, every SKIP named a reason from the closed list.

Exit 1 blocks the report. Do not write around a failure and do not explain it away. Go back and run the step. A report that says PASS on a failed run is the one output that makes everything else untrustworthy.

Assemble, do not compose

Three structured inputs and nothing else:

By the end of a run you are the least reliable narrator in the system, so you do not get to describe your own work from memory here. Every line comes from a file.

Shape

SESSION: [engagement] · [date] · [type]
LEDGER:  [ledgerId] · [n] claims · [n] hedged · gate CLEAR
VERIFY:  [PASS | FAIL — failing check]

DID
- [step → artifact path]

DID NOT, AND WHY
- [step → reason from the closed list]

NEEDS YOU
- [consent flags, contradictions, scope events, interpreted dates,
   unconfirmed names, open questions, advisor notes — in that order]

WAITING ON THEM
- [client commitments, with owner and date state]

WAITING ON YOUR YES
- [each draft and where it is]

UNOWNED
- [work that surfaced and belongs to a different function]

Ordering rule

NEEDS YOU is ordered by what costs most to get wrong, not by what is easiest to describe. Consent flags first — a decision made after someone left the call is a relationship problem, and it outranks every fact error underneath it.

Output

engagements//sessions//run-report.md, and returned in the conversation.