LearnNewsExamplesServices
Frontmatter
id8537
titleGitHub Ticket Viewer V2: JSON-First Data Architecture
stateOpen
labels
enhancementepicaiarchitecture
assigneestobiu
createdAtJan 11, 2026, 11:16 AM
updatedAtJan 11, 2026, 11:16 AM
githubUrlhttps://github.com/neomjs/neo/issues/8537
authortobiu
commentsCount0
parentIssuenull
subIssues
8538 Configure MCP Server for Multi-Target Ticket Export (JSON/MD)
8539 Update Ticket Index Scripts for JSON Generation
8540 Implement Store-Driven VDOM Ticket Component (V2)
subIssuesCompleted0
subIssuesTotal3
blockedBy[]
blocking[]

GitHub Ticket Viewer V2: JSON-First Data Architecture

Openenhancementepicaiarchitecture
tobiu
tobiu commented on Jan 11, 2026, 11:16 AM

Goal: Re-architect the Portal's Ticket Viewer to use a JSON-first data pipeline, enabling "Zero Layout Thrashing" updates, superior performance, and AI-native structured data consumption.

Strategic Shift: Move away from the V1 approach (Markdown-as-Data, Frontmatter parsing, HTML Injection) to a V2 approach (JSON-as-Data, Store-driven VDOM).

Core Concepts:

  1. JSON Source of Truth: The GitHub Workflow MCP server will export structured JSON (metadata + event stream) instead of/in addition to Markdown.
  2. Hybrid Content: JSON structure for metadata/timeline events; Markdown strings only for free-text bodies.
  3. Store-Driven View: A new Portal.view.ticket.v2.Component will bind to a TicketStore.
  4. Delta Updates: Timeline updates (new comments/labels) will be appended as single VNodes via Store events, eliminating full re-renders.

Note: This is a follow-up to the V1 implementation (Epic #8398).

tobiu added the enhancement label on Jan 11, 2026, 11:16 AM
tobiu added the epic label on Jan 11, 2026, 11:16 AM
tobiu added the ai label on Jan 11, 2026, 11:16 AM
tobiu added the architecture label on Jan 11, 2026, 11:16 AM
tobiu assigned to @tobiu on Jan 11, 2026, 11:17 AM
tobiu added sub-issue #8538 on Jan 11, 2026, 11:17 AM
tobiu added sub-issue #8539 on Jan 11, 2026, 11:17 AM
tobiu added sub-issue #8540 on Jan 11, 2026, 11:18 AM