Referenced by9
Labels4

Referencing ideas

IdeaStatusTagsSummaryKatz
host_webview_ownershipdoneThe extension host owns durable data, index / analysis queries, and VS Code APIs. The webview owns presentation state and posts intents ( search, navigate, persist UI prefs, export ). Host session objects ( e. g. activity-bar context session ) mutate on the host and push snapshots to the webview; the webview must not invent a second source of truth for the same domain fields. Typed message modules define the contract; keep request ids / error scopes on async host calls.0.050
scopeTypeScript package standards for `packages/extension` ( npm `reqlan-extension` ), especially UI state. Complements [development_core.rust_mindset] and [extension_architecture.state_machine_mindset]. Webview inventory: [webview_doc.webview]. Package role: [core_architecture.extension_package].0.040
ui_state_managementdoneExtension UI state is explicit, typed, and layered — not a single global store shared across host and webview. Choose the layer by lifetime and owner: - Host session / durable prefs live in the extension process ( `ExtensionContext`, plain modules ). - Webview view-models live in Svelte 5 runes ( `$state` / `$derived` / `$effect` ). - Cross-boundary traffic uses typed `postMessage` contracts only. Prefer small state machines ( named phases, request ids, clear transitions ) over ad-hoc flags. Related: [webview_app_state], [persistence_tiers], [zustand_boundary], [host_webview_ownership].0.080
zustand_boundarydone[extension_architecture.state_machine_mindset] still applies: design UI and host flows as state machines. Zustand is no longer used anywhere: the index lifecycle FSM ( `opening` / `syncing` / `ready` / `error` ), counts, file issues, and the document-update ring now live in Rust `WorkspaceIndexRuntime` and are read over napi via `statusSnapshot()` ( ["../core_analysis/rust_port.rq".native_bridge] ); durable diagnostics persist in `index-diagnostics.sqlite`. TypeScript keeps no parallel copy of that state. Do not reintroduce zustand ( or Redux-like globals ) in `packages/extension/webviews/**` or the analytical package. Extension-host TypeScript may keep plain mutable session modules when the surface is small and message-pushed; owned lifecycle / state machines belong in the Rust runtime.0.069
header_buttonsCross-pane controls live in a compact header above the pane stack. - " Sync with editor " toggle: panes follow the active editor and cursor by default; when off, stay pinned on the last focused idea. - [hop_depth_control]: global graph hop depth for context search, graph slice, references, and ancestors — not a boolean toggle. - " Open in Ideas Summary ": reveal [ideas_summary_panel] with the ideas table filtered to the current file, or the graph tab centred on the current idea. - " Export slice ": JSON or CSV of the current neighbourhood only. This slice is lighter than workspace ["../export/export.rq".export_JSON] and ["../export/export.rq".export_csv]. - " Copy as markdown ": copy the focused idea plus parents and reference lists for pasting into chat or PRs. - Refresh control tied to index readiness. - [info_site_link] - Status / error line under the toolbar: [error_status_bar]0.056
local_graph_viewThe activity bar provides a local graph view scoped to the current file or selected idea. The local graph should show direct and optionally indirect references with a configurable depth.0.055
context_scopeReqlan sidebar and AI workflows reason about a composed [reqlan_context_model], not a single " current file " blob. Context applies to **any workspace file**, not only `.rq` sources — see [any_file_scope]. Context is built from orthogonal [context_dimensions] that the user can enable, pin, or collapse. The activity bar [activitybar.scope_pane] is the primary surface for inspecting and steering context; [activitybar.context_tray] holds the [manual_context] dimension. Token discipline per [features_ai.ai_integration]: show summaries and counts by default; expand a dimension only on intent. Parses per ["../../../reqlan rq/language/syntax.rq".reference_wikilink]. Decision-oriented v2 ( sources → signals → synthesis → views → consumers ) and show-don ' t-tell widgets: [context_scope_v2.context_scope_v2].0.064
dimension_hop_controlWhen a graph-searchable dimension lens is expanded in [scope_pane_design], show a local ** − / value / + ** pair. Applies to [current_file_context], [open_files_context], [file_history_context], [edit_history_context], and [manual_context] — not [workspace_context] or [git_context]. Per-dimension override inherits [global_hop_depth] until the user adjusts it; stored in dimensionHopDepth on the session and model. Edge cases match [activitybar.hop_depth_control]: disable − at min, + at max, clamp on apply.0.059
global_hop_depthSession default hop depth ( 1 - 4 ) stored in [context_session]. Drives graph slice expansion, reference list breadth, ancestor chain depth, and composed context export. Surfaced in [activitybar.hop_depth_control] and echoed on [reqlan_context_model]. globalHopDepth.0.069

Reference labels

"../../../packages/extension/src/activity_bar_module/context-session.ts", "../../packages/extension/src/activity_bar_module/context-session.ts", ../../../packages/extension/src/activity_bar_module/context-session.ts, ../../packages/extension/src/activity_bar_module/context-session.ts