Rate-budget and outbound-profile foundation (stacked on #74) #76
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!76
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/71-rate-profile-foundation"
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?
Scope
Next bounded slice for #70 / #71, stacked on #74. Rate limiting remains the highest priority. Hermes, OpenClaw and Agent Zero can select the same operator-configured outbound application-header profile without replacing their prompts/tools or getting separate capacity.
Implementation
requests_per_minute,burst) in addition to the active-request limit and bounded FIFO.Retry-Afterbased on refill time and configured fallback.[profiles.NAME]and[provider_profiles]operator configuration, integrated into the real relay before admission/upstream connection.research/rate-profile-foundation.org.RED-first evidence
Test-only head
72901bf58dc8e7caf292a988ee1b1c2e84c3bbf5ran BEFORE runtime changes. Actions run34724841525, job103637062682: 2 passed, 12 failed, 14 total, with failures on missing rate configuration/profile support. The checkout log confirms the exact head, not a synthetic merge.Implementation head:
1c0869912bb26ddb46f22982701867939076a3aa. Its policy check is being evaluated separately; no green assertion is made until the result is available.Verification boundary / remaining work
The existing full Common Lisp proxy check remains enabled and is NOT green on the parent: run
34715742893stalls after the first HTTP test and crashes in a Woo socket callback. The isolated policy job does not replace that full transport gate. The new boundary test substitutes only the final network operation; it is not live HTTP/SSE/provider conformance.This is process-local request-start rate enforcement, not distributed/persistent account quota, TPM accounting, a five-hour credit budget, or upstream-429 cooldown. Rate zero preserves backward compatibility, so a nonzero operator rate must be configured. Different origins sharing one account will need explicit quota-group mapping.
Profiles are header-only normalization, not full anonymization/indistinguishability. OpenCode identity values in tests are explicitly SYNTHETIC, not a verified capture of a released version. Real capture/export/diff, provenance persistence, and provider conformance remain in #71. No permission/entitlement change is implied.
No merge or deployment while the full transport/lifecycle gate remains blocked. This PR does not close #71.
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.