Choose the project policy
In project settings, open General → Personal OpenAI subscription. With a usable connected subscription, choose the policy that matches the work you want to cover:
The automation option is unavailable while another account holds the project’s automation funding role. Recovering a session’s automation origin does not enable or change a subscription policy. See the quickstart to connect a subscription.
How GitHub automation qualifies
When work has no requester, an existing projectown_and_automations policy can sponsor it using trusted automation provenance. If stored provenance is missing, auto can recover the origin of a GitHub bot-triggered session from retained platform records:
- Exactly one router
startedreceipt must identify the session, whose agent belongs to the expected organization and project. - The receipt must reference an authenticated GitHub provider event routed through triggers, not a record-only event.
- The event’s normalized author must be a bot, its payload type must match the recorded event key, and the event must not identify a requester.
- The event must belong to the same organization. An organization-scoped event may qualify for the project that received it; an event scoped to a different project cannot.
Quota checks and fallback
For budget-gated subscription requests, quota refreshes use the same configured Node egress relay as model calls. This avoids a direct quota probe being blocked while relayed model calls succeed. A freshly measured quota remains the current operational state even when the following model response omits quota headers. The relay does not bypass your budget. Requests still fall back to platform funding when the configured quota cutoff is reached (quota_budget_reached) or quota cannot be measured (quota_unknown). A successful, under-budget refresh can restore subscription use; successful model calls alone do not prove that a quota probe succeeded.
Operator rollout notes
The bridge sends an authenticated POST to the relay. For the fixed upstream quota path/backend-api/wham/usage, the relay derives a bodyless GET. Internal authentication and the request-header allowlist still apply. Targets are restricted to the fixed backend host and allowed paths; URLs with credentials, query strings, or fragments are rejected. This is not a general-purpose proxy.
Deploy the web relay’s quota-target support before the bridge starts relaying quota reads. An older relay rejects the new target, so a bridge-first rollout can leave quota-gated requests on platform fallback. A merged code change does not establish that both services have been deployed.