LearnNewsExamplesServices
Frontmatter
id10050
titleConcept Description Enrichment: Source-Grounded Semantic Anchors
stateClosed
labels
documentationenhancementaiarchitectureneeds-re-triage
assignees[]
createdAtApr 17, 2026, 3:44 PM
updatedAtJun 3, 2026, 7:51 AM
githubUrlhttps://github.com/neomjs/neo/issues/10050
authortobiu
commentsCount3
parentIssue10030
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[x] 10049 Concept Schema Enrichment: Aliases, Analogous Edges & Rich Descriptions
closedAtJun 3, 2026, 7:51 AM

Concept Description Enrichment: Source-Grounded Semantic Anchors

Closed Backlog/active-chunk-5 documentationenhancementaiarchitectureneeds-re-triage
tobiu
tobiu commented on Apr 17, 2026, 3:44 PM

Objective

Rewrite all concept node descriptions in .neo-ai-data/concepts/nodes.jsonl to be source-grounded, framework-accurate semantic anchors — 3-5 sentences per concept derived from actual source code and learn/ guides, not from training data approximations.

Context

The current 1-2 sentence descriptions were seeded during #10031 and contain approximations that don't accurately reflect Neo.mjs architecture. Example failure:

❌ "Unlike React Context (which triggers full subtree re-renders on change), Neo.mjs State Providers only re-render components that bind to a specific state key."

This is wrong. Neo.mjs does not "re-render" components. State Providers use bind: {} declarations on reactive configs. When a provider data key changes, it triggers afterSet hooks on bound config properties, which surgically update specific VDOM nodes. The delta engine then calculates minimal DOM mutations.

These descriptions will become the input for ChromaDB vector embeddings (#10037). Inaccurate descriptions produce misleading vectors. Each concept must be grounded in the actual implementation.

Methodology

For each concept node:

  1. Read the source implementation via IMPLEMENTED_BY edges
  2. Read the corresponding guide via EXPLAINED_BY edges
  3. Query the knowledge base for architectural context
  4. Write a 3-5 sentence description covering:
    • What the concept does (grounded in source)
    • How it works mechanically (the Neo.mjs way)
    • What makes it architecturally distinct (without false React/Vue/Angular equivalences)

Scope

  • All tier-1 concepts (mandatory — these are the architectural pillars)
  • All tier-2 concepts (mandatory — these are the implementation patterns)
  • Tier-3 concepts (stretch — only if time permits)

Acceptance Criteria

  • All tier-1 and tier-2 descriptions expanded to 3-5 source-grounded sentences
  • Zero React/Vue/Angular terminology applied as if it maps 1:1 to Neo.mjs behavior
  • Each description validated against actual source code or guide content
  • ConceptService unit tests updated to validate enriched descriptions load correctly

Architectural Note

This is a content-quality prerequisite for #10049 (Schema Enrichment) and #10037 (ChromaDB Embedding). Description quality directly determines vector quality. This ticket requires a dedicated research session — it cannot be rushed.

Origin Session ID: c9bf0d61-a58d-42ba-a030-6426dc5fe270

tobiu added the documentation label on Apr 17, 2026, 3:44 PM
tobiu added the enhancement label on Apr 17, 2026, 3:44 PM
tobiu added the ai label on Apr 17, 2026, 3:44 PM
tobiu added parent issue #10030 on Apr 17, 2026, 3:44 PM
tobiu marked this issue as blocking #10049 on Apr 17, 2026, 3:44 PM
tobiu cross-referenced by #10049 on Apr 17, 2026, 3:46 PM
tobiu
tobiu Apr 17, 2026, 4:15 PM

Input from Claude Opus 4.6 (Antigravity):

❋ ## ⚠️ Human-in-the-Loop Required: Architectural Decision History

This ticket requires the framework architect's direct input for each concept description. Agent-generated descriptions based on source code or guides will produce wrong results due to missing decision history.

Case Study: Data Worker

The ArchitectureOverview guide (line 84) states the Data Worker handles "stores, models, sorting, filtering, and grouping". An agent reading this would write:

❌ "The Data Worker moves sorting and filtering operations off the App Worker thread to prevent blocking component rendering."

This is the abandoned design. The actual architectural history:

  1. Original hypothesis: Move stores into the Data Worker — sorting/filtering runs off the App Worker thread.
  2. Why it was dropped: Serialization cost kills the idea. A ComboBox with 10 items: JSON.stringifypostMessageJSON.parse → sort → reverse the entire chain. The overhead dwarfs the compute savings for reasonable dataset sizes.
  3. What the Data Worker actually does: Backend data mutation — incoming XML → JSON transformation, structural normalization. The heavy work isn't sorting, it's I/O format conversion.
  4. This spawned data-pipelines: The Connection → Parser → Normalizer pipeline, deployable in either the App Worker or Data Worker depending on workload.

This decision history exists only in the creator's memory — it cannot be derived from source code, guides, or training data. The ArchitectureOverview guide itself is partially misleading on this point and may need correction.

Implication for This Ticket

Every tier-1 and tier-2 concept description needs the same treatment: validate against the architect's actual design intent, not against what the code or guides superficially suggest. This ticket should be executed as a collaborative session with @tobiu driving the architectural rationale.

tobiu cross-referenced by PR #10052 on Apr 17, 2026, 4:30 PM
tobiu cross-referenced by PR #10078 on Apr 19, 2026, 10:33 AM
tobiu cross-referenced by #10080 on Apr 19, 2026, 11:16 AM
tobiu cross-referenced by PR #10084 on Apr 19, 2026, 12:25 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 #10085 on Apr 19, 2026, 4:19 PM
tobiu referenced in commit b91d523 - "feat(ai): ORPHAN_CONCEPT signal + ⚠️ Orphaned Concepts handoff section (#10087) on Apr 19, 2026, 4:58 PM
tobiu cross-referenced by PR #10101 on Apr 19, 2026, 4:59 PM
tobiu referenced in commit 9d10d18 - "feat(ai): ORPHAN_CONCEPT signal + ⚠️ Orphaned Concepts handoff section (#10087) (#10101) on Apr 19, 2026, 5:12 PM
tobiu cross-referenced by PR #10102 on Apr 19, 2026, 5:20 PM
tobiu cross-referenced by #9748 on Apr 20, 2026, 1:13 PM
tobiu removed the agent-task:blocked label on May 28, 2026, 12:15 AM