{
  "id": "rocket-blocks-static-machine-interface",
  "humanName": {
    "zh-CN": "火箭积木静态机器接口",
    "en": "Rocket Blocks Static Machine Interface"
  },
  "contractVersion": "2.0.0",
  "applicationVersion": "0.12.1",
  "languages": [
    "zh-CN",
    "en"
  ],
  "units": "mm",
  "interface": {
    "kind": "static-json",
    "transport": "read-only",
    "runtimeEndpoint": null
  },
  "documents": {
    "moduleCatalog": "./module-catalog.json",
    "designDocumentSchema": "./schemas/design-document.schema.json",
    "regularDesignExample": "./examples/regular-design.json"
  },
  "supportedDesignModes": [
    "regular"
  ],
  "operations": [
    {
      "id": "read_design_document",
      "humanName": {
        "zh-CN": "读取设计文档",
        "en": "Read design document"
      },
      "effect": "read-only"
    },
    {
      "id": "propose_design_patch",
      "humanName": {
        "zh-CN": "提出设计补丁",
        "en": "Propose design patch"
      },
      "effect": "proposal-only",
      "availability": "planned",
      "runtimeImportImplemented": false,
      "mediaType": "application/json-patch+json",
      "allowedPatchOperations": [
        "replace"
      ],
      "allowedPaths": [
        "/modules/noseCone/lengthMm",
        "/modules/noseCone/shape",
        "/modules/finSet/shapeId",
        "/modules/finSet/rootChordMm",
        "/modules/finSet/thicknessMm",
        "/modules/finSet/seatWidthMm",
        "/modules/finSet/frontTapeExtensionMm",
        "/modules/finSet/rearTapeExtensionMm",
        "/modules/finSet/count",
        "/modules/finSet/seatType"
      ],
      "forbiddenModulePaths": [
        "/modules/bodyTube",
        "/modules/engineMount"
      ],
      "baseRevisionRequired": true,
      "humanConfirmationRequired": true,
      "automaticApplyAllowed": false
    }
  ],
  "authorityPolicy": {
    "authoritativeUpstreamModule": "bodyTube",
    "noseConeOuterDiameterReference": "#/modules/bodyTube/outerDiameterMm",
    "aiPatchableModules": [
      "noseCone",
      "finSet"
    ],
    "aiReadOnlyModules": [
      "bodyTube",
      "engineMount"
    ],
    "humanConfirmationRequiredForEveryAiPatch": true
  }
}
