feat(persona): Profile Discovery Pipeline for bootstrap pre-fill#1
Merged
Conversation
- Add design spec for npx agent-recall CLI (install/doctor/adapter/status) - Update ROADMAP to reflect actual codebase state: - SeekDB is now default vector backend (not ChromaDB) - KnowledgeLint, ObservationRecord types, Markdown sync already completed - Revised sprint priorities Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
10 tasks, TDD-first, with dependency graph for parallelization. Tasks 1-4 independent (output/platform/runtime/hooks modules), 5-7 compose them (doctor/install/adapter commands), 8-10 integrate and verify (build pipeline, INSTALL.md, integration tests). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements registerHooks(), isHooksRegistered(), and removeHooks() for the new npx agent-recall CLI installer. Substitutes $AGENT_RECALL_ROOT placeholder in hook source files (mirrors existing shell sed pattern). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements runtime-check.ts with 8 diagnostic checks (Node version, Bun, worker health, SQLite DB, SeekDB, Chroma fallback, disk space, viewer UI) and runAllChecks() aggregate. All checks never throw. 23 tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements src/cli/installer/index.ts — the npx entry point that parses argv, dispatches to lazy-loaded command modules, and shows help/version. All 36 output helper + argument parsing tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Three thin command wrappers that compose the existing installer lib: - adapter.ts: list/install/remove platform hook adapters (uses PLATFORMS, getPlatformById, registerHooks, isHooksRegistered, removeHooks) - status.ts: runs four runtime checks and prints pass/fail results - uninstall.ts: stops worker, removes all registered hooks, prints data dir path with manual-deletion instructions All three export async run(): Promise<void> per the CLI entry point contract. Smoke-tested: typeof run === 'function' for all three modules. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements runDoctor() which aggregates runtime checks (Node, Bun, Worker, DB, SeekDB, Chroma, Disk, Viewer) with per-platform adapter hook checks, returning a DoctorReport with issueCount and fixableCount. Includes 13 tests covering shape, category validity, and count invariants. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…reBun Adds src/cli/installer/commands/install.ts with the full install flow (npm mode + --from-source mode), plus unit tests for the two exported utility functions. All 128 installer tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wire src/cli/installer/index.ts into scripts/build-hooks.js so npm run build produces bin/agent-recall.cjs. Add bin field to package.json so npx agent-recall works out of the box. Fix .ts extension imports and spurious detached option in install.ts, and fix the import.meta.url entry-point guard to work in the compiled CJS bundle. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds `npx agent-recall` CLI as unified entry point for installation, diagnostics, and platform adapter management. Commands: install, doctor, adapter, status, uninstall Platforms: Claude Code, Cursor, Codex CLI, Gemini CLI, OpenCode 135 tests, 0 failures. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Two-stage LLM pipeline: knowledge synthesis + Mermaid diagram generation. Default model: Opus 4.6, configurable. Graceful fallback to text merge. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7 tasks: prompts, parser, LLM client, wire aiMerge, Mermaid, settings/doctor, PruneStage supersession. Tasks 1-3 parallelizable. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GET /api/persona/discoverendpoint (read-only, no side effects)What it does
When a user installs agent-recall and runs
/bootstrap, the system now:~/.claude/CLAUDE.md@ references, well-known paths,~/.claude/memory/, and legacy~/.claude-mem/DBNew files
src/utils/claude-md-parser.ts— @ reference parsersrc/services/persona/LegacyDbImporter.ts— read-only legacy DB importsrc/services/persona/ProfileDiscoveryService.ts— discovery engine with conflict detectiontests/services/persona/profile-discovery.test.ts— 14 tests, all passingTest plan
bun test tests/services/persona/profile-discovery.test.ts— 14/14 passcurl http://localhost:37777/api/persona/discover— returns correct discovery resultsnpm run build-and-sync— builds and syncs to plugin directory/bootstrapin a fresh project to verify discovery pre-fill flow🤖 Generated with Claude Code