From f7806abac70b7bde68c5ea6fd41e11f450a91f28 Mon Sep 17 00:00:00 2001 From: JUN Date: Wed, 11 Nov 2026 02:46:43 +0900 Subject: [PATCH] fix(ci): bring layout.json and the Anthropic pool doc back under their caps dev at 00680193cb fails two gates on every pull request: - file-size ratchet: scripts/test-layout/layout.json reached 2000 lines after #8117 and is NEW_OVERSIZED. The two combo-cooldown entries #8117 added move to the combos shard (layout-combos.json); the mapping is unchanged. - structure gate: structure/providers/anthropic-account-pool.md is 603 lines after #8137, over the 600-line budget. The pooled-estimate sentences fold into the preceding paragraph; the text is unchanged. --- scripts/test-layout/layout-combos.json | 4 +++- scripts/test-layout/layout.json | 2 -- structure/providers/anthropic-account-pool.md | 5 +---- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/scripts/test-layout/layout-combos.json b/scripts/test-layout/layout-combos.json index 252aaeb21ca..cfd66d37241 100644 --- a/scripts/test-layout/layout-combos.json +++ b/scripts/test-layout/layout-combos.json @@ -3,5 +3,7 @@ "server-combo-stream-hosted-tool-contract.test.ts": "server", "server-combo-stream-send-contract.test.ts": "server", "server-combo-quota-code-provenance.test.ts": "server", - "combo-codex-ws-overload-failover.test.ts": "responses" + "combo-codex-ws-overload-failover.test.ts": "responses", + "combo-cooldown-persistence.test.ts": "routing", + "server-combo-cooldown-recording.test.ts": "server" } diff --git a/scripts/test-layout/layout.json b/scripts/test-layout/layout.json index a964545cf0c..e2aecd3f4d0 100644 --- a/scripts/test-layout/layout.json +++ b/scripts/test-layout/layout.json @@ -9,7 +9,6 @@ "owner-registry-isolation.test.ts": "config", "server-combo-stream-required-tool.test.ts": "server", "combo-required-tool-stream-preflight.test.ts": "routing", "responses-auto-pause-replay-owner.test.ts": "responses", "responses-account-auto-pause.test.ts": "responses", "oauth-account-auto-pause.test.ts": "oauth", "responses-account-auto-pause-wire-owner.test.ts": "responses", "oauth-upsert-paused-api-key.test.ts": "oauth", "management-account-auto-pause.test.ts": "server", "cli-account-key-pause.test.ts": "cli", "oauth-account-auto-pause-revision.test.ts": "oauth", "config-account-auto-pause-revisions.test.ts": "config", "codex-history-pending-wal.test.ts": "codex-integration", "responses-anthropic-billing-send-budget.test.ts": "responses", "anthropic-billing-ownership.test.ts": "adapters/anthropic", "server-anthropic-billing.test.ts": "server", "server-anthropic-billing-boundaries.test.ts": "server", "router-anthropic-billing-failover.test.ts": "routing", "anthropic-billing-refusal.test.ts": "adapters/anthropic", "messages-request-id-headers.test.ts": "claude-integration", "bounded-file-read.test.ts": "lib", "responses-undeclared-tool-guard-inbound.test.ts": "responses", "explicit-empty-tool-catalog.test.ts": "responses", "explicit-empty-tool-catalog-history.test.ts": "responses", "messages-request-id-endpoint.test.ts": "claude-integration", - "combo-cooldown-persistence.test.ts": "routing", "anthropic-revoked-token.test.ts": "adapters/anthropic", "messages-revoked-token.test.ts": "claude-integration", "anthropic-revoked-token-continuation.test.ts": "adapters/anthropic", @@ -1992,7 +1991,6 @@ "web-search-run-turn-loop.test.ts": "web-search", "responses-run-turn-web-search.test.ts": "responses", "responses-claude-preflight-lease.test.ts": "responses", - "server-combo-cooldown-recording.test.ts": "server", "injection-routing-drift.test.ts": "codex-integration", "injection-routing-healer.test.ts": "codex-integration", "injection-routing-heal-apply.test.ts": "codex-integration", "cli-start-routing-heal-wiring.test.ts": "cli", "cli-status-codex-routing-drift.test.ts": "cli", "advisor-settings.test.ts": "advisor", "advisor-context.test.ts": "advisor", "advisor-state.test.ts": "advisor", "advisor-guard.test.ts": "advisor", "advisor-consult.test.ts": "advisor", "advisor-plan.test.ts": "advisor", "advisor-responses-wiring.test.ts": "advisor", "advisor-routes.test.ts": "server", "advisor-internal-authority.test.ts": "advisor", "advisor-core-boundary.test.ts": "advisor", "advisor-continuation-limit.test.ts": "advisor", "advisor-authority-transport.test.ts": "advisor", "advisor-evidence.test.ts": "advisor", "advisor-budget.test.ts": "advisor", "advisor-adaptive.test.ts": "advisor", "advisor-scope-transport.test.ts": "advisor", "local-credentials.test.ts": "cli", "local-credential-generation.test.ts": "config" diff --git a/structure/providers/anthropic-account-pool.md b/structure/providers/anthropic-account-pool.md index 4c6e6ecdeea..648a675fd58 100644 --- a/structure/providers/anthropic-account-pool.md +++ b/structure/providers/anthropic-account-pool.md @@ -227,10 +227,7 @@ flight on the credential actually dispatched, and publishes only while the insta quota epoch, configured row, account incarnation and login identity are unchanged. `captureProviderAccountQuotaEpoch(instance)` and the cache keys in `src/providers/quota/account-cache.ts` are per instance, so clearing Pool 2 quota never -invalidates the primary pool. - -With the pool on and two or more accounts, `fetchAnthropicQuota` (`src/providers/quota/vendor-probes-oauth.ts`) reports a display-only estimate via `aggregateCodexPoolCapacity`: seats weigh 1, inactive seats use their last-good row (no extra probes), paused, reauth or stale seats count as incomplete coverage. -Every Anthropic report is current only while the pool switch and each seat's id, paused and reauth state are unchanged; pool off or one account keeps the active report. Quota reset detection observes the active seat's own reading (`observedQuotaFor`), never the estimate, which has no reset times (`tests/providers/provider-anthropic-pool-capacity.test.ts`). +invalidates the primary pool. With the pool on and two or more accounts, `fetchAnthropicQuota` (`src/providers/quota/vendor-probes-oauth.ts`) reports a display-only estimate via `aggregateCodexPoolCapacity`: seats weigh 1, inactive seats use their last-good row (no extra probes), paused, reauth or stale seats count as incomplete coverage. Every Anthropic report is current only while the pool switch and each seat's id, paused and reauth state are unchanged; pool off or one account keeps the active report. Quota reset detection observes the active seat's own reading (`observedQuotaFor`), never the estimate, which has no reset times (`tests/providers/provider-anthropic-pool-capacity.test.ts`). A probe that yields no quota names one closed `quotaFailure` code from `src/providers/quota/failure-codes.ts`: `account_unavailable` when no usable credential could