Bind one declaration to one change

Record the repository reference, full revision, and one SHA-256 declaration digest that binds those values with the policy text, scope, provider route, reviewer, and rollback. The bound policy must name one synthetic connection scope, one provider-route label, and this limited rule:

request:pending-reconciliation;provider-result:declared-or-unknown;access:unobserved

The record must also say that a request does not prove provider revocation or access removal. Name a reviewer and a route back to pending reconciliation. Do not insert a token, provider response, or production endpoint into the fixture.

Run the local gate

node --test sites/odexing.com/evidence/P247/connection-revocation-policy-gate.test.mjs

It rejects mixed declaration fields, a non-synthetic boundary, an incomplete scope, missing provider route, a removal claim, absent reviewer, and absent rollback. A pass only makes the supplied declaration inspectable. It does not inspect a diff, call a provider, handle a token, revoke a grant, reconcile a real connection, or approve a merge.

Require a maintainer to inspect the real boundary

Before merge, a named identity or platform maintainer must inspect the provider adapter, credential boundary, request idempotency, local data model, error handling, support route, and recovery rule. Do not reuse the service-credential rotation gate: that workflow concerns application-owned credentials, while this page is only about a user-requested third-party connection and its uncertain reconciliation.