feat: land owner's v2 release line — 2.0.0, ADR-004, v2 contract tests

Absorbed from the owner's working tree (his versions take precedence):
- VERSION 2.0.0, CHANGELOG, plugin manifests, marketplace metadata
- ADR-004 (project knowledge, not runtime distribution; supersedes 001)
  plus ADR-001/002/003 updates
- Three new v2 contract test suites (architecture / documentation /
  experiment-archive integrity) and rewritten skill-contracts,
  cli-distribution (exact retired-set + E2E fixture), selfref suites
- Rewritten root docs (README/WORKFLOW/SKILL_CATALOG zh+en, CLAUDE/AGENTS)
  with v1.0.4 retirement mapping and precise skills-CLI upgrade procedure
- eval-cs-skill v2 adaptation (6 files), build-cs-skill refinements

Full suite: 96 passed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
dafang
2026-07-30 13:38:57 +08:00
parent c3db99b47b
commit aedd3213d9
37 changed files with 1031 additions and 529 deletions
+14 -15
View File
@@ -7,25 +7,24 @@
## 语言与文档
- 默认用中文写面向人的回复、报告和文档代码、命令、路径、协议字段、YAML/JSON key 保持原格式。
- 单个 Markdown 文件不得超过 300 行;超过必须拆分(经 owner 明确豁免的设计章程除外)
- 增加或更新 skill 时,同步检查相关 skill、SKILL_CATALOG、WORKFLOW、README、测试和 ADR 中的表述。
- `AGENTS.md`/`CLAUDE.md` 只写 agent 行为规则;不要替代 `.codestable/attention.md`、work 文档ADR 等项目事实载体。
- 单个 Markdown 文件不得超过 300 行;超过必须拆分。
- 增加或更新 skill 时,同步检查相关 skill、README/reference、测试和 ADR 中的表述。
- `AGENTS.md`/`CLAUDE.md` 只写 agent 行为规则;不要替代 `.codestable/attention.md`项目文档、work 文档ADR 等项目事实载体。
## Skill 边界v2thin harness, thick context
## Skill 边界
- 交付 skill 共 8 个,位于 `plugins/codestable/skills/`;每个 SKILL.md 是薄责任契约(约 3060 行正文),不写流程状态机、不写 Haskell spec
- 不同 skill 之间不相互耦合:公共纪律(开工检索、沉淀推荐、授权边界)以两三行内联进各 SKILL.md,不建跨 skill 共享 reference 机制
- 上下文按需检索skill 只写"去哪取"attention、`lessons/` grep、项目文档不把材料复制进 skill 包或项目
- 交付 skill 不带 contracts frontmatter硬门槛锚由 `tests/test_skill_contracts.py` 直接对 SKILL.md 正文断言(改硬门槛措辞须同步更新锚清单)
- 不同 skill 之间不要相互耦合A skill 在非必须情况下不要读取或依赖 B skill 的内部文件
- skill 是独立安装单元,运行时每个 skill 只能稳定看到自己包内文件;不要在 SKILL.md 中写 `B-skill/reference/xxx.md` 这类 sibling 引用
- v2 项目知识放在项目文档、ADR 以及 `.codestable/attention.md``lessons/``work/`;不通过 onboard 分发通用 reference
- skill 专属 context 和确定性 helper 分别放在 owning skill 的 `references/``scripts/`;跨 skill 通用规则应归宿主策略、项目事实或独立安装单元
## CodeStable 项目数据
## v1 兼容边界
- 项目侧只有 `.codestable/{attention.md, lessons/, work/}`;普通任务零产物,跨会话任务一个 work 文档
- v1 存量(`reference/``tools/``gates/``hooks/``compound/``features/` 等)只读保留,不迁移、不删除、不覆盖;旧沉淀由 grep 检索继续生效
- 不再有 skill 调用的 gate / runtime 工具与 runtime-manifest 机制;不要新增此类入口
- CodeStable skills 不拥有默认 worktree/branch 策略;是否创建 worktree、如何命名分支、如何 merge由宿主与 owner 决定。
- v1 的 `.codestable/reference/``tools/``gates/``hooks/``runtime-manifest.json` 原样保留,但 v2 skill 不把它们作为入口或执行其中的 legacy runtime
- 不要新增、同步或刷新 repo-local CodeStable runtime确定性行为由 owning skill 自己的 helper 或项目已有工具负责
- CodeStable skills 不拥有默认 worktree/branch 策略;是否创建 worktree、如何命名分支、如何 merge应由宿主、owner 或未来独立 skill 决定
## 验证
- skill 改动完成前至少运行 `python3 -m pytest tests/``git diff --check`
- skill 行为的量化验证按需使用 `eval-cs-skill`(仅在明确要做测量实验时)
- skill/runtime 改动完成前至少运行相关 pytest`git diff --check`
- plugin 分发或退役清单变更还要运行 `tests/test_skills_cli_distribution.py``tools/check-plugin-package.py`