Skip to content

Walkthrough: AOT browsing & index lifecycle

Action walkthrough · Core Studio 3.0 · OneBox · Verified 2026-09-01

Concept: opening a root starts a tiered, background indexing lifecycle. Understanding the tiers means understanding exactly what you can trust at any moment — the product tells you, per surface.

Prerequisites

  • A D365 metadata folder (typically C:\AosService\PackagesLocalDirectory on a onebox VM) or exported metadata.

Steps

  1. Open the root — XPP_AOT_ROOT, File → Open AOT folder…, or the default.
  2. Watch tier 1 (descriptors & headers, no XML parsing): the AOT explorer is browsable almost immediately, even at ApplicationSuite scale (350k+ files).
  3. Tiers 2–3 parse your models, then Microsoft’s (methods, enum values) — navigation, hover, and pickers get progressively smarter.
  4. Tier 4 drains method sources into the FTS index — source search fills in.
  5. index-tier-complete fires — the index has fully converged.
The index lifecycle view showing a save triggering an incremental reindex of just the changed file
The index lifecycle view showing a save triggering an incremental reindex of just the changed file

Reading freshness

  • Save a file → incremental reindex of just that file.
  • Relaunch → unchanged root loads from cache in seconds ([aot] loaded N elements from cache in Xs); a chunked background pass reconciles any on-disk changes.

Verify it worked

  • The explorer answers before tier 2 finishes; go-to-definition sharpens as tiers land; search’s partial flag clears at convergence.

If it goes wrong

  • Re-indexes every launch — fingerprint mismatch or locked/corrupt DB; check [aot] logs, delete the root’s cache DB, rebuild once.
  • “database is locked” at boot — transient WAL race; the LSP retries and recovers on its own.

Troubleshoot further: Indexing guide.