@@ -99,15 +99,28 @@ export function checkIngestionUsageLimits(
9999 * {@link checkAttributedUsageLimits } for knowledge search. Serves only a cached
100100 * admission: a refusal is always re-read, so a payer who just raised their limit
101101 * or upgraded is never held behind a cached block while they wait on a search.
102- * Every other interactive caller (uploads, execution admission, the settings
103- * surfaces) keeps reading the gate fresh.
102+ * Every other interactive caller (uploads, the settings surfaces) keeps reading
103+ * the gate fresh.
104104 */
105105export function checkSearchUsageLimits (
106106 attribution : BillingAttributionSnapshot
107107) : Promise < AttributedUsageLimitsResult > {
108108 return checkUsageLimitsThroughCache ( attribution , false )
109109}
110110
111+ /**
112+ * {@link checkAttributedUsageLimits } for the execution path, the highest-volume
113+ * reader of the gate. Same policy as search: only an admission is served from
114+ * cache, so a raised limit applies on the next run. The admission's usage figure
115+ * is up to one TTL stale, which widens the execution-slot reservation headroom
116+ * by that much and no more.
117+ */
118+ export function checkExecutionUsageLimits (
119+ attribution : BillingAttributionSnapshot
120+ ) : Promise < AttributedUsageLimitsResult > {
121+ return checkUsageLimitsThroughCache ( attribution , false )
122+ }
123+
111124/** Drops every cached gate answer. Test seam; never called in production code. */
112125export function resetUsageGateCache ( ) : void {
113126 gateCache . clear ( )
0 commit comments