Printable idea sheet
sqlite_artifact_lifecycle
reqlan rq/extension/index-host/sqlite-artifact-lifecycle.rq:11
Katz 0.052
Base SQLite artifacts under `<base>/.reqlan/` ( base_ownership ) must not stay locked for the
whole extension session. The host opens them only while work runs, then releases file handles
so users can delete or replace the files.
Aligns with event_driven: open and close are reactions to index or analysis events, not a
permanent connection or a reconnect loop.
Mediation: only workspace-index.ts / open-analysis-api.ts own SQLite connections. The extension
adapter ( index-service.ts ) must not keep a second long-lived analysis runtime beside the
index, and must not call native open without a matching dispose / release.
Related: index_sequencing, idle_stale_check, headless_consumers, multi_base_environment.
- implementation
- index-service.ts, base-registry.ts, workspace-index.ts, open-analysis-api.ts, native-analysis-api.ts
- status
- done
- tests
- sqlite-artifact-release.test.ts:dispose releases ideas-index so the file can be unlinked, sqlite-artifact-release.test.ts:WorkspaceIndex deactivate releases sqlite artifacts, sqlite-artifact-release.test.ts:BaseRegistry releaseArtifacts closes handles but keeps descriptors, open-analysis-api.test.ts:opens the native engine when the host .node is available
Interactive page: sqlite_artifact_lifecycle