Riz Ashraf
f970e1219d
docs: Add architecture design for MCP resources and prompts trait refactor
2026-09-27 21:49:41 +01:00
Riz Ashraf
45577a99c4
refactor: implement McpResource and McpPrompt traits to handle MCP endpoints generically
2026-09-27 21:47:52 +01:00
Riz Ashraf
41461a41ef
docs: Add AI integration strategy and subagent rationale
2026-09-27 21:29:15 +01:00
Riz Ashraf
2bc27880fd
Update system instructions to explicitly teach the LLM about Tasks, Handoffs, Preferences, and Sticky Notes
2026-09-27 10:15:15 +01:00
Riz Ashraf
23413f103f
Update instructions to teach agents how to use snippets and PR checklists
2026-09-27 10:13:45 +01:00
Riz Ashraf
bb535b62b0
Add delete_context_workspace tool
2026-09-27 10:10:30 +01:00
Riz Ashraf
0699b603c1
Update instructions to teach agents how and when to use context workspaces
2026-09-27 10:06:44 +01:00
Riz Ashraf
54aead2151
Add proper lifecycle and superseding support for Architectural Decision Records
2026-09-27 10:01:46 +01:00
Riz Ashraf
70edfa4389
Add delete_decision tool for removing redundant ADRs
2026-09-27 09:57:04 +01:00
Riz Ashraf
08e0cc390a
Fix UI fields rendered for Tech Debt in dashboard
2026-09-27 09:53:53 +01:00
Riz Ashraf
4139d8fcc7
Add unit test for malformed Lucene query in OmniSearch
2026-09-27 09:46:08 +01:00
Riz Ashraf
01d3c22c57
Fix error swallowing by propagating JSON serialization errors to LLM
2026-09-27 09:44:04 +01:00
Riz Ashraf
48a1973ea6
Improve OmniSearch error handling to return Lucene syntax errors to LLM
2026-09-27 09:33:58 +01:00
Riz Ashraf
1ea635cdcc
Enhance OmniSearch for LLMs with limits and include_body flags
2026-09-27 09:31:58 +01:00
Riz Ashraf
b7d1ae78db
Auto-refresh tab content on switch
2026-09-27 09:19:01 +01:00
Riz Ashraf
4bae4e9c08
Test coverage and headless nvim bug fixes
2026-09-27 08:10:09 +01:00
Riz Ashraf
bffc8896f1
Strictly verify UI attachment during fallback pipe discovery
2026-09-26 21:14:10 +01:00
Riz Ashraf
8a67249ddb
Fix OS socket routing in telemetry
2026-09-26 21:02:11 +01:00
Riz Ashraf
80b1969b15
Add nvim_get_server_info diagnostic tool
2026-09-26 20:32:12 +01:00
Riz Ashraf
d60d6ca70b
Implement nvim tool mitigations
2026-09-26 20:22:59 +01:00
Riz Ashraf
24aacdfae1
feat(nvim): add dedicated mcp tools for file reading and regex searching
2026-09-26 18:23:06 +01:00
Riz Ashraf
b1fc381107
fix(test): update test payloads to use snake_case after camelCase removal
2026-09-26 18:05:37 +01:00
Riz Ashraf
e8d7ded32a
fix(ui): update frontend dashboard to strictly consume snake_case fields following camelCase removal
2026-09-26 09:06:39 +01:00
Riz Ashraf
05e3e53217
fix(mcp): extract and elevate struct docstrings into root tool schema descriptions to restore semantic LLM visibility
2026-09-26 09:00:00 +01:00
Riz Ashraf
e84c101515
fix(mcp): completely eradicate camelCase backward compatibility by removing all serde aliases
2026-09-26 08:56:07 +01:00
Riz Ashraf
a24ef598a2
feat(handlers): enrich semantic error messages with prescriptive tool hints to prevent LLM hallucination traps
2026-09-26 08:47:52 +01:00
Riz Ashraf
cbef7e5291
test(mcp): add explicit unit tests to strictly verify tool execution success vs error JSON-RPC responses
2026-09-26 08:43:03 +01:00
Riz Ashraf
0ba0ed5b3d
refactor: remove redundant multi-line search index unwrap clones across all handlers via new get_search_index accessor
2026-09-26 08:39:42 +01:00
Riz Ashraf
d96b4cf822
fix(mcp): convert silently swallowed OK string errors into explicit JSON-RPC errors for task transitions and bulk entity operations
2026-09-26 08:32:04 +01:00
Riz Ashraf
f81723a539
fix(mcp): return explicit JSON-RPC errors instead of misleading Ok strings for missing entities and silent graph modification drops
2026-09-26 08:24:56 +01:00
Riz Ashraf
cc190816fe
perf: remove redundant MemoryState::deduplicate and resolve lock contention during index rebuild
2026-09-26 08:15:58 +01:00
Riz Ashraf
be85b58be4
fix: agent usability improvements - unified schema casing, fixed silent handler failures, and made namespaces strictly optional
2026-09-26 08:07:28 +01:00
Riz Ashraf
5dd413c397
chore: migrate global agent rules into repository and update deployment scripts
2026-09-26 02:21:42 +01:00
Riz Ashraf
917a9058f9
fix(stub): downgrade websocket disconnect logs to warn/info
2026-09-26 02:06:04 +01:00
Riz Ashraf
efcab4a7b4
feat(events): add generic Event Bus and /events/wait endpoint for agent wakeups
2026-09-26 02:05:18 +01:00
Riz Ashraf
b8d58b2e64
feat(nvim): add BufWritePost to telemetry triggers for cross-session agent wakeups
2026-09-26 02:01:42 +01:00
Riz Ashraf
5bb83a849b
build: track git HEAD and index in build script to accurately detect dirty state
2026-09-26 01:07:57 +01:00
Riz Ashraf
4ecda68c1e
Fix UI auto-scroll, make namespace optional, alias filePath, and downgrade ws logs
2026-09-25 21:38:21 +01:00
Riz Ashraf
175882dd1b
docs: enforce visual engagement rule for pair programming tasks over headless execution
2026-09-23 08:35:17 +01:00
Riz Ashraf
02af8f18f1
docs: explicitly forbid grepping rust source for mcp schemas and instruct usage of local json cache
2026-09-23 08:14:09 +01:00
Riz Ashraf
14db90acbf
fix(nvim): remove unused mut variables
2026-09-23 05:00:35 +01:00
Riz Ashraf
e5d4002b38
docs: update instructions to enforce usage of auto-spawning headless neovim instance
2026-09-23 04:55:11 +01:00
Riz Ashraf
914cecbaf2
feat(nvim): implement auto-spawning headless instance and interactive preemption
2026-09-23 04:53:09 +01:00
Riz Ashraf
7d783d2f37
docs: update tool prefixes in root instructions.md
2026-09-23 04:32:28 +01:00
Riz Ashraf
da98391ef9
docs(nvim): update instructions.md with correct tool names and new window tools
2026-09-23 04:30:38 +01:00
Riz Ashraf
4cae55bab3
refactor(justfile): decouple build and deploy steps
2026-09-23 04:22:02 +01:00
Riz Ashraf
e0eeb4b0a6
chore(justfile): add 'all' recipe that builds and deploys everything
2026-09-23 04:18:51 +01:00
Riz Ashraf
be9ad8127a
chore(server): correct startup log message
2026-09-23 04:14:53 +01:00
Riz Ashraf
7729b4ae5a
fix(nvim): resolve idle zombie connection lock and adjust RPC timeout
...
- Remove the arbitrary 60-second read timeout on the Neovim socket that caused the read task to exit during idle periods, permanently locking the connection state.
- Automatically clear the connection state variable when the read loop breaks (e.g. true EOF), allowing get_nvim_connection() to correctly auto-reconnect on the next call.
- Increase the Neovim RPC call timeout from 10s to 30s to accommodate heavier operations (e.g., massive Lua regex substitutions) without falsely dropping the connection.
2026-09-23 04:09:09 +01:00
Riz Ashraf
ab1d209c1d
feat(nvim): complete window management symmetry
...
- Add
vim_close_window to unsplit active layout without destroying underlying buffer.
- Add
vim_list_windows to discover active splits.
- Add
vim_get_active_window and
vim_set_active_window to programmatically navigate windows.
2026-09-23 04:05:39 +01:00
Riz Ashraf
6a89f50cf2
feat(nvim-core): implement nvim_set_extmark for rich virtual text UI feedback
...
- Added nvim_set_extmark tool schema and handler
- Implemented lua bridge using vim.api.nvim_buf_set_extmark to dynamically overlay ghost text and highlight groups onto active buffers
2026-09-22 22:34:06 +01:00
Riz Ashraf
ea735003e2
feat(nvim-core): implement bidirectional event streaming and real-time shadow buffer
...
- Created global thread-safe NvimState to shadow Neovim context.
- Injected Lua autocmds (CursorMoved, TextChanged) on connection to stream events back to MCP.
- Upgraded msgpack RPC loop to intercept and parse 'mcp_event' notifications alongside standard responses.
- Optimized nvim_get_cursor to pull instantly from the local shadow buffer, bypassing RPC round-trips.
2026-09-22 22:32:37 +01:00
Riz Ashraf
61b03bc6e3
perf(nvim-core): implement zero-copy BytesMut stream buffer and DashMap for lock contention
2026-09-22 22:26:00 +01:00
Riz Ashraf
37003be620
refactor: apply rust best practices and fix memory optimizations
...
- Optimized memory allocation in router.rs by offloading JSON serialization to spawn_blocking and using references.
- Prevented full graph duplication on startup in state.rs index rebuild.
- Eliminated massive String allocations in QueryGraphPathHandler BFS loops.
- Avoided temporary Strings in VisualizeGraphHandler via inline writing.
- Fixed O(N) full-graph deduplication in MergeEntitiesHandler to scale efficiently.
2026-09-22 22:01:38 +01:00
Riz Ashraf
251757f8fc
feat(mcp): implement Prompts capability, Resources, and clean up daemon architecture
2026-09-22 21:41:17 +01:00
Riz Ashraf
9b9b403ef2
fix(build): cleanly terminate all mcp binaries on deploy and supply bearer token to shutdown
2026-09-22 06:58:38 +01:00
Riz Ashraf
d8285a41c7
feat(server): embed LLM handshake instructions in MCP initialization
2026-09-22 06:51:08 +01:00
Riz Ashraf
27aba454e2
perf(server): fix broadcast loops, avoid locking db on index, eliminate O(N*M) search, and fix db loss
2026-09-22 06:33:32 +01:00
Riz Ashraf
1e39122e05
fix: remove potential panic on initialize result serialization in nvim-core
2026-09-22 06:16:06 +01:00
Riz Ashraf
b2f15de58c
style: fix clippy collapsible_if warnings in nvim-core
2026-09-22 06:07:50 +01:00
Riz Ashraf
148025c5a7
fix: replace pending_requests Mutex unwrap with unwrap_or_else to prevent poison panics
2026-09-22 06:00:54 +01:00
Riz Ashraf
dd4a71d44d
build: upgrade all workspace crates to rust edition 2024
2026-09-22 05:58:30 +01:00
Riz Ashraf
b8070de38c
refactor: deduplicate lua execution match blocks in nvim-core using handle_lua_result macro
2026-09-22 05:57:50 +01:00
Riz Ashraf
02f40604e1
perf: fix slice boundary panics, eliminate string allocation in stdio reader, fix lua table nesting bug, and optimize nvim socket chunk size
2026-09-22 05:51:15 +01:00
Riz Ashraf
e215720416
chore: remove unused dependencies discovered by cargo-machete
2026-09-22 05:44:09 +01:00
Riz Ashraf
961a5a9e1b
chore: strip unused rustls configurations to drastically speed up compilation
2026-09-22 05:40:11 +01:00
Riz Ashraf
0db94da646
Merge branch 'master' of ssh://gitea.rizaz.com:222/riz/mcp-memory
2026-09-22 05:08:54 +01:00
Riz Ashraf
c8f8ff8997
chore: update major dependencies and fix API breakages
2026-09-22 05:08:42 +01:00
Riz Ashraf
8adef5e216
perf(nvim-core): eliminate heavy string allocations for JSON-RPC msgids in internal request mapping
2026-09-22 04:50:30 +01:00
Riz Ashraf
05672cc884
perf(nvim-core): eliminate JSON serialization overhead and potential Lua injection across all tools by passing arguments directly to nvim_exec_lua
2026-09-22 04:46:29 +01:00
Riz Ashraf
78e94c6aea
chore: remove unused variables and tracing dependency in nvim-core
2026-09-22 04:41:14 +01:00
Riz Ashraf
f76d8ccce8
perf: fix memory leaks, optimize tracing logs, fix networking eof fragmentation bug in nvim-core and stub, and deduplicate json-rpc handlers
2026-09-22 04:31:50 +01:00
Riz Ashraf
ce88bef45e
chore(server): remove dead scratch scripts, temporary files, and unused legacy modules
2026-09-22 03:34:13 +01:00
Riz Ashraf
1069096a29
fix(tasks): eliminate target_id string clone during dependency mapping in UpdateTaskStatusHandler
2026-09-22 03:29:28 +01:00
Riz Ashraf
478655698e
fix(server): safely drop detached tokio join handles and refactor timestamp boilerplate
2026-09-22 03:19:51 +01:00
Riz Ashraf
13c7eca4c2
perf(server): eliminate O(N) heap cloning across standup, snippet, and graph handlers
2026-09-21 20:27:33 +01:00
Riz Ashraf
9d7cd347c6
style(server): collapse nested if conditions via clippy
2026-09-21 20:13:38 +01:00
Riz Ashraf
f37a2f8313
style(server): remove unused get_full_graph method to clear clippy warning
2026-09-21 20:12:25 +01:00
Riz Ashraf
da1b7cdc9d
fix(mcp): wrap websocket activity broadcasts in JSON-RPC notifications
...
Fixes a critical bug where the Antigravity MCP client would crash with 'invalid message version tag' during long-running tool executions. The server was broadcasting raw JSON activity objects ({'type': 'activity', 'data': ...}) over the WebSocket connection without wrapping them in the required JSON-RPC 2.0 Notification envelope, violating the protocol expectation on the proxy stub.
2026-09-21 19:56:03 +01:00
Riz Ashraf
208c5d448f
perf(api): eliminate expensive heap allocations and memory clones by serializing axum response payloads directly from store read locks
2026-09-21 19:33:06 +01:00
Riz Ashraf
af2c4ab046
fix(search): prevent memory leaks and duplication in tantivy search index by explicitly deleting prior terms during updates and syncing store deletions
2026-09-21 19:16:55 +01:00
Riz Ashraf
7dc0c329ad
fix(core): remove all unwraps, fix unpolled futures, and fix search index memory leak on restart
2026-09-21 18:54:19 +01:00
Riz Ashraf
ae0ea9ab22
feat(server): persist activity history on the server and expose it to the dashboard UI via /api/activity instead of relying on fragile localStorage
2026-09-21 18:01:21 +01:00
Riz Ashraf
bf7bf48163
fix(server): gracefully ignore MCP notifications (e.g. notifications/roots/list_changed) instead of returning a Method Not Found error that causes JSON-RPC clients to drop connections
2026-09-21 17:47:48 +01:00
Riz Ashraf
d3fce30ca5
perf(search): eliminate full struct clones when indexing documents into tantivy by building documents on the dispatch thread before crossing the spawn_blocking boundary
2026-09-21 17:20:01 +01:00
Riz Ashraf
58ad2e76a3
style(server): fix all clippy warnings including derivable traits, redundant locals, collapsible blocks and needless borrows
2026-09-21 17:08:57 +01:00
Riz Ashraf
4c4150a042
perf(tasks): refactor update and delete task handlers to eliminate string clones when mapping task relationships by relying on reference closures and index queues
2026-09-21 16:55:06 +01:00
Riz Ashraf
42d3638cf8
fix(server): remove rwlock unwraps to prevent panic on lock poison and optimize omni search to serialize inner loops without allocations
2026-09-21 16:49:21 +01:00
Riz Ashraf
1af21b3aec
perf(search): eliminate full database cloning during tantivy index rebuilds by moving iteration into a synchronized blocking thread
2026-09-21 16:42:14 +01:00
Riz Ashraf
8934857635
perf(graph): eliminate heavy allocations by substituting KnowledgeGraph clones with BorrowedGraph for json serialization
2026-09-21 16:33:48 +01:00
Riz Ashraf
1d5e4bd00d
perf(server): eliminate implicit full-collection clones by removing Store::read() in favor of read_with()
2026-09-21 16:25:57 +01:00
Riz Ashraf
84ad64156c
docs(server): modify tool_def to extract rich descriptions from struct docstrings via schemars instead of using hardcoded generic names
2026-09-21 16:09:08 +01:00
Riz Ashraf
075bc50645
docs(nvim): enrich mcp tools/list schema description to explicitly enforce AST and autosave rules
2026-09-21 16:04:17 +01:00
Riz Ashraf
891bd481b9
feat(nvim): bake in strict interactive AST blocks for win-nvim to prevent headless deadlock
2026-09-21 15:59:49 +01:00
Riz Ashraf
1f40e6d32b
fix(stub): resolve TCP socket leak on target server disconnect and hanging connection attempt
2026-09-21 15:47:33 +01:00
Riz Ashraf
8e10950fc0
fix(nvim): resolve concurrent msgid clashes and eliminate continuous buffer memory leak
2026-09-21 15:39:15 +01:00
Riz Ashraf
f8d98a77fd
perf: remove totally redundant and highly allocating .to_lowercase() calls from search endpoints
2026-09-21 15:33:35 +01:00
Riz Ashraf
9476bcd649
perf: completely eradicate large vector allocations and state locking double-clones in main, meta, env, workspaces, and notes modules
2026-09-21 15:22:44 +01:00
Riz Ashraf
6b37799cc5
perf: fix lifetime issues and optimize remaining string allocations in graph traversal endpoints
2026-09-21 13:47:09 +01:00
Riz Ashraf
3c31aeec1f
perf: replace inefficient memory cloning vectors with fast zero-allocation read iterators
2026-09-21 12:51:26 +01:00