Some checks failed
Backend Maven CI / backend-local (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
26 KiB
26 KiB
Muse 1.0.0 真验证清单
版本:v1.0(2026-06-27,E0 消假绿地基) 作用:给 E1-E7 的 done 判据提供统一口径。本文只记录“什么证据算真验证、如何复跑、哪些只算台账/跳过/mock”,不记录功能进度流水。
1. 结论
- 默认 CI 只证明纯本地层:
mvn -B package --file pom.xml能跑单测、ArchUnit、契约结构和 coverage 台账门,但不证明真实 PostgreSQL / RAGFlow / New-API 链路。 P1r*RealApiGateTest是台账门禁:它们只读docs/superpowers/reports/p1r-api-coverage.json,防止 coverage 回退;不打 HTTP、不连 DB、不调用外部服务,不得计入业务真验证。P1r*IT才是后端真验证主体:其中 real-PG 层会flyway.clean()指定_test库;external-live 层还会真实调用 New-API/RAGFlow,必须显式 opt-in。- live 默认跳过不是绿证:未设置
MUSE_P1R_EXTERNAL_ACCEPTANCE=true时,live IT 通过assumeTrue跳过,应在交付记录中标为SKIPPED,不能标为PASSED。
2. 分层口径
| 层级 | 证据类型 | 命令入口 | 计入 1.0.0 真 done |
|---|---|---|---|
local-ci |
普通单测、ArchUnit、契约结构、coverage/RealApiGate 台账门 | 根 workflow .github/workflows/maven.yml 或 bash muse-cloud/scripts/run-p1r-verification.sh local |
只能证明本地静态/单测门,不证明业务闭环 |
real-pg |
非 live 的 P1r*IT,MockMvc/真实 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_PASSWORD或MUSE_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 local:61 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。- 根 CI 等价命令
mvn -B package --file pom.xml(工作目录muse-cloud):3060 tests / 0 failures / 0 errors / 148 skipped,BUILD SUCCESS。 bash muse-cloud/scripts/run-p1r-verification.sh real-pg(真实 PostgreSQL_test库,live IT 显式排除):189 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS,耗时 09:24。bash muse-cloud/scripts/run-p1r-verification.sh external-live:server live 8 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS,耗时 02:12;module live 4 tests / 0 failures / 0 errors / 1 skipped,BUILD 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,本轮实跑):
local:bash muse-cloud/scripts/run-p1r-verification.sh local,61 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。本轮同步修正P1r*RealApiGateTest台账边界到 coverage241/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 version、slot unbind、block revisions、knowledge retrieval等 8 个入口;补齐后MuseApiContractSupportTest4 tests / 0 failures / 0 errors / 0 skipped,最终根 package 61 个 reactor 模块全 SUCCESS,BUILD SUCCESS。real-pg:bash muse-cloud/scripts/run-p1r-verification.sh real-pg,真实 PostgreSQL_test库muse_p1r_100_release_test,47 份 fresh surefire 报告 / 194 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。先前同轮暴露的 1F/2E 已修:market 召回断言从旧TARGET_OWNER_UNAVAILABLE对齐为当前来源状态事件发布语义;content 两个 IT 补齐测试上下文依赖;修后 targeted 6/0,再全量 194/0。external-live:bash muse-cloud/scripts/run-p1r-verification.sh external-live,真实 New-API/RAGFlow +_test库,server live 8 tests / 0 failures / 0 errors / 0 skipped,module live 4 tests / 0 failures / 0 errors / 1 skipped,BUILD 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-localStudio:./node_modules/.bin/tsc -b --force通过;./node_modules/.bin/eslint .0 errors / 1 warning(既有public/mockServiceWorker.jsunused eslint-disable);./node_modules/.bin/vitest run27 files / 119 tests passed。首次 Vitest 红在useAgents.test.tsx固定断言旧 total=3,E4 后真实 fixture 增加“已安装市场智能体”,已改为按列表长度与关键项断言。frontend-localAdmin:pnpm -F @vben/web-antd run typecheck通过;pnpm test:unit50 files / 347 tests passed。当前 Node v26.3.0 超出 package engines 推荐范围(^20.19.0 || ^22.18.0 || ^24.0.0),但本轮测试通过;已补vitest.setup.ts桥接localStorage/sessionStorage到globalThis,避免 Node v26 下 happy-dom 测试假红。frontend-e2eStudio:MSW-off 全量 Playwright./node_modules/.bin/playwright test,61 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 每轮复位 user1ai_calls、隔离agent-slot-bind到 work2 并刷新作品列表可见性、恢复 work1 AI 主链槽位、收窄知识库卡片定位。跳过项为market-install-kb-retrieval.spec.tsD0-fork UI 物化用例test.fixme,不计为 passed。frontend-e2e反假绿补记:全量 Playwright 曾暴露KnowledgePage自建/已安装 KBkbId重复导致 React key warning;已改用source/installId/kbId复合 key。该修复不放宽断言,只消除渲染层隐患。
E1 fresh 切片证据(2026-06-27,本轮实跑):
- 功能链路:Content 采纳 AI suggestion 时同步调用 AI owner,写
accepted状态、accepted decision archive、AI command 与 business audit;Studio 支持“改后合并”提交finalContent;IndexedDB 草稿键改为workId+blockId+revision;Content 正文变更后通过 Knowledge owner API 将关联 pending draft 标为conflicted/needs_recheck并写 Knowledge draft decision archive;工作台补知识/导入/导出/记录最小入口;保存/采纳后写muse_content_block_revision_snapshot,Studio 历史 Tab 只读展示 Canonical revision 快照。 mock-only局部单测:ContentSourceServiceTest25 tests / 0 failures / 0 errors,ContentAppServiceTest19 tests / 0 failures / 0 errors,MuseKnowledgeDraftInvalidationServiceTest3 tests / 0 failures / 0 errors,AiSuggestionMergeProjectionFacadeTest7 tests / 0 failures / 0 errors,BUILD SUCCESS。local-ci契约/覆盖门:ContractFirstGateTest4 tests / 0 failures / 0 errors;P1rApiCoverageReportTest8 tests / 0 failures / 0 errors;coverage JSON 已把listBlockRevisions纳入 completed/testFiles。real-pg后端切片:P1rContentCoreCompletedApprovalIT13 tests / 0 failures / 0 errors / 0 skipped,P1rContentMergeSuggestionIT5 tests / 0 failures / 0 errors / 0 skipped,P1rContentMergeGeneratedSuggestionIT1 test / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。运行使用真实 PostgreSQL_test库,限定P1R_REAL_PG_TESTS='P1rContentCoreCompletedApprovalIT,P1rContentMergeSuggestionIT,P1rContentMergeGeneratedSuggestionIT'。- 前端静态/局部验证:
tsc -b --force通过;npm run lint0 errors(仅既有public/mockServiceWorker.jsunused eslint-disable warning);Vitest 3 files / 12 tests passed;补跑AIPanel.contract.test.tsx+sse.test.ts2 files / 22 tests passed,覆盖 done 无 chunk 时回源读取 suggestion detail 的真实红点。 frontend-e2e活体验证:accept-suggestion.spec.ts2 tests / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享muse_slice_live+ 真 New-API/RAGFlow 配置)。正路证据:真生成 suggestionId=79,authz=rpe-local-*,Block revision 160→161,sourceAttribution.lineage.parentSuggestionId指向本轮真生成候选,AI owner 归档accepted且 decision archive 非空;负路 staleexpectedBlockRevision返回业务冲突。- 边界:本轮只跑 Studio
accept-suggestion黄金旅程,没有重跑 studio 全量 56 e2e;muse-studio/src/types/content.ts生成类型未同步,新版本openapi-typescript会带出大量历史 string/number 与 version/revision 机械漂移,本轮仅在 hook 内维护BlockRevision最小类型。
E2 fresh 切片证据(2026-06-27,本轮实跑):
- 功能链路:用户自建 Agent 支持创建初始版本、编辑生成新 active version、版本列表/激活/归档非当前版本、归档 Agent;作品槽位支持真实 unbind;Studio “放弃修改”从本地清 UI 改为调用 AI owner reject 写 decision archive。
local-ci后端切片:MuseAgentServiceTest+MuseAgentSlotServiceTest+AppMuseAgentControllerAnnotationTest+AppMuseAgentSlotControllerAnnotationTest共 63 tests / 0 failures / 0 errors,BUILD SUCCESS。local-ci契约门:ContractFirstGateTest4 tests / 0 failures / 0 errors;AI OpenAPI 已补 update/archive Agent、versions list/activate/archive、slot unbind 契约。- 前端静态/局部验证:
tsc -b --force通过;目标 ESLint(E2 e2e + global-setup)0 errors;VitestuseAgents.test.tsx+AIPanel.contract.test.tsx+sse.test.ts3 files / 29 tests passed。 - 启动修红:最新 muse-server clean package 后首次启动红在
muse.codegen.importEnable缺省;已在muse-server/src/main/resources/application.yaml补import-enable: false,随后muse-server重新BUILD SUCCESS并在 48080 启动成功,真 HTTP/app-api/muse/agentssmoke 返回code=0。 frontend-e2e活体验证:agent-create.spec.ts+agent-slot-bind.spec.ts+accept-suggestion.spec.ts共 5 tests / 0 failures / 0 errors(MSW-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_idv1/v2 切换与 v2 archived;Slot 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后端切片:MuseKnowledgeRetrievalAppServiceTest、AppMuseKnowledgeRetrievalControllerTest、MuseKnowledgeRetrievalApiImplTest、AppMuseKnowledgeBindingControllerTest、AppMuseKnowledgeDocumentControllerTest共 25 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。local-ci契约/迁移门:P1rKnowledgeMigrationSqlTest、ContractFirstGateTest、P1rApiCoverageReportTest共 21 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS;coverage JSON 当前241/241 completed。V33allow_market_kb_precheck_without_local_kb已落 live,muse_knowledge_bind_precheck.kb_id为 nullable,修正 market_kb 预检阶段尚未物化本地 KB 时的 schema 漂移。- 前端静态/局部验证:Knowledge 相关 Vitest 4 files / 19 tests passed;目标 ESLint 0 errors;
tsc -b --force通过。useKnowledge已把真实后端返回的 numericdocumentId/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 errors(MSW-off,真实 muse-server 48080 + 共享muse_slice_live+ RAGFlow/New-API 配置)。覆盖 market KB handoff 正/负路、绑定投影读回、no_dataset 治理提示、上传真落库读回、市场授权预检。frontend-e2e活体验证二:ai-generation.spec.ts1 test / 0 failures / 0 errors(MSW-off,真 New-API 生成 suggestionId=82)。用例反查muse_ai_generation.source_summary->contextAssembly,确认chunkCount>0、retrievedKbIds、authorizationSnapshotIds非空,证明 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后端切片:MuseAgentSlotServiceTest、AdminMarketGovernanceServiceTest、MuseKnowledgeSourceEventServiceTest、KnowledgeMarketSourceStatusChangedConsumerTest共 50 tests / 0 failures / 0 errors,BUILD SUCCESS。local-ci契约/覆盖门:ContractFirstGateTest4 tests / 0 failures / 0 errors;P1rApiCoverageReportTest8 tests / 0 failures / 0 errors;AI OpenAPI 已收敛 market agent precheck/bind 不再要求客户端提交sourceAgentId/sourceAgentVersion。- 前端静态/局部验证:
npx tsc -b通过;npm run lint0 errors(仅既有public/mockServiceWorker.jsunused eslint-disable warning);VitestuseMarket.test.tsx+AgentHandoffLanding.test.tsx2 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 errors(MSW-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 errors(MSW-off,真实后端)。覆盖治理影响读面与 market 来源侧授权预检回归。- 边界:本轮未重跑 Studio 全量 56 e2e;market 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 item;quota request worker 调 New-API 管理口并把 request/integration call 推进到终态。 local-ci后端切片:MuseAiTaskServiceTest、MuseAiRuntimeProjectionServiceTest、AccountUsageServiceTest、AccountQuotaServiceTest、AccountAttributionServiceTest、AccountNewApiBindingServiceTest、MuseAccountUsageApiImplTest、NewApiAccountFacadeConfigurationTest、RealNewApiAccountFacadeTest共 120 tests / 0 failures / 0 errors,BUILD SUCCESS。real-pgaccount 切片:P1rAccountQuotaRequestCompletedApprovalIT5 tests / 0 failures / 0 errors / 0 skipped,P1rAccountAdminWritesCompletedApprovalIT3 tests / 0 failures / 0 errors / 0 skipped,P1rAccountNewApiBindingClusterCompletedApprovalIT4 tests / 0 failures / 0 errors / 0 skipped,P1rAccountUsageObservabilityCompletedApprovalIT4 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。运行库为真实 PostgreSQL_test库muse_p1r_account_e5_test。external-liveNew-API 管理口:RealNewApiAccountFacadeLiveAcceptanceIT显式 opt-in 1 test / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS;证据只输出 endpoint、newApiUserId哈希前缀、quotaApplied=100000000、binding/quota external call 布尔值,不输出凭据。未 opt-in 的默认运行是 honest skipped,不计为 live passed。external-liveAI→Account 串联:P1rAiRuntimeEndToEndLiveAcceptanceIT3 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。反查accountUsageRecordCount=1、accountQuotaUsedAmount=1、reserve audit 1、release audit 0、usage total tokens 550;attribution 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 前端 e2e,E6 将继续 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后端切片:AdminUserServiceImplTest36 tests / 0 failures / 0 errors / 0 skipped,PermissionServiceTest25 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。frontend-localAdmin 账号治理:npx -y pnpm@10.33.0 --dir muse-admin test:unit -- --run apps/web-antd/src/views/muse/__tests__/governance-pages.test.ts触发根 Vitest,50 test files / 345 tests passed。frontend-localAdmin AI 配置:npx -y pnpm@10.33.0 --dir muse-admin test:unit -- --run apps/web-antd/src/views/muse/ai/__tests__/index.test.ts触发根 Vitest,50 test files / 347 tests passed;npx -y pnpm@10.33.0 --dir muse-admin --filter @vben/web-antd typecheck通过。real-pgmarket restore 切片:P1rMarketAdminAppealCompletedApprovalIT7 tests / 0 failures / 0 errors / 0 skipped,运行库为真实 PostgreSQL_test库muse_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 e2e;AI 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后端切片:MetaProjectionQueryApiImplTest4 tests / 0 failures / 0 errors / 0 skipped,MetaSchemaServiceTest50 tests / 0 failures / 0 errors / 0 skipped,RealContentMetaFacadeTest8 tests / 0 failures / 0 errors / 0 skipped,ContentMetaProjectionServiceTest7 tests / 0 failures / 0 errors / 0 skipped,BUILD SUCCESS。real-pgContent/Meta 投影校验:P1rContentMetaProjectionClusterCompletedApprovalIT4 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-pgAdmin Meta 生命周期:P1rMetaAdminSchemaLifecycleCompletedApprovalIT2 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=draft,v1/v2 validation/preview 成功,发布不隐式激活,激活/回滚同步切active_version_id与 schema 根status=active,6 条写命令、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 e2e;server 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。