chore: gitignore the knowledge-graph build artifact

`.fusion-knowledge/` is `fn knowledge-graph build` output (FN-8920 memory epic):
~85MB of generated JSON, rewritten on every build. edges.json alone is 43MB,
past GitHub's 50MB warning threshold.

It is deterministic and fully regenerable from source — the manifest's SHA-256
fingerprints drive incremental rebuilds — so tracking it preserves nothing a
rebuild cannot reproduce, while adding irreversible, compounding history bloat to
every clone and CI checkout.

docs/knowledge-graph.md previously left this to the operator ("it is not
ignored"); that guidance is updated here so the doc and .gitignore agree. An
operator who explicitly wants a snapshot in history can still force one with
`git add -f .fusion-knowledge/graph`.

Nothing under the path was ever tracked, so no index purge is needed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-08-10 13:49:37 -07:00
parent 7b3bd75268
commit 67cdb33a92
2 changed files with 16 additions and 1 deletions

13
.gitignore vendored
View File

@@ -116,3 +116,16 @@ packages/desktop/deploy/
# vi.mock interception for imports nested inside the bundle; see the script
# comment (scripts/build-engine-core-gate-bundle.mjs) for the full repro.
packages/core/.gate-bundle/
# FNXC:KnowledgeGraph 2026-08-10-18:32:
# `fn knowledge-graph build` output (FN-8920 memory epic). Deterministic and fully
# regenerable from source, with SHA-256 fingerprints in the manifest driving
# incremental rebuilds — so committing it preserves nothing that a rebuild cannot
# reproduce. It is ~85MB (edges.json alone is 43MB, past GitHub's 50MB warning
# threshold) and rewritten on every build, so tracking it would add irreversible,
# compounding history bloat to every clone and CI checkout.
# Operator decision, 2026-08-10: ignore it. docs/knowledge-graph.md previously said
# "it is not ignored" and left committing to the operator; that guidance is updated
# alongside this entry. An operator who does want a snapshot committed can still
# force it with `git add -f .fusion-knowledge/graph`.
.fusion-knowledge/

View File

@@ -8,7 +8,9 @@
The default `knowledgeGraphDir` is `.fusion-knowledge/graph`, deliberately outside ignored `.fusion/`. It contains `nodes.json`, `edges.json`, and `manifest.json`; all use sorted, LF JSON. Nodes and edges are written before the manifest so a torn write safely triggers a full rebuild. The manifest records SHA-256 fingerprints and import references, enabling changed files only to be re-extracted and deleted file ownership to be pruned.
The artifact is intentionally not committed by this change. Operators may review and commit it with `git add .fusion-knowledge/graph`; it is not ignored.
The artifact is not committed. As of 2026-08-10 `.fusion-knowledge/` is gitignored: the graph is deterministic and fully regenerable from source (the manifest's SHA-256 fingerprints drive incremental rebuilds), so tracking it preserves nothing a rebuild cannot reproduce, while costing ~85MB of irreversible, compounding history bloat on every clone and CI checkout — `edges.json` alone is 43MB, past GitHub's 50MB warning threshold. Regenerate it with `fn knowledge-graph build` rather than pulling it.
An operator who explicitly wants a snapshot in history can still force one with `git add -f .fusion-knowledge/graph`; prefer a rebuild.
## Model