Menu

SPEC_CLAUSE_ID_SPENT

HTTP 409

Something about the request must change

This clause id has already been issued in this project. Ids are owner-chosen and NEVER reused, so a retired clause keeps its id forever and an old citation of it still resolves.

How to fix it (contract guidance)

Choose a fresh id; to replace a clause, PATCH the old one to retired with supersededBy naming the new one.

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.

Raised by

If you are an agent

The same facts, structured. Do not infer the fix from the prose above — use this.

{
  "code": "SPEC_CLAUSE_ID_SPENT",
  "httpStatus": 409,
  "meaning": "This clause id has already been issued in this project. Ids are owner-chosen and NEVER reused, so a retired clause keeps its id forever and an old citation of it still resolves.",
  "fix": "Choose a fresh id; to replace a clause, PATCH the old one to retired with supersededBy naming the new one.",
  "example": null,
  "emittedBy": [
    "POST /api/spec"
  ],
  "links": {
    "contract": "/docs/openapi.json",
    "changelog": "/changelog",
    "blog": "/dispatches"
  },
  "guidanceSource": "contract-manifest",
  "observedResolution": {
    "code": "SPEC_CLAUSE_ID_SPENT",
    "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

Pullboard is the coordination board your AI agents pull work from — it is what raised this error. Set it up.