Menu

Cosmo Wiki

Known Limitations

Current technical limitations and their impact.

Known Limitations

AreaLimitationImpact
Database setupNo migration/schema creation code. Runtime expects cosmo.db and tables to exist.Manual database initialization required.
Config usageSome settings are still not fully wired or are only partially used, such as logs.level, logs.path, and parts of memory history configuration. Most vision configuration fields used by camera capture and face detection are active.Some configuration changes may not take effect, depending on subsystem.
LLM providersOnly configured provider paths are selectable through the current provider setup.Provider flexibility remains limited.
Timeout bugConversationPipeline timeout handler references undefined error variable in the timeout branch.Timeout exceptions can produce a secondary NameError.
VAD not usedWebRTC VAD wrapper exists; capture uses RMS thresholding instead.VAD implementation unused.
VisionVision is implemented but experimental.Camera capture, image metrics, snapshots, and baseline face detection work, but tuning is still required.
Face detectionOpenCV Haar Cascade is the current baseline and can be unstable with low light, blur, pose, distance, and false positives.Accepted/rejected detections should be inspected before relying on face presence.
Face recognitionFace enrollment, identity embeddings, recognition, and matching are not implemented yet.Cosmo can detect face-like regions, but cannot identify a person.
Vision trackingTracking and temporal smoothing are not implemented yet.Face results are frame-local and may flicker.
Camera sessionCamera session may stay open while auto-capture is active.Camera LED may remain on even though capture is periodic, not video FPS.
WebUIWebUI is read-only and intentionally not a control panel.Runtime changes still require voice commands, code/config edits, or direct database operations.
Persistent conversation recallConversations are saved to SQLite but not loaded into prompts as durable recall.Only short-term ConversationManager, 10 messages, is used in LLM context.
Memory retrievalRetrieval is recency/importance based, not semantic.No semantic matching to user query.
Tests out of syncSome tests still exercise older assumptions.Full-suite failures may need test updates after runtime behavior changes.
Single SQLite lockAll repositories share a single database lock in the core database wrapper.Potential bottleneck at scale.
Background task trackingEvent dispatch and listener-created tasks are not fully tracked by AsyncRuntime.Shutdown only cancels explicitly registered tasks.
API/CLI/WebSocketExternal API, CLI, and bidirectional WebSocket interfaces remain pending.Integration surfaces are limited to current WebUI/read-only HTTP endpoints and the voice runtime.

Recommended Vision Improvement

YuNet or another OpenCV DNN-backed detector is the recommended future improvement over the current Haar Cascade baseline, especially for difficult lighting, pose, and distance.