Przejdź do treści

Transcript Segment v1

Source schema: doc/schemas/transcript-segment.v1.schema.json

Machine-readable schema for transcript segments that preserve room/message provenance and human-origin semantics.

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
segment_id yes string
question_id yes string
channel_id yes string
message_id yes string
speaker_ref yes string Semantic speaker at the room boundary.
gateway_node_ref yes string Node that injected the message into the room or relay path.
origin_class yes enum: node-generated, node-mediated-human, human-live
operator_presence_mode yes enum: none, mediated, direct-live
human_origin yes boolean
ts yes string ISO-8601 UTC timestamp.
content yes unspecified Either plain text or a structured content object. Structured objects should expose a stable textual projection.
visibility_scope yes enum: private-to-swarm, federation-local, cross-federation, global
consent_basis yes enum: not-required, operator-consultation, explicit-consent, federation-policy, public-scope, emergency-exception
provenance_refs yes array
redaction_markers no array Describes removals or transformations rather than silently rewriting content history.
content_hash no string
language no string
reply_to no string
attachments no array
policy_annotations no object

Conditional Rules

Rule 1

When:

{
  "properties": {
    "origin_class": {
      "const": "node-generated"
    }
  },
  "required": [
    "origin_class"
  ]
}

Then:

{
  "properties": {
    "human_origin": {
      "const": false
    },
    "operator_presence_mode": {
      "const": "none"
    }
  }
}

Rule 2

When:

{
  "properties": {
    "origin_class": {
      "const": "node-mediated-human"
    }
  },
  "required": [
    "origin_class"
  ]
}

Then:

{
  "properties": {
    "human_origin": {
      "const": true
    },
    "operator_presence_mode": {
      "const": "mediated"
    }
  }
}

Rule 3

When:

{
  "properties": {
    "origin_class": {
      "const": "human-live"
    }
  },
  "required": [
    "origin_class"
  ]
}

Then:

{
  "properties": {
    "human_origin": {
      "const": true
    },
    "operator_presence_mode": {
      "const": "direct-live"
    }
  }
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

segment_id

  • Required: yes
  • Shape: string

question_id

  • Required: yes
  • Shape: string

channel_id

  • Required: yes
  • Shape: string

message_id

  • Required: yes
  • Shape: string

speaker_ref

  • Required: yes
  • Shape: string

Semantic speaker at the room boundary.

gateway_node_ref

  • Required: yes
  • Shape: string

Node that injected the message into the room or relay path.

origin_class

  • Required: yes
  • Shape: enum: node-generated, node-mediated-human, human-live

operator_presence_mode

  • Required: yes
  • Shape: enum: none, mediated, direct-live

human_origin

  • Required: yes
  • Shape: boolean

ts

  • Required: yes
  • Shape: string

ISO-8601 UTC timestamp.

content

  • Required: yes
  • Shape: unspecified

Either plain text or a structured content object. Structured objects should expose a stable textual projection.

visibility_scope

  • Required: yes
  • Shape: enum: private-to-swarm, federation-local, cross-federation, global

  • Required: yes
  • Shape: enum: not-required, operator-consultation, explicit-consent, federation-policy, public-scope, emergency-exception

provenance_refs

  • Required: yes
  • Shape: array

redaction_markers

  • Required: no
  • Shape: array

Describes removals or transformations rather than silently rewriting content history.

content_hash

  • Required: no
  • Shape: string

language

  • Required: no
  • Shape: string

reply_to

  • Required: no
  • Shape: string

attachments

  • Required: no
  • Shape: array

policy_annotations

  • Required: no
  • Shape: object