Scope lock did not happen. Meeting with [[Resources/People/Andi Gani Nena Wea|Andi Gani]] ended early after a seating etiquette incident (mg crossed legs; client read it as angkat kaki toward him). He cited his Kapolri-linked standing, asked mg to stop, and closed with “sudah-sudah, nanti saja saya kabari.” No §1–§11 decisions captured. 2026-05-25 handoff should be treated as not committed until client reopens. One formal apology message sent or pending; do not chase.
| Field | Value | | -------------------- | --------------------------------------------------------------- | | When | Friday 2026-05-22 night (confirm time) — not Sat 2026-05-23 | | Calendar | Thu 21 prep → Fri 22 scope lock → Sun 25 handoff | | Format | TBD (call / in-person / chat) | | Attendees (client) | [[Resources/People/Andi Gani Nena Wea|Andi Gani Nena Wea]] (confirm) | | Attendees (LumenDev) | mg | | Goal | Scope lock for Sunday 2026-05-25 handoff |
admin / user, Google + email/password) in ~/Project/lumendev-core.Status labels:
| Area | Status | Current read before meeting | | --------------------------------- | ------------------ | ------------------------------------------------------------------------------------- | | §1 Client & contacts | Clueless | Entity legal name, sign-off PIC, and contact channels still blank | | §2 Product & webapp fundamentals | Need more info | Core intent is understood, but target users, maintainer, and ownership are not locked | | §3 Auth & accounts | Need more info | Auth stack exists, but registration policy and account governance are open | | §4 Public site sitemap | Need more info | Strong draft exists, final page set and legal/SEO items not approved | | §5 Content sign-off & brand | Need more info | Research exists, approval and rights usage still pending | | §6 Rumah Singgah what it is | Clueless | Physical stay definition and eligibility not confirmed | | §7 Rumah Singgah capacity/rules | Clueless | Global capacity and operational booking constraints still unknown | | §8 Rumah Singgah UX/notifications | Need more info | Candidate UX exists, but waitlist/notifications/status flow not decided | | §9 Admin bookings/content/users | Need more info | Admin baseline known, CMS depth and provisioning policy still open | | §10 Launch/domain/environment | Need more info | Handoff date fixed, but domain readiness and launch mode still open | | §11 Commercial | Need more info | Pricing model drafted, final number depends on scope lock decisions | | Acceptance checklist | Need more info | Structure is ready, final pass criteria need client sign-off |
Decision:
Lock who the app is for, why it exists, and who runs it after launch before feature detail.
| Question | Options / notes | Answer | | -------------------------------- | ---------------------------------------------------------------------------------------------- | ------ | | Primary visitors (read-only) | General public · students/researchers · labor-movement community · press/media · museum guests | | | Who books Rumah Singgah | Same as visitors · members/supporters only · invited guests · staff-assisted only | | | Geography / language | Indonesia · diaspora · ID-only UI (confirm) | | | Devices | Mobile-first · desktop equal · old phones / low bandwidth concern | | | Accessibility (v0) | Basic readable contrast + keyboard · formal WCAG · defer | | | Expected scale (v0) | Low (tens/month) · moderate · unknown | |
| Question | Answer | | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | Main purpose of the website | Inform about museum & Marsinah · drive physical visits · enable Rumah Singgah stays · archival/education · other: ___ | | What “success” looks like by handoff (2026-05-25) | Live URL · X pages with real copy · working booking · admin trained · other: ___ | | Success 1–3 months after launch | Visitor count · bookings/month · content freshness · other: ___ | | Non-goals for v0 (confirm) | Payments · EN/JV · email automation · full archive IA · other: ___ |
| Question | Answer |
| ------------------------------------- | ----------------------------------------------------------------------------- |
| Who maintains the site day-to-day | Name(s), role, organization (KSPSI / museum staff / volunteer / LumenDev) |
| Who is admin in the app | Same as maintainer · separate ops vs content roles · count: ___ |
| Technical comfort | Comfortable editing in admin UI · needs written guide · LumenDev does updates |
| Post-launch ownership | Client self-serve · LumenDev on retainer (LumenCare) · hybrid |
| Content update cadence | Rare (events only) · monthly · weekly |
| Who handles booking issues | On-site contact · admin panel · WhatsApp to ___ |
| Training / handoff | 30-min walkthrough · written runbook · defer until after 2026-05-25 |
| Question | Answer | | ------------------------ | ---------------------------------------------------------------------------- | | Hosting owner | LumenDev (Vercel + Mongo) — confirm client OK | | Data ownership | Client owns booking/user data · export on request | | Privacy sensitivity | Names/emails/phones in bookings — any consent text needed on signup/booking? | | Integrations (v0) | Google sign-in · Google Maps embed · YouTube/embed · none | | Reporting (v0) | Admin list only · CSV export · analytics dashboard · defer | | Uptime / support SLA | Best effort · business hours · formal SLA (LumenCare) |
Decision:
Baseline shipped: Google + email/password; roles **admin** / **user**. Confirm policy:
| Question | Options / notes | Answer | | ----------------------------- | -------------------------------------------------- | ------ | | Who can register | Open signup · invite-only · admin creates accounts | | | Google sign-in | Required · optional · not needed | | | Email + password | Required · optional · admin-only | | | Email verification | Required at signup · defer | | | Password reset | In-app reset email · manual admin reset · defer | | | Profile fields before booking | Name only · phone · org · ID number · none | | | User management (v0) | Admin can disable/delete users · defer | |
Decision:
Proposed starter pages (confirm, rename, add, drop):
| Page / section | Include v0? | Notes | | ----------------------------------- | --------------- | --------------------------------------------------------------------------------------- | | Home | propose yes | Tagline + CTAs per [[Projects/lumendev-museum-ibu-marsinah/context/content-ia-editorial | | Sejarah / tentang Marsinah | propose yes | [[Projects/lumendev-museum-ibu-marsinah/context/marsinah-subject-profile | | Lokasi & jam buka | propose yes | [[Projects/lumendev-museum-ibu-marsinah/context/museum-visit-facts | | Kontak | propose stub | Phone/email TBD with KSPSI / family | | Galeri / media | defer? | Rights TBD | | Rumah Singgah (info + link to book) | propose yes | Info page + link to booking flow | | Linimasa, tur virtual, arsip, dll. | defer | Full IA vision — content-ia-editorial | | Other: | | |
Decision:
Research-backed drafts exist — client must approve, correct, or replace:
| Item | Source (draft) | Client answer |
| -------------------------- | -------------------------------------------------------- | --------------------------------------------- |
| Museum address & hours | museum-visit-facts | Approve · Replace: ___ |
| Biography / timeline copy | marsinah-subject-profile | Approve · Replace: ___ |
| Tone & sensitivity | Labor-history narrative | OK as-is · needs disclaimer · client rewrites |
| Portrait / hero image | Iconic photo / archive | OK to use · client supplies · defer |
| Gallery / media (if in v0) | — | OK · defer · client supplies only |
| Logo & brand | Tokens in content-ia-editorial (#A21F1F, #C9A23B, …) | Use proposed · client provides assets |
| Placeholder policy | Lorem / “draft” labels until sign-off | OK for 2026-05-25 · not OK |
Decision:
Decision:
Cross-check [[Projects/lumendev-museum-ibu-marsinah/context/rumah-singgah-booking-rules|engineering baseline]]. Per-user cap and global inventory are separate — confirm both.
| Question | Options / notes | Answer | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------ | | Global inventory | One bed/room → max one booking per calendar night (all users) · multiple units · unlimited (only per-user cap) | | | Units count (if multiple) | Number of bookable slots per night | | | Per-user monthly cap | 1 night / calendar month (baseline) · different number · rolling 30 days | | | Timezone for “month” / dates | Default Asia/Jakarta | | | Stay length | One night per booking (v0) · multi-night | | | Check-in / check-out | Times, on-site rules | | | Blackout dates | Holidays, maintenance, ad-hoc closes | | | Cancellation | User can cancel? Re-book same month after cancel? | | | Pricing | Free · paid (if paid → out of v0 / new scope) | | | Admin override | Manual booking · waive cap · block dates | |
Decision:
| Question | Options / notes | Answer |
| ----------------------------- | ----------------------------------------------------------------------- | ------ |
| Date selection | User picks any open future night · only admin-published available dates | |
| Availability UI | Calendar · simple date list | |
| Waitlist when full | Yes · no · defer | |
| My bookings (user) | List upcoming/past · view only latest · defer | |
| Admin notified on new booking | Email · WhatsApp/manual check only · in-app list only | |
| User booking confirmation | On-screen only · email (likely out of v0) | |
| Booking statuses (v0) | e.g. pending / confirmed / cancelled — which needed? | |
Decision:
| Question | Answer |
| ------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| Bookings admin: list + sort by date enough? | |
| Filters needed for v0 | By date · status · user email |
| Export (CSV) for launch | Yes · no · post-v0 |
| “Manage content” means | A) edit text/images in admin UI · B) /public + deploy · C) structured pages in DB |
| Which pages/snippets admin-editable in v0 | List: ___ |
| Who can be admin | Count · names · how provisioned (manual DB seed / invite) |
| Admin user management | Create/disable users · defer |
| Rumah Singgah: admin cancel booking on behalf of guest | Yes · no |
Decision:
*.vercel.app URL?Decision:
Framework: [[Areas/LumenDev/playbooks/project-build-pricing-framework|Project build pricing framework]]. Point anchor for this quote: Rp 500.000/point (UMKM lane — below playbook default 750k–1jt).
| Block | Scope (known today) | Pts |
| ---------------------------------------------------------------- | ------------------------ | ---------- |
| Landing ID (~4–5 routes, nav, mobile) | p0-public-landing | 3–5 |
| Auth (admin/user, Google + credentials) | shipped | 2 |
| Rumah Singgah booking + 1 night/month cap | p0-rumah-singgah | 3 |
| Admin bookings + thin CMS | p0-admin | 2–3 |
| Scaffold + Vercel/Mongo prod | p0-scaffold (~half done) | 1–2 |
| Feature subtotal | | 11–15 |
| Requirements (auth med, Google low, light privacy, no migration) | | +5–6 |
| Total points (fill Friday) | | ~17–21 |
| Factor | Value | Notes | | ------------ | ---------- | -------------------------------------- | | Complexity | 1.15 | Brief incomplete until tonight | | Deadline | 1.30 | Handoff 2026-05-25 | | PM/QA buffer | 12% | Demos, smoke test, 1–2 revision rounds | | Combined | ×1.494 | 1.15 × 1.30 × 1.12 |
IDR 500.000 / point)| Scenario | Points | Base | After multipliers | +12% buffer | Quote (round) | | ----------------------- | ------ | ---------- | ----------------- | ----------- | ----------------- | | Low (tight v0) | 17 | 8,5 jt | 12,7 jt | 14,2 jt | ~14–15 jt | | Mid (working) | 19 | 9,5 jt | 14,2 jt | 15,9 jt | ~16 jt | | High (richer admin/CMS) | 21 | 10,5 jt | 15,7 jt | 17,6 jt | ~17–18 jt |
Formula: Build = points × 500.000 × 1.15 × 1.30 × 1.12
Already delivered (show value, optional credit): auth + local scaffold ≈ 3–5 pts → Rp 1,5–2,5 jt at this anchor. Remaining build ≈ 14–16 pts → ~Rp 13–15 jt with same multipliers.
| Line | Indicative | | -------------------------------------- | -------------------------------------------------------------------------------------------- | | Biaya server + domain (pass-through) | ~Rp 240k/bulan — client label only; see [[Projects/lumendev-museum-ibu-marsinah/context/commercial-recurring-budget]] | | LumenCare (if client wants mg on call) | Foundation Rp 600k/bulan retainer — see [[Areas/LumenDev/playbooks/lumencare-tier-matrix]] | | Add-ons | Content entry, training, SEO — fixed per item |
Decision:
Edit live with client after §1–§11. Strike items explicitly deferred.
admin(s): ___ · backup contact: ___*.vercel.app acceptable for v0)admin sees bookings list (filters: ___)/adminAgreed checklist (final):
| Backlog item | Must for 2026-05-25 | Nice | Defer / drop | Notes | | -------------------------------------------------------------------------------------------- | -------------------------- | ---- | ------------ | ----- | | [[Projects/lumendev-museum-ibu-marsinah/backlog/p0-scaffold-nextjs-repo-vercel | Scaffold + Vercel/Mongo]] | | | | | [[Projects/lumendev-museum-ibu-marsinah/backlog/p0-public-landing-pages-id | Public landing (ID)]] | | | | | [[Projects/lumendev-museum-ibu-marsinah/backlog/p0-rumah-singgah-booking-one-night-per-month | Rumah Singgah booking]] | | | | | [[Projects/lumendev-museum-ibu-marsinah/backlog/p0-admin-bookings-content | Admin bookings + content]] | | | |
New backlog items to create:
| Result | Detail | |--------|--------| | Scope lock | Not achieved — agenda §1–§11 not worked | | Client stance | Offended by posture; meeting shut down politely | | Next step (client) | “Nanti saja saya kabari” — no date, no alternate PIC named | | Handoff 2026-05-25 | At risk / assume off unless client returns | | Recovery | Single short mohon maaf (WhatsApp or channel TBD); then wait |
Setting: Friday night 2026-05-22 — follow-up with Pak Andi Gani Nena Wea (Presiden KSPSI / Staf Ahli Kapolri bidang ketenagakerjaan per public record).
Incident: mg crossed legs during the conversation. Client perceived this as angkat kaki (foot raised toward him) and took it as kurang hormat, especially given his Kapolri-associated role.
Client quotes (verbatim, Indonesian):
Interpretation (vault): Not a technical or pricing objection — protocol / respect failure in his frame. “Nanti kabari” = soft close; treat commercial continuation as unlikely without a clear re-engagement.
Apology draft (for WhatsApp — send once, then stop):
Pak Andi Gani,
Terima kasih atas waktu Bapak pada pertemuan kemarin. Saya mohon maaf yang sebesar-besarnya atas sikap duduk saya yang menyinggung Bapak — sama sekali tidak ada niat kurang hormat. Saya menghormati kedudukan Bapak dan sangat menghargai inisiatif Museum Ibu Marsinah.
Jika Bapak berkenan melanjutkan, saya siap mengikuti arahan Bapak; jika tidak, saya hormati keputusan Bapak.
Hormat saya,
[Nama]
| Owner | Action | Due | | ----- | ---------------------------------------------------------------------------------------- | ----------------------------- | | mg | Send one formal apology (see Raw notes); no re-pitch / no follow-up calls | 2026-05-23 | | mg | Pause non-trivial build until client or delegated PIC confirms | 2026-05-23 | | mg | Refresh hub Status / Risks (client relationship blocker) | 2026-05-23 | | mg | Mark [[Projects/lumendev-museum-ibu-marsinah/backlog/p1-client-meeting-friday-scope-lock | p1 scope lock]] done (failed) | | mg | ~~Update client brief with decisions~~ — deferred (no decisions from call) | — |