feat(semantic): add symbol edit tools - #15
Merged
Conversation
- `.zpm/kb/architecture/journal.wal`: Record architecture memory for semantic editing work - `.zpm/kb/feedback/journal.wal`: Record feedback rules for semantic edit edge cases - `Cargo.lock`: Add semantic edit dependency updates - `README.md`: Document semantic editing capabilities - `crates/core_engine/src/adapters/daemon/engine.rs`: Register semantic edit MCP routing - `crates/core_engine/src/adapters/extension/host_deps.rs`: Extend host dependencies for workspace edits - `crates/core_engine/src/adapters/extension/sidecar.rs`: Add sidecar support for semantic edit host calls - `crates/core_engine/src/adapters/extension/tests.rs`: Cover sidecar semantic edit behavior - `crates/core_engine/src/adapters/in_memory_code_intel.rs`: Add in-memory code intelligence edit support - `crates/core_engine/src/domain/grep/mod.rs`: Adjust grep integration for edit workflows - `crates/core_engine/src/domain/mutation/apply_edits_tests.rs`: Add batch apply-edit contract tests - `crates/core_engine/src/domain/mutation/file_mutation.rs`: Implement batch apply-edits with hash validation - `crates/core_engine/src/ports/inbound.rs`: Add inbound semantic edit use cases - `crates/core_engine/src/ports/mod.rs`: Export semantic edit port types - `crates/core_engine/src/ports/navigation.rs`: Extend navigation ports for rename operations - `crates/core_engine/src/test_support/mod.rs`: Add semantic edit test helpers - `crates/core_engine/tests/extension_ast_e2e.rs`: Cover AST anchored edit flows - `crates/core_engine/tests/extension_lint_e2e.rs`: Update lint extension test support - `crates/core_engine/tests/extension_lsp_process_e2e.rs`: Cover LSP rename process behavior - `crates/core_engine/tests/extension_lsp_protocol_e2e.rs`: Cover LSP semantic edit protocol behavior - `crates/core_engine/tests/functional_semantic_edit_mcp.rs`: Add functional MCP semantic edit tests - `crates/core_engine/tests/lint_support.rs`: Update shared extension test harness - `crates/extension_protocol/src/lib.rs`: Export semantic edit protocol contracts - `crates/extension_protocol/src/messages.rs`: Add semantic edit message types - `crates/extension_protocol/tests/semantic_edit_contracts.rs`: Add protocol contract tests - `docs/README.md`: Link semantic edit documentation - `docs/architecture.md`: Document semantic edit architecture - `docs/extensions.md`: Document extension semantic edit capabilities - `docs/mcp-tools.md`: Document semantic edit MCP tools - `docs/user-guide/semantic-edits.md`: Add semantic editing user guide - `extensions/ast/Cargo.toml`: Add AST edit hashing dependency - `extensions/ast/extension.toml`: Declare AST semantic edit tools - `extensions/ast/src/index.rs`: Expose indexed symbols for edit validation - `extensions/ast/src/main.rs`: Wire AST semantic edit handlers - `extensions/ast/src/outline.rs`: Add symbol span extraction helpers - `extensions/ast/src/protocol.rs`: Add AST edit protocol types - `extensions/ast/src/symbols.rs`: Improve symbol resolution for edits - `extensions/ast/src/tools.rs`: Implement AST anchored symbol edit tools - `extensions/lsp/Cargo.toml`: Add LSP workspace edit dependency - `extensions/lsp/extension.toml`: Declare LSP rename tools - `extensions/lsp/src/lsp_adapter/decode.rs`: Decode LSP workspace edits into batch edits - `extensions/lsp/src/lsp_adapter/mod.rs`: Implement LSP implementation and rename calls - `extensions/lsp/src/lsp_adapter/pool.rs`: Add session pool support for rename calls - `extensions/lsp/src/lsp_adapter/position_map.rs`: Convert UTF-16 LSP ranges to byte ranges - `extensions/lsp/src/main.rs`: Wire LSP semantic edit handlers - `extensions/lsp/src/protocol.rs`: Add LSP semantic edit protocol types - `extensions/lsp/src/session.rs`: Queue host calls during LSP session work - `extensions/lsp/src/tools.rs`: Implement LSP implementations and rename tools Closes #14
pocky
marked this pull request as ready for review
June 25, 2026 17:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
Workspace Metadata
.zpm/kb/architecture/journal.wal: Record architecture knowledge discovered during semantic edit implementation..zpm/kb/feedback/journal.wal: Record feedback rules and implementation lessons from the semantic edit work.Cargo.lock: Update dependency lockfile for workspace changes.Core Engine
crates/core_engine/src/adapters/daemon/engine.rs: Wire semantic edit capabilities through the daemon/MCP engine.crates/core_engine/src/adapters/extension/host_deps.rs: Extend sidecar host dependencies with workspace edit/read support.crates/core_engine/src/adapters/extension/sidecar.rs: Add host-call plumbing for semantic edit operations.crates/core_engine/src/adapters/extension/tests.rs: Cover extension host dependency and sidecar behavior for the new edit flows.crates/core_engine/src/adapters/in_memory_code_intel.rs: Update in-memory code intelligence support for semantic navigation/edit tests.crates/core_engine/src/domain/grep/mod.rs: Adjust grep/domain integration used by indexed symbol workflows.crates/core_engine/src/domain/mutation/file_mutation.rs: Add batch workspace apply-edits behavior with validation and structured results.crates/core_engine/src/ports/inbound.rs: Extend inbound use-case contracts for semantic edit operations.crates/core_engine/src/ports/mod.rs: Export updated port modules.crates/core_engine/src/ports/navigation.rs: Add navigation/edit contract types for implementation and rename flows.crates/core_engine/src/test_support/mod.rs: Add shared fixtures and helpers for semantic edit testing.Core Engine Tests
crates/core_engine/src/domain/mutation/apply_edits_tests.rs: Add contract coverage for batch edit application, conflicts, and validation.crates/core_engine/tests/extension_ast_e2e.rs: Add AST sidecar end-to-end coverage for anchored symbol edits.crates/core_engine/tests/extension_lint_e2e.rs: Update lint extension test support after protocol/host dependency changes.crates/core_engine/tests/extension_lsp_process_e2e.rs: Cover LSP sidecar process behavior for semantic navigation/edit handlers.crates/core_engine/tests/extension_lsp_protocol_e2e.rs: Cover LSP protocol responses for implementation and rename operations.crates/core_engine/tests/functional_semantic_edit_mcp.rs: Add functional MCP tests for semantic edit tool responses.crates/core_engine/tests/lint_support.rs: Update shared lint test fixtures for extension protocol changes.Extension Protocol
crates/extension_protocol/src/lib.rs: Export semantic edit protocol types.crates/extension_protocol/src/messages.rs: Add JSON-RPC message contracts for workspace edits, implementation lookup, prepare rename, and rename.crates/extension_protocol/tests/semantic_edit_contracts.rs: Add protocol contract tests for semantic edit serialization and error payloads.AST Extension
extensions/ast/Cargo.toml: Update AST extension dependencies for anchored edit support.extensions/ast/extension.toml: Declare AST semantic edit tools and capabilities.extensions/ast/src/index.rs: Update symbol indexing support used by edit resolution.extensions/ast/src/main.rs: Register anchored symbol edit handlers.extensions/ast/src/outline.rs: Extend outline parsing for edit anchor resolution.extensions/ast/src/protocol.rs: Add AST extension request/response types for semantic edit tools.extensions/ast/src/symbols.rs: Resolve symbol spans from current file content for safe anchored edits.extensions/ast/src/tools.rs: Implement AST semantic edit tools, dry-run previews, content hashes, and structured errors.LSP Extension
extensions/lsp/Cargo.toml: Update LSP extension dependencies for workspace edit decoding and semantic navigation.extensions/lsp/extension.toml: Declare LSP implementation and rename tools.extensions/lsp/src/lsp_adapter/decode.rs: Decode LSP workspace edits, including versioned document changes, into core edit operations.extensions/lsp/src/lsp_adapter/mod.rs: Add adapter operations for implementation lookup, prepare rename, and rename.extensions/lsp/src/lsp_adapter/pool.rs: Extend session pool routing for new LSP operations.extensions/lsp/src/lsp_adapter/position_map.rs: Convert UTF-16 LSP ranges to byte ranges for workspace edits.extensions/lsp/src/main.rs: Register LSP semantic edit and navigation handlers.extensions/lsp/src/protocol.rs: Add request/response protocol types for implementation and rename tools.extensions/lsp/src/session.rs: Add session-level handling for implementation and rename requests.extensions/lsp/src/tools.rs: Implement MCP-facing LSP tools for implementation lookup, prepare rename, and rename.Documentation
README.md: Update project feature overview with semantic edit support.docs/README.md: Link semantic edit documentation from the docs index.docs/architecture.md: Document architecture changes for semantic edit routing across ports and extensions.docs/extensions.md: Document extension capabilities and host-call expectations for semantic edits.docs/mcp-tools.md: Document MCP tool surface changes for AST/LSP semantic edit workflows.docs/user-guide/semantic-edits.md: Add user guide for semantic symbol editing workflows.Test plan
cargo fmt --checkcargo clippy --workspace --all-targets -- -D warningscargo build --workspace --binscargo test --workspaceCloses #14
Generated with awf commit workflow