You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
npm distribution — install with npm install -g @skillicinski/bo. No Rust toolchain needed. Pre-built binaries for macOS (Intel + Apple Silicon) and Linux x86_64.
DeepSeek provider support (deepseek-v4-flash, deepseek-v4-pro). Select with bo config --provider deepseek.
bo status command — shows tree health and compile readiness.
bo compile --all flag — recompile the full corpus and allow complete branch graph rewrite.
bo collect accepts multiple URLs in one invocation and .txt files containing one URL per line.
compile_model config key — pin a heavier model just for bo compile. Set with bo config --compile-model <id>.
Compile validation gate — bo compile rejects responses that would result in no file changes and surfaces an actionable error.
Interactive confirmation gate on bo raze — operators must type yes to proceed. No --force / --yes override (by design, so agents cannot bypass it).
manifest.json is now the canonical record of tree topology and metadata. Lives at {tree}/.bo/manifest.json. Written atomically (tmp + rename) on every mutation.
Changed
bo compile is incremental by default — only processes leaves collected since the last compile. Use --all for full recompile.
bo config is now flag-driven: bo config --provider <name> --model <id> --compile-model <id>. Replaces the previous bo config auth / bo config get / bo config set subcommands.
Default model changed from gpt-4o to gpt-4.1-mini.
bo show now defaults to a frontmatter card view; use --full for the complete body.
bo list reworked into a branch-centric tree view by default. New flags: --branch <name>, --recent, --limit <n>.
All read commands (bo status, bo list, bo show, bo query, plus bo collect duplicate detection) consult the manifest. They no longer read index.jsonl, state.json, or scan the branches/ directory for metadata.
bo collect and bo compile write the manifest as the primary commit, then mirror to index.jsonl / state.json / branch frontmatter as a transient safety net (removed in v0.0.2 stage 3b).
Branch .md frontmatter renamed compiled_at → created_at for clarity. updated_at unchanged. The manifest's BranchRecord mirrors these names.
bo raze now preserves stored provider credentials by default; use --include-auth for a full credential wipe.
bo status no longer counts leaves with unparseable frontmatter as "uncompiled". Such leaves were always also flagged as skipped by health output; the duplicate signal is gone, the explicit skipped signal stays.
Compile context-overflow and validation errors now reference the new flag-based config (bo config --compile-model <id> / bo config --model <id>).
Removed
bo search command. Use bo list --terms <terms> for title/slug filtering.
bo config auth subcommand. Save API keys via the OPENAI_API_KEY / DEEPSEEK_API_KEY env vars or by hand-editing ~/.bo/auth.json with flat keys (openai_api_key, deepseek_api_key).
bo config get and bo config set subcommands. Replaced by the flag-driven bo config.
Recovery
If manifest.json is missing on read, bo reconstructs it from the secondary store (index.jsonl + branch frontmatter) on the fly, persists the result, and prints manifest missing; reconstructed from secondary store to stderr. This affordance is removed in v0.0.2 stage 3b along with the secondary store itself.