77 lines
2.5 KiB
JSON
77 lines
2.5 KiB
JSON
{
|
|
"job": "kom.memory.v1.semantic_sync",
|
|
"description": "Batch job that crystallizes episodic events into semantic memory (items, chunks, embeddings).",
|
|
"version": 1,
|
|
"input": {
|
|
"namespace": {
|
|
"type": "string",
|
|
"description": "Scope to synchronize; defaults to project-level namespace if omitted."
|
|
},
|
|
"max_batch": {
|
|
"type": "integer",
|
|
"default": 64,
|
|
"description": "Maximum episodic events to process in a single run."
|
|
},
|
|
"since": {
|
|
"type": ["string", "null"],
|
|
"format": "date-time",
|
|
"description": "Optional watermark to resume from a prior checkpoint."
|
|
},
|
|
"include_snapshots": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "When true, snapshot events get summarized before embedding."
|
|
},
|
|
"force_reprocess": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Re-run embedding + semantic write even if embedding_status == done."
|
|
}
|
|
},
|
|
"state": {
|
|
"cursor_event_id": {
|
|
"type": ["string", "null"],
|
|
"description": "Last processed episodic id for incremental runs."
|
|
},
|
|
"cursor_timestamp": {
|
|
"type": ["string", "null"],
|
|
"format": "date-time",
|
|
"description": "Timestamp checkpoint for incremental scans."
|
|
},
|
|
"pending": {
|
|
"type": "integer",
|
|
"description": "Count of remaining episodic events in namespace."
|
|
},
|
|
"processed": {
|
|
"type": "integer",
|
|
"description": "Number of events successfully crystallized in this run."
|
|
},
|
|
"skipped_secret": {
|
|
"type": "integer",
|
|
"description": "Events skipped due to sensitivity=secret."
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {"type": "string"},
|
|
"description": "Serialized error messages for observability."
|
|
}
|
|
},
|
|
"signals": [
|
|
{
|
|
"name": "kom.memory.v1.sync_semantic.completed",
|
|
"payload": {
|
|
"namespace": "string",
|
|
"processed": "integer",
|
|
"pending": "integer",
|
|
"duration_ms": "number"
|
|
},
|
|
"description": "Emitted after each run for logging and downstream triggers."
|
|
}
|
|
],
|
|
"notes": [
|
|
"Sync iterates episodic events ordered by created_at. Items marked secret or embeddable=false remain episodic-only.",
|
|
"Embedding generation consults the configured embedder chain (local Ollama, remote API).",
|
|
"Resonance links and identity vectors are preserved when present, allowing the Ξlope librarian pipeline to strengthen pattern graphs."
|
|
]
|
|
}
|