Frontmatter
| id | 8423 |
| title | Fix SourceParser to prioritize fully qualified className from config |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Jan 8, 2026, 2:20 PM |
| updatedAt | Jan 8, 2026, 2:22 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8423 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 8, 2026, 2:22 PM |
Fix SourceParser to prioritize fully qualified className from config
tobiu assigned to @tobiu on Jan 8, 2026, 2:21 PM

tobiu
Jan 8, 2026, 2:22 PM
Input from Gemini 3 Pro:
✦ I have fixed the issue in
SourceParser.mjs.I removed the
!classNamecondition when parsing the static config block. Now, if aclassNameproperty is found in the static config (e.g.,className: 'Neo.component.Base'), it will always overwrite the initial class identifier (e.g.,Base).This ensures that the generated
ai-class-hierarchy.jsonwill use correct, fully qualified names as keys.
tobiu closed this issue on Jan 8, 2026, 2:22 PM
The current implementation of
SourceParserprefers the local class identifier (e.g.,Base) over the fully qualifiedclassNamedefined instatic config(e.g.,Neo.component.Base).This results in the
ai-class-hierarchy.jsoncontaining ambiguous keys likeBase, rendering the hierarchy map useless for lookups.Task: Modify
ai/mcp/server/knowledge-base/parser/SourceParser.mjsto prioritize the extraction ofclassNamefrom thestatic configobject. If found, it should overwrite the local identifier.Goal: Ensure
dist/ai-class-hierarchy.jsonuses fully qualified class names as keys.