# NuQloud Milestone Issue List Use these as initial issues/epics in `NuQloud-Nextcloud`. ## Milestone 0: Branch and repo bootstrap ### SC-0.1 Create product branch model - Branch: `nuqloud/bootstrap-branch-model` - Tasks: 1. Add `nuqloud` remote. 2. Create `nuqloud-bootstrap`. 3. Document merge flow from `origin/main`. - Done when: - Team can ship to product fork without touching core `main`. ### SC-0.2 Add docs baseline - Branch: `nuqloud/docs-baseline` - Tasks: 1. Add PRD + implementation matrix + milestone list. 2. Link from root `README` (product fork). - Done when: - Product and engineering scope are versioned. ## Milestone 1: Mode framework and naming ### SC-1.1 Implement `SC_MODE` persistence - Branch: `nuqloud/mode-flag-persistence` - Tasks: 1. Add admin setting for `powered|full_qortal`. 2. Persist and expose mode in app boot payload. - Done when: - UI can render mode-specific behavior. ### SC-1.2 Terminology mapping layer - Branch: `nuqloud/ui-terminology-map` - Tasks: 1. Create string mapping table. 2. Apply to dashboard, auth, settings, onboarding. - Done when: - Powered mode avoids wallet/seed/node language. ### SC-1.3 Debug mode isolation - Branch: `nuqloud/debug-mode-gating` - Tasks: 1. Admin-only guard. 2. Add visible warning banner. - Done when: - Debug data inaccessible to standard users. ## Milestone 2: Identity hardening and powered UX ### SC-2.1 NuQloud login UX pass - Branch: `nuqloud/powered-auth-ux` - Tasks: 1. Simplify login/onboarding copy. 2. Keep full mode untouched. - Done when: - New user flow is understandable without protocol knowledge. ### SC-2.2 Runtime security checks in scripts - Branch: `nuqloud/script-security-guards` - Tasks: 1. Ensure broker token/cors fail-fast checks. 2. Ensure app receives broker token env where required. - Done when: - Startup/recreate cannot silently run insecure. ### SC-2.3 Claims-language pass - Branch: `nuqloud/claims-language-policy` - Tasks: 1. Replace absolute security claims in UI/docs. 2. Add standardized trust language. - Done when: - Marketing and technical claims are defensible. ## Milestone 3: NuQloud backup and proofs ### SC-3.1 Backup proof model - Branch: `nuqloud/backup-proof-model` - Tasks: 1. Define backup proof schema. 2. Store and display proof metadata. - Done when: - Each backup has verifiable proof record. ### SC-3.2 Restore preview integrity gate - Branch: `nuqloud/restore-preview-integrity` - Tasks: 1. Verify integrity before restore action. 2. Expose status and failure reason. - Done when: - Restore cannot proceed on failed verification. ## Milestone 4: Replication status and packages ### SC-4.1 Replication status dashboard - Branch: `nuqloud/replication-status-ui` - Tasks: 1. Show target replicas vs healthy replicas. 2. Show degraded/healthy/error states. - Done when: - Admin sees clear replication health at a glance. ### SC-4.2 Package enforcement - Branch: `nuqloud/package-limits-enforcement` - Tasks: 1. Implement tier config + capacity limits. 2. Enforce limits with actionable UI messaging. - Done when: - Tier limits are consistently enforced. ### SC-4.3 Capacity add-on model - Branch: `nuqloud/capacity-addon-metering` - Tasks: 1. Implement capacity-block accounting hooks. 2. Add over-capacity warnings and controls. - Done when: - Capacity scaling is predictable and auditable. ### SC-4.4 Payment webhook ingest + idempotency - Branch: `nuqloud/payment-webhook-ingest` - Tasks: 1. Add webhook endpoint with signature verification. 2. Add idempotent purchase ledger writes using invoice/event ref. 3. Update entitlements from plan line items. - Done when: - Duplicate webhooks do not double-credit balances. ## Milestone 5: Credits and billing abstraction ### SC-5.1 Credits display abstraction - Branch: `nuqloud/credits-ui-layer` - Tasks: 1. Hide QORT as credits in powered mode. 2. Keep full mode native. - Done when: - Powered users never need token literacy. ### SC-5.2 Credit ledger core - Branch: `nuqloud/credit-ledger-core` - Tasks: 1. Implement ledger model + event types. 2. Add admin usage view/export. - Done when: - Consumption events are traceable. ### SC-5.3 Consume/refund transaction safety - Branch: `nuqloud/credits-consume-refund-atomic` - Tasks: 1. Add atomic consume endpoint with idempotent ref key. 2. Add refund compensation endpoint for failed publishes. 3. Enforce no-negative-balance invariant under concurrency. - Done when: - Publish retries cannot overcharge or produce negative balances. ## Milestone 6: Marketplace readiness ### SC-6.1 Install flow simplification - Branch: `nuqloud/install-flow-polish` - Tasks: 1. Improve installer prompts and defaults. 2. Validate secure-by-default paths. - Done when: - Install path is predictable for 8–16GB VM targets. ### SC-6.2 Documentation packs - Branch: `nuqloud/docs-marketplace-pack` - Tasks: 1. Admin quickstart (powered). 2. Full mode guide. 3. Security and backup guarantees page. - Done when: - Docs support app-store review and customer onboarding. ### SC-6.3 Intro grant workflow - Branch: `nuqloud/intro-grant-workflow` - Tasks: 1. Add one-time grant request UI and API. 2. Add management approval/reject actions. 3. Persist and enforce one-grant-per-instance policy. - Done when: - Intro grants are controlled, auditable, and non-repeatable. ## Suggested branch naming convention `nuqloud/-` Examples: 1. `nuqloud/m1-mode-persistence` 2. `nuqloud/m3-backup-proof-schema` 3. `nuqloud/m4-replication-health-panel`