{
  "baseline": "0baa9ebe8b7f9ecc46f675acbf1f56ac65378957",
  "formalCount": 17,
  "conditionalCount": 2,
  "claims": "隔离探针只证明列出的生产方法行为；完整项目编译/JUnit/业务环境未验证",
  "items": [
    {
      "id": "AUDIO-N01",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishPublishBizServiceImpl.java",
          "line": 108,
          "symbol": "public PublishResultBo publishAudioWord"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishPublishBizServiceImpl.java",
          "line": 119,
          "symbol": "public PublishResultBo publishAudioPhrase"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/impl/EnglishAudioBackfillBizServiceImpl.java",
          "line": 218,
          "symbol": "private void publishReleased"
        }
      ],
      "logic": "音频自动发布使用独立入口，在与人工保存/发布相同的实体锁内重读status和hasPublished；只有当前PUBLISHED且曾发布才复用完整发布。草稿返回未发布结果，PROD旧版本保留。",
      "verification": "新增EnglishAudioPublishGuardRegressionTest（未执行）；锁外旧快照/锁内草稿路径已静态核对。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "AUDIO-N02",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/impl/EnglishAudioBackfillBizServiceImpl.java",
          "line": 262,
          "symbol": "private boolean handleInFlight"
        }
      ],
      "logic": "总超时判定前置到queryTask之前，覆盖query异常、completed下载失败、running/null全部分支；cancel异常被单独接住，仍计失败并清在途任务。预算内下载失败保持任务，下轮重试。",
      "verification": "verification/red-audio.txt -> green-audio.txt；4个超时分支及预算内失败保留实跑。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "AUDIO-N03",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/impl/EnglishAudioBackfillBizServiceImpl.java",
          "line": 161,
          "symbol": "private void submit("
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/impl/EnglishAudioBackfillBizServiceImpl.java",
          "line": 262,
          "symbol": "private boolean handleInFlight"
        }
      ],
      "logic": "submit成功不再清计数；终态failed/cancelled与超时每个已结束尝试计一次，只有成功回填或检测到人工已补齐时清计数。提交API抛错仍计数，7天冷却保持现有契约。",
      "verification": "verification/green-audio.txt：终态累计、成功清零；submit计数路径静态核对。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "AUDIO-N04",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/impl/EnglishAudioBackfillBizServiceImpl.java",
          "line": 115,
          "symbol": "private List<EnglishWordDo> pendingWords"
        },
        {
          "path": "code/infrastructure/repository/src/main/java/cn/jojo/cc/core/service/impl/english/EnglishWordCoreServiceImpl.java",
          "line": 260,
          "symbol": "listAudioPendingSubmitAfterId"
        }
      ],
      "logic": "三张表增加严格id>afterId的DAO查询入口。每张表用独立Redis游标跨调度推进；页满推进到最后候选，页不足归零，达到失败上限/非自动出身变形也不能永久占住最早一页。",
      "verification": "接口/实现/调用三处均已给出；未实跑Redis游标和真实数据库分页。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "AUDIO-N05",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/infrastructure/repository/src/main/java/cn/jojo/cc/core/service/impl/english/EnglishWordCoreServiceImpl.java",
          "line": 307,
          "symbol": "public boolean markAudioCompleted"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishAudioCompletionTxService.java",
          "line": 25,
          "symbol": "public boolean complete"
        }
      ],
      "logic": "单词条件更新音频时同一SQL重算完整性：word、phonetic非空，存在活翻译且无空词性/译文。音频回填和TEACHING缓存失效、受控补发布事件同JY事务提交；变形按phraseId失效聚合详情。",
      "verification": "SQL/事务及outbox调用静态核对；完整性数据库UPDATE、缓存实际消费未执行。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "JY/PROD先部署outbox DDL",
        "englishDictOutboxReplay每分钟持续"
      ]
    },
    {
      "id": "SEG01",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/EnglishSegmentSkeletonBizService.java",
          "line": 19,
          "symbol": "public void ensurePair"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/QuestionSegmentStateTxService.java",
          "line": 29,
          "symbol": "public QuestionSegmentDo reserveTeachingIdentity"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/SegmentRefreshBizServiceImpl.java",
          "line": 191,
          "symbol": "private boolean refreshQuestion"
        }
      ],
      "logic": "首次发布不要求JY已有NORMAL结果。按正式题型先在JY保留唯一身份，再递减映射PROD骨架；发布及全量刷新缺行路径都调用同一成对建行服务。PROD禁止自行reserveIdentity/自增。",
      "verification": "JY身份->PROD映射->INIT->刷新接线静态核对；跨库ID实值与调度未跑。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "SEG02",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/QuestionSegmentSaveHookService.java",
          "line": 61,
          "symbol": "public void hookSave"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/impl/schema/process/oss/GenerateOutPutDataService.java",
          "line": 84,
          "symbol": "String segmentSourceHash"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/SegmentPayloadIdentity.java",
          "line": 9,
          "symbol": "public record SegmentPayloadIdentity"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/DefaultSegmentTextExtractor.java",
          "line": 103,
          "symbol": "public RichTextSource readRichTextSource"
        },
        {
          "path": "code/api/api-server/src/main/java/cn/jojo/cc/server/service/impl/QuestionServiceImpl.java",
          "line": 1847,
          "symbol": "SelectedSegmentOutput.capture"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/EnglishSegmentDeliveryBizService.java",
          "line": 76,
          "symbol": "Map<String, SelectedSegmentOutput> selectedOutputs"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/EnglishSegmentOutputIdentityRecoveryBizService.java",
          "line": 76,
          "symbol": "private void recover"
        }
      ],
      "logic": "保存事务内仅登记事件，提交后独立失信，派生失败不回滚主体。输出生成前记录稳定canonical原FormData输入hash；分词在同一次原输入读取中取得文本、输入hash、本库formDataId/configId，并只绑定确由该输入生成的完整输出JSON hash。缓存URL/输入hash/formId及scalar完整输出hash来自同一OutputData行；输出hash在loadDB解析原输出后生成并存为scalar，Redis默认序列化丢嵌套null时不重算。RPC选URL时固定不可变凭据随本次请求传给delivery。库存四项身份与环境都相同才下发，v1响应不能被后读v2分词替换。缺身份安全省略；恢复Job必须每分钟持续调度，真实重生成、驱逐缓存、force重算，不能完整一轮后停用，绝不给旧URL现场贴新hash。总开关/执行急停在Job取锁前阻断，服务及重生成前复检。",
      "verification": "verification/red-response-binding.txt -> green-response-binding.txt：完整生产Delivery/Identity/SelectedOutput+逐字RPC fill方法，外围替身。8项包括先选v1再DB/分词v2必须null、同v2正常、旧缓存拒绝、canonical null/数组/对象序。真实生成器/OSS/双库Job未跑。 verification/green-cache-roundtrip.txt使用真实BO/default serializer验证Redis往返null丢失下scalar仍一致，旧缺scalar拒绝；green-job-pause.txt执行完整Job，暂停0锁/0服务调用，正常对照1/1。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "JY/PROD先部署3份DDL",
        "englishDictOutboxReplay每分钟持续",
        "englishSegmentOutputIdentityRecover每分钟持续，不能一轮后停用",
        "正常扫描周期按每库ceil(N/50)+1个成功调度轮加执行时间估算；锁跳过/暂停/失败重试无无条件墙钟上界"
      ]
    },
    {
      "id": "SEG03",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/QuestionSegmentTxService.java",
          "line": 22,
          "symbol": "public <T> T compute"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/QuestionSegmentTxService.java",
          "line": 29,
          "symbol": "public void recordFailure"
        },
        {
          "path": "code/infrastructure/repository/src/main/java/cn/jojo/cc/core/dao/english/QuestionSegmentDao.java",
          "line": 20,
          "symbol": "lockQuestion("
        }
      ],
      "logic": "外层先检查executionEnabled，再经独立代理compute事务SELECT真实cc_new_question WHERE del_flag=0 FOR UPDATE，拒绝旧revision，改用锁内重读题目。跨内容位写入/空集合删除同题锁事务。异常先退出代理回滚释放锁，再由外层调用另一个REQUIRES_NEW事务重锁、核当前revision及可用正文指纹，登记FAILED/retry_count/last_error，绝不让失败登记随原事务回滚或持原锁再自锁。",
      "verification": "verification/red-segment-wave.txt -> green-segment-wave.txt，真实Spring事务拦截器的事件序列为begin/lock/rollback/begin/lock/failed/commit；内存事务manager及DAO替身，非真实MySQL锁/持久化验证。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "SEG04",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/common/src/main/java/cn/jojo/cc/common/utils/EnglishWords.java",
          "line": 31,
          "symbol": "public static boolean isWordChar"
        }
      ],
      "logic": "数字统一按分隔符；nextToken、isWordToken、边界判定共用ASCII字母规则，避免cat2dog、3look/up4进入词典。撇号和hyphen仍仅两侧字母时保留。",
      "verification": "verification/red-words.txt -> green-words.txt（实际编译完整生产EnglishWords）。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "01",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishImportFileReader.java",
          "line": 324,
          "symbol": "private List<Record> readRecords"
        }
      ],
      "logic": "CSV在EOF仍处于引号内时整文件拒绝，并报记录起始物理行；只允许字段开头开引号，闭引号后只允许逗号/换行/EOF。有效引号换行/双引号转义保留；记录行号改为起始物理行。文件在解析完成后才进入写入。",
      "verification": "verification/red-import.txt -> green-import.txt；完整Reader、Normalizer实际隔离javac。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "02",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishImportFileReader.java",
          "line": 163,
          "symbol": "boolean invalidVariant"
        }
      ],
      "logic": "一个非空variant非法就break且整行不进入rows；撤销该无效行的文件内firstSeen占用，后续同key修正行仍能导入。合法去重及与原形同串的变体丢弃保持。",
      "verification": "verification/green-import.txt实际拒整行；新增JUnit覆盖同文件修正同key，未运行。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "03",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishDictImportBizServiceImpl.java",
          "line": 353,
          "symbol": "Integer limit = null"
        }
      ],
      "logic": "下载前校验显式limit必须为JSON整数类型，严格>0且<=Integer.MAX_VALUE；0、负数、小数、数字字符串、null、溢出拒绝。只有省略limit表示全文件。",
      "verification": "Param原嵌套类隔离javac，green-import.txt；JUnit另列小数/溢出/null/string未运行。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "06",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishDictPublishProServiceHelper.java",
          "line": 141,
          "symbol": "englishDictOutboxCoreService.enqueue(\"WORD_CACHE\""
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishDictOutboxBizService.java",
          "line": 28,
          "symbol": "public int replay"
        },
        {
          "path": "code/api/admin-worker/src/main/java/cn/jojo/cc/worker/task/EnglishDictOutboxJobHandler.java",
          "line": 15,
          "symbol": "@XxlJob"
        }
      ],
      "logic": "发布PROD主从数据与失效事件同一PROD事务提交，JY改为PUBLISHED不会丢补偿身份。Job按retry_after扫描JY和PROD两库，使用真实sendN同步等broker确认；失败留待办并退避，短语版本推进用可抛错可靠入口。delivered_time保留确认记录。内部PublishResultBo保留pending，BatchPublishResultBo增加pendingCacheCount（包含于PROD successCount），Job显式记录待失效数；HTTP Boolean保持既有契约，仅表示PROD提交及失效待办登记，不表示跨实例消费完成。",
      "verification": "完整DDL/DO/DAO/Core/Biz/Job/真实调用已接线，未部署DDL/注册Job/运行broker。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "JY/PROD先部署outbox DDL",
        "englishDictOutboxReplay每分钟持续"
      ]
    },
    {
      "id": "10",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/SegmentAutoFillBizServiceImpl.java",
          "line": 143,
          "symbol": "private void autoFillOne"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishPublishBizServiceImpl.java",
          "line": 132,
          "symbol": "public PublishResultBo publishAutoFillWord"
        }
      ],
      "logic": "文本锁内先查活词，再查含删除行；存在则直接复用，不查百度。仅确实不存在才查询百度并保存。文本锁释放后进入实体锁内验证自动补录、从未发布且auto_publish_eligible=1，才发布。新建补录置1，任何人工saveWord清0；不再用createTime==updateTime推断未编辑。新列在JY/PROD部署，存量默认0且禁止用旧审计时间回填资格。",
      "verification": "verification/red-eligibility.txt -> green-eligibility.txt：同秒flag0/null旧代码误发布、修复后拒绝；原方法逐字提取，外围替身。百度先幂等路径与人工清flag静态核对；真实百度/MQ未跑。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "JY/PROD先部署auto_publish_eligible DDL，历史默认0不得按秒审计回填1"
      ]
    },
    {
      "id": "13",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishDictWriteTxService.java",
          "line": 533,
          "symbol": "target.setPos(PartOfSpeechEnum.normalizeKnownCodes"
        }
      ],
      "logic": "翻译实际落库值改为PartOfSpeechEnum的规范串，与原校验使用同一函数；重复n.等输入不再以超长原串写VARCHAR96。",
      "verification": "静态确认写入点已用规范值；未执行真实MySQL严格模式。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "14",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishPhraseBizServiceImpl.java",
          "line": 129,
          "symbol": "TextNormalizer.normalize(bo.getPhrase()), bo.getStatus()"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/dict/EnglishWordBizServiceImpl.java",
          "line": 116,
          "symbol": "TextNormalizer.normalize(bo.getWord()), bo.getStatus()"
        }
      ],
      "logic": "单词与短语管理精确搜索都使用保存时相同TextNormalizer：小写、trim、连续空白压单空格。",
      "verification": "TextNormalizer复用和两个调用点静态核对；未运行管理API。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "23",
      "kind": "formal",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/api/admin-worker/src/main/java/cn/jojo/cc/worker/task/EnglishBatchPublishTask.java",
          "line": 190,
          "symbol": "private static int positiveLimit"
        }
      ],
      "logic": "纯数字/键值limit都严格正整数，非空参数必须至少解析一个有效键值；显式0和纯逗号参数在任何publish调用前失败。空参数及未给limit仍按原规则全量。",
      "verification": "verification/red-batch.txt -> green-batch.txt；完整Task实际隔离javac，非法参数零写，150/2限量正确。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "COND-IPA",
      "kind": "conditional",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/common/src/main/java/cn/jojo/cc/common/utils/EnglishWords.java",
          "line": 195,
          "symbol": "private static int phoneticSpanEnd"
        }
      ],
      "logic": "识别Unicode IPA字符块及有边界的/ASCII音标/；跳过括号中可识别IPA，不把and/or中的斜杠当音标起点；[ordinary words]保留。无法可靠区分无标记纯ASCII音标，明确保留。 DefaultSegmentTextExtractor保留原IPA token交统一扫描器处理，避免先剔IPA字母留下ASCII碎片；旧fixture已相应迁移。",
      "verification": "verification/green-words.txt覆盖/kæt/、[dɒɡ]、/kat/、and/or与普通方括号；未标记纯ASCII仍是条件边界。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    },
    {
      "id": "COND-INDEX",
      "kind": "conditional",
      "status": "code-integrated-reviewed-not-runtime-verified",
      "locations": [
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/cache/english/EnglishPhraseIndexCacheService.java",
          "line": 190,
          "symbol": "public PhraseIndexSnapshot freshSnapshotForWrite"
        },
        {
          "path": "code/application/src/main/java/cn/jojo/cc/biz/service/english/segment/QuestionSegmentBizServiceImpl.java",
          "line": 269,
          "symbol": "freshSnapshotForWrite(segmentSource)"
        }
      ],
      "logic": "保留read readySnapshot的旧索引降级；持久化分词专用freshSnapshotForWrite强制版本比对，再确认句柄version等于实际远端，Redis不可读/重装失败/unknown版本返回null跳过落库及补录。",
      "verification": "读写入口分离和校验静态核对；Redis失败与多实例重装未实跑。",
      "runtimeVerified": false,
      "deploymentPrerequisites": [
        "统一交付整体部署以顶层commonDeploymentPrerequisites为准；本项无额外独立新Job"
      ]
    }
  ],
  "reviewRound1": {
    "source": "REVIEW.md",
    "state": "addressed-final-review-pass-code-design-only",
    "evidence": [
      "verification/green-sql-contract.txt",
      "verification/green-segment-wave.txt",
      "verification/green-eligibility.txt"
    ]
  },
  "reviewRound2": {
    "source": "REVIEW-FINAL.md",
    "state": "addressed-final-review-pass-code-design-only",
    "snapshot": "review-round1-baseline",
    "evidence": "verification/green-response-binding.txt"
  },
  "reviewRound3": {
    "state": "addressed-final-review-pass-code-design-only",
    "evidence": [
      "verification/green-cache-roundtrip.txt",
      "verification/green-job-pause.txt",
      "verification/final-probe-runs.json"
    ]
  },
  "commonDeploymentPrerequisites": [
    "JY/PROD都先执行code/database/597084-english-dict-outbox.sql",
    "JY/PROD都先执行code/database/597084-autofill-eligibility.sql",
    "JY/PROD都先执行code/database/597084-output-source-identity.sql",
    "englishDictOutboxReplay与englishSegmentOutputIdentityRecover均建议每分钟且必须持续运行",
    "完整项目编译/JUnit/真实MySQL/Redis/OSS/MQ及Job配置未验证"
  ],
  "finalReview": {
    "source": "REVIEW-FINAL.md",
    "spec": "PASS",
    "quality": "PASS",
    "scope": "交付代码与本轮修复设计，不是完整工程/业务验收"
  }
}