User outcome: every commit accepted on main has verifiable Rhett Creighton authorship, so native proof receipts cannot be paired with unsigned source history.
Observed 2026-09-02T19:10:00Z: main advanced to 4b60290. The raw Git commit has no gpgsig block and GitHub reports commit.verification.verified=false, reason=unsigned.
Acceptance:
- A normal push of an unsigned commit to refs/heads/main is rejected server-side.
- Signed SSH commits from the configured Rhett Creighton key remain accepted.
- The enforcement is tested without consuming paid GitHub Actions minutes.
- Documentation and hooks state the same server-side boundary truthfully.
The existing unsigned shared commit must not be removed with force or history rewriting.
User outcome: every commit accepted on main has verifiable Rhett Creighton authorship, so native proof receipts cannot be paired with unsigned source history.
Observed 2026-09-02T19:10:00Z: main advanced to 4b60290. The raw Git commit has no gpgsig block and GitHub reports commit.verification.verified=false, reason=unsigned.
Acceptance:
The existing unsigned shared commit must not be removed with force or history rewriting.