Skip to content
Warning:Contents are available for feedback and preview; practices and lexicons can still change. Implement at your own risk!

software.release.status

software.release.status
{
  "lexicon": 1,
  "id": "software.release.status",
  "defs": {
    "main": {
      "type": "record",
      "description": "An append-only lifecycle statement about a version or project. State changes are expressed by superseding records, never by editing or deleting prior ones; current state is the latest live same-DID status record for a subject, and absence means active. Yank means do-not-newly-adopt, never ceases-to-exist. The documented norm is yank, don't delete; retraction is the testimonied last resort for mistakes — a retracted status written in the same commit as its subject's deletion, so the removal itself stays in append-only history.",
      "key": "tid",
      "record": {
        "type": "object",
        "required": [
          "subject",
          "status"
        ],
        "properties": {
          "subject": {
            "type": "string",
            "format": "at-uri",
            "description": "The software.release.version or software.release.project this statement is about. Must be same-DID."
          },
          "status": {
            "type": "string",
            "knownValues": [
              "yanked",
              "active",
              "deprecated",
              "archived",
              "retracted"
            ],
            "maxLength": 64,
            "description": "Lifecycle state. yanked: do not newly adopt (explicit-version access keeps working, channel resolution never answers with it, updaters fail static). active: supersedes a prior state (unyank). deprecated: still valid for resolution, always surfaced with a warning. archived: for project subjects. retracted: testimony that the subject was deliberately deleted by the key-holder — written in the same commit as the deletion, its subject intentionally dangling thereafter. Records with unrecognized values are ignored for state derivation."
          },
          "kind": {
            "type": "string",
            "knownValues": [
              "security",
              "broken",
              "superseded"
            ],
            "maxLength": 64,
            "description": "Optional machine-facing reason category. Open vocabulary."
          },
          "reason": {
            "type": "string",
            "maxLength": 3000,
            "maxGraphemes": 300,
            "description": "Optional human-facing explanation."
          }
        }
      }
    }
  }
}
#mainrecordkey:tid

An append-only lifecycle statement about a version or project. State changes are expressed by superseding records, never by editing or deleting prior ones; current state is the latest live same-DID status record for a subject, and absence means active. Yank means do-not-newly-adopt, never ceases-to-exist. The documented norm is yank, don't delete; retraction is the testimonied last resort for mistakes — a retracted status written in the same commit as its subject's deletion, so the removal itself stays in append-only history.

subjectstringat-uriRequired
The software.release.version or software.release.project this statement is about. Must be same-DID.
statusstringRequiredmaxLength:64knownValues:yanked, active, deprecated, archived, retracted
Lifecycle state. yanked: do not newly adopt (explicit-version access keeps working, channel resolution never answers with it, updaters fail static). active: supersedes a prior state (unyank). deprecated: still valid for resolution, always surfaced with a warning. archived: for project subjects. retracted: testimony that the subject was deliberately deleted by the key-holder — written in the same commit as the deletion, its subject intentionally dangling thereafter. Records with unrecognized values are ignored for state derivation.
kindstringOptionalmaxLength:64knownValues:security, broken, superseded
Optional machine-facing reason category. Open vocabulary.
reasonstringOptionalmaxLength:3000maxGraphemes:300
Optional human-facing explanation.