Skip to main content

Frontend and Store

This page summarizes the runtime surfaces around storage, querying, and the two frontend bundles.

Store

AnalyzerStore keeps:

  • tasks
  • snapshots
  • task logs
  • frontend debug logs

The store is in-memory first, with JSON persistence under the platform-specific DependencyAtlas state directory for:

  • tasks/
  • snapshots/
  • task_logs/
  • frontend_debug/

This gives the web UI a simple HTTP-facing runtime without requiring a separate database. Use --store PATH or DEPATLAS_STORE when you want an explicit store location.

Rebuildable analyzer caches, such as the Base/Core symbol table cache, live under the platform-specific DependencyAtlas cache directory. Use DEPATLAS_BASE_CORE_CACHE_ROOT when you need to override that cache location.

Query Runtime

Snapshots build runtime-only indexes lazily:

  • node_by_id
  • in/out adjacency indexes
  • layer graph caches

Query logic then provides:

  • method/file/module projection
  • filtering
  • pagination
  • reachability
  • query-context metadata such as node_appearance

The canonical snapshot remains immutable; query-specific shape is computed on demand.

Web UI

The React UI is split into two main domains:

  • task domain
    • analysis path/project root validation
    • task submission
    • polling task and summary state
  • graph domain
    • graph queries
    • reachability queries
    • node/source detail fetching
    • presentation, layout, and export

This keeps analysis lifecycle and graph exploration concerns separate.

Docs Frontend

The docs site is a separate static frontend used for:

  • architectural explanation
  • onboarding
  • examples
  • reference material

It is not part of the runtime query path.

Export Paths

Graph export JSON and draw.io export belong to the frontend layer:

  • semantic export packages the current visible graph state and query-context metadata
  • render export packages positioned nodes and routed edges

These exports are consumer artifacts, not canonical backend snapshot format.