KB-69B2
TD — P1 SPLIT/MERGE Metadata Propagation Gap
3 min read Revision 1
tdp1splitmergemetadatamiếng-thông-tingapdecision-backlog
TD — P1 SPLIT/MERGE Metadata Propagation Gap
Date: 2026-05-15 Status: OPEN — Decision Backlog Entry (pre-P0-5; tracked as KB file) Priority: P1 Owner: GPT (G-2 Backlog Custodian) + User Source: User observation during MCP server app 2 phiên, sau khi review dot-iu-cutter v0.1 P0 pipeline
Vấn đề
v0.1 dot-iu-cutter thiết kế cho cắt lần đầu (source document → miếng). Chưa có pipeline tự động cho:
- SPLIT — tách 1 miếng đã cắt → 2+ miếng nhỏ hơn
- MERGE — gộp 2+ miếng → 1 miếng lớn hơn
Cả hai thao tác KHÔNG CHỈ là tách/gộp text — phải propagate toàn bộ metadata:
Khi SPLIT:
canonical_addressgốc → 2+ address mớibirth_registry→ miếng gốc marked superseded, miếng mới khai sinhuniversal_edges→ phân bổ lại (edge nào thuộc miếng con nào)section_type,unit_kind→ có thể thay đổi cho sub-piecesrender_order→ tính lạipublication_member→ cập nhậtlifecycle_log→ ghi "split event"identity_profile→ hierarchy thay đổi
Khi MERGE:
- 2+
canonical_addresses→ 1 address mới - Edges nội bộ giữa miếng → xóa
- Edges ra ngoài → gộp, loại trùng
- Metadata → viết lại tổng hợp (section_type/unit_kind của miếng gộp)
birth_registry→ cũ superseded, mới khai sinhlifecycle_log→ ghi "merge event"
Detection signals đã thiết kế (Q21/Q22):
- co-citation, co-edit, co-retrieval, edge_density_overlap → auto-flag coupling
- Segmentation Health Report định kỳ
- Nhưng chưa có pipeline xử lý SAU khi flag
Quyết định
Ghi nhận là P1 capability — sau khi v0.1 cắt lần đầu chạy ổn, thiết kế SPLIT/MERGE pipeline.
Khi P0-5 live
Chuyển TD này thành decision_backlog_entry chính thức trong PG.
Liên kết
- Q16 (merge discussion) — phiên miếng thông tin trước đó
- Q21 (detection signals) — phiên miếng thông tin trước đó
- Q22 (rà soát định kỳ) — phiên miếng thông tin trước đó
- D3 §4.2 (health signal catalog) — detection signals
- Nguyên tắc 8: "Cắt không phải quyết định cuối cùng"