Skip to content

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