crtx-reflect 0.1.1

Reflection orchestration, prompts, candidate parsing, and schema validation.
Documentation
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false,
  "definitions": {
    "EpisodeCandidate": {
      "additionalProperties": false,
      "description": "Candidate episode summary produced by reflection.",
      "properties": {
        "candidate_meaning": {
          "description": "Optional interpretation of why the episode matters.",
          "type": [
            "string",
            "null"
          ]
        },
        "confidence": {
          "description": "Model confidence in `[0.0, 1.0]`.",
          "format": "double",
          "maximum": 1.0,
          "minimum": 0.0,
          "type": "number"
        },
        "domains": {
          "description": "Domains observed in the episode.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entities": {
          "description": "Entities mentioned in the episode.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "source_event_ids": {
          "description": "Source events supporting the episode.",
          "items": {
            "$ref": "#/definitions/EventId"
          },
          "type": "array"
        },
        "summary": {
          "description": "Human-readable summary of the episode.",
          "type": "string"
        }
      },
      "required": [
        "confidence",
        "domains",
        "entities",
        "source_event_ids",
        "summary"
      ],
      "type": "object"
    },
    "EventId": {
      "description": "Prefix-ULID identifier in the form `evt_<26-char Crockford ULID>`",
      "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
      "type": "string"
    },
    "InitialSalience": {
      "additionalProperties": false,
      "description": "Salience dimensions assigned before durable memory acceptance.",
      "properties": {
        "consequence": {
          "description": "Expected consequence of getting this wrong in `[0.0, 1.0]`.",
          "format": "double",
          "maximum": 1.0,
          "minimum": 0.0,
          "type": "number"
        },
        "emotional_charge": {
          "description": "Emotional or preference intensity in `[0.0, 1.0]`.",
          "format": "double",
          "maximum": 1.0,
          "minimum": 0.0,
          "type": "number"
        },
        "reusability": {
          "description": "Expected reuse value in `[0.0, 1.0]`.",
          "format": "double",
          "maximum": 1.0,
          "minimum": 0.0,
          "type": "number"
        }
      },
      "required": [
        "consequence",
        "emotional_charge",
        "reusability"
      ],
      "type": "object"
    },
    "MemoryCandidate": {
      "additionalProperties": false,
      "description": "Candidate memory proposed by reflection.",
      "properties": {
        "applies_when": {
          "description": "Conditions where the claim applies.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "claim": {
          "description": "Atomic claim to be considered by the human-gated memory path.",
          "type": "string"
        },
        "confidence": {
          "description": "Model confidence in `[0.0, 1.0]`.",
          "format": "double",
          "maximum": 1.0,
          "minimum": 0.0,
          "type": "number"
        },
        "does_not_apply_when": {
          "description": "Conditions where the claim should not be applied.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "initial_salience": {
          "allOf": [
            {
              "$ref": "#/definitions/InitialSalience"
            }
          ],
          "description": "Initial salience proposal."
        },
        "memory_type": {
          "allOf": [
            {
              "$ref": "#/definitions/MemoryType"
            }
          ],
          "description": "Type of memory proposed."
        },
        "source_episode_indexes": {
          "description": "Zero-based indexes into [`SessionReflection::episode_candidates`].",
          "items": {
            "format": "uint",
            "minimum": 0.0,
            "type": "integer"
          },
          "type": "array"
        }
      },
      "required": [
        "applies_when",
        "claim",
        "confidence",
        "does_not_apply_when",
        "initial_salience",
        "memory_type",
        "source_episode_indexes"
      ],
      "type": "object"
    },
    "MemoryType": {
      "description": "Candidate memory type taxonomy from BUILD_SPEC ยง13.1.",
      "oneOf": [
        {
          "description": "Semantic fact or concept.",
          "enum": [
            "semantic"
          ],
          "type": "string"
        },
        {
          "description": "Episodic recollection.",
          "enum": [
            "episodic"
          ],
          "type": "string"
        },
        {
          "description": "Procedure or process.",
          "enum": [
            "procedural"
          ],
          "type": "string"
        },
        {
          "description": "Strategy or preference over action.",
          "enum": [
            "strategic"
          ],
          "type": "string"
        },
        {
          "description": "Affective signal.",
          "enum": [
            "affective"
          ],
          "type": "string"
        },
        {
          "description": "Correction learned from feedback.",
          "enum": [
            "correction"
          ],
          "type": "string"
        }
      ]
    },
    "TraceId": {
      "description": "Prefix-ULID identifier in the form `trc_<26-char Crockford ULID>`",
      "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$",
      "type": "string"
    }
  },
  "description": "Post-hoc reflection output for one trace.",
  "properties": {
    "contradictions": {
      "description": "Opaque contradiction candidates until the store-backed lane defines them.",
      "items": true,
      "type": "array"
    },
    "doctrine_suggestions": {
      "description": "Opaque doctrine suggestions; reflection must never promote these directly.",
      "items": true,
      "type": "array"
    },
    "episode_candidates": {
      "description": "Candidate episodes extracted from source events.",
      "items": {
        "$ref": "#/definitions/EpisodeCandidate"
      },
      "type": "array"
    },
    "memory_candidates": {
      "description": "Candidate memories proposed from the reflected session.",
      "items": {
        "$ref": "#/definitions/MemoryCandidate"
      },
      "type": "array"
    },
    "trace_id": {
      "allOf": [
        {
          "$ref": "#/definitions/TraceId"
        }
      ],
      "description": "Trace being reflected."
    }
  },
  "required": [
    "contradictions",
    "doctrine_suggestions",
    "episode_candidates",
    "memory_candidates",
    "trace_id"
  ],
  "title": "SessionReflection",
  "type": "object"
}