1.0 command-surface target

Updated Jun 22, 2026

Weaver is pre-0.1.0, so the current public command grammar is not a compatibility promise. ADR 007 and the roadmap reset the future public interface around a human-friendly, agent-native command contract.

The 0.1.0 target keeps the human terminal experience first-class while making agent usage reliable:

  • default output remains localized, readable, and accessible for humans;
  • --json is the canonical machine-readable output switch;
  • resource-first commands replace the prototype observe, act, and verify domain grammar;
  • Sempai one-liner queries are first-class selectors alongside file-position selectors;
  • observe-style commands can emit structured selector records that act-style commands consume directly or after ordinary UNIX filtering;
  • capabilities are public, while providers such as Rope and rust-analyzer are implementation details surfaced through provenance, diagnostics, policy, and expert overrides; and
  • reusable command metadata, renderer metadata, profile, delivery, feedback, skill, and execution-ledger contracts depend on OrthoConfig where the OrthoConfig roadmap already owns the generic machinery.

The OrthoConfig consumer boundary matrix tracks which target command-contract tasks already consume OrthoConfig, which ones use temporary Weaver wrappers, and which ones are pending upstream OrthoConfig contracts. While those pending and wrapper rows remain open, users may see Weaver-owned help, output, profile, delivery, feedback, or job-ledger behaviour that is expected to converge on the named OrthoConfig contract before the 0.1.0 compatibility promise is made.

Representative target commands look like this:

weaver definitions get --uri file:///src/main.rs --position 10:5
weaver references list --uri file:///src/main.rs --position 10:5 --json
weaver symbols list --query 'fn $name(...)' --json \
  | jq 'select(.name | startswith("old_"))' \
  | weaver symbols rename --from-stdin --replace-prefix old_ --with-prefix new_
weaver symbols rename --query 'fn process_request(...)' --new-name run_request
weaver patches apply --file changes.patch --dry-run
weaver context --json
weaver capabilities list --json

The command reference below records the current prototype implementation. It is useful for operating this branch today, but future roadmap work should follow the target contract above unless a later ADR explicitly changes the 0.1.0 surface.