Files
ECC/.opencode/commands/rust-build.md
Gaurav Dubey 9d1ecb0754 fix(opencode): resolve command agent ids to registered opencode agents (#2477)
The `.opencode/commands/*.md` frontmatter referenced agents with the Claude
Code plugin namespace (`agent: everything-claude-code:<name>`), but ECC's
opencode integration registers its agents unscoped in `opencode.json`'s
`agent` map (`code-reviewer`, `planner`, ...), and that file's own `command`
section already references them unscoped. The `everything-claude-code:` scope
resolves under no opencode config (the opencode plugin package is
`ecc-universal`, and inline-config agents are bare), so subtask commands like
`/code-review` hard-fail with `Agent not found: everything-claude-code:code-reviewer`.
Non-subtask commands fall back to the default agent and appear to work — which
is why only some commands failed.

Strip the `everything-claude-code:` prefix from all 30 command frontmatter
agent ids so they match the registered agents, fix the MIGRATION.md example,
and replace the test that enforced the broken scoped invariant with one that
asserts each command agent id is a registered opencode agent (fails on the old
scoped ids, passes on the fix).

Fixes #2477
2026-07-10 09:46:40 +05:30

1.7 KiB

description, agent, subtask
description agent subtask
Fix Rust build errors and borrow checker issues rust-build-resolver true

Rust Build Command

Fix Rust build, clippy, and dependency errors: $ARGUMENTS

Your Task

  1. Run cargo check: cargo check 2>&1
  2. Run cargo clippy: cargo clippy -- -D warnings 2>&1
  3. Fix errors one at a time
  4. Verify fixes don't introduce new errors

Common Rust Errors

Borrow Checker

cannot borrow `x` as mutable because it is also borrowed as immutable

Fix: Restructure to end immutable borrow first; clone only if justified

Type Mismatch

mismatched types: expected `T`, found `U`

Fix: Add .into(), as, or explicit type conversion

Missing Import

unresolved import `crate::module`

Fix: Fix the use path or declare the module (add Cargo.toml deps only for external crates)

Lifetime Errors

does not live long enough

Fix: Use owned type or add lifetime annotation

Trait Not Implemented

the trait `X` is not implemented for `Y`

Fix: Add #[derive(Trait)] or implement manually

Fix Order

  1. Build errors - Code must compile
  2. Clippy warnings - Fix suspicious constructs
  3. Formatting - cargo fmt compliance

Build Commands

cargo check 2>&1
cargo clippy -- -D warnings 2>&1
cargo fmt --check 2>&1
cargo tree --duplicates
cargo test

Verification

After fixes:

cargo check                  # Should succeed
cargo clippy -- -D warnings  # No warnings allowed
cargo fmt --check            # Formatting should pass
cargo test                   # Tests should pass

IMPORTANT: Fix errors only. No refactoring, no improvements. Get the build green with minimal changes.