{ "projectName": "metal-kompanion-mcp", "projectDescription": "MCP backend for Kompanion: memory/context/embedding provider over MCP, built from scratch (qtmcp-based) to persist conversation state and serve embeddings + retrieval to avoid forgetting across threads.", "lastTaskId": 24, "tasks": [ { "id": 22, "title": "Handlers → DAL integration", "description": "Wire kom.memory.v1.upsert_memory/search_memory to IDatabase. Parse JSON with a real parser, validate against schemas, enforce scope and sensitivity rules.", "status": "todo", "priority": 490, "priorityDisplay": "P0", "dependsOn": [], "createdAt": "2025-10-14T00:30:26.285Z", "updatedAt": "2025-10-14T00:30:26.285Z", "subtasks": [ { "id": "22.1", "title": "Replace ad-hoc JSON with parser (nlohmann/json or simdjson)", "status": "todo", "createdAt": "2025-10-14T00:30:33.761Z", "updatedAt": "2025-10-14T00:30:33.761Z", "activityLog": [ { "timestamp": "2025-10-14T00:30:33.761Z", "type": "log", "message": "Subtask created with title: \"Replace ad-hoc JSON with parser (nlohmann/json or simdjson)\"" } ] }, { "id": "22.2", "title": "Validate request bodies against schemas before DAL calls", "status": "todo", "createdAt": "2025-10-14T00:30:39.868Z", "updatedAt": "2025-10-14T00:30:39.868Z", "activityLog": [ { "timestamp": "2025-10-14T00:30:39.868Z", "type": "log", "message": "Subtask created with title: \"Validate request bodies against schemas before DAL calls\"" } ] }, { "id": "22.3", "title": "Scope & sensitivity enforcement (namespace/user + skip secret embeddings)", "status": "todo", "createdAt": "2025-10-14T00:30:45.261Z", "updatedAt": "2025-10-14T00:30:45.261Z", "activityLog": [ { "timestamp": "2025-10-14T00:30:45.261Z", "type": "log", "message": "Subtask created with title: \"Scope & sensitivity enforcement (namespace/user + skip secret embeddings)\"" } ] } ], "lastSubtaskIndex": 3, "relatedFiles": [], "activityLog": [ { "timestamp": "2025-10-14T00:30:26.285Z", "type": "log", "message": "Task created with title: \"Handlers → DAL integration\"" } ] }, { "id": 23, "title": "Contract tests: DAL-backed tools", "description": "Expand CTest to cover DAL-backed upsert/search and backup export/import; include error cases and schema violations; run against build-komhands.", "status": "todo", "priority": 511, "priorityDisplay": "P1", "dependsOn": [], "createdAt": "2025-10-14T00:30:51.716Z", "updatedAt": "2025-10-14T00:30:51.716Z", "subtasks": [], "lastSubtaskIndex": 0, "relatedFiles": [], "activityLog": [ { "timestamp": "2025-10-14T00:30:51.716Z", "type": "log", "message": "Task created with title: \"Contract tests: DAL-backed tools\"" } ] }, { "id": 24, "title": "Implement KompanionAI SDK", "description": "", "status": "todo", "priority": 489, "priorityDisplay": "medium", "dependsOn": [], "createdAt": "2025-10-16T09:24:13.006Z", "updatedAt": "2025-10-16T09:30:49.564Z", "subtasks": [ { "id": "24.1", "title": "Define Message & Thread Model", "status": "done", "createdAt": "2025-10-16T09:25:41.659Z", "updatedAt": "2025-10-16T09:30:49.396Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:41.660Z", "type": "log", "message": "Subtask created with title: \"Define Message & Thread Model\"" }, { "timestamp": "2025-10-16T09:30:49.396Z", "type": "log", "message": "Status changed from \"todo\" to \"done\"" } ] }, { "id": "24.2", "title": "Implement Tool / Function Calling", "status": "done", "createdAt": "2025-10-16T09:25:41.835Z", "updatedAt": "2025-10-16T09:30:49.564Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:41.835Z", "type": "log", "message": "Subtask created with title: \"Implement Tool / Function Calling\"" }, { "timestamp": "2025-10-16T09:30:49.564Z", "type": "log", "message": "Status changed from \"todo\" to \"done\"" } ] }, { "id": "24.3", "title": "Implement Provider abstraction (multi-backend)", "status": "todo", "createdAt": "2025-10-16T09:25:42.021Z", "updatedAt": "2025-10-16T09:25:42.021Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:42.021Z", "type": "log", "message": "Subtask created with title: \"Implement Provider abstraction (multi-backend)\"" } ] }, { "id": "24.4", "title": "Implement Completion / Reply / Streaming Events", "status": "todo", "createdAt": "2025-10-16T09:25:42.197Z", "updatedAt": "2025-10-16T09:25:42.197Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:42.197Z", "type": "log", "message": "Subtask created with title: \"Implement Completion / Reply / Streaming Events\"" } ] }, { "id": "24.5", "title": "Implement Options / Policies / Privacy", "status": "todo", "createdAt": "2025-10-16T09:25:42.371Z", "updatedAt": "2025-10-16T09:25:42.371Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:42.371Z", "type": "log", "message": "Subtask created with title: \"Implement Options / Policies / Privacy\"" } ] }, { "id": "24.6", "title": "Implement Embeddings (for RAG / memory)", "status": "todo", "createdAt": "2025-10-16T09:25:42.547Z", "updatedAt": "2025-10-16T09:25:42.547Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:42.547Z", "type": "log", "message": "Subtask created with title: \"Implement Embeddings (for RAG / memory)\"" } ] }, { "id": "24.7", "title": "Implement Agent Loop Conveniences", "status": "todo", "createdAt": "2025-10-16T09:25:42.723Z", "updatedAt": "2025-10-16T09:25:42.724Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:42.724Z", "type": "log", "message": "Subtask created with title: \"Implement Agent Loop Conveniences\"" } ] }, { "id": "24.8", "title": "Implement Error Model & Cancellation", "status": "todo", "createdAt": "2025-10-16T09:25:42.898Z", "updatedAt": "2025-10-16T09:25:42.898Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:42.898Z", "type": "log", "message": "Subtask created with title: \"Implement Error Model & Cancellation\"" } ] }, { "id": "24.9", "title": "Expose to QML", "status": "todo", "createdAt": "2025-10-16T09:25:43.075Z", "updatedAt": "2025-10-16T09:25:43.075Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:43.075Z", "type": "log", "message": "Subtask created with title: \"Expose to QML\"" } ] }, { "id": "24.10", "title": "Migrate KLLM to KompanionAI", "status": "todo", "createdAt": "2025-10-16T09:25:43.252Z", "updatedAt": "2025-10-16T09:25:43.252Z", "activityLog": [ { "timestamp": "2025-10-16T09:25:43.252Z", "type": "log", "message": "Subtask created with title: \"Migrate KLLM to KompanionAI\"" } ] } ], "lastSubtaskIndex": 10, "relatedFiles": [], "activityLog": [ { "timestamp": "2025-10-16T09:24:13.006Z", "type": "log", "message": "Task created with title: \"Implement KompanionAI SDK\"" } ] } ] }