That’s exactly it - without the Check field, “done” means whatever the agent decides it means.
On the [A] layer: I don’t rely on reading order. Agent Review is the real enforcement - if the agent can explain the invariants before coding, it processed what matters.
Makes sense. I've found the same thing - getting the agent to say the invariants back before it writes anything surfaces a misread while it's still cheap to deal with. The one place I'd be careful is that it tells you it understood, not that the code does the right thing. I've had it restate a rule perfectly and then break it two functions later. So I treat the explain-back as the check on whether it read the brief, and keep a runnable test for whether the code actually holds to the rule once it exists.
Exactly right. Explain-back checks parsing, not compliance.
I treat ANSS invariants as the spec for the test - if INV-001
says "no node_modules imports", that's what the test asserts.
Cheap pre-check, not a substitute for the real thing.
Adam Lewis
Product Engineer/Architect navigating the AI revolution
We've kept the runnable check as the load-bearing part of our specs too. Without it the agent grades itself generously on what "done" means.
Have you found agents actually read the [A] layer first when prompted, or does it need a hook to enforce the order?