guantao 5078dd2bef add procedure batch extraction 14 часов назад
..
README.md 5078dd2bef add procedure batch extraction 14 часов назад
action.json 5078dd2bef add procedure batch extraction 14 часов назад
effect.json 5078dd2bef add procedure batch extraction 14 часов назад
feature.json 5078dd2bef add procedure batch extraction 14 часов назад
type.json 5078dd2bef add procedure batch extraction 14 часов назад
type_suggestions.md 5078dd2bef add procedure batch extraction 14 часов назад
分类库导出_实质_20260512_132218.json 5078dd2bef add procedure batch extraction 14 часов назад
分类库导出_形式_20260512_170623.json 5078dd2bef add procedure batch extraction 14 часов назад

README.md

Taxonomy · 字典树受控词表

本目录是 5 维标注体系 (作用 / 动作 / 类型 / 实质 / 形式) 的受控词表. 作用/动作/类型三棵小树整树进 LLM context; 实质/形式两个大词表走 taxonomy-lookup.py 按需查.

文件结构

taxonomy/
├── README.md           ← 本文件 (导航)
│
├── effect.json         ← 作用树 (制作 → 准备/加工/收尾阶段 → 叶子)
├── action.json         ← 动作树 (获取/提取/生成/修改/存储) + $control 控制流维
├── type.json           ← 类型树 (程序控制/数据复用/内容/知识 四大类)
├── feature.json        ← 特性 enum (随机/幂等/人工/本地/写外部/读外部)
│
├── type_suggestions.md ← 跨 case 累积的 case-specific 类型提案 (lint-case.py 自动 append)
│
├── 分类库导出_实质_*.json  ← 实质 大词表 (911 路径, 走 lookup 不进 context)
└── 分类库导出_形式_*.json  ← 形式 大词表 (565 路径, 同上)

结构约定 (新版)

作用/动作/类型三棵树用统一的层级树结构 (键为中文): 每个节点是 {分类名称, 分类说明, 直接元素, 子分类, 分类性质}, 终端节点 (无 子分类) 即叶子.

  • 分类说明 是边界判断的唯一来源 — 每个节点的判别口诀 / 与兄弟节点的边界 / 同义术语都写在这里.
  • $leaves: 由 最终分类树 终端节点自动派生 (见 scratch/build_taxonomy.py), 供 lint-case.py 校验 + renderer 标 in_tree. 不要手改 — 改树后重新派生.
  • 完整交互视图见 阶段_动作_类型字典树.html (可视化编辑器, 导出即本目录三个 JSON 的 最终分类树).

三棵树速查

维度 字段 顶层分类 叶子数 用在哪
effect.json 作用 step effect 制作 (准备/加工/收尾阶段) 9 Phase 2A 归一化
action.json 动作 step action 获取/提取/生成/修改/存储 (+5 control 正交维) 30 + 5 control Phase 2A 归一化
type.json 类型 IO item type 程序控制/数据复用/内容/知识 50 Phase 2A 归一化

加载策略 (按规模分)

维度 文件 规模 怎么取值
作用 / 动作 / 类型 effect/action/type.json 三棵共 ~小 整树进 LLM context — Phase 2 直接 Read
实质 分类库导出_实质_*.json (1.1 MB) 911 路径 spec/tools/taxonomy-lookup.py query — 词表过大不进 context
形式 分类库导出_形式_*.json (764 KB) 565 路径 同上

Agent 不要直接 Read 实质 / 形式的 JSON — 它们在 spec/ 内只是为了 skill 自包含 + 让 taxonomy-lookup.py 找得到. 整文件进 context 会吃 30k+ tokens. 走 funnel API (--list-l2 / --subtree / --match / --validate) 按需查.

使用约定

  • 取值写法: action 用根→叶完整路径 (提取/化学提取/解构); effect 和 type 直接写叶子名 (预处理 / 参考图), 因为叶子在各自树里全局唯一.
  • 只终端叶子能作为取值 — 中间分类节点 (准备阶段 / 物理变化 / 素材 等) 是目录, 不直接取值.
  • case-specific 类型 (type 树独有): 允许用未在叶子里的名字, 但 workflow.jsonprocedures[i].type_registry 必须给 extends 指向某 stdlib 叶子 + desc, 否则 lint 报错.

三语言分工 (现状)

语言 负责 文件
JSON 结构 + 内容 (树 + 各节点 分类说明 边界定义) — 单一真理源 *.json
Python 程序性校验 (lint / 路径合法性 / extends 桥接) spec/tools/lint-case.py, taxonomy-lookup.py