Hmbown/CodeWhale · error · PersistenceBacklogError
baseline_observation must retain the final request and…
Error message
baseline_observation must retain the final request and payload
What it means
After confirming the applied version, validate_budget requires the baseline observation to have retained at least one queued request and a non-zero estimated retained payload. A zero on either means the baseline did not actually retain the final request, contradicting the fixture's paused-consumer semantics, so the baseline is rejected as unusable for budget comparison.
Solutions
- Re-run the measurement with the consumer paused so the final request stays queued and is retained.
- Verify measure-persistence-backlog.py wrote non-zero retained_queued_requests/estimated_retained_payload_bytes into the receipt before copying it into the baseline.
- Do not hand-zero these fields; regenerate the baseline instead.
Example fix
// before
"baseline_observation": { ..., "retained_queued_requests": 0, "estimated_retained_payload_bytes": 0 }
// after
"baseline_observation": { ..., "retained_queued_requests": 1, "estimated_retained_payload_bytes": 65536 } Defensive patterns
Strategy: validation
Validate before calling
b = budget.get("baseline_observation", {})
if not b.get("retained_queued_requests") or not b.get("estimated_retained_payload_bytes"):
raise ValueError("baseline must retain the final request and payload") Try / catch
try:
compare(budget, baseline_receipt)
except PersistenceBacklogError as e:
if "retain" in str(e): regenerate_baseline() Prevention
- Run measurements only with the paused-consumer scenario enabled.
- Inspect the raw receipt for zero retained fields before promoting it to baseline.
When it happens
Trigger: `compare` reads a baseline_observation where retained_queued_requests == 0 or estimated_retained_payload_bytes == 0 — e.g. a baseline captured with the consumer unpaused so all requests drained.
Common situations: Measurement run with the paused consumer flag flipped, baseline produced from the wrong scenario, or someone zeroing fields while editing the budget.
Understand the failure class
Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.
Related errors
- baseline_observation.applied_version must be the final sent…
- baseline_observation payload is smaller than frozen…
- baseline_observation.retained_queued_requests exceeds…
- baseline provenance build profile/sample count changed
- accepted_requests must equal requests_attempted; sender…
AI-assisted analysis of Hmbown/CodeWhale@433685b202 (2026-09-15).
Data as JSON: /api/errors/9cfda0939923c57c.
Report an issue: GitHub.
Appendix: source
Thrown at scripts/check-persistence-backlog-budget.py:287
)
baseline_accepted = non_negative_integer(
baseline.get("accepted_requests"), "baseline_observation.accepted_requests"
)
if baseline_accepted != FIXTURE["requests_attempted"]:
raise PersistenceBacklogError(
"baseline_observation.accepted_requests must equal requests_attempted"
)
baseline_applied = non_negative_integer(
baseline.get("applied_version"), "baseline_observation.applied_version"
)
if baseline_applied != FIXTURE["expected_applied_version"]:
raise PersistenceBacklogError(
"baseline_observation.applied_version must be the final sent version"
)
baseline_retained = baseline["retained_queued_requests"]
baseline_payload = baseline["estimated_retained_payload_bytes"]
if baseline_retained == 0 or baseline_payload == 0:
raise PersistenceBacklogError(
"baseline_observation must retain the final request and payload"
)
if baseline_retained > baseline_accepted:
raise PersistenceBacklogError(
"baseline_observation.retained_queued_requests exceeds accepted_requests"
)
if baseline_payload < baseline_retained * FIXTURE["content_bytes_per_request"]:
raise PersistenceBacklogError(
"baseline_observation payload is smaller than frozen retained content"
)
provenance = baseline.get("provenance")
if not isinstance(provenance, dict):
raise PersistenceBacklogError("baseline_observation needs provenance")
if provenance.get("platform") != "macos":
raise PersistenceBacklogError("baseline provenance platform must be macos")
if not isinstance(provenance.get("source_sha"), str) or not SOURCE_SHA_PATTERN.fullmatch(
provenance["source_sha"]
):View on GitHub (pinned to 433685b202)