File detail
sqlite-artifact-lifecycle.rq
reqlan rq/extension/index-host/sqlite-artifact-lifecycle.rq
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| sqlite_artifact_lifecycle | done | 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] / [analysis_runtime] own SQLite connections. The extension adapter ( [editor_index_adapter] ) 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]. | 0.052 | |
| release_when_idle | done | After an index or analysis pass finishes, and after the idle quiet period ( [idle_stale_check] / indexing_trigger_auto ), [editor_index_adapter] must release every open base SQLite handle via [base_registry] `releaseArtifacts` → [workspace_index] `deactivate`. Descriptors stay registered so the next event can reopen the same base. Idle must not leave connections open after a heal / sync, and must not schedule another open unless a real host event arrives ( file change, pin / switch, focus reopen, command, UI query ). | 0.077 | |
| analysis_api_dispose | done | [analysis_runtime] `openAnalysisApi` dispose must close the native analysis runtime and drop its SQLite connection ( ideas index and click-sessions ). A no-op dispose is a defect. Extension commands use a short-lived `withAnalysisApi` ( open → run → dispose ) mediated by [analysis_runtime]; they must not cache `NativeAnalysisApi` for the session. | 0.040 | |
| event_driven_base_access | done | Extension interaction with bases is event-driven and goes through the analytical package: - Discover / pin / focus / file watch / command / UI query → open or `ensureBaseReady` - Sync, stale check, or analysis work runs - Quiet idle → [release_when_idle] No always-on connection and no continuous reconnect loop. Headless CLI / MCP already open per command via [analysis_runtime] ( [headless_sync_on_ready] ). | 0.057 |
Related clusters
community
status
tag
Local graph
Initialising graph…