## Summary Implements feature branch `286-ui-copy-ia-localization-neutralization`. This change set: - aligns chooser, managed-environment landing, dashboard, shell, and workspace context copy to environment-first terminology - neutralizes the bounded policy and baseline helper copy called out by Spec 286 - adds focused feature, guard, and browser coverage plus the complete Spec 286 artifact set - records the discovered `Capture snapshot` modal issue as out-of-scope runtime debt in the Spec 286 close-out notes ## Validation - `export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Localization/EnvironmentContextTerminologyTest.php tests/Feature/Filament/EnvironmentContextSurfaceCopyTest.php tests/Feature/Filament/Localization/PolicyInventoryLocalizationTest.php tests/Feature/Guards/EnvironmentCopyNeutralizationGuardTest.php` - `export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec286EnvironmentCopyNeutralizationSmokeTest.php` - `export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` ## Notes - Target branch: `platform-dev` - Filament remains on v5 with Livewire v4. - Provider registration remains unchanged in `apps/platform/bootstrap/providers.php`. - No new destructive actions, asset strategy changes, or global-search posture changes are introduced in this slice. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #345
46 lines
2.5 KiB
Markdown
46 lines
2.5 KiB
Markdown
# Quickstart: UI Copy, IA & Localization Neutralization
|
|
|
|
## Purpose
|
|
|
|
Implement the bounded environment-first glossary convergence on the confirmed post-workspace-first admin surfaces only.
|
|
|
|
## Preconditions
|
|
|
|
1. Work on a branch that already contains the current workspace-first route and environment dashboard seams.
|
|
2. Do not widen into route/slug/class renaming.
|
|
3. Keep auth-provider labels and deeper provider-specific diagnostics out of scope unless the spec explicitly names them.
|
|
|
|
## Recommended Implementation Order
|
|
|
|
1. Update the in-scope localization catalogs and directly surfaced key family from `tenant_*` to `environment_*`.
|
|
2. Apply the new glossary to chooser and landing surfaces.
|
|
3. Apply the same glossary to dashboard headings, shared shell labels, registry return labels, and workspace widgets.
|
|
4. Neutralize the bounded provider helper text on `PolicyResource`, `ViewPolicy`, `VersionsRelationManager`, and `baseline-compare-landing` only.
|
|
5. Run the exact proof commands below.
|
|
|
|
## Proof Commands
|
|
|
|
```bash
|
|
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Localization/EnvironmentContextTerminologyTest.php tests/Feature/Filament/EnvironmentContextSurfaceCopyTest.php tests/Feature/Filament/Localization/PolicyInventoryLocalizationTest.php tests/Feature/Guards/EnvironmentCopyNeutralizationGuardTest.php
|
|
```
|
|
|
|
```bash
|
|
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec286EnvironmentCopyNeutralizationSmokeTest.php
|
|
```
|
|
|
|
```bash
|
|
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
|
|
```
|
|
|
|
## Manual Review Prompts
|
|
|
|
- Confirm the chooser and registry no longer say `tenant` in their primary title, CTA, or empty-state copy.
|
|
- Confirm dashboard and shell labels say `environment` while route targets remain unchanged.
|
|
- Confirm auth-provider labels such as `Sign in with Microsoft` remain unchanged.
|
|
- Confirm provider-specific helper text remains available only as secondary detail on `PolicyResource`, `ViewPolicy`, `VersionsRelationManager`, and `baseline-compare-landing` where the provider is genuinely the subject.
|
|
|
|
## Explicit Stop Conditions
|
|
|
|
- If implementation requires route/slug/class renames, stop and split the work.
|
|
- If implementation requires RBAC capability renaming, stop and split the work.
|
|
- If implementation discovers broader provider-owned copy cleanup outside the bounded admin surfaces, record it as follow-up rather than widening `286`. |