Skip to content
schema

ProtocolMeta

Metadata for a protocol run, stored at .sniper/artifacts/{protocol_id}/meta.yaml.

Properties

PropertyTypeRequiredDescription
idstringYes
protocolstringYesProtocol name (full, feature, patch, etc.).
descriptionstringNoHuman-readable description of what this protocol run does.
statusstringYes
startedstringYes
completedstringNo
agentsarrayNo
token_usageintegerNo
gate_resultsobjectNo
stories_countintegerNo
commitsarrayNo

Full Schema

58 lines
yaml
$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://sniper.ai/schemas/protocol-meta"
title: ProtocolMeta
description: Metadata for a protocol run, stored at .sniper/artifacts/{protocol_id}/meta.yaml.
type: object
required:
  - id
  - protocol
  - status
  - started
properties:
  id:
    type: string
    pattern: "^SNPR-\\d{8}-[a-f0-9]{4}$"
    description: Timestamp-based protocol ID (e.g., SNPR-20260307-a3f2).
  protocol:
    type: string
    description: Protocol name (full, feature, patch, etc.).
  description:
    type: string
    description: Human-readable description of what this protocol run does.
  status:
    type: string
    enum: [in_progress, completed, failed, cancelled]
    description: Current status of the protocol run.
  started:
    type: string
    format: date-time
    description: ISO 8601 timestamp of when the protocol started.
  completed:
    type: string
    format: date-time
    description: ISO 8601 timestamp of when the protocol completed.
  agents:
    type: array
    items:
      type: string
    description: List of agent names used in this run.
  token_usage:
    type: integer
    minimum: 0
    description: Total tokens consumed during this run.
  gate_results:
    type: object
    additionalProperties:
      type: string
      enum: [pass, fail]
    description: Gate results per phase.
  stories_count:
    type: integer
    minimum: 0
    description: Number of stories created.
  commits:
    type: array
    items:
      type: string
    description: Git commit SHAs produced during this run.
additionalProperties: true