Miller Landscaping Portal
A plain-English cockpit for status, deploys, provider resources, health, blockers, and safe changes.
URLs
- • Preview: launchpad-preview.vercel.app
- • Production: not connected yet
Healthy
- • GitHub repo connected
- • Vercel preview deployed
- • Supabase database reachable
- • Sign-in page loads
Needs action
- • Connect production domain
- • Review production launch checklist
Health: warning
Track uptime, critical routes, database/auth connectivity, and production URL health separately from launch smoke tests.
Production URL
unknownProduction URL is not connected yet.
Database and login
warningSupabase health is simulated until live credentials are connected.
Critical routes
healthyMock route checks are passing.
Next action: Connect live providers and run production health checks after launch.
What exists, where it lives, and who owns it
Launchpad should keep the app understandable after launch: code, hosting, database, auth, env vars, deployments, and launch blockers in one plain-English map.
Code home
github · owned by customer
The app code lives in the customer's GitHub repo.
Technical detail
Repository created from AppAssist client portal template; default branch main.
https://github.com/customer/miller-landscaping-portal
Hosting project
vercel · owned by customer
The preview app runs from the customer's Vercel project.
Technical detail
Next.js project linked to the customer-owned GitHub repo.
https://vercel.com/customer/miller-landscaping-portal
Preview deployment
vercel · owned by customer
A non-production preview is available for smoke testing.
Technical detail
Preview deployment should pass route/auth/database smoke tests before launch-ready.
https://launchpad-preview.vercel.app
Database and login project
supabase · owned by customer
Customer data and sign-in live in the customer's Supabase project.
Technical detail
Supabase Auth + Postgres with generated SQL migrations and RLS policies.
https://supabase.com/dashboard/project/mock-supabase-project
Environment variables
internal · owned by customer
Required Supabase keys must be synced to Vercel before a real preview can pass all checks.
Technical detail
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and optional SERVER_ONLY_SETUP_OR_SMOKE_TEST_SECRET metadata.
Production domain
vercel · owned by customer
Production domain setup is intentionally a launch checklist item in v1.
Technical detail
V1 does not automate domain purchase or registrar changes.
Handoff summary for Miller Landscaping Portal
A plain-English export of what exists, where it lives, who owns it, and what Launchpad can/cannot promise after launch.
Provider summary
- • Code home: GitHub
- • Hosting: Vercel
- • Database and login: Supabase
Handoff notes
- • Customer owns code, hosting, database, auth, and data.
- • Launchpad can monitor and guide changes while connected.
- • If Launchpad is cancelled, provider resources remain in the customer accounts.
Copy/export markdown
# Ownership Passport: Miller Landscaping Portal Generated: 2026-04-24T00:00:00.000Z ## Provider resources - Code home: GitHub - Hosting: Vercel - Database and login: Supabase ## Backup/export visibility - Data location: Customer-owned Supabase project - Backups: unknown - PITR: available_on_paid_plan - Export: manual_available - Restore: not_promised_v1 - Note: Your data lives in your Supabase account. Launchpad can show backup/export visibility, but V1 does not promise universal one-click database restore. ## Handoff notes - Customer owns code, hosting, database, auth, and data. - Launchpad can monitor and guide changes while connected. - If Launchpad is cancelled, provider resources remain in the customer accounts.
Resource Placement Review
Before creating provider resources, confirm exactly where GitHub, Vercel, and Supabase resources will be created and what costs may apply.
GitHub
- • Owner/org: customer-org
- • Repo: miller-landscaping-portal
- • Visibility: private
- • Cost note: Private repository may count against the customer's GitHub plan limits.
Vercel
- • Team/account: Customer Vercel Team
- • Cost note: Preview/production deployments may count toward the customer's Vercel usage.
Supabase
- • Organization: Customer Supabase Org
- • Region: us-east-1
- • Cost note: New Supabase project usage, auth, storage, backups, and PITR may require a paid Supabase plan.
Template is current
Launchpad tracks which template version each customer app was generated from. Patches should create a Change Plan, deploy to preview, run smoke tests, and require approval before production.
Applied change history
- • Initial mock/template version registered.
Next action: No template patch needed yet.
Safe patch requires preview, smoke tests, and approval
Template version drift should become a bounded Change Plan, not arbitrary production editing. Schema, RLS, auth, and form-field changes stay blocked until staging/branching exists.
Affected files/config
- • Generated app template files
- • Template config/version metadata
Provider resources
- • GitHub branch/commit
- • Vercel preview deployment
Preview test plan
- • Create a safe patch branch
- • Deploy to Vercel preview
- • Run generated-app smoke tests
- • Generate Launch Readiness Report before production approval
Rollback plan
- • Keep current production deployment as last-known-good
- • Rollback code/hosting only in V1
- • Do not promise database rollback
Required approvals
- • Workspace owner approval before production deploy
Production eligibility
No patch needed.
workspaceId and workflowId query params.Build console
Every provider action is resumable, idempotent, and auditable. This demo is running in mock provider mode.
- waiting for approvalApprove launch planplan.approve · internal
- pendingApprove resource placementresource_placement.approve · internal
- pendingCreate code homegithub.create_repo · github
- pendingCreate database and loginsupabase.create_project · supabase
- pendingApply safe database schemasupabase.apply_schema · supabase
- pendingCreate hosting projectvercel.create_project · vercel
- pendingSync environment variablesvercel.sync_env · vercel
- pendingDeploy previewvercel.deploy_preview · vercel
- pendingRun smoke testssmoke.run · internal
- pendingGenerate Launch Readiness Reportreadiness.generate_report · internal
Rollback not available yet
Rollback appears only after a previous production Vercel deployment passed smoke tests.
Required post-rollback checks
- • Trigger Vercel rollback/restore where provider plan supports it
- • Run post-rollback smoke tests
- • Write audit event
- • Show recovery guidance if rollback is unavailable or fails
Your mock launch plan is complete
Mock mode proves the plan and launch cockpit without creating live provider resources. To launch for real, connect customer-owned accounts or book an assisted Managed Launch.
What the mock launch proved
- • The selected Business Launch Pack can produce a plain-English launch plan.
- • Launchpad can simulate the GitHub, Vercel, and Supabase setup steps without creating live resources.
- • The build console, smoke tests, Launch Readiness Report, Ownership Passport, and cockpit can be previewed before purchase.
- • The app remains customer-owned in the real launch path: customer GitHub, Vercel, and Supabase accounts.
What remains for real launch
- • Confirm provider account placement: GitHub owner/org, Vercel team, Supabase organization and region.
- • Connect customer-owned provider accounts or choose Assisted Managed Launch.
- • Create real resources, deploy a preview, run live smoke tests, and generate the final Launch Readiness Report.
- • Approve production launch and complete First Real User Activation before marking the app operational.
Provider accounts needed
A GitHub account or organization where the app repo will live.
A Vercel account or team where preview and production deployments will run.
A Supabase organization where the database and auth project will be created.
Bring your provider accounts or ask AppAssist to guide the setup. Managed Launch covers scoping, provider setup help, preview review, production checklist, Ownership Passport, Launch Readiness Report, first-user invite setup, and 30-day support.
Preview verification
Launchpad should only mark an app launch-ready after verification, not just because a deployment URL exists.
Homepage loads
passedHomepage loads passed for https://launchpad-preview.vercel.app.
Login page loads
passedLogin page loads passed for https://launchpad-preview.vercel.app.
Protected dashboard redirects
passedProtected dashboard redirects passed for https://launchpad-preview.vercel.app.
Supabase env vars present
passedSupabase env vars present passed for https://launchpad-preview.vercel.app.
Database connection works
skippedSkipped in mock mode until Supabase credentials are configured.
Safe request write works
skippedSkipped in mock mode until Supabase credentials are configured.
Required tables exist
skippedSkipped in mock mode until Supabase credentials are configured.
Not ready for production yet
Preview verification is partly simulated. Production remains gated until live provider connections, env sync, and smoke tests are verified.
Preview deployment
passedA preview deployment is represented in the launch workflow.
Smoke tests
warningMock smoke tests passed; live Supabase checks still need real credentials.
RLS expectations
warningTemplate declares RLS expectations; live proof tests are still needed.
Generated-app email
deferredBranded generated-app transactional email is V2; show the limitation clearly.
Blockers
- • Live provider automation remains gated behind connector feasibility and OAuth token exchange.
Warnings
- • Production domain setup is a guided checklist item in V1.
Deferred setup
- • Generated-app branded transactional email
- • Custom domain automation
- • Database rollback/PITR workflow
Generated 2026-04-24T00:00:00Z
Production approval required
Launchpad must require explicit approval after the Launch Readiness Report before production goes live. After approval, the app moves into First Real User Activation.
Production launch requires an explicit approval after Launch Readiness Report is ready.
Activation pending
Do not mark a production app operational until a real admin/customer/request/status loop is completed, manually verified, or skipped with an audit warning.
Invite first admin
completedCompleted 2026-04-24T00:00:00Z
Invite first customer/client/user
pendingSubmit first real request
pendingConfirm admin status update
pendingConfirm customer can see the update
pendingStatus: pending
Alerts
Failures that need user or AppAssist action should create in-app/email alerts, not only build-console messages.
Environment variables need syncing
launch blocker · launch-checklist · open
Supabase environment variables must be synced to Vercel before full preview verification can pass.
2026-04-24T04:00:00Z
Provider scopes need review
provider scope · provider-connections · open
One or more provider connections may need reconnecting if required scopes are missing.
2026-04-24T04:01:00Z
Lightweight business activity
Usage stats should be business-focused and non-sensitive: counts and timestamps, not customer content.
Know where the data lives
Your data lives in your Supabase account. Launchpad can show backup/export visibility, but V1 does not promise universal one-click database restore.
Cost/provider implications
- • Supabase backups/PITR may require a paid provider plan.
- • Large exports or storage usage can affect provider billing.
Last checked: 2026-04-24T00:00:00.000Z
Paid-plan health summary
A weekly digest should summarize uptime, deployments, smoke tests, provider status, blockers, alerts, and notable activity without exposing raw customer content.
Preview workflow is progressing, but production remains gated by provider/env/smoke/activation readiness.
Highlights
- • GitHub, Vercel, and Supabase resources are represented in the cockpit.
- • Smoke-test and launch-checklist gates are visible.
- • Audit log and alerts are available for action-needed states.
Risks
- • Live provider automation is still gated behind feasibility and OAuth token exchange.
- • Production operational status requires First Real User Activation.
Recommended actions
- • Resolve open alerts.
- • Run smoke tests after live env sync.
- • Complete Resource Placement Review before provider creation.
Period: 2026-04-17T00:00:00Z → 2026-04-24T00:00:00Z. Channels: in_app, email
Launchpad email visibility
Alerts, health digests, workflow failures, and Managed Launch follow-ups should leave a durable delivery trail. Recipients are redacted; raw email provider payloads are not shown.
[AppAssist Launchpad] Weekly health digest
email · weekly_health_digest · to ow***@example.com
Launch checklist
Preview-first means production launch stays blocked until required provider, env, smoke-test, blocker, and approval gates are satisfied.
Provider accounts connected
Required for production
GitHub, Vercel, and Supabase are connected or simulated in mock mode.
Customer-owned code repo created
Required for production
The generated app has a customer-owned GitHub repo.
Environment variables synced
Required for production
Supabase URL, anon key, and optional server-only setup/smoke-test metadata must be synced to Vercel before real preview verification can pass.
Preview deployed
Required for production
A preview URL exists for review and smoke testing.
Smoke tests passed
Required for production
Route checks can pass in mock mode, but database checks need configured Supabase credentials.
Production domain reviewed
Recommended / checklist
Domain setup is a guided checklist item in v1, not automated purchase/registrar control.
No unresolved launch blockers
Required for production
Launchpad should not promote to production while required checklist items need action.
Explicit production approval
Required for production
Production launch always requires explicit approval after preview verification.
Plain-English failure messages
Every common provider, workflow, security, and smoke-test failure should tell the user what happened and what to do next.
GitHub needs another permission
The connected GitHub account does not currently allow Launchpad to create or update the app repo.
Technical hint
Check GitHub App/OAuth scopes for repo:create, repo:contents:write, and repo:metadata:read.
Code: github_missing_scope
Repo name is already taken
A GitHub repo with this name already exists in the selected account or organization.
Technical hint
Provider lookup found an existing owner/name before create-from-template.
Code: github_repo_exists
Preview build failed
Vercel received the app but could not finish building the preview.
Technical hint
Read deployment build events/logs and map compiler/env errors into a repair step.
Code: vercel_build_failed
Hosting is missing configuration
The app is missing one or more environment variables in Vercel.
Technical hint
Common missing keys: NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY. Optional setup/smoke paths may use SERVER_ONLY_SETUP_OR_SMOKE_TEST_SECRET.
Code: vercel_missing_env
Supabase needs reconnecting
Launchpad can no longer access the customer's Supabase account with the saved connection.
Technical hint
Provider connection status should become needs_reconnect/expired.
Code: supabase_token_expired
Database permissions blocked the smoke test
The database is reachable, but the app's permissions blocked the test request.
Technical hint
Inspect RLS policies for generated customer/admin access and smoke-test service role behavior.
Code: supabase_rls_blocks_test
Homepage did not load
The preview URL exists, but the homepage did not return a successful response.
Technical hint
Expected HTTP 2xx from /.
Code: smoke_homepage_failed
Login page did not load
The sign-in page is not available on the preview app.
Technical hint
Expected HTTP 2xx from /login.
Code: smoke_login_failed
Approval required
Launchpad is waiting for an explicit approval before continuing.
Technical hint
workflow_steps.status = waiting_for_approval.
Code: workflow_waiting_for_approval
Platform token blocked
Launchpad blocked a live provisioning action because it was not using a customer-owned provider connection.
Technical hint
tokenOwnership must be customer_owned for live customer infrastructure provisioning.
Code: platform_token_blocked
Shareable launch state summary
A safe support snapshot should summarize provider state, resources, checklist gates, smoke tests, workflow waits, and recent audit events without exposing secrets.
Preview scaffolding is in place, but production remains gated until env sync, full smoke tests, blocker resolution, and explicit approval are complete.
Recommended next actions
- • Environment variables: Connect Supabase and sync env vars to Vercel.
- • Production domain: Review production launch checklist after preview smoke tests pass.
- • Environment variables synced: Connect Supabase and sync env vars to Vercel preview/production targets.
- • Smoke tests passed: Run HTTP smoke tests after provider env vars are synced.
- • Production domain reviewed: Choose whether to connect a custom domain before launch.
- • No unresolved launch blockers: Resolve required needs-action and pending items.
- • Explicit production approval: Approve production launch only after preview smoke tests pass.
- • Hosting is missing configuration: Let Launchpad sync the missing Supabase environment variables to Vercel and redeploy preview.
- • Approval required: Review the requested action and approve it only if it matches what you want Launchpad to do.
Recent audit events
- • succeeded: github.create_repo — Launchpad created the customer-owned GitHub repo in mock mode.
- • succeeded: vercel.deploy_preview — Launchpad deployed a non-production preview for verification.
- • waiting_for_user_action: smoke.run — Route checks can run, but database smoke checks need Supabase credentials and env vars.
- • succeeded: change.copy.requested — A safe copy change was prepared for preview-first review.
- • blocked: provider.live_action.blocked — A live provider action was blocked because customer-owned token context is required.
Export JSON preview
{
"generatedAt": "2026-04-24T07:38:14.871Z",
"appName": "Miller Landscaping Portal",
"status": "needs_action",
"summary": "Preview scaffolding is in place, but production remains gated until env sync, full smoke tests, blocker resolution, and explicit approval are complete.",
"providerConnections": [
{
"provider": "github",
"label": "Code home",
"status": "mock_ready",
"requiredScopes": [
"repo:create",
"repo:contents:write",
"repo:metadata:read"
],
"ownership": "customer_owned_required"
},
{
"provider": "vercel",
"label": "Hosting",
"status": "mock_ready",
"requiredScopes": [
"project:create",
"project:env:write",
"deployment:read",
"deployment:create"
],
"ownership": "customer_owned_required"
},
{
"provider": "supabase",
"label": "Database and login",
"status": "mock_ready",
"requiredScopes": [
"project:create",
"project:read",
"database:migrations:write",
"auth:config:write"
],
"ownership": "customer_owned_required"
}
],
"resources": [
{
"key": "github_repo",
"label": "Code home",
"provider": "github",
"owner": "customer",
"status": "connected"
},
{
"key": "vercel_project",
"label": "Hosting project",
"provider": "vercel",
"owner": "customer",
"status": "preview_ready"
},
{
"key": "vercel_preview_deployment",
"label": "Preview deployment",
"provider": "vercel",
"owner": "customer",
"status": "preview_ready"
},
{
"key": "supabase_project",
"label": "Database and login project",
"provider": "supabase",
"owner": "customer",
"status": "connected"
},
{
"key": "env_sync",
"label": "Environment variables",
"provider": "internal",
"owner": "customer",
"status": "needs_action",
"nextAction": "Connect Supabase and sync env vars to Vercel."
},
{
"key": "production_domain",
"label": "Production domain",
"provider": "vercel",
"owner": "customer",
"status": "pending",
"nextAction": "Review production launch checklist after preview smoke tests pass."
}
],
"checklist": {
"productionLaunchAllowed": false,
"requiredPassed": 3,
"requiredTotal": 7,
"needsAction": [
"Environment variables synced: Connect Supabase and sync env vars to Vercel preview/production targets.",
"Smoke tests passed: Run HTTP smoke tests after provider env vars are synced.",
"Production domain reviewed: Choose whether to connect a custom domain before launch.",
"No unresolved launch blockers: Resolve required needs-action and pending items.",
"Explicit production approval: Approve production launch only after preview smoke tests pass."
]
},
"smokeTests": {
"status": "passed",
"targetUrl": "https://launchpad-preview.vercel.app",
"failedOrSkipped": [
{
"key": "database_connection",
"status": "skipped",
"message": "Skipped in mock mode until Supabase credentials are configured."
},
{
"key": "safe_request_write",
"status": "skipped",
"message": "Skipped in mock mode until Supabase credentials are configured."
},
{
"key": "required_tables",
"status": "skipped",
"message": "Skipped in mock mode until Supabase credentials are configured."
}
]
},
"workflow": {
"state": "draft_plan",
"waitingSteps": [
"plan.approve"
],
"failedSteps": []
},
"recentAuditEvents": [
{
"category": "provider_action",
"action": "github.create_repo",
"result": "succeeded",
"message": "Launchpad created the customer-owned GitHub repo in mock mode.",
"createdAt": "2026-04-23T21:03:00Z"
},
{
"category": "provider_action",
"action": "vercel.deploy_preview",
"result": "succeeded",
"message": "Launchpad deployed a non-production preview for verification.",
"createdAt": "2026-04-23T21:05:00Z"
},
{
"category": "smoke_test",
"action": "smoke.run",
"result": "waiting_for_user_action",
"message": "Route checks can run, but database smoke checks need Supabase credentials and env vars.",
"createdAt": "2026-04-23T21:06:00Z"
},
{
"category": "safe_change",
"action": "change.copy.requested",
"result": "succeeded",
"message": "A safe copy change was prepared for preview-first review.",
"createdAt": "2026-04-23T21:08:00Z"
},
{
"category": "security",
"action": "provider.live_action.blocked",
"result": "blocked",
"message": "A live provider action was blocked because customer-owned token context is required.",
"createdAt": "2026-04-23T21:09:00Z"
}
],
"recommendedNextActions": [
"Environment variables: Connect Supabase and sync env vars to Vercel.",
"Production domain: Review production launch checklist after preview smoke tests pass.",
"Environment variables synced: Connect Supabase and sync env vars to Vercel preview/production targets.",
"Smoke tests passed: Run HTTP smoke tests after provider env vars are synced.",
"Production domain reviewed: Choose whether to connect a custom domain before launch.",
"No unresolved launch blockers: Resolve required needs-action and pending items.",
"Explicit production approval: Approve production launch only after preview smoke tests pass.",
"Hosting is missing configuration: Let Launchpad sync the missing Supabase environment variables to Vercel and redeploy preview.",
"Approval required: Review the requested action and approve it only if it matches what you want Launchpad to do."
],
"redactionNotice": "Diagnostic snapshots intentionally omit raw provider tokens, service-role keys, database passwords, and raw provider logs."
}Diagnostic snapshots intentionally omit raw provider tokens, service-role keys, database passwords, and raw provider logs.
Assisted managed-launch consent
Workspace owners can grant AppAssist scoped, time-limited support access for managed launches. Support can see workflow state, provider status, blockers, reports, and redacted diagnostics — never raw secrets.
Scopes
- • view status
- • run managed launch steps
- • retry failed steps
- • view safe diagnostics
- • contact customer
Allowed action types
- • View workflow state
- • Retry failed non-destructive steps
- • Guide provider setup
- • Send managed-launch next-action email
Workspace owner must grant scoped, time-limited consent before assisted managed-launch support can act.
V1 readiness tracker
An honest map from the build spec acceptance criteria to current implementation state. Partial is acceptable during build, but it should always name the remaining gap.
A non-technical user can create an AppAssist Launchpad account/workspace.
account workspace
- • Dashboard/app shell exists
- • workspaces/workspace_members schema exists
- • DB-backed demo workspace seed exists
User can describe a client portal and receive a clear launch plan.
planning
- • New App Wizard screen
- • deterministic plan generator
- • Launch Plan UI
- • draft app/plan API boundary
User can connect or simulate GitHub, Vercel, and Supabase provider connections.
providers
- • Connections UI
- • mock connect/reconnect/disconnect API
- • customer-owned connection guards
- • required scopes displayed
Launchpad can create a GitHub repo from a template or demonstrate live-ready connector with mock fallback.
providers
- • mock GitHub connector
- • live customer-owned token guard
- • generated template directory
- • provider resource recording path in workflow executor
Launchpad can create/configure Supabase or demonstrate connector readiness with documented live path.
providers
- • mock Supabase connector
- • Supabase integration docs
- • generated SQL migration with RLS
- • generated app /api/smoke endpoint
Launchpad can create/configure Vercel project, set env vars, and deploy preview or demonstrate live-ready workflow with mock fallback.
providers
- • mock Vercel connector
- • env metadata model
- • preview deployment resource model
- • smoke runner can verify preview URL
Workflow steps are durable, resumable, and visible in the build console.
workflow
- • launch_workflows/workflow_steps schema
- • DB-backed workflow creation
- • worker-safe claim/run-next endpoint
- • Build Console UI
- • persisted workflow cockpit demo
Smoke tests determine whether the app is preview live/launch ready.
verification
- • smoke-test runner
- • generated app /api/smoke
- • persisted smoke_test_runs
- • Launch Checklist gates production approval
Audit log records user and provider actions.
operations
- • audit_events schema
- • richer audit taxonomy/UI
- • workflow approval/run paths write audit rows
- • security-block demo event
Secrets are never displayed back to the user after creation.
security
- • token vault encryption helper
- • token metadata validation
- • redaction helper
- • diagnostic snapshot redaction notice
- • write-only env metadata rule
Operations cockpit clearly shows app status, provider resources, URLs, health, blockers, and recent changes.
operations
- • App Cockpit
- • ownership/resource map
- • Launch Checklist
- • Smoke Test panel
- • Audit Log
- • Diagnostic Snapshot
- • Failure Recovery panel
Safe structured change requests use preview-first workflow.
safe changes
- • safe change types
- • Zod schemas
- • template config generator
- • safe change UI
- • preview-first docs
Generated app does not ship with unrestricted public database access.
template
- • Initial Supabase migration enables RLS
- • customer/admin policies
- • template static smoke checks required tables and RLS
Change requests Launchpad can safely understand
Updated v1 rule: post-production safe changes are config/copy/branding/navigation/status-label only. Schema/form-field/RLS/auth changes require staging or Supabase Branching first.
Safe immediately
Branding
safe immediateLogo, colors, company name, and basic tone.
- • Update config
- • Deploy preview
- • Run smoke tests
- • Approve production
Copy
safe immediateHomepage text, labels, empty states, and helper text.
- • Commit content update
- • Deploy preview
- • Run smoke tests
- • Approve production
Config-only status labels
safe immediateRename or add configured status labels without changing database schema.
- • Update config only
- • Deploy preview
- • Run smoke tests
- • Approve production
Navigation labels
safe immediateRename sections such as Jobs to Projects without changing routes or data model.
- • Update config/copy
- • Deploy preview
- • Run smoke tests
- • Approve production
Blocked until staging/branching exists
Form fields
staging requiredAdding fields can require schema, validation, UI, RLS, and migration changes; blocked for production apps until staging/branching exists.
- • Require Supabase Branching or staging project
- • Review schema/RLS impact
- • Test outside production
- • Only then consider production approval
Schema changes
staging requiredDatabase schema changes are staging-required and must not be tested directly against production Supabase.
- • Create staging/branching strategy
- • Run migration review
- • Verify RLS
- • Approve production only after preview/staging passes
RLS changes
staging requiredPermission-policy changes are staging-required because they can expose or block customer data.
- • Test with admin/customer/anonymous users
- • Verify isolation proof
- • Approve only after staging passes
Auth behavior
staging requiredInvitation, login, and role behavior changes are staging-required and should not be applied directly to production.
- • Test auth flows in staging
- • Verify redirects/invitations/roles
- • Approve only after staging passes
Every action is traceable
Provider actions, approvals, smoke tests, safe changes, and security blocks should be understandable without reading raw logs.
Launchpad created a plain-English launch plan from the guided answers.
Audit detail
Generated deterministic pages, roles, data objects, provider actions, smoke tests, launch blockers, and safety gates.
launchpad · 2026-04-23T21:00:00Z
Approval is required before creating a GitHub repo, Supabase project, or Vercel project.
Audit detail
Plan-level approval gate blocks provider resource creation.
launchpad · 2026-04-23T21:01:00Z
Launchpad created the customer-owned GitHub repo in mock mode.
Resource: Miller Landscaping Portal repo
Audit detail
Live mode requires customer-owned tokenRef and required GitHub scopes.
{
"tokenRef": "[redacted]",
"mode": "mock"
}launchpad · 2026-04-23T21:03:00Z
Launchpad deployed a non-production preview for verification.
Resource: Preview deployment
Audit detail
Preview-first gate remains required before production approval.
launchpad · 2026-04-23T21:05:00Z
Route checks can run, but database smoke checks need Supabase credentials and env vars.
Audit detail
DB checks remain skipped until NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and the isolated Launchpad-side smoke path are configured.
launchpad · 2026-04-23T21:06:00Z
A safe copy change was prepared for preview-first review.
Audit detail
Generated config update should be committed to a branch, preview deployed, smoke-tested, then approved for production.
user · 2026-04-23T21:08:00Z
A live provider action was blocked because customer-owned token context is required.
Audit detail
Launchpad must not use AppAssist platform keys to provision customer infrastructure.
{
"tokenOwnership": "appassist_platform"
}launchpad · 2026-04-23T21:09:00Z