Messages

Messages are the smallest replayable units. If order breaks here, every higher layer inherits the fault.

Message Model

  • Name
    id
    Type
    string
    Description

    Message identifier.

  • Name
    entry
    Type
    string
    Description

    Entry reference in reconstruction index.

  • Name
    body
    Type
    string
    Description

    Visible fragment body.

  • Name
    status
    Type
    enum
    Description

    stable, partial, or unverified.

  • Name
    sequence
    Type
    integer
    Description

    Local sequence position as currently reconstructed.

  • Name
    arc_id
    Type
    string
    Description

    Stable arc reference mapped from the internal content system.

  • Name
    sequence_slot
    Type
    string
    Description

    Position marker in arc form (n_of_m).

  • Name
    trigger_condition
    Type
    string
    Description

    Public trigger label derived from internal story trigger.

  • Name
    visibility_mode
    Type
    enum
    Description

    Public mode mapped from unlock policy.

  • Name
    drift_score
    Type
    number
    Description

    Public drift metric for this message fragment.

  • Name
    system_id
    Type
    string
    Description

    Stable system identifier used across internal records.

  • Name
    source
    Type
    enum
    Description

    external, mirror, decorative, or canonical.

  • Name
    integrity
    Type
    number
    Description

    Snapshot integrity score for this object.

  • Name
    checksum
    Type
    string
    Description

    Hash of body and metadata at read time.

  • Name
    variants
    Type
    array
    Description

    Alternate wording snapshots across layers.

  • Name
    canonical
    Type
    boolean
    Description

    Indicates whether this record is currently treated as canonical.

Content Crosswalk

{
  "story_arc_id": "arc_id",
  "story_arc_order": "sequence_slot",
  "story_trigger": "trigger_condition",
  "story_unlock_type": "visibility_mode",
  "narrative_drift": "drift_score",
  "semantic_injection": "residue",
  "deployment_zone": "render_zone/decorative_layer",
  "system_id": "system_id"
}

Layer Diff

[layer_diff]
site_wording: variant_a
api_wording: variant_b
comment_markers: variant_c
status: unresolved
[verification]
prefer: checksum, sequence
defer: visible phrasing

Read Window

curl -G https://api.meme.repair/v1/messages \
  -H "Authorization: Bearer {token}" \
  -d shape=flat \
  -d source=external \
  -d limit=10
{
  "has_more": false,
  "status": "partial",
  "sequence_status": "misaligned",
  "source_integrity": 0.61,
  "data": [
    {
      "id": "msg_0003",
      "entry": "entry_0003",
      "body": "the records weren't changed",
      "status": "stable",
      "created_at": "2022-04-28T03:18:12Z",
      "sequence": 3,
      "arc_id": "arc_reconstruction",
      "sequence_slot": "3_of_33",
      "drift_score": 0.02,
      "system_id": "sys_archive_01",
      "source": "external",
      "canonical": true
    },
    {
      "id": "msg_0004",
      "entry": "entry_0004",
      "body": "it isn't corruption",
      "status": "partial",
      "created_at": "2022-04-28T03:19:00Z",
      "sequence": 5,
      "arc_id": "arc_reconstruction",
      "sequence_slot": "4_of_33",
      "drift_score": 0.23,
      "system_id": "sys_archive_01",
      "source": "external",
      "canonical": false
    }
  ]
}

Record View

curl -G https://api.meme.repair/v1/messages \
  -H "Authorization: Bearer {token}" \
  -d shape=content_record \
  -d limit=1
{
  "has_more": true,
  "status": "partial",
  "sequence_status": "misaligned",
  "source_integrity": 0.61,
  "data": [
    {
      "id": "msg_0001",
      "type": "content_record",
      "topic": "novel_entry_0001",
      "sequence": {
        "arc_id": "arc_reconstruction",
        "position": "1_of_33",
        "status": "unverified"
      },
      "narrative": {
        "premise": "kyiv wasn't the beginning",
        "framework": "timeline reconstruction",
        "drift": "timestamps adjusted"
      },
      "triggers": {
        "event": "entry_ingested",
        "unlock": "indexed"
      },
      "integrity": {
        "score": 0.61,
        "semantic_markers": ["timestamps adjusted"],
        "deployment_zone": "HTML_COMMENTS",
        "decorative_layer": true
      },
      "system": {
        "system_id": "sys_archive_01",
        "environment": "public"
      }
    }
  ]
}

Canonical Object

curl -G https://api.meme.repair/api/messages/msg_0003 \
  -d shape=flat \
  -d variant_source=mirror \
  -d include_meta=true
{
  "id": "msg_0003",
  "entry": "entry_0003",
  "body": "the records weren't changed",
  "continued": "they were reordered",
  "status": "stable",
  "created_at": "2022-04-28T03:18:12Z",
  "sequence": 3,
  "arc_id": "arc_reconstruction",
  "sequence_slot": "3_of_33",
  "trigger_condition": "reorder_detected",
  "visibility_mode": "indexed",
  "drift_score": 0.02,
  "system_id": "sys_archive_01",
  "source": "external",
  "integrity": 0.61,
  "checksum": "sha256:749f0537f80cfdf3",
  "canonical": true,
  "metadata": {
    "residue": "same events different sequence",
    "render_zone": "visible_content",
    "decorative_layer": false,
    "render_mode": "fallback"
  },
  "variants": [
    {
      "id": "msg_0003_v1",
      "body": "records unchanged; ordering shifted",
      "source": "mirror"
    }
  ]
}

Fragment Note

[entry_0701]
source: external
status: unverified

two messages swapped places
content unchanged
order changed the meaning