| 1 | --- |
| 2 | name: principle-prove-it-works |
| 3 | description: "Apply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'" |
| 4 | disable-model-invocation: true |
| 5 | --- |
| 6 | |
| 7 | # Prove It Works |
| 8 | |
| 9 | Verify every task output by checking the real thing directly. Do not infer from proxies, self-reports, or "it compiles." |
| 10 | |
| 11 | **Why:** Unverified work has unknown correctness. Indirect verification (file mtimes, output freshness, agent self-reports, cached screenshots) feels cheaper than direct observation. Acting on a wrong inference costs far more than checking the source. |
| 12 | |
| 13 | Check the real thing, not a proxy: |
| 14 | - Check process liveness directly, not indirectly through derived state |
| 15 | - Read the actual value, not a cached or derived representation |
| 16 | - When verification fails, suspect the observation method before suspecting the system |
| 17 | |
| 18 | ## Script the check when you can |
| 19 | |
| 20 | The strongest proof is a deterministic script that re-runs the same comparison, not a one-time eyeball. Write the script, run it, and keep its output as an artifact a reviewer can re-run instead of trusting your word. |
| 21 | |
| 22 | Keep the artifact visible for the human. Commit it only for large or complex work where the trail has to be auditable later, like a big port or migration (the **show-me-your-work** skill). |