muse-agent-example/tests/夹具/中文正文.json
zizi f76c3cd04a docs(架构): 归档R2历史留痕并清理过程计划与实施分期标签
- 归档并收敛 R2 历史留痕至 docs/实现回顾/R2改造历史留痕.md,删除已退出生命周期的改造计划、旧文件处置及验证过程文档
- 现行测试用例身份收敛至 tests/用例清单.json(1358条扁平登记),适配 conftest、索引维护与测试执行验证
- 清理源码、配置、SQL迁移头、测试夹具及规则文档中的 Wxx 实施分期标签与过时过程描述
- 同步重新打包构建资源清单,通过全量离线测试、模块边界、类型检查与索引双向强核验
2026-09-16 19:09:14 +08:00

126 lines
3.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"schema_version": "muse-fixture-chinese-prose-v1",
"来源": "合成样例;无真实作品内容",
"合同": "docs/系统架构/新版设计/接口契约/正文结构与中文选区.md",
"位置语义": "start/end 按 Unicode 码点、左闭右开区间计数",
"samples": [
{
"sample_id": "zh-combining-emoji",
"保护点": "组合字符(e+U+0301)、肤色修饰 emoji、ZWJ 序列不被规范化",
"paragraphs": [
"他写下最后一个字, café́ 的灯光下,念作「卡非」。🧑‍🏽 点了点头。"
],
"preserved_expectations": [
"段内包含字符 e 与组合分音符 U+0301 分离存储,不得合并为 é",
"emoji 家族/肤色序列按原码点序列保留",
"全角引号「」与全角标点原样保留"
],
"codepoint_lengths": [
37
],
"selections": [
{
"paragraph_index": 0,
"start": 10,
"end": 15,
"expected_text": "café́"
},
{
"paragraph_index": 0,
"start": 28,
"end": 31,
"expected_text": "🧑‍🏽"
}
]
},
{
"sample_id": "zh-blank-lines",
"保护点": "连续空行、段首全角空格、行尾空白在导入/保存/导出中保持",
"paragraphs": [
"第一段结束。",
"",
"",
" 第二段有全角空格开头。",
"第三段。"
],
"preserved_expectations": [
"空段落数量与位置不变(第 2、3 段为空段落)",
"段首全角空格 U+3000 不被剥离"
],
"codepoint_lengths": null
},
{
"sample_id": "zh-duplicate-sentence",
"保护点": "重复片段不能按任意首次命中替换",
"paragraphs": [
"他把剑收回鞘中。风停了。他把剑收回鞘中,转身离开。"
],
"preserved_expectations": [
"第二次出现的「他把剑收回鞘中」不因对第一次的替换而改变"
],
"duplicate_spans": [
{
"paragraph_index": 0,
"start": 0,
"end": 7,
"expected_text": "他把剑收回鞘中"
},
{
"paragraph_index": 0,
"start": 12,
"end": 24,
"expected_text": "他把剑收回鞘中,转身离开"
}
],
"selections": [
{
"paragraph_index": 0,
"start": 8,
"end": 11,
"expected_text": "风停了"
}
]
},
{
"sample_id": "zh-cross-paragraph-selection",
"保护点": "跨段选区显式表达受影响段落,不能折叠为整章偏移",
"paragraphs": [
"这句话结束于第一段末尾,",
"第二段从这里开始。"
],
"cross_selection": {
"from": {
"paragraph_index": 0,
"start": 9,
"end": 12
},
"to": {
"paragraph_index": 1,
"start": 0,
"end": 4
},
"expected_from_text": "末尾,",
"expected_to_text": "第二段从"
}
},
{
"sample_id": "zh-fullwidth-variants",
"保护点": "全角标点、破折号、兼容异体字不被自动规范化",
"paragraphs": [
"『你确定?』她问——用的是「旧式」引号,和一个 炙 类兼容异体字。"
],
"preserved_expectations": [
"『』「」—— 及兼容异体字 U+F9FB 原样保留",
"正文规范化必须是显式编辑操作,不是保存副作用"
],
"selections": [
{
"paragraph_index": 0,
"start": 0,
"end": 6,
"expected_text": "『你确定?』"
}
]
}
]
}