Project

General

Profile

QA验收 #29 » results-ledger.json

Redmine Admin, 11/01/2026 02:32 PM

 
{
"task": "LEGACY-MEETING-EXPERT-01",
"issue": 29,
"candidate": "candidate-r2.json",
"createdAt": "2026-11-01T22:32:03+08:00",
"r1Historical": {
"task": "LEGACY-MEETING-EXPERT-01",
"environment": "real dedicated PostgreSQL / real loopback BFF and signed NDB HTTP",
"cases": [
{
"id": "LEGACY-QA-SOURCE-BOUNDARIES",
"status": "Pass",
"actual": {
"mappedMeetings": 43,
"independentBoundaryDetails": [
9,
46
],
"full43Equality": "developer evidence reused, not rerun",
"missing5NotCreated": true
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-PREVIEW-ZERO-WRITE",
"status": "Pass",
"actual": {
"accepted": true,
"result": {
"mode": "preview",
"sha256": "db2670f845b846ccc140e63a21024c3d3bd6f7c0bfaccca952fe63fad89e0dca",
"create": 2,
"skip": 0,
"rows": 2,
"tasks_created": 0
}
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-APPLY-NO-FINANCE",
"status": "Pass",
"actual": {
"created": 2,
"protectedFullModelsSame": true,
"financeCounts": [
0,
0,
0
]
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-REPLAY-IDEMPOTENT",
"status": "Pass",
"actual": {
"accepted": true,
"result": {
"mode": "apply",
"sha256": "db2670f845b846ccc140e63a21024c3d3bd6f7c0bfaccca952fe63fad89e0dca",
"create": 0,
"skip": 2,
"rows": 2,
"tasks_created": 0
}
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-CONFLICT-ATOMIC",
"status": "Pass",
"actual": {
"newThenConflictRollback": true,
"error": "Imported snapshot conflict; no rows were applied"
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-REJECT-WHITELIST-DIGEST-MAP",
"status": "Pass",
"actual": {
"negativeInputs": 4,
"unchanged": true
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-CROSS-APP",
"status": "Pass",
"actual": {
"importRejected": true,
"foreignMeetingHTTP": 404
},
"evidence": null,
"at": "2026-11-01T14:07:24Z"
},
{
"id": "LEGACY-QA-LIVE-SNAPSHOT-BOUNDARY",
"status": "Pass",
"actual": {
"cards": 2,
"boundOnlyViaProfile": true,
"unknownNotGuessed": true,
"noPrivateFallback": true,
"ordinaryExpertsUnchanged": []
},
"evidence": null,
"at": "2026-11-01T14:07:59Z"
},
{
"id": "LEGACY-QA-NO-CATALOG-EXPANSION",
"status": "Pass",
"actual": {
"profileDraftNoPlatforms": true,
"publicExpertDirectoryTotal": 0
},
"evidence": null,
"at": "2026-11-01T14:08:47Z"
},
{
"id": "LEGACY-QA-LIVE-SUPPRESSION-REFRESH",
"status": "Pass",
"actual": {
"blacklistAndDelete": true,
"freshRequestRestoresAfterOwnFixtureReset": true,
"noExistingCandidateModified": true
},
"evidence": null,
"at": "2026-11-01T14:08:47Z"
},
{
"id": "LEGACY-QA-WEB-INHERITED-PROJECTION",
"status": "Pass",
"actual": {
"serializerOnlyNotWebHTTP": true,
"historicalCards": 2
},
"evidence": null,
"at": "2026-11-01T14:08:47Z"
},
{
"id": "LEGACY-QA-FUTURE-IDENTITY",
"status": "Fail",
"actual": {
"stableId": "LEGACY-IDENTITY-01",
"lateVerifiedProfileNowBlacklisted": true,
"unknownSnapshotStillVisible": true,
"storedExpertRemainsNull": true,
"reimportRejected": true,
"error": "Imported snapshot conflict; no rows were applied",
"needsPolicyDecision": false,
"existingProductionRowsTouched": false,
"confirmedDefectByMain": true,
"repairOwner": "task main Backend owner"
},
"evidence": null,
"at": "2026-11-01T14:08:47Z"
}
],
"counts": {
"Pass": 11,
"Fail": 1,
"Blocked": 0,
"Skipped": 0
},
"production": false,
"noFinancialObjectsCreated": true,
"cleanupRestoredOriginalRows": true,
"candidateManifest": "candidate-r1.json",
"round": "R1 before identity repair"
},
"r2Actual": {
"task": "LEGACY-MEETING-EXPERT-01",
"round": "R2 identity repair only",
"backendFingerprint": "ea4cb67841fd3c0562327ff43e4f3336319c226c99ea717329a12ac8b4444d23",
"cases": [
{
"id": "LEGACY-QA-R2-LATE-BLACKLIST",
"status": "Pass",
"actual": {
"lateSameAppVerifiedProfileSuppresses": true,
"readDoesNotBindOrWriteSnapshot": true,
"remainingOtherUnboundVisible": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:02Z"
},
{
"id": "LEGACY-QA-R2-LATE-DELETED",
"status": "Pass",
"actual": {
"lateDeletedExpertSuppresses": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:02Z"
},
{
"id": "LEGACY-QA-R2-REACTIVATE-SNAPSHOT",
"status": "Pass",
"actual": {
"originalPublicFieldsUnchanged": true,
"noPrivateFallback": true,
"freshHTTPRestoresTwo": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:02Z"
},
{
"id": "LEGACY-QA-R2-LATE-REPLAY-SKIP",
"status": "Pass",
"actual": {
"skip": 2,
"create": 0,
"allStoredSourceAndPublicFieldsSame": true,
"storedExpertStillNull": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:02Z"
},
{
"id": "LEGACY-QA-R2-CROSSAPP-NULL-SAFETY",
"status": "Pass",
"actual": {
"sameLegacyIdOtherAppBlacklistedDeletedDoesNotSuppress": true,
"unknownStillUnbound": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:02Z"
},
{
"id": "LEGACY-QA-R2-LIST-PROJECTION",
"status": "Pass",
"actual": {
"sameSuppressionOnSignedList": true,
"ordinaryExpertsUnchanged": []
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:02Z"
},
{
"id": "LEGACY-QA-R2-MY-MEETINGS",
"status": "Pass",
"actual": {
"realSignedHTTPNestedMeetingSuppression": true,
"registrationFixtureWithoutTask": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:03Z"
},
{
"id": "LEGACY-QA-R2-TOPIC-WEB-PROJECTIONS",
"status": "Pass",
"actual": {
"topicRealSignedHTTP": true,
"webSerializerOnlyNotWebLoginHTTP": true,
"suppressedConsistently": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:52Z"
},
{
"id": "LEGACY-QA-R2-BATCH-QUERY-BOUND",
"status": "Pass",
"actual": {
"uniqueMeetings": [
1,
2
],
"queryCounts": [
4,
4
],
"notLoadOrLargePageBenchmark": true
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:52Z"
},
{
"id": "LEGACY-QA-R2-NO-FINANCE-DIRECTORY-WRITE",
"status": "Pass",
"actual": {
"taskCostMeetingExpert": [
0,
0,
0
],
"snapshotFullRowsSame": true,
"publicPlatformsUnchanged": []
},
"layer": "dedicated real PostgreSQL + loopback HTTP unless explicitly serializer-only",
"at": "2026-11-01T14:16:52Z"
},
{
"id": "LEGACY-QA-R2-BOUND-OR-LATE",
"status": "Pass",
"layer": "real BFF→signed NDB→dedicated PostgreSQL",
"actual": [
{
"storedBoundBlacklisted": true,
"lateMappedDeleted": false,
"visibleCards": 0,
"http": 200,
"publicSnapshotAndStoredBindingUnchanged": true
},
{
"storedBoundBlacklisted": false,
"lateMappedDeleted": true,
"visibleCards": 0,
"http": 200,
"publicSnapshotAndStoredBindingUnchanged": true
},
{
"storedBoundBlacklisted": false,
"lateMappedDeleted": false,
"visibleCards": 1,
"http": 200,
"publicSnapshotAndStoredBindingUnchanged": true
}
],
"sameOriginalRowsAfterCleanup": true,
"financialRecords": [
0,
0,
0
]
}
],
"counts": {
"Pass": 11,
"Fail": 0,
"Blocked": 0,
"Skipped": 0
},
"oldR1FailPreserved": true,
"sameOriginalRowsAfterCleanup": true
},
"uiCases": [
{
"id": "H5-SINGLE",
"status": "Pass",
"impact": "IMP-04",
"actual": "旧会议9单卡仅旧公开字段,actions=0;1200宽桌面证据,不称390窄屏",
"evidence": "h5-single-card.json; h5-single-card.png"
},
{
"id": "H5-MULTI-MOBILE",
"status": "Pass",
"impact": "IMP-04",
"actual": "100002两卡、空名为专家、长文本;viewport/scrollWidth均390,无卡内动作控件",
"evidence": "h5-mobile-two.json; h5-mobile-two.png"
},
{
"id": "H5-EMPTY",
"status": "Pass",
"impact": "IMP-04",
"actual": "100001无卡且无特邀专家区",
"evidence": "h5-empty.json; h5-mobile-empty.png"
},
{
"id": "H5-PLAIN-TEXT",
"status": "Pass",
"impact": "IMP-04",
"actual": "自有900104字面渲染HTML样式文本;0 b/0 img,脚本标记false;390无溢出",
"evidence": "h5-plain-text.json; h5-mobile-plain-text.png"
},
{
"id": "H5-FAULT-CLEAR",
"status": "Pass",
"impact": "IMP-04",
"actual": "QA本地代理受控503后旧卡清空并显示错误/重试;不是自然后端失败或恢复通过",
"evidence": "h5-fault-clear.json; h5-mobile-error-clear.png; h5-network.jsonl"
},
{
"id": "WECHAT-NATIVE-VISUAL",
"status": "Pass",
"impact": "IMP-04",
"actual": "已打开canonical项目,原生AX+只读滚动+真实窗口截图看到双卡;不证明MCP恢复/真机",
"evidence": "wechat-native-visual.json; wechat-native-cards.png"
},
{
"id": "H5-MANUAL-RETRY",
"status": "Blocked",
"impact": "IMP-04",
"actual": "重试点击目标在Taro刷新/焦点变化中消失或detach,未保存一次成功手动重试闭环;不再盲重试,后续仅补此项",
"evidence": "h5-fault-clear.json; h5-network.jsonl"
},
{
"id": "WECHAT-MCP-AUTOMATION",
"status": "Blocked",
"impact": "IMP-04",
"actual": "querySelectorAll和simulator_screenshot均APPID_ERROR/TLS socket断开;未换AppID/登录或重发auth;原生视觉另项通过",
"evidence": "wechat-blocker.json"
},
{
"id": "ORDINARY-HISTORY-COEXIST",
"status": "Blocked",
"impact": "IMP-04",
"actual": "本地普通MeetingExpert=0,模型要求财务Task;未为展示造Task。普通/历史同页真实界面共存未测,需安全非财务前置或主任务处置",
"evidence": "ui-cleanup.json; developer Mini34 tests at developer layer only"
}
],
"currentExecutionCounts": {
"Pass": 17,
"Fail": 0,
"Blocked": 3,
"Skipped": 0
},
"r1PassEvidenceReused": 11,
"oldTaskWrites": false
}
(2-2/46)