chore(import): unsupported/failed 分项计数与键契约 JSDoc;NULL-entry 缝注释;lineage 语义注记

审查 cheap riders 四项:handleUnmappable 分项 unsupportedRecords/
failedRecords(按事件计——拆分只在分派点可知,Task 6 无从重derive,测试
对拍两键);ImportPipelineOutcome.counts 键契约注记(跨写入器扁平全局
命名空间、同名 CLOBBER 不求和、各键归属声明、Task 4 勿复用 'skipped');
六列 NULL-entry 已知死角缝注释(23505 → Task 6 收编);态 1 checksum-diff
的 import_job_id lineage 语义注记(source_records 留建行 job、新 job 记
content_revisions)。296 全绿;typecheck/lint 通过。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-21 18:19:37 +08:00
parent 2b61431da8
commit fe72df3afa
3 changed files with 48 additions and 4 deletions
@@ -127,6 +127,14 @@ export interface ImportJobContext {
* 无返回值,累加器现值原样进报告(部分产出可审计)。
*/
export interface ImportPipelineOutcome {
/**
* 计数块(原样进报告)。**键契约:counts 键是跨写入器的扁平全局命名空间**——
* 汇合规则按"返回值覆盖累加器同名键"合并(ctx.report.counts ⊕ outcome.counts),
* 同名键 **CLOBBER 不求和**:各写入器必须各持独占键名并在自身 JSDoc 声明归属
* (Task 2 term-writer:termsProcessed/autoCreatedTerms/contentTermsCreated;
* Task 3 content-writer:contentEntries/revisionsCreated/sourceRecords/skipped/
* unsupportedRecords/failedRecords——Task 4 media-writer 起新键名,勿复用 'skipped')。
*/
counts: Record<string, number>
issues: string[]
}