commit
Commit
The history is the audit log for what an agent did. Months from now someone runs
git blame on a line nobody remembers writing, and the commit message is the only
record of why it's there. Inside /ship it matters sooner: the /diff-explainer
step never saw the session that wrote the code. It gets the SPEC, the step reports,
and these commits, and it won't annotate a decision nobody wrote down.
So a message's job is what /diff-explainer does for a whole branch, for one
commit: the why, the risks, the tradeoffs, and what got tried and thrown away. The
diff already shows what changed.
An argument is context ("addressing review feedback", "the migration is risky"), never the literal message. Don't stop to ask for approval. Being asked to commit means make the call, then report it.