[AEP][medium] AEP-20260924-BE002: cap limits and fail closed on bad history - #330
Conversation
|
Review of
Required fix: on
|
|
Second review note on
|
A non-integer events limit is HTTP 400 instead of the whole log. Model-scope limits no longer treat zero as the full list. CORS preflight can return 204 without a bearer. A campaign, validation, preflight, or evidence-index file that is not a JSON object reaches the handler 500 instead of an empty success.
0b93b62 to
de1fcab
Compare
|
Fix pushed and rebased onto current main. Tip is
Not merged. The body still scores the previous SHA. A fresh Tier B review of |
Description
Caller-controlled dashboard limits are capped at 5000. A non-integer
/api/eventslimit is HTTP 400. A non-integer model-scope limit keeps 20 and returns JSON. A non-integer cleanup limit keeps 25. Zero and negative limits return no rows.OPTIONSis 204 without a bearer. Corrupt history files raise instead of becoming an empty success.This score is for
de1fcab, rebased onto main after #329. The earlier SHA6dae0f2returned HTTP 500 forlimit=abcon the model-scope and cleanup routes.Type of Change
Testing
Parent re-ran
test_dashboard_api_limits.pyandtest_do_get_routes_disk_llm_estimate: 9 passed. Ruff passed. Reviewgrok-tierb-330b-20260924repeated that run and probed the live handlers. No browser.Brutal Honesty
?limit=is parsed as an omitted limit, not as 400.DASHBOARD_TOKENandDASHBOARD_CORS_ORIGIN.EVIDENCE: 9 dashboard limit tests passed on de1fcab; review grok-tierb-330b-20260924
SMOKE: targeted unittest only; bash scripts/smoke.sh was not run on this branch
BHS_SELF_DRAFT: 100
BHS_SELF_DRAFT_AGENT: grok-aep-fix-20260924
BHS_TIER_B: 100
BHS_TIER_B_AGENT: grok-tierb-330b-20260924
BHS_TIER_B_SEVERITY: none
BHS_OFFICIAL: 100
CARRY_FORWARD: none
DEFERRED_SCOPE: history-route 400 stays on PR 336; inline timestamp stays on PR 337
LOOP_ITERATIONS: 2
OPERATOR_OVERRIDE: none