You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Re-release to trigger MCP Registry publishing: 1.2.1 was tagged and released before the publish-mcp.yml workflow reached the default branch, so the registry listing never ran. No functional code changes since 1.2.1; this release exists to publish the server to registry.modelcontextprotocol.io.
[1.2.1] — 2026-06-12
Added
Official MCP Registry listing: Added server.json (schema 2025-12-11) describing the server under the namespace io.github.synpulse8-opensource/pulse8-ai-cortex-knowledge-vault, plus an mcp-name: ownership marker in the README so the registry can verify the PyPI package. Enables discovery via registry.modelcontextprotocol.io.
[1.2.0] — 2026-06-11
Added
Feedback vault collection: New feedback/ folder with vault_feedback and vault_list_feedbacks MCP tools plus REST endpoints, capturing user/agent feedback on vault quality with status and related_paths.
Microsoft Teams notifications: Optional TEAMS_WEBHOOK_URL posts an adaptive card after each new feedback note; optional TEAMS_APP_BASE_URL adds a "View in Cortex" link.
Daily activity log: Every vault_write, vault_ingest, and successful compile is mirrored into daily/<UTC-date>.md as a greppable ## [HH:MM] event | summary entry with a [[wiki-stem]] wikilink. Writes to daily/, feedback/, and .cortex/ are excluded to avoid self-reference.
Folder-based node typing: Files under agents/, sessions/, and daily/ are classified as AGENT_DEF, SESSION, and the new NodeType.DAILY without requiring a filename suffix. Frontmatter type: and the existing .agent.md/.session.md suffixes still take precedence/work.
Default search mode is now hybrid (was keyword). Clients that don't pass an explicit mode now get the best-quality BM25 + vector + re-ranking results. Set CORTEX_QMD_SEARCH_MODE=keyword to restore the previous fast-but-shallow default. Latency is mitigated by the result cache and the HTTP QMD container.
Fixed
QMD container returned no results: The image installed qmd via npm install -g ., which created a global symlink into a build directory deleted in the same layer — leaving a dangling qmd binary so every search failed with spawn qmd ENOENT and silently returned []. Now installed from a packed tarball with a build-time qmd --version smoke check.
Hybrid searches silently truncated: QMD HTTP searches hit a hardcoded 30s timeout on CPU-only hosts and returned [] while QMD was still working. Timeout is now configurable (default 120s).
Cached search failures: Empty result sets (transport errors/timeouts) are no longer cached, preventing a transient failure from blanking search for the full cache TTL.
Performance
Memoized QMD path index: build_path_index_from_graph is cached per graph mutation and no longer rebuilt on every search/read.
Non-blocking reads: vault_read offloads note parsing to a thread so concurrent MCP requests no longer serialize behind file I/O.