diff --git a/dashboard-data.json b/dashboard-data.json index 900741a..03ba84c 100644 --- a/dashboard-data.json +++ b/dashboard-data.json @@ -1,10 +1,598 @@ { - "generatedAt": "2026-08-01T12:53:00.367Z", + "generatedAt": "2026-08-01T12:54:58.358Z", "project": { - "available": false, - "statusCounts": {}, + "available": true, + "statusCounts": { + "Backlog": 122, + "Done": 2, + "No Status": 1 + }, "blocked": [], - "requiredGates": [] + "requiredGates": [ + { + "title": "[Diagnostics] Implement CPU resource and failure diagnostics", + "url": "https://github.com/SubMaRk/shared-localization/issues/29", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "v0.2.0-alpha - Runtime Vertical Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Performance" + }, + { + "title": "[Artifacts] Implement atomic artifact and cache lifecycle", + "url": "https://github.com/SubMaRk/shared-localization/issues/28", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "v0.2.0-alpha - Runtime Vertical Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Jobs/Runtime" + }, + { + "title": "[Runtime] Implement isolated worker vertical slice", + "url": "https://github.com/SubMaRk/shared-localization/issues/27", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "v0.2.0-alpha - Runtime Vertical Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Jobs/Runtime" + }, + { + "title": "[UI] Publish token and EN/TH foundation package", + "url": "https://github.com/SubMaRk/shared-localization/issues/26", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "v0.1.0-alpha - Contract Foundation", + "releaseGate": "Required", + "priority": "P1", + "area": "I18N/A11Y" + }, + { + "title": "[Contracts] Publish identity and compatibility conformance", + "url": "https://github.com/SubMaRk/shared-localization/issues/25", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "v0.1.0-alpha - Contract Foundation", + "releaseGate": "Required", + "priority": "P1", + "area": "Contracts" + }, + { + "title": "[Security] Freeze Shared threat model", + "url": "https://github.com/SubMaRk/shared-localization/issues/24", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Security" + }, + { + "title": "[UI] Freeze shared i18n and accessibility contract", + "url": "https://github.com/SubMaRk/shared-localization/issues/23", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "I18N/A11Y" + }, + { + "title": "[Runtime] Freeze job worker artifact protocol", + "url": "https://github.com/SubMaRk/shared-localization/issues/22", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Jobs/Runtime" + }, + { + "title": "[Project Data] Freeze project and revision primitives", + "url": "https://github.com/SubMaRk/shared-localization/issues/21", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Project Data" + }, + { + "title": "[Contracts] Freeze SUI-SPEC-001 contract catalog", + "url": "https://github.com/SubMaRk/shared-localization/issues/20", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Contracts" + }, + { + "title": "[Toolchain] Accept Shared implementation stack", + "url": "https://github.com/SubMaRk/shared-localization/issues/19", + "repository": "SubMaRk/shared-localization", + "status": "Backlog", + "product": "Shared", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Contracts" + }, + { + "title": "[Import Export] Implement validated DOCX round trip", + "url": "https://github.com/SubMaRk/document-localization/issues/26", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "v0.2.0-alpha - DOCX Vertical Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Import/Export" + }, + { + "title": "[Typography] Implement multilingual reflow and conflict review", + "url": "https://github.com/SubMaRk/document-localization/issues/25", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "v0.2.0-alpha - DOCX Vertical Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Typography" + }, + { + "title": "[DOCX] Implement whole and selected text workflow", + "url": "https://github.com/SubMaRk/document-localization/issues/24", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "v0.2.0-alpha - DOCX Vertical Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "DOCX" + }, + { + "title": "[Layout] Prove deterministic render comparison", + "url": "https://github.com/SubMaRk/document-localization/issues/23", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "v0.1.0-alpha - Foundation Spike", + "releaseGate": "Required", + "priority": "P1", + "area": "Layout" + }, + { + "title": "[DOCX] Implement controlled foundation spike", + "url": "https://github.com/SubMaRk/document-localization/issues/22", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "v0.1.0-alpha - Foundation Spike", + "releaseGate": "Required", + "priority": "P1", + "area": "DOCX" + }, + { + "title": "[Security] Freeze hostile document ingest profile", + "url": "https://github.com/SubMaRk/document-localization/issues/21", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Security" + }, + { + "title": "[Project Data] Freeze document object and revision schema", + "url": "https://github.com/SubMaRk/document-localization/issues/20", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Project Data" + }, + { + "title": "[DOCX] Freeze package and fidelity profile", + "url": "https://github.com/SubMaRk/document-localization/issues/19", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "DOCX" + }, + { + "title": "[Planning] Freeze Document Phase 0 and DOCX requirements", + "url": "https://github.com/SubMaRk/document-localization/issues/18", + "repository": "SubMaRk/document-localization", + "status": "Backlog", + "product": "Document", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Documentation" + }, + { + "title": "[SFX] Implement manual SFX workflow", + "url": "https://github.com/SubMaRk/manga-localization/issues/27", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "v0.2.0-alpha - Manual Chapter Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "SFX" + }, + { + "title": "[Cleanup] Implement bounded manual cleanup", + "url": "https://github.com/SubMaRk/manga-localization/issues/26", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "v0.2.0-alpha - Manual Chapter Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Cleanup" + }, + { + "title": "[Chapter] Implement manual chapter workspace", + "url": "https://github.com/SubMaRk/manga-localization/issues/25", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "v0.2.0-alpha - Manual Chapter Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Canvas" + }, + { + "title": "[Typesetting] Implement manual text replacement slice", + "url": "https://github.com/SubMaRk/manga-localization/issues/24", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "v0.1.0-alpha - One-Page Foundation", + "releaseGate": "Required", + "priority": "P1", + "area": "Typesetting" + }, + { + "title": "[Canvas] Implement one-page project slice", + "url": "https://github.com/SubMaRk/manga-localization/issues/23", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "v0.1.0-alpha - One-Page Foundation", + "releaseGate": "Required", + "priority": "P1", + "area": "Canvas" + }, + { + "title": "[Security] Freeze hostile image ingest profile", + "url": "https://github.com/SubMaRk/manga-localization/issues/22", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Security" + }, + { + "title": "[Typography] Freeze text SFX and font profiles", + "url": "https://github.com/SubMaRk/manga-localization/issues/21", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Typesetting" + }, + { + "title": "[Canvas] Freeze image color coordinate and performance model", + "url": "https://github.com/SubMaRk/manga-localization/issues/20", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Canvas" + }, + { + "title": "[Planning] Freeze Manga Phase 0 and 1 requirements", + "url": "https://github.com/SubMaRk/manga-localization/issues/19", + "repository": "SubMaRk/manga-localization", + "status": "Backlog", + "product": "Manga", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Documentation" + }, + { + "title": "[Accessibility] Complete manual editor themes and keyboard paths", + "url": "https://github.com/SubMaRk/video-localization/issues/43", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "I18N/A11Y" + }, + { + "title": "[Delivery] Implement sidecar mux and burn-in workers", + "url": "https://github.com/SubMaRk/video-localization/issues/42", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Encoding" + }, + { + "title": "[QC] Implement deterministic proposals and export gates", + "url": "https://github.com/SubMaRk/video-localization/issues/41", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "QC/Review" + }, + { + "title": "[Subtitle] Implement baseline import and export adapters", + "url": "https://github.com/SubMaRk/video-localization/issues/40", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Subtitle" + }, + { + "title": "[Project Data] Implement undo snapshots and revision comparison", + "url": "https://github.com/SubMaRk/video-localization/issues/39", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Project Data" + }, + { + "title": "[Timeline] Implement professional manual operations", + "url": "https://github.com/SubMaRk/video-localization/issues/38", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Timeline" + }, + { + "title": "[Playback] Implement accurate playback and seeking", + "url": "https://github.com/SubMaRk/video-localization/issues/37", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.2.0-alpha - Manual Editor Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Playback" + }, + { + "title": "[UI] Implement bilingual themed prototype shell", + "url": "https://github.com/SubMaRk/video-localization/issues/36", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "I18N/A11Y" + }, + { + "title": "[Delivery] Export validated SRT and ASS", + "url": "https://github.com/SubMaRk/video-localization/issues/35", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Encoding" + }, + { + "title": "[QC] Implement deterministic alpha checks", + "url": "https://github.com/SubMaRk/video-localization/issues/34", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "QC/Review" + }, + { + "title": "[Project Data] Implement transactional store and recovery", + "url": "https://github.com/SubMaRk/video-localization/issues/33", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Project Data" + }, + { + "title": "[VFR] Build presentation timestamp index", + "url": "https://github.com/SubMaRk/video-localization/issues/32", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Timeline" + }, + { + "title": "[Timeline] Implement manual cue and rational timing slice", + "url": "https://github.com/SubMaRk/video-localization/issues/31", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Timeline" + }, + { + "title": "[Audio] Generate recoverable waveform foundation", + "url": "https://github.com/SubMaRk/video-localization/issues/30", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Audio" + }, + { + "title": "[Media] Implement import probe and fingerprint slice", + "url": "https://github.com/SubMaRk/video-localization/issues/29", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "v0.1.0-alpha - Subtitle Slice", + "releaseGate": "Required", + "priority": "P1", + "area": "Media" + }, + { + "title": "[QC] Freeze deterministic timing and quality rules", + "url": "https://github.com/SubMaRk/video-localization/issues/28", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "QC/Review" + }, + { + "title": "[Subtitle] Freeze timed-text interchange profiles", + "url": "https://github.com/SubMaRk/video-localization/issues/27", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Subtitle" + }, + { + "title": "[Shared] Freeze initial Video adapter integration", + "url": "https://github.com/SubMaRk/video-localization/issues/26", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Contracts" + }, + { + "title": "[UI] Freeze Video design and EN/TH interaction profile", + "url": "https://github.com/SubMaRk/video-localization/issues/25", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "I18N/A11Y" + }, + { + "title": "[Windows] Freeze initial support and resource budgets", + "url": "https://github.com/SubMaRk/video-localization/issues/24", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Performance" + }, + { + "title": "[Corpus] Freeze Video golden and adversarial corpus", + "url": "https://github.com/SubMaRk/video-localization/issues/23", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Media" + }, + { + "title": "[Security] Freeze hostile media ingest profile", + "url": "https://github.com/SubMaRk/video-localization/issues/22", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Security" + }, + { + "title": "[Project Data] Freeze Video project and revision schema", + "url": "https://github.com/SubMaRk/video-localization/issues/20", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Project Data" + }, + { + "title": "[Planning] Freeze Phase 0 and 1 product requirements", + "url": "https://github.com/SubMaRk/video-localization/issues/19", + "repository": "SubMaRk/video-localization", + "status": "Backlog", + "product": "Video", + "targetVersion": "Planning and Specification Freeze", + "releaseGate": "Required", + "priority": "P1", + "area": "Documentation" + } + ] }, "repositories": [ { diff --git a/scripts/build-dashboard.mjs b/scripts/build-dashboard.mjs index 4bdfa6c..cfc8d55 100644 --- a/scripts/build-dashboard.mjs +++ b/scripts/build-dashboard.mjs @@ -31,7 +31,7 @@ function valueMap(item) { } async function projectData() { if (!projectToken) return { available: false, statusCounts: {}, blocked: [], requiredGates: [] }; - const query = `query($after:String){organization(login:"SubMaRk"){projectV2(number:1){title url items(first:100,after:$after){pageInfo{hasNextPage endCursor}nodes{content{... on Issue{title url number state repository{nameWithOwner}}}fieldValues(first:30){nodes{... on ProjectV2ItemFieldSingleSelectValue{name field{... on ProjectV2FieldCommon{name}}}... on ProjectV2ItemFieldTextValue{text field{... on ProjectV2FieldCommon{name}}}... on ProjectV2ItemFieldDateValue{date field{... on ProjectV2FieldCommon{name}}}}}}}}}}}`; + const query = `query($after:String){organization(login:"SubMaRk"){projectV2(number:1){title url items(first:100,after:$after){pageInfo{hasNextPage endCursor}nodes{content{... on Issue{title url number state repository{nameWithOwner}}}fieldValues(first:30){nodes{... on ProjectV2ItemFieldSingleSelectValue{name field{... on ProjectV2FieldCommon{name}}}... on ProjectV2ItemFieldTextValue{text field{... on ProjectV2FieldCommon{name}}}... on ProjectV2ItemFieldDateValue{date field{... on ProjectV2FieldCommon{name}}}}}}}}}}`; const items = []; let after = null; do { const response = await fetch("https://api.github.com/graphql", { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${projectToken}`, "User-Agent": "localization-suite-dashboard" }, body: JSON.stringify({ query, variables: { after } }) }); @@ -48,4 +48,4 @@ let project; try { project = await projectData(); } catch (error) { console.error(error.message); project = { available: false, statusCounts: {}, blocked: [], requiredGates: [] }; } const data = { generatedAt: new Date().toISOString(), project, repositories: repoResults, totals: { repositories: repoResults.length, openIssues: repoResults.reduce((sum, repo) => sum + repo.openIssues, 0), openMilestones: repoResults.reduce((sum, repo) => sum + repo.openMilestones, 0) } }; await writeFile(new URL("../dashboard-data.json", import.meta.url), `${JSON.stringify(data, null, 2)}\n`, "utf8"); -console.log(`Dashboard snapshot: ${data.totals.openIssues} open issues, ${data.project.blocked.length} blocked.`); \ No newline at end of file +console.log(`Dashboard snapshot: ${data.totals.openIssues} open issues, ${data.project.blocked.length} blocked.`);