Add a checked-in structural knowledge graph of the repo - #4
Merged
Conversation
Generated by the Understand-Anything plugin over 169 files at b5ab84c: 554 nodes (file/class/function/document/config), 1239 edges (imports, calls, contains, tested_by), 10 architectural layers, and a 14-step guided tour that walks the observer -> critic -> hooks -> reflector loop in data-flow order. The analysis itself is expensive — 18 batches of model-driven file analysis. Committing the result means anyone with the plugin can open it with /understand-dashboard in seconds instead of paying to regenerate it. Included beyond the graph itself: - meta.json pins the commit the graph describes, so staleness is visible - .understandignore records the analysis scope (.codecouncil/ runtime data excluded, docs/ and tests/ deliberately kept) so a re-run reproduces this scoping instead of silently choosing its own - fingerprints.json lets a refresh re-analyze only changed files rather than escalating to a full rebuild - intermediate/scan-result.json lets a refresh skip the scan phase Build scratch (.ua/.trash-*/, 3.7M) is deliberately not tracked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A checked-in graph nobody knows how to open is dead weight, so CONTRIBUTING now says what it is, how to view it (/understand-dashboard for plugin users, plain JSON otherwise), and that it is a commit-pinned snapshot rather than a live view. Each /understand run leaves a .ua/.trash-<timestamp>/ scratch dir behind — the plugin moves intermediates aside instead of deleting them, then reclaims them after 7 days. Ignore them so a refresh does not show up as untracked noise in everyone's working tree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
.ua/knowledge-graph.json— a structural map of the repo generated by the Understand-Anything plugin over 169 files atb5ab84c.554 nodes (236 function, 144 class, 103 file, 42 document, 23 config, 5 concept, 1 pipeline)
1239 edges (407 contains, 215 exports, 169 imports, 163 calls, 123 documents, 74 related, 51 tested_by, 21 configures, 11 depends_on, 3 triggers, 2 deploys)
10 layers — Documentation 42, Measurement 26, Testing 26, Presentation 23, Critic 17, Delivery 11, Reflection 9, Observation 8, CI/CD 7, Core Substrate 5
14-step guided tour walking observer → critic → hooks → reflector in data-flow order
Why check in a generated file
Producing it is the expensive part — 18 batches of model-driven file analysis. Reading it is free. With the plugin installed,
/understand-dashboardopens it as an interactive graph in seconds; without it, the JSON is plain (project,nodes,edges,layers,tour). Committing the result means nobody pays to regenerate what's already been computed.What's included and why
knowledge-graph.json(580K)meta.json.understandignore.codecouncil/runtime data excluded,docs/andtests/deliberately kept — so a re-run reproduces this scoping instead of picking its ownfingerprints.json(256K)intermediate/scan-result.jsonBuild scratch (
.ua/.trash-*/, 3.7M) is not tracked; the second commit adds a.gitignoreline for it so a refresh doesn't leave untracked noise in everyone's tree.CONTRIBUTING.mdgains a short Architecture map section covering what the graph is, how to open it, and that it's a commit-pinned snapshot rather than a live view.Notes
b5ab84cand lags the working tree between refreshes.meta.jsonmakes that checkable.🤖 Generated with Claude Code