syntaqxSelf-hosted runners: a workspace on hold registers none, and a free workspace runs 4 of its workflow jobs on them at once. Runner registration had no billing check, and jobs on self-hosted runners skipped the workspace's concurrency limit, so a free workspace could run any number of jobs (each uploading artifacts and cache and writing logs) on runners of its own. Making a registration token now asks billing for the workspace's standing and refuses one while g1t staff hold it (Entitlements gains held). When a runner looks for work and its workspace already has FREE_SELF_HOSTED_JOBS (4, a wrangler var; 0 is no cap) jobs going on its runners, billing is asked whether it has the plan; without it, the workflow jobs wait until one finishes. Billing is asked only at the cap, so a runner's poll stays cheap, and when billing does not answer jobs go ahead. The self-hosted runners guide says so.f1e1810History
- ..
- agents
- chat
- customize
- folios
- people
- team
- actions-settings.tsx
- agents.tsx
- apps.tsx
- audit-export.ts
- audit.tsx
- billing.tsx
- chat-settings.tsx
- code-access.tsx
- code-overview.tsx
- context.tsx
- emoji.tsx
- gateway.tsx
- guardrails.tsx
- home-seen.ts
- home.tsx
- integrations-directory.tsx
- integrations.tsx
- layout.tsx
- member-invitations.tsx
- members.tsx
- memory.tsx
- moved.ts
- new.tsx
- overview.tsx
- package.tsx
- packages.tsx
- people.tsx
- permissions.tsx
- personal-access-tokens.tsx
- pins.ts
- projects.tsx
- repositories.tsx
- rules.tsx
- ruleset.tsx
- runners.tsx
- secrets.tsx
- security-bypass.tsx
- security-patterns.tsx
- security-settings.tsx
- security.tsx
- settings.tsx
- soon.tsx
- spend-pill.ts
- spend-receipt.tsx
- spend.tsx
- statement-csv.ts
- statement-entries.ts
- tab-soon.tsx
- team-new.tsx
- teams.tsx
- token-new.tsx
- token.tsx
- tokens.tsx
- usage.tsx
- webhooks.tsx
- workspace-overview.tsx