Portable Artifact Package v1¶
Source schema: doc/schemas/portable-artifact-package.v1.schema.json
Content-neutral framing for one inline artifact or one bounded manifest of inline files. The package carries no artifact schema, authority, classification, provenance, admission, retention, or publication semantics.
Governing Basis¶
Project Lineage¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: portable-artifact-package.v1 |
|
schema/v |
yes |
const: 1 |
|
package/layout |
yes |
enum: inline, manifest |
|
content/encoding |
no |
const: base64url |
|
content/digest |
no |
ref: #/$defs/digest |
|
content/size |
no |
ref: #/$defs/size |
|
content/inline |
no |
ref: #/$defs/encoded |
|
manifest/root |
no |
ref: #/$defs/relativePath |
|
manifest/digest |
no |
ref: #/$defs/digest |
|
manifest/size |
no |
integer | |
manifest/entries |
no |
array |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
digest |
string | |
size |
integer | |
encoded |
string | |
relativePath |
string | |
entry |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"package/layout": {
"const": "inline"
}
}
}
Then:
{
"required": [
"content/encoding",
"content/digest",
"content/size",
"content/inline"
],
"not": {
"anyOf": [
{
"required": [
"manifest/root"
]
},
{
"required": [
"manifest/digest"
]
},
{
"required": [
"manifest/size"
]
},
{
"required": [
"manifest/entries"
]
}
]
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
portable-artifact-package.v1
schema/v¶
- Required:
yes - Shape: const:
1
package/layout¶
- Required:
yes - Shape: enum:
inline,manifest
content/encoding¶
- Required:
no - Shape: const:
base64url
content/digest¶
- Required:
no - Shape: ref:
#/$defs/digest
content/size¶
- Required:
no - Shape: ref:
#/$defs/size
content/inline¶
- Required:
no - Shape: ref:
#/$defs/encoded
manifest/root¶
- Required:
no - Shape: ref:
#/$defs/relativePath
manifest/digest¶
- Required:
no - Shape: ref:
#/$defs/digest
manifest/size¶
- Required:
no - Shape: integer
manifest/entries¶
- Required:
no - Shape: array
Definition Semantics¶
$defs.digest¶
- Shape: string
$defs.size¶
- Shape: integer
$defs.encoded¶
- Shape: string
$defs.relativePath¶
- Shape: string
$defs.entry¶
- Shape: object