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¶
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 indexreports indexed context rows.sb ask --no-synthesizereturnsRelevant Contentwith source references.sb packemits 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:
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 doctorsb ingest-statssb context compile "..." --jsonsb pack "..." --md