Release Readiness — Documentation and Operations Manual Program¶
Hub untuk mengubah bukti produk, codebase, dan runtime menjadi dokumentasi aplikasi yang sistematis serta operation manual yang dapat dipakai sekolah dan tim Scola. Kesiapan dokumentasi dan sertifikasi release adalah dua gate berbeda.
| Metadata | Nilai |
|---|---|
| Last reviewed | 2026-09-04 |
| Mode | Server development; documentation-first |
| Workspace | /home/scola/odoo |
| Current activity | Rekonsiliasi SSOT dan penyusunan operation manual |
| Application/runtime mutation | Tidak termasuk dalam tahap ini |
| Production certification | Tidak disimpulkan oleh dokumen ini |
1. Keputusan kerja yang berlaku¶
- Seluruh tenant yang ada diperlakukan sebagai full-SKU pilot/hardening cohort, bukan sebagai bukti bahwa seluruh katalog telah production-certified.
- Full-SKU pilot berarti fitur boleh diinventarisasi, diuji, dan didokumentasikan sesuai kondisi nyata tenant. Istilah ini tidak menghapus RBAC, entitlement, privacy, tenant isolation, backup, rollback, atau release gate.
- GoldenBabyNTree sudah dipakai operasional dan merupakan change-protected production tenant. Jangan mengubah fitur, konfigurasi, entitlement, atau data selain bugfix sempit yang diperlukan dan disetujui.
- Rejis, Al-Jabbar, dan SDN 1 PGT berada pada onboarding menuju operasional harian. Dokumentasi setup dan verifikasi harus menggunakan kontrol setara production meskipun masih menjadi pilot hardening.
- Spansa adalah dormant tenant. Data dan konfigurasinya dipreservasi; aktivasi kembali dilakukan setelah product release melalui runbook khusus.
scola_newsadalah bagianSC-CORE;SC-NEWStidak digunakan sebagai SKU.- Tidak dibuat compatibility alias/legacy baru. Surface obsolete dihapus dari dokumentasi aktif atau ditandai superseded lalu diarsipkan dengan redirect dokumentasi yang jelas.
- Sistem kehadiran tetap status quo dengan bugfix/konsistensi saja. Rencana modular berikutnya berada di SSOT domain Kehadiran dan tidak termasuk scope implementasi program dokumentasi ini.
2. Dua jenis readiness yang tidak boleh dicampur¶
| Gate | Pertanyaan | Hasil yang diizinkan |
|---|---|---|
| Documentation confidence | Apakah langkah, peran, field, efek, kegagalan, dan recovery cukup terbukti untuk ditulis? | READY_TO_DRAFT, READY_TO_PUBLISH, atau BLOCKED per artikel/surface. |
| Release certification | Apakah satu immutable FE/BE/DB/entitlement candidate lulus semua quality gate? | Verdict release sesuai 09-release-quality-gate.md. |
Operation manual dapat disusun bertahap ketika surface tertentu memenuhi gate dokumentasi minimum. Ia tidak perlu menunggu seluruh katalog tersertifikasi. Sebaliknya, artikel yang rapi bukan bukti bahwa release telah lulus.
3. Hierarki SSOT¶
Jika dokumen bertentangan, gunakan urutan otoritas berikut:
- keputusan bisnis/operasional yang disahkan dan dibatasi version/tenant;
- domain SSOT di
docs/domains/<domain>/README.md; - kontrak arsitektur, API, RBAC, entitlement, dan state yang aktif;
- source frontend/backend dan test yang sesuai current tree;
- served-runtime evidence pada tenant/candidate yang disebut;
- operation manual dan user guide yang telah direview;
- audit/evidence historis;
- dokumen superseded/archive.
Source code menjelaskan perilaku implementasi, tetapi tidak boleh sendirian menentukan aturan bisnis. Runtime membuktikan deployment tertentu, tetapi tidak boleh memperluas kontrak produk.
4. Klasifikasi setiap temuan¶
Setiap pernyataan selama inventory dan drafting harus memiliki satu klasifikasi:
| Klasifikasi | Penggunaan |
|---|---|
CONFIRMED_FROM_CODE |
Route, component, request, controller, model, atau guard ditemukan pada source saat ini. |
CONFIRMED_FROM_RUNTIME |
Perilaku dibuktikan pada served candidate/tenant bernama dengan evidence bertanggal. |
CONFIRMED_BUSINESS_RULE |
Aturan, aktor, state, atau recovery disetujui owner bisnis/operasional. |
INFERRED_FROM_CODE |
Dugaan masuk akal yang belum boleh menjadi instruksi pengguna. |
REQUIRES_BUSINESS_CONFIRMATION |
Pilihan proses/otoritas belum disahkan. |
MISSING_OR_UNCLEAR |
Implementasi, route, error, recovery, atau ownership belum dapat ditentukan. |
Artikel operation manual hanya boleh menyatakan langkah wajib jika bukti yang
relevan sudah CONFIRMED_FROM_CODE dan, untuk perilaku served, telah memiliki
verifikasi runtime yang memadai. Business rule harus
CONFIRMED_BUSINESS_RULE. Sisanya masuk gap register, bukan disamarkan sebagai
instruksi.
5. Bentuk dokumentasi yang akan diterbitkan¶
5.1 Domain SSOT¶
Satu README per domain memuat:
- tujuan dan batas domain;
- capability/fitur beserta status aktual;
- aktor, role, capability, assignment, company, dan record scope;
- route → component → service → API → controller/model trace;
- state machine, validasi, side effect, notification, dan downstream impact;
- konfigurasi/prasyarat;
- exception, correction, retry, recovery, privacy, dan audit;
- gap/backlog yang tidak boleh muncul sebagai janji fitur;
- tautan ke configuration guide, role guide, task guide, troubleshooting, QA, dan runbook yang kanonis.
5.2 Operation manual internal¶
Operation manual ditujukan kepada implementator, school admin, support, dan ops. Setiap domain minimal memiliki:
- scope dan audience;
- prerequisite dan dependency;
- setup awal dan verification checklist;
- operasi harian/mingguan/periodik;
- role/RBAC dan segregation of duties;
- monitoring dan health indicators;
- exception, correction, retry, dan recovery;
- data/privacy/security handling;
- backup/restore/rollback atau escalation boundary;
- troubleshooting dan bukti yang aman untuk dikumpulkan;
- change control serta last verified version/tenant/profile.
5.3 User guide¶
User guide di docs/user-guide/ berorientasi tugas dan bahasa pengguna. Ia tidak
menyalin detail teknis operation manual. Struktur kanonis:
- tujuan dan hasil akhir;
- siapa yang boleh melakukan;
- yang harus tersedia sebelumnya;
- langkah dari route/menu aktual;
- hasil sukses yang dapat dilihat;
- kesalahan umum dan tindakan aman;
- dampak ke pengguna/proses lain;
- kapan berhenti dan melakukan eskalasi.
5.4 Record inventory per halaman¶
Sebelum artikel ditulis, setiap halaman kanonis harus memiliki record:
| Field wajib | Isi |
|---|---|
| Identity | app, menu, canonical route, component, domain, package |
| Audience | role/persona, capability, assignment, company/record scope |
| Controls | form, field, action, validation, destructive/irreversible marker |
| Data path | service, endpoint, controller, model, elevated access |
| Prerequisite | config, master data, state, entitlement, dependency |
| Outcome | state transition, side effect, notification, downstream consumer |
| Failure/recovery | error class, safe retry, correction/reversal, escalation |
| Evidence | source reference, runtime identity/run, business decision |
| Documentation | domain SSOT, operation manual, role/task guide, troubleshooting |
| Confidence | klasifikasi §4, owner, last verified, expiry/review date |
6. Closure minimum sebelum drafting¶
Temuan prosedural release-readiness ditutup sebatas yang diperlukan agar dokumentasi tidak menyesatkan. Sebuah surface dapat masuk drafting jika:
- canonical app/menu/route/component telah dipilih;
- role/capability dan company/record scope dapat dijelaskan tanpa asumsi;
- endpoint dan state mutation yang dipakai artikel telah ditelusuri;
- prerequisite, success result, known failure, dan recovery aman diketahui;
- tidak ada blocker keamanan, privacy, cross-company, atau data-integrity yang membuat langkah tersebut berbahaya;
- tenant/profile untuk runtime check disebutkan, bukan digeneralisasi;
- istilah dan label mengikuti UI aktual;
- artikel lama yang bertentangan sudah ditandai superseded atau diarsipkan.
Yang tidak diperlukan untuk mulai drafting sebuah surface aman:
- seluruh katalog V1 production-certified;
- seluruh backlog S2/S3 selesai;
- semua pilot tenant memakai fitur yang sama;
- evidence historis ditulis ulang menjadi status terbaru.
7. Urutan prioritas dokumentasi¶
| Gelombang | Scope | Alasan |
|---|---|---|
| D0 | Governance, glossary, tenant profiles, inventory template, obsolete-doc register | Mencegah kontradiksi dan pekerjaan ganda. |
| D1 | W00 login/session/role/navigation + setup tenant/user | Semua manual bergantung pada akses yang benar. |
| D2 | W01 academic master/timetable + W02 student/parent onboarding | Prasyarat hampir seluruh operasi sekolah. |
| D3 | W05 status-quo attendance, W03 admissions, W10 billing/payment, W16 news | Operasi harian dan komunikasi prioritas tinggi. |
| D4 | HR/payroll, finance/accounting, LMS/CBT/report, student services, library, inventory, governance | Full-SKU pilot surfaces, dikerjakan per domain setelah gate minimum. |
| D5 | Cross-domain handoff, period close, backup/recovery, incident/escalation, reactivation | Mengubah kumpulan panduan menjadi operation manual end-to-end. |
| D6 | Role journeys, search/navigation, acceptance review, publication | Menjamin manual dapat ditemukan dan dipakai oleh audience sebenarnya. |
Detail deliverable dan exit per gelombang ada di 10-implementation-roadmap.md.
8. Status awal program¶
| Area | Status | Catatan |
|---|---|---|
| Governance dan struktur | IN_PROGRESS |
D0 template page record, operation manual, dan register supersession sudah ada; denominator dan owner seluruh artikel belum dibekukan. |
| Route/menu/component inventory | IN_PROGRESS |
Recon historis tersedia; template canonical-page record sudah ditetapkan, tetapi refresh current-tree dan deduplikasi seluruh surface masih berjalan. |
| Backend/API/RBAC trace | PARTIAL |
Tersedia per domain secara tidak merata; harus direkonsiliasi dengan frontend. |
| Business-rule confirmation | PARTIAL |
Tidak boleh diisi dari inference; owner sign-off diperlukan per workflow. |
| Runtime confidence | PARTIAL |
Evidence historis tetap berguna tetapi tidak otomatis current untuk artikel baru. |
| Domain SSOT | IN_PROGRESS |
Kehadiran memisahkan current/future; User Management direview ulang sebagai wave D1; domain lain menunggu inventory/trace. |
| Operation manuals | IN_PROGRESS |
Template internal tersedia; guide aktif harus direview terhadap schema dan evidence gate sebelum publikasi. |
| Obsolete/superseded cleanup | IN_PROGRESS |
Dokumen berisiko ditandai lebih dahulu, lalu dipindah ke archive setelah inbound-link check. |
| Release certification | SEPARATE_TRACK |
Tetap memakai QG dan immutable candidate; bukan output otomatis program ini. |
Tidak ada persentase penyelesaian global sebelum denominator halaman/artikel telah
dibekukan. Progress dihitung sebagai accepted / required per gelombang dan
domain, dengan BLOCKED tetap terlihat.
D0 register awal¶
| Artefak | Disposition | Pengganti kanonis | Kondisi sebelum archive |
|---|---|---|---|
docs/domains/absensi/IMPLEMENTATION_GUIDE.md |
SUPERSEDED |
docs/domains/absensi/README.md |
Banner sudah dipasang; audit inbound link dan rekonsiliasi route/proses yang masih bernilai. |
docs/documentation-planning/README.md |
Historical planning snapshot | Dokumen ini + roadmap | Banner sudah dipasang; finding tetap dipakai sebagai evidence sampai disposition per item selesai. |
docs/recon/README.md dan inventory turunannya |
ACTIVE_DISCOVERY_INPUT |
Tidak ada pengganti; dipakai sebagai source inventory | Refresh current-tree dan tandai runtime/business gaps per record. |
docs/operations/README.md |
ACTIVE_TEMPLATE_INDEX |
Tidak ada pengganti | Operation manual baru wajib mengikuti template dan DCG. |
audit/ dan execution/ |
HISTORICAL_EVIDENCE |
Tidak ada; immutable evidence | Tidak dipindahkan/ditulis ulang; hanya dirujuk dengan tanggal, candidate, dan scope yang benar. |
Register ini sengaja hanya memuat artefak yang telah direview. Dokumen lain tidak boleh diberi label obsolete secara massal; setiap kandidat harus melalui owner, canonical replacement, dan inbound-link check.
9. Dokumen kerja¶
| Dokumen | Fungsi |
|---|---|
| 01-product-contract.md | Kontrak package/workflow; perlu rekonsiliasi terhadap keputusan pilot terbaru. |
| 02-information-architecture.md | Inventory app/menu/route dan canonical navigation. |
| 03-ux-consistency-audit.md | Istilah, state, komponen, dan pola UX. |
| 04-authorization-readiness.md | Role/capability/scope dan backend enforcement. |
| 05-e2e-workflow-catalog.md | Denominator workflow/subflow. |
| 06-golden-tenant-spec.md | Fixture/profile deterministik untuk verifikasi. |
| 07-release-test-matrix.md | Matriks runtime/certification; bukan daftar isi manual. |
| 08-stabilization-backlog.md | Defect/decision/control historis; hanya blocker relevan yang menahan artikel. |
| 09-release-quality-gate.md | Release QG dan Documentation Confidence Gate. |
| 10-implementation-roadmap.md | Rencana eksekusi program dokumentasi. |
audit/ dan execution/ |
Evidence historis; dipertahankan immutable dan tidak dijadikan status terkini tanpa rebind. |
| CURRENT-STATUS.md | Indeks status aktif untuk source, runtime, dan batas documentation confidence; tidak menggantikan evidence historis atau mengesahkan release. |
10. Definition of done program¶
Program dokumentasi dinyatakan selesai hanya bila:
- denominator seluruh canonical supported/full-pilot surface dibekukan;
- setiap halaman memiliki inventory record dan owner;
- setiap domain memiliki SSOT current, operation manual, role/task links, serta troubleshooting/escalation;
- tidak ada active doc yang mengajarkan route, field, role, atau recovery yang tidak dapat dibuktikan;
- semua broken link, duplicate active article, dan unlabelled obsolete doc nol;
- reviewer domain, Operations/Support, Security/DPO untuk data sensitif, dan QA menyetujui artikel terkait;
- documentation acceptance run lulus pada profile representatif;
- release/candidate/tenant metadata memiliki tanggal dan tidak disajikan sebagai fakta current setelah expiry;
- perubahan aplikasi berikutnya diwajibkan memperbarui dokumentasi dalam unit perubahan yang sama.
Selesainya program ini menghasilkan operation manual yang dapat dioperasikan dan diaudit. Ia tetap tidak mengubah verdict release tanpa proses sertifikasi terpisah.