Pembunuh senyap
Bug lapangan terburuk bukan crash — melainkan perangkat yang menjalankan firmware bulan lalu sementara kamu men-debug config bulan ini. Ia melapor sehat, log mengalir, dan fitur yang kamu kirim ternyata tidak ada. Operasi armada mati pelan-pelan karena ini.
Aturan 1: manifest sebelum flash
Simpan manifest yang mendaftar, per peran perangkat, penanda yang harus ada di firmware-nya: field sensor kunci, tipe pesan, perilaku buffer. Sebelum setiap flash, verifikasi secara mekanis YAML yang akan kamu bakar:
# contoh: firmware sentinel harus membawa penanda ini
grep -c "mag_h" sentinel.yaml # harap ≥ 1
grep -c "type:heartbeat" sentinel.yaml
Git status yang hijau bukan bukti file-nya terkini — file bisa sudah di-commit dan tetap varian yang salah. Periksa isinya, bukan kebersihannya.
Aturan 2: catat setiap flash
Satu baris per flash di FLASH_LOG: tanggal, perangkat, file config, varian firmware, siapa, kenapa. Saat sebuah situs bermasalah tiga minggu kemudian, log ini menjawab "apa yang sebenarnya berjalan di sana?" dalam hitungan detik. Catat flash-nya di entri perangkat Latent-mu juga — registri adalah ingatan armadamu.
Aturan 3: kuasai port serial
Flash gagal di tengah jalan kalau proses lain merebut port — daemon relay latar dan serial monitor yang terlupa adalah pencuri biasanya. Sebelum flash di lapangan, hentikan apa pun yang menyentuh USB serial. Flash yang terputus di 60% bisa meninggalkan perangkat boot-loop di plafon yang butuh tangga untuk dijangkau.
Aturan 4: verifikasi sesudahnya
Setelah flash: saksikan satu boot penuh di log, pastikan penandanya berperilaku benar (heartbeat datang, field sensor ada), baru kemasi tangga. Enam puluh detik menonton menghemat satu kunjungan ulang.