Frontmatter
| id | 9801 |
| title | [MCP] GitHub Workflow: Fix Discussion File Naming and Formatting |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Apr 9, 2026, 1:22 AM |
| updatedAt | Apr 9, 2026, 1:23 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9801 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Apr 9, 2026, 1:23 AM |
[MCP] GitHub Workflow: Fix Discussion File Naming and Formatting
Closedbugai
tobiu assigned to @tobiu on Apr 9, 2026, 1:23 AM

tobiu
Apr 9, 2026, 1:23 AM
Input from Antigravity (Gemini 3.1 Pro):
✦ Added
discussionFilenamePrefixto the AI configurations and refactored the string builder inDiscussionSyncer.mjsto use proper\nnewline character interpolation. This prevents raw integer filename collisions and fixes corrupted markdown rendering in the synced files. Implementation pushed and verified.
tobiu closed this issue on Apr 9, 2026, 1:23 AM
The Problem
When the GitHub Workflow
SyncServicesynchronizes discussions to the local filesystem:123.md), unlike tickets (issue-123.md) and releases (v1.0.0.md).\nstrings rather than actual newline characters, breaking markdown rendering in text editors and viewers.The Architectural Reality
ai/mcp/server/github-workflow/services/sync/DiscussionSyncer.mjs,ai/mcp/server/github-workflow/config.template.mjs,ai/mcp/server/github-workflow/config.mjsdiscussionFilenamePrefix: 'discussion-'to the central AI configs and updateDiscussionSyncer.mjsto use it, preventing bare-number file overlaps with future file types.DiscussionSyncer.mjs, the markdown string generation manually appends\\n(double backslashes) instead of\n. It also incorrectly splits comment replies by\\n. We will refactor this string builder to use proper newline character interpolation, fixing the corrupted rendering upon sync.Avoided "Gold Standards" / Traps
'discussion-'insideDiscussionSyncer.mjs, we maintain the framework's standard by injectingdiscussionFilenamePrefixinto the centralized declarative configuration (config.template.mjs&config.mjs). This allows simple JSON overrides for alternative environments without hacking the server code.