git
Catatan teknis seputar web development, DevOps, dan integrasi AI.
31 artikel
- 23.25devops
Status Done di tracker cuma klaim, buktinya ada di Git
Kartu Done tanpa bukti itu kata-kata. Sekarang work item cuma boleh Done kalau hash commit di baris Buktinya beneran resolve di Git.
TL;DR: Awalnya gue kira status Done di board udah paling bener, ternyata cuma klaim kosong kalau nggak ada bukti commit-nya. Makanya gue bikin gate yang ngunci, kartu baru boleh Done kalau baris "Bukti: hash" di deskripsi beneran ke-resolve di Git. Soalnya hash Git itu nggak bisa bohong, tanggal selesainya juga ngambil dari aktivitas tracker bukan timestamp commit.
#plane#self-hosting#git - 14.19ai
Mendesain Init Rules Skill: Layered Pack dan Idempotensi
Spec 199 baris buat skill init-rules: layered pack universal + per-stack, CLAUDE.md jadi indeks, re-run idempoten ala konvensi Go dan Copier.
TL;DR: Awalnya kirain cukup taruh semua aturan di satu file gede di root, ternyata bikin ribet dan susah di-maintain. Akhirnya dibikin sistem layered, file root jadi indeks aja dan aturan dipisah per path plus per stack biar kepake seperlunya. Generatornya juga dibikin idempoten ala Go biar rerun nggak nimpa perubahan lokal sembarangan.
#ai-agents#tooling#automation - 23.29devops
Validator Raib, CI Tetap Hijau
Sync mirror menghapus skrip validasi dan CI tetap hijau. Tiga kelas kegagalan validator plus dua pagar murah berupa anchor wajib dan checksum beku.
TL;DR: Validator bisa hilang diam-diam tapi pipeline tetap hijau, padahal hijau harusnya berarti sehat. Ada tiga kelas kegagalannya: validator hilang, rusak senyap, atau rapuh gara-gara perilaku shell yang beda-beda. Solusinya murah: wajibkan anchor di terjemahan dan freeze checksum selftest, jadi kalau validator nggak cocok pipeline langsung merah.
#git#bash#python - 03.53devops
Event Log Verifikasi Integritas Ala Git di Pipeline Ingest
Cara sidecar content-addressed, event log append-only, dan re-hash dari disk bikin state pipeline bisa diverifikasi dan dipulihkan tanpa perbaikan tangan.
TL;DR: File frame yang di-tamper nggak bikin planner crash, malah nge-emit action quarantine, soalnya state dibangun ulang dari event log. Caption disimpan sebagai sidecar yang namanya pakai prefix sha256, jadi teks sama dapet dedup gratis. Tapi hash chain cuma kasih tamper-evidence bukan authenticity, makanya verifikasi tetap baca ulang meta.json langsung dari disk.
#git#event-sourcing#automation - 11.15devops
Restart Bukan Deploy: Gerbang Pra-Restart Kontainer API
Gerbang restart: skrip kecil menolak restart kontainer API saat working tree masih kotor.
TL;DR: Penulis kaget skor dashboard jadi minus cuma gara-gara restart kontainer. Ternyata compose pakai bind mount, jadi restart malah menjalankan kode setengah jadi yang ada di disk, bukan dari image. Solusinya, skrip restart sekarang ngecek dulu kalau ansible/web bersih via git status, nolak jalan kalau masih kotor.
#docker#compose#bash - 20.29devops
Pindah Deploy ke Vercel: Kuncinya di Luar Kode
Diff-nya cuma dokumentasi, tapi migrasi deploy Cloudflare Workers ke Vercel tetap terjadi. Kabelnya ada di dashboard Vercel dan settings GitHub, bukan di dalam repo.
TL;DR: Gara-gara satu baris di CLAUDE.md, penulis sadar migrasi dari Cloudflare Workers ke Vercel nggak ninggalin jejak di repo, karena settingnya ada di dashboard, bukan Git. Production branch di Vercel dipilih pas impor dan bisa diatur lewat Branch Tracking, jadi default branch GitHub beda hal. Alur Git tetap sama, tapi env vars mesti didaftarkan ulang dan rollback modelnya tunjuk deployment.
#vercel#cloudflare#git - 02.24devops
Subtree Split atau Snapshot Rsync: Memilih Mekanisme Publish
Satu folder atau banyak path tersebar? Bentuk include set menentukan kapan subtree split aman dan kapan rsync snapshot lebih masuk akal.
#git#rsync#forgejo - 22.23devops
WordPress Full vs View: Dua Repo Git, Dua Isu Berbeda
Satu WordPress, dua repo Git: repo full di Forgejo untuk pemulihan, repo view di GitHub hanya untuk sumber yang saya tulis sendiri.
#wordpress#git#github - 20.22devops
Dual-Push, Pull Mirror, dan Aturan Main Forgejo+GitHub
Ritual dual-push tiap commit ternyata lebih jujur daripada pull mirror yang diam-diam membuang branch 631 MB yang tak pernah ada di GitHub.
#git#forgejo#github