P0:协议基线与能力矩阵¶
状态:Completed(2026-08-12)
前置条件:总体方案已确认。
后续阶段:P1 核心传输与会话。
1. 目标¶
在不修改生产行为的前提下,锁定官方 SDK 和 ACP v1 schema,建立完整能力矩阵、协议测试 harness 和实现护栏。
2. 非目标¶
- 不新增
synapse-acp入口。 - 不实现任何 ACP handler。
- 不修改 runtime 行为。
3. 工作范围¶
- 验证 PyPI 包、官方仓库、许可证和 Python 版本兼容性。
- 精确锁定 SDK,并记录 wire/schema 版本。
- 从生成 schema 和
acp.Agent/acp.Client接口提取方法与类型。 - 建立 methods、capabilities、ContentBlock、SessionUpdate、stop reason、错误和 Client service 矩阵。
- 建立 SDK 驱动的内存/stdio 测试 harness 和 golden fixtures。
- 固化 stdout 污染、包依赖方向和敏感字段护栏。
4. 产物¶
- 依赖与 lockfile 变更。
docs/acp-adapter/capability-matrix.md。tests/acp/基础 harness、fixtures 和协议基线测试。- SDK/schema 版本记录及升级步骤。
5. 门禁¶
- 矩阵覆盖锁定 schema 的所有稳定方法、capability 和联合类型。
- 每个条目都有目标阶段和验收方式,不存在“待以后调查”的空项。
- 测试不依赖网络或真实模型。
- 故意向 stdout 输出非协议文本时测试失败。
- 故意从 runtime 导入
acp时依赖护栏失败。
6. 风险与回滚¶
- 风险:SDK 文档与发布包不一致。缓解:以安装包源码和生成 schema 为准。
- 风险:过早锁定过时版本。缓解:记录选择依据,升级必须做矩阵 diff。
- 回滚:P0 只增加依赖、测试和文档,可独立回退。
7. 实际结果¶
agent-client-protocol==0.12.0已写入pyproject.toml和uv.lock。- 本地确认
acp.PROTOCOL_VERSION == 1,生成 schema 为schema-v1.19.0(见acp.meta)。 - 已建立
docs/acp-adapter/capability-matrix.md。 - 已建立
tests/fixtures/acp/initialize.jsonl和tests/test_acp_p0_baseline.py。 - P0 测试结果:7 passed。
- P0 门禁通过,后续 handler 实现进入 P1。