Skip to content

docs(eval): compare Understand-Anything vs aspid-wiki#116

Draft
VPDPersonal wants to merge 1 commit into
Version/Aspid.MVVM-1.1.0from
docs/understand-anything
Draft

docs(eval): compare Understand-Anything vs aspid-wiki#116
VPDPersonal wants to merge 1 commit into
Version/Aspid.MVVM-1.1.0from
docs/understand-anything

Conversation

@VPDPersonal

Copy link
Copy Markdown
Owner

Summary

  • Ran the Understand-Anything plugin full-repo (/understand --full) on Aspid.MVVM and compared it head-to-head with the curated aspid-wiki knowledge base (PR docs: add aspid-wiki knowledge wiki (EN + RU vaults + skill) #115) to decide which to use.
  • Adds docs/understand-anything-evaluation.md — the comparison + recommendation (RU).
  • Adds the UA artifact .understand-anything/knowledge-graph.json (3904 nodes, 3937 edges, 10 layers, 12 tour steps; 1951 files analyzed) so the interactive dashboard is reproducible without re-running the analysis.

Verdict: keep aspid-wiki as the canon; use UA only as an optional onboarding/visual map. Three decisive limits on this codebase:

  1. Source-generator blindness — tree-sitter sees only handwritten code, so the generated public API (OutText, InputText, SetOutText, *Changed events, SayCommand, the IViewModel impl) is absent from the graph. That API is the point of the framework.
  2. 0 import edges on C# — the resolver is module-path oriented (JS/TS/Python); C# namespaces don't map file=module, so there is no deterministic backbone and cross-file hierarchy edges are dropped at merge (graph connectivity ≈ 1.01 edge/node).
  3. ~45% of nodes are vendored third-party code (Zenject 539 + Asset Store Tools 293 + TextMesh Pro 45 of 1941; core Source/ is only 68 files).

UA shines at the interactive dashboard, auto-layered overview, and a 12-step guided tour — good for a one-off visual onboarding map, not as a source of truth.

Notes for review

  • The committed knowledge-graph.json is ~3.4 MB of machine-generated JSON (not human-reviewable line by line); it lives under .understand-anything/ at repo root, outside the shipped Unity package. If you'd rather not carry it in history, say so and I'll drop it and keep only the eval doc.
  • fingerprints.json and intermediate artifacts are git-ignored via .understand-anything/.gitignore (regenerable, auto-update only).
  • Environment shims needed to run the plugin here (Python 3.10+ syntax in merge-batch-graphs.py on a 3.9 system; pnpm native-build gate) were applied to the local plugin cache only — they are not part of this repo. Documented in the eval.
  • Draft / WIP — pending your call on whether to keep the graph blob committed.

Run the Understand-Anything plugin full-repo on Aspid.MVVM and compare it
against the curated aspid-wiki knowledge base to decide which to use.

- docs/understand-anything-evaluation.md — comparison + recommendation (RU):
  keep aspid-wiki as canon; UA only as an optional onboarding/visual map.
- .understand-anything/knowledge-graph.json — UA output (3904 nodes, 3937
  edges, 10 layers, 12 tour steps; 1951 files) for reproducing the dashboard.

Key findings: tree-sitter is blind to source-generated members (the public
binding/command API is absent from the graph); the C# import resolver yields
0 edges (no deterministic backbone); ~45% of nodes are vendored third-party
code (Zenject, Asset Store Tools, TextMesh Pro).

fingerprints.json and intermediate artifacts are git-ignored (regenerable).
@VPDPersonal VPDPersonal added type: documentation Documentation only status: work-in-progress Draft / not ready for review area: docs Documentation / knowledge wiki labels Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs Documentation / knowledge wiki status: work-in-progress Draft / not ready for review type: documentation Documentation only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant