TenantAtlas/specs/286-ui-copy-ia-localization-neutralization/quickstart.md
ahmido aeef285d1d feat: implement spec 286 UI copy, IA & localization neutralization (#345)
## 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
2026-05-09 23:29:11 +00:00

2.5 KiB

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.
  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

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

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.