Skip to content

命令独立输出方式、契约发现与类型化示例,迁移原生发布 - #21

Merged
YKDZ merged 1 commit into
mainfrom
implement/cli-contract-next-round
Nov 9, 2026
Merged

YKDZ merged 1 commit into
mainfrom
implement/cli-contract-next-round

Conversation

@YKDZ

@YKDZ YKDZ commented Nov 9, 2026

Copy link
Copy Markdown
Owner

Summary

每个命令现在声明自己的具名输出方式、结果契约和处理器。调用方用统一的选择参数,并从轻量发现和经过验证的示例取得可执行调用。

defineCli
  命令 → 具名方式 → 原子/流式 + 结构化/文本
  示例 → 正式 argv 解析 → 共享输入验证
parseCliInvocation
  help/version/schema → 无需业务依赖
  应用调用 → --output → 所选方式的验证、编码与显式终态
Changesets
  版本 PR → 构建 → 原生 pack → 同批消费验收 → artifact → OIDC publish

修复递归模式嵌入后的引用语义,公开查询与实际线模式保持同一资源边界。工程基线升级为 Node 26,core/testing 由 fixed 版本组同步发布,删除旧输出模型和自制发布入口。

Evidence

  • Before: 递归载荷独立有效,包装信封后根引用会错误绑定;单方式的错误显式默认值被静默接受;帮助出现非作者提供的自然语言。
    After: 最终集成树 5450d584b8919698090a24fb16b2cf1b1a6d02ce 与已验候选一致。Node 26.13.0 / pnpm 12.9.1 下 check:workspace 23/23、check:full 均 exit 0;原反例与正常对照通过,Standards 和 Spec 必修项复审全部关闭。

  • 原生 Changesets 3.0.3 由唯一 minor changeset 将 core/testing 固定组计算为 0.5.0。非空同批 pack 的完整 product:verify exit 0,覆盖运行时、TS 6/7 独立消费者及示例真实进程。实际 Action 版本 PR、OIDC 发布与 registry 消费将在主分支通过正式发行入口完成。

  • 类型化示例复用正式解析和输入验证,不执行业务 handler;POSIX 展示从最终帮助文本经过真实 shell 往返。发现摘要的下一步 argv 经过现有 CLI 进程回放。

Merge Danger

Door: two-way

合并后的源码可回滚;npm 发布后的版本不可覆写,实际发版在正式版本 PR 和同批制品验收后执行。

Blast Radius: 消费者

旧输出接口及选择入口被移除,最低运行环境升至 Node 26;core/testing 需作为同版本组升级。

@YKDZ
YKDZ merged commit d1d862f into main Nov 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant