Add provider-wide request scheduling and 429 backpressure #74
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/llm-log!74
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/70-request-scheduler"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #70.
Implements the first llm-log traffic-scheduler slice:
429 Too Many RequestswithRetry-Afterwhen full or expired;Transparent queued requests do not emit SSE body heartbeats because doing so would commit the downstream HTTP response before the upstream status/headers exist. The explicit smart-client streaming protocol is tracked in #73; Agent Zero retry/queue integration remains #72.
Current-head audit at
ac26a689c5:NILis notWOO.EV.SOCKET:SOCKET). This is a transport/lifecycle blocker, not evidence that rate limiting is fully verified.The user explicitly prioritized rate limiting above profile work. #71 now records applied, versioned outbound privacy/compatibility profiles for Hermes/OpenClaw/Agent Zero with one shared limiter independent of profile. A bounded follow-on will add request-rate enforcement and the header-profile foundation without claiming this failing full transport gate is green. No merge/deployment claim.
Validation blocker confirmed from the existing parent head
ac26a689c5(before rate implementation):nix build -L .#checks.x86_64-linux.llm-log-config-contract.http-method-path-and-query-are-preservedreturned 200 and passed its method/path/query assertions at 19:59:49 UTC.NILis not of typeWOO.EV.SOCKET:SOCKET, in the TCP/libev callback (src/ev/tcp.lisp).Investigate socket/watch ownership and shutdown/startup lifecycle; do not treat this as a rate-limiter regression or an infrastructure-only failure. The exact cause still needs isolation.
PR #76 is stacked here and adds time-based admission. It preserves all full-suite tests and adds an independent rate-contract job so rate assertions can be evaluated without hiding this HTTP blocker. Neither PR should merge on partial green.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.