You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a draft. The GraphQL boundary implementation is locally validated, but it remains coupled to the platform billing Sandbox qualification and is not merge-ready until the cross-repository lifecycle and access matrix pass.
Scope
Evaluate database access before tenant hydration and request-body parsing.
Use the configured platform access-policy function with bounded pooling and deadlines.
Return stable HTTP and GraphQL errors for suspended access and policy unavailability.
Bind internal identity to the trusted server surface.
Preserve structured execution error codes and retryability.
Architecture boundary
GraphQL remains transport, authentication, routing, schema exposure, and policy enforcement only. Checkout, subscriptions, reconciliation, webhooks, entitlements, and other billing workflow stay in CNC functions in constructive-db.
Validation completed locally
56 focused GraphQL policy and transport tests passed.
Affected package builds passed.
The local composed stack serves the public and private GraphQL surfaces with the policy boundary enabled.
Remaining before review
Re-run the affected and full integration gates after the backend branch is rebased.
Prove paid GraphQL access and suspended-policy rejection through the Dashboard.
Prove policy-unavailable behavior under composed local conditions.
Link final sanitized Sandbox and database-access evidence.
Boundaries
This PR intentionally contains no Stripe provider workflow, subscription state machine, or tenant billing behavior.
Closing as superseded by the generic database-standing path now on main via #1815. Current main reads the system-controlled suspended_at / suspended_reason state through the shared standing loader, fails closed on lookup errors, and refuses GraphQL requests before request protection/admission and GraphQL execution. The platform-billing launch candidate now uses that shared contract, so retaining this older configurable billing-policy middleware would duplicate authority, pooling, identity, and error behavior in Core.
Focused verification on current main: standing middleware 6/6, standing loader 7/7, error registry/HTTP 9/9, and the GraphQL server dependency build passed. The existing PR branch is preserved; no replacement code was force-pushed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WIP status
This is a draft. The GraphQL boundary implementation is locally validated, but it remains coupled to the platform billing Sandbox qualification and is not merge-ready until the cross-repository lifecycle and access matrix pass.
Scope
Architecture boundary
GraphQL remains transport, authentication, routing, schema exposure, and policy enforcement only. Checkout, subscriptions, reconciliation, webhooks, entitlements, and other billing workflow stay in CNC functions in constructive-db.
Validation completed locally
Remaining before review
Boundaries
This PR intentionally contains no Stripe provider workflow, subscription state machine, or tenant billing behavior.