Skip to content

feat!: remove semantic rename from CLI and agent surfaces - #801

Merged
e54-bot merged 3 commits into
mainfrom
feat/remove-semantic-rename
Oct 19, 2026
Merged

e54-bot merged 3 commits into
mainfrom
feat/remove-semantic-rename

Conversation

@e54-bot

@e54-bot e54-bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Implements #780: semantic rename is removed from Wright's CLI and agent-facing interfaces. Agents edit source directly and re-verify with check, or propose transactions through the retained validated-edit operations.

Removed:

  • wright rename <NAME> <NEW_NAME> [INPUT] (raw Workshop and OPY input), including shell completions and docs — it now parses as an ordinary unknown subcommand
  • semanticRename and providerSemanticRename from wright serve (stdio/JSON-RPC), MCP tools, wright agent tools, capabilities, and schemas/wright-agent-v1.schema.json
  • Raw-Workshop semantic rename implementation in wright-driver (RenameTarget, SemanticRename, CompilerSession::{semantic_rename, rename}) and the provider-side named_rename/ProviderNamedRenameRequest that only the removed surfaces used, plus their tests

Preserved:

  • LSP textDocument/rename on source-language documents, still routed through wright_driver::provider_edit::semantic_rename (provider-owned, versioned workspace edits)
  • validateEditTransaction and providerValidateEdit — the supported caller-proposed edit path — with stale-source refusals, all-or-nothing validation, atomic writes, and rollback intact (Multi-source edit writes are not atomic when a later file fails #734)
  • lint --fix fix transactions through the same validated-edit machinery
  • The deprecated RenameRequest/rename_symbol helpers for wright-embedding/v1 source compatibility
  • opy-rs and the LPP specification are untouched; no replacement edit operation is added

The vendored agent guide (agent-guide/wright/) is synced to wrightkit/skills@cdd694f, which dropped the rename surfaces upstream (wrightkit/skills#26, landed via #27); both pins (agent-guide/UPSTREAM.md, agent.rs) updated and the --check passes.

Verification

  • cargo fmt --all -- --check: clean
  • cargo clippy --workspace --all-targets --all-features -- -D warnings: clean on stable and cargo +1.85.0
  • cargo test --workspace --all-targets --all-features: all suites pass, 0 failures — including the wright-lsp rename tests (versioned-edit negotiation, per-document grouping, provider routing) and the validateEditTransaction/providerValidateEdit/lint --fix tests
  • git diff --check: clean
  • python3 scripts/sync-agent-guide.py --check: vendored guide matches wrightkit/skills@cdd694f
  • Manual checks on the built binary: wright rename score total exits 2 as unrecognized subcommand; semanticRename and providerSemanticRename requests over stdio answer malformed-request naming the 21 surviving ops; capabilities no longer advertises the removed ops; MCP tools/list shows 19 tools with wright_validate_edit_transaction/wright_provider_validate_edit retained; wright agent tools emits 21 defs with no rename; generated bash/zsh/fish/powershell completions contain no rename

Fixes #780

Drop `wright rename` and the `semanticRename`/`providerSemanticRename`
operations from `wright serve`, MCP, `wright agent tools`, and the
`wright-agent/v1` schema, plus the raw-Workshop rename implementation
only they used. Agents edit source directly and re-verify with `check`,
or propose transactions through `validateEditTransaction` and
`providerValidateEdit`, which keep the stale-source, atomic-write, and
rollback contract unchanged.

Editor rename is unchanged: LSP `textDocument/rename` still routes
through the provider (`wright_driver::provider_edit::semantic_rename`),
and the deprecated `rename_symbol` helper stays for
`wright-embedding/v1` source compatibility.

Fixes #780
The vendored guide was hand-edited instead of synced; re-vendor it from wrightkit/skills@cdd694f (post-skills#26) so the pinned copies match and the CI agent-guide check passes. Also reword the README feature bullet and the metrics comment that still named the removed operation.

Refs #780
@e54-bot
e54-bot requested a review from Teakowa as a code owner October 19, 2026 15:46

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the removal end to end: CLI/agent-serve/MCP/completion surfaces and the raw-Workshop-only rename code are gone; LSP textDocument/rename, provider_edit::semantic_rename, validateEditTransaction/providerValidateEdit, and lint --fix are untouched. The metrics.py comment edit is the only CODEOWNERS path touched and it is documentation-only. Local wright-cli suite passes (268 tests) including the unknown-subcommand regression; 34/34 required checks green.

One note: the vendored guide was synced from wrightkit/skills@cdd694f (post-skills#26). The skills-side PR merged ahead of the release, so the published guide already assumes this change ships in the next release — keep the feat! title so release-please marks it breaking.

@e54-bot
e54-bot merged commit befabc2 into main Oct 19, 2026
35 checks passed
@e54-bot
e54-bot deleted the feat/remove-semantic-rename branch October 19, 2026 16:30
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Make Workshop Great Again Oct 19, 2026

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

Remove semantic rename from the CLI and agent surface; keep editor rename

2 participants