{ "_doc": [ "测试范围声明:**哪些跳过是允许的**。judge 在 scripts/ci_checks.py 里读这个文件。", "极性是『默认必需』:没在这里声明的测试,一旦被 SKIP / PENDING ⇒ 门禁红(必需项不能报通过)。", "只有『确实需要外部环境、本仓拿不到』的集成/外部依赖用例才写进来,每条必须写清理由。", "package 级条目 = 该包里所有 skip 都算『可选未运行』(例如整个包都依赖 TEST_DATABASE_URL)。", "test 级条目 = 只豁免那一个用例(包里其它用例仍是必需的)。", "报告里会把这些『可选未运行』的条数与原因如实列出 —— 记录,不等于通过。", "⚠️ 文件缺失或解析不了 ⇒ 门禁红:范围声明不出来时,不许默认放行。" ], "optional": [ {"package":"knowledge-governance/internal/qaopsmirror","test":"TestAILiveBailianPersistsAssessmentAndTranslation","reason":"真实百炼付费调用仅在明确用户授权、独立注入凭据、精确opt-in及一次性隔离库下执行;普通CI不携带服务密钥或消耗配额,本批另行真实后台与浏览器验收"}, {"package":"knowledge-governance/internal/qaopsmirror","reason":"本包所有集成用例只在显式一次性 loopback kg_qaops_mirror_test_ 库运行;默认 CI 不连共享或生产库;隔离 PG -race 另行实跑"}, { "package": "knowledge-governance/internal/qaopsquality", "test": "TestQualityStoreImmutableHistoryReplayConcurrencyAndStaleness", "reason": "仅在显式一次性 loopback kg_qaops_quality_test_ 库执行;默认 CI 不连接共享/生产库,隔离 PG 另行实跑" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestQARecordInternalIdentityAndWholeFilterKeys", "reason": "必须显式一次性隔离PG;验证真实只读SQL身份关联/计数及隐私,不连接生产;默认无库时明确跳过,另行本地补验" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestQAUsageGroupsCountEventsOnceOverTheFullFilter", "reason": "必须显式一次性隔离PG;验证真实只读SQL身份关联/计数及隐私,不连接生产;默认无库时明确跳过,另行本地补验" }, { "package": "knowledge-governance/internal/qaopsorg", "test": "TestDirectorySyncQueueDurableReplayAndLeaseFencing", "reason": "仅显式一次性隔离PG库验证持久化入队、并发重放、进程接管与租约栅栏;不调用真实钉钉源、不连接共享或生产库;默认CI无库则明确跳过" }, { "package": "knowledge-governance/internal/qaopsorg", "test": "TestOrganizationStoreRoundTripAndOptimisticConflict", "reason": "仅在显式KG_QAOPS_ORG_TEST_ISOLATED=1且127.0.0.1上的一次性kg_qaops_org_test_库运行;写入治理侧快照与配置,禁止使用共享或生产库;本批已在隔离PG补验" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestSSHDialerTransportsRealTraffic", "reason": "需要已批准 SSH 路径和只读版本接口;CI 不带生产 SSH 凭据,缺环境时显式跳过" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestSSHTunnelCloseReapsChild", "reason": "需要已批准 SSH 目标来验证子进程回收;无路径的 CI 不应尝试建立生产连接" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestReadOnlyRepositoryAgainstFixtureDatabase", "reason": "需显式 KG_DOBOTAI_TEST_ISOLATED=1 且 TEST_DATABASE_URL 通过隔离库护栏,CI 不建生产测试表;本批已在一次性测试库补验" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestBuildRefusesUnsafeAccountsAndTargets", "reason": "只在显式一次性测试库创建危险权限夹具,不在生产库验证写入;本批已在隔离库补验" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestSourceRechecksEffectivePrivilegesBeforeEveryQuery", "reason": "在一次性测试库模拟额外表写权限,测试前须通过隔离护栏;本批已实际补验" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestQARecordSearchPreservesSourceAndDoesNotMultiplyFeedback", "reason": "完整查询/反馈/游标/空列验证需要显式一次性测试库;本批已在隔离库补验" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestProductionReadOnlyCombinedVerification", "reason": "需独立批准的生产只读账号文件与 SSH 路径并显式 KG_DOBOTAI_PROD_VERIFY=1;CI 永不自动读取生产库" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestProductionQAQueryReadOnlyVerification", "reason": "真实源查询端到端验证仅在显式 KG_DOBOTAI_PROD_VERIFY=1、批准的凭据文件与 SSH 路径下执行;CI 不访问生产,测试不写源库" }, { "package": "knowledge-governance/internal/platform/postgres", "reason": "整个包的集成用例都要 TEST_DATABASE_URL 指向可销毁测试库;本仓不连生产库,CI 无库 ⇒ 跳过(补验路径:起一次性 PG 后设 TEST_DATABASE_URL)" }, { "package": "knowledge-governance/internal/releaseadapter/v071", "reason": "v0.7.1 源/目标库与 MinIO 集成环境;无环境即跳过" }, { "package": "knowledge-governance/cmd/pp-ledger-import", "reason": "导入器集成用例需要 TEST_DATABASE_URL" }, { "package": "knowledge-governance/cmd/release-worker", "reason": "release runtime 集成用例需要受限文件与运行时环境变量" }, { "package": "knowledge-governance/internal/monitoring", "reason": "真实服务健康矩阵 / 指标窗口用例需要外部服务可达" }, { "package": "knowledge-governance/internal/httpapi", "test": "TestUISettingsWriteReadBackIntegration", "reason": "系统设置写回读用例需要一个运行中的实例" }, { "package": "knowledge-governance/internal/httpapi", "test": "TestUISettingsWriteReadBackWithLiveVerification", "reason": "同上(带实时校验的那条)" }, { "package": "knowledge-governance/internal/version", "test": "TestNumberMatchesChangelog", "reason": "未注入版本号时按设计 SKIP(本地跑全量测试不该被迫先构建);**它的强制点在 contracts 项**:那里带 -ldflags 跑它并断言真的 PASS、且出现 SKIP 就判红" }, { "package": "knowledge-governance/internal/version", "test": "TestDevBuildDoesNotClaimRelease", "reason": "构建身份未注入时按设计 SKIP(本地跑全量测试不该被迫先构建);**它的强制点在 contracts 项**:那里带 -ldflags 跑它并断言真的 PASS、且出现 SKIP 就判红" }, { "package": "knowledge-governance/internal/version", "test": "TestReleaseBuildRequiresEvidence", "reason": "构建身份未注入时按设计 SKIP(本地跑全量测试不该被迫先构建);**它的强制点在 contracts 项**:那里带 -ldflags 跑它并断言真的 PASS、且出现 SKIP 就判红" }, { "package": "knowledge-governance/internal/versionhistory", "test": "TestLiveSyncAgainstRealRepository", "reason": "真实仓库的只读同步用例需要内部可达的 Gitea(**匿名**,不读凭据);无环境即跳过(补验路径:设 VERSION_HISTORY_LIVE_BASE_URL 后单跑这条)" }, { "package": "knowledge-governance/internal/qaopsmirror", "test": "TestLocalMirrorQueriesNeverRequireSource", "reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收" }, { "package": "knowledge-governance/internal/qaopsmirror", "test": "TestLocalMirrorDurableQueueCoalescesAndAudits", "reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收" }, { "package": "knowledge-governance/internal/qaopsmirror", "test": "TestLocalMirrorSyncActivatesAndCheckpoints", "reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收" }, { "package": "knowledge-governance/internal/qaopsmirror", "test": "TestLocalMirrorPeriodicSyncIsDurableAndDueOnly", "reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收" }, { "package": "knowledge-governance/internal/dobotaiops", "test": "TestMirrorSourceManifestDetectsUpdatesWithoutVolatileTimes", "reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收" } ] }