Decision Gate Docs

Deterministic, replayable gate evaluation with auditable decisions.

Asset Core docs

runpack_export

Export deterministic runpack artifacts for offline verification.

Key notes

  • Writes manifest and logs to output_dir; generated_at is recorded in the manifest.
  • include_verification adds a verification report artifact.
  • Use after runs complete or for audit snapshots.

Inputs

  • generated_at (required): Timestamp recorded in the manifest.
  • include_verification (required): Generate a verification report artifact.
  • manifest_name (optional): Optional override for the manifest file name.
  • namespace_id (required): Namespace identifier.
  • output_dir (optional): Optional output directory (required for filesystem export).
  • run_id (required): Run identifier.
  • scenario_id (required): Scenario identifier.
  • tenant_id (required): Tenant identifier.

Input Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "generated_at": {
      "description": "Timestamp recorded in the manifest.",
      "oneOf": [
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "unix_millis"
            },
            "value": {
              "type": "integer"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "logical"
            },
            "value": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "type": "object"
        }
      ]
    },
    "include_verification": {
      "description": "Generate a verification report artifact.",
      "type": "boolean"
    },
    "manifest_name": {
      "description": "Optional override for the manifest file name.",
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Manifest file name.",
          "type": "string"
        }
      ]
    },
    "namespace_id": {
      "description": "Namespace identifier.",
      "minimum": 1,
      "type": "integer"
    },
    "output_dir": {
      "description": "Optional output directory (required for filesystem export).",
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Output directory path.",
          "type": "string"
        }
      ]
    },
    "run_id": {
      "description": "Run identifier.",
      "type": "string"
    },
    "scenario_id": {
      "description": "Scenario identifier.",
      "type": "string"
    },
    "tenant_id": {
      "description": "Tenant identifier.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "scenario_id",
    "tenant_id",
    "namespace_id",
    "run_id",
    "generated_at",
    "include_verification"
  ],
  "type": "object"
}

Outputs

  • manifest (required): Type: object.
  • report (required): One of 2 schema variants.
  • storage_uri (optional): Optional storage URI for managed runpack storage backends.

Output Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "manifest": {
      "additionalProperties": false,
      "properties": {
        "artifacts": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "artifact_id": {
                "description": "Artifact identifier.",
                "type": "string"
              },
              "content_type": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "description": "Artifact content type.",
                    "type": "string"
                  }
                ]
              },
              "hash": {
                "additionalProperties": false,
                "properties": {
                  "algorithm": {
                    "enum": [
                      "sha256"
                    ],
                    "type": "string"
                  },
                  "value": {
                    "description": "Lowercase hex digest.",
                    "type": "string"
                  }
                },
                "required": [
                  "algorithm",
                  "value"
                ],
                "type": "object"
              },
              "kind": {
                "enum": [
                  "scenario_spec",
                  "trigger_log",
                  "gate_eval_log",
                  "decision_log",
                  "packet_log",
                  "dispatch_log",
                  "evidence_log",
                  "submission_log",
                  "tool_transcript",
                  "verifier_report",
                  "custom"
                ],
                "type": "string"
              },
              "path": {
                "description": "Runpack-relative artifact path.",
                "type": "string"
              },
              "required": {
                "type": "boolean"
              }
            },
            "required": [
              "artifact_id",
              "kind",
              "path",
              "content_type",
              "hash",
              "required"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "generated_at": {
          "oneOf": [
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "unix_millis"
                },
                "value": {
                  "type": "integer"
                }
              },
              "required": [
                "kind",
                "value"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "logical"
                },
                "value": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "kind",
                "value"
              ],
              "type": "object"
            }
          ]
        },
        "hash_algorithm": {
          "enum": [
            "sha256"
          ],
          "type": "string"
        },
        "integrity": {
          "additionalProperties": false,
          "properties": {
            "file_hashes": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "hash": {
                    "additionalProperties": false,
                    "properties": {
                      "algorithm": {
                        "enum": [
                          "sha256"
                        ],
                        "type": "string"
                      },
                      "value": {
                        "description": "Lowercase hex digest.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "algorithm",
                      "value"
                    ],
                    "type": "object"
                  },
                  "path": {
                    "description": "Runpack-relative artifact path.",
                    "type": "string"
                  }
                },
                "required": [
                  "path",
                  "hash"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "root_hash": {
              "additionalProperties": false,
              "properties": {
                "algorithm": {
                  "enum": [
                    "sha256"
                  ],
                  "type": "string"
                },
                "value": {
                  "description": "Lowercase hex digest.",
                  "type": "string"
                }
              },
              "required": [
                "algorithm",
                "value"
              ],
              "type": "object"
            }
          },
          "required": [
            "file_hashes",
            "root_hash"
          ],
          "type": "object"
        },
        "manifest_version": {
          "description": "Runpack manifest version.",
          "type": "string"
        },
        "namespace_id": {
          "description": "Namespace identifier.",
          "minimum": 1,
          "type": "integer"
        },
        "run_id": {
          "description": "Run identifier.",
          "type": "string"
        },
        "scenario_id": {
          "description": "Scenario identifier.",
          "type": "string"
        },
        "security": {
          "additionalProperties": false,
          "properties": {
            "dev_permissive": {
              "type": "boolean"
            },
            "namespace_authority": {
              "description": "Namespace authority mode label.",
              "type": "string"
            }
          },
          "required": [
            "dev_permissive",
            "namespace_authority"
          ],
          "type": "object"
        },
        "spec_hash": {
          "additionalProperties": false,
          "properties": {
            "algorithm": {
              "enum": [
                "sha256"
              ],
              "type": "string"
            },
            "value": {
              "description": "Lowercase hex digest.",
              "type": "string"
            }
          },
          "required": [
            "algorithm",
            "value"
          ],
          "type": "object"
        },
        "tenant_id": {
          "description": "Tenant identifier.",
          "minimum": 1,
          "type": "integer"
        },
        "verifier_mode": {
          "enum": [
            "offline_strict",
            "offline_with_fetch"
          ],
          "type": "string"
        }
      },
      "required": [
        "manifest_version",
        "generated_at",
        "tenant_id",
        "namespace_id",
        "scenario_id",
        "run_id",
        "spec_hash",
        "hash_algorithm",
        "verifier_mode",
        "integrity",
        "artifacts"
      ],
      "type": "object"
    },
    "report": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "additionalProperties": false,
          "properties": {
            "checked_files": {
              "minimum": 0,
              "type": "integer"
            },
            "errors": {
              "description": "Verification error messages.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "status": {
              "description": "Runpack verification status.",
              "enum": [
                "pass",
                "fail"
              ],
              "type": "string"
            }
          },
          "required": [
            "status",
            "checked_files",
            "errors"
          ],
          "type": "object"
        }
      ]
    },
    "storage_uri": {
      "description": "Optional storage URI for managed runpack storage backends.",
      "oneOf": [
        {
          "type": "null"
        },
        {
          "type": "string"
        }
      ]
    }
  },
  "required": [
    "manifest",
    "report"
  ],
  "type": "object"
}

Examples

Export a runpack with manifest metadata.

Input:

{
  "generated_at": {
    "kind": "unix_millis",
    "value": 1710000000000
  },
  "include_verification": false,
  "manifest_name": "manifest.json",
  "namespace_id": 1,
  "output_dir": "/var/lib/decision-gate/runpacks/run-0001",
  "run_id": "run-0001",
  "scenario_id": "example-scenario",
  "tenant_id": 1
}

Output:

{
  "manifest": {
    "artifacts": [
      {
        "artifact_id": "decision_log",
        "content_type": "application/json",
        "hash": {
          "algorithm": "sha256",
          "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
        },
        "kind": "decision_log",
        "path": "decision_log.json",
        "required": true
      }
    ],
    "generated_at": {
      "kind": "unix_millis",
      "value": 1710000000000
    },
    "hash_algorithm": "sha256",
    "integrity": {
      "file_hashes": [
        {
          "hash": {
            "algorithm": "sha256",
            "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
          },
          "path": "decision_log.json"
        }
      ],
      "root_hash": {
        "algorithm": "sha256",
        "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
      }
    },
    "manifest_version": "v1",
    "namespace_id": 1,
    "run_id": "run-0001",
    "scenario_id": "example-scenario",
    "spec_hash": {
      "algorithm": "sha256",
      "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    },
    "tenant_id": 1,
    "verifier_mode": "offline_strict"
  },
  "report": null,
  "storage_uri": null
}