# Phase 6: UAT Program, Incentives & Per-Client Feature Rollout

## Status (July 2026): **In Progress — launch-track UAT pack (keep current)**
UAT features ready for testers (`/businessite/uat`) — launch spine **plus mid/late-July packs** in `data/uat_launch_releases.xml`:
- Roadmap page reflects July 2026 shipments (Phase 1 Shipped, Messaging, payments, eShop, **mailing 1.2.75**, **web↔mobile 1.2.85**, guides, ISP, APK line)
- Core team: 20 posts + clean recruit chrome
- Core projects + SA junior HR scaffold
- Messaging chat-first + mesh protocol API
- Mobile hubs: **TA5 1.6.32+41** + **RC1 1.7.9+10** (32/64 only) — closed-app WorkManager notifs
- **UAT framework (1.2.91, Colourcraft-style)**:
  - **Releases** package features + steps
  - **Sessions** with pass/fail on every step
  - **Immutable Timeline history** (cannot delete)
  - **Multi-role sign-off** (key user + final; optional technical)
  - **Promote to PROD**: host runner backs up PROD DB+addons **then** QA→PROD module sync + upgrade
  - Menus: BusinesSite → UAT Testing → Releases / Timeline history
  - Guide: [docs/UAT_FRAMEWORK.md](../UAT_FRAMEWORK.md)
- Inclusive registration + **mother tongue**
- Preferred AI + sponsorship + Groq fallback
- Chat payments (PayFast); eShop mall + dual pilots
- **Multi-device** (1.6.15) + **ownership transfer** (1.6.16) + **host identity/backups** (1.6.17) + **menu catalogs** (1.6.18)
- **Mailing Support Queue + Mailcow** (1.6.19-mailing → **1.2.75-mailing-guides-isp**) + web email chips
- **Push/share** (1.6.20-push-share) → closed-app poll (1.6.32 / 1.7.9)
- **login to web QR camera** (1.6.13+22 UAT)
- **send mail ≠ wallet** multi-step subject/body (1.6.14+23 UAT)
- **Merchant domains** + domain ISP (1.6.21–1.6.25)
- **1.2.75-mailing-guides-isp**: admin preview+attachments; name/phone recipients; external direct+advert; `guide isp-domains`; deactivate product / end promo; Gmail IPv4 fix
- **1.2.77-guide-scan-qr-web** + **1.2.79-web-qr-full-chat**: scan QR docs; full dashboard after link (not demo); Unlink phone / delink
- **1.2.85-web-mobile-sync-media**: shared history after QR link; web 📎 Photo / PC file chooser; product media without auto support ticket; closed-app update alerts; guides eshop/media/mobile/notifications
- Public chrome-hide regression across key routes

**Standing rule:** add/update UAT features+steps for **every** new feature and every APK build before calling the work done. See [ROADMAP_UAT_MAINTENANCE.md](ROADMAP_UAT_MAINTENANCE.md).

Critical passes still create Analyst promotion tasks (QA→Prod, changed files only).

## Objectives
- Activate a full, incentivized UAT program using the existing Prod → QA data sync.
- Send targeted notifications to Prod users when new features are ready for testing.
- Provide clear, step-by-step test instructions for every new feature.
- Implement "user successfully completes test → feature is enabled for that specific client/business instance".
- Launch incentives/rewards for testers and participating support providers.

## Key Technical Deliverables
- UAT management models (feature_release, test_step, user_test_result, incentive_ledger).
- Notification system (chat messages + possibly email) triggered from Prod when a feature is "UAT ready".
- Test step engine that guides users through steps inside the chat.
- Feature flag engine (per `businessite.client` / per business instance) that flips on successful test completion.
- Integration with existing prod→qa data sync and git promotion (UAT signoff can gate qa→prod code sync).
- Admin views for core team to manage UAT releases.

## Homepage UX Impact
- Prominent "Early Adopter & UAT Program" section with:
  - Current features open for testing.
  - "Join the Tester Community" signup.
  - Live stats (testers, features shipped via UAT, incentives paid).

## Recruitment & Adoption Value
- Builds an engaged community of real users and businesses.
- Generates authentic testimonials, usage data, and proof points for investors.
- Creates organic growth through incentives.

## Dependencies
- Phase 4 & 5 feature flag work.
- Existing Prod→QA data sync cron/script.
- Git/cron promotion pipeline with signoff gate.

## Success Criteria
- New features can be released for UAT from Prod.
- Users receive notifications, follow test steps in chat, and get the feature enabled in their instance upon passing.
- Incentives are tracked and visible.

## Further Reading
- [UAT Notification & Test Step Framework](uat_notifications.md)
- [Per-Client Feature Flag Engine](feature_flags.md)
- [Incentives & Rewards Ledger Design](incentives_ledger.md)

## Detailed Tasks by Layer and Role (for full implementation)

### Data Layer
- **Architect**: Define data models and relations for this phase (e.g. new tables for phase-specific entities).
- **Analyst**: Specify data validation rules, reports, and analytics for the phase.
- **Admin**: Seed initial data, configure access rights, and set up data migration scripts.
- **Developer**: Implement CRUD operations, constraints, and data sync logic.

### System Layer
- **Architect**: Design system architecture, services, and integration points for the phase.
- **Analyst**: Map system workflows, error handling, and performance requirements.
- **Admin**: Configure system parameters, cron jobs, and environment setups.
- **Developer**: Code the backend services, APIs, and background jobs for the phase.

### User Layer
- **Architect**: Design user interfaces and UX flows for the phase (web and mobile).
- **Analyst**: Define user stories, permissions, and role-based access for the phase.
- **Admin**: Set up user training, roles matrix, and onboarding for the phase.
- **Developer**: Build the UI components, controllers, and client-side logic for user interactions.

### Security Layer
- **Architect**: Design security model, authentication, and audit for phase features.
- **Analyst**: Identify security risks and compliance requirements for the phase.
- **Admin**: Configure groups, rules, and access controls; review logs.
- **Developer**: Implement security checks, encryption, and access decorators in code.

### App Layer
- **Architect**: Define app-specific features, integrations with mobile and external apps.
- **Analyst**: Specify app data models and sync requirements.
- **Admin**: Manage app configurations, publish settings, and user grants.
- **Developer**: Code the app-specific models, views, and integration points (e.g. chat commands, mobile features).