docs(prompt-mgmt): 方案A 协同回写 + 补声明 structlog 依赖

- memory/contracts.md:立 C6-ext(load_prompt/SPECS/SCHEMA_CATALOG/
  REVIEW_RESERVED_NAMES/SpecResolver + 打包契约)+ 变更日志一笔
- memory/decisions.md:方案A 决策(运行时值金标准/尾换行方案B/守卫前移/
  schema 留 Python/同一实例)
- memory/gotchas.md:spec.name 连字符命名 / 改稿须重生成金标准 /
  .gitattributes 完整嵌套路径 / wheel artifacts 带 .md / structlog 补声明 /
  SpecResolver 零 DB + 精确匹配
- PROGRESS.md:已封板「Prompt 管理重构 + 全量重写」波次
- ARCHITECTURE.md §5.1:补 prompt 外置 + SPECS/SCHEMA_CATALOG/SpecResolver,
  内置 agent 计数 8→21
- packages/{llm_gateway,core}/pyproject.toml:补声明 structlog>=24.1
  (原直接 import 未声明,靠 apps/api 传递;裸装 import ww_agents 会缺)
This commit is contained in:
Yaojia Wang
2026-06-24 08:25:26 +02:00
parent eb356c42a9
commit 0021426f09
8 changed files with 48 additions and 2 deletions

View File

@@ -29,6 +29,21 @@
---
## 已封板Prompt 管理重构方案A+ 全量 prompt 重写 ✅
> **背景**:把 21 个内置 agent 的 `system_prompt` 散文从 `specs.py` Python 常量外置为 `.md` 文件,并统一内置/用户 skill 的只读解析入口。设计真源 `docs/design/prompt-management.md`;契约 `memory/contracts.md` C6-ext决策/坑见 `memory/{decisions,gotchas}.md`2026-06-24。**多 agent 工作流交付**TDD + 并行开发 + 交叉验证评审。
| 任务 | 状态 | 负责 | 备注 |
|---|---|---|---|
| 方案A 步骤13`spec_model`/`prompt_loader`/`prompts/*.md`×21/`schema_catalog`/`SPECS`/`REVIEW_RESERVED_NAMES` | ✅ | @llm | 金标准 sha256 取运行时值;`SPECS[name] is *_spec` 同一实例;三集合 name 恒等 |
| 方案A 步骤45`SpecResolver`(内置纯内存零 DB+ SkillRegistry 入库守卫前移 + `toolbox_registry` 桥接 `SPECS` | ✅ | @backend | 守卫锚 `REVIEW_RESERVED_NAMES set(SPECS)`;删 12 生成器 `*_spec` 直接 import |
| 打包/CI`.gitattributes eol=lf` + wheel `artifacts``prompts/*.md` + `agents-wheel-smoke` 冒烟;`structlog` 补声明 | ✅ | @devops | 裸装 `import ww_agents; assert SPECS` 通过;`.gitattributes` 须完整嵌套路径 |
| 集成回归:#12 编排器无回归 + #15 apps/api import-smoke`*_spec is SPECS[name]`+ #16 CI 冒烟 | ✅ | @qa | 内容无关,长青 |
| 全量重写 21 prompt 内容(任务对齐 + prompt 工程最佳实践schema 契约/不变量保持) | ✅ | @llm/@qa | 激进重写;金标准 fixture 重生成;护栏全验(无占位/无 model 名/中文/≤1 尾 LF/四审只读) |
**出口DoD✅**:后端门禁绿 ruff/format clean · **mypy 209** · **pytest 744 passed**;缓存断点前块字节稳定(不变量 #9,金标准守);零 schema 变更、前端零影响(无 `pnpm gen:api`)。已合并 `develop`(外置 wave `4f561da`、重写 wave `eb356c4`)。**后续可选**:编排器 + apps/api 3 路由切 `SpecResolver` 后删 `*_spec` 导出。
---
## 已封板K1 · Kimi Code OAuth订阅 plan 接入)✅
> **背景**:用户要求接入 Kimi Code 订阅 plandevice-flow OAuth。**已知情接受 ToS/封号风险**——研究确认:用订阅 plan 调用需伪造官方客户端 `User-Agent` + `X-Msh-*` 头Kimi ToS 视为违规、可能封停会员(见变更日志研究结论)。用户明确选择此路径(非合规的 API Key 路径)。与既有 API-key провайдер `kimi` **分离**,新增独立 provider `kimi-code` 以便切换。