forgeplan fpf ingest
forgeplan fpf ingest loads the First Principles Framework specification into the workspace knowledge base. It parses the 204-section corpus (A/B/C parts), chunks it, generates embeddings via the same BGE-M3 pipeline used by artifact search, and writes the result into a LanceDB table under .forgeplan/lance/.
Run it once per workspace, typically right after forgeplan init -y. After ingest, fpf search, fpf section, fpf list, fpf rules, and fpf check all become available.
When to use
Section titled “When to use”- Right after
forgeplan init -y— seed the KB before doing any reasoning work. - After wiping
.forgeplan/lance/— because lance is gitignored, fresh clones need re-ingest. - After a Forgeplan upgrade that ships new FPF sections — re-ingest to refresh the corpus.
- When
fpf statusreports the KB as stale or empty.
When NOT to use
Section titled “When NOT to use”- You don’t need to run it before every reasoning session; the KB persists across invocations.
- Don’t run it in parallel with
forgeplan reason --fpf— let ingest finish first. - Not a replacement for
forgeplan scan-import— that rebuilds the artifact index, not the FPF KB.
forgeplan fpf ingest [OPTIONS]Options
Section titled “Options” --path <PATH> Path to FPF sections directory -h, --help Print help -V, --version Print versionBy default, fpf ingest reads the FPF spec bundled inside the Forgeplan binary. Pass --path to ingest from an external sections directory instead — useful for local FPF spec development or testing a patched corpus.
Examples
Section titled “Examples”# First-time setup — uses bundled specforgeplan init -yforgeplan fpf ingest
# Re-ingest after upgradeforgeplan fpf ingestforgeplan fpf status
# Ingest from an external FPF sections directoryforgeplan fpf ingest --path ./fpf-sections/What happens
Section titled “What happens”- Forgeplan locates the bundled FPF spec (ships inside the binary).
- Sections are parsed into structured chunks (ID, title, part, body).
- Embeddings are generated via BGE-M3 (feature-gated — falls back gracefully if
semantic-searchis disabled). - LanceDB writes one row per section into the
fpf_kbtable. - A status record is stamped with ingest timestamp and section count.
On a warm fastembed cache the whole operation takes a few seconds; cold runs pay the model download cost once.
How it fits
Section titled “How it fits”Ingest is the bootstrap step for everything else under forgeplan fpf:
forgeplan fpf ingest ← one-time ├── fpf search ← works after ingest ├── fpf section B.3 ├── fpf list ├── fpf rules ├── fpf check PRD-XXX └── fpf dashboardIt’s also a prerequisite for forgeplan reason --fpf, which pulls first-principles context into the ADI prompt.
See also
Section titled “See also”forgeplan fpf— parent commandforgeplan fpf status— verify ingest succeededforgeplan fpf search— query the ingested KBforgeplan init— workspace bootstrap that precedes ingest