Skip to content

ADR-0087 P3: MCP upgrade surface + RC rehearsal discipline #2648

Closed as not planned
Closed as not planned

Description

@os-zhuang

Part of #2643 (ADR-0087). The AI-native consumption channel for the D4 artifacts, plus the rehearsal topology (D6). Deferred behind P0–P2 and evidence-gated per the ADR (built when there are enough external consumers to justify the surface).

Depends on P2 (the MCP tools serve the change manifest + migration set).

Scope

D4 — MCP upgrade tools (@objectstack/mcp)

  • spec_changes(from, to) — any version pair, folded across majors from the composable per-major spec-changes.json.
  • spec_deprecations(stackPath) — which conversions my metadata currently triggers.
  • spec_migrate(dryRun) — preview / apply the chain.

A consumer-side agent asks "what breaks me between 10 and 14?" and gets data, not documentation.

D6 — RC rehearsal (topology inverts)

  • Every major is published to the next dist-tag at least one RC cycle before latest.
  • Document the consumer-pull model: a consumer-side agent subscribes to the RC, runs its own validate && typecheck && test (the P0 handshake → P1/P2 migrate → verify loop) in a branch, and opens its own migration PR. The framework only publishes the RC + D4 artifacts — it never executes other repos' CI.
  • The pre-publish hotcrm smoke stays (release-blocking, unchanged) as the framework-side floor. A framework-side "community smoke ring" is explicitly rejected (wrong direction — don't scale framework-side execution when consumers can execute themselves).

Acceptance criteria

  • The three MCP tools answer from spec-changes.json for an arbitrary from/to pair spanning multiple majors, with no separate documentation lookup.
  • A documented, reproducible RC-consumer loop exists (an agent can rehearse an upgrade against next before latest).
  • The Release workflow publishes next before latest for a major; hotcrm smoke remains the only release-blocking external gate.

Boundaries

  • The consumer-side autonomous-upgrade agent itself is out of scope (consumers / ADR-0033 toolchain own it); P3 makes it possible by exposing the surface.
  • Evidence gate: build the MCP tools + RC step when external-consumer demand justifies the operational surface (ADR-0087 §Boundaries, like ADR-0054 Phase 3).

Refs: #2643, ADR-0087 (D4 tools, D6), ADR-0025, ADR-0033.

Activity

  1. added theissue type on Jul 5, 2026
  2. os-zhuang commented on Jul 15, 2026

    @os-zhuang
    ContributorAuthor

    状态更正:此前被关闭为 completed 不准确——代码中并不存在 spec_changes / spec_deprecations / spec_migrate 三个 MCP 工具,release workflow 也没有 next dist-tag 步骤;#2897 明确将 P3 标记为 deferred。

    现改为 closed as not planned(deferred, evidence-gated),与 ADR-0087 §Boundaries 一致:待外部消费者规模证明运营面值得时再重开实施。届时的数据源已就绪——#2972 落地的 spec-changes.json(随 npm 包发布并附加到 GitHub Release)就是这三个 MCP 工具未来的投影来源。ADR 的 as-built Addendum(#2972)中有对应记录。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions