Skip to content

Perintah: catalog:validate โ€‹

Perintah catalog:validate adalah instrumen audit holistik untuk memverifikasi keutuhan skema, konfigurasi situs, katalog produk kanonik, daftar penawaran harga (offers), dan artikel panduan belanja pada website afiliasi Anda. Berbeda dari validasi ulasan produk individual, perintah ini bertindak sebagai inspektur integritas arsitektur situs secara menyeluruh sebelum proses kompilasi (build) dan publikasi dijalankan ke internet publik.


โšก Fungsi Cepat โ€‹

  • Audit Holistik Ekosistem Situs: Memeriksa 5 pilar berkas operator sekaligus (site.yaml, schema.yaml, copy.yaml, products.csv, offers.csv, guides/*.md, dan snippets/*.html).
  • Perlindungan Penawaran Yatim Piatu (Orphan Offer Shield): Menangkap tautan harga atau merchant yang merujuk pada product_id yang tidak terdaftar di katalog produk.
  • Penegakan Kontrak Skema Kanonik: Memastikan susunan kolom, tipe data (angka, teks, URL, tanggal), dan required fields pada katalog CSV 100% selaras dengan definisi skema YAML.
  • Pencegahan Data Fluktuatif Palsu: Menolak kolom sosial atau manipulasi stok (rating, review_count, reviews, stock, availability) yang dilarang di katalog kanonik CuanAff demi menjaga keaslian data.
  • Verifikasi Sumber Bukti Nyata (Provenance Gate): Memastikan setiap fakta spesifikasi teknis yang dipajang ke pengunjung membawa tautan sumber HTTPS resmi yang valid di provenance_json.

โš–๏ธ Tabel Komparasi: catalog:validate vs product:validate โ€‹

Banyak praktisi afiliasi pemula rancu membedakan antara catalog:validate dan product:validate. Keduanya memiliki peran pelindung kualitas yang sangat krusial, namun bekerja pada lapisan (layer) yang berbeda:

Aspek Pembedacatalog:validate (Audit Holistik Situs)product:validate (Audit Spesifik Produk)
Cakupan Pemeriksaan (Scope)Seluruh Ekosistem Situs: Menilai integritas skema, konfigurasi situs, relasi antar-tabel, seluruh penawaran toko, dan artikel panduan.Konten Ulasan Produk Individual: Memeriksa kesiapan isi artikel ulasan 1 berkas markdown atau seluruh berkas ulasan di folder produk.
Fokus Pemeriksaan KunciKepatuhan skema data, keunikan ID/slug, relasi penawaran harga (orphan offers), larangan kolom terlarang, dan HTTPS provenance.Kelengkapan foto hero resmi (>800px), kewajaran rentang harga pasar (plausibility gate), opini ulasan (pros, cons, verdict), dan validitas link afiliasi.
Berkas yang Diperiksasites/<site>/schema.yaml, site.yaml, copy.yaml, products.csv, offers.csv, guides/*.md, snippets/*.html.data/<site>/products/*.md (mendukung filter 1 produk spesifik via --slug=<slug>).
Kebutuhan ParameterWajib menyertakan opsi nama situs: --site=<nama-situs>.Opsional: Otomatis mendeteksi situs aktif saat ini jika --site tidak disebutkan.
Waktu Penggunaan IdealSaat mendesain struktur situs baru, setelah impor masal data produk/penawaran, atau audit arsitektur sebelum perakitan (build).Saat selesai menambah produk ulasan baru, setelah mengunduh foto hero (product:media), atau sebelum site:publish.
Tipe Laporan GalatMenunjukkan nomor baris dan nama kolom spesifik yang melanggar kontrak skema data (misal: header CSV tidak cocok).Menunjukkan status kelayakan ulasan ulasan (misal: foto resolusi rendah, review pros/cons kosong, draf belum lengkap).

Kapan Harus Menjalankan Masing-Masing Perintah?

Gunakan catalog:validate untuk memastikan fondasi arsitektur dan database relasi situs Anda kokoh tanpa ada penawaran toko yang salah alamat. Setelah fondasi katalog terbukti valid, gunakan product:validate untuk memastikan setiap artikel ulasan produk siap dinikmati dan menghasilkan konversi klik bagi pembaca ulasan Anda.


๐Ÿ› ๏ธ Jalur A: Perintah CLI โ€‹

Jalankan perintah audit integritas katalog situs di terminal komputer Anda:

bash
php cuanaff catalog:validate --site="<slug-situs>" [opsi]

Parameter --site Bersifat Wajib

Berbeda dari perintah ulasan yang dapat mendeteksi situs aktif secara implisit, catalog:validate mewajibkan Anda menyebutkan target situs secara eksplisit melalui opsi --site guna memastikan validasi skema diarahkan tepat ke folder situs yang dituju.

Contoh Praktis Penggunaan: โ€‹

bash
# 1. Memvalidasi integritas katalog situs koper & tas travel (tas)
php cuanaff catalog:validate --site=tas

# 2. Memvalidasi integritas katalog situs peralatan rumah pintar (aman)
php cuanaff catalog:validate --site=aman

# 3. Menentukan lokasi direktori root kustom jika bekerja di luar root kerja default
php cuanaff catalog:validate --site=pilihlistrik --root="."

# 4. Menjalankan simulasi validasi aman (--dry-run)
php cuanaff catalog:validate --site=tas --dry-run

# 5. Menghasilkan laporan terstruktur dalam format JSON untuk otomasi pipa CI/CD
php cuanaff catalog:validate --site=tas --json

Pratinjau Output Terminal (Status Sukses 100%): โ€‹

txt
Catalog is valid.

Jika dijalankan dengan opsi --json, sistem CuanAff mengembalikan kontrak payload mesin terperinci:

json
{
  "schema_version": "1",
  "status": "ok",
  "command": "catalog:validate",
  "operation_id": "203af59281bc9a3f",
  "dry_run": true,
  "exit_code": 0,
  "message": "Catalog is valid.",
  "site": "tas",
  "products": 15,
  "offers": 15,
  "guides": 3,
  "data": {
    "site": "tas",
    "products": 15,
    "offers": 15,
    "guides": 3,
    "errors": []
  },
  "warnings": [],
  "errors": [],
  "artifacts": []
}

Pratinjau Output Terminal (Jika Terdeteksi Kesalahan Data): โ€‹

txt
Catalog validation failed.
- Baris 1 ยท Kolom header: products.csv header must exactly match schema.yaml field order: id,slug,name,brand,category,price
- Baris 14 ยท Kolom product_id: Offer references an unknown product (orphan offer).
- Baris 22 ยท Kolom provenance_json: Every displayed fact requires an HTTPS URL in provenance_json.

๐Ÿค– Jalur B: Prompt AI Siap Salin โ€‹

Anda dapat memanfaatkan asisten coding pintar (Antigravity, CommandCode, Cursor) atau web chat AI (ChatGPT, Claude) untuk mengeksekusi validasi katalog, mengurai pesan error teknis, dan langsung memperbaiki ketidaksesuaian skema di berkas konfigurasi Anda.

Kolaborasi Tanpa Hambat Bersama Coding Agent

Coding agent seperti Antigravity dan CommandCode dapat membaca daftar error baris dan kolom yang dilaporkan oleh catalog:validate --json, lalu secara presisi membuka berkas products.csv atau offers.csv dan membetulkan baris yang rusak secara otomatis.

Template Prompt AI Audit & Perbaikan Struktur Katalog: โ€‹

Template Prompt AI (Tinggal Salin & Sesuaikan Nama Situs)

text
Halo AI, tolong bantu saya melakukan audit integritas arsitektur katalog website CuanAff untuk situs target.

Target Pemeriksaan:
- Nama Situs: tas (atau ganti dengan slug situs Anda)

Langkah-langkah yang harus dilakukan:
1. Jalankan perintah validasi katalog di terminal dengan format JSON:
   php cuanaff catalog:validate --site=tas --json

2. Periksa output payload JSON yang dihasilkan:
   - Jika status "ok" dan errors kosong: Konfirmasikan bahwa skema situs, produk, penawaran toko, dan artikel panduan telah 100% valid dan siap dirakit (site:build).
   - Jika status "error": Urai seluruh daftar error yang ditemukan (baris, kolom, dan pesan kesalahan).

3. Jika ditemukan kesalahan, jelaskan akar penyebabnya secara ringkas:
   - Apakah terdapat penawaran yatim piatu (orphan offer) di offers.csv?
   - Apakah ada kolom wajib yang kosong atau tipe datanya tidak sesuai schema.yaml?
   - Apakah urutan header di products.csv tidak sama persis dengan schema.yaml?

4. Bantu saya mengedit dan memperbaiki berkas yang bermasalah, lalu jalankan ulang `catalog:validate --site=tas` hingga 100% PASS.

โš™๏ธ Parameter & Opsi Kunci โ€‹

Berikut adalah seluruh opsi yang didukung oleh perintah catalog:validate:

Parameter / OpsiWajib?BawaanKeterangan & FungsiContoh Nilai
--site="<slug>"WajibTidak adaMenentukan direktori situs target yang akan divalidasi skema dan datanya.--site="tas"
--root="<path>"OpsionalDirektori kerjaMenentukan direktori pangkal (root workspace) proyek jika dijalankan dari lokasi folder luar.--root="."
--dry-runOpsionalfalseDisediakan untuk konsistensi CLI CuanAff (perintah ini selalu bersifat membaca aman / read-only).--dry-run
--jsonOpsionalfalseMengeluarkan hasil audit lengkap dalam format objek JSON terstruktur untuk otomasi pengujian atau skrip.--json

๐Ÿ” 5 Pilar Integritas yang Diperiksa Secara Otomatis โ€‹

Saat Anda mengeksekusi catalog:validate, mesin CuanAff melakukan verifikasi ketat pada 5 pilar aset website:

  1. Berkas Konfigurasi & Skema (site.yaml, schema.yaml, copy.yaml):
    • Memastikan schema.yaml mendefinisikan pemetaan fields yang tidak kosong.
    • Memastikan empat bidang inti (core fields) wajib hadir: id, slug, name, dan brand.
  2. Katalog Produk Kanonik (products.csv):
    • Kesesuaian Header: Urutan kolom pada baris pertama products.csv wajib sama persis dengan urutan bidang di schema.yaml.
    • Tipe Data Valid: Bidang bertipe integer, number, url, dan date (format YYYY-MM-DD) dicek ketat.
    • Keunikan Data: Memastikan tidak ada duplikasi nilai id atau slug pada baris produk yang berbeda.
    • Larangan Social Proof Palsu: Melarang keberadaan kolom fluktuatif seperti rating, review_count, reviews, stock, dan availability pada katalog kanonik demi integritas ulasan abadi.
  3. Daftar Penawaran Harga Toko (offers.csv):
    • Deteksi Penawaran Yatim Piatu (Orphan Offers): Setiap baris penawaran wajib mengaitkan product_id ke produk yang nyata ada di katalog. Penawaran tanpa induk produk akan langsung digagalkan.
    • Pencegahan Duplikasi Toko: Memastikan tidak ada lebih dari satu baris penawaran untuk kombinasi produk dan nama toko (merchant) yang sama.
  4. Artikel Panduan Belanja (guides/*.md):
    • Memastikan seluruh berkas panduan memiliki YAML frontmatter yang sah dengan bidang wajib slug, title, dan query.
  5. Injeksi Slot Template Snippet (snippets/*.html):
    • Memverifikasi keberadaan dan keterbacaan berkas injeksi kustom: head.html, body-start.html, body-end.html, header.html, inline.html, sidebar.html, dan footer.html.

๐Ÿ“ฑ Hasil Nyata & Langkah Selanjutnya โ€‹

Setelah seluruh aset situs Anda dinyatakan "Catalog is valid" oleh catalog:validate:

  1. Bebas Crash Saat Perakitan Situs:
    • Mesin perakit (site builder) dapat memproses seluruh data produk dan penawaran menjadi halaman HTML statis tanpa risiko terhenti di tengah jalan karena inkonsistensi skema.
  2. Koneksi Merchant 100% Akurat:
    • Pengunjung ulasan Anda selalu diarahkan ke toko yang tepat dengan harga yang terverifikasi, menjaga kepercayaan pembeli dan rasio konversi komisi afiliasi.
  3. Langkah Berikutnya dalam Alur Kerja CuanAff:
    • Bubuhkan Stempel Audit E-E-A-T: Tandai kepengarangan berkas katalog ulasan Anda menggunakan perintah catalog:stamp:
      bash
      php cuanaff catalog:stamp --site=tas
    • Validasi Ulasan Konten Publik: Pastikan kelengkapan visual dan pros/cons dengan product:validate:
      bash
      php cuanaff product:validate --site=tas
    • Rakit & Publikasikan Website: Lanjutkan ke perakitan situs dengan site:build atau rilis langsung via site:publish.