generated from eblume/project-template
feat: CLI quick wins — heph-tui --version, fuzzy --project, heph context, version RPC #6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/cli-quick-wins"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
A batch of small, independent CLI/daemon quick wins from the
Hephaestusproject backlog:heph-tui --version—heph-tuinow reportsX.Y.Z (sha)likeheph/hephd(the missing third binary). Closes theheph-tuihalf of the cross-binary--versiontask.--projectis case-insensitive / prefix-fuzzy when unambiguous — a tiered resolver (exact → case-insensitive exact → unambiguous prefix; ambiguous → no match) shared acrosstask/edit/promote/list/parent via a newproject.resolveRPC +Store::resolve_project. An exact case-sensitive title always wins outright, so nothing that resolved before changes.heph context <task-id>— read/--body/--appenda task's canonical-context doc body by task id, with no manualcanonical_context_idlookup.-reads stdin likenode update.versionRPC — returnsheph_core::VERSION, so RPC clients (thehephaestus.nvim:Heph versioncommand) can report whichhephdthey talk to.Each change ships a changelog fragment.
Already resolved (verified, no code here)
The "
--versionreports 0.0.0" task was already fixed by the v1.0.1/v1.0.2 release commits —0.0.0on dev/branch builds is by design; release-tag installs report the real version.Testing
cargo test(full workspace) — green; added 3 tests: fuzzy resolver (unit),version+project.resolveover the socket (e2e)cargo clippy --workspace --all-targets— cleancargo fmt --all --check— cleanmise run changelog-check— pass--project(exact/ci/prefix/ambiguous/unknown) andheph context(read/set/append/stdin/errors) against isolated temp daemons🤖 Generated with Claude Code
versionRPC returning the daemon build versionRPC clients (the hephaestus.nvim plugin, for its `:Heph version` command) had no way to learn which hephd they are talking to — `health` returns counts, not a version. Add a tiny `version` method returning `{ version: heph_core::VERSION }`, the same `X.Y.Z (sha)` string the binaries print for --version. No store access needed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>