email security: document the replay budget on POST /rules/backtest and POST /hunts - #399
Merged
maximelb merged 1 commit intoSep 9, 2026
Conversation
…d POST /hunts The read-budget section documented in documentation#389 covers the two GET reads, which are priced in database work. The rule backtest is priced in something else entirely: it re-reads every stored message in its window — fetch, decrypt, decompress, parse, evaluate — so it carries its own budget, its own rate_bucket and its own refill window. Says what a client actually needs: that mailsec_post_read is NOT mailsec_read and must not be retried on the other's advice, that 6 backtests per 10 minutes is the allowance across every credential in the organization, that it fails open like its sibling, and that no narrower request shape takes a backtest out of the budget the way a filtered search leaves the query budget. Also states why POST /hunts is counted while it still refuses: budgeting it on the day the engine lands would be a change of contract for clients that shipped against it first. Stacked on documentation#389 because it extends that PR's Read budgets section.
Contributor
Author
|
merge with the prod release |
lcbill
approved these changes
Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the second Email Security read budget added by lc_api-go#946 — the one covering
POST /rules/backtestandPOST /hunts.Stacked on #389 deliberately. That PR introduces the
## Read budgetssection for the two GET reads; this extends it rather than opening a competing section, so the base here ismailsec-read-governor-docsand notmaster. Merge #389 first.What it says
rate_bucketvalues.rate_bucket: mailsec_post_readis notmailsec_read, stated explicitly with the consequence: a client that treated them as one budget would retry a backtest on advice that does not apply to it.POST /huntsis counted while it still answersnot_implemented: budgeting it on the day the engine lands would be a change of contract for clients that had already shipped.custom-rules.md(under Backtesting) andcli.md(besiderule backtest).Held
This must not be merged until the gateway reaches production. The docs site publishes on merge, and until lc_api-go#946 ships to
api.limacharlie.iothis page would tell customers their backtests are budgeted while they are not.Anchors were checked by hand — this repository does not validate URL fragments.
#the-replay-budgetand#registered-but-not-implemented-yetboth resolve, and the existing#read-budgetslinks fromautomation.md,cli.mdandmessages.mdstill resolve because the H2 is unchanged.