Skip to content

fix: newcomer-UX papercuts — clean-machine doctor, pathful errors, --version (#161)#164

Merged
Ju571nK merged 1 commit into
mainfrom
fix/newcomer-ux-161
Jun 16, 2026
Merged

fix: newcomer-UX papercuts — clean-machine doctor, pathful errors, --version (#161)#164
Ju571nK merged 1 commit into
mainfrom
fix/newcomer-ux-161

Conversation

@Ju571nK

@Ju571nK Ju571nK commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Closes #161.

Three first-run friction points found during fresh-install verification of the newcomer path.

1. sigil doctor on a clean personal machine no longer exits 1

  • Target paths for uninstalled agent tools → [INFO] … tool not installed — simply not watched (was [WARN]), with an absent-count summary line. Does not gate the exit code.
  • A state.db that doesn't exist yet (the daemon creates it on the first sigil run) → [INFO] state.db not yet present (created on first 'sigil run') instead of the degradation [WARN].
  • A present-but-unopenable state.db still warns (real problem, unchanged).
  • Net: a healthy fresh install now reports "All checks passed." (exit 0).

2. Pathful startup errors

sigil run startup IO failures now name the path + operation via anyhow context (state.db dir creation, HashCache::open, JsonlSink::open) instead of a bare Permission denied (os error 13).

3. --version support

  • sigil-hook --version / -V via clap version attr.
  • sigil-mcp --version / -V handled before server start (a bare invocation otherwise launches the MCP server).

Tests

  • doctor_absent_state_db_is_info_not_warn (integration, uses --state-db at a nonexistent path).
  • version_flag integration tests for both sigil-hook and sigil-mcp (long + short flag).

Hardware verification (macOS)

  • Clean-env sigil doctor (isolated HOME/XDG_*): exits 0, "All checks passed."
  • All four --version invocations print <bin> 0.5.1.

Gates: cargo fmt --all, cargo clippy --all-targets --all-features -D warnings, cargo test (sigil-agent/-hook/-mcp) — all green.

🤖 Generated with Claude Code

…version (#161)

Three first-run friction points found during fresh-install verification:

1. `sigil doctor` on a clean personal machine no longer exits 1. Target paths
   for uninstalled tools are now reported as [INFO] ("tool not installed —
   simply not watched") instead of [WARN], and a state.db that doesn't exist
   yet (the daemon creates it on the first `sigil run`) is [INFO] rather than
   the degradation WARN. Neither gates the exit code, so a healthy fresh
   install reports "All checks passed." A *present-but-unopenable* state.db
   still warns.

2. `sigil run` startup IO failures now name the path and operation via
   anyhow context (state.db dir creation, HashCache::open, JsonlSink::open)
   instead of a bare "Permission denied (os error 13)".

3. `sigil-hook --version`/`-V` (clap version attr) and `sigil-mcp --version`/
   `-V` (handled before server start) now print the version and exit 0.

Tests: doctor_absent_state_db_is_info_not_warn; version_flag integration
tests for both binaries. Hardware-verified on macOS: clean-env doctor exits 0,
all four --version invocations print "<bin> 0.5.1".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Ju571nK Ju571nK merged commit 13ba776 into main Jun 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

newcomer UX: doctor exits 1 on clean personal install; bare EACCES on startup; --version missing on hook/mcp

1 participant