Skip to content

v1.6.0: Onboarding + Identity#22

Merged
devwhodevs merged 12 commits intomainfrom
feat/v1.6-onboarding-identity
Apr 10, 2026
Merged

v1.6.0: Onboarding + Identity#22
devwhodevs merged 12 commits intomainfrom
feat/v1.6-onboarding-identity

Conversation

@devwhodevs
Copy link
Copy Markdown
Owner

Summary

  • Interactive onboarding (engraph init) — polished CLI with welcome banner, vault scan checkmarks, identity prompts (dialoguer), progress bars, actionable next steps
  • Agent onboardingengraph init --detect --json for vault inspection, --json for non-interactive apply. Two-phase detect → apply for AI agents. MCP setup tool for in-session onboarding.
  • Identity layeridentity MCP tool + CLI + HTTP returns compact L0/L1 context block (~170 tokens). L1 auto-extracted during indexing: active projects, key people, current focus, OOO, blocking items.

Changes

  • 2 new modules: identity.rs (L1 extraction + formatting), onboarding.rs (interactive + agent CLI UX)
  • 2 new MCP tools: identity, setup (25 total)
  • 2 new HTTP endpoints: GET /api/identity, POST /api/setup (26 total)
  • New identity_facts SQLite table with CRUD
  • [identity] and [memory] config sections in config.toml
  • L1 extraction wired into indexer (runs after every engraph index)
  • Dependencies: +dialoguer 0.12, +console 0.16, +regex 1
  • 12 commits, 458 tests passing

Test plan

  • cargo fmt --check — clean
  • cargo clippy -- -D warnings — clean
  • cargo test --lib — 458 passed
  • Real vault: --detect --json — 179 files, 21 people notes, correct structure
  • Real vault: --identity --json — saves identity, returns JSON
  • Real vault: identity CLI — L0 + L1 block renders correctly
  • Real vault: identity --json — JSON with L0 from config, L1 from DB
  • Real vault: identity --refresh — re-extracts L1, shows 11 projects, 5 people
  • Real vault: HTTP GET /api/identity + POST /api/setup — both return data
  • Real vault: full reindex populates L1 facts automatically
  • Templates excluded from L1 active_projects
  • People notes count works with nested folders (03-Resources/People/)

Follow-up

New module src/onboarding.rs providing three public entry points:
- run_interactive: full first-run experience with banner, vault scan,
  dialoguer prompts (name/role/purpose), indexing, L1 extraction
- run_detect_json: non-destructive vault inspection returning JSON
- run_apply_json: non-interactive setup for agent/CI use

Supports flags for partial flows (identity-only, reindex-only, quiet)
and pre-filled values to skip interactive prompts.
Expose identity (compact user context at session start) and setup (detect/apply onboarding) as MCP tools in serve.rs. Updates server instructions string to advertise both tools.
Wire VaultProfile through the indexer call chain (run_index -> run_index_inner,
run_index_shared) and call extract_l1_facts at the end of each index run.
The profile is loaded once in run_index and passed through, eliminating
redundant load_vault_profile calls for exclude patterns and people detection.
In the watcher, both startup reconciliation and full rescan pass the profile
from the existing Arc<Option<VaultProfile>> context.
Update CHANGELOG with v1.6.0 Onboarding + Identity entry, bump README
tool/endpoint counts to 25 MCP tools and 26 HTTP endpoints, add identity
endpoints to the HTTP table, check off Identity roadmap item, and document
identity.rs and onboarding.rs modules in CLAUDE.md architecture section.
Fix three clippy warnings (collapsible_if x2, if_same_then_else x1) and
reformat source files changed by this task.
The `identity --json` path was reading L0 facts from the
identity_facts table (tier=0), which is never populated. L0 data
(name, role, vault_purpose) lives in config.toml. Now the JSON
output mirrors the non-JSON path by reading from config.
…ount

Skip files under templates and archive folders in extract_active_projects
to prevent template files (e.g. 05-Templates/Project.md) from leaking into
active_projects. Adds path_is_in_excluded_folder helper that strips PARA
numeric prefixes before matching. Also fixes people_notes count in
run_detect_json: adds a depth-2 fallback scan for People/ subfolders when
the profile doesn't detect a top-level people folder (e.g. 03-Resources/People/).
@devwhodevs devwhodevs merged commit 84dff52 into main Apr 10, 2026
3 checks passed
@devwhodevs devwhodevs deleted the feat/v1.6-onboarding-identity branch April 10, 2026 19:55
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.

MCP tools not surfaced in Claude Desktop Cowork/Code modes despite successful connection

1 participant