## Summary - rebuild the public Tenantial homepage around an evidence-first Microsoft tenant governance narrative - replace the old hero visual with a new static dashboard preview and add dedicated Trust Bar and Feature Pillars sections - update the shared public shell, navigation, footer, dark design tokens, assets, and homepage content to match the new brand direction - align website smoke coverage and Spec 400 artifacts with the rebuilt homepage ## Testing - not run in this pass - updated website smoke specs under apps/website/tests/smoke ## Note - `website-dev` was pushed to `origin` so the requested PR base exists remotely - the remote `website-dev` branch is an ancestor of `origin/dev`, so this PR may also show upstream `dev` history relative to that base Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #387
3.2 KiB
3.2 KiB
Quickstart — Self-Service Tenant Onboarding & Connection Readiness
Prereqs
- Docker running
- Laravel Sail dependencies installed
- Current feature branch checked out:
240-tenant-onboarding-readiness
Run locally
- Start containers:
cd apps/platform && ./vendor/bin/sail up -d - Run targeted validation after implementation:
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/ManagedTenantOnboardingWizardTest.phpcd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Onboarding/OnboardingDraftPickerTest.php tests/Feature/Onboarding/OnboardingDraftAuthorizationTest.phpcd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Policies/TenantOnboardingSessionPolicyTest.php tests/Unit/TenantRequiredPermissionsFreshnessTest.php
- Format after implementation:
cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
Manual smoke (after implementation)
- Select a workspace and open
/admin/onboarding. - With multiple resumable drafts, confirm each draft card shows current stage, readiness summary, freshness cue, and one primary next action.
- Open a draft with missing consent and confirm the workflow points to consent or permission remediation instead of generic incomplete-state copy.
- Open a draft with a changed provider connection or mismatched verification run and confirm readiness falls back to needs-attention with a canonical
Open operationlink when evidence exists. - Open the workflow as a wrong-workspace actor or actor without linked-tenant entitlement and confirm 404; open as a workspace member without onboarding capability and confirm 403 on protected actions.
Notes
- Filament v5 requires Livewire v4.0+; this repo already satisfies that requirement.
- Laravel 11+ panel providers are registered in
bootstrap/providers.php; this feature does not add or change panel providers. - No new Filament Resource or Global Search surface is planned, so global search behavior is unchanged.
- No new assets are registered. Deployment keeps the existing Filament asset step (
cd apps/platform && php artisan filament:assets) when other asset-bearing changes require it. - Readiness freshness for this slice reuses existing signals only: connection-change / selected-connection mismatch from onboarding lifecycle state plus stored permission freshness from
TenantRequiredPermissionsViewModelBuilder.
Implementation proof — 2026-04-25
- Targeted fast-feedback validation passed:
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/ManagedTenantOnboardingWizardTest.php tests/Feature/Onboarding/OnboardingDraftPickerTest.php tests/Feature/Onboarding/OnboardingDraftAuthorizationTest.php tests/Unit/Policies/TenantOnboardingSessionPolicyTest.php tests/Unit/TenantRequiredPermissionsFreshnessTest.php— 55 tests, 212 assertions. - Formatting passed:
cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent. - Guardrail close-out: keep. No provider-boundary drift, no lane-cost escalation, no new assets, no new persistence, and no follow-up spec required.
- Explicit defers retained: numeric completion score and cross-surface readiness reuse.