Audit Siklus Hidup Plan dan Penyelesaian Task

Dua script mengelola status siklus hidup plan ultra-plan/v1 setelah eksekusi.

Audit Siklus Hidup Plan (scripts/plan-lifecycle-audit.mjs)

Mengaudit field status: di semua plan yang dilacak dan membagi hitungannya ke dalam tiga kelompok yang jujur:

KelompokArti
untrackedSama sekali tidak memiliki frontmatter YAML. Draft pada mirror hanyalah fallback dari publisher, bukan klaim yang sebenarnya.
trackedMemiliki frontmatter dengan status: Draft, klaim siklus hidup yang nyata tetapi mungkin sudah usang. Hanya plan seperti inilah kandidat untuk backfill.
frontmatter-no-statusMemiliki pagar --- tetapi tanpa key status:. Plan yang formatnya rusak.
bun scripts/plan-lifecycle-audit.mjs         # human-readable tally
bun scripts/plan-lifecycle-audit.mjs --json  # same data as JSON

Selalu keluar dengan exit 0: ini laporan, bukan gate. Ambang batas akan langsung gagal begitu ada plan baru yang ditambahkan.

Penyelesaian Task (scripts/plan-mark-done.mjs)

Membaca log eksekusi runner dan memberi centang [x] pada baris langkah plan [ ] untuk setiap task yang mencapai keberhasilan terminal (PASSED atau SKIPPED-IDEMPOTENT). Tiga status non-sukses (NEEDS-AGENT, READY (dry-run), HALTED-UPSTREAM) ditolak secara eksplisit: sebuah task ditandai selesai hanya ketika bukti menyatakan demikian.

bun scripts/plan-mark-done.mjs --from runner.log docs/code-plan/plans/<plan>.md
bun scripts/plan-mark-done.mjs --task T3 docs/code-plan/plans/<plan>.md  # assert, no evidence