1097 lines
24 KiB
JSON
1097 lines
24 KiB
JSON
{
|
|
"version": 1,
|
|
"generatedBy": "scripts/generate-requirements.mjs",
|
|
"sources": [
|
|
{
|
|
"path": "docs/JPW7在线简谱编辑器-产品需求文档.md",
|
|
"version": "current project baseline"
|
|
},
|
|
{
|
|
"path": "docs/JPW7在线简谱编辑器-功能规格与技术方案.md",
|
|
"version": "current project baseline"
|
|
},
|
|
{
|
|
"path": "docs/JPW7在线简谱编辑器-开发步骤计划.md",
|
|
"version": "v1.1"
|
|
},
|
|
{
|
|
"path": "docs/JPW7在线简谱编辑器-验收标准.md",
|
|
"version": "v1.2"
|
|
},
|
|
{
|
|
"path": "docs/JPW7在线简谱编辑器-兼容性矩阵.md",
|
|
"version": "current project baseline"
|
|
}
|
|
],
|
|
"capabilityDimensions": [
|
|
"file-codec",
|
|
"parser",
|
|
"lossless-retention",
|
|
"semantic-model",
|
|
"stable-anchor",
|
|
"commands",
|
|
"project-save",
|
|
"layout",
|
|
"svg",
|
|
"playback",
|
|
"compatibility-export",
|
|
"e2e",
|
|
"performance",
|
|
"security",
|
|
"accessibility",
|
|
"licensing",
|
|
"evidence"
|
|
],
|
|
"entryCount": 61,
|
|
"entries": [
|
|
{
|
|
"id": "F-001",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-002",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-003",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-004",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-005",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-006",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-007",
|
|
"source": "PRD-F-001..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M1",
|
|
"M2",
|
|
"M4",
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-001..020",
|
|
"ACC-X-001..012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心文件、导入、编辑、工程和导出闭环;在实现阶段拆解为逐条断言。"
|
|
},
|
|
{
|
|
"id": "F-008",
|
|
"source": "PRD-F-008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M2",
|
|
"M4",
|
|
"M6",
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-F-021..022",
|
|
"ACC-L-009..011",
|
|
"ACC-L-019",
|
|
"ACC-X-013"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "扩展编辑能力,未知内容必须保留并诊断。"
|
|
},
|
|
{
|
|
"id": "E-001",
|
|
"source": "PRD-E-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M2",
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-001..004",
|
|
"ACC-E-007",
|
|
"ACC-F-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心节拍、音符、休止和时值语义。"
|
|
},
|
|
{
|
|
"id": "E-002",
|
|
"source": "PRD-E-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M2",
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-001..004",
|
|
"ACC-E-007",
|
|
"ACC-F-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心节拍、音符、休止和时值语义。"
|
|
},
|
|
{
|
|
"id": "E-003",
|
|
"source": "PRD-E-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M2",
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-001..004",
|
|
"ACC-E-007",
|
|
"ACC-F-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心节拍、音符、休止和时值语义。"
|
|
},
|
|
{
|
|
"id": "E-004",
|
|
"source": "PRD-E-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M2",
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-001..004",
|
|
"ACC-E-007",
|
|
"ACC-F-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "核心节拍、音符、休止和时值语义。"
|
|
},
|
|
{
|
|
"id": "E-005",
|
|
"source": "PRD-E-005..008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M6",
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-005..012",
|
|
"ACC-O-001..006",
|
|
"ACC-A-009",
|
|
"ACC-A-017",
|
|
"ACC-A-021..023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "复杂装饰、和弦/伴奏及扩展语义。"
|
|
},
|
|
{
|
|
"id": "E-006",
|
|
"source": "PRD-E-005..008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M6",
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-005..012",
|
|
"ACC-O-001..006",
|
|
"ACC-A-009",
|
|
"ACC-A-017",
|
|
"ACC-A-021..023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "复杂装饰、和弦/伴奏及扩展语义。"
|
|
},
|
|
{
|
|
"id": "E-007",
|
|
"source": "PRD-E-005..008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M6",
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-005..012",
|
|
"ACC-O-001..006",
|
|
"ACC-A-009",
|
|
"ACC-A-017",
|
|
"ACC-A-021..023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "复杂装饰、和弦/伴奏及扩展语义。"
|
|
},
|
|
{
|
|
"id": "E-008",
|
|
"source": "PRD-E-005..008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M6",
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-E-005..012",
|
|
"ACC-O-001..006",
|
|
"ACC-A-009",
|
|
"ACC-A-017",
|
|
"ACC-A-021..023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "复杂装饰、和弦/伴奏及扩展语义。"
|
|
},
|
|
{
|
|
"id": "T-001",
|
|
"source": "PRD-T-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-T-001..007",
|
|
"ACC-L-006",
|
|
"ACC-L-012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "歌词、分词、对齐和未知歌词内容保留。"
|
|
},
|
|
{
|
|
"id": "T-002",
|
|
"source": "PRD-T-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-T-001..007",
|
|
"ACC-L-006",
|
|
"ACC-L-012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "歌词、分词、对齐和未知歌词内容保留。"
|
|
},
|
|
{
|
|
"id": "T-003",
|
|
"source": "PRD-T-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-T-001..007",
|
|
"ACC-L-006",
|
|
"ACC-L-012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "歌词、分词、对齐和未知歌词内容保留。"
|
|
},
|
|
{
|
|
"id": "T-004",
|
|
"source": "PRD-T-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-T-001..007",
|
|
"ACC-L-006",
|
|
"ACC-L-012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "歌词、分词、对齐和未知歌词内容保留。"
|
|
},
|
|
{
|
|
"id": "T-005",
|
|
"source": "PRD-T-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-T-001..007",
|
|
"ACC-L-006",
|
|
"ACC-L-012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "歌词、分词、对齐和未知歌词内容保留。"
|
|
},
|
|
{
|
|
"id": "T-006",
|
|
"source": "PRD-T-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-T-001..007",
|
|
"ACC-L-006",
|
|
"ACC-L-012"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "歌词、分词、对齐和未知歌词内容保留。"
|
|
},
|
|
{
|
|
"id": "V-001",
|
|
"source": "PRD-V-001..006",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-001..006",
|
|
"ACC-O-003..006",
|
|
"ACC-L-020"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "多声部、声部组和临时声部。"
|
|
},
|
|
{
|
|
"id": "V-002",
|
|
"source": "PRD-V-001..006",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-001..006",
|
|
"ACC-O-003..006",
|
|
"ACC-L-020"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "多声部、声部组和临时声部。"
|
|
},
|
|
{
|
|
"id": "V-003",
|
|
"source": "PRD-V-001..006",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-001..006",
|
|
"ACC-O-003..006",
|
|
"ACC-L-020"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "多声部、声部组和临时声部。"
|
|
},
|
|
{
|
|
"id": "V-004",
|
|
"source": "PRD-V-001..006",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-001..006",
|
|
"ACC-O-003..006",
|
|
"ACC-L-020"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "多声部、声部组和临时声部。"
|
|
},
|
|
{
|
|
"id": "V-005",
|
|
"source": "PRD-V-001..006",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-001..006",
|
|
"ACC-O-003..006",
|
|
"ACC-L-020"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "多声部、声部组和临时声部。"
|
|
},
|
|
{
|
|
"id": "V-006",
|
|
"source": "PRD-V-001..006",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-001..006",
|
|
"ACC-O-003..006",
|
|
"ACC-L-020"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "多声部、声部组和临时声部。"
|
|
},
|
|
{
|
|
"id": "V-007",
|
|
"source": "PRD-V-007",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M5",
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-V-007",
|
|
"ACC-A-015"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "声部级播放/静音与导出边界。"
|
|
},
|
|
{
|
|
"id": "L-001",
|
|
"source": "PRD-L-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-001..008",
|
|
"ACC-L-013..018",
|
|
"ACC-L-020",
|
|
"ACC-G-001..004",
|
|
"ACC-X-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "A4 固定布局、分页、字体测量和 SVG 正式谱面。"
|
|
},
|
|
{
|
|
"id": "L-002",
|
|
"source": "PRD-L-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-001..008",
|
|
"ACC-L-013..018",
|
|
"ACC-L-020",
|
|
"ACC-G-001..004",
|
|
"ACC-X-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "A4 固定布局、分页、字体测量和 SVG 正式谱面。"
|
|
},
|
|
{
|
|
"id": "L-003",
|
|
"source": "PRD-L-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-001..008",
|
|
"ACC-L-013..018",
|
|
"ACC-L-020",
|
|
"ACC-G-001..004",
|
|
"ACC-X-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "A4 固定布局、分页、字体测量和 SVG 正式谱面。"
|
|
},
|
|
{
|
|
"id": "L-004",
|
|
"source": "PRD-L-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-001..008",
|
|
"ACC-L-013..018",
|
|
"ACC-L-020",
|
|
"ACC-G-001..004",
|
|
"ACC-X-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "A4 固定布局、分页、字体测量和 SVG 正式谱面。"
|
|
},
|
|
{
|
|
"id": "L-005",
|
|
"source": "PRD-L-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-001..008",
|
|
"ACC-L-013..018",
|
|
"ACC-L-020",
|
|
"ACC-G-001..004",
|
|
"ACC-X-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "A4 固定布局、分页、字体测量和 SVG 正式谱面。"
|
|
},
|
|
{
|
|
"id": "L-006",
|
|
"source": "PRD-L-001..006",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-001..008",
|
|
"ACC-L-013..018",
|
|
"ACC-L-020",
|
|
"ACC-G-001..004",
|
|
"ACC-X-009"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "A4 固定布局、分页、字体测量和 SVG 正式谱面。"
|
|
},
|
|
{
|
|
"id": "L-007",
|
|
"source": "PRD-L-007..008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-009..011",
|
|
"ACC-L-019"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "手动布局状态必须进入工程保存。"
|
|
},
|
|
{
|
|
"id": "L-008",
|
|
"source": "PRD-L-007..008",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M7"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-009..011",
|
|
"ACC-L-019"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "手动布局状态必须进入工程保存。"
|
|
},
|
|
{
|
|
"id": "L-009",
|
|
"source": "PRD-L-009",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3",
|
|
"M6"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-005",
|
|
"ACC-L-015",
|
|
"ACC-G-001..004"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "复杂布局附件和占位行为。"
|
|
},
|
|
{
|
|
"id": "L-010",
|
|
"source": "PRD-L-010",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M3"
|
|
],
|
|
"accRefs": [
|
|
"ACC-L-018",
|
|
"ACC-Q-002"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "输出确定性和溢出诊断。"
|
|
},
|
|
{
|
|
"id": "A-001",
|
|
"source": "PRD-A-001..003,006..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-001..008",
|
|
"ACC-A-012..016"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "基础播放、控制、时间线和声部控制。"
|
|
},
|
|
{
|
|
"id": "A-002",
|
|
"source": "PRD-A-001..003,006..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-001..008",
|
|
"ACC-A-012..016"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "基础播放、控制、时间线和声部控制。"
|
|
},
|
|
{
|
|
"id": "A-003",
|
|
"source": "PRD-A-001..003,006..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-001..008",
|
|
"ACC-A-012..016"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "基础播放、控制、时间线和声部控制。"
|
|
},
|
|
{
|
|
"id": "A-006",
|
|
"source": "PRD-A-001..003,006..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-001..008",
|
|
"ACC-A-012..016"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "基础播放、控制、时间线和声部控制。"
|
|
},
|
|
{
|
|
"id": "A-007",
|
|
"source": "PRD-A-001..003,006..007",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M5"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-001..008",
|
|
"ACC-A-012..016"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "基础播放、控制、时间线和声部控制。"
|
|
},
|
|
{
|
|
"id": "A-004",
|
|
"source": "PRD-A-004..005",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-009..011",
|
|
"ACC-A-017..023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "反复、谱内控制状态和扩展播放降级。"
|
|
},
|
|
{
|
|
"id": "A-005",
|
|
"source": "PRD-A-004..005",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-009..011",
|
|
"ACC-A-017..023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "反复、谱内控制状态和扩展播放降级。"
|
|
},
|
|
{
|
|
"id": "A-008",
|
|
"source": "PRD-A-008",
|
|
"priority": "P2",
|
|
"scope": "out-of-scope",
|
|
"stages": [],
|
|
"accRefs": [
|
|
"ACC-A-023"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "外部音色/扩展音频能力明确不纳入本目标。"
|
|
},
|
|
{
|
|
"id": "A-009",
|
|
"source": "PRD-A-009",
|
|
"priority": "P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M8"
|
|
],
|
|
"accRefs": [
|
|
"ACC-A-006",
|
|
"ACC-A-018",
|
|
"ACC-A-022",
|
|
"ACC-E-007",
|
|
"ACC-T-007"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "W1 播放金样和控制语义。"
|
|
},
|
|
{
|
|
"id": "U-001",
|
|
"source": "PRD-U-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-004..006",
|
|
"ACC-L-013",
|
|
"ACC-X-003",
|
|
"ACC-X-006"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "可用性、键盘、无障碍和错误提示。"
|
|
},
|
|
{
|
|
"id": "U-002",
|
|
"source": "PRD-U-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-004..006",
|
|
"ACC-L-013",
|
|
"ACC-X-003",
|
|
"ACC-X-006"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "可用性、键盘、无障碍和错误提示。"
|
|
},
|
|
{
|
|
"id": "U-003",
|
|
"source": "PRD-U-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-004..006",
|
|
"ACC-L-013",
|
|
"ACC-X-003",
|
|
"ACC-X-006"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "可用性、键盘、无障碍和错误提示。"
|
|
},
|
|
{
|
|
"id": "U-004",
|
|
"source": "PRD-U-001..004",
|
|
"priority": "P0",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M4",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-004..006",
|
|
"ACC-L-013",
|
|
"ACC-X-003",
|
|
"ACC-X-006"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "可用性、键盘、无障碍和错误提示。"
|
|
},
|
|
{
|
|
"id": "Q-001",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-002",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-003",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-004",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-005",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-006",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-007",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-008",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
},
|
|
{
|
|
"id": "Q-009",
|
|
"source": "验收标准-质量门槛",
|
|
"priority": "P0/P1",
|
|
"scope": "R1",
|
|
"stages": [
|
|
"M0",
|
|
"M5",
|
|
"M9"
|
|
],
|
|
"accRefs": [
|
|
"ACC-Q-001..009",
|
|
"ACC-X-001..014"
|
|
],
|
|
"status": "baseline-not-started",
|
|
"notes": "性能、安全、回退、证据完整性和发布门槛;逐项结果在验收证据包中记录。"
|
|
}
|
|
]
|
|
}
|