{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://northroot.dev/schemas/method.v1.schema.json",
"title": "Method Manifest (PoSH)",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"method_id",
"version",
"method_shape_root",
"runtime",
"publisher_sig"
],
"properties": {
"schema_version": {
"const": "method.v1",
"description": "Schema version tag"
},
"method_id": {
"type": "string",
"minLength": 1,
"description": "Global method identifier (e.g., com.acme/normalize-ledger)"
},
"version": {
"type": "string",
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(-[A-Za-z0-9.-]+)?$",
"description": "Semver"
},
"method_shape_root": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$",
"description": "Multiset root of span shapes"
},
"method_dag_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$",
"description": "Optional DAG hash (nodes+edges)"
},
"runtime": {
"type": "object",
"additionalProperties": false,
"required": [
"image_digest",
"method_fingerprint"
],
"properties": {
"image_digest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$",
"description": "OCI/WASM digest pin"
},
"method_fingerprint": {
"type": "string",
"description": "e.g., git:<commit>",
"pattern": "^git:[0-9a-f]{7,40}$"
}
}
},
"checker_refs": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"default": []
},
"default_policy_id": {
"type": "string"
},
"publisher_sig": {
"type": "object",
"additionalProperties": false,
"required": [
"alg",
"kid",
"sig"
],
"properties": {
"alg": {
"type": "string",
"enum": [
"ed25519"
]
},
"kid": {
"type": "string",
"minLength": 1
},
"sig": {
"type": "string",
"minLength": 1
}
}
}
}
}