Account first-batch approval promotes only the 10 verified profile, entitlement, balance snapshot, and quota adjustment operations to completed while keeping the rest of Account in needs_verification.
8.1 KiB
8.1 KiB
P1R Account 状态推进
日期:2026-06-11
结论
本轮只推进 Account 第一批 10 个 operation-level completed approval,没有把 account 加入 domain-level completed allowlist。
coverage summary 从:
233 117 116 0 0 0
推进为:
233 127 106 0 0 0
Account 状态从 33 个 dedicated / needs_verification 推进为:
completed=10
needsVerification=23
本轮不代表 Account 33/33 completed,不代表 Market / Content / 总 P1R completed。
已批准 completed 的 Account operation
account:getCurrentUser
account:getProfile
account:updateProfile
account:adminListAccountUsers
account:adminGetUserEntitlements
account:getAppEntitlements
account:adminGetBalanceSnapshots
account:getAppBalanceSnapshots
account:adminCreateQuotaAdjustment
account:adminListQuotaAdjustments
继续 needs_verification 的 Account operation
account:adminCreateCallAttributionJob
account:adminGetCallAttributionJob
account:adminGetIntegrationCallByCorrelation
account:adminListNewApiBindings
account:adminListPurchaseRecords
account:adminListUsageRecords
account:adminCreateNewApiBinding
account:adminCreateQuotaRequest
account:appDownloadExport
account:appCreateExportTask
account:appGetExportTask
account:appGetIntegrationCallByCorrelation
account:appListLicenses
account:getAppNewApiBinding
account:appRecheckNewApiBinding
account:appListPublishRecords
account:appListPurchases
account:appCreateQuotaRequest
account:appGetQuotaRequest
account:appListSecurityEvents
account:appGetSecurityEvent
account:appAcknowledgeSecurityEvent
account:getAppUsage
主要原因:
- New-API runtime、binding、recheck、quota request、integration correlation 仍缺真实 runtime completed evidence。
- FileService / export download 仍缺真实文件交付、下载字节和对象存储闭环 evidence。
- call attribution external source 仍缺真实外部来源 completed evidence。
- Market purchase / license / publish projection 仍缺跨 owner 上游与 Account projection 一致性 evidence。
- security event 生产路径仍缺 completed-grade source fact。
getAppUsage与adminListUsageRecords虽有 dedicated 实现和 focused tests,但仍依赖muse_account_integration_call/ attribution source 的上游事实质量;本轮未纳入第一批。
修改范围
本轮修改:
muse-cloud/scripts/p1r-audit-api-coverage.pydocs/superpowers/reports/p1r-api-coverage.jsondocs/superpowers/reports/p1r-api-coverage.mdmuse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rApiCoverageReportTest.javamuse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rAccountRealApiGateTest.javamuse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rEventsRealApiGateTest.javamuse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rAiRealApiGateTest.javamuse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rKnowledgeRealApiGateTest.javamuse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rMarketRealApiGateTest.javadocs/agent-specs/.agentdocs/agent-specs/2026-06-11-P1RAccountCompletedApproval审阅版.mddocs/agent-specs/2026-06-11-P1RAccountCompletedApproval执行版.mddocs/memorys/2026-06-11-P1RAccount状态推进.md
未修改:
- 7 个 OpenAPI。
- Account 业务实现。
- 数据库迁移。
- Account domain-level completed allowlist。
TDD evidence
RED:
cd muse-cloud
JAVA_HOME=$(/usr/libexec/java_home -v 21) PATH="$JAVA_HOME/bin:$PATH" \
mvn -o test -pl muse-server -am \
-Dtest=P1rApiCoverageReportTest,P1rAccountRealApiGateTest,P1rEventsRealApiGateTest,P1rAiRealApiGateTest,P1rKnowledgeRealApiGateTest,P1rMarketRealApiGateTest \
-Dsurefire.failIfNoSpecifiedTests=false
结果:37 tests run,10 failures,BUILD FAILURE。
失败点来自旧 report 仍为 117/116、Account 仍为 0 completed / 33 needs_verification,符合预期。
GREEN scanner:
python3 muse-cloud/scripts/p1r-audit-api-coverage.py --check
结果:
Generated docs/superpowers/reports/p1r-api-coverage.json
Generated docs/superpowers/reports/p1r-api-coverage.md
233 127 106 0 0 0
Account Counter({'needs_verification': 23, 'completed': 10})
Verification evidence
Account focused tests
cd muse-cloud
JAVA_HOME=$(/usr/libexec/java_home -v 21) PATH="$JAVA_HOME/bin:$PATH" \
mvn -o test -pl muse-module-member/muse-module-member-server,muse-server -am \
-Dtest=AccountProfileServiceTest,AccountEntitlementServiceTest,AccountQuotaServiceTest,AccountAuditServiceTest,AccountCommandServiceTest,AccountOwnerGuardTest,AccountApiVersionGuardTest,AccountQuotaGuardTest,AdminAccountUserControllerTest,AppAccountProfileControllerTest,AppAccountEntitlementControllerTest,P1rAccountEventsPublishMigrationSqlTest,P1rAccountEventsPublishDependencyTest,P1rAccountEventsPublishEndToEndTest,P1rAccountRealApiGateTest,P1rApiCoverageReportTest \
-Dsurefire.failIfNoSpecifiedTests=false
结果:
muse-module-member-server: 114/114 pass。muse-server: 19/19 pass。- BUILD SUCCESS。
P1R mixed gates
cd muse-cloud
JAVA_HOME=$(/usr/libexec/java_home -v 21) PATH="$JAVA_HOME/bin:$PATH" \
mvn -o test -pl muse-server -am \
-Dtest=P1rApiCoverageReportTest,P1rAccountRealApiGateTest,P1rEventsRealApiGateTest,P1rAiRealApiGateTest,P1rKnowledgeRealApiGateTest,P1rMarketRealApiGateTest,P1rContentRealApiGateTest,P1rMetaRealApiGateTest \
-Dsurefire.failIfNoSpecifiedTests=false
结果:46/46 pass,BUILD SUCCESS。
Flyway _test
测试库:
muse_p1r_account_completed_approval_test
命令:
source ~/.config/muse-repo/infra.env
export P1R_FLYWAY_PASSWORD="$MUSE_POSTGRES_PASSWORD"
export P1R_ACCOUNT_TEST_DB=muse_p1r_account_completed_approval_test
cd muse-cloud
JAVA_HOME=$(/usr/libexec/java_home -v 21) PATH="$JAVA_HOME/bin:$PATH" \
mvn -o test -pl muse-server -am \
-Dtest=P1rAccountEventsPublishFlywayMigrationIT \
-Dflyway.postgresql.transactional.lock=false \
-Dp1r.flyway.locations=filesystem:sql/muse \
-Dp1r.flyway.url="jdbc:postgresql://$MUSE_POSTGRES_HOST:$MUSE_POSTGRES_PORT/$P1R_ACCOUNT_TEST_DB" \
-Dp1r.flyway.user="$MUSE_POSTGRES_USERNAME" \
-Djava.net.useSystemProxies=false \
-DsocksProxyHost= -DsocksProxyPort= \
-Dhttp.proxyHost= -Dhttp.proxyPort= \
-Dhttps.proxyHost= -Dhttps.proxyPort= \
-Dsurefire.failIfNoSpecifiedTests=false
结果:4/4 pass,BUILD SUCCESS。
关键输出:
flyway_success=true
flyway_url=jdbc:postgresql://<host>/muse_p1r_account_completed_approval_test
migrations_executed=20
successful_migration_count=20
target_schema_version=20
flyway_latest=20:extend account events publish outbox
v20_table=muse_account_event_publish_outbox
Account outbox / worker enhanced evidence
cd muse-cloud
JAVA_HOME=$(/usr/libexec/java_home -v 21) PATH="$JAVA_HOME/bin:$PATH" \
mvn -o test -pl muse-module-member/muse-module-member-server -am \
-Dtest=AccountEventPublishOutboxServiceTest,AccountEventPublishWorkerTest \
-Dsurefire.failIfNoSpecifiedTests=false
结果:19/19 pass,BUILD SUCCESS。
XML 防空跑
读取 25 个目标 Surefire XML:
- Account focused XML:Profile、Entitlement、Quota、Audit、Command、Guard、Controller、outbox、worker。
- P1R XML:Account events SQL / dependency / E2E / Flyway、Coverage、Account、Events、AI、Knowledge、Market、Content、Meta gates。
结果:
XML_TOTAL_OK tests=192
failures=0
errors=0
skipped=0
当前边界
- Account 不是整域 completed。
- Market 32 个 operation 继续
dedicated / needs_verification。 - Content 51 个 operation 继续
dedicated / needs_verification。 - Meta 16 个 operation 继续
dedicated / completed。 - AI 41、Knowledge 59、Events 1 保持已批准 completed。
- 未修改 OpenAPI 或 Account 业务实现。
下一步
必须进行 fresh implementation spec/correctness review + fresh implementation quality/data-integrity/testing review。
双 PASS 前不得提交、push 或宣称总 P1R / Account 33/33 / Market / Content completed。