Code reference detail
types.ts
packages/analytical/src/core/types.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| definition | The indexer should live in the [core_analysis] module. On-disk schema: [sqlite_schema.ideas_index_sqlite] and [diagnostics_schema.diagnostics_sqlite]. Layout and WAL sidecars: [sidecars.reqlan_directory_layout]. Consumers: [consumers.index_consumers] ( extends [consumption] ). Sequencing and triggers: [sequencing.index_sequencing] ( extends [triggers] ). Cache reuse opportunities: [cache_reuse.index_cache_reuse]. | 0.040 | ||
| wildcard_reference_edges | done | Native extract ( `["../../crates/reqlan-index/src/extract.rs"]` ) expands each AST wildcard against the idea catalog ( `match_wildcard` / workspace candidate list ). Persist one edge of kind `wildcard_reference` per matching idea ( label = target idea name ); never emit plain `references` for wildcard forms. Zero matches → one unresolved edge of the same kind ( `isResolved: false`, label = pattern text ). Edge ids use `edgeId(source, 'wildcard_reference', targetOrUnresolvedKey)`. Sync walks sorted `.rq` files and grows the catalog as it goes, so a wildcard file is expanded against ideas already stored plus files earlier in that walk ( ["../../crates/reqlan-index/src/sync.rs"] ). Ancestor / reference-chain walks treat `wildcard_reference` like `references` ( ["../../packages/analytical/src/index-store/sqlite-store.ts"] ). Ideas Summary references table groups them under sub-idea with other idea-to-idea links; graph visibility is [ideas_summary_doc] / ["../extension/workspace-summary/ideas_summary/graphical_graph.rq".wildcard_refs_toggle]. Soft mtime sync skips unchanged files — after introducing this edge kind, reindex ( or touch ) `.rq` files that contain wildcards so stored rows leave any legacy `references` fan-out. Langium `idea-extractor` keeps the same kind for remaining TS extract paths. Open-file local extract ( [local_symbolic_analysis] ) does not expand wildcards against a catalog. Related: ["../language/imports.rq".wildcard_references], [index], [indexer_rust], ["../extension/workspace-summary/ideas_summary/graphical_graph.rq".wildcard_refs_toggle], [local_symbolic_analysis]. | 0.353 | |
| attribute | done | Attributes are classification, functional, or nonfunctional metadata. Syntax: ["./language/syntax.rq".attribute_marker], ["./language/syntax.rq".attribute_forms], ["./language/syntax.rq".attribute_values], ["./language/syntax.rq".attribute_location]. Policy: ["./language/attributes.rq".attribute_configuration]. Indexed on [analytical_types] `IdeaAttributeMap`; extract: [idea_extractor], [rust_extract]. Product surface: [ideas_summary_tabs] Attributes tab. | 0.070 | |
| file | done | Files store ideas and form ideasets. Documents use the `.rq` suffix ( ["./language/syntax.rq".file_suffix] ) and ["./language/syntax.rq".file_layout]. Indexed as ideaset kind `file` in [analytical_types]. | 0.094 | |
| idea | done | A reqlan core unit is an idea. Syntax: ["./language/syntax.rq".simple_idea], ["./language/syntax.rq".block_idea]. Grammar: [reqlan_grammar] `Idea` / `OneLinerIdea`; index records: [analytical_types] `IdeaRecord`. Extract: [idea_extractor], [rust_extract]; AST: [rust_ast]. Product surface: [ideas_summary_tabs] Ideas tab per ["./extension/workspace-summary/ideas_summary/webview.rq".ontology_aligned_tabs]. | 0.110 | |
| ideaset | done | Ideasets are namespace containers for ideas. Syntax: ["./language/syntax.rq".ideaset]. Grammar: [reqlan_grammar] `IdeaSet`. Index kind `ideaset` plus `ideaset_member` edges: [analytical_types], [idea_extractor], [rust_index_types]. A [file] is an implicit ideaset ( ["./language/syntax.rq".file_layout] ). Product surface: [ideas_summary_tabs] Ideasets tab. | 0.134 | |
| reference_types | [reference] Kinds of [reference]. Details in ["./reference_types.rq"]. Index edge kinds live on [analytical_types] / [rust_index_types]. [idea_reference] [ideaset_reference] [comment_reference] [file_reference] [link_reference] [url_reference] [wildcard_reference] | 0.127 | ||
| referenced_files | done | Non- `.rq` files that ideas reference, or that reference ideas. These may be shared. They should be captured in the ["./indexer/indexer.rq".index]. Outbound file refs: ["./language/syntax.rq".reference_file], [file_reference_resolve], edge kind `file_reference` in [analytical_types]. Inbound comment refs: ["./extension/language/comment-references/functional-code-comment-references.rq".references_in_functional_code_comments] via [comment_resolver] / [comment_grammar]. Full non- `.rq` file indexing of comment-bearing sources: ["./indexer/indexer.rq".index_code_files]. Click treats those files as centres: ["./cli/click.rq".click_code_file]. | 0.169 | |
| comment_reference | done | Inbound ["./ontology.rq".reference] from comments in non- `.rq` source: `rq:[idea]` / `rq:["path".idea]`. Qualified paths may use import-root aliases ( `rq:["@/path".idea]` ) per ["./language/imports.rq".configuration_import_root_alias] and ["./extension/language/comment-references/functional-code-comment-references.rq".comment_reference_import_root_alias]. Spec: ["./extension/language/comment-references/functional-code-comment-references.rq".references_in_functional_code_comments] Syntax note: ["./language/syntax.rq".comment_reference]. Resolve: [comment_resolver]. Unresolved: ["./language/syntax.rq".comment_reference_resolution_error]. Index edge kind `comment_link`. Related capture of those files: ["./ontology.rq".referenced_files]. Indexer: ["./indexer/indexer.rq".index_code_files]. | 0.119 | |
| file_reference | done | Outbound ["./ontology.rq".reference] to a file, folder, or symbol — not only `.rq`. Syntax: ["./language/syntax.rq".reference_file] ( bracketed quoted path, optional `L#` / symbol path ). Index edge kind `file_reference`. Resolve: [file_reference_resolve]; extract: [idea_extractor]. Editor links: ["./extension/language/syntax/features-syntax.rq".file_references]. Inbound file-reference CodeLens at the top of the target file: ["./extension/language/syntax/features-syntax-highlighting.rq".file_inbound_code_lens]. Non- `.rq` targets and inbound comment traffic: ["./ontology.rq".referenced_files]. Markdown `[label](target)` also stores this edge kind — see [link_reference]. Quoted body text is not this kind: [reference_edgecase]. | 0.211 | |
| idea_reference | done | Idea-to-idea ["./ontology.rq".reference]: bracket `[name]` / `[ideaset.name]` targets a local, imported, or same-file idea. Syntax: ["./language/syntax.rq".reference_brackets], ["./language/syntax.rq".same_file_reference], ["./language/syntax.rq".reference_qualified], ["./language/syntax.rq".reference_embedding], ["./language/syntax.rq".references_to_subidea]. Index edge kind `references` on [analytical_types] / [rust_index_types]. Extract: [idea_extractor], [rust_extract]. A `[ideaset.member]` form records the edge on the member leaf, not on the ideaset container. An attribute uses the same brackets. See ["./language/syntax.rq".attribute_namespacing]. Wikilink surface for the same edge kind: [link_reference]. Fan-out across files: [wildcard_reference]. | 0.125 | |
| ideaset_reference | done | References to an ["./ontology.rq".ideaset] or a namespace that behaves as one. Syntax: ["./language/syntax.rq".ideaset]; namespace import alias: ["./language/imports.rq".import_namespace] ( `[alias]` opens the imported file and links only the alias name ). Membership edges are `ideaset_member`; a bare namespace-alias bracket is stored as `file_reference` ( [idea_extractor] ), not `references`. | 0.057 | |
| url_reference | done | A bracket reference whose target is an absolute URL with a scheme and `://`. Example: [https://reqlan.com/]. Syntax: ["./language/syntax.rq".reference_url]. Index edge kind `url_reference` on [analytical_types] / [rust_index_types]. Extract: [idea_extractor], [rust_extract]. [check] does not treat a URL reference as a missing idea or a missing file. Unbracketed URLs in body prose stay text, not this kind. Related: [file_reference], [link_reference]. | 0.075 | |
| wildcard_reference | done | One ["./ontology.rq".reference] that matches many ideas: quoted path glob + idea pattern ( `*` / `?` ). Syntax and navigation: ["./language/imports.rq".wildcard_references], ["./language/imports.rq".wildcard_references_webview]. Index: one `wildcard_reference` edge per catalog match ( ["./indexer/indexer.rq".wildcard_reference_edges] ); never stored as plain `references`. Native extract: ["../crates/reqlan-index/src/extract.rs"]. Sparse match handling: ["./core_analysis/check.rq".check_wildcard_sparse] ( ["./core_analysis/check.rq".check_wildcard_zero], ["./core_analysis/check.rq".check_wildcard_one] ). | 0.279 |
Reference labels
"../../packages/analytical/src/core/types.ts", ../../packages/analytical/src/core/types.ts, ../packages/analytical/src/core/types.ts