{
  "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
}
