feat: add GEWU installer and service contracts

This commit is contained in:
vasily committed 2026-10-14 19:21:17 +08:00
1 parent 254edac2c5
commit 6c9653866c
36 files changed
+8953 -70

No files matched your search

@@ -0,0 +1,152 @@
{
"$defs": {
"Finding": {
"additionalProperties": false,
"properties": {
"code": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"title": "Code",
"type": "string"
},
"message": {
"maxLength": 1000,
"minLength": 1,
"title": "Message",
"type": "string"
},
"path": {
"anyOf": [
{
"maxLength": 256,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Path"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
}
},
"required": [
"code",
"message"
],
"title": "Finding",
"type": "object"
},
"ProposalState": {
"enum": [
"staged",
"validating",
"needs-review",
"accepted",
"rejected",
"withdrawn"
],
"title": "ProposalState",
"type": "string"
}
},
"additionalProperties": false,
"properties": {
"accepted_node_ids": {
"default": [],
"items": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"type": "string"
},
"title": "Accepted Node Ids",
"type": "array"
},
"commit_id": {
"anyOf": [
{
"pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Commit Id"
},
"decided_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Decided At"
},
"findings": {
"default": [],
"items": {
"$ref": "#/$defs/Finding"
},
"title": "Findings",
"type": "array"
},
"outcome": {
"enum": [
"accepted",
"held",
"rejected",
"validation-failed"
],
"title": "Outcome",
"type": "string"
},
"payload_digest": {
"pattern": "^[a-f0-9]{64}$",
"title": "Payload Digest",
"type": "string"
},
"proposal_id": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"title": "Proposal Id",
"type": "string"
},
"revision": {
"minimum": 1,
"title": "Revision",
"type": "integer"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
},
"state": {
"$ref": "#/$defs/ProposalState"
}
},
"required": [
"proposal_id",
"revision",
"payload_digest",
"state",
"outcome"
],
"title": "ProposalReceipt",
"type": "object"
}