| sensible_alias_support | duplicate_error { should be raised if a local idea or ideaset shares a name with an import binding (unaliased idea name, or the alias when present). @tests ( ["../../../../packages/language/test/validating.test.ts:reports duplicate when local idea shares unaliased import binding"] ["../../../../packages/language/test/validating.test.ts:reports duplicate when local idea shares import alias"] ["../../../../packages/language/test/validating.test.ts:reports duplicate when local ideaset shares a local idea name"] ) }, sensible_graph_resolution { the imported namespace should not be assosciated with the new idea: e.g. ``` from-import an idea as an alias, then declare a local idea with the original name ``` `myidea` in the import statement should not be assosciated with the new `myidea` definition - they're totally different. @tests ( ["../../../../packages/language/test/linking.test.ts:import idea reference resolves to imported file when local idea shares name"] ["../../../../packages/language/test/validating.test.ts:allows local idea when import uses an alias"] ) } | | | if an imported idea shares a name with an idea in the current file:
When the import uses an alias, the base name may be reused locally — see ["../../../language/imports.rq".import_tokenisation]. | 0.047 |
| features_tier_1 | [sub_file_binding], [bidirectional_comment_links], refs_break_loudly { Unresolved references are error diagnostics with quick-fix code actions. File moves prompt to rewrite every inbound ref. The same check is ["../core_analysis/check.rq".check] (`reqlan check`, exit 1), so CI can reject rot. Demonstrated by [broken_links_showcase]. }, mcp_as_shaped_context { MCP `click` is the search and retrieval tool (["../extension/agent/skills-and-mcp.rq".mcp_click_retrieval]). Hand an agent compact unique context, ranked matches, or search hits — not forty files. } | | features, tier-1 | The reasons to adopt. All verified as shipping today. | 0.040 |
| features_tier_2 | imports_aliases_and_root_config { Imports, aliases, and root-alias config. Ideasets as a module's published surface. }, attribute_grammar_breadth { Flags, negated flags, block values, nested and named lists. Arbitrary at-keys as a domain dialect. }, completion_and_deprecation_analysers { Reqlan: Completion Status and Reqlan: Deprecation Impact — real shipped analysers nobody is showing. }, cytoscape_graph_view { Status/tag filters, indirect-reference depth toggle, and Wildcard refs edge toggle (["../extension/workspace-summary/ideas_summary/graphical_graph.rq".wildcard_refs_toggle]). }, wildcard_path_idea_refs { Qualified path + idea-pattern references — `["../mod/**/*.rq".*_pane]` — fan out across files as `wildcard_reference` edges (["../indexer/indexer.rq".wildcard_reference_edges]); navigation opens a matches panel. See ["../language/imports.rq".wildcard_references], ["../extension/workspace-summary/ideas_summary/graphical_graph.rq".wildcard_refs_toggle]. }, html_multipage_export { HTML multi-page export as an actual deliverable. } | | features, tier-2 | The depth. Also shipping. | 0.040 |
| phase_0_honesty_audit | tags_list_indexing_gap { List-form tags parse but store true instead of a tag array in the idea extractor, so half of real-world tag usage never reaches the index. }, inbound_references_command { reqlan.openInboundReferencesSummary is declared in package.json with no handler. }, typo_cleanup { Former implementaion typo in this file — corrected to implementation. } | pending | tooling, honesty | In parallel with content rewrite. Fix what the honesty audit surfaced. | 0.040 |