Skip to content

S04 — Monetisasi Mandiri & Efisiensi Infrastruktur ​

Status, approval, dan tanggung jawab ​

SSOT sprint repository dracin (RP840fe2f3c7a91586c1424772), project PJ2e6f5f567cb91b36b4dc9f88. Status: running (disetujui PO Buchin). Tanggal baseline: 16 Oktober 2026 WIB.

TransisiBukti
planningBacklog lengkap, pertimbangan target market, DoD, dependency, risiko dan gate dipresentasikan SM di room Dracin DR28ea8df93c49bd79740e2dc3
approvedPO Buchin: “Approve S04 — Mulai Sprint”; persetujuan penuh terhadap sasaran monetisasi mandiri, arsitektur partials modular, dan penghematan biaya operasional VPS
runningEmpat task resmi dibuat (S04.1 s.d. S04.4); S04.1 dimulai melalui AgentSession LSde068be74304c3eb2d9c1c22 pada 16 Oktober 2026 WIB
review → completedBelum terjadi; completed hanya setelah seluruh task selesai dan disetujui bersama PO pada sesi Sprint Review

Sesuai aturan Agentic Scrum:

  • Product Owner (PO): Human (Buchin). Terlibat HANYA saat Sprint Planning dan Sprint Review. Saat sprint running, PO tidak mengatur implementasi teknis atau urutan task.
  • Scrum Master (SM): Discussion-room agent. Menjalankan task sesuai urutan, mengevaluasi bukti terhadap DoD, dan memfasilitasi transisi sprint.
  • Development Team: AgentSession terikat task. Melakukan implementasi, targeted verification, commit author Buchin <buchin@dropsugar.com>, dan push ke origin/main.

Outcome dan Tujuan Sprint S04 ​

Sprint S04 difokuskan untuk memberikan kapabilitas monetisasi mandiri yang ramah pengguna awam (zero-friction monetization) serta menjaga efisiensi biaya operasional VPS bagi pemilik situs Dracin:

  1. Arsitektur Monetisasi Modular Mandiri (5 Slot Partials):

    • Menyediakan 5 titik injeksi iklan dan skrip pelacakan mandiri di direktori resources/views/partials/monetization/:
      • head-scripts.blade.php: Script <head> (Google AdSense auto-ads, verifikasi Search Console/Bing, header analytics).
      • body-top.blade.php: Banner leaderboard atas tepat setelah tag <body> / sebelum navigasi utama.
      • video-top.blade.php: Banner atas tepat di atas video player / detail episode.
      • video-bottom.blade.php: Banner bawah tepat di bawah video player / episode selector.
      • footer-scripts.blade.php: Script penutup sebelum </body> (Histats, Google Analytics 4, Adsterra popunder/social bar).
    • Seluruh slot dipasang secara aman menggunakan direktif @includeIf, sehingga jika berkas belum diisi iklan, tampilan website tidak rusak dan tidak memunculkan whitespace atau error PHP.
  2. Pembersihan Skrip Tracking Lama:

    • Membersihkan seluruh hardcoded ID pelacakan developer lama dari core layouts dan views (ca-pub-6746948001971610, G-N5WP28NB7D, 13178014, eb47809dbbba0359fc843ddf347acda2).
    • Memastikan pembeli situs memiliki kontrol 100% atas data analitik dan pendapatan iklan situs mereka tanpa tercampur akun lain.
  3. Efisiensi Biaya Operasional VPS:

    • Menjaga model infrastruktur mandiri tanpa ketergantungan layanan offloader video cloud berbayar bulanan tambahan (seperti S3 egress fees / Wasabi subscriptions).
    • Memaksimalkan efisiensi kernel Linux, Nginx HTTP 206 chunking, dan buffer lokal yang telah distabilkan pada Sprint S03.
  4. Dokumentasi & Standarisasi Panduan Pengguna:

    • Menyusun dokumentasi komprehensif docs/monetization.md yang menjelaskan cara pemasangan jaringan iklan populer (Google AdSense, Adsterra, PropellerAds) dan pelacak trafik (Histats, GA4).
    • Menghubungkan dokumentasi ke README.md dan docs/deployment/guide.md.
  5. Otomatisasi Pengujian & Pengemasan Rilis Patch v3.0.1:

    • Menyediakan Pest feature test dan skrip verifikasi terarah otomatis.
    • Melakukan rilis patch kanonik 3.0.1 (products/agc-dracin-3.0.1.zip) ke Cloudflare R2 bucket dojo.

Prinsip Pengguna & Sasaran Target Market ​

  1. Pengguna Biasa (Zero-Friction & Non-Destructive):
    • Pembeli website Dracin tidak perlu mengedit file logika inti Livewire atau kode PHP framework.
    • Cukup salin kode script atau tag banner yang diberikan oleh penyedia iklan (AdSense / Adsterra / Histats), lalu tempelkan ke berkas partial yang bersangkutan di resources/views/partials/monetization/.
  2. Desain Fleksibel & Tidak Rusak Jika Kosong:
    • Masing-masing partial telah dilengkapi pembungkus fleksibel Tailwind CSS dengan penanganan otomatis (empty:hidden atau [&:not(:empty)]) agar tidak memunculkan kotak kosong saat pembeli belum mengaktifkan iklan.
  3. Pemisahan Peran Script:
    • Script pelacakan dan kode banner terisolasi di berkas khusus yang mudah dicari dan mudah di-backup saat pembaruan aplikasi.

Arsitektur Monetisasi Modular ​

Berikut diagram alur arsitektur monetisasi modular pada Sprint S04:

Pengunjung WebLayout Utama (resources/views/)5 Slot Partials MonetisasiJaringan Iklan & Analitik<head> (partials.head)<flux:header> (Navigasi)Video Player & Episode<footer> (Kaki Halaman)head-scripts.blade.phpbody-top.blade.phpvideo-top.blade.phpvideo-bottom.blade.phpfooter-scripts.blade.phpGoogle AdSenseAdsterra / PopunderGA4 / Histats TrackerMengakses halaman web@includeIf@includeIf@includeIf@includeIf@includeIfInjeksi script auto-adsInjeksi tracking GTagRender leaderboard 728x90Render banner 300x250Render native bannerTrigger popunder / social barCounter Histats

Backlog Final, Urutan Task, Dependency dan Definition of Done (DoD) ​

Semua task wajib dikerjakan pada repositori dracin (RP840fe2f3c7a91586c1424772). Urutan eksekusi wajib S04.1 → S04.2 → S04.3 → S04.4; perpindahan ke task berikutnya hanya dapat dilakukan setelah task sebelumnya lulus evaluasi DoD nyata oleh SM.

UrutanTask IDScope TaskDependencyStatus Baseline
S04.1jpkwwbvbowqwbnzgktptidofBaseline SSOT Sprint S04 & Arsitektur Slot Partials Iklan MandiriApproval POSelesai (done)
S04.2mdxovsuxhwsqsnyjqasipytiPanduan Komprehensif Monetisasi & Pengukuran TrafikS04.1 Lolos Evaluasi SMSelesai (done)
S04.3klltbanxkrpqhgfammgraeceAutomated Testing & Verifikasi Live Staging VPSS04.2 Lolos Evaluasi SMSelesai (done)
S04.4eajfgmwpusrzquzpgtvlqcmvPengemasan Rilis Patch v3.0.1 & Upload Cloudflare R2 DojoS04.3 Lolos Evaluasi SMSelesai (done)

Detail Backlog & Acceptance Criteria Tiap Task ​

S04.1 — Baseline SSOT & Arsitektur Slot Partials Iklan Mandiri (jpkwwbvbowqwbnzgktptidof) ​

  • Tujuan: Menetapkan dokumen acuan tunggal SSOT Sprint S04, memformalkan penutupan S03, membangun direktori dan 5 partials monetisasi, serta membersihkan tracking lama developer dari core views.
  • Scope & Deliverables:
    • Pembuatan dokumen SSOT [docs/sprints/S04.md](file:///home/dev/repos/dracin/docs/sprints/S04.md).
    • Pembaruan berkas [docs/sprints/S03.md](file:///home/dev/repos/dracin/docs/sprints/S03.md) mencatat transisi status completed resmi.
    • Pembuatan 5 berkas partial Blade pada direktori resources/views/partials/monetization/:
      1. head-scripts.blade.php
      2. body-top.blade.php
      3. video-top.blade.php
      4. video-bottom.blade.php
      5. footer-scripts.blade.php
    • Pembersihan hardcoded tracking lama developer dari core views (ca-pub-6746948001971610, G-N5WP28NB7D, 13178014, eb47809dbbba0359fc843ddf347acda2).
    • Pemasangan directive @includeIf pada layout inti dan view episode/drama yang relevan.
    • Skrip pengujian otomatis scripts/test-monetization-slots.sh (exit 0).
  • Definition of Done (DoD):
    • Berkas docs/sprints/S04.md dan docs/sprints/S03.md lengkap dan tervalidasi.
    • 5 berkas partial Blade terbuat dan memiliki petunjuk komentar yang ramah pengguna.
    • Core layouts dan views bebas dari hardcoded tracking developer lama.
    • Directive @includeIf terpasang di posisi yang tepat.
    • Skrip scripts/test-monetization-slots.sh lolos exit 0.
    • php artisan view:cache berjalan lancar tanpa syntax error.
    • Commit author Buchin <buchin@dropsugar.com> dan push ke origin/main.

S04.2 — Panduan Komprehensif Monetisasi & Pengukuran Trafik (mdxovsuxhwsqsnyjqasipyti) ​

  • Tujuan: Menyediakan panduan dokumentasi resmi yang jelas, praktis, dan ramah pengguna biasa mengenai cara mengonfigurasi iklan dan analitik trafik.
  • Scope & Deliverables:
    • Pembuatan berkas panduan [docs/monetization.md](file:///home/dev/repos/dracin/docs/monetization.md) lengkap dengan penjelasan setiap slot partial, contoh kode integrasi Google AdSense, Adsterra, PropellerAds, Histats, Google Analytics 4, dan kiat optimasi revenue tanpa merusak pengalaman menonton.
    • Penambahan tautan referensi dokumentasi monetisasi pada [README.md](file:///home/dev/repos/dracin/README.md) dan [docs/deployment/guide.md](file:///home/dev/repos/dracin/docs/deployment/guide.md).
  • Definition of Done (DoD):
    • Berkas docs/monetization.md komprehensif, terstruktur rapi, dan mudah dipahami persona pembeli umum.
    • Seluruh tautan cross-reference antar-dokumen valid.
    • Commit author Buchin <buchin@dropsugar.com> dan push ke origin/main.

S04.3 — Automated Testing & Verifikasi Live Staging VPS (klltbanxkrpqhgfammgraece) ​

  • Tujuan: Menjamin keandalan injeksi slot monetisasi melalui automated testing Pest dan memvalidasi implementasi pada VPS Staging aktif.
  • Scope & Deliverables:
    • Pembuatan Pest feature test tests/Feature/MonetizationPartialTest.php untuk memverifikasi injeksi konten slot script dan banner pada respon HTTP.
    • Pembuatan skrip verifikasi terarah scripts/test-monetization.sh.
    • Deployment ke VPS Staging 167.86.108.118:20700 via Deployer.
    • Verifikasi live respon HTTP staging, memastikan partial ter-render tanpa error.
  • Definition of Done (DoD):
    • Pest test MonetizationPartialTest.php lulus 100%.
    • scripts/test-monetization.sh lolos exit 0.
    • VPS Staging ter-update dan melayani respon HTTP yang valid.
    • Commit author Buchin <buchin@dropsugar.com> dan push ke origin/main.

S04.4 — Pengemasan Rilis Patch v3.0.1 & Upload Cloudflare R2 Dojo (eajfgmwpusrzquzpgtvlqcmv) ​

  • Tujuan: Mengemas rilis versi patch v3.0.1 dan mendistribusikannya ke Cloudflare R2 bucket dojo agar dapat diunduh oleh pembeli di portal membership Dojo.
  • Scope & Deliverables:
    • Bump versi ke 3.0.1.
    • Orkestrasi build dan release via scripts/release.sh --slug agc-dracin --version 3.0.1.
    • Pengunggahan artefak products/agc-dracin-3.0.1.zip dan SHA256SUMS ke Cloudflare R2 bucket dojo.
    • Sinkronisasi dengan scanner membership Dojo (memberships:scan-r2).
    • Penyusunan release notes [docs/release-notes/v3.0.1.md](file:///home/dev/repos/dracin/docs/release-notes/v3.0.1.md).
  • Definition of Done (DoD):
    • Artefak products/agc-dracin-3.0.1.zip terunggah sukses HTTP 200 di Cloudflare R2.
    • Checksum tervalidasi bit-for-bit.
    • Scanner membership Dojo mendeteksi rilis 3.0.1.
    • Release notes v3.0.1 selesai dan informatif.
    • Commit author Buchin <buchin@dropsugar.com> dan push ke origin/main.

Risiko, Batasan, dan Mitigasi ​

  1. Kesalahan Penempelan Kode oleh Pembeli:
    • Risiko: Pembeli tidak sengaja menempelkan script yang salah atau kode HTML tidak valid di dalam partial.
    • Mitigasi: Penggunaan direktif Blade @includeIf memisahkan partial dari alur render kritis. Jika file partial kosong atau mengalami typo nama file, aplikasi tetap berjalan normal. Komentar instruksi di dalam setiap partial dibuat sejelas mungkin.
  2. Whitespace Kosong pada Slot yang Belum Diisi:
    • Risiko: Tampilan web memiliki jeda spasi (gap/margin) aneh jika pembeli belum memasang banner di slot tertentu.
    • Mitigasi: Kontainer pembungkus dilengkapi class Tailwind empty:hidden atau [&:not(:empty)] sehingga tidak memakan ruang visual jika tidak ada kode iklan aktif.
  3. Konflik Script dengan AdBlocker:
    • Risiko: Ekstensi browser pemblokir iklan memblokir script iklan dan menyebabkan script error di konsol.
    • Mitigasi: Dokumentasi memberikan panduan script non-blocking (async / defer) dan pemisahan script pelacakan dari script iklan.

Staging & Deployment Gate ​

  • Target Live Staging VPS:
    • VPS Terotorisasi: 167.86.108.118:20700
    • Runtime: Ubuntu 24.04 LTS, PHP 8.4 CLI/FPM, Nginx 1.24, SQLite 3
  • Infrastruktur Penyimpanan R2:
    • Cloudflare R2 Storage: Bucket dojo
    • Pola Rilis Kanonik: products/agc-dracin-3.0.1.zip
  • Kriteria Kelulusan Gate:
    • Seluruh script verifikasi terarah lolos exit 0.
    • Endpoint / dan /up merespons HTTP 200 OK.
    • View cache Blade berhasil dikompilasi tanpa exception.

Out-of-Scope Eksplisit ​

  1. Perubahan Skema Database: Tidak ada migration atau penambahan tabel database baru untuk slot iklan mandiri; seluruh konfigurasi berbasis file partials Blade yang mudah dikelola.
  2. Layanan Cloud Media Offloader Eksternal: Tidak mengintegrasikan offloader S3/Wasabi berbayar tambahan demi menjaga prinsip penghematan biaya VPS bagi pembeli.
  3. Editor Kode di Dashboard Admin Web: Tidak membangun GUI visual code editor di dashboard admin demi alasan keamanan server (mencegah arbitrary PHP execution) dan kompleksitas kode.

Checkpoint S04.1 — Baseline SSOT & Arsitektur Slot Partials Iklan Mandiri, 16 Oktober 2026 ​

Implementasi:

  • Penyusunan dokumen Single Source of Truth (SSOT) docs/sprints/S04.md resmi Sprint S04, mencakup sasaran monetisasi mandiri, diagram D2 TALA arsitektur modular, rincian backlog 4 task (S04.1 s.d. S04.4), kriteria DoD, mitigasi risiko, dan deployment gate.
  • Pembaruan berkas docs/sprints/S03.md menandai transisi status resmi completed pasca Sprint Review bersama PO Buchin.
  • Pembuatan direktori resources/views/partials/monetization/ dan 5 template Blade partial modular:
    1. head-scripts.blade.php: Slot script <head> (Google AdSense auto-ads, verifikasi Google/Bing, header analytics) dengan instruksi ramah pengguna.
    2. body-top.blade.php: Slot banner leaderboard 728x90 responsive tepat setelah <body> / di atas navigasi dengan styling wrapper Tailwind CSS responsif.
    3. video-top.blade.php: Slot banner responsif tepat di atas video player / detail episode.
    4. video-bottom.blade.php: Slot banner responsif tepat di bawah video player / episode selector.
    5. footer-scripts.blade.php: Slot script penutup sebelum </body> (Histats counter, GA4, Adsterra popunder/social bar, footer tracking).
  • Pembersihan total hardcoded tracking developer lama dari core layouts & views:
    • AdSense ca-pub-6746948001971610 dibersihkan dari partials/head.blade.php dan komponen lama.
    • GTag G-N5WP28NB7D & Statcounter 13178014 dibersihkan dari partials/head.blade.php, errors/503.blade.php, dan komponen lama.
    • Adsterra key eb47809dbbba0359fc843ddf347acda2 dibersihkan dari livewire/episode-page.blade.php, livewire/drama-detail.blade.php, dan errors/503.blade.php.
  • Pemasangan direktif @includeIf di seluruh posisi layout dan view yang relevan (partials/head.blade.php, components/layouts/app/header.blade.php, livewire/episode-page.blade.php, livewire/drama-detail.blade.php, errors/503.blade.php).
  • Pembuatan dan eksekusi skrip pengujian terarah otomatis scripts/test-monetization-slots.sh (5/5 tahapan lolos exit 0).
  • Verifikasi php artisan view:cache lolos kompilasi Blade tanpa syntax error.

Bukti Pengujian & Targeted Verification:

  1. bash scripts/test-monetization-slots.sh exit 0:
    • [1/5] Memverifikasi keberadaan 5 berkas template partial modular... PASSED.
    • [2/5] Memverifikasi core views bersih dari tracking lama... PASSED (0 hardcoded IDs).
    • [3/5] Memverifikasi direktif @includeIf terpasang di posisi layout yang tepat... PASSED.
    • [4/5] Menguji kompilasi sintaks Blade (php artisan view:cache)... PASSED.
    • [5/5] Memverifikasi status dokumen SSOT S03 & S04... PASSED (S04 running, S03 completed).
  2. php artisan test --compact tests/Feature/TrafficSourceDetectionTest.php exit 0 (8 passed, 31 assertions).
  3. vendor/bin/pint --dirty exit 0 (0 style violations).

Evaluasi SM:

  • Gate S04.1 lolos: Seluruh kriteria Definition of Done terpenuhi dengan bukti targeted verification nyata, arsitektur 5 partials modular terpasang rapi, core views bersih dari tracking lama, dan dokumen SSOT S04 aktif. Dependency S04.2 (Panduan Komprehensif Monetisasi & Pengukuran Trafik) siap dikerjakan.

Checkpoint S04.2 — Panduan Komprehensif Monetisasi & Pengukuran Trafik, 16 Oktober 2026 ​

Implementasi:

  • Penyusunan dokumen panduan operasional komprehensif docs/monetization.md berbahasa Indonesia yang jelas, ramah pembeli awam (zero-friction), dan bebas dari istilah merendahkan.
  • Penjelasan mendalam lokasi berkas parsial monetisasi di lingkungan development (resources/views/partials/monetization/) dan lingkungan server VPS produksi (/var/www/dracin/current/resources/views/partials/monetization/), lengkap dengan 3 metode praktis pengeditan (SFTP/FileZilla, SSH Nano, dan lokal) serta prosedur pembersihan cache Blade (php artisan view:clear).
  • Dokumentasi teknis 5 slot partials modular:
    1. head-scripts.blade.php: Script <head> (AdSense Auto-Ads, verifikasi Google Search Console/Bing, header analytics).
    2. body-top.blade.php: Banner leaderboard atas (728x90 desktop / 320x50 & 300x250 mobile) tepat setelah <body> / di atas navigasi header.
    3. video-top.blade.php: Banner atas video (728x90 / 300x250 / 468x60) tepat di atas frame pemutar video.
    4. video-bottom.blade.php: Banner bawah video / daftar episode (728x90 / 300x250 / native banner widget).
    5. footer-scripts.blade.php: Script penutup non-blocking sebelum </body> (Histats counter, GA4, Adsterra popunder & social bar).
  • Penyediaan contoh kode integrasi siap pakai (copy-paste ready):
    • Google AdSense (Auto-ads & unit banner responsif/fixed)
    • Adsterra (Popunder, Social Bar, Banner 728x90/300x250, dan Native Widget)
    • Pengukur trafik: Histats web counter (async + noscript) dan Google Analytics 4 (GA4 GTag)
    • Tag meta verifikasi webmaster (Google Search Console & Bing)
  • Penyusunan panduan best practice: pencegahan layout overflow di peramban seluler, penggunaan script non-blocking (async/defer), serta penempatan iklan yang tidak mengganggu kontrol pemutar video.
  • Sinkronisasi tautan cross-reference antar-dokumen:
    • README.md: Menambahkan tautan resmi panduan monetisasi pada indeks dokumentasi pembeli.
    • docs/deployment/guide.md: Menambahkan bab khusus "Tahap 7: Konfigurasi Monetisasi & Pengukuran Trafik (Iklan & Analitik)".
    • docs/README.md: Menambahkan tautan panduan monetisasi ke indeks utama dokumen operasional VPS.
  • Pembuatan skrip pengujian otomatis scripts/test-monetization-docs.sh yang memvalidasi integritas berkas panduan, kelengkapan 5 slot partials, keberadaan kode siap pakai, kepatuhan diagram arsitektur D2 (TALA layout), dan validitas seluruh cross-reference.

Bukti Pengujian & Targeted Verification:

  1. bash scripts/test-monetization-docs.sh exit 0:
    • [1/6] Memverifikasi integritas berkas docs/monetization.md (17.032 bytes)... PASSED.
    • [2/6] Memverifikasi rincian 5 slot partials dan lokasi VPS dalam panduan... PASSED.
    • [3/6] Memverifikasi contoh kode integrasi iklan dan analitik trafik (AdSense, Adsterra, Histats, GA4)... PASSED.
    • [4/6] Memverifikasi best practice & rekomendasi format ukuran banner... PASSED.
    • [5/6] Memverifikasi sinkronisasi cross-reference dokumentasi (README.md, guide.md, docs/README.md)... PASSED.
    • [6/6] Memverifikasi kepatuhan format diagram (D2 layout TALA, bebas dari Mermaid)... PASSED.
  2. bash scripts/test-monetization-slots.sh exit 0 (5/5 tests passed).
  3. php artisan view:clear & php artisan view:cache exit 0.
  4. vendor/bin/pint --dirty exit 0 (0 style violations).

Evaluasi SM:

  • Gate S04.2 lolos: Seluruh kriteria Definition of Done terpenuhi dengan bukti targeted verification nyata. Berkas panduan docs/monetization.md komprehensif dan ramah pengguna umum, cross-reference di README & deployment guide tersinkronisasi rapi, dan skrip verifikasi otomatis lolos exit 0. Dependency S04.3 (Automated Testing & Verifikasi Live Staging VPS) siap dikerjakan.

Checkpoint S04.3 — Automated Testing & Verifikasi Live Staging VPS, 16 Oktober 2026 ​

Implementasi:

  • Pembuatan Pest feature test tests/Feature/MonetizationPartialTest.php yang memvalidasi secara mendalam:
    • Direktori resources/views/partials/monetization/ dan 5 berkas partials (head-scripts, body-top, video-top, video-bottom, footer-scripts) ada dan dapat di-render tanpa exception saat kosong/default dengan container wrapper CSS yang tepat.
    • Konten injeksi dummy banner dan script analitik ter-render di respons HTTP (/en/drama/41000121386/episode/1 dan /en) pada urutan posisi slot yang tepat (head di dalam <head>, body-top setelah <body>, video-top di atas frame pemutar video, video-bottom di bawah daftar episode, footer-scripts sebelum penutup </body>).
    • Halaman error errors/503.blade.php aman merender slot partials yang relevan.
    • Seluruh core layouts dan views terkompilasi 100% tanpa error sintaks Blade via php artisan view:cache.
  • Pembuatan skrip verifikasi terarah otomatis scripts/test-monetization.sh (chmod +x) yang mencakup 5 tahapan pengujian terarah (kelengkapan 5 partials, audit pembersihan tracking lama, verifikasi direktif @includeIf, kompilasi Blade view:cache, dan eksekusi targeted Pest test MonetizationPartialTest.php).
  • Pembuatan skrip orkestrasi deployment staging scripts/deploy-staging.sh (chmod +x) yang membundel paket rilis mandiri releases/dracin-v3.0.0.tar.gz dan menerapkannya ke VPS Staging 167.86.108.118:20700 via PHP Deployer.
  • Eksekusi deployment live ke VPS Staging 167.86.108.118:20700 via Deployer (Release 4, symlink atomik switch, backup SQLite, PHP-FPM reload, queue restart, automated health check).
  • Verifikasi live smoke test pada VPS Staging:
    • /up merespons HTTP 200 OK.
    • / (Web Home) merespons HTTP 200 OK.
    • Drama detail /en/drama/41000121386 merespons HTTP 200 OK.
    • Episode page /en/drama/41000121386/episode/1 merespons HTTP 200 OK.
    • Audit live HTML response: 100% bersih dari ID tracking lama developer (AdSense ca-pub-6746948001971610, GTag G-N5WP28NB7D, Statcounter 13178014, Adsterra eb47809dbbba0359fc843ddf347acda2).
    • Verifikasi filesystem remote: 5 berkas template partials aktif di /var/www/dracin/current/resources/views/partials/monetization/.

Bukti Pengujian & Targeted Verification:

  1. bash scripts/test-monetization.sh exit 0:
    • [1/5] Memverifikasi keberadaan 5 berkas template partial modular... PASSED.
    • [2/5] Memverifikasi core views bersih dari tracking lama... PASSED (0 hardcoded IDs).
    • [3/5] Memverifikasi direktif @includeIf terpasang di posisi layout yang tepat... PASSED.
    • [4/5] Menguji kompilasi sintaks Blade (php artisan view:cache)... PASSED.
    • [5/5] Menjalankan targeted Pest feature test (MonetizationPartialTest)... PASSED (5 tests, 56 assertions in 0.85s).
  2. bash scripts/deploy-staging.sh --skip-build exit 0 (Deployer deployment release 4 and all 6 live smoke tests pass).
  3. vendor/bin/pint --dirty exit 0 (0 style violations).

Evaluasi SM:

  • Gate S04.3 lolos: Seluruh kriteria Definition of Done terpenuhi dengan bukti targeted verification nyata, test suite Pest komprehensif, skrip verifikasi terarah lolos exit 0, deployment ke staging VPS sukses tanpa downtime, dan verifikasi live membuktikan staging berjalan normal serta bersih dari tracking lama. Dependency S04.4 (Pengemasan Rilis Patch v3.0.1 & Upload Cloudflare R2 Dojo) siap dikerjakan.

Checkpoint S04.4 — Pengemasan Rilis Patch v3.0.1 & Upload Cloudflare R2 Dojo, 16 Oktober 2026 ​

Implementasi:

  • Bump versi rilis patch ke 3.0.1 di composer.json ("version": "3.0.1"), config/app.php ('version' => env('APP_VERSION', '3.0.1')), scripts/release.sh, scripts/package-product-zip.php, dan scripts/deploy-staging.sh.
  • Orkestrasi eksekusi master pipeline rilis mandiri via bash scripts/release.sh --slug agc-dracin --version 3.0.1:
    • Validasi status git working tree bersih (git status --porcelain -uno).
    • Kompilasi silang 4 biner launcher Go mandiri multi-OS (CGO_ENABLED=0, -trimpath, -ldflags '-s -w -X main.Version=3.0.1'):
      • Windows x64: dist/dracin-launcher-windows-amd64.exe (PE32+)
      • macOS Apple Silicon: dist/dracin-launcher-darwin-arm64 (Mach-O 64-bit arm64)
      • macOS Intel Core: dist/dracin-launcher-darwin-amd64 (Mach-O 64-bit x86_64)
      • Linux x64: dist/dracin-launcher-linux-amd64 (ELF 64-bit)
    • Pembundelan aplikasi mandiri Laravel dist/dracin-v3.0.1.tar.gz (38 MB) dan sha256 checksum-nya.
    • Pembuatan checksum kriptografis dist/SHA256SUMS terurut reproduktif (LC_ALL=C).
    • Validasi arsitektur biner (PE32+, Mach-O, ELF) dan verifikasi bit-for-bit sha256sum -c SHA256SUMS (10/10 berkas cocok).
    • Pengemasan paket rilis kanonik pembeli products/agc-dracin-3.0.1.zip (86.5 MB, 90.696.961 bytes, SHA-256: 92d53ad2a82fc376ef21f536e8ae55d943cb891698f37ebdc818cfcefe60a850) beserta products/agc-dracin-3.0.1.zip.sha256 via scripts/package-product-zip.php. Audit sanitasi zero-leak: 100% bebas dari berkas rahasia/dev (.git/, .env, node_modules/, scratch/, tests/).
    • Pengunggahan live berkas products/agc-dracin-3.0.1.zip dan .sha256 ke Cloudflare R2 bucket dojo via AWS SigV4 native Node.js (scripts/upload_r2.cjs).
  • Verifikasi live integritas objek di Cloudflare R2:
    • products/agc-dracin-3.0.1.zip merespons HTTP 200 OK (Content-Length: 90696961, Content-Type: application/zip).
    • products/agc-dracin-3.0.1.zip.sha256 merespons HTTP 200 OK (Content-Length: 87, Content-Type: text/plain).
  • Sinkronisasi katalog produk backend Dojo:
    • Eksekusi php /home/dev/repos/dojo/artisan memberships:scan-r2 --sync-db berhasil mendeteksi dan mendaftarkan agc-dracin-3.0.1.zip (ID 110) dan checksum-nya (ID 111) ke database tabel product_files, terpetakan secara otomatis ke produk AGC Dracin (ID 3, slug agc-dracin).
    • Pengambilan otomatis dan penyimpanan release notes patch v3.0.1 (5.630 bytes) ke dalam database Dojo via endpoint https://dracin.dojo.cc/release-notes/v3.0.1.md.
  • Penyusunan catatan rilis resmi patch di docs/release-notes/v3.0.1.md:
    • Rincian 5 slot partials modular monetisasi mandiri (head-scripts, body-top, video-top, video-bottom, footer-scripts).
    • Pembersihan total hardcoded tracking developer lama (AdSense ca-pub-6746948001971610, GTag G-N5WP28NB7D, Statcounter 13178014, Adsterra eb47809dbbba0359fc843ddf347acda2).
    • Dokumentasi dan panduan monetisasi terpadu (docs/monetization.md).
    • Petunjuk upgrade v3.0.0 ke v3.0.1 bagi pemilik VPS aktif.
  • Pembaruan konfigurasi navigasi dan sidebar portal dokumentasi VitePress (docs/.vitepress/config.ts) dan penerapan ke Cloudflare Pages (npm run docs:deploy).

Bukti Pengujian & Targeted Verification:

  1. bash scripts/test-release.sh exit 0:
    • [1/8] Memvalidasi sintaks shell, Node.js, dan PHP... PASSED.
    • [2/8] Menguji antarmuka CLI dan opsi --help... PASSED.
    • [3/8] Menguji uploader SigV4 native Node.js (--dry-run)... PASSED.
    • [4/8] Menguji eksekusi master pipeline scripts/release.sh (--dry-run)... PASSED.
    • [5/8] Memvalidasi header arsitektur 4 biner launcher multi-OS... PASSED (PE32+, Mach-O amd64/arm64, ELF).
    • [6/8] Memverifikasi integritas checksum SHA256SUMS... PASSED.
    • [7/8] Menguji integritas berkas produk ZIP dan audit zero-leak... PASSED (7 vital files, 0 leaks).
    • [8/8] Menguji kompatibilitas penamaan dengan parser ScanR2Files.php Dojo... PASSED (slug: agc-dracin, version: 3.0.1/3.0.0).
  2. bash scripts/test-e2e-buyer.sh exit 0:
    • [1/6] Memvalidasi integritas deliverable bundle dan Cloudflare R2 Dojo... PASSED (R2 remote 200 OK, 90.696.961 bytes).
    • [2/6] Mengaudit normalisasi dokumentasi (bebas istilah 'non-programmer')... PASSED.
    • [3/6] Memverifikasi health checks di staging VPS (root@167.86.108.118:20700)... PASSED (/up & / HTTP 200 OK).
    • [4/6] Memverifikasi optimasi streaming video HTTP 206 di staging VPS... PASSED (Nginx HTTP 206 Partial Content, zero-copy buffer).
    • [5/6] Memverifikasi status background worker daemon dan scheduler timer... PASSED (worker active running PID 21123, scheduler timer active).
    • [6/6] Melakukan evaluasi pengalaman pengguna persona pembeli riil... PASSED (Skor 4.93 / 5.0).
  3. bash scripts/test-monetization.sh exit 0 (5/5 tests, 56 assertions in 0.85s).
  4. vendor/bin/pint --dirty exit 0 (0 style violations).

Evaluasi SM:

  • Gate S04.4 lolos: Seluruh kriteria Definition of Done terpenuhi dengan bukti targeted verification nyata. Paket patch deliverable kanonik agc-dracin-3.0.1.zip telah terbit resmi di Cloudflare R2, terintegrasi 100% pada database katalog keanggotaan Dojo, catatan rilis v3.0.1 aktif di portal publik, dan seluruh automated test exit 0. Seluruh task Sprint S04 (S04.1 s.d. S04.4) telah selesai dan sprint siap ditutup melalui sesi Sprint Review bersama PO Buchin.

Tabel Pelacakan Checkpoint dan Catatan Status Task ​

TaskStatus FuralCommit SHATanggal & WaktuBukti Verifikasi DoDEvaluasi SM
S04.1doneb55ba6516 Okt 2026 WIBscripts/test-monetization-slots.sh exit 0 (5/5 tests), 5 partials created, core views clean, Blade view:cache passLolos DoD / Selesai
S04.2doneb64389e16 Okt 2026 WIBscripts/test-monetization-docs.sh exit 0 (6/6 tests), docs/monetization.md (17 KB), cross-refs syncedLolos DoD / Selesai
S04.3done1fde90c16 Okt 2026 WIBscripts/test-monetization.sh exit 0 (5/5 tests, 56 assertions), Deployer deploy release 4, VPS Staging 167.86.108.118:20700 live 200 OK (/up, /, drama, episode)Lolos DoD / Selesai
S04.4donec1b5e9816 Okt 2026 WIBscripts/release.sh 3.0.1 live exit 0, R2 HTTP 200 OK (90.69 MB), memberships:scan-r2 --sync-db registered ID 110, test-release.sh exit 0, test-e2e-buyer.sh exit 0 (score 4.93/5.0), docs/release-notes/v3.0.1.md liveLolos DoD / Selesai

AGC Dracin — Platform streaming drama mandiri berkinerja tinggi untuk komunitas Dojo.