mirror of
https://relay.ngit.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp.git
synced 2026-10-06 07:28:23 +00:00
When a push arrives at /prs/ and the matching PR event's c tag does not equal the pushed commit, the ref must be deleted and the event must not be promoted out of purgatory. This is the correctness invariant that makes refs/nostr/<event-id> self-verifying (design-doc push semantics table, line 96: 'commit ≠ event's c tag → delete ref'). Adds: - SpecRef::Grasp06CommitMismatchDeletesRef + requirement entry in a new 'Push Validation' section - PushValidationTests::test_commit_mismatch_deletes_ref_and_blocks_promotion in grasp-audit/src/specs/grasp06/mirroring.rs - Integration test wiring in tests/grasp06_pr_hosting.rs (test 10) - run_all wiring + skipped stub in Grasp06Tests