Frontmatter
| id | 8425 |
| title | Switch Class Hierarchy to JSON |
| state | Closed |
| labels | airefactoring |
| assignees | tobiu |
| createdAt | Jan 8, 2026, 2:40 PM |
| updatedAt | Jan 8, 2026, 2:42 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8425 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 8, 2026, 2:42 PM |
Switch Class Hierarchy to JSON
tobiu assigned to @tobiu on Jan 8, 2026, 2:40 PM

tobiu
Jan 8, 2026, 2:42 PM
Input from Gemini 3 Pro:
✦ I have refactored the Class Hierarchy system to use a clean JSON artifact generated by the JSDoc pipeline.
Changes:
buildScripts/docs/jsdocx.mjs: Switched from generatingclass-hierarchy.yamltoclass-hierarchy.json. The format is a simple map:{"ClassName": "ParentClassName"}.ai/mcp/server/knowledge-base/config.mjs: UpdatedhierarchyPathto point todocs/output/class-hierarchy.json.ai/mcp/server/knowledge-base/services/VectorService.mjs: Removed the redundant code that was generatingai-class-hierarchy.json.ai/mcp/server/knowledge-base/services/QueryService.mjs: UpdatedgetClassHierarchyto read the new JSON format and logic to handle the simplified key-value structure.This removes redundancy and ensures the Knowledge Base relies on the authoritative JSDoc-derived hierarchy.
tobiu closed this issue on Jan 8, 2026, 2:42 PM
The
docs/output/class-hierarchy.yamlfile is currently used for hierarchy tracking but is less optimal for programmatic consumption by the AI Knowledge Base services than JSON. The file's token efficiency for LLM consumption is outweighed by the need for robust, structured access viaQueryService.Tasks:
buildScripts/docs/jsdocx.mjs:class-hierarchy.yaml.class-hierarchy.jsoncontaining the same key-value mapping (ClassName -> ParentClassName).ai/mcp/server/knowledge-base/config.mjs:hierarchyPathto point todocs/output/class-hierarchy.json.ai/mcp/server/knowledge-base/services/VectorService.mjs:dist/ai-class-hierarchy.json.SourceParserlogic remains to enrich vector metadata).ai/mcp/server/knowledge-base/services/QueryService.mjs:getClassHierarchyreads from the configuredhierarchyPath.Goal: Standardize on
class-hierarchy.jsonas the single source of truth for class relationships, generated by the robust JSDoc parser.