{
  "format": "agent-article-v0",
  "article_id": "EA-248",
  "canonical_url": "/tools/ea-248-cdc-ai-knowledge",
  "page_type": "update_note",
  "claim_ids": [],
  "evidence_ids": [
    "EA-248-CURRENT-APPROVAL",
    "EA-248-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-248-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-06",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "CANDIDATE-EA248-FIRST-20261006-C2-RESCUE20261013",
    "BODY-SHA256:8413cd1662c58135f852f91c998e1a3f9a013598c3af43213e272c77da0094b1"
  ],
  "article_sources": [
    {
      "id": "EA-248-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "CANDIDATE-EA248-FIRST-20261006-C2-RESCUE20261013"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ",
        "EA_REVISION_LEDGER!A51:U51",
        "EA-248-FIRST-20261006"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-248-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-13",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:8413cd1662c58135f852f91c998e1a3f9a013598c3af43213e272c77da0094b1"
      ],
      "supporting_locators": [
        "content/staging/EA-248.md",
        "8413cd1662c58135f852f91c998e1a3f9a013598c3af43213e272c77da0094b1",
        "EA-248-FIRST-20261006"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "PUBLIC_CLAIM",
      "text": "Change Data Capture（CDC）は、databaseの変更をAI/RAG knowledgeへ低遅延で届ける経路として利用できます。ただし、CDCを導入しただけでsource databaseからretrieval indexまでexactly-onceに一致するわけではありません。\nCDC transportと、document/chunk/embedding/search indexへのmaterializationを別のstate machineとして管理します。"
    },
    {
      "heading": "SNAPSHOT_AND_STREAM",
      "text": "初回snapshotと継続change streamの境界を明示します。\nconnector/database/versionによってはsnapshotとstreamの切替付近でduplicateが発生し得ます。snapshot完了というcontrol eventだけでduplicate-freeを仮定せず、source positionとevent identityをconsumerへ渡します。"
    },
    {
      "heading": "SOURCE_POSITION_AND_DEDUPE",
      "text": "各materializationにsource database/table、entity/aggregate key、source offset/LSN/binlog position、event ID、operation、schema version、transform/chunker version、embedding model/version、materialized-at timestampを結び付けます。\n同一eventの再配送をidempotentに処理し、既に適用済みのsource positionより古いeventを無条件に上書きしません。"
    },
    {
      "heading": "EXACTLY_ONCE_BOUNDARY",
      "text": "Kafka Connectにはsource connector向けexactly-once supportがありますが、connector capability、worker configuration、distributed mode等の条件があります。\nこのexactly-once boundaryをembedding APIやvector/search indexへの外部writeまで拡張して解釈しません。\nsource→Kafkaがtransactionalでも、Kafka→transform→embedding→indexは別のfailure/transaction domainです。各段階でidempotency、precondition、readbackを設計します。"
    },
    {
      "heading": "SCHEMA_EVOLUTION",
      "text": "historical change eventを常にcurrent database schemaでdecodeしません。\nDebeziumのようにschema historyを保持する実装では、eventが発生した時点のschemaを再構成する仕組みがあります。schema changeとconsumer rolloutの順序を管理し、未知schemaをsilent coercionしません。"
    },
    {
      "heading": "MATERIALIZATION_VERSION",
      "text": "database rowをそのままembedding identityにしません。\ncanonical document生成、chunking、normalization、embedding modelのversionをmaterialization identityへ含めます。transform/versionが変わった場合は、同じsource rowでもrebuild対象として識別します。\nUPDATEでは新chunkを追加するだけでなく、旧chunkとの置換関係を確定します。"
    },
    {
      "heading": "DELETE_AND_TOMBSTONE",
      "text": "source delete eventを受信したことと、knowledge surfaceから実際に消えたことを分けます。\ndelete/tombstoneを処理した後、vector/search index、cache、derived document等の対象をreadbackし、残存がないか確認します。privacy erasureではbackup/retentionを含む別のdata-lifecycle要件も確認します。"
    },
    {
      "heading": "LAG_AND_WATERMARK",
      "text": "connector processがhealthyでもknowledgeがfreshとは限りません。\nsource positionからtransform、embedding、index commitまでのmaterialization watermarkを持ちます。source-to-index lag、oldest pending event、failed materializationを監視します。"
    },
    {
      "heading": "REBUILD_AND_BACKFILL",
      "text": "full rebuildやbackfillをlive streamと無制御に並走させません。\nrebuild開始時のcutover watermarkを固定し、snapshot由来recordとlive eventをdedupeします。rebuild完了後にwatermark以降のchangeを確実に適用してから切り替えます。"
    },
    {
      "heading": "RECONCILIATION",
      "text": "CDC streamだけを唯一のcorrectness detectorにしません。\n定期的にsource-of-truthとknowledge indexをreconcileし、entity inventory、version、hash/count、sampled content、delete stateを比較します。\nmissed event、offset rewind、transform failure、index partial write、stale chunkを検出した場合は、対象entityまたはbounded rangeを再materializeします。"
    },
    {
      "heading": "AUTHORIZATION_AND_DATA_SCOPE",
      "text": "CDC対象table/columnがretrieval利用を許可されているとは限りません。\nsource scope、tenant、data classification、row/field authorizationをmaterialization前に確認します。database access権限とAI retrieval公開範囲を同一視しません。"
    },
    {
      "heading": "FAILURE_ENVELOPE",
      "text": "snapshot/stream duplicate、source-log loss、offset rewind/loss、connector restart、schema evolution、key change、out-of-order/duplicate event、delete loss、transform/embed/index failure、stale chunk、model-version drift、lag、rebuild/live race、poison event、ACL drift、PII deletion residual、index eventual consistencyを想定します。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "本項は2026-10-06時点のDebeziumおよびApache Kafka Connect documentationとbounded local fixtureに基づきます。live database、CDC connector、Kafka、vector/search indexへのmutationは未実施です。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "CDCはAI knowledge更新の変更配送経路として有効ですが、source databaseからretrieval indexまでのexactly-once correctnessを自動的には保証しません。snapshot/stream境界、source offset、event dedupe、entity ordering、event時点schema、delete propagation、transform/embedding version、index writeのidempotency、watermarkと定期reconciliationを別々に検証してください。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "対象database、CDC connector/version、managed CDC、log retention、snapshot mode、offset形式、schema history/registry、index/vector store、chunk/embed model、ACL propagation、delete/retention、RPO/RTO、rebuild procedure、reconciliation SLOは未確認です。"
    },
    {
      "heading": "STOP_CONDITION",
      "text": "CDC transportとAI knowledge materializationを分離し、snapshot duplicate、exactly-once boundary、schema history、delete/readback、reconciliationを監査可能な運用境界として固定します。"
    }
  ],
  "human_url": "/tools/ea-248-cdc-ai-knowledge",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-248-cdc-ai-knowledge",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-248-cdc-ai-knowledge"
}