Tool self-test

Every ClawRoom tool, invoked through document.modelContext.executeTool() with no agent involved. Two of these check the product's claim rather than a function: that a private draft never reaches shared state, and that a commit changes nothing until a person approves.

running