{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/danilo-aguiar-br/sqlite-graphrag/schemas/remember-batch.schema.json",
"title": "RememberBatchItemEvent",
"description": "Per-item event emitted by `sqlite-graphrag remember-batch` on stdout as NDJSON. Each line represents one memory processed. The final line is a BatchSummary (see remember-batch-summary.schema.json). Corrected by GAP-SG-271, which ran the command and validated the real line for the first time: the `status` enum offered `indexed`, which no call site in src/commands/remember_batch.rs writes, and omitted the seven values they do write, so a validating consumer REJECTED every successful line. The same pass added `warnings`, emitted since GAP-SG-216 and undeclared under `additionalProperties: false`.",
"type": "object",
"required": ["name", "status", "index"],
"additionalProperties": false,
"properties": {
"agent_surface": { "$ref": "https://github.com/danilo-aguiar-br/sqlite-graphrag/schemas/agent-surface.schema.json#/$defs/AgentSurfaceMeta" },
"truncated": { "type": "boolean", "description": "GAP-SG-142: raised by the agent-native surface whenever it removed data from this envelope." },
"count": { "type": "integer", "minimum": 0, "description": "GAP-SG-142: emitted under --count-only, which replaces the payload. See agent-surface.schema.json#/$defs/CountOnlyEnvelope." },
"name": { "type": "string", "description": "Normalized kebab-case memory name." },
"status": {
"type": "string",
"enum": [
"created",
"updated",
"failed",
"would_create",
"would_update",
"would_fail_duplicate",
"would_fail_strict_entity_types"
],
"description": "`created` and `updated` report a persisted line. The four `would_*` values are the --dry-run readings, including the two refusals a real run would raise. `failed` reports a line the run rejected."
},
"memory_id": { "type": "integer", "description": "Present when the memory was written, and on the dry-run values that matched an existing memory." },
"error": { "type": "string", "description": "Present when status=failed." },
"index": { "type": "integer", "minimum": 0, "description": "Zero-based index of the input line." },
"warnings": {
"type": "array",
"items": { "type": "string" },
"description": "GAP-SG-216: `entity_type` labels declared outside the canonical set. Omitted when empty, so a clean line stays byte-identical to what v1.2.8 emitted."
}
}
}