Skip to content

refactor(test): 收口 Profile 契约与发行门禁 - #12

Closed
z7ping wants to merge 21 commits into
mainfrom
chore/release-test-governance
Closed

z7ping wants to merge 21 commits into
mainfrom
chore/release-test-governance

Conversation

@z7ping

@z7ping z7ping commented Aug 29, 2026 •

Copy link
Copy Markdown
Owner

背景

alpha.2 连续出现过多次“架构已迁移、测试/烟测仍绑定旧 Loader 名称”的假失败。根因不是测试数量不足,而是同一份正式装配规则散落在 CI YAML、bootstrap、发行烟测等多个位置。

本 PR 做什么

  • 新增 scripts/profile-contract.mjs,集中处理正式 Profile / Bundle 的稳定不变量。
  • Narratica Loader 集合不再维护第二份 expected 列表,直接从正式 packages/bundle/narratica/cordis.patch.yml 推导。
  • 保留 DSH Host Loader、唯一 Narratica Client Loader、禁止旧 Client Loader 等真正稳定的外部契约。
  • scripts/bootstrap-profile.mjs 与 scripts/release/smoke-release.mjs 复用同一契约;发行烟测额外保持“Profile 顶层只能安装 @narratica/narratica”的严格要求。
  • CI Workflow 删除 Narratica Bundle / Loader 的内联 Node 与 grep 名单,只负责调用统一校验脚本。
  • 模式一 Story Repository / Skill Provider 探针下沉到独立脚本,Workflow 不再维护实现字符串。
  • 增加架构治理测试,防止旧 Client Loader 规则重新散落回 CI / smoke。
  • 正式 Bundle patch、Profile 契约或 DSH 基线变化都自动触发发行打包预检。

验证结果

最终 HEAD 9e1f16b53c03783c34e8f73bcbc3adb370ce6e2c 已通过:

  • 完整 CI:架构、生命周期、Story/Skill、模式一/二/三全部成功。
  • DSH Profile:统一装配契约、模式一探针、真实 Web 启动全部成功。
  • 发行打包预检:真实 tarball、npm dry-run、单入口 Profile + DSH Web 烟测全部成功。

关闭原因

代码与门禁均已通过;仅因 GitHub 连接器的 Draft → Ready GraphQL 操作出现 fullDatabaseId 字段兼容错误,无法把本 Draft PR 转为 Ready。关闭本 PR,并以完全相同的已验证 HEAD重新创建非 Draft PR 继续合并,不改变任何代码。

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