logging-guidelines.md 2.2 KB

输出与日志规范

版本:基线 1.0(2026-06-12)。依据:PRD §1.4 产品原则 6、§8 术语表;story-repo-spec 0.6 §8(commit 约定)。


1. 两个域,严格分离

1.1 作者界面域(作者会看到的一切输出:对话文案、报告、文件名、front matter 字段名、提醒):

  • 必须全中文、零机器味;术语必须遵守 PRD §8 术语表,废止词(承诺/节奏债/棘轮/盘面/上下文包/合同/决策卡/验收卡 等)禁止出现。
  • 命名原则:网文圈原生词优先;圈内没有的用自然措辞;财务/工程/数据库隐喻禁止;禁止自造两字精简词。文案以自然流畅为准,不强求口语化。
  • 条目编号一律中文全称(伏笔-031、悬念-008、感情线-012、信息差-021),禁止缩写(伏-031)与 ASCII 编号(P-031)。
  • 禁止出现:堆栈、日志级别字样(ERROR/WARN)、英文报错、git 命令原文。

1.2 机器域(作者看不到、供脚本与诊断使用):

  • commit message 前缀固定 ASCII:ch / vol / retcon / fix(便于 git log --grep)。
  • book.yamlspec_version.cache 表名、books.jsonl 字段名等机器协议用英文,禁止为"全中文"目标改动机器协议。

2. 诊断信息

2.1 可诊断性依赖统一目录结构(强制项目级安装):诊断输出应引导用户提供目录清单,而非日志文件。

2.2 脚本内部诊断输出(stderr/调试信息)允许英文,但禁止混入作者界面域。

2.3 开发期调试日志禁止留在发布路径上;发布版脚本对作者的全部输出都属于作者界面域,受 1.1 约束。

3. 报告类输出的文风

3.1 全书近况、迁移报告、体检报告等必须先结论后细节,用作者的语言描述("第 31 个伏笔从第 12 章埋下,悬了 140 章了"),禁止罗列原始数据。

3.2 提醒不是错误("悬了太久"是提醒);报告中禁止用命令式或指责式语气。

4. 待增量补充

  • 脚本 stdout/stderr 的用途划分与机器可读输出格式(JSON 行协议等,首个代码任务时定)
  • 调试开关的约定(环境变量名等)