zizi 178603568e feat(parse-book): 升格卡改造前向落地——实体成长「演变历程」骨架+真实章号里程碑+渐进披露+语义判重
schema(6型 item/power_system/faction/location/event/character):加「演变历程」(里程碑对象数组{章,台阶,周期},aiContext[detection,extraction]=续写不给防上万字过载、仅一致性检查与判重可见)+「演变概括」现状层+「前身/后继」串链;character「成长弧线」语义回归'未来计划'。已重跑 seed_schemas 灌字段合同(6型合同均含演变历程,亲验)。

parse_upgrade.py:里程碑对象合并去重按真实章号(不用运行时窗号)+撤销靠内部_win键(防同窗重跑重复追加)+当前态字段干净纪律(治升级线塞错字段病根)+observe/update提示词记进化台阶与登场→结局生命周期+语义判重(embed≥0.78召回+M3终判,同型自动并/跨型仅串链候选,--semantic-dedup默认关)。

migrate_upgrade_windows.py:存量[窗N]→真实章号迁移(全脚本只读零写库;人工精确化=无内嵌章号处再抽原文定章;全库563卡待迁/6616条待LLM/669内嵌自动精确)。read-context/detect SKILL.md 补渐进披露与演变连续性检查说明。待gate未执行:真迁移落库/开语义判重。设计+拍板见 docs/2026-07-16-升格卡改造设计.md。

创始人4项拍板:①里程碑结构化对象②五型全补③character一起改④存量人工精确化(+主代理定演变概括独立)。
2026-07-17 06:13:18 +08:00

29 lines
2.4 KiB
YAML

target_type: character
中文名: 角色
domain: world
scope: entity
本体分组: 人物
层次: 双层(作品面实例+公共范式,单模具双库)
状态: 启用
判据: 具名/可指认的行动主体,说话方式即该角色语言指纹 ‖ 作者全书指纹→style;关系→character_relation;集体→faction
实例落点: 知识/人物/*.md
特有字段:
- { key: 身份定位, 说明: 主角/重要配角/反派/势力标杆, aiContext: true }
- { key: 阵营, 说明: 指向势力卡, aiContext: true }
- { key: 境界与能力, 说明: 当前境界(对齐力量体系阶梯)+特殊手段,随确认更新, aiContext: true }
- { key: 外貌特征, 说明: 两三个可反复引用的具体记号,不写套话, aiContext: true }
- { key: 性格底色, aiContext: true }
- { key: 欲望与恐惧, 说明: 最想要什么/最怕什么——动机引擎, aiContext: true }
- { key: 行事逻辑, 说明: 面对冲突他会怎么选——行为一致性的判据, aiContext: true }
- { key: 说话方式, 说明: 语言指纹:口头禅/句长/称呼习惯/敬语与粗口, aiContext: true }
- { key: 秘密与底牌, 说明: 写手需要它才能写出言行的弦外之音, aiContext: true }
- { key: 成长弧线, 说明: 「未来计划」——计划中(尚未发生)的变化轨迹,续写不可见防抢进度剧透;已发生的台阶改归「演变历程」,二者分工不混, aiContext: [planning, detection] }
# ── 升格卡改造(2026-07-17)新增:演变历程(完整历史层,已发生台阶)+演变概括(现状层)。定义见 docs/2026-07-16-升格卡改造设计.md 第五节、拍板#3 ──
- key: 演变历程
说明: "已发生的成长台阶明细,一条一台阶只追加不覆写;每条是对象 {章: 绝对章号(整数如 420,或跨章区间字符串如 \"420-423\"), 台阶: 成长到什么+靠什么事件的一句话, 周期: 登场/成长/高光/退场/结局}。按真实章号排序索引(不用运行时窗号)——完整历史层,续写不给(防上万字明细撑爆上下文),仅一致性检查与判重可见;与成长弧线分工:本字段记已发生、成长弧线记未来计划"
aiContext: [detection, extraction]
- key: 演变概括
说明: "整条成长线的一句话梗概。现状层续写可见;与一句话摘要分工——摘要写当前态、本字段写来龙去脉"
aiContext: true
- { key: 创作备忘, 说明: 作者碎碎念,任何用途不入 AI 上下文, aiContext: false }