Frontmatter
| id | 10049 |
| title | Concept Schema Enrichment: Aliases, Analogous Edges & Rich Descriptions |
| state | Closed |
| labels | enhancementaiarchitecture |
| assignees | tobiu |
| createdAt | Apr 17, 2026, 3:39 PM |
| updatedAt | Apr 18, 2026, 5:19 PM |
| githubUrl | https://github.com/neomjs/neo/issues/10049 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | 10030 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [ ] 10050 Concept Description Enrichment: Source-Grounded Semantic Anchors |
| blocking | [x] 10037 ChromaDB Concept Embedding & Hybrid Search |
| closedAt | Apr 17, 2026, 4:31 PM |
Concept Schema Enrichment: Aliases, Analogous Edges & Rich Descriptions
tobiu added parent issue #10030 on Apr 17, 2026, 3:39 PM
tobiu marked this issue as blocking #10037 on Apr 17, 2026, 3:39 PM
tobiu cross-referenced by #10050 on Apr 17, 2026, 3:44 PM
tobiu marked this issue as being blocked by #10050 on Apr 17, 2026, 3:44 PM
tobiu cross-referenced by PR #10052 on Apr 17, 2026, 4:25 PM
tobiu closed this issue on Apr 17, 2026, 4:31 PM
tobiu assigned to @tobiu on Apr 18, 2026, 5:19 PM
tobiu cross-referenced by PR #10078 on Apr 19, 2026, 10:28 AM
tobiu cross-referenced by #10080 on Apr 19, 2026, 11:16 AM
tobiu cross-referenced by PR #10084 on Apr 19, 2026, 12:20 PM
tobiu cross-referenced by #10030 on Apr 19, 2026, 12:33 PM
Objective
Enrich the concept ontology schema with deterministic aliases and cross-framework
ANALOGOUS_TOedges. Depends on #10050 for source-grounded descriptions.Context
Phase 2 prerequisite for #10037 (ChromaDB Concept Embedding). Brainstorming challenge revealed that most proposed "alternative names" (ViewModel ↔ State Provider, Multi-Threading ↔ Multi-Core) are NOT true synonyms — they're related concepts from different frameworks or different abstraction levels. This ticket formalizes a 2-layer approach to avoid collapsing architecturally distinct concepts into false equivalences.
Deliverables
1. Schema Extension:
aliasesFieldAdd an optional
aliasesarray tonodes.jsonlfor genuinely equivalent terms only:{"id": "reactive-configs", "aliases": ["trailing underscore", "trailing underscore convention"]} {"id": "off-main-thread", "aliases": ["off the main thread"]}Strict inclusion rule: A term qualifies as an alias ONLY if it refers to the exact same architectural concept within Neo.mjs. Cross-framework terms (ViewModel, JSX, etc.) belong in
ANALOGOUS_TOedges.2. New Edge Type:
ANALOGOUS_TOAdd typed edges mapping Neo.mjs concepts to their nearest equivalents in other frameworks:
{"source": "state-provider", "target": "ext:react-context", "type": "ANALOGOUS_TO", "note": "Similar hierarchical state, but Neo.mjs providers use bind:{} on reactive configs — no subtree re-rendering"} {"source": "push-reactivity", "target": "ext:vue-reactivity", "type": "ANALOGOUS_TO", "note": "Both push-based, but Neo.mjs uses explicit trailing-underscore opt-in vs Vue's Proxy-based auto-tracking"}External concept IDs use the
ext:prefix to prevent collision with internal concept IDs.3. ConceptService API Updates
resolveAlias(term)— deterministic O(1) alias → concept ID lookupgetAnalogousConcepts(conceptId)— returns ANALOGOUS_TO edges for cross-framework contextloadGraph()to index aliases into a reverse-lookup Map4. Update ConceptOntology.md Guide
Document the new schema fields, the alias inclusion rule, and the ANALOGOUS_TO edge pattern.
Acceptance Criteria
aliasesfield added to nodes.jsonl schema and populated for applicable conceptsANALOGOUS_TOedges seeded for top-10 most commonly confused cross-framework conceptsresolveAlias()andgetAnalogousConcepts()APIs implemented with unit testsDependencies
Architectural Note
This ticket deliberately does NOT touch ChromaDB or embeddings — that's #10037's scope. Description enrichment is handled by #10050.
Origin Session ID: c9bf0d61-a58d-42ba-a030-6426dc5fe270