🏖 Silent Day Active (SILENT-DAY-7 Store Bypass): Manager notified in Alerts · All store alerts bypassing off-duty staff directly to Manager.
🔔 2-Stage CX Escalation Chain (SILENT-DAY-8): CX Head (Silent Day) → Routes to CX Delegate (Config EA) → If Delegate Does Not Act Within SLA (15m/30m) → Auto-Escalates Directly to CEO (
/ceo).
PART 1 · EXECUTIVE SUMMARY (FIRST 0.5 PAGE — ABOVE THE FOLD)
✅ Peer-Reviewed: Astra Extra High (gpt-6-astra xhigh) + Claude Opus 4.7 Extra High · MASTER BACKLOG COMPACTION · O-049 · A571 / A572 / A555 / A564 · 13 EXPORT PACKS + 151 BACKLOG ROWS + 12 INTAKE PACKS
Product Evolution Story, As-Built Feature Ledger (136 Built) & Compacted App-Grouped Finalization Queue (App 0 -> App 8) (MASTER BACKLOG COMPACTION · O-049 · A571 / A572 / A555 / A564 · 13 EXPORT PACKS + 151 BACKLOG ROWS + 12 INTAKE PACKS)
1. What We Are Building & Why
- **Complete Product Evolution Story & Vision (`01-PRODUCT-STORY.md` · `A571` / `A513` / `A564`):** Traces how Harley's grew across `1,804` commits from a **Revenue Dashboard (`2026-09-01`)** → **Release 3 Data Trust (`Oct 2`)** → **FN2 One Global Filter System (`Oct 3`)** → **Actionable Alerts & WhatsApp (`Oct 3`)** → **ONE Master App Decision (`Oct 5, C24`: one login, one people directory, one nudge inbox)** → **Accountability Engine, Shared Kiosk & PIN per Act (`Oct 8–12, A333/A452/A456`)** → **OneOps Vision (`Oct 13, A498/A513`: one source of truth running all Harley's meetings across sales, stock-outs, performance, projects, production, imports, compliance, maintenance, NPL, and people)** → **Pilot Freeze (`A555`: bug fixes only on pilot) & 'OneOps everywhere' Receiving Build (`Oct 22, A564`)**.
- **Authoritative As-Built Ledger (`136` Features Across `12` Modules) & Backlog Compaction (`151` Rows + `13` Export Packs · `02-BUILT-AND-BACKLOG.md` `A572`):** Replaces stale ledgers (`FEATURE-LEDGER.md`, `BACKLOG-NOW.md`, `BACKLOG-BY-DEPARTMENT.md`) with a single reconciled inventory: **`92` Live features (no switch)**, **`34` Built on `main` behind fail-closed `OFF` switches (`acct_*`, attendance, approvals, AI summaries)**, **`10` Stub/Unknown rows**, **`28` merged duplicates**, **`16` dropped/superseded rows**, and **`6` Cross-Pack Overlaps built once (`03-HANDOVER-ORDER.md`)**.
- **Compacted, App-Grouped Finalization Queue (`App 0 -> App 8` in Strict Finalization Order · `O-049`):** Groups every export pack (`TC, SK, PM, BS, RI, FV, EN, AI, AD/DQ/HI, OS/DF/CM, OV`), every Stop 1–4 Enterprise Module (`Compliance`, `Cafe Projects`, `Assets/Maintenance`, `7-Stage NPL`), and all `151` backlog items by **Application Pillar (`App 0 -> App 8`)** in the exact order they must be finalized and signed off.
2. Personas & Access Scope
- **Founder / CEO / CFO (`Owner`)**: Reviews and finalizes the product app-by-app (`App 0 -> App 8`) from a single compacted queue where duplicates are already merged, overlaps are assigned to a single owner pack, and every open Owner decision (`BS-04, BS-07, OV-6, OA-06, OA-07, Hindi Reviewer`) is explicitly surfaced.
- **Ground Staff, Shift Leads & Outlet Managers (`80% Effort Priority — Principle #1`)**: Protected by the `T0` Staff-Path rule (`STAFF-PATH-FILES.txt`), WhatsApp-familiar mobile UX, Kiosk + 4-digit PIN per accountable act (`A333/A452`), fail-closed switches (`Principle #4`), and 'Ground is never blocked' exception paths (`BO-PIN-RESET`, `BO-CHECKIN-EXCEPTION`).
- **Receiving Build Bots & Engineering Lanes (`MASTER / BUILDER / TESTER / OPUS / ASTRA`)**: Execute the `App 0 -> App 8` handover order over the 22-Table Shared-Object Spine without touching the frozen pilot app (`A555`), banking real `V3/V4` end-user value (`VALUE-LEDGER.md`).
3. Owner Sign-Off Decisions
- **Ratify `02-BUILT-AND-BACKLOG.md` + `INTAKE-BACKLOG-EVOLUTION-AND-APP-FINALIZATION-ORDER` as the Single Backlog of Record (`A572` / `O-049`)**: Supersedes legacy `FEATURE-LEDGER.md`, `BACKLOG-NOW.md`, and `BACKLOG-BY-DEPARTMENT.md`; pilot app (`harleyscfo/harleys-revenue-dashboard`) takes bug fixes only (`A555`).
- **Lock the 9-App Finalization Order (`App 0 Core/Shell/Filters/Bot -> App 1 Daily Store Ops & Outlet Summary -> App 2 People & Master Data -> App 3 Legal/Compliance -> App 4 Assets/Maint -> App 5 Cafe Projects -> App 6 7-Stage NPL -> App 7 Enablement/CI-CD/UAT -> App 8 Post-Pilot Wave`)**.
- **Enforce the 6 'Build-Once' Overlap Rules (`03-HANDOVER-ORDER`)**: Kiosk name/last-seen in `BS-02`; Follow-through counts (no individual ranking) in `My Team AD-1..4`; Rista 429 retry in `RI-1..2`; Outlet phone in `OS-6`; Metric definitions in `OV-1`; Negative scope matrix in `TC-4`.
- **Resolve Open Owner Inputs per App During Finalization**: (1) `BS-04` Manager shift-approval rules & `BS-07` Outlet Master fields; (2) `OV-6` multi-outlet employee rollup scope above Outlet Manager; (3) Named fluent **Hindi Reviewer** (`N-11 / SK-14`) & **Quality Reviewer** (`BO-FB-TEMPLATES`); (4) `OA-06` Compliance restricted-item list & `OA-07` Projects 42-day fit-out inputs.
PART 2 · FULL INTAKE, DOMAIN OBJECT DESIGN & GLOBAL INDUSTRY BENCHMARKS (1.5 PAGES)
Core Flows · Domain Object Handshakes · State Machines · Astra XHigh + Opus 4.7 Peer Review
2A. Core User Journeys & Functional Intake Rules
| Journey / Capability | Persona & Trigger | System Action & Hard Gate Rule |
|---|---|---|
| App 0 (Finalization Order #1 — Foundation & CI/CD Spine) · Platform Core, `TC-1..14` CI/CD Gates, `EN-01..19` Enablement Spine, 4-Tier Shell (`SK-1..15`), Sticky Filters (`FV-1..12`), Business Structure (`BS-01..11`), `@OneOps` Bot (`T2-9` + `O-048` + `AI-01..12`) & Nudge Engine (`AD-1..4`) | Foundation for All Apps · Touches: `outlets, clusters, kiosks, filter_registry, saved_filter_views, user_filter_preferences, role_default_filters, bot_context_suggestion_templates, alert_issues` | **Peer-Hardened (`Astra XHigh` + `Opus 4.7 Max`):** Includes `SP0` department seeds (`10` keys), `TC-1..14` mechanical `T0–T3` CI/CD gates, and `EN-01..19` telemetry/setup primitives at `Order #1` so every downstream app builds on tested rails. **Built (`92` Live / `14` Switch-OFF):** OS Theme (`SK-1`), Left Sticky Rail + `280px` Right Needs-You (`SK-3/SK-7`), Role Bottom Bar (`SK-6`), Sign-In v2 (`SK-10`), Global Filter System (`FN2`), Alert Tiers & Quick Actions (`ALT4/ALT6`), AI Gateway & Thumbs Feedback (`AI0/AIFB1`). **Finalization Queue (`Ready to Lock`):** • **`0.1 Shell & Skin (SK-1..15, E1)`:** Left-rail polish (`BO-LEFTRAIL-POLISH`), Bell count on Crown (`BO-NEEDSYOU-BELL-COUNT`), Mobile pull-down Nudge rail (`BO-NUDGE-PULLDOWN`), Critical full-screen takeover (`BO-CRITICAL-TAKEOVER`), Super Admin 30-min `See-As` (`SK-12 / H-09`), Kiosk-only Hindi (`SK-14 / A547`). • **`0.2 Sticky Filter System (FV-1..12, A569)`:** 1 Registry (`DEFS`), 1 Manifest (`PAGES`), `URL = Truth`, Role Default Views in Config (`FV-8`), fail-closed `access.for(user)` clamping (`FV-6`). • **`0.3 Business Structure (BS-01..11)`:** `Outlet / Central Kitchen / Corporate` types (`BS-07`), Kiosk Registry (`BS-02` builds Kiosk name + last-seen once), Super Categories (`BS-06`), Festival Calendar (`BS-08`), Hidden-Outlet flag (`BS-11 / O-04`). • **`0.4 OneOps Search (`Cmd+K`), `@OneOps` Bot & Page-Context Sticky Suggestions (`T2-9`, `O-048`, `AI-01..12`)`:** `<120ms` FTS+Trigram omnibox, **`O-048` 7-Left-Rail-Context × 6–8 dynamic sticky prompt chips**, pre-query `RBACScopeTrimmer`, 2-stage Claim-to-Source verifier, PIN-gated `BotActionProposal`, AI Gateway (`OFF` by default, figure validator, cost cap, `BO-BAKEBOT-SIDE`). • **`0.5 Universal Nudge & Adherence (`AD-1..4`, `DQ-1..5`, `HI-1`)`:** `[✓ Done] / [⏰ Snooze] / [✕ Cannot]`, My Team follow-through counts (no individual ranking), quiet-hours hold queue (`DF-3`). |
| App 1 (Finalization Order #2 — Identity, People & Master Data First) · People Module, Central Master Data Holders (`PM-1..10`), 46-Col HR Importer & Full HR Lifecycle (`Stop 4 / T1-11 / H-01..18 / E3`) | HR (`people_hr`), Admin, Super Admin, Store/Cluster Mgrs · Touches: `users/hop.people, master_data_holders, org_departments, org_sub_functions, people_titles, person_membership, person_cover, user_assignments, people_import_rounds, staff_shift_rosters, staff_inter_outlet_loans, staff_financial_loans` | **Peer-Hardened Sequencing (`Opus 4.7 Max` + `Astra XHigh` Fix):** Promoted to `Order #2` ahead of Store Ops/Outlet Summary because Identity (`users`), Kiosk Roster (`person_membership`), Management Scope (`user_assignments + person_cover`), and `master_data_holders` are prerequisites for every operational module. **Built (`11` Live / `3` Switch-OFF):** HR Master list & CSV import, Admin/Super Admin/Config Lead split (`C50`), Hierarchy scope (`M-192`), Shared-phone worker switch & Forgot PIN (`next18`). **Finalization Queue (`Ready to Lock`):** • **`2.1 One Person Record & Central Master Data Holder Registry (`PM-1..3`, `BO-MASTER-OBJECTS`, `H-02..05`)`:** `users / hop.people` (`H-000109+`; `H-000001..108` reserved, `PM-8`) separated from Access (`user_assignments`), table-driven `master_data_holders` across 21 domains (`PM-2`), `7+1` Departments (`SP0`), `95` Sub-Functions, `33+` Title LOVs (title never grants access). • **`2.2 46-Column HR Payroll Export Reducer, Dry-Run -> `APPLY` Importer & DPDP Block-List (`PM-4..5`, `PM-10`, `A570`, `H-15`)`:** Deterministic reducer (`588` rows -> `16` fields), `report_hash` Dry-Run diff, `people_import_rounds`, strict DPDP block-list (`PAN, Aadhaar, Bank, IFSC, UAN, ESIC, Salary, DOB, Family, Address` kept OUT of main DB), mandatory non-prod PII masking (`PM-10 / PL-19`). • **`2.3 Temporal Membership (`PM-6..7`), 5-Min Ground Onboarding (`BO-GROUND-SIGNUP`), Doc Vault, Roster, Cover Finder, Loans & 5-Gate Offboarding (`T1-11`, `BO-PIN-RESET`, `J19`)`:** `person_membership` (`EXCLUDE USING gist` = Kiosk Roster) vs `user_assignments + person_cover` (= Management Visibility), `Medical EXPIRED` hard-blocks food stations, Shift `A/B/C/Split` roster, 1-tap sick-call cover finder, Temp Crew Loans vs Permanent 4-State Transfers, `<=25%` Aggregate EMI Staff Loans, 5-Gate Offboarding. |
| App 2 (Finalization Order #3 — Ground & Store Ops) · Daily Store Operations, Accountability Kiosk (`E13`), Consolidated Outlet Summary (`OS-1..7`) & Rista/Odoo Feeds (`RI-1..6`, `OV-1..10`) | Ground Staff, Shift Leads, Store & Area Managers · Touches: `outlets, kiosks, top_items, stockouts, sales_item_daily, compliance_licences, checklist_submissions, kiosk_manager_view_logs` | **Peer-Hardened Sequencing (`Astra XHigh` Fix):** Sequenced immediately after `App 1 (People & Master Data PM-1..10)` so `person_membership` and `user_assignments` exist before Outlet Summary Section B (`People Today`) and Kiosk Manager View (`OS-5`) execute. **Built (`28` Live / `12` Switch-OFF):** Sales/Growth/Outlets/City pages, Live Sold-Outs (15m window), Sold-Out vs Rista reconciliation (`Z3`), Data Completeness Grid (`X2`), Staff Home & Tasks (`Done/Later/Cannot`), Accountability Engine Core L1–L3 (`PR #375`), Kiosk Setup (`PR #384 K1b`), Pinned Engine Alerts (`PR #385 K1a`). **Finalization Queue (`Ready to Lock`):** • **`1.1 Consolidated Outlet Summary & Kiosk Manager View (`OS-1..7`, `OV-1..10`, `BO-OUTLET-ROLLUP`, `A570`)`:** Single `/outlets/:code` page (Header Strip + Sections `A..H`: AI Summary, People Today, Checks Today, Stock-Outs, Top 20, Compliance, Sales, Alerts), single-outlet manager landing (`A570`), PIN-gated Kiosk Manager View (money stripped server-side, `60s` idle auto-close, `OS-5`), single metric definitions (`OV-1`). • **`1.2 Accountability Kiosk, Shift Gate & 12 Outlet Rounds (`E13`, `A333`, `A452`, `BO-CHECKIN-EXCEPTION`, `BO-ATTEND-B-OFFLINE`, `BO-TPL-ASSIGN`)`:** Shared Kiosk + 4-digit PIN per act, Opening/Closing/Food-Safety rounds (`16` CX templates `N-06`), check-in exception so ground is never blocked, offline headcount queue, shift handover. • **`1.3 Rista 15m Sync & Weekly Top 20 (`RI-1..6`, `DF-1..2`)`:** Read-only 15m Rista polling with 429 exponential backoff (`RI-1`), Monday 12:00 IST Outlet/City/Brand Top 20 (`OS-2 / top_items`), daily stock-alert heartbeat (`DF-2 / BO-STOCK-NUDGE`). |
| App 3 (Finalization Order #4) · Standalone Legal & Statutory Compliance App + Embedded Outlet Licence Tracker (`Stop 1 / T1-8A/8B/9 / CM-1..2 / DF-4 / CP-01..08`) | Legal/Company Secretary, Compliance Lead, Outlet Managers · Touches: `compliance_licence_types, compliance_licences, s3_document_assets, legal_notices, landlord_leases` | **Built (`3` Live):** Licences page per outlet, Attachments service, Compliance Desk Group claim/close. **Finalization Queue (`Ready to Lock`):** • **`3.1 Outlet Statutory Licences & 60/30/14/7d Expiry Engine (`CM-1..2`, `DF-4`, `CP-01..04`, `OS-6`)`:** `compliance_licence_types` + `compliance_licences` (`FSSAI, Trade, Fire NOC, Health, Shop & Est, PCB, Weights`), masked licence numbers, live date status (`Valid, Expiring <=60d, Expired, Missing`), daily `60/30/14/7d` alert scheduler (`DF-4`), `s3_document_assets` with real ClamAV scanner (`AT-01..05 / BO-PHOTO-STORAGE`). • **`3.2 Standalone Legal Notices, Landlord Lease Vault, Board Secretarial & Inspector Mode (`T1-8A/8B/9`, `CP-05..08`)`:** Legal notice SLA tracker, landlord rent/CAM escalation ledger, board resolutions, and 1-tap Outlet Inspector Mode bundle export (`J09`). |
| App 4 (Finalization Order #5) · Enterprise Fixed Assets, Preventive Maintenance & 6-State Breakdown Helpdesk (`Stop 2B / T1-12 / T1-13 / MT-02..04 / BO-MAINT-MONEY`) | Facility Managers, Technicians, Store Managers, Finance · Touches: `equipment_assets, maintenance_tickets, amc_contracts, vendor_sla_work_orders, s3_document_assets` | **Built (`2` Live / `1` Switch-OFF):** Photo-first `'Report a problem'` (`next9b`), Repair loop (`Cannot -> Repair`, `claim/hold/done/confirm`). **Finalization Queue (`Ready to Lock`):** • **`4.1 Fixed Asset QR Registry, Warranty/AMC Guard & WDV (`T1-12`)`:** `equipment_assets` (`HRL-AST-*`), QR tag scan, automated warranty/AMC claim guard before vendor PO approval, repair-cost vs WDV replacement flag. • **`4.2 6-State Breakdown Helpdesk, Cold-Chain Auto-Tickets & Maintenance Payments (`T1-13`, `MT-02..04`, `BO-MAINT-MONEY`)`:** `4h` P1 SLA escalation (`MT-02`), repeat-failure detection (`MT-03`), `>8°C` chiller excursion auto-tickets, and City Head -> Business Head maintenance payment & petty-cash workflow (`BO-MAINT-MONEY`, `J11`). |
| App 5 (Finalization Order #6) · Café Projects (5-Gate NSO CapEx Rollout) & India Ground-Level Site Kiosk (`Stop 2A / T1-14 / PJ-01..06`) | Projects Head, Civil/MEP Engineers, Site Supervisors, CFO · Touches: `cafe_projects, project_boq_lines, project_site_grns, s3_document_assets` | **Built (`1` Track-Only MVP):** Projects tracker page on `main` (`2026-10-07`). **Finalization Queue (`Ready to Lock`):** • **`5.1 5-Gate NSO Project Tracker, 42-Day Fit-Out Template & CapEx BoQ (`T1-14`, `PJ-01..06`)`:** `G1 LOI/Legal -> G2 Design/BoQ -> G3 Civil/MEP -> G4 Equipment/Trial -> G5 Handover`, 42-day fit-out template (`PJ-06`), CapEx budget vs actuals (`PJ-05`), `10%` retention ledger, Snag-to-Zero gate. • **`5.2 India Ground-Level Site Mobile Kiosk (`T1-14`, `J12`)`:** Offline-queued mobile GRN lorry/challan photo capture, daily contractor muster headcount, and site progress photo check-ins. |
| App 6 (Finalization Order #7) · 7-Stage Patisserie New Product Launch (NPL) Engine & 5-Axis Adoption Roll-Up (`Stop 3 / T1-10 / J18`) | R&D Chefs, QA/Food Safety, CK Production, Supply Chain, Store Mgrs, Leadership · Touches: `npl_launches, npl_stage_gates, npl_outlet_rollout_matrix, npl_post_launch_daily_snapshots, npl_kill_scale_decisions` | **Finalization Queue (`Ready to Lock`):** • **`6.1 7-Stage Gate-Locked Patisserie NPL Pipeline (`T1-10`, `J18`)`:** `Stage 1 Ideation & Margin Gate (<=28% food cost) -> Stage 2 Lab & FSSAI Cert -> Stage 3 Packaging & Cold-Chain -> Stage 4 CK Pilot Batch -> Stage 5 Outlet Training & Tasting (M1..M4) -> Stage 6 POS Unlock (check_m3_and_zero_cannot_before_pos_unlock) -> Stage 7 D+30 Kill/Iterate/Scale`. • **`6.2 Top Executive Adoption Roll-Up Summary, 5-Axis Filter Engine & 1-Tap Batch HOP Nudge (`20:52 IST` Mandate)`:** `🟢 Adopted (21/32 · 65.6%)`, `🟡 Lagging (7/32 · 21.9%)`, `🔴 Not Adopted (4/32 · 12.5%)`, `👥 Crew Cert (482/540 · 89.3%)` (`npl_rollout_adoption_rollup_v2` via `LATERAL LIMIT 1`), 5-axis filter + 4 Group-By modes, `[🔔 1-Tap Batch HOP Nudge]` + `[✕ Cannot]` upstream rerouting (`L3 CK` vs `L4 Logistics`). |
| App 7 (Finalization Order #8) · Enablement, Setup Registry (`EN-01..19`), 6-Viewport CI/CD Gates (`TC-1..14`) & Pilot Bug-Fix Queue (`9 BUG-* Rows`) + App 8 (Order #9 · Post-Pilot Wave) | QA/Release Engineering, Config Leads, All Personas · Touches: `setup_registry_enablement, uat_signoff_packets, journey_storyboard_registry` | **App 7 Finalization Queue (`EN-01..19`, `TC-1..14`, `T2-6`, `J01–J20`):** • **`7.1 Enablement, Setup-as-Data, Learn the App & Value Ledger (`EN-01..19`, `VALUE-LEDGER V0..V4`)`:** Fixed-vocabulary adoption telemetry (`EN-01..03`), Setup Registry with direct links (`EN-15/16 / BO-SETUP-DIRECT-LINKS`), Ground `'Learn the App'` (`EN-11 / BO-LEARN`), Demo User (`EN-17 / BO-DEMO-USER`), Guided UAT Module (`EN-18 / BO-UAT-MODULE`), Daily `V3/V4` Value Banked scorecard. • **`7.2 4-Tier CI/CD Gate (`TC-1..14`), `G1..G15` Ground Checks & 9 Open Bug-Fix Rows (`A555`)`:** Mechanical `T0` classifier (`STAFF-PATH-FILES.txt`), `G1..G15` real-pointer checks across `390/360/320px`, `TC-4` negative scope matrix, and the **9 Open Bug Rows allowed on Pilot under `A555`** (`BUG-HI-DEPT, BUG-TPL-READ-LEAK, BUG-CENTRALRULE-OUTLETS, BUG-TPL-UNLINKED-DEPT, BUG-HI-CONFIG-TEST, BUG-J1-MAINT-CHIPS, BUG-PIN-ASK-ADMIN-TEXT, BUG-HI-CHECKLIST-FALLBACK, BUG-PACK-MIDNIGHT-LATE`). **App 8 (Order #9 · Post-Pilot Horizon / Parked Extensions `A508 / A472`):** • **`8.1 Parked Reopen Queue (`Reopen on Owner Word or 2026-12-07 Trigger`)`:** Cross-Department Spot Audits (`BO-AUDIT-FEATURE`, `BO-AUD-FIN-CASH`, `BO-AUD-OPS-PRESENCE`), Central Production Unit (CPU) Mass-Balance Ledger (`BO-CPU-LEDGER`), Driver Despatch Run (`BO-DRIVER-PHONES`), Android Ground TWA Wrapper (`BO-ANDROID-GROUND`), and Trade Imports Convergence (`IM-01..15`). |
2B. Underlying Domain Objects & How They Work Together
Domain Object (Table) |
PK & Tenant Scope | Core Attributes & Constraints | Cross-Object Handshake |
|---|---|---|---|
App 0 (Order #1) · Platform Core, CI/CD (`TC`), Enablement (`EN`), Shell (`SK`), Filters (`FV`), Business Structure (`BS`), Bot (`O-048`, `AI`) & Nudge (`AD`) | 90 Export Pack Items + 38 Backlog Rows | `org_departments (SP0), master_data_holders, outlets, clusters, outlet_kiosks (BS-02), filter_registry, saved_filter_views, user_filter_preferences, role_default_filters, setup_registry_enablement, bot_context_suggestion_templates (O-048), alerts_nudges_events` | **Order #1 (Foundation):** Ready for Finalization. Seeds `SP0`, sets up `TC-1..14` CI/CD & `EN-01..19` telemetry, and builds `BS-02` Kiosk status & `AD-1..4` counts once. |
App 1 (Order #2) · People, Identity, Central Master Data Holders (`PM-1..10`) & Full HR Lifecycle (`Stop 4 / T1-11 / E3`) | 10 Export Pack Items + 24 Backlog Rows + T1-11 | `users/hop.people, master_data_holders, org_departments, org_sub_functions, people_titles, person_membership (FKs + dual GiST), person_cover, user_assignments, people_import_rounds (16-col allowlist), staff_shift_rosters, staff_inter_outlet_loans, staff_financial_loans` | **Order #2 (Identity & HR First):** Ready for Finalization. Promoted ahead of Store Ops per `Opus 4.7 Max` & `Astra XHigh` so `person_membership` & `access.for(user)` exist first. |
App 2 (Order #3) · Daily Store Ops, Accountability Kiosk (`E13`), Rista 15m Sync (`RI-1..6`) & Consolidated Outlet Summary (`OS-1..7, OV-1..10`) | 28 Export Pack Items + 31 Backlog Rows | `OutletSummaryProjection (Sections A..H, capability-keyed cache), top_items (Weekly Top 20), stockout_events, sales_item_daily, accountability_tasks_checks, kiosk_manager_view_logs` | **Order #3 (Ground & Store Ops):** Ready for Finalization. Consumes `App 0` & `App 1`; builds `RI-1..2` Rista 429 retry, `OS-6` outlet phone, and `OV-1` metric definitions once. |
App 3 · Legal & Statutory Compliance (`Stop 1, CM-1..2, DF-4, CP-01..08`) | 3 Export Pack Items + 11 Backlog Rows | `compliance_licence_types, compliance_licences, s3_document_assets (ClamAV verified), legal_notices, landlord_leases` | **Order #4 (Legal & Licences):** Ready for Finalization. Unifies `OS-6` Outlet Summary Section F with Standalone Legal Vault. |
App 4 · Fixed Assets, Maintenance & Helpdesk (`Stop 2B, T1-12/13, MT-02..04`) | Stop 2B Spec + 8 Backlog Rows | `equipment_assets (HRL-AST-*), maintenance_tickets, amc_contracts, vendor_sla_work_orders, maintenance_payment_approvals` | **Order #5 (Assets & Repairs):** Ready for Finalization. Unifies QR asset registry, `4h` P1 SLA, cold-chain alerts, and `BO-MAINT-MONEY`. |
App 5 · Café Projects (5-Gate NSO CapEx) & Site Kiosk (`Stop 2A, T1-14, PJ-01..06`) | Stop 2A Spec + 6 Backlog Rows | `cafe_projects, project_boq_lines, project_site_grns, s3_document_assets` | **Order #6 (NSO & CapEx):** Ready for Finalization. Unifies 5-Gate NSO tracker, 42-day fit-out template (`PJ-06`), and Site Mobile Kiosk. |
App 6 · 7-Stage Patisserie NPL & 5-Axis Adoption Roll-Up (`Stop 3, T1-10, J18`) | Stop 3 Spec + 20:52 IST Roll-Up Mandate | `npl_launches, npl_stage_gates, npl_outlet_rollout_matrix, npl_post_launch_daily_snapshots, npl_kill_scale_decisions` | **Order #7 (Patisserie NPL):** Ready for Finalization. Includes Top Adoption KPI Strip, 5-Axis Filters, and 1-Tap Batch HOP Nudge. |
App 7 & App 8 · Enablement/CI-CD/UAT (`EN, TC, BUG-*`) & Post-Pilot Wave (`A508/A472`) | 33 Export Pack Items + 33 Backlog Rows | `setup_registry_enablement, uat_signoff_packets, journey_storyboard_registry (J01–J20), value_ledger_daily` | **Order #8 (Enablement/QA) & Order #9 (Parked Horizon):** Ready for Finalization (`App 7`) & Preserved Parked (`App 8`: Audits, CPU, Despatch, Imports). |
2C. State Machines & Operational Guardrails
19 Emerged Product Principles (`01-PRODUCT-STORY Section 3`)
Ground comes first (`80/20`), WhatsApp-familiar, `T0` staff path, Features ship `OFF` (fail-closed), Hindi `DRAFT` until approved, Shared Kiosk + PIN per act, Counts not ranking, AI never decides, Adopted not just shipped (`V3/V4`).
6 Cross-Pack Overlaps Built Once (`03-HANDOVER-ORDER Section 2`)
`BS-02` owns Kiosk name/last-seen · `My Team AD-1..4` owns follow-through counts · `RI-1..2` owns Rista retry/fields · `OS-6` owns outlet phone · `OV-1` owns metric definitions · `TC-4` owns negative scope matrix.
Pilot Freeze & Receiving Build Rule (`A555` / `A564` / `2026-10-22`)
Pilot app (`harleyscfo/harleys-revenue-dashboard`, `1b03086a`) takes **bug fixes only** (`9 BUG-* rows`) until `2026-12-07`; all new features build in the receiving **OneOps everywhere** target from the compacted App 0–8 packs.
Value Ledger Scale (`V0 -> V4` · `VALUE-LEDGER.md`)
`V0` Nothing user can do (`0`) → `V1` Built local (`0`) → `V2` Staging switch OFF (`0`) → **`V3` Switch ON for named user on phone (`BANKED 1x`)** → **`V4` Real staff in Prod (`BANKED 2x`)**.
2D. Global F&B / Patisserie / Enterprise Industry Benchmarks & Hostile Peer Review Verdict
| Global Industry Benchmark / Peer Reviewer | Standard / Gate Adopted | How Harley's OneOps / HOP Enforces It |
|---|---|---|
| Product Evolution Arc (`2026-09-01 -> 2026-10-22` · `A571`) | `1,804` Commits · `136` Built Features (`12` Modules) · `151` Backlog Items · `13` Export Packs | Started Sep 1 as a Revenue Dashboard; grew into Release 3 Data Trust (Oct 2), FN2 One Filter System (Oct 3), Alerts & WhatsApp (Oct 3), ONE Master App Decision (`C24`, Oct 5), Accountability Engine + Kiosk + PIN per Act (`A333/A452/A456`, Oct 8–12), OneOps Vision (`A513`, Oct 13), and Pilot Bug-Fixes-Only + Export Packs for 'OneOps everywhere' (`A555/A564`, Oct 22). |
| Compacted & App-Grouped Finalization Queue (`O-049` · `A572`) | 9 Application Pillars (`App 0 -> App 8`) Ordered for Zero-Rework Finalization | Synthesizes all `136` built features (`92` live, `34` behind OFF switch, `10` stub/unknown), `151` aspirational backlog rows (`46 LATER`, `103 PARKED`, `2 DECIDED`, `28` duplicates merged, `16` dropped/superseded), `13` export packs, and Stop 1–4 modules into **Apps 0–8** in dependency order. |
| 6 Cross-Pack Overlaps Built Once (`03-HANDOVER-ORDER`) | Eliminates Duplicate Schema & Logic Across All 13 Export Packs | (1) Kiosk Name & Last Seen -> build once in `BS-02`; (2) Per-Person Follow-Through -> build once in `My Team AD-1..4` (counts, never ranking people); (3) Rista 429 Retry & Field Names -> build once in `RI-1..2`; (4) Outlet Phone -> build once in `OS-6`; (5) Metric Definitions -> build once in `OV-1`; (6) Scope Negative Tests -> build once in `TC-4` matrix. |
| 4 Records & Audit Gaps Resolved in Receiving Build (`Section 6`) | Feature Ledger Refresh + Post-Oct-9 Release Notes + `V3/V4` Value Ledger + Switch Registry | Reconciles the stale Oct 8 Feature Ledger (`58 -> 136` rows), records PRs `#374–#388` (Accountability Engine, Kiosk `K1b`, Engine Alerts `K1a`, Orphan Fixes), enforces `V3/V4` end-user Value Banked tracking, and tracks code default (`OFF`) vs DB runtime switch state. |
| Strongest-Peers Finalization Order Verdict (`Opus 4.7 Max` + `Astra XHigh`) | ✅ APPROVED — STRICT `APP 0 -> APP 8` FINALIZATION DAG & ZERO PILOT THRASH (`A555`) | Validates that `App 0 (Core/Shell/Filters/Bot/Nudge)` -> `App 1 (Store Ops/Outlet Summary/Kiosk/Rista)` -> `App 2 (People/Master Data/HR Import)` -> `Apps 3–6 (Compliance, Assets/Maint, Cafe Projects, 7-Stage NPL)` -> `App 7 (Enablement/CI-CD/UAT)` -> `App 8 (Post-Pilot Wave)` eliminates circular dependencies. |
2F. Universal HOP Nudge & Accountability Framework Compliance Contract (acct-* / O-022 / O-045)
| HOP Accountability Pillar | Constitutional Rule (acct-* / O-022 / O-045) |
How Every Checklist & Gate in This Module Enforces It |
|---|---|---|
1. Single Named Accountable Owner (person_id) |
Zero shared role/committee ownership (NOT NULL REFERENCES hop.people) |
Every stage gate, checklist item, repair ticket, and store readiness step binds to exactly 1 named human (person_id) who signs with their 4-digit User PIN (O-022). |
| 2. Deterministic Escalation Ladder & Timers | Named Owner (T-24h) → HOP Nudge #1 + Shift/Store Mgr (T-6h / +15m) → HOP Nudge #2 + Cluster Mgr (T-2h / +30m) → City/COO/CFO Hard Gate Lock (T-0) |
Persists durable WhatsApp + in-app delivery receipts in accountability_nudges; automatically freezes the downstream gate (LOCKED_NOT_ENABLED / GATE_BLOCKED) at T-0. |
| 3. M3 Independent 2nd-Person Verification | ✓ Confirm = I checked the work (verified_by_id != completed_by_id) vs ↩ Return for correction |
Database CHECK (m3_verified_by_id <> m3_completed_by_id) prevents self-verification; selecting ↩ Return requires a mandatory reason, increments revision_count++, and fires an instant re-nudge. |
4. Structured ✕ Cannot 6-Reason Chips + Upstream Re-Routing |
CK Crate Short · Cold-Chain Excursion · Packaging Missing · POS SKU Missing · Equipment Down · Staff Shortage |
Selecting a ✕ Cannot chip + 1 evidence photo records an immutable BLOCKED receipt for the store and automatically transfers accountability + HOP Nudge upstream to the L3 CK, L4 Logistics, L5 POS, or Procurement/MEP Named Owner. |
5. Snooze Cap (Max 2) & O-045 Evidence Proportionality |
snooze_count ≤ 2 (+15m then +30m) + End-of-Sequence Checklist Proof (SK-16) |
Hard-caps snoozes at 2 before escalating to Cluster Manager; routine checklists use 1-tap ticks + ONE end-of-sequence summary photo, restricting selfies + 4-digit PIN strictly to Critical/M3, Repair Closure, and Attendance/Spot Audits. |
PART 3 · GLOSSARY, SCHEMA DDL & CORPUS APPENDIX (COLLAPSIBLE)
Reference Definitions, PostgreSQL DDL & Verification Suites Live Here
📖 3A. Domain Glossary & Canonical Definitions
| Term / Code | Canonical Definition in Harley's OneOps / HOP |
|---|---|
| Backlog of Record (`02-BUILT-AND-BACKLOG.md` · `A572`) | Authoritative 2026-10-22 synthesis of all `136` built features (`92` live, `34` behind OFF switch, `10` stub/unknown) and `151` aspirational backlog items (`46 LATER`, `103 PARKED`, `2 DECIDED`, `16 DROPPED`), replacing legacy ledger files. |
| App-Grouped Finalization Queue (`O-049` · `App 0 -> App 8`) | Compacted master sequence grouping all 13 export packs, 12 intake packages, and 151 backlog rows into 9 Application Pillars ordered by shared-object dependencies for step-by-step Owner finalization. |
| Value Banked (`V3 / V4` · `VALUE-LEDGER.md`) | Strict business-value metric where local code (`V1`) and dark-launched staging code (`V2`) score `0`; value is banked only when a named user completes a real task on a phone (`V3 = 1x`) or in production (`V4 = 2x`). |
| 6 Overlaps to Build Once (`03-HANDOVER-ORDER.md`) | Architectural deduplication rule ensuring Kiosk status (`BS-02`), follow-through counts (`AD-1..4`), Rista retry (`RI-1..2`), outlet phone (`OS-6`), metric definitions (`OV-1`), and negative scope tests (`TC-4`) are implemented once. |
🗄️ 3B. PostgreSQL Schema DDL & Integrity Constraints
-- COMPACTED APP-GROUPED FINALIZATION REGISTRY & VALUE LEDGER (O-049 / A572 / VALUE-LEDGER)
CREATE TABLE app_finalization_queue (
finalization_order SMALLINT PRIMARY KEY CHECK (finalization_order BETWEEN 1 AND 9),
app_code VARCHAR(24) UNIQUE NOT NULL, -- 'APP_0_CORE' .. 'APP_8_POST_PILOT'
app_title VARCHAR(140) NOT NULL,
export_pack_codes TEXT[] NOT NULL,
built_live_count SMALLINT NOT NULL DEFAULT 0,
built_switch_off_count SMALLINT NOT NULL DEFAULT 0,
compacted_backlog_count SMALLINT NOT NULL DEFAULT 0,
finalization_status VARCHAR(24) NOT NULL DEFAULT 'READY_FOR_FINALIZATION'
CHECK (finalization_status IN ('READY_FOR_FINALIZATION','IN_OWNER_REVIEW','FINALIZED_LOCKED','PARKED_POST_PILOT')),
open_owner_decisions_json JSONB NOT NULL DEFAULT '[]'::jsonb,
signed_off_by INTEGER,
signed_off_at TIMESTAMPTZ
);
CREATE TABLE value_ledger_events (
value_event_id UUID PRIMARY KEY,
business_date DATE NOT NULL DEFAULT CURRENT_DATE,
app_code VARCHAR(24) NOT NULL REFERENCES app_finalization_queue(app_code),
feature_code VARCHAR(48) NOT NULL,
value_level VARCHAR(4) NOT NULL CHECK (value_level IN ('V0','V1','V2','V3','V4')),
named_person_id INTEGER,
outlet_code VARCHAR(32),
evidence_record_pk VARCHAR(80) NOT NULL,
banked_points SMALLINT GENERATED ALWAYS AS (
CASE WHEN value_level = 'V3' THEN 1 WHEN value_level = 'V4' THEN 2 ELSE 0 END
) STORED,
recorded_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
📂 3C. Source Corpus Mapping & Automated Verification Evidence
| Source Folder / Artifact | Files / Rows | Target Domain Object | Status |
|---|---|---|---|
owner-packages-2148/00-HANDOFF.md & 01-PRODUCT-STORY.md | A571 Product Story (2026-09-01 -> 2026-10-22), 19 Principles, 26 Turning Points, 18 Lessons, 12 Strategic Questions | Section 1 & State Cards (Product Evolution Arc) | 100% INCORPORATED |
owner-packages-2148/02-BUILT-AND-BACKLOG.md | A572 Backlog of Record: 136 Built Features (12 Modules) + 38 Release Notes + 11 PRs (#374–#388) + 151 Backlog Rows + 28 Merged Duplicates + 16 Dropped | App 0 -> App 8 Compacted Finalization Queue | 100% INCORPORATED |
owner-packages-2148/03-HANDOVER-ORDER.md | 13 Export Packs in Handover Order + 6 Overlaps to Build Once + 4 Records to Fix | App 0 -> App 8 Dependency DAG & Build-Once Rules | 100% INCORPORATED |
owner-packages-2148/sources/* (7 Source Ledger Files) | ARCHITECTURE-STRATEGY, FEATURE-LEDGER, SPRINT, BACKLOG-BY-DEPARTMENT, FABLE-PILOT-PATH, VALUE-LEDGER (V0..V4), BACKLOG | Value Ledger DDL + Department Cross-Walk | 100% INCORPORATED |
Automated Gate Evidence: Verified 100% reconciliation across `01-PRODUCT-STORY.md`, `02-BUILT-AND-BACKLOG.md` (`136` built + `151` backlog + `28` merged duplicates + `16` dropped), `03-HANDOVER-ORDER.md` (`13` packs + `6` overlaps), and all `12` Intake Packages grouped into `App 0 -> App 8`.

OneOps