INFRAIMPACT Research Data Studio — MVP 1a Handover

INFRAIMPACT Research Data Studio — MVP 1a Handover

Project: Kerangka Diagnostik Multidimensi INFRAIMPACT untuk Memutus Siklus Investment-in-Failure pada Infrastruktur Sanitasi APBN Indonesia 2015–2024 Researcher: Reza Prama Arviandi (UI – Civil Engineering / Project Management) Build date: 2026-05-16 Build tag: v1.0-MVP1a (local-first, IndexedDB, GitHub Pages compatible)


1. Status: 27 Deliverables → File Mapping

#DeliverableFile / ModuleStatus
1Architecture diagnosis (current vs. needed)docs/RESEARCH_DATA_STUDIO_PLAN.md §1–§3
24-tier MVP roadmap (1a→1b→2→3→4)docs/RESEARCH_DATA_STUDIO_PLAN.md §4
3Repo file structuredocs/RESEARCH_DATA_STUDIO_PLAN.md §5
4Admin shell with pseudo-loginadmin.html, assets/js/admin/auth.js
5IndexedDB wrapper (13 stores)assets/js/admin/db.js
6Seed loader (assets/observations/indicators)db.js → seedIfEmpty()
7Raw Asset Database viewer (571 assets)assets/js/admin/raw-viewer.js
8Filters (9) + pagination + column toggleraw-viewer.js
9Asset drawer (Overview/Trajectory tabs)raw-viewer.js + admin.html#assetDrawer
10Interview Input form (PII-safe)form-schemas.js → SCHEMA_INTERVIEW + forms.js
11FGD Input formform-schemas.js → SCHEMA_FGD
12Field Observation formform-schemas.js → SCHEMA_FIELD
13Document Evidence formform-schemas.js → SCHEMA_DOC
14BWM Weighting Studio (9-step wizard)assets/js/admin/bwm-studio.js
15BWM approximate solver + Consistency Ratiobwm-studio.js → solveBWMApprox()
16INFRAIMPACT Calculation Studio (9 transparent steps)assets/js/admin/calc-studio.js
172×2 Diagnostic Quadrant + Risk Zone classifiercalc-studio.js (Step 7–8)
18Data Quality dashboard + audit log tableassets/js/admin/quality.js
19Audit trail (every CRUD)assets/js/admin/audit.js
20Export Center (9 CSV exports)assets/js/admin/export-center.js
21PDF reports (asset / province / methodology / dictionary)assets/js/admin/pdf-export.js + export-center.js
22Backup / Restore / Templates / Resetexport-center.js
23Settings & Method versionassets/js/admin/settings.js
24Schema-driven form engine + PII guardrailsforms.js (consent gate, PII regex, coord truncation)
25Router + hash-based deep linksstudio-app.js
26Supabase migration plan (MVP 2)docs/SUPABASE_MIGRATION.md✅ (design only)
27Open questions for researcherdocs/RESEARCH_DATA_STUDIO_PLAN.md §27 + below

2. File Inventory — New / Changed in MVP 1a

2.1 New shell + styling

  • admin.html (7.5 KB) — Studio shell, login gate, sidebar nav (10 views), asset drawer.
  • assets/css/admin.css (19 KB) — Login UI, sidebar, forms, BWM/Calc wizards, drawer, quality cards.

2.2 New JS modules (assets/js/admin/ — 14 files, ~168 KB total)

  1. db.js — IndexedDB v1, 13 object stores, seedIfEmpty(), exportAll(), importAll().
  2. auth.js — pseudo-login (DEFAULT_PASSCODE = 'infraimpact-2026'), sessionStorage.
  3. audit.jslogCreate/logUpdate/logDelete/logEvent + getRecentLogs(limit).
  4. csv.js — PapaParse wrapper, download() + downloadJSON().
  5. pdf-export.js — jsPDF + autotable; asset & province diagnostic reports.
  6. raw-viewer.js — 571 assets, 9 filters, pagination 50/page, column toggle, drawer.
  7. forms.js — schema-driven engine, consent gate, PII regex, coord truncation.
  8. form-schemas.js — 4 schemas (Interview / FGD / Field / Document).
  9. interview-form.js, fgd-form.js, field-form.js, doc-form.js — thin wrappers binding schemas to engine.
  10. bwm-studio.js — 9-step wizard, approximate Rezaei (2015) solver, CI from CI_TABLE.
  11. calc-studio.js — 9-step transparent INFRAIMPACT calculation, saves to scores.
  12. quality.js — coverage cards, qualitative coding progress, audit log table.
  13. export-center.js — 9 CSV + 4 PDF + backup/restore/templates/reset.
  14. settings.js — metadata, threshold, store counts, session, indicator list.
  15. studio-app.js — router, hash routes, login gate flow, ensureSeed().

2.3 New docs (docs/)

  • RESEARCH_DATA_STUDIO_PLAN.md (36 KB) — Master plan, full schemas, pseudocode, acceptance criteria, security warnings, 10 open questions.
  • SUPABASE_MIGRATION.md (14 KB) — MVP 2 SQL schema, RLS policies, auth flow, migration script.

2.4 Public dashboard — changed

  • index.html — header now contains link <a href="admin.html">Studio →</a>.

No deletions. All public dashboard functionality (MVP 1 public) preserved.


3. GitHub Desktop Upload Checklist (incremental, additive)

  1. Open GitHub Desktop → repo infraimpact-dashboard (or rezaprama.github.io/infraimpact).
  2. Confirm Changes tab shows the following new/modified paths:
    • admin.html (NEW)
    • assets/css/admin.css (NEW)
    • assets/js/admin/*.js (15 NEW files)
    • docs/RESEARCH_DATA_STUDIO_PLAN.md (NEW)
    • docs/SUPABASE_MIGRATION.md (NEW)
    • MVP_1a_HANDOVER.md (NEW — this file)
    • index.html (MODIFIED — added Studio link)
  3. Summary field: feat(studio): MVP 1a — Research Data Studio with IndexedDB, BWM, calc engine.
  4. Description field: 13 stores, 10 admin views, pseudo-login (NOT security), CSV+PDF export, audit trail. Reference docs/RESEARCH_DATA_STUDIO_PLAN.md.
  5. Click Commit to main.
  6. Click Push origin.
  7. Wait 30–90 detik. Open https://rezaprama.github.io/infraimpact/admin.html.

4. Smoke Test Checklist (post-deploy)

Open /admin.html and verify in order:

StepExpected behaviourStatus
1Login gate visible. Passcode infraimpact-2026 → unlocks
2Seed banner shows ✓ Seeded N record or ✓ DB siap
3Raw Asset Database menampilkan ~571 baris
4Filter quadrant = IIF mengurangi tabel ke ~150–200 baris
5Klik salah satu asset → drawer terbuka, tab Overview & Trajectory bekerja
6Interview Input → simpan minimal 1 record → audit log mencatat create
7BWM Studio → jalankan 9 step → bobot tersimpan, CR < 0.25 untuk uji
8Calc Studio → pilih 1 asset → 9 step jalan → quadrant + zone tampil
9Quality view → coverage cards & audit log table terisi
10Export Center → CSV assets ter-download, file > 0 byte
11Export Center → Asset diagnostic PDF ter-generate (1 halaman)
12Export Center → Backup JSON ter-download, file > 100 KB
13Logout → kembali ke login gate
14Re-login → semua data sebelumnya masih ada (IndexedDB persisten)

5. Sparring-Partner Caveats — Wajib Dibaca Sebelum Field

5.1 Pseudo-login bukan keamanan

  • Passcode di-hash SHA-256 di auth.js tetapi salt & hash visible di source publik (GitHub Pages = static hosting).
  • Siapa pun yang membaca assets/js/admin/auth.js di repo dapat menghitung passcode dari hash.
  • Implication: jangan input data sensitif (PII identifikasi langsung, koordinat presisi tinggi, transcript verbatim) di studio publik. Tunggu MVP 2 (Supabase + Row-Level Security).
  • Referensi ancaman model: Khanna & Palepu (2010) tentang institutional voids — di sini analog: void = ketidaktersediaan backend autentikasi.

5.2 IndexedDB = browser-local

  • Data hanya ada di browser yang sama. Hilang jika:
    • User clear browsing data / clear site data.
    • User pakai mode Incognito.
    • User pindah laptop tanpa export backup.
  • Mitigasi wajib: lakukan Backup → JSON (Export Center) setelah setiap sesi entri data. Simpan di drive cloud yang Anda kontrol.
  • Anti-pattern: mengandalkan persistence IndexedDB untuk klaim audit trail di publikasi Q1. Wajib export periodik + commit ke repo privat.

5.3 Semua 571 record adalah simulated_placeholder_v2_571

  • Generated oleh scripts/etl/generate_synthetic_571.py dengan random.seed(42).
  • Field data_source = 'simulated_placeholder_v2_571' ada di setiap record.
  • Wajib: sebelum publikasi atau presentasi, ganti dengan data riil hasil ETL dari sumber otoritatif (SIPPa, KemenPUPR, BPKP, BPS). Tag data_source ke source aktualnya.
  • Tanpa langkah ini, semua tampilan kuadran / trend / ranking adalah artefak simulasi — bukan temuan empiris.

5.4 BWM solver = approximate, bukan exact LP

  • Implementasi sekarang pakai approximate closed-form (Rezaei, 2015, eq. 4 sebelum LP). Untuk publikasi Q1 sebaiknya:
    • Gunakan solver LP eksak (glpk.js atau panggil R/Python offline) untuk panel pakar final.
    • Laporkan CR dengan CI_TABLE Rezaei (2015) Table 2.
    • Sensitivity analysis: variasi bobot ±10% dan cek apakah ranking aset bergeser.

5.5 S_CAUSE ≠ S_IMPACT; jangan kolapskan ke 1 skor

  • Studio sengaja menampilkan keduanya terpisah + memetakan ke 2×2 quadrant.
  • Kolaps ke 1 skor komposit (rata-rata aritmatika S_CAUSE+S_IMPACT) → menutupi insight diagnostik utama Anda: Compensated Failure vs Investment-in-Failure.
  • Jika reviewer Q1 meminta single composite score, jawab dengan teori principal-agent (Eisenhardt, 1989; Holmström, 1979): dua dimensi mengukur dua jenis kegagalan governance berbeda → tidak agregabel tanpa kehilangan informasi diagnostik.

5.6 Ecological fallacy risk

  • Quadrant assignment di level provinsi/kabupaten tidak boleh diinterpretasi sebagai sifat individual aset (Robinson, 1950).
  • Drawer asset selalu tampilkan trajectory per-aset, bukan rata-rata provinsi.

5.7 Audit trail belum tamper-evident

  • audit_logs ada di IndexedDB yang sama dengan data → seseorang dengan akses devtools bisa hapus rows.
  • Untuk publikasi: export audit log ke CSV + commit ke repo privat dengan Git timestamp signature. Pertimbangkan hash-chain (block-style) di MVP 2.

6. 10 Open Questions — Wajib Diputuskan Sebelum Field (Mei 2026)

#PertanyaanDefault sementaraImplikasi metodologis
1Ukuran panel BWM (n pakar)?7–12 (Rezaei, 2015)n<7 → reliabilitas rendah; n>15 → koordinasi panel sulit
2Regime consent (recorded / written / both)?Written + opt-in recordingAffects right to full_transcript_optional
3Klasifikasi data: siapa boleh akses restricted?Hanya researcher + supervisorPerlu MoU jika data dipakai pihak Kementerian
4Update indicator definitions: by whom & how often?Researcher only, lock setelah fieldVersioning di settings → indicator_definition_version
5Sumber threshold (0.33/0.66/0.5)?Default literatur INFRAIMPACT v1Wajib sensitivity analysis di publikasi
6Bahasa PDF report?Bilingual (id + executive summary en)Affects template PDF dan time-to-render
7Branding logo (UI + PUPR + supervisor)?UI logo wajib, PUPR opsionalAffects PDF header & web favicon
8Kapan submit DOI Zenodo untuk dataset?Setelah field selesai, sebelum journal submissionTrade-off: terlalu cepat → data masih revisi; terlalu lambat → reviewer tidak bisa cek
9Berapa enumerator tambahan & training?Opsi A: solo; Opsi B: 2–3 enumerator terlatihAffects inter-rater reliability (Cohen κ)
10Tanggal mulai field & target N kab/kota?Mei–Juli 2026; minimum 12 kab/kota purposiveAffects saturation argument di Q1 reviewer response

7. Critical References (APA 7)

  • Eisenhardt, K. M. (1989). Agency theory: An assessment and review. Academy of Management Review, 14(1), 57–74. https://doi.org/10.5465/amr.1989.4279003
  • Hart, O., Shleifer, A., & Vishny, R. W. (1997). The proper scope of government: Theory and an application to prisons. The Quarterly Journal of Economics, 112(4), 1127–1161. https://doi.org/10.1162/003355300555448
  • Holmström, B. (1979). Moral hazard and observability. The Bell Journal of Economics, 10(1), 74–91. https://doi.org/10.2307/3003320
  • Khanna, T., & Palepu, K. G. (2010). Winning in emerging markets: A road map for strategy and execution. Harvard Business Press.
  • North, D. C. (1990). Institutions, institutional change and economic performance. Cambridge University Press. https://doi.org/10.1017/CBO9780511808678
  • Rezaei, J. (2015). Best-worst multi-criteria decision-making method. Omega, 53, 49–57. https://doi.org/10.1016/j.omega.2014.11.009
  • Robinson, W. S. (1950). Ecological correlations and the behavior of individuals. American Sociological Review, 15(3), 351–357. https://doi.org/10.2307/2087176
  • Williamson, O. E. (2000). The new institutional economics: Taking stock, looking ahead. Journal of Economic Literature, 38(3), 595–613. https://doi.org/10.1257/jel.38.3.595

8. Next Milestones

MVPTrigger conditionScope summary
1bMVP 1a smoke test 14/14 ✅Educational page “Bagaimana INFRAIMPACT Bekerja?”, BWM exact LP (glpk.js), sensitivity simulator at scale, ZIP bundle export (JSZip), traceability chain UI
2Sebelum field deployment Mei–Juli 2026Migrasi ke Supabase per docs/SUPABASE_MIGRATION.md. Real auth + RLS + per-row provenance + tamper-evident audit
3Setelah n≥3 kolaboratorRole-based access (admin / researcher / enumerator / viewer), per-region scoping
4Setelah supervisor approve & PII anonymization auditPublic release: anonymized dataset + DOI Zenodo + read-only public studio

End of handover. Open issues di docs/RESEARCH_DATA_STUDIO_PLAN.md §27. File path: E:\00 Claude\infraimpact-dashboard\MVP_1a_HANDOVER.md.