{ "backend": { "classes": 328, "tests": 2753, "failures": 104, "errors": 11, "skipped": 4, "time": 3084.024000000004, "passed": 2634, "pass_rate": 95.68, "pass_rate_ex_env": 95.68, "red_classes": 31, "red_cases": 115, "env_red_cases": 0, "nonenv_red_cases": 115, "time_sum_s": 3084.0, "reds": [ { "class": "GuheEvidenceIsolateContractTest", "F": 11, "E": 0, "env": false, "tests": 12 }, { "class": "GuheNoPathMapContractTest", "F": 10, "E": 0, "env": false, "tests": 10 }, { "class": "GuheKbVersionSenseContractTest", "F": 9, "E": 0, "env": false, "tests": 11 }, { "class": "CfCommissionServiceSettleTest", "F": 8, "E": 0, "env": false, "tests": 12 }, { "class": "EnergySystemFlowTest", "F": 6, "E": 0, "env": false, "tests": 7 }, { "class": "GuheV2RouteContractTest", "F": 6, "E": 0, "env": false, "tests": 8 }, { "class": "PlannerBindInviteFlowTest", "F": 4, "E": 1, "env": false, "tests": 9 }, { "class": "GuheGateStrainBlockContractTest", "F": 5, "E": 0, "env": false, "tests": 6 }, { "class": "GuheLowSideAggregateContractTest", "F": 5, "E": 0, "env": false, "tests": 6 }, { "class": "GuheShellGuardContractTest", "F": 5, "E": 0, "env": false, "tests": 7 }, { "class": "DimensionScoreServiceImplTest", "F": 0, "E": 4, "env": false, "tests": 6 }, { "class": "ArticleAutoTagServiceTest", "F": 4, "E": 0, "env": false, "tests": 8 }, { "class": "GuheLowSideNoSupplementContractTest", "F": 4, "E": 0, "env": false, "tests": 6 }, { "class": "GuhePageTailCleanContractTest", "F": 4, "E": 0, "env": false, "tests": 6 }, { "class": "GuheVersionSplitContractTest", "F": 4, "E": 0, "env": false, "tests": 5 }, { "class": "DimensionRegistryMapContractTest", "F": 3, "E": 0, "env": false, "tests": 7 }, { "class": "GrowthRecordSyncFlowTest", "F": 1, "E": 2, "env": false, "tests": 10 }, { "class": "ArticleWorkflowTest", "F": 3, "E": 0, "env": false, "tests": 14 }, { "class": "GuheKbFieldExposeContractTest", "F": 3, "E": 0, "env": false, "tests": 6 }, { "class": "ServiceRoleApproveTest", "F": 0, "E": 2, "env": false, "tests": 6 }, { "class": "MindFortuneControllerTest", "F": 1, "E": 0, "env": false, "tests": 1 }, { "class": "DailyCheckinStreakFlowTest", "F": 0, "E": 1, "env": false, "tests": 6 }, { "class": "GuideModuleIntegrationTest", "F": 0, "E": 1, "env": false, "tests": 4 }, { "class": "OrchestrationEngineTest", "F": 1, "E": 0, "env": false, "tests": 8 }, { "class": "OrchestrationIntegrationTest", "F": 1, "E": 0, "env": false, "tests": 7 }, { "class": "MembershipPaySwitchTest", "F": 1, "E": 0, "env": false, "tests": 6 }, { "class": "PaymentServiceORDRoutingTest", "F": 1, "E": 0, "env": false, "tests": 3 }, { "class": "UserServiceWechatLoginContractTest", "F": 1, "E": 0, "env": false, "tests": 6 }, { "class": "UserServiceWechatLoginTest", "F": 1, "E": 0, "env": false, "tests": 5 }, { "class": "TaskPlanServiceTest", "F": 1, "E": 0, "env": false, "tests": 4 }, { "class": "TeamProfitCronContractTest", "F": 1, "E": 0, "env": false, "tests": 22 } ] }, "attr": [ { "class": "MindFortuneControllerTest", "case": "testGetTodayFortuneWithoutAuth", "kind": "F", "type": "AssertionError", "msg": "JSON path \"$.code\" expected:<401> but was:<400>", "prod_frames": 0 }, { "class": "DimensionRegistryMapContractTest", "case": "map_unknownLegacy_returnsNullData", "kind": "F", "type": "AssertionError", "msg": "JSON path \"$.data\"\nExpected: null\n but: was \"unknown_legacy_xyz\"", "prod_frames": 0 }, { "class": "DimensionRegistryMapContractTest", "case": "map_emptyLegacy_returnsNullData", "kind": "F", "type": "AssertionError", "msg": "JSON path \"$.data\"\nExpected: null\n but: was \"\"", "prod_frames": 0 }, { "class": "DimensionRegistryMapContractTest", "case": "map_missingLegacy_returnsBadRequest", "kind": "F", "type": "AssertionError", "msg": "Status expected:<400> but was:<200>", "prod_frames": 0 }, { "class": "DailyCheckinStreakFlowTest", "case": "childDeletesCheckin_Success", "kind": "E", "type": "MockitoException", "msg": "Only void methods can doNothing()!\nExample of correct use of doNothing():\n doNothing().\n doThrow(new RuntimeException())\n .when(mock).someVoidMethod();\nAbove means:\nsomeVoidMethod() does noth", "prod_frames": 0 }, { "class": "EnergySystemFlowTest", "case": "parentQueriesEnergyLogs_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <200> but was: <500>", "prod_frames": 0 }, { "class": "EnergySystemFlowTest", "case": "childExchangesWishWithEnergy_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <200> but was: <500>", "prod_frames": 0 }, { "class": "EnergySystemFlowTest", "case": "childExchangesWithInsufficientEnergy_Fails", "kind": "F", "type": "AssertionFailedError", "msg": "expected: but was: ", "prod_frames": 0 }, { "class": "EnergySystemFlowTest", "case": "userWithoutFamily_Fails", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <500> but was: <5001>", "prod_frames": 0 }, { "class": "EnergySystemFlowTest", "case": "parentGetsEnergyOverview_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <200> but was: <500>", "prod_frames": 0 }, { "class": "EnergySystemFlowTest", "case": "taskCompletionGrantsEnergy_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <200> but was: <500>", "prod_frames": 0 }, { "class": "GrowthRecordSyncFlowTest", "case": "parentUploadsHealthReport_Success", "kind": "E", "type": "NullPointerException", "msg": "java.lang.NullPointerException", "prod_frames": 0 }, { "class": "GrowthRecordSyncFlowTest", "case": "parentCreatesRecordWithoutChild_Fails", "kind": "F", "type": "AssertionFailedError", "msg": "expected: but was: ", "prod_frames": 0 }, { "class": "GrowthRecordSyncFlowTest", "case": "parentCreatesRecordWithOrder_Success", "kind": "E", "type": "NullPointerException", "msg": "java.lang.NullPointerException", "prod_frames": 0 }, { "class": "GuideModuleIntegrationTest", "case": "testGuidePackageCreationFlow", "kind": "E", "type": "DataIntegrityViolationException", "msg": "### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'platform_fee' at row 1\n### The error may exist in com/etotem/cfc/", "prod_frames": 0 }, { "class": "PlannerBindInviteFlowTest", "case": "parentConfirmsBind_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <200> but was: <403>", "prod_frames": 0 }, { "class": "PlannerBindInviteFlowTest", "case": "guideViewsBoundFamilies_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: not ", "prod_frames": 0 }, { "class": "PlannerBindInviteFlowTest", "case": "parentBindsSameGuideTwice_Fails", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <400> but was: <403>", "prod_frames": 0 }, { "class": "PlannerBindInviteFlowTest", "case": "parentUnbindsGuide_Success", "kind": "E", "type": "MockitoException", "msg": "Only void methods can doNothing()!\nExample of correct use of doNothing():\n doNothing().\n doThrow(new RuntimeException())\n .when(mock).someVoidMethod();\nAbove means:\nsomeVoidMethod() does noth", "prod_frames": 0 }, { "class": "PlannerBindInviteFlowTest", "case": "completeInviteBindFlow_Success", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <200> but was: <403>", "prod_frames": 0 }, { "class": "OrchestrationEngineTest", "case": "testOnTaskFailed_FoundNode_ThenMarkFailedAndEvaluateFlow", "kind": "F", "type": "AssertionFailedError", "msg": "expected: \"manual_fail\"\n but was: null", "prod_frames": 0 }, { "class": "OrchestrationIntegrationTest", "case": "testEvaluateFlow_AndNode_AllCompleted_Triggered", "kind": "F", "type": "AssertionError", "msg": "Expecting actual:\n \"failed\"\nto be in:\n [\"in_progress\", \"pending\"]", "prod_frames": 0 }, { "class": "ArticleWorkflowTest", "case": "reDraft_notRejected_pending", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <仅已驳回的文章可重新编辑> but was: <仅已驳回或已撤回的文章可重新编辑>", "prod_frames": 0 }, { "class": "ArticleWorkflowTest", "case": "reDraft_notRejected_draft", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <仅已驳回的文章可重新编辑> but was: <仅已驳回或已撤回的文章可重新编辑>", "prod_frames": 0 }, { "class": "ArticleWorkflowTest", "case": "reDraft_notRejected_published", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <仅已驳回的文章可重新编辑> but was: <仅已驳回或已撤回的文章可重新编辑>", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_F03a发放_自动创建感恩记录", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\noctopusEffectRecordMapper.insert();\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_F03a发放_自动创建感恩记录(CfCommissionServiceSettleTest.java:419)\nActually, the", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_同家庭引荐人跳过_顺延到下一级拿F03a", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\ncfBalanceService.earnByRule(\n 1020L,\n \"F03a\",\n 1L,\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_同家庭引荐人跳过_顺延到下一级拿F03a(CfCommissionServ", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_商品订单实付与分润基数分离", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\ncfBalanceService.earnByRule(\n 1010L,\n \"F03a\",\n 1L,\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_商品订单实付与分润基数分离(CfCommis", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_两级销售奖_F03a按团队档位_F03b按自身档位", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\ncfBalanceService.earnByRule(\n 1010L,\n \"F03a\",\n 1L,\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_两级销售奖_F03a按团队档位_F03b按自", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_档位比例超规则上限_按上限封顶", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\ncfBalanceService.earnByRule(\n 1010L,\n \"F03a\",\n 1L,\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_档位比例超规则上限_按上限封顶(CfComm", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_落P点消费日志_基数与订单对应", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\nppointConsumptionLogMapper.insert(\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_落P点消费日志_基数与订单对应(CfCommissionServiceSettleTest.j", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_最多两级_第三级引荐人不发放", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\ncfBalanceService.earnByRule(\n 1010L,\n \"F03a\",\n 1L,\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_最多两级_第三级引荐人不发放(CfCommissionServiceSet", "prod_frames": 0 }, { "class": "CfCommissionServiceSettleTest", "case": "settle_推荐人分润只走earnByRule_不再写旧分佣流水", "kind": "F", "type": "WantedButNotInvoked", "msg": "Wanted but not invoked:\ncfBalanceService.earnByRule(\n ,\n ,\n ,\n \n);\n-> at com.etotem.cfc.service.CfCommissionServiceSettleTest.settle_推荐人分润只走earnByRule_", "prod_frames": 0 }, { "class": "DimensionScoreServiceImplTest", "case": "getHealthDimension_trendUp_whenScoreIncreasedBy5OrMore", "kind": "E", "type": "NoSuchElementException", "msg": "No value present", "prod_frames": 0 }, { "class": "DimensionScoreServiceImplTest", "case": "getHealthDimension_trendStable_whenNoHistory", "kind": "E", "type": "NoSuchElementException", "msg": "No value present", "prod_frames": 0 }, { "class": "DimensionScoreServiceImplTest", "case": "getHealthDimension_trendDown_whenScoreDecreasedBy5OrMore", "kind": "E", "type": "NoSuchElementException", "msg": "No value present", "prod_frames": 0 }, { "class": "DimensionScoreServiceImplTest", "case": "getHealthDimension_trendStable_whenScoreChangeLessThan5", "kind": "E", "type": "NoSuchElementException", "msg": "No value present", "prod_frames": 0 }, { "class": "MembershipPaySwitchTest", "case": "createOrderWithPayType_virtualEnabled_configMissing_returnsNull", "kind": "F", "type": "AssertionFailedError", "msg": "expected: but was: <{levelCode=FAMILY, amount=131400, orderNo=ORD17941626330060059610, payType=wechat, wechatPayParams={}, groupNo=null, totalPeriods=1, status=pending, periodNo=1}>", "prod_frames": 0 }, { "class": "PaymentServiceORDRoutingTest", "case": "unknownPrefix_routesToHandlePaymentCallback", "kind": "F", "type": "AssertionFailedError", "msg": "expected: but was: ", "prod_frames": 0 }, { "class": "UserServiceWechatLoginContractTest", "case": "wechatLogin_NewOpenid_CreatesParentUserWithFamily", "kind": "F", "type": "AssertionFailedError", "msg": "expected: but was: ", "prod_frames": 0 }, { "class": "UserServiceWechatLoginTest", "case": "首次微信登录_自动建档默认家长并创建家庭与成员", "kind": "F", "type": "AssertionFailedError", "msg": "expected: not ", "prod_frames": 0 }, { "class": "ArticleAutoTagServiceTest", "case": "toggleStatus_标签非空_不调度自动打标", "kind": "F", "type": "NeverWantedButInvoked", "msg": "threadPoolTaskExecutor.execute(\n \n);\nNever wanted here:\n-> at com.etotem.cfc.unit.ArticleAutoTagServiceTest.toggleStatus_标签非空_不调度自动打标(ArticleAutoTagServiceTest.java:74)\nBut ", "prod_frames": 0 }, { "class": "ArticleAutoTagServiceTest", "case": "toggleStatus_发布且标签为空_调度自动打标", "kind": "F", "type": "TooManyActualInvocations", "msg": "threadPoolTaskExecutor.execute(\n \n);\nWanted 1 time:\n-> at com.etotem.cfc.unit.ArticleAutoTagServiceTest.toggleStatus_发布且标签为空_调度自动打标(ArticleAutoTagServiceTest.java:65)\nBut wa", "prod_frames": 0 }, { "class": "ArticleAutoTagServiceTest", "case": "auditArticle_审核通过且标签为空_调度自动打标", "kind": "F", "type": "TooManyActualInvocations", "msg": "threadPoolTaskExecutor.execute(\n \n);\nWanted 1 time:\n-> at com.etotem.cfc.unit.ArticleAutoTagServiceTest.auditArticle_审核通过且标签为空_调度自动打标(ArticleAutoTagServiceTest.java:103)\nBut", "prod_frames": 0 }, { "class": "ArticleAutoTagServiceTest", "case": "publishByUser_家庭可见直接发布且标签为空_调度自动打标", "kind": "F", "type": "TooManyActualInvocations", "msg": "threadPoolTaskExecutor.execute(\n \n);\nWanted 1 time:\n-> at com.etotem.cfc.unit.ArticleAutoTagServiceTest.publishByUser_家庭可见直接发布且标签为空_调度自动打标(ArticleAutoTagServiceTest.java:138", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "lowSideRules_exposesRecommendationBasisEvidenceCodes", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] AttributionLowSideRules 缺少 EVIDENCE_PUB 常量:T11(G-3)要求证据码隔离常量(可进推荐依据的 PUB/KB、存在性记录 COM、「未核实」标注),当前未落地。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "tagEvidence_pubKb_unchanged", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#tagEvidence 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "canEnterRecommendationBasis_unverified_false", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#canEnterRecommendationBasis 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "tagEvidence_unknownOrBlank_markedUnverified", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#tagEvidence 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "isExistenceRecordOnly_com_true_pubFalse", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#isExistenceRecordOnly 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "canEnterRecommendationBasis_com_false", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#canEnterRecommendationBasis 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "lowSideRules_exposesComAndUnverifiedMarkers", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] AttributionLowSideRules 缺少 EVIDENCE_COM 常量:T11(G-3)要求证据码隔离常量(可进推荐依据的 PUB/KB、存在性记录 COM、「未核实」标注),当前未落地。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "canEnterRecommendationBasis_pubKb_true", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#canEnterRecommendationBasis 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "lowSideRules_exposesEvidenceIsolateRuleCode", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] AttributionLowSideRules 缺少 RULE_EVIDENCE_ISOLATE 规则码:T11(G-3)要求独立「证据码隔离」合规规则——低侧机制证据标 PUB/KB;COM 只作存在性记录;未核实编号标「未核实」。当前仅落地 G-1 三规则(association_only / no_causal_bridge / no_", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "gate_exposesTagEvidence", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] AttributionComplianceGate 缺少 tagEvidence(1 参) 方法:T11(G-3)证据码隔离契约要求门禁暴露该确定性方法,当前未落地(仅 G-1 的 enforceLowSide / scan / merge 已实现)。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheEvidenceIsolateContractTest", "case": "isolateForRecommendation_filtersComAndUnverified", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.evidenceIsolate] 契约方法 AttributionComplianceGate#isolateForRecommendation 未实现(G-3 证据码隔离未落地,T11)", "prod_frames": 0 }, { "class": "GuheGateStrainBlockContractTest", "case": "strainBlockRules_exposesStrainBlockRuleCode", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.strainBlock] 规则层(AttributionLowSideRules / AttributionComplianceGate)缺少 \"no_strain_recommendation\" 规则码常量:T6(G-2)要求独立「16S 粒度拦截 / 菌株级推荐阻断」规则码,区别于 T5 的 association_only/no_causal_bridge/no_pre", "prod_frames": 0 }, { "class": "GuheGateStrainBlockContractTest", "case": "attributionModel_exposesGranularityDimension", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.strainBlock] 归因模型(IndicatorReading/MemberAttribution)未暴露粒度(granularity)维度:T6(G-2)按「granularity != strain」拦菌株号推荐,需在读数/归因结论上区分「菌株级(strain)」与「菌属级/16S(非 strain,默认)」粒度。当前模型无 granularity 字段、无 str", "prod_frames": 0 }, { "class": "GuheGateStrainBlockContractTest", "case": "scan_strainNumberProductRecommendation_flagsStrainBlockViolation", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.strainBlock] L5 scan 未将「含菌株号的商品推荐」回扫为 no_strain_recommendation 违规:T6(G-2)要求 granularity != strain 时禁菌株号推荐,scan 应识别「长双歧杆菌 BB536」等菌株号。当前 scan 仅回扫 G-1 的「缺X桥接 + 处方化」,未落地菌株号识别(实际命中=0 条)。 ==> exp", "prod_frames": 0 }, { "class": "GuheGateStrainBlockContractTest", "case": "complianceGate_exposesEnforceStrainBlockEntry", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.strainBlock] AttributionComplianceGate 缺少 enforceStrainBlock(...) 门禁入口:T6(G-2)要求在 L4 出结论前按粒度拦「含菌株号的商品推荐」,与已落地的 enforceLowSide(G-1)同构。当前门禁仅 enforceLowSide + scan,未落地 T6 菌株级拦截入口。 ==> expected", "prod_frames": 0 }, { "class": "GuheGateStrainBlockContractTest", "case": "enforceStrainBlock_16SGranularityWithStrainNumberProduct_flagsViolation", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.gate.strainBlock] 16S 粒度下含菌株号的商品推荐未被拦(AttributionComplianceGate 缺少 enforceStrainBlock 入口):T6(G-2)要求 granularity != strain 时禁生成含菌株号的商品推荐,「推荐含长双歧杆菌 BB536 的产品」应在门禁被识别为 G-2 菌株级拦截违规。当前未落地。", "prod_frames": 0 }, { "class": "GuheKbFieldExposeContractTest", "case": "speciesInfo_escherichia_lowSideImpact_exposed", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.fieldExpose] 菌种综合信息「埃希氏菌属」偏低侧影响 应为非空(契约 §2.2,T10 L2-3 入 L2 查询返回);当前=null ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbFieldExposeContractTest", "case": "aidefansiEcoli_colonizationNote_exposed", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.fieldExpose] 平台知识库缺少「艾德范思」来源知识(契约 §2.2 艾德范思大肠杆菌 健康定植说明);艾德范思品牌未落地。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbFieldExposeContractTest", "case": "bacteriaGenus_highLowImpact_exposed", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.fieldExpose] 菌属功能库[埃希氏菌属] 偏高影响 应为非空(契约 §2.2 既有键补齐,T10 L2-3 入 L2 查询返回);当前= ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "extensionModule_hasElevenSubkeys", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] getSection(谷禾2026新版扩展知识) 为空,无法验证 11 子键(T9)。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "extensionModule_containsLowSidePatchSubkey", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] getSection(谷禾2026新版扩展知识) 为空,无法验证低侧补丁块(§2.2)。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "upgradeScript_repeatRun_idempotentNoAccumulation", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] 升级脚本(importFromClasspath)运行后 getSection(谷禾2026新版扩展知识) 应非空。T9 ③:重复运行只覆盖不累积。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "unifiedKbService_getVersion_containsGuhe2026_2", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] UnifiedKnowledgeBaseService.getVersion() 应含 +guhe2026.2(当前=2.0)。T9:KB 服务读取并暴露版本感知标记。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "lowSidePatch_containsJudgmentConcepts", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] getSection(谷禾2026新版扩展知识) 为空,无法验证低侧补丁块内容(§2.2)。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "unifiedKbService_moduleKeys_registerExtensionModule", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] UnifiedKnowledgeBaseService.MODULE_KEYS 应注册「谷禾2026新版扩展知识」(当前 12 个模块均不含)。T9:注册后 KB 服务加载时才会读取并暴露。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "seedJson_metaVersion_containsGuhe2026_2", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] 统一知识库.json 版本应含 +guhe2026.2(当前=2.0)。契约:3.0+guhe2026.2(主)/ 3.1+guhe2026.2(专家),T9 L2-1 ①。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "seedJson_containsExtensionModule", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] 统一知识库.json 顶层应含「谷禾2026新版扩展知识」(当前只有 12 个模块)。T9:KB 读取并暴露扩展知识(§2.2)。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheKbVersionSenseContractTest", "case": "unifiedKbService_getSection_extensionModule_notNull", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.kb.versionSense] UnifiedKnowledgeBaseService.getSection(谷禾2026新版扩展知识) 应非空。T9:KB 服务读取并暴露扩展块(L2-1 ②)。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheLowSideAggregateContractTest", "case": "schemaSql_hasCrossCaseAggregateTable", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.p3.lowSideAggregate] schema.sql 缺少跨案例聚合承载表(表名应含 attribution_case,如 attribution_case_strategies),用于沉淀跨案例「同条件致病菌低侧」应对方案。T15:低侧口径并入既有 P3 聚合口径。当前聚合承载表未落地。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheLowSideAggregateContractTest", "case": "aggregateService_hasAggregateEntryMethod", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.p3.lowSideAggregate] 跨案例聚合服务类不存在,无法验证聚合入口方法(T15)。当前实现未落地。", "prod_frames": 0 }, { "class": "GuheLowSideAggregateContractTest", "case": "aggregateResult_supportsSameReadingSameStrategy", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.p3.lowSideAggregate] 跨案例聚合服务类不存在,无法验证同策略聚类语义(T15)。当前实现未落地。", "prod_frames": 0 }, { "class": "GuheLowSideAggregateContractTest", "case": "aggregateService_classExists", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.p3.lowSideAggregate] service/attribution 等候选包无跨案例聚合服务类(类名应含 CaseAggregate/CrossCase/CaseStrategy/LowSideAggregate 任一)。T15:低侧口径并入既有 P3 聚合口径,可检索「同条件致病菌低侧」应对方案。当前跨案例聚合实现未落地。 ==> expected: bu", "prod_frames": 0 }, { "class": "GuheLowSideAggregateContractTest", "case": "constantPackage_exposesLowSideReadingKey", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.p3.lowSideAggregate] constant 等候选包应暴露「条件致病菌低侧判读补充(人工)」判读口径常量(§2.2 KB 新增子键),作为跨案例聚合口径的事实锚点。T15:低侧口径并入既有 P3 聚合口径。当前判读口径常量未落地。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheLowSideNoSupplementContractTest", "case": "lowSideNode_exposesNoSupplementFlag", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.lowSide.noSupplement] AttributionComplianceGate.LowSideNode 缺少 isNoSupplement() 节点级禁补菌标记:T4 要求「偏低」归因节点在源头即标注不推荐补菌,而非仅门禁事后回扫。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheLowSideNoSupplementContractTest", "case": "interpret_lowSideEColi_meaningCarriesNoSupplementRedline", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.lowSide.noSupplement] 偏低大肠杆菌节点干预含义应携带「偏低不推荐补菌」口径(T4 L4-3,无成熟证据支持缺X→补X),实际为:「大肠杆菌 偏离 → 与肠道环境/营养缺口相关,先医后补」。当前仅产通用「先医后补」,未落地 T4 源头禁补菌。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheLowSideNoSupplementContractTest", "case": "lowSideRules_exposesNoSupplementRuleCode", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.lowSide.noSupplement] AttributionLowSideRules 缺少 RULE_NO_SUPPLEMENT 规则码:T4(L4-3)要求独立「低位补菌红线」——无成熟证据支持「缺大肠杆菌→补大肠杆菌」。当前仅落地 T5 的 no_causal_bridge,未区分「引擎不产出补菌建议」与「文本回扫」。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheLowSideNoSupplementContractTest", "case": "lowSideRules_exposesNoSupplementHintWording", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.lowSide.noSupplement] AttributionLowSideRules 缺少 NO_SUPPLEMENT_HINT 口径常量:T4 要求「偏低不推荐补菌」显式口径(无成熟证据支持缺X→补X),供 L4 引擎与报告侧引用,而非仅通用「先医后补」。 ==> expected: not ", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "mediationChain_gutFloraWisdom_ladderLockedWording", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#mediationChain 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "attribute_gutFloraReading_wealthNoPenalty_red", "kind": "F", "type": "AssertionFailedError", "msg": "菌群观测对「富」维 no_path:异常菌群读数不应使富维扣分(保持基数 78.0),实际 66.8 ==> expected: <78.0> but was: <66.8>", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "isNoPath_gutFloraMind_false", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#isNoPath 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "isNoPath_gutFloraWealth_true", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#isNoPath 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "isNoPath_gutFloraAction_true", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#isNoPath 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "isNoPath_gutFloraBody_false", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#isNoPath 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "mediationChain_gutFloraMind_ladderLockedWording", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#mediationChain 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "noPathMap_gutFlora_wealthAndActionMarked", "kind": "F", "type": "AssertionFailedError", "msg": "RED[guhe.l4.noPathMap] 契约方法 com.etotem.cfc.service.attribution.FiveDimAttributionEngine#noPathMap 未实现(T14 五维 no_path 映射未落地)", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "attribute_gutFloraReading_actionNoPenalty_red", "kind": "F", "type": "AssertionFailedError", "msg": "菌群观测对「行」维 no_path:异常菌群读数不应使行维扣分(保持基数 70.0),实际 58.8 ==> expected: <70.0> but was: <58.8>", "prod_frames": 0 }, { "class": "GuheNoPathMapContractTest", "case": "attribute_lowSideGutFlora_weakExcludesWealthAndAction_red", "kind": "F", "type": "AssertionFailedError", "msg": "非身维遮挡:菌群低侧读数不应使「行」成弱维(no_path),weak=[身, 行] ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuhePageTailCleanContractTest", "case": "l1Layer_declaresTailAssertRegex", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.pageTailClean] L1 接入归一化层应声明残段断言正则常量(静态 String 常量,值含 /16\\d 即 \\d{1,3}/16\\d 模式,用于校验层断言物种库条目不含 \\d{1,3}/16\\d,T12/L1-2)。当前无残段断言正则,无法对清洗结果做「残段 0 命中」的程序化校验。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuhePageTailCleanContractTest", "case": "l1Layer_providesTailCleanEntry", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.pageTailClean] L1 接入归一化层(PdfParseService / ReportParserDispatchService / ReportFingerprintService / ParsedReportResult)应提供分页残段清洗执行入口(方法名含 TableTailClean / PageTail / StripTail,如 stripTableTai", "prod_frames": 0 }, { "class": "GuhePageTailCleanContractTest", "case": "l1Layer_providesTailCleanAssertEntry", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.pageTailClean] L1 接入归一化层应提供残段清洗校验断言入口(方法名含 AssertTailClean / ValidateTail / AssertClean),断言清洗后产物「残段 0 命中」(§2.1 清洗后 76 条、残段 0 命中;T12/L1-2 校验层断言)。当前无残段断言步骤,无法验证清洗效果。 ==> expected: but wa", "prod_frames": 0 }, { "class": "GuhePageTailCleanContractTest", "case": "l1Layer_declaresPageTailMarker", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.pageTailClean] L1 接入归一化层应声明 _PAGE_TAIL 残段标记常量(静态 String 常量,字段名/值含 PAGE_TAIL / 分页 / 残段,值含残段样例 34/167),作为分页表拼接残段的识别依据(§2.1 / T12)。当前无残段标记常量,残段无法被识别与清洗。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheShellGuardContractTest", "case": "l1Layer_recognizesEmptyShell26", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.shellGuard] L1 层应识别空壳签名 26 键(静态 int 常量 26,曾误用艾德范思提取器仅产 26 键),判为空壳后换正确提取器(T13)。当前无空壳签名检测,26 键空壳将不被识别。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheShellGuardContractTest", "case": "l1Layer_declaresGuheV2KeyBoundary32", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.shellGuard] L1 层应声明 guhe_v2 总键数 32(静态 int 常量 32,§2.1 旧 21 键 + 11 增量键),以区分完整 guhe_v2 报告(32 键)与空壳(不足 32 键)。当前无 32 键边界(T13/L1-4)。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheShellGuardContractTest", "case": "l1Layer_declaresIncrementalKeys11", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.shellGuard] L1 层应声明增量 11 键基准(静态 String 键集合常量 size=11 且字段名含 KEY/KEYS/INCREMENTAL/增量,或静态 int 常量 11),作为 guhe_v2 解析后校验『增量 11 键齐全』的基准(§2.1 旧 21 键 + 11 增量键 = 32 键)。当前无增量键基准,无法判定空壳(T13/L1-4)。 ==> ex", "prod_frames": 0 }, { "class": "GuheShellGuardContractTest", "case": "dispatchService_providesShellGuardEntry", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.shellGuard] ReportParserDispatchService 应提供空壳守卫入口(方法名含 Shell / KeyComplete / ValidateKeys / AssertKeys,如 guardShell),在 guhe_v2 解析后校验增量 11 键齐全(T13/L1-4)。当前 parseReport 仅做 指纹→专用解析器/LLM 兜底,无空壳检测", "prod_frames": 0 }, { "class": "GuheShellGuardContractTest", "case": "l1Layer_addressesCorrectExtractor", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.shellGuard] L1 层(ReportParserDispatchService / ReportFingerprintService / PdfParseService)应寻址正确提取器(静态 String 常量值含 \"extract_guhe_v2\"),在空壳(26 键)检测到时切换用正确提取器(T13『空壳→换正确提取器』)。当前无 extract_guhe_v2 ", "prod_frames": 0 }, { "class": "GuheV2RouteContractTest", "case": "routeLayer_registersTriggerWord_firmicutesBacteroidetesRatio", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.guheV2Route] L1 指纹路由层应可寻址 guhe_v2 触发词锚点「厚壁菌比拟杆菌比值」(静态 String 常量值含之,T7 指纹识别特征,§2.1)。当前 src/main 无此触发词,32 键 guhe_v2 新版报告无法被指纹识别路由。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheV2RouteContractTest", "case": "routeLayer_providesGuheV2KeyCountSelfCheck", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.guheV2Route] L1 路由层应提供 guhe_v2 32 键自检入口(方法名含 keyCount/selfCheck,或静态 int 常量名含 GUHE_V2 且值为 32)。契约:旧 21 键打底 + 11 增量键 = 32 键,路由/解析后须自检键数齐全(T7 键数自检 32 键,§2.1)。当前无自检入口,32 键报告键数完整性无法保证。 ==> e", "prod_frames": 0 }, { "class": "GuheV2RouteContractTest", "case": "routeLayer_declaresRouteChainOrder", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.guheV2Route] L1 指纹路由层应声明判定链顺序常量(值含 aidefansi→beijing→guhe_v2→standard 完整链),保证 guhe_v2 在 beijing 之后、standard 之前被判定(T7/L1-1,§2.1)。当前未声明,32 键新版报告可能被误判为标准格式而丢失增量 11 键。 ==> expected: but wa", "prod_frames": 0 }, { "class": "GuheV2RouteContractTest", "case": "routeLayer_registersTriggerWord_diseaseSimilarAssessment", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.guheV2Route] L1 指纹路由层应可寻址 guhe_v2 触发词锚点「疾病相似评估」(静态 String 常量值含之,T7 指纹识别特征,§2.1)。当前 src/main 无此触发词,32 键 guhe_v2 新版报告无法被指纹识别路由。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheV2RouteContractTest", "case": "routeLayer_registersTriggerWord_subhealthAndDietUnreasonable", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.guheV2Route] L1 指纹路由层应可寻址 guhe_v2 触发词锚点「亚健康及营养饮食不合理」(静态 String 常量值含之,T7 指纹识别特征,§2.1)。当前 src/main 无此触发词,32 键 guhe_v2 新版报告无法被指纹识别路由。 ==> expected: but was: ", "prod_frames": 0 }, { "class": "GuheV2RouteContractTest", "case": "routeLayer_registersGuheV2Stage", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.guheV2Route] L1 指纹路由层(PdfParseService / ReportFingerprintService / ReportParserDispatchService)应注册判定阶段「guhe_v2」(静态 String 常量值含之),使判定链 aidefansi→beijing→guhe_v2→standard 的阶段可寻址(T7/L1-1)。当前 src", "prod_frames": 0 }, { "class": "GuheVersionSplitContractTest", "case": "l1Layer_addressesGuheV2DedicatedParser", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.versionSplit] L1 层(ReportParserDispatchService / ReportFingerprintService)应寻址 guhe_v2 专用解析器(字符串常量值含 \"extract_guhe_v2\"),使 32 键 guhe_v2 报告进入专用解析分支,**不落入** unknown→LLM 兜底(T8 禁把 32 键误判成路由错误)。当前 g", "prod_frames": 0 }, { "class": "GuheVersionSplitContractTest", "case": "l1Layer_declaresLegacy21KeyBoundary", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.versionSplit] L1 层应声明 21/32 键数边界(静态 int 常量 21 与 32 并存),以区分旧 21 键与原 v5 流程、32 键走 guhe_v2(§2.1 旧 21 键 + 11 增量 = 32 键)。当前无键数边界标记,旧 21 键无法与 guhe_v2 隔离,存在被强套 guhe_v2 风险(T8 禁把旧 21 键强套 guhe_v2)。 ==> ", "prod_frames": 0 }, { "class": "GuheVersionSplitContractTest", "case": "parsedReportResult_exposesGuheV2FormatMarker", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.versionSplit] ParsedReportResult 应暴露 guhe_v2 格式版本标记(静态字符串常量值为 \"guhe_v2\"),使新版 32 键格式与旧 beijing/guhe 可区分(§2.1 判定链 aidefansi→beijing→guhe_v2→standard)。当前实现仅 beijing/guhe,格式版本分流未落地。 ==> expected:", "prod_frames": 0 }, { "class": "GuheVersionSplitContractTest", "case": "dispatchService_providesFormatVersionSplitEntry", "kind": "F", "type": "AssertionFailedError", "msg": "[guhe.l1.versionSplit] ReportParserDispatchService 应提供按报告格式版本分流入口(方法名含 FormatVersion / VersionSplit,如 routeByFormatVersion),按『报告格式版本』分流:32 键→guhe_v2 提取器、旧 21 键→原 v5 流程(T8/L1-3)。当前 parseReport 仅做 指纹→专用", "prod_frames": 0 }, { "class": "ServiceRoleApproveTest", "case": "planner_已有同手机号admin则更新不重复插入", "kind": "E", "type": "NullPointerException", "msg": "java.lang.NullPointerException", "prod_frames": 0 }, { "class": "ServiceRoleApproveTest", "case": "planner_通过后写teacher_status并创建admins记录", "kind": "E", "type": "NullPointerException", "msg": "java.lang.NullPointerException", "prod_frames": 0 }, { "class": "TaskPlanServiceTest", "case": "applyAndActivate_无active实例时新建并置active", "kind": "F", "type": "AssertionFailedError", "msg": "expected: <100> but was: ", "prod_frames": 0 }, { "class": "TeamProfitCronContractTest", "case": "refundWithinCooling_cancelAllRecordsFundsNotPaid", "kind": "F", "type": "AssertionFailedError", "msg": "冷静期内订单退款:对应 team_share_record / team_award_record 全部 cancelled、资金不发放(§8.2),cancelled=0 ==> expected: but was: ", "prod_frames": 0 } ], "identity": { "at_test": 2741, "parameterized_methods": 1, "disabled_classes": [ "DataMigrationServiceTest", "TaskServiceMinigameTest", "TeacherLoginTest" ], "disabled_inner": 20, "placeholders": 3, "base_executed": 2724, "actual_executed": 2753, "param_expansion_net": 29 }, "silent_missing": [] }