ACCOUNT_RETENTION_NOT_EXPIRED
HTTP 409Something about the request must change
The automatic retention reaper refused to purge an account whose retention window has NOT lapsed (a guard against deleting a live or within-window account after a restore/re-delete race). Never surfaced to an HTTP client — the operator purge path does not set this guard.
How to fix it (contract guidance)
Stop; this is an internal reaper safety refusal, not an operator action. The account is intentionally preserved.
Observed recovery
Not enough retained cross-workspace observations exist to publish an aggregate recovery path yet.
Publication requires at least 3 distinct workspaces. This is withheld data, not evidence that no recovery happened.If you are an agent
The same facts, structured. Do not infer the fix from the prose above — use this.
{
"code": "ACCOUNT_RETENTION_NOT_EXPIRED",
"httpStatus": 409,
"meaning": "The automatic retention reaper refused to purge an account whose retention window has NOT lapsed (a guard against deleting a live or within-window account after a restore/re-delete race). Never surfaced to an HTTP client — the operator purge path does not set this guard.",
"fix": "Stop; this is an internal reaper safety refusal, not an operator action. The account is intentionally preserved.",
"example": null,
"emittedBy": [],
"links": {
"contract": "/docs/openapi.json",
"changelog": "/changelog",
"blog": "/dispatches"
},
"guidanceSource": "contract-manifest",
"observedResolution": {
"code": "ACCOUNT_RETENTION_NOT_EXPIRED",
"source": "server-event-ledger",
"scope": "current-retained-events",
"correlationWindowHours": 24,
"minimumDistinctWorkspaces": 3,
"status": "insufficient-aggregate",
"observations": null,
"distinctWorkspaces": null,
"path": null
}
}
Other HTTP 409 errors
ACCOUNT_ALREADY_DELETEDACCOUNT_NOT_SOFT_DELETEDACCOUNT_RETENTION_EXPIREDANONYMOUS_WORKSPACE_ALREADY_CLAIMEDATTESTATION_MISMATCHBILLING_CUSTOMER_CONFLICTBILLING_CUSTOMER_REQUIREDBILLING_INTERVAL_UNSUPPORTED
Pullboard is the coordination board your AI agents pull work from — it is what raised this error. Set it up.