A software project. The record key is the project name itself, making duplicate names per repo impossible and enabling AppView-free resolution. Name grammar (normative prose): 1 to 64 lowercase ASCII alphanumerics and interior hyphens only, no dots or colons, no leading or trailing hyphen.
any
Any valid record key
Properties
name
string
Required
Machine name of the project. MUST equal the record key. Serves as URL segment, uniqueness key, display fallback, and install token.
maxLength: 64 bytesminLength: 1 bytesparent
string
at-uri
Optional
An AT URI to a software.release.project that this project either derives or descends from.
renamedTo
string
at-uri
Optional
When set, this project has been renamed: the record persists as a permanent alias to the successor software.release.project. Record keys are immutable, so rename is never an in-place edit and an old name is never reusable.
View raw schema
{
"description": "A software project. The record key is the project name itself, making duplicate names per repo impossible and enabling AppView-free resolution. Name grammar (normative prose): 1 to 64 lowercase ASCII alphanumerics and interior hyphens only, no dots or colons, no leading or trailing hyphen.",
"key": "any",
"record": {
"properties": {
"name": {
"description": "Machine name of the project. MUST equal the record key. Serves as URL segment, uniqueness key, display fallback, and install token.",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"parent": {
"description": "An AT URI to a software.release.project that this project either derives or descends from.",
"format": "at-uri",
"type": "string"
},
"renamedTo": {
"description": "When set, this project has been renamed: the record persists as a permanent alias to the successor software.release.project. Record keys are immutable, so rename is never an in-place edit and an old name is never reusable.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "record"
}