Makoto
Menu
Schema reference

dataset-manifest.schema.json

A partitioned dataset described as one subject: member parts, their digests, and the manifest that binds them.

Title
Makoto v0.2 Dataset Manifest
Identifier
https://usemakoto.dev/schema/v0.2/dataset-manifest.schema.json
Digest
sha256:5a0498a2911bbe3029c9dbcbcbbbb2c2ce683d280b796a5f09ad271d8e9b034f
Raw
/schema/v0.2/dataset-manifest.schema.json
Carried in
A partitioned dataset handed off as one subject (Section 12.5).
Responsibility
Sorted finite partition entries and their digests.

All schemas§12.5FieldsRaw JSON

No real instance on hand. No document in this repository validates against this schema yet, so no example values are shown rather than inventing one. Contribute a fixture.

Fields

Top leveldigestlogicalPathentry

Top level#

Shape object
  • closed object
FieldTypeConstraints, rules, and a real value
version
required
string constant
  • = "0.2"
entries
required
array of entry
  • min items 1

digest#

Shape object
  • closed object

Appears at entries[].digest

FieldTypeConstraints, rules, and a real value
sha256
required
string
  • min length 64
  • max length 64

logicalPath#

Shape string
  • min length 1
  • max length 1024

Appears at entries[].name

entry#

Shape object
  • closed object

Appears at entries[]

FieldTypeConstraints, rules, and a real value
name
required
logicalPath
digest
required
digest
size
optional
integer
  • ≥ 0
  • ≤ 9223372036854775807
mediaType
optional
string
  • max length 255

Raw JSON

The published document (1,182 bytes)
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://usemakoto.dev/schema/v0.2/dataset-manifest.schema.json",
  "title": "Makoto v0.2 Dataset Manifest",
  "type": "object",
  "required": ["version", "entries"],
  "properties": {
    "version": { "const": "0.2" },
    "entries": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/entry" }
    }
  },
  "$defs": {
    "digest": {
      "type": "object",
      "required": ["sha256"],
      "properties": { "sha256": { "type": "string", "minLength": 64, "maxLength": 64 } },
      "additionalProperties": false
    },
    "logicalPath": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024
    },
    "entry": {
      "type": "object",
      "required": ["name", "digest"],
      "properties": {
        "name": { "$ref": "#/$defs/logicalPath" },
        "digest": { "$ref": "#/$defs/digest" },
        "size": { "type": "integer", "minimum": 0, "maximum": 9223372036854775807 },
        "mediaType": {
          "type": "string",
          "maxLength": 255
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

The published bytes, unmodified.