Skip to content

v0.2.0 — 增量合规与外部漂移

Latest

Choose a tag to compare

@yuluo554 yuluo554 released this 20 Oct 13:00
· 2 commits to main since this release

http-semantics-mcp v0.2.0

第二轮迭代:只做「增量合规与外部漂移」。判定逻辑与冻结数据零改动——87 条 golden、31 个
规则码、codes.json / rules.py / schemas/tools/*.json 的字节与 v0.1.0 完全相同。

变更

  • 协议版本(D51):SUPPORTED_PROTOCOL_VERSIONS 追加 2025-11-25;DEFAULT_PROTOCOL_VERSION
    仍为 2025-06-18。README 的「Protocol surface」现在写明只支持 legacy 握手——
    modern 客户端(跳过 initialize、每请求带 params._meta)会得到 -32002 Server not initialized,server/discover 得到 -32601。行为是明确定义的错误,不是静默误解析。
  • structuredContent(D52):五个 tool 都发布 outputSchema,而三版规范在 Output Schema
    节都写 Servers MUST provide structured results that conform to this schema。tools/call
    的结果现在同时给出 structuredContent 与 content[0].text,两者反序列化后同值(有测试
    逐字节断言)。错误结果(isError: true)的 structuredContent 是 {"error": {...}}。
  • Python floor 3.8 → 3.12(D53):3.8 已于 2024-10-07 EOL;pytest 9 要求 ≥3.10,
    SPDX license 所需的 setuptools>=77 要求 ≥3.9;ubuntu-latest 自 2026-10-19 起迁
    Ubuntu 26,而 setup-python 的 3.8 清单没有 26.04 构建。CI 矩阵改为
    {ubuntu-latest, windows-latest} × {3.12},actions 升到 checkout@v7 / setup-python@v7
    (消掉 Node.js 20 弃用注解)。
  • license 元数据:license = "MIT"(SPDX 表达式),删掉已弃用的 License :: classifier,
    build-system 抬到 setuptools>=77。wheel 元数据现在是 License-Expression: MIT,
    构建无 license 弃用告警。
  • 发布门名副其实(D54):scripts/check_release.py --online 的 attachments 检查过去只
    比对附件名——把留档里的 sha256 改成 64 个 0 仍然是 10 PASS。现在逐名比对
    gh release view --json assets 的 digest 值;gh 太旧没有该字段时报
    EnvironmentMissing(退出 3),不静默 PASS。

未改

  • 协议握手状态机(不做 dual-era)、judgement/** 的判定语义、错误码集合、
    data/README.md §4 的任何取值/排序/字段集合口径。
  • 运行时依赖仍为 0(dependencies = [])。

相对 v0.1.0

v0.1.0 v0.2.0
Python floor / CI 矩阵 >=3.8,{ubuntu, windows} × {3.8, 3.12} >=3.12,{ubuntu-latest, windows-latest} × {3.12}
协议版本集合 2025-06-18 / 2025-03-26 / 2024-11-05 追加 2025-11-25(DEFAULT 不变)
tools/call 信封 content + isError 再加 structuredContent
测试 379 397
冻结数据 87 golden / 31 code 完全不变

v0.1.0 的 tag 与 Release 保持不动:它的附件里 README 仍是 M5 版(写着「本仓没有远端」),
这一差异登记在仓库 plan/RELEASE-M6.md 的「tag 后追加事实」栏。本次 v0.2.0 的附件
是修正后的自述。

附件校验

ce2531bd8f28603477816ef313195c4537ba6c35308d9ed9e837dd66425898e2  http-semantics-mcp-0.2.0.tar.gz

SHA256SUMS:

sha256: ce2531bd8f28603477816ef313195c4537ba6c35308d9ed9e837dd66425898e2  http-semantics-mcp-0.2.0.tar.gz

复验:

gh release download v0.2.0 --repo yuluo554/http-semantics-mcp
sha256sum -c SHA256SUMS          # → http-semantics-mcp-0.2.0.tar.gz: OK
tar xzf http-semantics-mcp-0.2.0.tar.gz && cd http-semantics-mcp-0.2.0
python -m http_semantics_mcp --version    # 0.2.0
python -m http_semantics_mcp --selftest   # 6 passed / 0 failed
python tools/run_gates.py                 # 8 gate(s), 0 failing
python -m pytest -q                       # 397 passed

附件由 git archive --format=tar --prefix=http-semantics-mcp-0.2.0/ v0.2.0 | gzip -9n 生成,
可从 tag 逐字节重建。

CI

  • main push 0bb3add → run 39426515196 success(ubuntu + windows 两腿)
  • v0.2.0 tag push → run 39426524638 success(两腿)

决策留档

plan/06-交付对标与决策记录.md 的 D51–D55;发布留档 plan/RELEASE-M6.md。