Frontmatter
| id | 10035 |
| title | Graph Integration & GapInferenceEngine Refactor |
| state | Closed |
| labels | enhancementaiarchitecture |
| assignees | tobiu |
| createdAt | Apr 15, 2026, 11:57 PM |
| updatedAt | Apr 19, 2026, 12:26 PM |
| githubUrl | https://github.com/neomjs/neo/issues/10035 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | 10030 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [x] 10033 Concept Graph Unit Tests |
| blocking | [x] 10036 Memory Core Concept Discovery & Glossary Enhancement |
| closedAt | Apr 19, 2026, 12:26 PM |
Graph Integration & GapInferenceEngine Refactor
tobiu cross-referenced by #10036 on Apr 15, 2026, 11:58 PM
tobiu added parent issue #10030 on Apr 15, 2026, 11:58 PM
tobiu marked this issue as being blocked by #10033 on Apr 15, 2026, 11:58 PM
tobiu marked this issue as blocking #10036 on Apr 15, 2026, 11:58 PM
tobiu cross-referenced by #10037 on Apr 16, 2026, 12:12 AM
tobiu cross-referenced by PR #10078 on Apr 19, 2026, 10:28 AM
tobiu cross-referenced by #10079 on Apr 19, 2026, 11:43 AM
tobiu assigned to @tobiu on Apr 19, 2026, 11:55 AM
tobiu cross-referenced by PR #10084 on Apr 19, 2026, 12:20 PM
tobiu closed this issue on Apr 19, 2026, 12:26 PM
tobiu cross-referenced by #10085 on Apr 19, 2026, 12:31 PM
tobiu cross-referenced by #10086 on Apr 19, 2026, 12:31 PM
tobiu cross-referenced by #10087 on Apr 19, 2026, 12:31 PM
tobiu cross-referenced by #10030 on Apr 19, 2026, 12:33 PM
tobiu cross-referenced by PR #10100 on Apr 19, 2026, 4:17 PM
tobiu cross-referenced by PR #10101 on Apr 19, 2026, 4:59 PM
tobiu cross-referenced by PR #10102 on Apr 19, 2026, 5:20 PM
tobiu cross-referenced by PR #10105 on Apr 19, 2026, 6:05 PM
Objective
Ingest the standalone JSONL concept graph into the Native Edge Graph (SQLite) and refactor GapInferenceEngine to use deterministic concept traversal instead of regex token matching.
Context
Phase 3, Step 1 of the Concept Ontology epic (#10030). Depends on validated concept graph from Phase 1 (#10031, #10032, #10033) and visualization from Phase 2 (#10034).
Deliverables
1. DreamService Concept Ingestion
Add a new phase to DreamService (or a standalone ingestion script) that:
.neo-ai-data/concepts/nodes.jsonl→ creates/updates CONCEPT nodes in SQLite graph.neo-ai-data/concepts/edges.jsonl→ creates typed edges (PARENT_CONCEPT, IMPLEMENTED_BY, EXPLAINED_BY, etc.)2. GapInferenceEngine Refactor
Replace the existing regex token matching in
executeCapabilityGapInference()with graph traversal:// OLD (fragile) const hasGuide = guideFilePaths.some(p => nodeTokens.some(term => regex.test(p))); // NEW (deterministic) for (const concept of graphDb.getNodesByLabel('CONCEPT')) { const explanations = graphDb.getAdjacentNodes(concept.id, 'outbound', 'EXPLAINED_BY'); if (explanations.length === 0 && concept.properties.weight >= threshold) { gaps.push({ type: 'GUIDE_GAP', concept: concept.name, weight: concept.properties.weight }); } }3. Gap Types
GUIDE_GAP: Concept has IMPLEMENTED_BY but no EXPLAINED_BY (high priority)EXAMPLE_GAP: Concept has EXPLAINED_BY but no EXEMPLIFIED_BY (medium priority)ORPHAN_CONCEPT: Concept has no IMPLEMENTED_BY edges (possible dead concept, review needed)4. Weight-Based Prioritization
Gap priority =
concept.weight × (1 - coverage). High-weight concepts missing guides float to the top of Golden Path synthesis.Acceptance Criteria
Origin Session ID: 496c0120-29aa-4b02-a804-d5a32ff6b5eb