Skip to content

Personal Knowledge Demo

This is the main new-user demo. It proves that SecondBrain can ingest a small local corpus, build local context, and answer from citations before you configure provider-backed synthesis.

What The Demo Contains

demo_vault/ is synthetic and safe to share. make setup copies those fixtures to .secondbrain/demo_vault so the ingest pipeline can write normalized notes without mutating committed demo files. The fixtures describe a fictional Orion release through:

  • launch notes with a priority, blocker, risk, TODO, and open loop
  • a release-scope decision memo
  • a product-sync meeting note with owners and follow-ups

The retrieved context should include items such as self-serve onboarding, exportable audit logs, recovery-friendly operator workflows, the noisy billing webhook retry policy, migration-guide simplification, and remaining open loops.

Command Path

make setup
make doctor-local
make demo-knowledge

Or manually:

source .venv/bin/activate

export SB_CONFIG=$PWD/.secondbrain/config/config.yaml
export SB_STATE_DIR=$PWD/.secondbrain/state
export SB_VAULT_DIR=$PWD/.secondbrain/demo_vault

sb ingest "$SB_VAULT_DIR/00_inbox/orion-launch-notes.md"
sb ingest "$SB_VAULT_DIR/03_decisions/2026-04-18-release-scope.md"
sb ingest "$SB_VAULT_DIR/04_meetings/2026-04-19-product-sync.md"
sb context index
sb ask "What are the main active priorities for the Orion release?" --no-synthesize
sb pack "Summarize the Orion launch state"

What Success Looks Like

  • the three sb ingest "$SB_VAULT_DIR/..." commands complete, or report unchanged files on repeat runs.
  • sb context index reports indexed context rows.
  • sb ask --no-synthesize returns Relevant Content with source references.
  • sb pack emits a bounded context pack for the launch-state question.

Useful follow-up questions:

sb ask "What is blocking the Orion release?" --no-synthesize
sb ask "Who owns the Orion follow-ups?" --no-synthesize
sb ask "What open loops remain before launch?" --no-synthesize

How It Uses Context, Memory, And Tools

  • ingests the synthetic Orion fixtures from the repo-local working copy
  • promotes facts, decisions, open loops, and knowledge assets into local stores
  • builds the optional offline context index
  • assembles a bounded context pack for the question
  • writes local state into the configured SQLite stores

Why It Is Different From Plain Chat

  • the answer path is grounded in local source documents
  • decisions and open loops are part of the runtime context
  • context is assembled deliberately instead of pasting the full corpus
  • the first run can return citations without a provider key or network call

Optional Provider-Backed Answer

After configuring provider keys, remove --no-synthesize:

sb ask "What are the main active priorities for the Orion release?"

If no provider is configured or network access is unavailable, keep --no-synthesize while evaluating retrieval and grounding.

What Can Fail

  • state directory is not writable
  • no docs were ingested
  • provider-backed synthesis is attempted without usable keys or network access
  • repeat ingest reports files as unchanged, which is normal

How To Debug

  • sb doctor
  • sb ingest-stats
  • sb context compile "..." --json
  • sb pack "..." --md