Code reference detail
index-diagnostics.test.ts
packages/analytical/test/index-diagnostics.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| index_diagnostics | done | Indexing performance diagnostics: measure and inspect time spent indexing a [indexer.index] base. Timing is persisted in a dedicated **diagnostic index** under application memory ( [app_memory.index_diagnostics_store] ), not in `ideas-index.sqlite`, so history survives Clear & rebuild. Surfaces: [index_diagnostics_webview]. Owned by `@reqlan/analytical` for recording; the extension hosts the webview. | 0.145 | |
| index_diagnostics_metrics | done | For each sync / index run on a base, record: - wall-clock **sum / total duration** of the pass - **file count** ( visited ), skipped-by-mtime count, indexed ( parse / persist attempted ) count, error count - **average path depth** of visited files ( segments under the base root ) - per-file **duration** and outcome ( `mtime_skip` | `mtime_refresh` | `hash_skip` | `persisted` | `error` ) Runs are attributable to a trigger ( `soft_sync` | `rebuild` | `enqueue` | `stale` ). Instrumentation wraps [workspace_index] soft sync and [indexer.nonblocking_index] single-file paths via [diagnostics_store]. | 0.120 | |
| application_memory | done | Base-local application memory for reqlan tools lives under `<base>/.reqlan/`. The presence of `.reqlan` **marks** a directory as a ["../../bases/base.rq".base]; each base owns its own store. Shared by the VS Code extension, ["../../cli/cli_package.rq".cli_package], and MCP ( [mcp_server] ) — not VS Code `globalStorageUri` / extension-private storage. The ideas graph index ( [indexer.index_ideas] and [indexer.index_technology] ) persists as `ideas-index.sqlite` inside that directory. Schema: ["../../indexer/sqlite-schema.rq".ideas_index_sqlite]. Index timing diagnostics persist separately as `index-diagnostics.sqlite` ( [index_diagnostics_store] / ["./index-diagnostics.rq".index_diagnostics] ) so rebuilds of the ideas index do not wipe history. Click session state persists as `click-sessions.sqlite` ( ["../../cli/click.rq".click_session] ) so agent / CLI click cursors survive ideas-index rebuilds. Diagnostics schema: ["../../indexer/diagnostics-schema.rq".diagnostics_sqlite]. WAL sidecars and JSON siblings: ["../../indexer/sidecars.rq".reqlan_directory_layout]. Export form defaults ( all formats via ["../export/export.rq".export_webview], including HTML options in ["../export/html-export.rq".html_export_form] ) persist as `export_settings.json` in the same directory ( active base ). Path ignore rules live as `.rqignore` in the same directory ( [rqignore] / [configuration.configuration_rqignore] ). Git ignore for SQLite stores lives as `.gitignore` in the same directory ( ["../../bases/base.rq".base_initialisation_ignore] ). Path resolution is owned by [application_memory_impl] ( `resolveApplicationMemoryPath` ); consumers must use it ( or `REQLAN_INDEX_PATH` override for a single store ) so tools read and write the same store for a given base. Multi-base discovery / registry: ["../../bases/base.rq".multi_base_environment]. Index engine ownership: ["../../indexer/indexer.rq".ownership]. Extension wiring: [analytical_submodule]. Aligns with ["../../cli/cli_package.rq".function_parity]: shared analytical memory, not host-only state. | 0.494 | |
| index_diagnostics_store | done | Per-base diagnostic timing index at `<base>/.reqlan/index-diagnostics.sqlite`. Sibling of `ideas-index.sqlite`; not deleted by Clear & rebuild. Records sync runs and per-file durations for ["./index-diagnostics.rq".index_diagnostics_metrics]. Webview: ["./index-diagnostics.rq".index_diagnostics_webview]. | 0.223 | |
| diagnostics_sqlite | done | Per-base timing and index-issue store at `<base>/.reqlan/index-diagnostics.sqlite` ( [index_diagnostics_store] / [application_memory] ). Sibling of [ideas_schema.ideas_index_sqlite]; Clear & rebuild of the ideas index must not delete it. Authoritative schema lives in Rust ( [diagnostics_rust], `DIAGNOSTICS_SCHEMA_VERSION = 2` ). The TypeScript facade ( [diagnostics_store_ts] ) is thinner and focuses on timing rows. Related: [index_diagnostics_timing], [index_diagnostics], [index_diagnostics_metrics], [index_diagnostics_webview], [sidecars.sqlite_wal_sidecars], [consumers.diagnostics_consumers]. | 0.210 |
Reference labels
"../../../packages/analytical/test/index-diagnostics.test.ts", "../../packages/analytical/test/index-diagnostics.test.ts", ../../../packages/analytical/test/index-diagnostics.test.ts, ../../packages/analytical/test/index-diagnostics.test.ts