Satu riset diterbitkan sebagai artikel, newsletter, carousel, dan video. Seminggu kemudian, satu angka dikoreksi. Jika hubungan antarformat hanya tersimpan di ingatan tim, sebagian turunan dapat tetap membawa angka lama meskipun artikel utama sudah diperbaiki.
Content graph menyimpan hubungan antara sumber, klaim, aset, dan keluaran. PROV primer W3C memberi landasan untuk memodelkan entitas, proses, dan pihak yang terlibat dalam menghasilkan data. Rancangan editorial berikut menggunakan JSON sederhana; ia bukan implementasi lengkap standar PROV.
Jadikan klaim unit yang dapat dilacak
Artikel merupakan komposisi, bukan satu fakta tunggal. Pisahkan klaim faktual dari interpretasi, contoh simulasi, dan ajakan bertindak. Beri klaim identitas stabil yang tidak bergantung pada urutan paragraf.
Simpan versi sumber yang mendukung klaim dan lokasi buktinya. Jika klaim berubah makna, buat revisi baru. Mengganti teks pada ID yang sama tanpa revisi membuat keluaran lama tampak mendukung arti yang belum pernah direview.
Contoh struktur paket fiktif:
{
"package_id": "PKG-042",
"claims": [{
"id": "C01:r2",
"kind": "fact",
"text": "Layanan contoh masih private preview.",
"evidence": ["S01:r4:availability"]
}],
"outputs": [{
"id": "carousel:r3",
"channel": "carousel",
"uses": ["C01:r2"],
"status": "review_required"
}, {
"id": "newsletter:r1",
"channel": "email",
"uses": ["C01:r2"],
"status": "draft"
}]
}
Klaim dapat dipakai beberapa format, tetapi setiap format tetap punya konteksnya sendiri. Kalimat pendek pada carousel dapat menghilangkan syarat yang masih terlihat pada artikel. Pemetaan ID membantu menemukan turunan, bukan menjamin semua adaptasi benar.
Adaptasi kanal memerlukan kontrak yang berbeda
Tentukan tujuan pembaca per kanal. Artikel memberi ruang argumentasi dan sumber. Newsletter memilih sudut yang relevan untuk pembaca kembali. Carousel membagi urutan visual. Video membutuhkan narasi, tempo, dan kesesuaian antara ucapan serta gambar.
| Kanal | Kontrak editorial contoh | Pemeriksaan penting |
|---|---|---|
| Artikel | Klaim, konteks, sumber, batas | Bukti mendukung kalimat |
| Newsletter | Pilihan inti dan alasan relevansi | Ringkasan tidak melebihkan isi |
| Carousel | Satu gagasan utama per halaman | Syarat tidak hilang saat dipadatkan |
| Video | Naskah, adegan, subtitle | Teks dan narasi konsisten |
Jangan mengubah panjang konten hanya dengan memotong karakter. Jika batas kanal terlalu sempit untuk syarat penting, pilih sudut yang lebih kecil atau arahkan pembaca ke penjelasan lengkap. Konteks yang hilang merupakan perubahan makna, bukan sekadar perubahan format.
Bangun graf dependensi untuk koreksi
Simpan arah hubungan secara konsisten. Misalnya, C01:r2 → article:r5 berarti artikel menggunakan klaim tersebut. Relasi lain dapat menghubungkan artikel ke ringkasan yang dibuat darinya.
Kode Python lokal berikut menemukan semua turunan yang mungkin terdampak. Input adalah graf dependensi buatan, bukan data dari platform sosial:
from collections import deque
def affected_outputs(changed_id, children):
seen = {changed_id}
queue = deque([changed_id])
affected = set()
while queue:
current = queue.popleft()
for child in children.get(current, []):
if child in seen:
continue
seen.add(child)
affected.add(child)
queue.append(child)
return sorted(affected)
graph = {"C01:r2": ["article:r5", "carousel:r3"],
"article:r5": ["newsletter:r1", "video:r2"]}
print(affected_outputs("C01:r2", graph))
Algoritme menandai kandidat terdampak, bukan otomatis menyuntingnya. Editor perlu menilai apakah perubahan sumber memengaruhi klaim dan apakah keluaran sudah tersebar. Graf yang tidak lengkap akan melewatkan turunan, sehingga proses produksi harus mencatat relasi saat konten dibuat.
Versi dan persetujuan perlu bergerak bersama
Simpan revisi output yang direview, versi template, dan sumbernya. Ketika klaim berubah, ubah status turunan menjadi perlu review sesuai kebijakan. Hindari menggunakan persetujuan lama untuk berkas baru yang kebetulan memiliki nama sama.
Untuk beberapa editor yang bekerja bersamaan, gunakan pemeriksaan versi saat menyimpan. ETag dan If-Match memberi pola HTTP untuk mendeteksi perubahan representasi. Aplikasi tetap perlu mendefinisikan versi objek dan menangani konflik dengan jelas.
Jika penyimpanan menolak karena versi telah berubah, tampilkan diff dan beri jalan menggabungkan perubahan. Menimpa versi terbaru dengan salinan lama akan merusak hubungan antara review dan keluaran yang akhirnya didistribusikan.
Distribusi dan pengukuran punya identitas sendiri
Satu output dapat dikirim beberapa kali ke tujuan berbeda. Pisahkan output_id, distribution_id, dan identitas platform eksternal. Dengan begitu, koreksi bisa menemukan objek yang benar tanpa menganggap satu URL mewakili seluruh kampanye.
Catat URL tujuan dan parameter kampanye yang disetujui. Jangan menyamakan klik dengan pembacaan lengkap atau perubahan perilaku. Definisikan metrik menurut pertanyaan: apakah pembaca menemukan artikel, kembali membaca, mendaftar, atau menyelesaikan tugas tertentu?
Untuk konten yang belum benar-benar dipublikasikan, simpan status draf atau siap review. Tombol ekspor tidak boleh mengubah status menjadi “terbit” hanya karena berkas berhasil dibuat. Status distribusi harus berasal dari bukti tindakan yang sesuai.
Latihan: koreksi satu klaim setelah empat format selesai
Buat satu paket sintetis dengan dua sumber, lima klaim, dan empat keluaran. Setelah semua direview, ubah satu syarat akses pada sumber. Jalankan penelusuran dependensi dan periksa apakah semua turunan yang relevan ditandai.
Nilai kelengkapan graf, waktu menemukan turunan, serta jumlah keluaran yang tetap membawa informasi usang. Tambahkan kasus klaim yang dihapus, sumber yang tidak dapat diakses, dan output yang sudah tersebar ke lebih dari satu tujuan.
Untuk validasi bukti sebelum konten dibentuk, gunakan manifest dan review slide/video. Untuk asal-usul berkas visual yang menyertai paket, lanjutkan ke C2PA dan arsip aset.