oh-my-muse/docs/mvp/1.0.0-真验证清单.md
lili 3585219637
Some checks failed
Backend Maven CI / backend-local (push) Has been cancelled
feat(mvp): 收束1.0.0线A交付闭环
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 10:52:10 -07:00

26 KiB
Raw Blame History

Muse 1.0.0 真验证清单

版本v1.02026-06-27E0 消假绿地基) 作用:给 E1-E7 的 done 判据提供统一口径。本文只记录“什么证据算真验证、如何复跑、哪些只算台账/跳过/mock”不记录功能进度流水。


1. 结论

  1. 默认 CI 只证明纯本地层mvn -B package --file pom.xml 能跑单测、ArchUnit、契约结构和 coverage 台账门,但不证明真实 PostgreSQL / RAGFlow / New-API 链路。
  2. P1r*RealApiGateTest 是台账门禁:它们只读 docs/superpowers/reports/p1r-api-coverage.json,防止 coverage 回退;不打 HTTP、不连 DB、不调用外部服务不得计入业务真验证。
  3. P1r*IT 才是后端真验证主体:其中 real-PG 层会 flyway.clean() 指定 _testexternal-live 层还会真实调用 New-API/RAGFlow必须显式 opt-in。
  4. live 默认跳过不是绿证:未设置 MUSE_P1R_EXTERNAL_ACCEPTANCE=truelive IT 通过 assumeTrue 跳过,应在交付记录中标为 SKIPPED,不能标为 PASSED

2. 分层口径

层级 证据类型 命令入口 计入 1.0.0 真 done
local-ci 普通单测、ArchUnit、契约结构、coverage/RealApiGate 台账门 根 workflow .github/workflows/maven.ymlbash muse-cloud/scripts/run-p1r-verification.sh local 只能证明本地静态/单测门,不证明业务闭环
real-pg 非 live 的 P1r*ITMockMvc/真实 mapper/真实 PostgreSQL _test bash muse-cloud/scripts/run-p1r-verification.sh real-pg 可计入后端真验证
external-live New-API / RAGFlow / 端到端 runtime live IT bash muse-cloud/scripts/run-p1r-verification.sh external-live 可计入外部链路真验证
frontend-e2e MSW-off Playwright 真后端/真 DB 旅程 各前端现有 Playwright 命令 可计入用户可达闭环
mock-only Mockito/Vitest/MSW/mock 数据 各模块单测 只能证明局部逻辑,不计入上线闭环
skipped assumeTrue 或环境缺失导致跳过 测试报告中 skipped 不计入通过

3. 一键复跑

纯本地层

bash muse-cloud/scripts/run-p1r-verification.sh local

该层不读取凭据、不连接 PG/Redis/RAGFlow/New-API。

real-PG 层

set -a && . "$HOME/.config/muse-repo/infra.env" && set +a
P1R_FLYWAY_URL='jdbc:postgresql://100.64.0.8:5433/<专属_test库>' \
P1R_FLYWAY_USER='root' \
  bash muse-cloud/scripts/run-p1r-verification.sh real-pg

硬闸:

  • P1R_FLYWAY_URL 的真实 database name 必须以 _test 结尾。
  • 目标 _test 库必须经人类 DDL 闸门预建;脚本只做存在性预检,不自动 CREATE DATABASE
  • JDBC URL 不得携带 password / token / secret / api-key 等 query。
  • 密码只走 P1R_FLYWAY_PASSWORDMUSE_POSTGRES_PASSWORD 环境变量。
  • 批量 IT 必须 -DreuseForks=false,避免脱敏后的 p1r.flyway.url 污染同 JVM 后续测试。

external-live 层

set -a
. "$HOME/.config/muse-repo/infra.env"
. "muse-cloud/scripts/dev/p1r-external-acceptance.env"
set +a
export MUSE_P1R_EXTERNAL_ACCEPTANCE=true
P1R_FLYWAY_URL='jdbc:postgresql://100.64.0.8:5433/muse_p1r_live_test' \
P1R_FLYWAY_USER='root' \
  bash muse-cloud/scripts/run-p1r-verification.sh external-live

该层会真实调用 New-API/RAGFlow。脚本会清 JVM SOCKS/HTTP/HTTPS 代理,避免把 tailnet 外部依赖误判为 502/不可用。


4. 当前基线

已验证事实(来自代码/配置只读核验):

  • 根 Maven CI 已接在 .github/workflows/maven.yml,默认只跑本地层。
  • 子目录 muse-cloud/.github/workflows/maven.yml 已移除,避免远端不扫描造成假绿。
  • 7 个 P1r*RealApiGateTest 全部只读 coverage JSON。
  • 仓内有 51 个 P1r*IT.java,其中 5 类 live 入口需要显式 MUSE_P1R_EXTERNAL_ACCEPTANCE=true

E0 fresh 基线2026-06-26 本轮实跑):

  • bash muse-cloud/scripts/run-p1r-verification.sh local61 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS
  • 根 CI 等价命令 mvn -B package --file pom.xml(工作目录 muse-cloud3060 tests / 0 failures / 0 errors / 148 skippedBUILD SUCCESS
  • bash muse-cloud/scripts/run-p1r-verification.sh real-pg(真实 PostgreSQL _testlive IT 显式排除189 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS,耗时 09:24。
  • bash muse-cloud/scripts/run-p1r-verification.sh external-liveserver live 8 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS,耗时 02:12module live 4 tests / 0 failures / 0 errors / 1 skippedBUILD SUCCESS,耗时 12.395s。1 个 skip 为 GraphRAG attribution 未配置New-API、RAGFlow health/upload/parse/chunks/retrieval、AI runtime、knowledge runtime、market KB fork 物化主链路均 fresh 通过。
  • 脚本错误路径已验:缺 P1R_FLYWAY_URL、非 _test 库、JDBC URL 携带敏感 query、缺目标 _test 库、external-live 未 opt-in 均在 Maven 前失败。

live 边界:

  • GraphRAG attribution 仍因开关未启用而跳过,不能标为 passed。
  • E1-E7 若修改 live 相关链路,必须按 external-live 层重新提供 fresh 证据;本条只作为 E0 基线。

1.0.0 RC fresh 总验2026-06-27本轮实跑

  • localbash muse-cloud/scripts/run-p1r-verification.sh local61 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS。本轮同步修正 P1r*RealApiGateTest 台账边界到 coverage 241/241 completed,仍只作为 coverage 门禁,不计业务真跑。
  • local-ci/package:根 CI 等价命令 mvn -B package --file pom.xml(工作目录 muse-cloud首次暴露契约登记表滞后OpenAPI 241 个操作,MuseApiContractSupport 只登记 233 个,缺 update/archive/list/activate/archive agent versionslot unbindblock revisionsknowledge retrieval 等 8 个入口;补齐后 MuseApiContractSupportTest 4 tests / 0 failures / 0 errors / 0 skipped最终根 package 61 个 reactor 模块全 SUCCESSBUILD SUCCESS
  • real-pgbash muse-cloud/scripts/run-p1r-verification.sh real-pg,真实 PostgreSQL _testmuse_p1r_100_release_test47 份 fresh surefire 报告 / 194 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS。先前同轮暴露的 1F/2E 已修market 召回断言从旧 TARGET_OWNER_UNAVAILABLE 对齐为当前来源状态事件发布语义content 两个 IT 补齐测试上下文依赖;修后 targeted 6/0再全量 194/0。
  • external-livebash muse-cloud/scripts/run-p1r-verification.sh external-live,真实 New-API/RAGFlow + _testserver live 8 tests / 0 failures / 0 errors / 0 skippedmodule live 4 tests / 0 failures / 0 errors / 1 skippedBUILD SUCCESS。真跑证据覆盖 New-API completion、AI runtime 写 usage/quota/attribution、RAGFlow health/upload/parse/chunks/retrieval、Knowledge runtime、Market KB D0-fork 物化与 after-commit唯一 skip 为 GraphRAG attribution 独立 opt-in 未配置,不计为 passed。
  • 反假绿补记:手工直跑 server IT 时必须让 surefire forked JVM 收到 p1r.flyway.* 与代理清理参数;优先使用脚本。改过 module 后跑 server IT 需 -am 或先 mvn install,否则会拿旧 jar 产生 stale-jar 假红。
  • frontend-local Studio./node_modules/.bin/tsc -b --force 通过;./node_modules/.bin/eslint . 0 errors / 1 warning既有 public/mockServiceWorker.js unused eslint-disable./node_modules/.bin/vitest run 27 files / 119 tests passed。首次 Vitest 红在 useAgents.test.tsx 固定断言旧 total=3E4 后真实 fixture 增加“已安装市场智能体”,已改为按列表长度与关键项断言。
  • frontend-local Adminpnpm -F @vben/web-antd run typecheck 通过;pnpm test:unit 50 files / 347 tests passed。当前 Node v26.3.0 超出 package engines 推荐范围(^20.19.0 || ^22.18.0 || ^24.0.0),但本轮测试通过;已补 vitest.setup.ts 桥接 localStorage/sessionStorageglobalThis,避免 Node v26 下 happy-dom 测试假红。
  • frontend-e2e StudioMSW-off 全量 Playwright ./node_modules/.bin/playwright test61 tests = 60 passed / 1 skipped / 0 failed耗时约 1.4m,真实 muse-server 48080 + 共享 muse_slice_live + New-API/RAGFlow。首次全量红 5 项3 项账户额度不足、1 项 AI Agent 不存在、1 项知识库状态定位器 strict-mode 歧义;修复为 Playwright global setup 每轮复位 user1 ai_calls、隔离 agent-slot-bind 到 work2 并刷新作品列表可见性、恢复 work1 AI 主链槽位、收窄知识库卡片定位。跳过项为 market-install-kb-retrieval.spec.ts D0-fork UI 物化用例 test.fixme,不计为 passed。
  • frontend-e2e 反假绿补记:全量 Playwright 曾暴露 KnowledgePage 自建/已安装 KB kbId 重复导致 React key warning已改用 source/installId/kbId 复合 key。该修复不放宽断言只消除渲染层隐患。

E1 fresh 切片证据2026-06-27本轮实跑

  • 功能链路Content 采纳 AI suggestion 时同步调用 AI owneraccepted 状态、accepted decision archive、AI command 与 business auditStudio 支持“改后合并”提交 finalContentIndexedDB 草稿键改为 workId+blockId+revisionContent 正文变更后通过 Knowledge owner API 将关联 pending draft 标为 conflicted/needs_recheck 并写 Knowledge draft decision archive工作台补知识/导入/导出/记录最小入口;保存/采纳后写 muse_content_block_revision_snapshotStudio 历史 Tab 只读展示 Canonical revision 快照。
  • mock-only 局部单测:ContentSourceServiceTest 25 tests / 0 failures / 0 errorsContentAppServiceTest 19 tests / 0 failures / 0 errorsMuseKnowledgeDraftInvalidationServiceTest 3 tests / 0 failures / 0 errorsAiSuggestionMergeProjectionFacadeTest 7 tests / 0 failures / 0 errorsBUILD SUCCESS
  • local-ci 契约/覆盖门:ContractFirstGateTest 4 tests / 0 failures / 0 errorsP1rApiCoverageReportTest 8 tests / 0 failures / 0 errorscoverage JSON 已把 listBlockRevisions 纳入 completed/testFiles。
  • real-pg 后端切片:P1rContentCoreCompletedApprovalIT 13 tests / 0 failures / 0 errors / 0 skippedP1rContentMergeSuggestionIT 5 tests / 0 failures / 0 errors / 0 skippedP1rContentMergeGeneratedSuggestionIT 1 test / 0 failures / 0 errors / 0 skippedBUILD SUCCESS。运行使用真实 PostgreSQL _test 库,限定 P1R_REAL_PG_TESTS='P1rContentCoreCompletedApprovalIT,P1rContentMergeSuggestionIT,P1rContentMergeGeneratedSuggestionIT'
  • 前端静态/局部验证:tsc -b --force 通过;npm run lint 0 errors仅既有 public/mockServiceWorker.js unused eslint-disable warningVitest 3 files / 12 tests passed补跑 AIPanel.contract.test.tsx + sse.test.ts 2 files / 22 tests passed覆盖 done 无 chunk 时回源读取 suggestion detail 的真实红点。
  • frontend-e2e 活体验证:accept-suggestion.spec.ts 2 tests / 0 failures / 0 errorsMSW-off真实 muse-server 48080 + 共享 muse_slice_live + 真 New-API/RAGFlow 配置)。正路证据:真生成 suggestionId=79authz=rpe-local-*Block revision 160→161sourceAttribution.lineage.parentSuggestionId 指向本轮真生成候选AI owner 归档 accepted 且 decision archive 非空;负路 stale expectedBlockRevision 返回业务冲突。
  • 边界:本轮只跑 Studio accept-suggestion 黄金旅程,没有重跑 studio 全量 56 e2emuse-studio/src/types/content.ts 生成类型未同步,新版本 openapi-typescript 会带出大量历史 string/number 与 version/revision 机械漂移,本轮仅在 hook 内维护 BlockRevision 最小类型。

E2 fresh 切片证据2026-06-27本轮实跑

  • 功能链路:用户自建 Agent 支持创建初始版本、编辑生成新 active version、版本列表/激活/归档非当前版本、归档 Agent作品槽位支持真实 unbindStudio “放弃修改”从本地清 UI 改为调用 AI owner reject 写 decision archive。
  • local-ci 后端切片:MuseAgentServiceTest + MuseAgentSlotServiceTest + AppMuseAgentControllerAnnotationTest + AppMuseAgentSlotControllerAnnotationTest 共 63 tests / 0 failures / 0 errorsBUILD SUCCESS
  • local-ci 契约门:ContractFirstGateTest 4 tests / 0 failures / 0 errorsAI OpenAPI 已补 update/archive Agent、versions list/activate/archive、slot unbind 契约。
  • 前端静态/局部验证:tsc -b --force 通过;目标 ESLintE2 e2e + global-setup0 errorsVitest useAgents.test.tsx + AIPanel.contract.test.tsx + sse.test.ts 3 files / 29 tests passed。
  • 启动修红:最新 muse-server clean package 后首次启动红在 muse.codegen.importEnable 缺省;已在 muse-server/src/main/resources/application.yamlimport-enable: false,随后 muse-server 重新 BUILD SUCCESS 并在 48080 启动成功,真 HTTP /app-api/muse/agents smoke 返回 code=0
  • frontend-e2e 活体验证:agent-create.spec.ts + agent-slot-bind.spec.ts + accept-suggestion.spec.ts 共 5 tests / 0 failures / 0 errorsMSW-off真实 muse-server 48080 + 共享 muse_slice_live + 真 New-API/RAGFlow 配置)。证据:采纳真生成 suggestionId=80、authz=rpe-local-*、Block revision 161→162 且 AI owner accepted decision archive 非空;拒绝真生成 suggestionId=81 后 status=rejected 且 decision archive 非空Agent 生命周期 DB 核验 current_version_id v1/v2 切换与 v2 archivedSlot unbind DB 核验 revision 2→3、status=archived、响应 sourceStatus=unbound
  • 边界:质量评测执行器仍未落地,明确不计入 1.0.0 线 A done后置线 B本轮没有重跑 studio 全量 e2e只跑 E2 相关真后端切片。

E3 fresh 切片证据2026-06-27本轮实跑

  • 功能链路Studio 知识页新增主动检索面板,用户可对作品已绑定知识来源发起真实检索;无 dataset 时返回用户可见治理提示自建知识库资料上传走真实后端并在列表读回market KB handoff 兑现后可进入作品知识绑定链路AI 生成链路真实消费 Knowledge Source 检索上下文。
  • local-ci 后端切片:MuseKnowledgeRetrievalAppServiceTestAppMuseKnowledgeRetrievalControllerTestMuseKnowledgeRetrievalApiImplTestAppMuseKnowledgeBindingControllerTestAppMuseKnowledgeDocumentControllerTest 共 25 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS
  • local-ci 契约/迁移门:P1rKnowledgeMigrationSqlTestContractFirstGateTestP1rApiCoverageReportTest 共 21 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESScoverage JSON 当前 241/241 completed。V33 allow_market_kb_precheck_without_local_kb 已落 livemuse_knowledge_bind_precheck.kb_id 为 nullable修正 market_kb 预检阶段尚未物化本地 KB 时的 schema 漂移。
  • 前端静态/局部验证Knowledge 相关 Vitest 4 files / 19 tests passed目标 ESLint 0 errorstsc -b --force 通过。useKnowledge 已把真实后端返回的 numeric documentId/kbId 归一为前端字符串,避免上传后列表被类型守卫过滤。
  • frontend-e2e 活体验证一:knowledge-retrieval.spec.ts + knowledge-bindings.spec.ts + handoff-knowledge.spec.ts + market-handoff-precheck.spec.ts 共 6 tests / 0 failures / 0 errorsMSW-off真实 muse-server 48080 + 共享 muse_slice_live + RAGFlow/New-API 配置)。覆盖 market KB handoff 正/负路、绑定投影读回、no_dataset 治理提示、上传真落库读回、市场授权预检。
  • frontend-e2e 活体验证二:ai-generation.spec.ts 1 test / 0 failures / 0 errorsMSW-off真 New-API 生成 suggestionId=82。用例反查 muse_ai_generation.source_summary->contextAssembly,确认 chunkCount>0retrievedKbIdsauthorizationSnapshotIds 非空,证明 Knowledge Source 被 AI 生成真实消费。
  • 边界:本轮只跑 E3 相关 Studio e2e 与 AI 生成 Source 消费切片,没有重跑 studio 全量 56知识图谱/发布深面仍按后续模块进度推进;已物化 KB 的召回触达归 E4。

E4 fresh 切片证据2026-06-27本轮实跑

  • 功能链路market agent handoff 由 AI 后端按 market asset 解析发布者 agent并物化为安装者本地 user agent 后绑定作品槽位;该槽位可真实创建 AI task 并完成 New-API runtime。market KB 召回由 Market 发布来源状态事件Knowledge AFTER_COMMIT 消费后把已物化 installed_ref KB projection 置 recalled/blocked,作品检索返回 omittedSources,不再检索该 KB。市场详情页渲染来源引用、当前授权、治理状态三类可信信息。
  • local-ci 后端切片:MuseAgentSlotServiceTestAdminMarketGovernanceServiceTestMuseKnowledgeSourceEventServiceTestKnowledgeMarketSourceStatusChangedConsumerTest 共 50 tests / 0 failures / 0 errorsBUILD SUCCESS
  • local-ci 契约/覆盖门:ContractFirstGateTest 4 tests / 0 failures / 0 errorsP1rApiCoverageReportTest 8 tests / 0 failures / 0 errorsAI OpenAPI 已收敛 market agent precheck/bind 不再要求客户端提交 sourceAgentId/sourceAgentVersion
  • 前端静态/局部验证:npx tsc -b 通过;npm run lint 0 errors仅既有 public/mockServiceWorker.js unused eslint-disable warningVitest useMarket.test.tsx + AgentHandoffLanding.test.tsx 2 files / 11 tests passed。
  • frontend-e2e 活体验证一:handoff-agent.spec.ts + market-asset-detail.spec.ts + market-kb-recall.spec.ts 共 4 tests / 0 failures / 0 errorsMSW-off真实 muse-server 48080 + 共享 muse_slice_live + New-API/RAGFlow 配置)。覆盖 agent 物化、本地槽位 runtime 完成态、伪造 token 拒绝、可信信息面板渲染、KB 召回传播到 Knowledge projection 并在检索中省略。
  • frontend-e2e 活体验证二:market-governance-impact.spec.ts + market-handoff-precheck.spec.ts 共 2 tests / 0 failures / 0 errorsMSW-off真实后端。覆盖治理影响读面与 market 来源侧授权预检回归。
  • 边界:本轮未重跑 Studio 全量 56 e2emarket KB 副本资源回收、下架/撤权更细粒度补偿仍后置线 B测试夹具会在 Playwright global setup 或新用例 finally 中复位被召回的 handoff KB 资产,避免污染后续 e2e。

E5 fresh 切片证据2026-06-27本轮实跑

  • 功能链路AI 生成入口先经 Account owner 预占配额;生成成功后写 muse_member_usage_record 并累加 quota used生成失败终态释放预占用量 attribution worker 消费 queued job 写 attribution itemquota request worker 调 New-API 管理口并把 request/integration call 推进到终态。
  • local-ci 后端切片:MuseAiTaskServiceTestMuseAiRuntimeProjectionServiceTestAccountUsageServiceTestAccountQuotaServiceTestAccountAttributionServiceTestAccountNewApiBindingServiceTestMuseAccountUsageApiImplTestNewApiAccountFacadeConfigurationTestRealNewApiAccountFacadeTest 共 120 tests / 0 failures / 0 errorsBUILD SUCCESS
  • real-pg account 切片:P1rAccountQuotaRequestCompletedApprovalIT 5 tests / 0 failures / 0 errors / 0 skippedP1rAccountAdminWritesCompletedApprovalIT 3 tests / 0 failures / 0 errors / 0 skippedP1rAccountNewApiBindingClusterCompletedApprovalIT 4 tests / 0 failures / 0 errors / 0 skippedP1rAccountUsageObservabilityCompletedApprovalIT 4 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS。运行库为真实 PostgreSQL _testmuse_p1r_account_e5_test
  • external-live New-API 管理口:RealNewApiAccountFacadeLiveAcceptanceIT 显式 opt-in 1 test / 0 failures / 0 errors / 0 skippedBUILD SUCCESS;证据只输出 endpoint、newApiUserId 哈希前缀、quotaApplied=100000000、binding/quota external call 布尔值,不输出凭据。未 opt-in 的默认运行是 honest skipped不计为 live passed。
  • external-live AI→Account 串联:P1rAiRuntimeEndToEndLiveAcceptanceIT 3 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS。反查 accountUsageRecordCount=1accountQuotaUsedAmount=1、reserve audit 1、release audit 0、usage total tokens 550attribution processedCount 1、jobStatus completed、itemStatus completed、attributionType work。
  • local-ci 构建兜底:mvn -pl muse-module-ai/muse-module-ai-server,muse-module-member/muse-module-member-server,muse-server -am -DskipTests test-compile 通过。
  • 边界quota request worker 仍默认 disabled生产启用需显式配置 muse.account.events.quota-request-worker.enabled=true;本轮 New-API live 创建/刷新专用测试用户,未输出或落库任何凭据;未重跑 Studio/Admin 前端 e2eE6 将继续 admin 权限与 AI 配置接线。

E6 fresh 切片证据2026-06-27本轮实跑

  • 功能链路Muse 管理端账号页新增 system 管理员权限 Tab可读取 system 管理员、角色、用户角色并提交角色分配/启停用system 后端在可信边界拒绝自禁用、自改角色。AI 配置页 Prompt 激活、质量评估启动、质量策略版本创建改为调用真实 admin API最近评估只展示本页真实提交返回不展示硬编码评分。Market 管理端申诉 restored 分支经真实 PG IT 覆盖,恢复会消费治理预览、重新上架资产并写 restore governance action。
  • local-ci 后端切片:AdminUserServiceImplTest 36 tests / 0 failures / 0 errors / 0 skippedPermissionServiceTest 25 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS
  • frontend-local Admin 账号治理:npx -y pnpm@10.33.0 --dir muse-admin test:unit -- --run apps/web-antd/src/views/muse/__tests__/governance-pages.test.ts 触发根 Vitest50 test files / 345 tests passed。
  • frontend-local Admin AI 配置:npx -y pnpm@10.33.0 --dir muse-admin test:unit -- --run apps/web-antd/src/views/muse/ai/__tests__/index.test.ts 触发根 Vitest50 test files / 347 tests passednpx -y pnpm@10.33.0 --dir muse-admin --filter @vben/web-antd typecheck 通过。
  • real-pg market restore 切片:P1rMarketAdminAppealCompletedApprovalIT 7 tests / 0 failures / 0 errors / 0 skipped运行库为真实 PostgreSQL _testmuse_p1r_market_admin_appeal_test。断言 restored 分支 preview status=consumed、preview revision=2、asset listing/status=listed、governance action type=restore、command/event 幂等各 1 条、事件/动作快照包含 impactPreviewId
  • local-ci 构建兜底:mvn -pl muse-module-system/muse-module-system-server,muse-server -am -DskipTests test-compile 通过。
  • 边界account 业务账号 status/role/group 写契约仍不存在,账号页继续明确提示“不伪造未定义 account 写接口”system 角色菜单/数据范围仍沿用 Yudao 既有页面和权限模型;本轮未跑 Admin Playwright e2eAI Agent/Tool Grant 等未接后端的命令仍保持 preview-only不计为真写。

E7 fresh 切片证据2026-06-27本轮实跑

  • 功能链路Content 动态字段预校验从 Meta active projection 读取字段定义/校验规则/废弃信息,执行 required、类型、enum、数值/文本范围、regex/pattern、deprecated、unknown field 校验,并返回 stale 标记、当前版本、dataRevision 和 write route。Admin MetaSchema 新建草稿在 schemaKey 不存在时创建默认 content/work/work 根对象治理状态机走草稿→校验→预览→发布→激活→v2 发布→回滚,真实写 command/audit/validation/preview/version 状态。
  • local-ci 后端切片:MetaProjectionQueryApiImplTest 4 tests / 0 failures / 0 errors / 0 skippedMetaSchemaServiceTest 50 tests / 0 failures / 0 errors / 0 skippedRealContentMetaFacadeTest 8 tests / 0 failures / 0 errors / 0 skippedContentMetaProjectionServiceTest 7 tests / 0 failures / 0 errors / 0 skippedBUILD SUCCESS
  • real-pg Content/Meta 投影校验:P1rContentMetaProjectionClusterCompletedApprovalIT 4 tests / 0 failures / 0 errors / 0 skipped运行真实 PostgreSQL _test 库,走真实 /app-api/muse/works/{workId}/dynamic-fields/validate。断言无 schema 时 fail-closed绑定 active schema 后 regex/enum/range/deprecated/unknown field 错误命中routeSuggestions 指向 Content planning owner 命令,全程不写 Content fact。
  • real-pg Admin Meta 生命周期:P1rMetaAdminSchemaLifecycleCompletedApprovalIT 2 tests / 0 failures / 0 errors / 0 skipped运行真实 PostgreSQL _test 库,走真实 /admin-api/muse/governance/meta-schemas/** + method security。断言新 schema 根对象 domain=content/scope=work/targetType=work/status=draftv1/v2 validation/preview 成功,发布不隐式激活,激活/回滚同步切 active_version_id 与 schema 根 status=active6 条写命令、4 条治理审计、2 条 validation、2 条 preview 真实落库。
  • local-ci 构建兜底:mvn -pl muse-module-meta/muse-module-meta-api,muse-module-meta/muse-module-meta-server,muse-module-content/muse-module-content-server,muse-server -am -DskipTests test-compile 通过;变更范围 git diff --check 通过。
  • 边界Meta production impact preview 仍要求 5 个 owner usage contributor all-real本轮 lifecycle IT 用 5 个 VERIFIED_ZERO 测试 contributor 只证明 Meta admin 状态机和 preview 服务可用,不等价于完成外部 owner 用量投影建模;未跑 Admin Playwright e2eserver IT 前必须先 mvn install 改过的 meta/content 模块,否则会拿旧 jar 产生 stale-jar 假红。

5. E1-E7 使用规则

每个 Epic 收口时必须列出:

字段 要求
功能链路 用一句话描述用户或后端闭环
验证层级 local-ci / real-pg / external-live / frontend-e2e / mock-only / skipped
命令 给出可复跑命令,隐去凭据
结果 tests / failures / errors / skipped不能只写“通过”
边界 明确哪些路径未验、哪些依赖后置

未满足上述信息的完成记录,只能标为“实现候选”或“待真验证”,不得写成 1.0.0 done。