From 8713b35da5ff019de2bc3c84477b6c64ac63ca10 Mon Sep 17 00:00:00 2001 From: ahmido Date: Thu, 11 Jun 2026 07:38:33 +0000 Subject: [PATCH] feat(ui): implement core operator view surfaces productization for backup sets (#442) Applied the decision-first global surface IA contract to BackupSet views. Includes decision summary header, usability status, and separation of technical metadata. Co-authored-by: Ahmed Darrazi Reviewed-on: https://git.cloudarix.de/ahmido/TenantAtlas/pulls/442 --- .../Filament/Resources/BackupSetResource.php | 288 ++++++++++----- .../BackupItemsRelationManager.php | 4 +- ...NestedFilamentContextContractSmokeTest.php | 2 +- ...pec371BackupSetProductizationSmokeTest.php | 182 ++++++++++ .../BackupSetEnterpriseDetailPageTest.php | 12 +- .../BackupSetRelatedNavigationTest.php | 2 +- .../Filament/BackupSetUiEnforcementTest.php | 5 +- .../Spec371BackupSetProductizationTest.php | 227 ++++++++++++ ...pItemsRelationManagerUiEnforcementTest.php | 24 ++ .../design-coverage-matrix.md | 2 +- .../ui-013-environment-backup-sets.md | 34 +- .../ui-ux-enterprise-audit/route-inventory.md | 4 +- .../strategic-surfaces.md | 2 +- .../unresolved-pages.md | 7 +- .../artifacts/affected-files.md | 37 ++ .../before-after-screenshot-index.md | 16 + .../artifacts/browser-verification-report.md | 39 +++ .../artifacts/implementation-notes.md | 42 +++ .../artifacts/page-contracts.md | 69 ++++ ...set-productization-01-backup-sets-list.png | Bin 0 -> 116649 bytes ...et-productization-02-backup-set-detail.png | Bin 0 -> 179691 bytes ...uctization-03-backup-set-detail-mobile.png | Bin 0 -> 123695 bytes .../artifacts/source-audit-summary.md | 41 +++ .../artifacts/validation-report.md | 77 ++++ .../checklists/requirements.md | 51 +++ .../plan.md | 228 ++++++++++++ .../spec.md | 330 ++++++++++++++++++ .../tasks.md | 111 ++++++ 28 files changed, 1715 insertions(+), 121 deletions(-) create mode 100644 apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php create mode 100644 apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/affected-files.md create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/before-after-screenshot-index.md create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/browser-verification-report.md create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/implementation-notes.md create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/page-contracts.md create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/source-audit-summary.md create mode 100644 specs/371-core-operator-view-surfaces-productization/artifacts/validation-report.md create mode 100644 specs/371-core-operator-view-surfaces-productization/checklists/requirements.md create mode 100644 specs/371-core-operator-view-surfaces-productization/plan.md create mode 100644 specs/371-core-operator-view-surfaces-productization/spec.md create mode 100644 specs/371-core-operator-view-surfaces-productization/tasks.md diff --git a/apps/platform/app/Filament/Resources/BackupSetResource.php b/apps/platform/app/Filament/Resources/BackupSetResource.php index 6f4de2d3..5a06bb42 100644 --- a/apps/platform/app/Filament/Resources/BackupSetResource.php +++ b/apps/platform/app/Filament/Resources/BackupSetResource.php @@ -22,6 +22,7 @@ use App\Support\BackupHealth\TenantBackupHealthAssessment; use App\Support\BackupHealth\TenantBackupHealthResolver; use App\Support\BackupQuality\BackupQualityResolver; +use App\Support\BackupQuality\BackupQualitySummary; use App\Support\Badges\BadgeDomain; use App\Support\Badges\BadgeRenderer; use App\Support\Filament\TablePaginationProfiles; @@ -67,6 +68,8 @@ class BackupSetResource extends Resource protected static ?string $model = BackupSet::class; + protected static bool $isGloballySearchable = false; + protected static ?string $tenantOwnershipRelationshipName = 'tenant'; protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-archive-box'; @@ -176,20 +179,22 @@ public static function table(Table $table): Table Tables\Columns\TextColumn::make('name') ->searchable() ->sortable(), + Tables\Columns\TextColumn::make('backup_quality') + ->label('Restore-point decision') + ->state(fn (BackupSet $record): string => static::backupSetListDecision($record)) + ->description(fn (BackupSet $record): string => static::backupSetListGuidance($record)) + ->wrap(), + Tables\Columns\TextColumn::make('item_count')->label('Items captured')->numeric()->sortable(), Tables\Columns\TextColumn::make('status') + ->label('Lifecycle') ->badge() ->formatStateUsing(BadgeRenderer::label(BadgeDomain::BackupSetStatus)) ->color(BadgeRenderer::color(BadgeDomain::BackupSetStatus)) ->icon(BadgeRenderer::icon(BadgeDomain::BackupSetStatus)) - ->iconColor(BadgeRenderer::iconColor(BadgeDomain::BackupSetStatus)), - Tables\Columns\TextColumn::make('item_count')->label('Items')->numeric()->sortable(), - Tables\Columns\TextColumn::make('backup_quality') - ->label('Backup quality') - ->state(fn (BackupSet $record): string => static::backupQualitySummary($record)->compactSummary) - ->description(fn (BackupSet $record): string => static::backupQualitySummary($record)->nextAction) - ->wrap(), - Tables\Columns\TextColumn::make('created_by')->label('Created by')->toggleable(isToggledHiddenByDefault: true), + ->iconColor(BadgeRenderer::iconColor(BadgeDomain::BackupSetStatus)) + ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('completed_at')->label('Completed')->dateTime()->since()->sortable(), + Tables\Columns\TextColumn::make('created_by')->label('Created by')->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('created_at')->label('Captured')->dateTime()->since()->sortable()->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ @@ -556,7 +561,7 @@ public static function table(Table $table): Table ])->label('More'), ]) ->emptyStateHeading('No backup sets') - ->emptyStateDescription('Create a backup set to start protecting your configurations.') + ->emptyStateDescription('Create a backup set to capture policy versions and assignments for later restore review.') ->emptyStateIcon('heroicon-o-archive-box') ->emptyStateActions([ static::makeCreateAction(), @@ -677,11 +682,6 @@ private static function enterpriseDetailPage(BackupSet $record): EnterpriseDetai $isArchived = $record->trashed(); $qualitySummary = static::backupQualitySummary($record); $backupHealthAssessment = static::backupHealthContinuityAssessment($record); - $qualityBadge = match (true) { - $qualitySummary->totalItems === 0 => $factory->statusBadge('No items', 'gray'), - $qualitySummary->hasDegradations() => $factory->statusBadge('Degraded input', 'warning', 'heroicon-m-exclamation-triangle'), - default => $factory->statusBadge('No degradations', 'success', 'heroicon-m-check-circle'), - }; $backupHealthBadge = $backupHealthAssessment instanceof TenantBackupHealthAssessment ? $factory->statusBadge( static::backupHealthContinuityLabel($backupHealthAssessment), @@ -691,105 +691,57 @@ private static function enterpriseDetailPage(BackupSet $record): EnterpriseDetai : null; $descriptionHint = $backupHealthAssessment instanceof TenantBackupHealthAssessment ? trim($backupHealthAssessment->headline.' '.($backupHealthAssessment->supportingMessage ?? '')) - : 'Backup quality, lifecycle status, and related operations stay ahead of raw backup metadata.'; + : null; return EnterpriseDetailBuilder::make('backup_set', 'tenant') ->header(new SummaryHeaderData( title: (string) $record->name, subtitle: 'Backup set #'.$record->getKey(), - statusBadges: [ + statusBadges: array_values(array_filter([ + $backupHealthBadge, $factory->statusBadge($statusSpec->label, $statusSpec->color, $statusSpec->icon, $statusSpec->iconColor), - $factory->statusBadge($isArchived ? 'Archived' : 'Active', $isArchived ? 'warning' : 'success'), - ...array_filter([$backupHealthBadge]), - $qualityBadge, - ], - keyFacts: [ - $factory->keyFact('Items', $record->item_count), - ...array_filter([ - $backupHealthAssessment instanceof TenantBackupHealthAssessment - ? $factory->keyFact('Backup posture', static::backupHealthContinuityLabel($backupHealthAssessment), badge: $backupHealthBadge) - : null, - ]), - $factory->keyFact('Backup quality', $qualitySummary->compactSummary), - $factory->keyFact('Created by', $record->created_by), - $factory->keyFact('Completed', static::formatDetailTimestamp($record->completed_at)), - $factory->keyFact('Captured', static::formatDetailTimestamp($record->created_at)), - ], + $isArchived + ? $factory->statusBadge('Archived', 'warning') + : null, + ])), descriptionHint: $descriptionHint, )) ->decisionZone($factory->decisionZone( - facts: array_values(array_filter([ - $backupHealthAssessment instanceof TenantBackupHealthAssessment - ? $factory->keyFact('Backup posture', static::backupHealthContinuityLabel($backupHealthAssessment), badge: $backupHealthBadge) - : null, - $factory->keyFact('Backup quality', $qualitySummary->compactSummary, badge: $qualityBadge), - $factory->keyFact('Degraded items', $qualitySummary->degradedItemCount), - $factory->keyFact('Metadata only', $qualitySummary->metadataOnlyCount), - $factory->keyFact('Assignment issues', $qualitySummary->assignmentIssueCount), - $factory->keyFact('Orphaned assignments', $qualitySummary->orphanedAssignmentCount), - $factory->keyFact('Integrity warnings', $qualitySummary->integrityWarningCount), - $qualitySummary->unknownQualityCount > 0 - ? $factory->keyFact('Unknown quality', $qualitySummary->unknownQualityCount) - : null, - ])), + facts: static::backupDecisionFacts($factory, $qualitySummary, $backupHealthAssessment, $backupHealthBadge), primaryNextStep: $factory->primaryNextStep( - $qualitySummary->nextAction, - 'Backup quality', + static::backupDecisionNextAction($qualitySummary), + 'Restore-point decision', ), - description: 'Start here to judge whether this backup set looks strong or weak as restore input before reading diagnostics or raw metadata.', - compactCounts: $factory->countPresentation(summaryLine: $qualitySummary->summaryMessage), + description: 'Start here to decide whether this backup set is usable for restore review before reading lifecycle, operation, or raw metadata.', + compactCounts: static::backupDecisionCounts($factory, $qualitySummary), attentionNote: $backupHealthAssessment?->positiveClaimBoundary ?? $qualitySummary->positiveClaimBoundary, - title: 'Backup quality', + title: 'Restore-point decision', )) ->addSection( - $factory->factsSection( - id: 'lifecycle_overview', - kind: 'core_details', - title: 'Lifecycle overview', - items: [ - $factory->keyFact('Status', $statusSpec->label, badge: $factory->statusBadge($statusSpec->label, $statusSpec->color, $statusSpec->icon, $statusSpec->iconColor)), - $factory->keyFact('Items', $record->item_count), - $factory->keyFact('Created by', $record->created_by), - $factory->keyFact('Archived', $isArchived), - ], - ), $factory->viewSection( id: 'related_context', kind: 'related_context', - title: 'Related context', + title: 'Related operation and evidence', view: 'filament.infolists.entries.related-context', viewData: ['entries' => $relatedContext], + description: 'Operation links stay available for traceability, but they are secondary to backup usability and included-item truth.', emptyState: $factory->emptyState('No related context is available for this record.'), - ), - ) - ->addSupportingCard( - $factory->supportingFactsCard( - kind: 'status', - title: 'Backup quality counts', - items: [ - $factory->keyFact('Degraded items', $qualitySummary->degradedItemCount), - $factory->keyFact('Metadata only', $qualitySummary->metadataOnlyCount), - $factory->keyFact('Assignment issues', $qualitySummary->assignmentIssueCount), - $factory->keyFact('Orphaned assignments', $qualitySummary->orphanedAssignmentCount), - ], - ), - $factory->supportingFactsCard( - kind: 'timestamps', - title: 'Timing', - items: [ - $factory->keyFact('Completed', static::formatDetailTimestamp($record->completed_at)), - $factory->keyFact('Captured', static::formatDetailTimestamp($record->created_at)), - ], + collapsible: true, + collapsed: true, ), ) ->addTechnicalSection( $factory->technicalDetail( - title: 'Technical detail', + title: 'Technical and lifecycle detail', entries: [ + $factory->keyFact('Lifecycle status', $statusSpec->label, badge: $factory->statusBadge($statusSpec->label, $statusSpec->color, $statusSpec->icon, $statusSpec->iconColor)), + $factory->keyFact('Record state', $isArchived ? 'Archived' : 'Active'), + $factory->keyFact('Created by', $record->created_by), + $factory->keyFact('Completed', static::formatDetailTimestamp($record->completed_at)), + $factory->keyFact('Captured', static::formatDetailTimestamp($record->created_at)), $factory->keyFact('Metadata keys', $metadataKeyCount), - $factory->keyFact('Archived', $isArchived), ], - description: 'Low-signal backup metadata stays available here without taking over the recovery workflow.', + description: 'Lifecycle, timing, IDs, and raw metadata stay available here without taking over the restore-point decision.', view: $metadata !== [] ? 'filament.infolists.entries.snapshot-json' : null, viewData: ['payload' => $metadata], emptyState: $factory->emptyState('No backup metadata was recorded for this backup set.'), @@ -798,6 +750,170 @@ private static function enterpriseDetailPage(BackupSet $record): EnterpriseDetai ->build(); } + private static function backupSetListDecision(BackupSet $record): string + { + $summary = static::backupQualitySummary($record); + + if ($summary->totalItems === 0) { + return 'Blocked: no items captured'; + } + + if ($summary->hasDegradations()) { + return 'Action needed before restore review'; + } + + return 'Usable for restore review'; + } + + private static function backupSetListGuidance(BackupSet $record): string + { + $summary = static::backupQualitySummary($record); + + if ($summary->totalItems === 0) { + return 'No backup items were captured. Create or refresh a backup set before restore review.'; + } + + if ($summary->hasDegradations()) { + return $summary->compactSummary.'. Inspect degraded items before relying on this backup.'; + } + + return sprintf( + '%s captured. Review included items before relying on this backup.', + static::formatItemCount($summary->totalItems), + ); + } + + private static function backupUsabilityLabel(BackupQualitySummary $summary): string + { + if ($summary->totalItems === 0) { + return 'Blocked until items are captured'; + } + + if ($summary->hasDegradations()) { + return 'Action needed before restore review'; + } + + return 'Usable for restore review'; + } + + /** + * @return list> + */ + private static function backupDecisionFacts( + EnterpriseDetailSectionFactory $factory, + BackupQualitySummary $summary, + ?TenantBackupHealthAssessment $assessment, + ?array $backupHealthBadge, + ): array { + return array_values(array_filter([ + $factory->keyFact('Usability', static::backupUsabilityLabel($summary)), + $factory->keyFact('Reason', static::backupDecisionReason($summary)), + $factory->keyFact('Impact', static::backupDecisionImpact($summary)), + $factory->keyFact('Items captured', static::formatItemCount($summary->totalItems)), + $summary->totalItems === 0 + ? $factory->keyFact('Current blocker', 'No backup items were captured.') + : null, + $summary->hasDegradations() + ? $factory->keyFact('Current degradation', $summary->compactSummary) + : null, + $assessment instanceof TenantBackupHealthAssessment + ? $factory->keyFact('Backup posture', static::backupHealthContinuityLabel($assessment), badge: $backupHealthBadge) + : null, + ])); + } + + private static function backupDecisionReason(BackupQualitySummary $summary): string + { + if ($summary->totalItems === 0) { + return 'No backup item inventory is available on this restore point.'; + } + + if ($summary->hasDegradations()) { + return $summary->summaryMessage; + } + + return 'Captured item inventory is available for operator review.'; + } + + private static function backupDecisionImpact(BackupQualitySummary $summary): string + { + if ($summary->totalItems === 0) { + return 'Restore review should wait for a backup set with captured items.'; + } + + if ($summary->hasDegradations()) { + return 'Treat this backup as investigation input until degraded items are reviewed.'; + } + + return 'Use this as restore review input only after confirming included items below.'; + } + + private static function backupDecisionNextAction(BackupQualitySummary $summary): string + { + if ($summary->totalItems === 0) { + return 'Create or refresh a backup set before starting restore review.'; + } + + if ($summary->hasDegradations()) { + return 'Review degraded included items and source operation before continuing into restore.'; + } + + return 'Review included items below before starting any separate restore workflow.'; + } + + /** + * @return array{ + * summaryLine?: ?string, + * primaryFacts: list>, + * diagnosticFacts: list> + * }|null + */ + private static function backupDecisionCounts(EnterpriseDetailSectionFactory $factory, BackupQualitySummary $summary): ?array + { + $facts = static::nonZeroQualityFacts($factory, $summary); + + if ($facts === [] && $summary->totalItems > 0 && ! $summary->hasDegradations()) { + return null; + } + + return $factory->countPresentation( + summaryLine: $summary->summaryMessage, + primaryFacts: $facts, + ); + } + + /** + * @return list> + */ + private static function nonZeroQualityFacts(EnterpriseDetailSectionFactory $factory, BackupQualitySummary $summary): array + { + return array_values(array_filter([ + $summary->degradedItemCount > 0 + ? $factory->keyFact('Degraded items', $summary->degradedItemCount) + : null, + $summary->metadataOnlyCount > 0 + ? $factory->keyFact('Metadata-only items', $summary->metadataOnlyCount) + : null, + $summary->assignmentIssueCount > 0 + ? $factory->keyFact('Assignment issues', $summary->assignmentIssueCount) + : null, + $summary->orphanedAssignmentCount > 0 + ? $factory->keyFact('Orphaned assignments', $summary->orphanedAssignmentCount) + : null, + $summary->integrityWarningCount > 0 + ? $factory->keyFact('Integrity warnings', $summary->integrityWarningCount) + : null, + $summary->unknownQualityCount > 0 + ? $factory->keyFact('Unknown quality', $summary->unknownQualityCount) + : null, + ])); + } + + private static function formatItemCount(int $count): string + { + return sprintf('%d item%s', $count, $count === 1 ? '' : 's'); + } + private static function formatDetailTimestamp(mixed $value): string { if (! $value instanceof Carbon) { diff --git a/apps/platform/app/Filament/Resources/BackupSetResource/RelationManagers/BackupItemsRelationManager.php b/apps/platform/app/Filament/Resources/BackupSetResource/RelationManagers/BackupItemsRelationManager.php index 60bcdbe2..8995635d 100644 --- a/apps/platform/app/Filament/Resources/BackupSetResource/RelationManagers/BackupItemsRelationManager.php +++ b/apps/platform/app/Filament/Resources/BackupSetResource/RelationManagers/BackupItemsRelationManager.php @@ -40,6 +40,8 @@ class BackupItemsRelationManager extends RelationManager { protected static string $relationship = 'items'; + protected static ?string $title = 'Included backup items'; + protected $listeners = [ 'backup-set-policy-picker:close' => 'closeAddPoliciesModal', ]; @@ -104,7 +106,7 @@ public function table(Table $table): Table ]); }); - UiEnforcement::forAction($addPolicies) + UiEnforcement::forAction($addPolicies, fn (): BackupSet => $this->getOwnerRecord()) ->requireCapability(Capabilities::TENANT_SYNC) ->tooltip('You do not have permission to add policies.') ->apply(); diff --git a/apps/platform/tests/Browser/Spec334NestedFilamentContextContractSmokeTest.php b/apps/platform/tests/Browser/Spec334NestedFilamentContextContractSmokeTest.php index c599a8ff..e061a8d7 100644 --- a/apps/platform/tests/Browser/Spec334NestedFilamentContextContractSmokeTest.php +++ b/apps/platform/tests/Browser/Spec334NestedFilamentContextContractSmokeTest.php @@ -76,7 +76,7 @@ function spec334SmokeLoginUrl(User $user, ManagedEnvironment $tenant, string $re ->waitForText('Spec334 Browser Backup Set') ->assertNoJavaScriptErrors() ->assertNoConsoleLogs() - ->assertSee('Related context'); + ->assertSee('Related operation and evidence'); $page->script('window.scrollTo(0, document.body.scrollHeight);'); diff --git a/apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php b/apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php new file mode 100644 index 00000000..474ebc38 --- /dev/null +++ b/apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php @@ -0,0 +1,182 @@ +browser()->timeout(60_000); + +uses(RefreshDatabase::class); + +it('Spec371 smokes backup set list and detail decision hierarchy with screenshots', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner', workspaceRole: 'manager'); + + $healthyBackupSet = spec371BrowserHealthyBackupSet($tenant, [ + 'name' => 'Spec 371 Browser Healthy Backup', + ]); + + BackupSet::factory() + ->for($tenant) + ->degradedCompleted() + ->create([ + 'name' => 'Spec 371 Browser Degraded Backup', + ]); + + spec371BrowserSourceOperation($tenant, $user, $healthyBackupSet); + + $listPath = spec371BrowserListPath($tenant); + $detailPath = spec371BrowserViewPath($tenant, $healthyBackupSet); + + $page = visit(spec371BrowserLoginUrl($user, $tenant, $listPath)) + ->resize(1440, 1100) + ->waitForText('Backup Sets') + ->waitForText('Restore-point decision') + ->assertSee('Spec 371 Browser Healthy Backup') + ->assertSee('Usable for restore review') + ->assertSee('Spec 371 Browser Degraded Backup') + ->assertSee('Action needed before restore review') + ->assertSee('Items captured') + ->assertDontSee('No degradations detected across') + ->assertScript("document.querySelector('a[href$=\"{$detailPath}\"]') !== null", true) + ->assertNoJavaScriptErrors() + ->assertNoConsoleLogs() + ->screenshot(true, spec371BrowserScreenshotName('01-backup-sets-list')); + + spec371BrowserCopyScreenshot('01-backup-sets-list'); + + $page = visit($detailPath) + ->resize(1440, 1100) + ->waitForText('Restore-point decision') + ->assertSee('Spec 371 Browser Healthy Backup') + ->assertSee('Usable for restore review') + ->assertSee('Captured item inventory is available for operator review.') + ->assertSee('Review included items below before starting any separate restore workflow.') + ->assertSee('Included backup items') + ->assertSee('Related operation and evidence') + ->assertSee('Open operation') + ->assertSee('Technical and lifecycle detail') + ->assertDontSee('Item review state') + ->assertDontSee('Backup quality, lifecycle status, and related operations stay ahead of raw backup metadata.') + ->assertDontSee('This backup set has captured items ready for operator review before any separate restore workflow starts.') + ->assertDontSee('Usable for review') + ->assertScript("(() => { const firstSection = document.querySelector('section.fi-section'); return firstSection !== null && ! firstSection.textContent.includes('Usable for review') && ! firstSection.textContent.includes('Usability') && ! firstSection.textContent.includes('Active'); })()", true) + ->assertScript("document.body.textContent.indexOf('Restore-point decision') < document.body.textContent.indexOf('Technical and lifecycle detail')", true) + ->assertScript("document.body.textContent.indexOf('Technical and lifecycle detail') < document.body.textContent.indexOf('Included backup items')", true) + ->assertNoJavaScriptErrors() + ->assertNoConsoleLogs() + ->screenshot(true, spec371BrowserScreenshotName('02-backup-set-detail')); + + spec371BrowserCopyScreenshot('02-backup-set-detail'); + + $page + ->resize(430, 900) + ->assertScript('document.documentElement.scrollWidth <= window.innerWidth', true) + ->assertNoJavaScriptErrors() + ->screenshot(true, spec371BrowserScreenshotName('03-backup-set-detail-mobile')); + + spec371BrowserCopyScreenshot('03-backup-set-detail-mobile'); +}); + +function spec371BrowserLoginUrl(User $user, ManagedEnvironment $tenant, string $redirect): string +{ + return route('admin.local.smoke-login', [ + 'email' => $user->email, + 'tenant' => $tenant->external_id, + 'workspace' => $tenant->workspace->slug, + 'redirect' => $redirect, + ]); +} + +function spec371BrowserListPath(ManagedEnvironment $tenant): string +{ + $url = BackupSetResource::getUrl('index', panel: 'admin', tenant: $tenant); + + return parse_url($url, PHP_URL_PATH) ?: '/admin'; +} + +function spec371BrowserViewPath(ManagedEnvironment $tenant, BackupSet $backupSet): string +{ + $url = BackupSetResource::getUrl('view', ['record' => $backupSet], panel: 'admin', tenant: $tenant); + + return parse_url($url, PHP_URL_PATH) ?: '/admin'; +} + +/** + * @param array $attributes + */ +function spec371BrowserHealthyBackupSet(ManagedEnvironment $tenant, array $attributes = []): BackupSet +{ + $backupSet = BackupSet::factory() + ->for($tenant) + ->create(array_merge([ + 'name' => 'Spec 371 Browser Healthy Backup', + 'status' => 'completed', + 'item_count' => 1, + 'completed_at' => now()->subMinutes(30), + 'metadata' => [], + ], $attributes)); + + BackupItem::factory() + ->for($tenant) + ->for($backupSet) + ->create([ + 'payload' => ['id' => 'spec-371-browser-policy'], + 'metadata' => [], + 'assignments' => [], + ]); + + return $backupSet; +} + +function spec371BrowserSourceOperation(ManagedEnvironment $tenant, User $user, BackupSet $backupSet): OperationRun +{ + return OperationRun::factory() + ->forTenant($tenant) + ->withUser($user) + ->create([ + 'type' => OperationRunType::BackupScheduleExecute->value, + 'status' => OperationRunStatus::Completed->value, + 'outcome' => OperationRunOutcome::Succeeded->value, + 'completed_at' => now()->subMinutes(20), + 'context' => [ + 'backup_set_id' => (int) $backupSet->getKey(), + ], + ]); +} + +function spec371BrowserScreenshotName(string $name): string +{ + return 'spec371-backup-set-productization-'.$name; +} + +function spec371BrowserCopyScreenshot(string $name): void +{ + $filename = spec371BrowserScreenshotName($name).'.png'; + $source = base_path('tests/Browser/Screenshots/'.$filename); + $targetDirectory = repo_path('specs/371-core-operator-view-surfaces-productization/artifacts/screenshots'); + + if (! is_dir($targetDirectory)) { + @mkdir($targetDirectory, 0755, true); + } + + if (! is_dir($targetDirectory) || ! is_writable($targetDirectory)) { + return; + } + + if (! is_file($source)) { + $source = \Pest\Browser\Support\Screenshot::path($filename); + } + + if (is_file($source)) { + @copy($source, $targetDirectory.DIRECTORY_SEPARATOR.$filename); + } +} diff --git a/apps/platform/tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php b/apps/platform/tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php index ba064354..090176ee 100644 --- a/apps/platform/tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php +++ b/apps/platform/tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php @@ -15,7 +15,7 @@ CarbonImmutable::setTestNow(); }); -it('renders backup sets with lifecycle summary, related context, and secondary technical detail', function (): void { +it('renders backup sets with restore-point decision, related evidence, and secondary technical detail', function (): void { [$user, $tenant] = createUserWithTenant(role: 'owner'); $this->actingAs($user); @@ -52,18 +52,19 @@ $this->get(BackupSetResource::getUrl('view', ['record' => $backupSet], tenant: $tenant)) ->assertOk() - ->assertSee('Backup quality') + ->assertSee('Restore-point decision') + ->assertSee('Action needed before restore review') ->assertSee('1 degraded item') ->assertSee('1 metadata-only') ->assertSee('1 assignment issue') ->assertSee('1 integrity warning') - ->assertSee('Timing') + ->assertSee('Technical and lifecycle detail') ->assertSee('Archive') ->assertSee('More') ->assertSee(OperationRunLinks::tenantlessView($run), false) ->assertDontSee('Related record') ->assertDontSee('>Completed', false) - ->assertSeeInOrder(['Nightly backup', 'Backup quality', 'Lifecycle overview', 'Related context', 'Technical detail']); + ->assertSeeInOrder(['Nightly backup', 'Restore-point decision', 'Related operation and evidence', 'Technical and lifecycle detail']); }); it('keeps operations context and technical empty states readable for sparse backup sets', function (): void { @@ -81,7 +82,8 @@ $this->get(BackupSetResource::getUrl('view', ['record' => $backupSet], tenant: $tenant)) ->assertOk() - ->assertSee('No items captured') + ->assertSee('Blocked until items are captured') + ->assertSee('No backup items were captured.') ->assertSee('No backup metadata was recorded for this backup set.') ->assertSee('Metadata keys') ->assertDontSee('Related record'); diff --git a/apps/platform/tests/Feature/Filament/BackupSetRelatedNavigationTest.php b/apps/platform/tests/Feature/Filament/BackupSetRelatedNavigationTest.php index 848936e0..98e7d913 100644 --- a/apps/platform/tests/Feature/Filament/BackupSetRelatedNavigationTest.php +++ b/apps/platform/tests/Feature/Filament/BackupSetRelatedNavigationTest.php @@ -28,7 +28,7 @@ $this->get(BackupSetResource::getUrl('view', ['record' => $backupSet], tenant: $tenant)) ->assertOk() - ->assertSee('Related context') + ->assertSee('Related operation and evidence') ->assertSee('Operations') ->assertSee(OperationRunLinks::tenantlessView($run), false); diff --git a/apps/platform/tests/Feature/Filament/BackupSetUiEnforcementTest.php b/apps/platform/tests/Feature/Filament/BackupSetUiEnforcementTest.php index dc95c500..6e7720ee 100644 --- a/apps/platform/tests/Feature/Filament/BackupSetUiEnforcementTest.php +++ b/apps/platform/tests/Feature/Filament/BackupSetUiEnforcementTest.php @@ -113,7 +113,7 @@ function getTableEmptyStateAction($component, string $name): ?\Filament\Actions\ expect($action->getTooltip())->toBe(UiTooltips::insufficientPermission()); }); -test('readonly members still see backup quality truth on the backup-set list', function () { +test('readonly members still see restore-point decision truth on the backup-set list', function () { $tenant = ManagedEnvironment::factory()->create(); [$user] = createUserWithTenant($tenant, role: 'readonly'); @@ -138,6 +138,7 @@ function getTableEmptyStateAction($component, string $name): ?\Filament\Actions\ $this->actingAs($user) ->get(BackupSetResource::getUrl('index', tenant: $tenant)) ->assertOk() - ->assertSee('Backup quality') + ->assertSee('Restore-point decision') + ->assertSee('Action needed before restore review') ->assertSee('1 metadata-only'); }); diff --git a/apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php b/apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php new file mode 100644 index 00000000..b9df96f9 --- /dev/null +++ b/apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php @@ -0,0 +1,227 @@ + 'Spec 371 Healthy Backup', + 'created_by' => 'operator@example.test', + 'completed_at' => now()->subHour(), + 'metadata' => ['source' => 'spec371'], + ]); + + $response = $this->actingAs($user) + ->get(BackupSetResource::getUrl('view', ['record' => $backupSet], tenant: $tenant)) + ->assertOk() + ->assertSee('Restore-point decision') + ->assertSee('Usable for restore review') + ->assertSee('Captured item inventory is available for operator review.') + ->assertSee('Review included items below before starting any separate restore workflow.') + ->assertSee('Technical and lifecycle detail') + ->assertDontSee('Item review state') + ->assertDontSee('This backup set has captured items ready for operator review before any separate restore workflow starts.') + ->assertDontSee('Usable for review') + ->assertDontSee('No degradations detected across'); + + spec371AssertOrdered($response->getContent(), [ + 'Backup set #'.$backupSet->getKey(), + 'Restore-point decision', + 'Usable for restore review', + 'Technical and lifecycle detail', + ]); +}); + +it('shows degraded backup input as action-needed before restore review', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner'); + setAdminPanelContext($tenant); + + $backupSet = BackupSet::factory() + ->for($tenant) + ->degradedCompleted() + ->create([ + 'name' => 'Spec 371 Degraded Backup', + ]); + + $response = $this->actingAs($user) + ->get(BackupSetResource::getUrl('view', ['record' => $backupSet], tenant: $tenant)) + ->assertOk() + ->assertSee('Action needed before restore review') + ->assertSee('Current degradation') + ->assertSee('1 degraded item') + ->assertSee('Treat this backup as investigation input until degraded items are reviewed.') + ->assertSee('Review degraded included items and source operation before continuing into restore.'); + + spec371AssertOrdered($response->getContent(), [ + 'Restore-point decision', + 'Current degradation', + 'Technical and lifecycle detail', + ]); +}); + +it('explains an empty backup set blocker before technical context', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner'); + setAdminPanelContext($tenant); + + $backupSet = BackupSet::factory() + ->for($tenant) + ->create([ + 'name' => 'Spec 371 Empty Backup', + 'item_count' => 0, + 'metadata' => [], + ]); + + $response = $this->actingAs($user) + ->get(BackupSetResource::getUrl('view', ['record' => $backupSet], tenant: $tenant)) + ->assertOk() + ->assertSee('Blocked until items are captured') + ->assertSee('Current blocker') + ->assertSee('No backup items were captured.') + ->assertSee('Create or refresh a backup set before starting restore review.') + ->assertDontSee('Backup quality, lifecycle status, and related operations stay ahead of raw backup metadata.'); + + spec371AssertOrdered($response->getContent(), [ + 'Restore-point decision', + 'Current blocker', + 'Technical and lifecycle detail', + ]); +}); + +it('keeps the backup sets list scan-first without repeated healthy zero-noise', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner'); + setAdminPanelContext($tenant); + + spec371HealthyBackupSet($tenant, ['name' => 'Spec 371 Healthy Row']); + + BackupSet::factory() + ->for($tenant) + ->degradedCompleted() + ->create(['name' => 'Spec 371 Degraded Row']); + + $this->actingAs($user) + ->get(BackupSetResource::getUrl('index', tenant: $tenant)) + ->assertOk() + ->assertSee('Restore-point decision') + ->assertSee('Items captured') + ->assertSee('Usable for restore review') + ->assertSee('Action needed before restore review') + ->assertSee('1 degraded item') + ->assertDontSee('No degradations detected across'); +}); + +it('shows a capability-aware empty state with one create backup CTA for authorized users', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner'); + setAdminPanelContext($tenant); + + $this->actingAs($user) + ->get(BackupSetResource::getUrl('index', tenant: $tenant)) + ->assertOk() + ->assertSee('No backup sets') + ->assertSee('Create a backup set to capture policy versions and assignments for later restore review.') + ->assertSee('Create backup set'); +}); + +it('preserves destructive detail action confirmation and readonly blocking', function (): void { + [$owner, $tenant] = createUserWithTenant(role: 'owner'); + $readonly = User::factory()->create(); + createUserWithTenant(tenant: $tenant, user: $readonly, role: 'readonly'); + + $backupSet = spec371HealthyBackupSet($tenant, ['name' => 'Spec 371 Action Safety']); + + $this->actingAs($owner); + setAdminPanelContext($tenant); + + Livewire::actingAs($owner) + ->test(ViewBackupSet::class, ['record' => (string) $backupSet->getKey()]) + ->assertActionExists('archive', fn (Action $action): bool => $action->isConfirmationRequired()); + + $this->actingAs($readonly); + setAdminPanelContext($tenant); + + Livewire::actingAs($readonly) + ->test(ViewBackupSet::class, ['record' => (string) $backupSet->getKey()]) + ->assertActionDisabled('archive') + ->callAction('archive'); + + expect($backupSet->fresh()?->trashed())->toBeFalse(); +}); + +it('denies wrong-environment backup set access as not found before content leaks', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner'); + + $foreignTenant = ManagedEnvironment::factory()->active()->create([ + 'workspace_id' => (int) $tenant->workspace_id, + 'name' => 'Spec 371 Foreign Environment', + ]); + + $foreignBackupSet = spec371HealthyBackupSet($foreignTenant, [ + 'name' => 'Spec 371 Foreign Backup', + ]); + + setAdminPanelContext($tenant); + + $this->actingAs($user) + ->get(BackupSetResource::getUrl('view', ['record' => (string) $foreignBackupSet->getKey()], tenant: $tenant)) + ->assertNotFound(); +}); + +/** + * @param array $attributes + */ +function spec371HealthyBackupSet(ManagedEnvironment $tenant, array $attributes = []): BackupSet +{ + $backupSet = BackupSet::factory() + ->for($tenant) + ->create(array_merge([ + 'name' => 'Spec 371 Healthy Backup', + 'item_count' => 1, + 'completed_at' => now()->subMinutes(30), + 'metadata' => [], + ], $attributes)); + + BackupItem::factory() + ->for($tenant) + ->for($backupSet) + ->create([ + 'payload' => ['id' => 'spec-371-policy'], + 'metadata' => [], + 'assignments' => [], + ]); + + return $backupSet; +} + +/** + * @param list $needles + */ +function spec371AssertOrdered(string $content, array $needles): void +{ + $lastPosition = -1; + + foreach ($needles as $needle) { + $position = strpos($content, $needle); + + expect($position)->not->toBeFalse(); + expect($position)->toBeGreaterThan($lastPosition); + + $lastPosition = (int) $position; + } +} diff --git a/apps/platform/tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.php b/apps/platform/tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.php index 75c3ad70..ba43099e 100644 --- a/apps/platform/tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.php +++ b/apps/platform/tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.php @@ -66,6 +66,30 @@ ->assertTableBulkActionEnabled('bulk_remove', [$item]); }); + it('keeps add policies enabled from the owner backup set when ambient tenant context is missing', function (): void { + [$user, $tenant] = createUserWithTenant(role: 'owner'); + + $this->actingAs($user); + setAdminPanelContext(null); + + $backupSet = BackupSet::factory()->create([ + 'managed_environment_id' => $tenant->id, + 'name' => 'Tenantless nested context backup', + ]); + + BackupItem::factory()->for($backupSet)->for($tenant)->create(); + + Livewire::test(BackupItemsRelationManager::class, [ + 'ownerRecord' => $backupSet, + 'pageClass' => EditBackupSet::class, + ]) + ->assertTableActionVisible('addPolicies') + ->assertTableActionEnabled('addPolicies') + ->assertTableActionExists('addPolicies', function (Action $action): bool { + return $action->getTooltip() === null; + }); + }); + it('hides actions after tenant scope is revoked mid-session', function (): void { [$user, $tenant] = createUserWithTenant(role: 'owner'); $otherTenant = \App\Models\ManagedEnvironment::factory()->active()->create([ diff --git a/docs/ui-ux-enterprise-audit/design-coverage-matrix.md b/docs/ui-ux-enterprise-audit/design-coverage-matrix.md index 00150683..50425b7c 100644 --- a/docs/ui-ux-enterprise-audit/design-coverage-matrix.md +++ b/docs/ui-ux-enterprise-audit/design-coverage-matrix.md @@ -54,7 +54,7 @@ ## Coverage By Area | Inventory | 8 | Route-discovered only; coverage, policy version detail, and raw-data exposure need later review. | | Evidence / audit | 8 | Audit log captured; evidence/report detail routes need customer-safe progressive-disclosure review. | | Reviews | 7 | Review register, customer workspace, review pack detail, and the rendered-report route now have bounded browser evidence; Spec 366 adds rendered-report profile, print, and mobile-ish captures while deeper evidence/report surfaces still remain open elsewhere. | -| Backup / restore | 6 | High-risk area; backup sets and restore runs were blocked by fixture capability. | +| Backup / restore | 6 | High-risk area; Spec 371 adds seeded browser proof for Backup Sets list/detail, while restore runs and create/failure workflow states remain unresolved. | | Settings / admin | 5 | Workspace and environment access are RBAC-sensitive and need later review. | | Provider / integration | 5 | Provider connections and required permissions are captured; create/edit/onboarding remain high-risk unresolved surfaces. | | Findings | 5 | Queue/inbox patterns captured; finding detail needs individual triage target. | diff --git a/docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md b/docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md index eb7abf06..90c97f55 100644 --- a/docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md +++ b/docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md @@ -7,42 +7,42 @@ # UI-013 Environment Backup Sets | Area / scope | Backup / restore / environment | | Archetype | Backup / Restore | | Design depth | Strategic Surface | -| Repo truth | repo-verified route; browser blocked | -| Screenshot | `../screenshots/desktop/ui-013-environment-backup-sets.png` | -| Browser status | Local Spec 180 fixture returned Forbidden. | +| Repo truth | repo-verified route; Spec 371 browser verified | +| Screenshot | `../../../specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png` | +| Detail screenshot | `../../../specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png` | +| Mobile screenshot | `../../../specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png` | +| Browser status | Spec 371 smoke passed with seeded owner/manager capability, healthy/degraded backup sets, included item, and linked operation. | ## First Five Seconds -The browser pass could not evaluate the product page because the fixture lacked sufficient capability or state. The route remains strategic because backup sets are recovery evidence and restore-point truth. +Spec 371 verifies the Backup Sets list/detail with a capability-backed fixture. The list now leads with restore-point decision, item count, and degradation guidance. The detail now answers whether the backup is usable before lifecycle, operation, or raw metadata. ## Productization Review -- Decision-first: not evaluated in browser. -- Evidence-first: expected to be central. +- Decision-first: implemented for list rows and detail decision zone. +- Evidence-first: included backup items are primary detail content below the decision. - Context: environment-bound route. -- Customer/auditor safety: high when used as restore proof. -- Diagnostics: raw backup payload must not dominate default view. +- Customer/auditor safety: high when used as restore proof; Spec 371 avoids restore-safety claims beyond repo truth. +- Diagnostics: operation evidence and technical/lifecycle metadata remain available but secondary/collapsed. ## Information Inventory -Expected default content should show backup set identity, source environment, capture time, coverage, integrity/fidelity, failure/partial state, and restore readiness. +Default content shows backup set identity, restore-point decision, captured item count, degraded/blocking state when present, included item evidence, operation traceability, and secondary lifecycle/technical details. ## Dangerous Actions -Create backup, retry, restore from backup, delete/archive, and export evidence are high impact and require confirmation, audit, and OperationRun continuity. +Create backup, archive/delete, and restore-adjacent flows are high impact and require confirmation, authorization, audit, and OperationRun continuity. Spec 371 did not add a restore-from-backup action/link and preserved existing action handlers. ## Scores -| IA | Density | User Clarity | Sellability | Disclosure | Hierarchy | DS Fit | A11y | Responsive | Components | UX Writing | Perf | -| ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | -| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +Spec 371 did not rerun the full Spec 368 numeric scorecard. Browser smoke evidence now verifies the target list/detail hierarchy, JavaScript health, screenshots, and mobile width check. ## Top Issues -1. Browser review blocked by local capability/data. -2. Strategic recovery truth needs individual target mockup. -3. Restore-point safety posture must be first-class. +1. Backup Set create and additional partial/failure workflow states still need separate target coverage. +2. Restore Runs remain a separate high-risk backup/restore surface. +3. Manual review should verify production-like data density beyond the bounded smoke fixture. ## Target Direction -P0 backup/recovery target mockup. Add a seeded/capability-backed browser review in the implementation-wave spec. +Spec 371 provides seeded browser proof for list/detail. Keep future backup/restore work focused on create flows, restore execution history, and richer backup failure states. diff --git a/docs/ui-ux-enterprise-audit/route-inventory.md b/docs/ui-ux-enterprise-audit/route-inventory.md index ffe108a6..3f172115 100644 --- a/docs/ui-ux-enterprise-audit/route-inventory.md +++ b/docs/ui-ux-enterprise-audit/route-inventory.md @@ -57,8 +57,8 @@ # Route Inventory | UI-048 | `/admin/workspaces/{workspace}/environments/{environment}/stored-reports/{record}` | resource | Stored Report Detail | Evidence / audit | environment record | route exists | environment + record entitlement | Evidence / Audit | Reviews | Strategic Surface | repo-verified | - | - | Customer/auditor readable report review needed. | | UI-049 | `/admin/workspaces/{workspace}/environments/{environment}/backup-schedules` | resource | Backup Schedules | Backup / restore | environment-bound | route exists | environment entitlement + backup capability | Backup / Restore | Operations / Monitoring | Strategic Surface | repo-verified | - | - | Schedule run/retry actions are high impact. | | UI-050 | `/admin/workspaces/{workspace}/environments/{environment}/backup-schedules/create` and `/edit` | resource | Backup Schedule Create/Edit | Backup / restore | environment-bound | route exists | backup schedule capability | Backup / Restore | Settings / Admin | Domain Pattern Surface | repo-verified | - | - | Form state and confirmation copy need later review. | -| UI-051 | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` | resource | Backup Sets | Backup / restore | environment-bound | browser blocked by capability in fixture | environment entitlement + backup capability | Backup / Restore | Evidence / Audit | Strategic Surface | repo-verified | [blocked](screenshots/desktop/ui-013-environment-backup-sets.png) | [report](page-reports/ui-013-environment-backup-sets.md) | Route exists; local fixture returned Forbidden. | -| UI-052 | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets/create` and `/view` | resource | Backup Set Create/View | Backup / restore | environment record/workflow | route exists | backup capability | Backup / Restore | Evidence / Audit | Strategic Surface | repo-verified | - | - | Backup creation and restore-point detail require seeded capability/data. | +| UI-051 | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` | resource | Backup Sets | Backup / restore | environment-bound | reachable | environment entitlement + backup capability | Backup / Restore | Evidence / Audit | Strategic Surface | browser-verified | [desktop](../../specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png) | [report](page-reports/ui-013-environment-backup-sets.md) | Spec 371 verifies seeded Backup Sets list/detail with restore-point decision, included items, and secondary technical detail. | +| UI-052 | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets/create` and `/view` | resource | Backup Set Create/View | Backup / restore | environment record/workflow | route exists | backup capability | Backup / Restore | Evidence / Audit | Strategic Surface | repo-verified | - | - | Backup creation plus partial/failure restore-point states still need separate seeded workflow coverage. | | UI-053 | `/admin/workspaces/{workspace}/environments/{environment}/restore-runs` | resource | Restore Runs | Backup / restore | environment-bound | browser blocked by capability in fixture | environment entitlement + restore capability | Backup / Restore | Operations / Monitoring | Strategic Surface | repo-verified | [blocked](screenshots/desktop/ui-014-restore-runs.png) | [report](page-reports/ui-014-restore-runs.md) | Route exists; local fixture returned Forbidden. | | UI-054 | `/admin/workspaces/{workspace}/environments/{environment}/restore-runs/create` and `/view` | resource | Restore Run Create/View | Backup / restore | environment record/workflow | route exists | restore capability | Backup / Restore | Operations / Monitoring | Strategic Surface | repo-verified | - | - | Destructive/high-impact workflow; individual target spec required. | | UI-055 | `/admin/baseline-profiles` | resource | Baseline Profiles | Governance | workspace analysis | reachable | workspace member | Drift / Diff | Settings / Admin | Strategic Surface | repo-verified | [desktop](screenshots/desktop/ui-010-baseline-profiles.png) | [report](page-reports/ui-010-baseline-profiles.md) | Workspace-owned baseline library. | diff --git a/docs/ui-ux-enterprise-audit/strategic-surfaces.md b/docs/ui-ux-enterprise-audit/strategic-surfaces.md index 027e9cd9..5af37780 100644 --- a/docs/ui-ux-enterprise-audit/strategic-surfaces.md +++ b/docs/ui-ux-enterprise-audit/strategic-surfaces.md @@ -52,7 +52,7 @@ ### Deferred By Spec 325 | P0 | UI-036 | Exception Detail | `/admin/workspaces/{workspace}/environments/{environment}/finding-exceptions/{record}` | Accepted-risk detail. | Expiry, approver, and audit trail need strong hierarchy. | Individual detail mockup. | | P0 | UI-038 | Customer Review Workspace | `/admin/reviews/workspace` | Customer/auditor-facing workspace. | Customer-safe language and proof context are critical. | Individual target mockup. | | P0 | UI-049 | Backup Schedules | `/admin/workspaces/{workspace}/environments/{environment}/backup-schedules` | Backup readiness and schedule safety. | Run/retry controls are high impact. | Backup pattern target. | -| P0 | UI-051 | Backup Sets | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` | Restore-point truth and recovery evidence. | Browser blocked by capability fixture. | Individual backup set target with fixture. | +| P0 | UI-051 | Backup Sets | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` | Restore-point truth and recovery evidence. | Spec 371 adds seeded browser proof for list/detail; richer failure/create states remain separate. | Keep restore execution and backup creation targets separate. | | P0 | UI-053 | Restore Runs | `/admin/workspaces/{workspace}/environments/{environment}/restore-runs` | Restore execution history. | Browser blocked; destructive workflow context unknown. | Individual restore target with fixture. | | P0 | UI-054 | Restore Run Create/View | `/admin/workspaces/{workspace}/environments/{environment}/restore-runs/create` and `/view` | High-impact restore workflow. | Dry-run, confirmation, partial restore, and audit UX need proof. | Restore workflow target. | | P0 | UI-055 | Baseline Profiles | `/admin/baseline-profiles` | Baseline source of governance truth. | Assignment/capture/compare semantics need hierarchy. | Drift/diff target pattern. | diff --git a/docs/ui-ux-enterprise-audit/unresolved-pages.md b/docs/ui-ux-enterprise-audit/unresolved-pages.md index b93b9ea0..f550d5cb 100644 --- a/docs/ui-ux-enterprise-audit/unresolved-pages.md +++ b/docs/ui-ux-enterprise-audit/unresolved-pages.md @@ -4,9 +4,9 @@ # Unresolved Pages Summary: -- High-priority unresolved/manual-review entries: 28. -- Capability/fixture blockers with desktop evidence: UI-051, UI-053, UI-061. -- Strategic routes not browser-captured in this bounded pass: 24. +- High-priority unresolved/manual-review entries: 27. +- Capability/fixture blockers with desktop evidence: UI-053, UI-061. +- Strategic routes not browser-captured in this bounded pass: 23. - Hidden/file-discovered manual-review surface: UI-080. | ID | Page | Blocker / Reason | Needed Evidence | Next Action | @@ -20,7 +20,6 @@ # Unresolved Pages | UI-046 | Evidence Snapshot Detail | Dynamic raw/support evidence detail requires snapshot record. | Snapshot with normalized summary and raw payload. | Add progressive-disclosure review. | | UI-048 | Stored Report Detail | Dynamic report artifact requires stored report record. | Stored report with customer-facing summary and export metadata. | Add stored-report target pass. | | UI-049 | Backup Schedules | Strategic backup schedule page was not captured. | Environment with active, paused, failing, and never-run schedules. | Include in backup/restore safety spec. | -| UI-051 | Backup Sets | Browser returned Forbidden for the local fixture. | Capability-backed environment with backup-set records. | Re-test with seeded capability; screenshot exists as blocker evidence. | | UI-052 | Backup Set Create/View | Backup workflow/detail route needs capability and backup data. | Create form, backup-set view, partial/failure states. | Add backup workflow target. | | UI-053 | Restore Runs | Browser returned Forbidden for the local fixture. | Capability-backed environment with restore-run records. | Re-test with seeded capability; screenshot exists as blocker evidence. | | UI-054 | Restore Run Create/View | Restore create/view route needs capability and restore data. | Dry-run, validation, partial restore, conflict, and confirmation states. | Add restore workflow target. | diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/affected-files.md b/specs/371-core-operator-view-surfaces-productization/artifacts/affected-files.md new file mode 100644 index 00000000..81e71609 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/affected-files.md @@ -0,0 +1,37 @@ +# Affected Files + +Verification level: derived from repo file discovery, implementation diff, feature tests, and browser smoke evidence. + +| File | Purpose | Change type | Surface affected | Verification level | Risk | +|---|---|---|---|---|---| +| `apps/platform/app/Filament/Resources/BackupSetResource.php` | Backup Set resource table/detail schema and actions | runtime edit | Backup Sets list/detail | feature + browser verified | high, restore-adjacent action surface | +| `apps/platform/app/Filament/Resources/BackupSetResource/RelationManagers/BackupItemsRelationManager.php` | Included item table title | runtime edit | Backup Set detail item relation | browser verified | low | +| `apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php` | Focused Feature/Livewire coverage | new test | Backup Sets list/detail/action safety | passed | medium fixture cost | +| `apps/platform/tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php` | Existing enterprise detail coverage | assertion update | Backup Set detail | passed | low | +| `apps/platform/tests/Feature/Filament/BackupSetRelatedNavigationTest.php` | Existing operation link coverage | assertion update | Backup Set detail/list links | passed | low | +| `apps/platform/tests/Feature/Filament/BackupSetUiEnforcementTest.php` | Existing UI enforcement coverage | assertion update | Backup Set list readonly truth | passed | low | +| `apps/platform/tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.php` | Existing relation-manager RBAC coverage | assertion/new regression update | Backup Set detail Add Policies action | passed | low | +| `apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php` | Browser proof and screenshots | new test | Backup Sets list/detail/responsive smoke | passed | medium browser fixture cost | +| `apps/platform/tests/Browser/Spec334NestedFilamentContextContractSmokeTest.php` | Existing nested-context browser smoke | assertion update | Backup Set Add Policies picker | passed | low | +| `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md` | UI audit registry page report | documentation update | Backup Sets | browser verified | low | +| `docs/ui-ux-enterprise-audit/route-inventory.md` | UI route inventory | documentation update | Backup Sets | browser verified | low | +| `docs/ui-ux-enterprise-audit/design-coverage-matrix.md` | UI coverage matrix | documentation update | Backup Sets | browser verified | low | +| `docs/ui-ux-enterprise-audit/strategic-surfaces.md` | Strategic surface ledger | documentation update | Backup Sets | browser verified | low | +| `docs/ui-ux-enterprise-audit/unresolved-pages.md` | Blocked/fixture status | documentation update | Backup Sets | browser verified | low | +| `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png` | Browser screenshot | generated artifact | Backup Sets list | browser verified | low | +| `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png` | Browser screenshot | generated artifact | Backup Set detail | browser verified | low | +| `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png` | Browser screenshot | generated artifact | Backup Set detail mobile | browser verified | low | +| `specs/371-core-operator-view-surfaces-productization/artifacts/*` | Spec-local proof/report artifacts | implementation report updates | Spec 371 | repo-verified | low | + +## Inspected But Not Runtime-Edited + +- `apps/platform/app/Filament/Resources/BackupSetResource/Pages/ListBackupSets.php` +- `apps/platform/app/Filament/Resources/BackupSetResource/Pages/ViewBackupSet.php` + +## Files Explicitly Out Of Scope Unless Spec/Plan Changes + +- `specs/328-*`, `specs/330-*`, `specs/335-*`, `specs/352-*`, `specs/367-*`, `specs/369-*`, `specs/370-*` +- Restore execution jobs/services +- Backup capture jobs/services +- Models, migrations, policies, routes, provider adapters, Graph contracts +- Filament panel providers and app-level navigation diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/before-after-screenshot-index.md b/specs/371-core-operator-view-surfaces-productization/artifacts/before-after-screenshot-index.md new file mode 100644 index 00000000..aee414ff --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/before-after-screenshot-index.md @@ -0,0 +1,16 @@ +# Before / After Screenshot Index + +Verification level: browser-verified for existing before screenshots where Spec 368 provides them; browser-verified for Spec 371 after screenshots. + +| Page | Before screenshot | After screenshot | Notes | +|---|---|---|---| +| Backup Sets list | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/004-workflow-surface-list-backup-sets.png` | `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png` | Browser smoke passed with scan-first usability/item/degradation hierarchy | +| Backup Set detail | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/005-workflow-surface-view-backup-set.png` | `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png` | Browser smoke passed with restore-point decision before technical detail | +| Backup Set mobile/narrow viewport | N/A | `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png` | Browser smoke passed width overflow check | +| Environment Dashboard | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/001-operator-surface-dashboard-environment-dashboard.png` | Existing Spec 352 screenshots, not recaptured by default | Regression context only | +| Operations Hub | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/002-operator-surface-list-operations-hub.png` | Existing Spec 328/367 screenshots, not recaptured by default | Regression context only | +| OperationRun View | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/003-operator-surface-view-operation-run.png` | Existing OperationRun specs, not recaptured by default | Regression context only | +| Restore Run View | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/006-workflow-surface-view-restore-run.png` | Existing Spec 335 screenshots, not recaptured by default | Regression context only | +| Baseline Profile View | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/008-decision-surface-view-baseline-profile.png` | Existing Spec 369 screenshots, not recaptured by default | Regression context only | + +No separate expanded-technical screenshot was captured because the detail smoke verifies the collapsed secondary section label and responsive width without opening optional diagnostics. diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/browser-verification-report.md b/specs/371-core-operator-view-surfaces-productization/artifacts/browser-verification-report.md new file mode 100644 index 00000000..ec0e8631 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/browser-verification-report.md @@ -0,0 +1,39 @@ +# Browser Verification Report + +Status: executed and passing. + +## Required Browser Targets + +| Target | URL pattern | Required proof | +|---|---|---| +| Backup Sets list | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` | reachable page, no JS errors, scan-first usability/item/degradation hierarchy | +| Backup Set detail | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets/{record}` | reachable page, no JS errors, usability first, included items primary, technical metadata secondary | + +## Screenshot Outputs + +- `artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png` +- `artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png` +- `artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png` + +## Score Targets + +Use the Spec 368 score model. + +| Page | Before score | Target after score | +|---|---:|---:| +| Backup Sets list | 3.9 | Not numerically re-scored; smoke checks verify target hierarchy | +| Backup Set detail | 3.4 | Not numerically re-scored; smoke checks verify target hierarchy | + +## Results + +- Command: `cd apps/platform && ./vendor/bin/sail php vendor/bin/pest tests/Browser/Spec371BackupSetProductizationSmokeTest.php --compact` +- Result: passed, 1 test, 31 assertions. +- Auth/fixture: local smoke-login route with an owner/manager user, an environment tenant, one healthy backup set with an included backup item, one degraded backup set, and a source `OperationRun` linked by `context.backup_set_id`. +- URLs tested: generated Filament paths for Backup Sets list and healthy Backup Set detail under `/admin/workspaces/{workspace}/environments/{environment}/backup-sets`. +- Screenshots created: all files listed above. +- JavaScript errors: none asserted by Pest Browser. +- Console logs: none asserted on desktop list/detail paths. +- Responsive check: mobile detail resized to `430x900` and asserted `document.documentElement.scrollWidth <= window.innerWidth`. +- Browser-comment follow-up: the detail smoke now asserts the summary header and the usability fact do not repeat healthy usability labels before or inside `Restore-point decision`, and the separate included-items summary fact block no longer appears before the actual item relation table. +- Add Policies follow-up: the relation-manager action now resolves authorization from the owner backup set, so nested Livewire updates do not disable it with `Environment context not available`; manually verified in the in-app browser and covered by the Spec 334 picker smoke. +- Remaining issues: no in-scope browser blocker remains for UI-051 Backup Sets list/detail. Backup Set create, Backup Schedules, and Restore Runs remain separate unresolved backup/restore surfaces. diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/implementation-notes.md b/specs/371-core-operator-view-surfaces-productization/artifacts/implementation-notes.md new file mode 100644 index 00000000..feda8d0d --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/implementation-notes.md @@ -0,0 +1,42 @@ +# Implementation Notes + +Status: implemented. + +## Scope Notes + +- Active implementation target: Backup Sets list/detail. +- Regression/context only: Environment Dashboard, Operations Hub, OperationRun View, Restore Run View, Baseline Profile View. +- Completed spec packages must not be edited or normalized. +- Runtime implementation stayed inside `BackupSetResource`; page classes, relation manager, services, jobs, policies, routes, migrations, Graph contracts, panel providers, and assets were not changed. +- Backup Sets global search is explicitly disabled for this resource. + +## Implementation Guardrails + +- Preserve existing backup/restore-adjacent action handlers, service/job paths, resource-level capability/UI enforcement, audit logging, notifications, and OperationRun links. +- Do not add backup readiness persistence or restore eligibility state. +- Do not call Graph during render. +- Do not move destructive/high-impact actions into unsafe prominent placement. +- Do not default-show raw payloads, provider IDs, internal IDs, exact timestamps, or operation context JSON as primary content. +- Use Filament v5 and Livewire v4-compatible APIs only. + +## Runtime Result + +- Backup Sets list now leads with `Restore-point decision`, `Items captured`, and state-aware guidance. +- Healthy rows avoid repeated zero/no-degradation copy. +- Backup Set detail now starts with `Restore-point decision`, then `Included backup items`, then secondary related operation/evidence and collapsed technical/lifecycle detail. +- Backup Set detail header stays context-only for healthy backups and does not repeat the healthy usability decision before the decision zone. +- Backup Set detail usability facts use one plain value instead of repeating the same state as an adjacent badge. +- The separate included-items summary fact block was removed; the actual item relation table is titled `Included backup items`. +- `Add Policies` on the item relation manager now resolves RBAC context from the owner backup set, avoiding a false `Environment context not available` disabled state in nested Livewire requests. +- Empty backup sets show a blocker before technical context. +- Degraded backup sets show action-needed copy before restore review language. +- No new restore-from-backup action or restore execution path was introduced. +- Existing destructive/high-impact action handlers and authorization paths were preserved. +- Rendering tests bind a fail-hard Graph client; the Spec 371 render paths do not call Graph. + +## Stop Conditions + +- A change requires migration/model/policy/route/Graph/OperationRun lifecycle work. +- A shared helper change materially affects completed context surfaces. +- Browser fixture work becomes structural across backup/restore rather than bounded to Backup Sets. +- Existing action safety cannot be preserved without changing backend behavior. diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/page-contracts.md b/specs/371-core-operator-view-surfaces-productization/artifacts/page-contracts.md new file mode 100644 index 00000000..bddb5fc8 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/page-contracts.md @@ -0,0 +1,69 @@ +# Page Contracts + +Verification level: derived from Spec 368 browser evidence, Spec 370 contract, and repo-verified completed-spec status. + +## Active Implementation Surface: Backup Sets List + +| Field | Contract | +|---|---| +| Page | Backup Sets list | +| Primary question | Which backup should I inspect or rely on next? | +| Current issue | Spec 368 said the list was scan-friendly but backup quality and operation links needed a stronger usability decision. | +| Implementation result | Spec 371 puts restore-point decision, item count, and degradation guidance ahead of lifecycle/technical columns. | +| Target first viewport | List context, restore-point decision per row, items captured, current degradation if present, primary inspect/open model, specific empty state. | +| Main content | Backup rows with usability and included-item inventory signals. | +| Sidebar/details content | N/A for list; table columns may hide technical fields by default. | +| Suppressed/default-hidden content | Repeated zero degradation/no-issue noise, raw IDs, exact technical timing unless table default already requires it. | +| Primary action | Open/inspect backup set, or create/capture backup when empty and authorized. | +| Secondary actions | Existing row/header actions and More group actions; operation detail remains available from related evidence paths. | +| Evidence access | Backup item inventory and operation link. | +| Diagnostics access | Operation detail and technical columns/details where already available. | +| Acceptance notes | Must preserve resource-level capability/UI enforcement action state and not introduce restore safety claims. | + +## Active Implementation Surface: Backup Set Detail + +| Field | Contract | +|---|---| +| Page | Backup Set detail | +| Primary question | Is this backup usable, and what is included? | +| Current issue | Spec 368 finding F04: usability, lifecycle, timing, related context, and technical detail appeared as peer sections. | +| Implementation result | Spec 371 makes Restore-point decision the first visible decision zone, removes duplicate included-item summary facts, and titles the actual item relation table `Included backup items`; operation evidence and lifecycle/raw metadata remain collapsed or secondary. | +| Target first viewport | Usability/readiness, reason, impact, captured item count, current degradation/blocker if present, one primary next action. | +| Main content | Actual included backup item table and any active degradation/quality exception in the decision zone. | +| Sidebar/details content | Captured at, created by, source operation, schedule/source context, retention/context metadata. | +| Suppressed/default-hidden content | Internal IDs, exact timestamps, operation IDs/context JSON, provider IDs, raw payload, technical counters. | +| Primary action | Review included backup items before using a separate restore workflow; no new restore-from-backup action/link. | +| Secondary actions | Open operation, edit/view related context, archive/delete in existing safe placement. | +| Evidence access | Included item table, quality summary, source operation link. | +| Diagnostics access | Collapsed technical details or operation detail. | +| Acceptance notes | Must not change restore workflow eligibility logic or backup quality logic. | + +## Regression Context: Environment Dashboard + +- Status: completed context through Specs 330 and 352. +- Treatment: do not refactor in Spec 371. Use only for regression reasoning if backup helper changes affect shared dashboard paths. +- Primary question: Is this environment ready, blocked, stale, or requiring review? + +## Regression Context: Operations Hub + +- Status: completed context through Specs 328, 365, and 367. +- Treatment: do not refactor in Spec 371. Preserve OperationRun links/actionability semantics. +- Primary question: Which operations need attention right now? + +## Regression Context: OperationRun View + +- Status: completed context through Specs 358-367. +- Treatment: do not refactor in Spec 371. Preserve execution truth, actionability, and diagnostics separation. +- Primary question: What happened in this operation, and does anyone need to act? + +## Regression Context: Restore Run View + +- Status: completed context through Spec 335. +- Treatment: do not refactor in Spec 371. Preserve restore outcome/proof split and safety-gate logic. +- Primary question: Was this restore safe, what happened, and what proof exists? + +## Regression Context: Baseline Profile View + +- Status: completed context through Spec 369. +- Treatment: do not refactor in Spec 371. Preserve decision-first baseline readiness and action safety. +- Primary question: What is this baseline for, is it usable, and what does it govern? diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png b/specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png new file mode 100644 index 0000000000000000000000000000000000000000..3cb8efe246393d524b8526c541d9dc444b3ad522 GIT binary patch literal 116649 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 M7B=Sj+Yg=l2NY2j^Z)<= literal 0 HcmV?d00001 diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png b/specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..62cef2912abfee55da690c2b7aa26508bc5aab09 GIT binary patch literal 179691 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 +PA2j^n8?U?6?_|`Eo5N0x5r91^C3Lh&2pet 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

uB^gKnE?z8< z48U4uCMHE+wv+$3A#P6XYk{X9K-?T{Z97wgFkpn!NvpRZ#k8t^EX;P|H+yA}&k4}~ z5Y)H8)Mnjq>9ICwH0>YH9j>ed3BS1z@W;ypB5ZB zd59I<5Dab?RuAN1Bqdned0y23C)^a=nvu(C`*u~Kc7x8k@ep!iB7V1T ze~)@|*!`#BU0pe$lq>*PLqjVV6yR>}>QZ>MI*}P9mP_8cAO-rfnwyzLSFlRh*~Ns0 z-r&oJbQ}MD-ZPL9E%7h^2N3r6_e_2-qz3VmXp?cA=mUpK;?6K{X04XTUdp#NMlCHX z;1uMIO-Rtz)NKFAAwpuJm0Gg@qrAKvWO*hSxnJzX0Bpb=qyq!;Z^8mvSQwO}-Kc9Q##y3sci<`PEkaY(W74g}l|hM$$U(%w&E3{EqdrV0X1$Iu(h&wZfnTzLkxm zNHnrdoHooo#KN;@EQ_-w0U97r@kcgx=1*dK!?d7@J0 zqj{OpuC9+9mKp#R3h46m!4U15W4}KxV^{-%VA2W?L>Di2v9U4@*Ho;(3w{4y;Ci=t z8{j8RcdUpE!Bhjks>KlbcMu`>s%pPFF7*!k+=47W2>kKmK9bvPxCp@osCzIazlySg zDLVl_@IjJ1@=fdL&2QhG7m9T~0s;X6z(H-O%bTv1OGWMju5G4keRNTk$eHZ4BUsl8 z@%-%aq{iiFKk3ca|H_PpfJ9+ylUE;>I+#-M@9fLDAhWX-6JO`}G|o)doP7WGIKBAc z;p1=N5m*nV03gY3J;MxH6@omgKet)|J>!bY%gO(l z^At_5f_yDM>gipL8wiDl4*C1}k%!OP*POH ze)jBgvs6*XZO=IcZQvX1vxwWp9sq#StxZFKg;LiZ1|E`)vBG3*;P1Q9X8_y`6K{V2 z0JR{!{f40K(`~rw9v)^T>=wANkvClW@>=M&YQDz16}cEzJ%Cdc>V#L zxSf&;yCdDZBV-`={t3orO%uFB03M%7Xb*@$-XD}Iw1gkuL0=tE&bWo~&#wFf_l-gG zCkV#NDl0EHO)%Bd+gnY2SB*VL*4ud`cD~yqtTCAl1S19+#6ac%ls`(!$^nEtG0`k0 zzZ%}o9rp{YmA$-P3Y`adPjcd5Wuq@PHK5wrSXg-M5xnuF;gX)GdYGZ#?(5pwA4GNB zX4y@iX#C>QBV4GH^U}Y=&isVTLel_QYf$D31Dv&;GYjYN&m`%aQ#Lnc+%uBBblXS&LtYf@+vQwCE}6SKC} zf?d{!qx16YU9Lcx7Yb#i979bk)Y#uQdU)VCoP{M8cp-QV=snPl!2{%ZbBC_Yu$b(C zG+96OlKT29fNKJb(u8Tjmy#%xC3+bMGs3_t`Qq&CC{w~Jqke1f6-%j#W?pgLCNfQ; z-xE|$!1se!8%Sv$sB?p_znRSa@zL_Y_$sI>$SkKrAOFbWg4z zRBL9Ixx6*v{uk)IuZ~pLS`gtYqSg~c?%UjJ`1dv0=rugdMOKs=i8cq_4 z>CJG(_VtaCC)=a4pDG$C2oKek8S=K`jYg)_sw+oUB?`NoelrYbr$WXm_@~ny5U#cK zBig)ku?015NlYn=As;7W+bqvLkNCLwQKF&>8c@Z+WV$3J9OETP)z&)Zt^fKjETF*h z!(5UVswW}GwghEn#(79adOVKz#SHZ{j_w79X2v_>XgphfYJo?QQ?l* znXXaIT?c^WRFU3mC$#{Tk`lWZfWY=S+P?q(4Pp_UlS89%0D$y(K39)RBx7{94rsS$ zY2>lKXITHCsPK~TYPB5l(Aiwuhr2(dpi9yI>c^-9yk&LjNZEWZe?&#AO2d+8t_m;I zZD%CF$sw=aLleQU^{uT87243Ht)>}j{+HOL;5OJ z6diao4H2JQPxxI`EDVNZt~0X+7?9v?*w#vz4qED}ak+DEl=ib9ufhzrr>+619WUTH zzY6>Gr7^x2io7_GIXjEQWpE314)Lj~Y6T>qzkfQAc6~??(Kk1jio9M7`X)x?9QEUw z2a+1mjH!x&za-~%yJt}xkX;=(llzu{s{^t&AS31C<_2JT=KMosWEjM*J@A2)RJUat%&kD|d9xU`|O<>h5IHV2T| zU!d&@Uizk^d3cce{QLkY{lRjiZX%D1}4K^Ei zWxL>Zg-)x=A!hFX+Y2slL0)(iWFS~t8T^exQw!%eFT(4!BgNxqWwryvA1?S+0poGjqT`^ z`w6+RgqlKE)2`=gQfnG|0(>D^Z&6I-3;bmS>m^M;H-II;ZuFh$Z2N(l$J~ zbcaX=BsF~YI6q8XjTh^RG)jZp>)8HZ73VPwcRaZY`SKTY`Ykzm8YJB`wTcpf1?U+NBnD0~N7Ex9mj^&oDy{l;zYWW!n z-DH@ufl>FOT`$~Fq=41h@<`V1waW=i-(yw>k_n5lv^TKLQj&YTF5#4WdaRM&*2Oxa zuyG$|&SR2i$kYDj5qgbqu6Ay!H&*q^&I~-|i0k}xytKwFXwV*Yw3s?-K^7q)8_#L` zZm6QrT`0SNr$aKppC{s1glca|U4okr5!0~ugTX7=tUcG^;~nu>_l!H&bL&=+Eh{{P z|0@@wfkU3#FUD*^Id46r%Egom8NKK?`hFU8>3W^Bbn-Diu-5(hB#&oI`8wzJ6weP2 zKS@=cl%}6^prJ5pzpbq;K2zffpne3dd4FsD3ifHfa^WuWgQW+qe2D4`nt0Z+_{gz1!7fp&&KE3#i^# zKN?xJbtZM!)YJg-xC^{-h90yI$pxL9oD7vxU<&XWp6-g7exA$Dq}ZAvc#QI#5T1~ZGLwszkwSq*tmaGb#)ui?-XNejSP1bvK7YlaJ zcnFS$8vx6W3}cNYgu1=8d*pXSQDp%ulX1VowZC>|hX7Gzn69y@x-0q73H|J)hlImD z=^FLyz5!f>R9bi*yR(^uRAhg*4Dx84Yh$LK!S83?tjAs}W`m!4)2;0YRfUu5PZtX1 z85gwc!`M~rn3tm|A?*yxns%;}S^|+Fwg+DcojoK)JqTwLQgd(P@0-@hm_524ziM@A z-&e0gJ-71<+R72`)hkK_Dm5AD}QmQ_ni`gD8xI+Po7ag3KFedF`X0}C~~bEXHg z^IgnKDu>~j_VRt#5h3$bP^hQL zdElZ*IsS=bzNV;DUoTHG;>N@k3 zY7r;uKdBj`)2-UFk*KONP_N2)pnQ%+Y1x)aSl}NZE7RHGSCq9mFnok^S)i*>imOkgWQlin;%-20&3d?|Wo0RiGeka+mU_vd zFI>9{op1K8J6$L(FL$_iul@4!60T$Wy*|UR7`KAg*^aEZK@#cIrI8S{@G(6NYzZu+5t~U07teGfN4>(^pmqo(W}ey7MMb99LggQPN9Zg*+uL+Xc}ssoBk9 zs5Nxt$#DUwZGo(-_WNjNg9dkU_a)08l9Fr$MGVXN3@R->^B*^Tvr_QNPGK4?H^On7 zS`f()W(L={)p|^)*~+F!QXcMnl)N@%B~cd7UejY~YnnP$ppkum;C8cFrx$pEjVCbW z7-4B)c-d5O5U7$aw_1rTkQ6l)dQt$blvSPv{W={qw2I@0eEkSV(w}FQ`Cz=v9-$$L zhrY#?dOx$xZOv%87Ox^K9hSXV!apOgW{pm;k@q}KUJ`ont#~_DePyBCsLc@T`SR`e z$`~}vYh}bkxuzNk5YjWup0%Q*5yI8t=SB*!&)UyK;0$FcYo7(TcxbcKdMje>@E=$3 z+g!6jH`B>1)GDdE*Wa7JFDAB~`N%stj~~XtT~{4~MWIZn5#KcpY1oLIayoMG9?Q~< zpy%>G8y_vVHr7yBnRe*4IV-PUoXITEFomCdDn!$&bh)IbX>#Q06xkQRWpUi1r@^pm zDS$)^`NYf1+`r9T%OXOKM^SmYKqj|>hJg`s?VHdoimH*XLQN0W}-IP0kLa2id`ZEk9% zQd?E7nK*tCkKz&}ii|}yJ(ThslPs|#TJQ2N*-AhQ@vNzLYkc9BJ!%bg5LY?IkaO~ck^rL zjK~)i4&oS=qhWH%ojo?zj0?r-3-ek~`L#qBe@v;Z41HVvGTZKvl9r!-H0OlQq`eMS z{3w+(BF@k?;X8NEhN=jQV%N`20qtis=XUbJ5}9klIc6FO4y1xBcHuR!l&@19A5=w> zGYaLYsB+7TBwMr+AujZX#hntt6X$U~n|5p4$E1BV6hV%a_gj%@qd9bV%IG@om;*aV zawqM&$-1I|a<_9aYuqui9_J4lDWSK%<|wbW={&3aaA^3Mlmc<6sid!;(x($Xr($n! zZ)$orF>y=FhgJ6e`E$5Y0kp6j3wt}7IJ(qc^SDphpCvCQd2HHKwR&V~`-S++s3=F} zwATaf1WNEduk>z-s+bDbex{u;i8E^EwUUlrxFhZu>evqbXj?z~-Kzf2p%8AwED0-; zozY{|gjGc|hEO&as_F8@Coy#Ha8;6&lxrmdFD;nzgihroJuMFX@>j8~e((H({y{LZ zDD2zmoPGeWFzrB?MiV1T<>R;1nc0;(W>O=3Y^}>yBLu3!PF4lVRXdvn#BsO#j+upIW&Ig{YV+_mME`!IeTc8T(7AWx;72k7`HXTF21}3r|&As7U}qc zLke^Zww+;fhBoJ`Tb6keR7R)FV*fCnvlow5z1P;d@*kinGA7_lV ztwQqEtKMUH!G|~Z00RT*dChp#_(f=6;HXe|Z*TA6qeoT9b=J&C7L>{-CJw=R_=*yG z;pF_shub3xx;iS1UrDw&5;XF-g(inv%CaMJgoqingX5hcO~X+(?hXpbunmKn8i7$% z2R`an=MCYYp&vowY=$2Z1Oa)BBNT44Pp0nR4WPE(^S4G@m!_USE){-m?_AE-@gy1d z2u(_WKt(r4E=JGB1uvKPg2t4|m&sKFk@NLF7EZ=kWq+C-`%>|E>;2&1cx^>ONbzf4 z@kAWG>9|l*{HFF+Z}S?cne13DrId0OZNY~z+Dp~!e_;W+8M_`!NK!86Q7k9^V=q>? zaD;(*{lsWFinmmJMde|OAy@-zTfCDUjK&@E&{3wB-xAFkzdZuAKMJEsSuFXMUC@<- zxx;Jq%RtcFA%0}xg~zCJEL}l}Lzg9Zl%zQxrSSv|xDV}@y)^aQuQS#RgWsQ$f~V5E zM#MX}9+}P`|1x)<$4XUy!7V%bJw10VhIf2^lzKF>t2R3>?@`U#)evLV+WLs~&zQ#d z6;qeZpBC|>RRSKjim(5 z%%ECM2k~a;5j<#|81ixI>~~^SrBQ~4w#~0TC0%PfXWL2@83i;`7j|n7)8-I` z1!=BC3(l06q4@bbf{6I#YZ@V;zV?ZB3n3@PJ*XUWE{Q@v*|xm*L&?c1nNhYfp3_o-zdRJb4N+j zC(9QU8q6$B4!P@Em2@cO2sG9Mw|b{EO&y^~2FW)1OwBldI_hVU2aswdnH+QB;(Ixk zD}t6VYGvVbBlVwf6~<4_&KW&s-f4$=KWyIDx@*?Q`oiWmC)iOcjlq-^L+GytA)NDBr!RO_Ck~6YlkFmUUiC7GeChyx;T$dE7 zG-pZJv56nMxp$ib)dQ3#sUDq1sync@tPwPKi>|n6QfWB9R~ZcKV%J^$dXMt!Yx|5_f4u%kJFU)Cebd!QoWN{GY$4vCd5F5wuT!)`a3K3GsM<+TF$h&Z#Z6#JN3H{sf%4WqE&m|dS7^__g3c{?ztB7Z$-J=tY1&@ zz0-4SA9O-ZPiv$3>BX9CK=G4G4Y@#ilxfe*LN2XLQI0lI^pKTI#AJURJ8TXS&* z;^{R71=k-44ZK(Fq_G+5!C_f6{Zht=ipk>4z+)B@kvT2y-A-xZnkPcN43!d@pI|qs zku&U@))x{*bUAUv-oYL$lzL;l_bxSH=q2qL%Evgl#Eo_ zn@7G@PBr7epN?T>ku|JC$3V+rWSJ$?qz=1!fVn>sFut5%Z{DQlz)|E1sasj@)Q*E^ z&792c^Aurx1T}Bb70#9LFsM5xK93#Wdgea3Zl0URUc^-s5~w1xye=NjfB z5U~44EjF^#+S!l=N;2bXRtTLqzk9QwMN?V-b(GMPh0tQ|t}G^cx{<)d35i@|fwSpl znk~9WNLoNCV{N*9rNb*jF1N>S(>CgMSj&O1N88e%Qdr#l{i)M3E2jwzx1n63YF#t5 zY#_HgaaD6!I@M?9L$>ErH$GHX|c=6bpecIUAXlD$a2mp+Z6hWQBxx7N z6UXK)?Xh3c=2q2GPRSG&t$K%9A3kngNEi?7Qmch-izUi+CW(yE$m$xIwjSHbsu`7dm=Go-e^O|;7@u^8{AgL7`(j%#0TB@=pi?eZ3? z9t-h4TueUg7#kDfaXMOnM@^TnK-!|HDQEwkVmMky9NF6X5bK~Z{2IGyS2aEFny|ba zva|DIF8w^oPC|n1$1bUkt+}At*}DUpycc!>d=$l)%1dTZ`^?O!c2Jen_Rl0GC1rwS1A~J@?LF{V2pq1Rbn4O_KLEs(eJ#{cH&gP9 zim+YAcsF!J4A^+jon2I8aUQ_jov?*}(mMZ5{}c*G+!CY?B%z)3i%C4O3$_COkB(iO zWA3|DY;XhT?I=Hf?N;^h)}3TA_tQVrNZf8}s-iL@i#WgKtD`jpLEzrKjKrZmvRIMv zYNxXQkZ_NBm$5_&U@aVSW82CK{pI14uig3DFg;)}&_kr)=(ttw)DhWNHRX&}@!Q!l z#_vo_Iw0qc%-bT@lf}x|*_6W>#EwVxb1q)EAl!(mSW84SPH3vCI$;;!)2>6N5v^M1 zV1yI>F{4Dk-5&LYrJbG7{WXY~*B)@7IIpJ8jhqXzVc@GwZv7N#APW+CeuGCgU}~Q; zGgm@AaoempN_EfkN9@NxuPiMInY3~ybF+OKdYR&52(oLwJMXC?zD-I~{HoJhYg7=M zibT3Cc3Xj1cvN`!(HsRV?O_#n{g#>^9<~syz;wC~gre=ANOBZcl4$;RA%E&sEWAum zNN8Fe2sd2cpQ zA@Td0hwJ0)&BO>KK8kRPN=+4ozW80lGY)tbT;MQvS&5y?ofoBppDK6liLq$350dP=K}HRbp-JocM*`I?d2|N2hJ*`IopsX1>1- z(j#}qx82hC#mkq`gxl0`c?E?+gPO%&F$tFp(7+Ch>M+qT`{`pd)A?C)($DE1sMxiP zJSf}8WZ(zX`#q7| zlsCDKPd8yhZ)T#SXRE8zyWlXO8RWB{`UW?2vwHQa?XYYeMJRk}F;Py(0E?u9(^FFe zS+7teQQJ3oir?iBG$$(n&5~U_R=$}SS_nLGOe=1AY!CJMn&JnwT&4qCrx<-|MW+kG zz2^UPew!l-#N=f)+c7GF3UXw4u;bC(i)2yQSwNPQ@B{|7>@*K#0uoGkWNK?T4QD1D ztICAY`b|d0MbYG?RKh7>EKJnwu7M1@T_N4vFl?9&q9J?ZLh{h3k3#%O&OQg*D~@9- z`DKAecv+ z$&J`pR-g~ONy)wXq%L8qRwwjt0S-o47Uz9*bt`gRA<3(A_gXi0QMJprtxAV*5ZA=Gxk0AkG%C=#6rAITUFG znd#x+pO~reY^?U}#_iTbKy9%b`hr5a^r_7F9{SQ;1X_3pYinBZYBZlPzyr)gHyck< zSdt;9E5JY0=b)E5>XDgdkk#jyw)TCm(|uU`qiz6mzI>e)&a@78};UutO$;R1BA zv2pkQK1=nhy+2g+=Pxb4e}AsZwnSp%Y##fA4i-u7wzdPWs?+f1$sz3I2(2P28AS)j z?F}KF3^wmdZ2w~ElQ{fC0Xs5jOGTZ`T%+N3^dYR5!Mu)FmI6;1V^Fxo?Q|KF$!r=1 z1_6heq=hbsPRSn`2m}QP2{^(Q~zo6T*;7J~! z5&=$A!4yL6Y5qerDoNkj*w~a`zPuys=pVKRl$2oN=c={z7(2&bRK|v;H7^_A{yYXI zcHod>uKj}o_A_#>w0F$TsTWzMpXNf+;G8CBj|E1B*ZPxJ@rTW zz>!i)5@s)FYRX{&7TMRZH$TwSB$b1>{7Ln^!mLzB+S56^lpnc|ekt#L=+*T-nrq{y z?IGa$#AyP@OIY+TnHANpz8Hv@y1D>z9)r>}xj$|5RxBi(9(ZS@4_*BAOICCyG_=xh zH?eKT&wC|CMRIy-ibKW#c|4MdZaW+$wLCkGXv?kP=B%Za6?EIiCVxYlX4-M8^;}L6 zS=b2}ZCEN@a;N@_1^hkS|EdJjEa*t(4#p|CzJ1dGlKk5Ie~YB1LNLFFGo`8-7?@WG z*2O=3^yrDGsPx~{i1t2!FROh&u>Sq8RNoHOzt4>@^$l_to7|H|tnI8zf9oy~3?NB& zi28-V09c_HaSAC!BDFGCI!xre{D_u=y(*SAO~5)bi3HHNA|jM_0@k1Jdl|lZm6pmx z{e`#*J2o}-wn7Zrd7nUf`SRtfw2!>bNkEA9R2s&156>2-$6wZ^fOJoQ7TMqb8kn$I znD&E39OP~jYTLrlP)4rhJxYh6A{-PHg7!MpNPcYh?T;nLeJ<0IA6tW z5!9=7cGeP!KWV^m3KG-}aoSi%8bZGL4HsD9kAKatfA#h3^lPjCJ>8;0Pq_P{KdJwE zx2DnemwgmO)R*=pV6di05-Eg@mDT<(OVZW9*XHEp{9mvAy6xY_;s0wV(8ecBw5Jfa z69 zV!XIbYrIrj-#!*(use9x;I?%%X>KGi|5C`3ZSu4wQlgE0P44xt?@nVz$+vQ$vCYSy z>!<5>$Qilwt1R!eDJ3{T-@ck$;S{LTLUgj-ka^f!zY+Rl!_O*4-_B$20o=%`<$+9J zcm7)??akY03sL;7pGkz41eIM9l!jHFpG;_V672>jb7ERB8uR zcT?PyCeY}8t}vfw>^YjWFuLI>+LPzIrfr)`<2KZtNO?}I@JpC&B59*e8RqqD)}#YH zWzmhePQ&~$Q%wbxM&F5eM-lyn11g)w+i3f`(@K>`FPT)X74%;!fr)Ex6Gwlv?3i`dgV9!G}ccq&$ozqNr6Sv#IdD1Co8J|5j z+X`#go+)w;Q(G+1JQ=Ou9)lH5I&~M24v$iAVE2q2?8VKk`2xSaH6BgL7#z%y(DkHZ z7!*m=Z|;AhKG1qN<73y-$mgkEmM!v&McxGJn?do2>+EdNM zLM<0hJce@(zdtrMx}Lw2z-oTJ`ud(zAIfRPa2W!fdy|ldJ}Es&y>davnjG`{5aoP> zCflV}t#f>I8M^qHu(H};{bp1~vg zJ0$+Q!C_BO!Gx2#IA4S5oE&1QT4J1zWES4hqrE`Y9Ms3a* zOW427YE^@pYBz=}E_ahHJuLaMKIt?ix}JT)Sp4lZC#u44zo>M_%f__2Ou3ZJVS06% z>V`IMi&ZG{%IBqVYd3_)ZUZ+2C4f<&R7s^O*P@@&X3pS78my0(Ikmlw@& zX7Y*5+YgI69WZt!lXHa+6gqooBP@kaEwCld`S$G(WRiof8(@A;-Od~&&-Y%SAX>Tt zP=e}NtM~IO!ZzcKlQe=h`#+`$0wm--A1cKTuF=wGmoTDA%+N(93;XwWLcc<=9pyZ8 zy%Z{IiaR@Wt}KWKuW-hPM@Fza2`tj(vAwt=+p}64XLJS>kQnL4}Uoe0=i;y6BFUrw^f~ zq)yPM+pY>;sMBE66`|mQ2 ze`8K#?=7w>PCUevrcLw*c2J317FFqts}n8f)Q;_nDfRE-)rHmve-$&-kz=?M#qV#; z;_uPKSG($1YL^yLFbHsLb)70iYEu+)=MG$>fyur1Bv7}#$fI0Sq?P?05A@UCCMs@k z7-~>&pl{@eW^r@HR81G}tq)oaA&MoiFEa-&l3BsRzcKl&Pz{JlN|Yk+mS@SzhBHy7 zj}Q9UD;>qt!FU(t6@ABHhZ_?|D@D-F_R1 z<<+u%ulyLlzSe1fP6{&Gkb?TiwU>I#Y{K>N_x{2UlLzQ?hfG2w55u2drZ((!n~heL zff~aZx*=M|MKsPsTg)=nKLs&yu!PRSH|U!zRA};5_csjM+CAi5yHv#fyV=^22Kst> zd3n}AcrmSHMItb@fi|y%Fm! zO@0$ex< z0!|{wSR+^6ilylI_cAU!`ScxA{Om?kx{lOU`RKBp<5qG#kkp=*(^jFa@$M;#sB5F3 zgJCM(b6s8CQ;FRt*>zi=(6)|9aUH5=rms2&Dr$U}eW#o-OjdLM@t-bk_l^Ge=Fde> zE`%1D>(dFkYGmyXq0R2S#mPA{Wkofb#$(nb%%tJMoh|z}Qr3S?tYXN!46)~>P-|GC zwj#qC(PRSQ1O{deKYP|ny+kBlR2wg3+HOirH0_AVreHqDoq7@`c5{*;#Y%>|_H8w$ z{}VHuHONX1dg8f%CC2Z`bp3G{H%fo!TQLJA1ruyC0(~#mtG$V*>U25y>DriY4St%T z5(#Z?MM1}?4gy}gbfmD1yxkgsCy9(aq)<_ia~O9v)qdLiod*-?H9bhta8PMAvR1i{ zDqZZqJ^7hM-bezSeLsgJW1>B)1D#22kKGA7HNnuj+Yf*`T31O3$y%vWNwi#c3nESv z0_#@yA47QcOO0)EK3J<e@h!u^fKeiM0@5~!KfT`Ozrn-Z(1hmaR9=~Dpg*|}0yb~wL8J>|J{ZQua_Da_2w zz%CGwd*o8V;t>mSlPE+f(@Ofp6LH-FnOsWkw6#+1i1KUgefaaI^!xW8Kk4H0*w!l2 zKRrFg|DcQu+Of8IrSm<7or7qPGqZ$OP;g?y)M$9u_({Dv^`)lC@9Wr+M{I12;vUh! zl_@GJYWboB>OA?KG>BV4dtaYQJ~Y)sJ!au|$KlzQ+qZSF6==})IQE^%pnU82lBF{1%bLJ zM9TtT^HlvObewQBG~H16^?(*rjM@9snDX zz+jX6*YeTh`F0< zYb4zfbK5JdQU;qS$8KKF9Vl>^A|am#+kNgmFGKm(?5Qc=ckkY58$uTr;5qGP4O>4I zu~Xr6+-^dN z_e+_XVs>gODx9XOoo3;1VS#FG4Cc1CJV1Q@QdYK+Uo+X*KZ)3^2*L+qW47?oq%E?` z(VwMu&Jj?(Vm`}brmz)g6`FV*0OY`M=#8|rG+-vP&I-Yfr$~4+Ksfae@J#qEX*)YZ z4Upw!#D=gH45=(H7dH1?D|9#W_-S3y>A>iZ0zjrS@k|xl7GPI{|o*6^FPtgmz?Z2lL)_k4G?xP_yzu`Q;{6MPD5i= zqJzgRA$_)6wEn#}@v&WPM}U9URaVYq>Pkz$9~^AWO>L~LmB)(#fGBv=3nb<7y@ z9RFB`5mCSM8TVRHs5j+Qf`;c~6cZQ0pm=s<-By2j{(m5oZR>U&ErmKI$DQozsot2! z*rnlIA#wasOsZdk(^}!sd@65w$?G3X0TXKa|HT3pf&rQ*-zorjsH}YIIy$&ark;ki zBC+{H{VG2invSySzuWues|cU&(y*n%snRx?f=>LI2<^SOy6rKxI^dPreZY~_5f4Ch^BSgU{ z-oCvsT4>BDrnME5I_2(G3S?fXr}Y+njo%;X>)e-|xl1_3A6kfVjf2RRgj2?>=-}IH&#Ny$?c5CziE)`j{NdjGmq(AiM~4b8l(}q;+i>FrfLrzJv$--lz*vOn zaDQKuPY3fp1^GTReeMg|DRGsIUiitA;;`nE=;+tj)Io$^;lX;Cs%SJb#kW*?(~rhJ zPM?=w#Mx>ni(9_(NK{BVg9$Bj8nMG2x65iq2B#)C`o(ZQI9JJuca61oA!}fjr zO`3x^&0R7T%9a5En1JuePG-L)mk`6d#F0%+#DhcE{~qsY0WbF@`{ISo!hS(jZC;{?;;Vzm=P}doFG^`-!^%62YRDohRtZ&r{8y&;O z+%-aB=OQ-o1$M47pJAQcsNdN1-TBouu&N&*61TjyF<@rZLsj+c5_eCBbR=*fR7LcXqd91G$N~W&O`f!G?d|;aLfUO^f9^4Q%L(kqFD$ z^?rsl8u9GsQk(M^`RsMbiP6%vtnE6Wc+e~GCF9$+bsU~uwXrr;7zEj~dh6qn$y}ZfIuVMo4*dvM4Abivqof_Mb zxKpYKW*J0+^VpQWLMo=pX1A)qu+dG?&#ry>IbXI414MMk;8xl_i>cHQ`B{B>mNQ-;kc><8choh_@Xq?)HFzML0R#6HZQg0D5)dWY>AFul#1M!;j&z zDKi5aFKgElGQukq&Y9zmbM-0vWMz_Y!^^Je%A>00P1qD=rAxGig$Wbk0vO}t-$Qiw zFehkrb@aMR?B)>~LC|v@;Wmz+_V9A|@qXXy`CO1ucYA)wCSd7w8?KH%XFJv_zT-9b z075_`+7v=te@3NX_h0awM5#>EE!hjpaR=nUCw6kyp?Y~SxTu;p51;>SJk??}M3u!p-gi4TQyFq8tHWS_#KxN!SxTFo z)tzK_*&(&;eYiwwk(l1yODailH{> z{14H95p=3LpG7#`-*_A8>eIagtiuKZ+Fc4=FlO}jGHa~4XEDx%NpVM=?h@iv?d`i!wK$b1@tT7W zi_NM_M0>dt46xcw42q-6>e|Q4xjnjj%hOQ>?Lw2ts%eLvM9mYr0B9f$EZ%*$5ZNK@ z(k5$y?`&HEode8P2K$wvCp85(6m*`7!R;{vOikzeE>vS;sHVq%Qd3<-v8n&pY$!v% zmMyn)w?;~t&%$Vie|0+Zl3QEouDtA}`AwawQAs82J1AWxru}y@7jo21xAP!&%}wLN zuZ!Mps@;)4eF=qJ7~E+Cyw77HPN8|fvRc|tb3j|}B+z=1G8Iy}I0F0f@w%bRBFqoA z*($VHf3gPe`oJuH*L`x+qTn>E$vU+t_qEkx>B}-?k@*ms;I&uNY=;rD62(n~rs5sj z8fgvFw)^RJwYa-9YtOH)f5GF;f>H6?nB7gP4ZVc@o%#_6Tk!|3oJ$xtp0UNGlg5?T zIeVwj#U!K|S5NU+Zq3`FE@MBh?+>I>F6bSPjMe(v7*i!>WsJ+iH|!t)iJRab3XibfYv}~j0x3mIum1TV@RU#C?V?JP)a%WMcC#*VFZ$}o_uoid}o!o=UP3K zt}!=0S@?^$0Z|%^S9^Yw`)1}+BW@9)?#lbRggNukPp44vw}SzF#?X#0xgU4>Ldl|h z9PmQ=yEZvVjaK)L5-zeEH41Pw`IwI2CYki>o}g#8-5*pcRXOJGHneV799(u*;M-if zanGWem}h^+c*gy?|09FL;8+pjF>%5`qI<`wGB$|S0qHQ3XhS$mpsDOQFOS+?93(XS z8pq5}sRXVqis>)^>`E%k)n?u`7FMJ>{gG*^dt*plzfDL7rm}{8Wgei;Pv_<(p^+s;4}vcqNhm zMGMm;mY7MZZjay&v*(`rpKrSOO%S#Qj7W~!Yvo|w#ixearYFYAs_6Sz z1t~`Z>EexIE@9=AC!ryZNdi|HMZGMyYFkCY9PN)+q~Jq0OA029cqF*)vZ51fKjaSC30;oOf86oKhKtmQJyUt%2WlPhEPfmLancxt zR~lIV#c;xYuP9-D`!xM2KF5KY<|ci~LD5Bs&i14XYb4TlQazPn2JeRnDvKf88_QSW zyT5omX(EZ;2-QVk+p^kFd;Jwc!FczDE^im|lt+&&Z@z8Xk2qLTUB;QnlaZJD4qp4r z)J>2unpyYQlUG;TFDX@5h{K=c*w~G=3Ekq?kkd?g61Jsm_f%O|kMfDQXPU44baDAJ z0$BxF0Pd39MKSNt;MVO1>0@|Sx8MbFzb84bheN_~yv-pbL#E?N*F$whsZJY;TUDZ{ z>8}ZM1kLdG9S^krL3ao!$o?v{dU~$<$@N(x$EQ~145Na#7dC$zIUT1x@z^`6{@_9q zvV>j%q|exzz@PsE3s_Gs*CogG`a(r@ZhYPe3k(aOZm4kUGG;P-jHDAa`5{JXuX6oB zk&kyZD3Vda)$*2Cc2D*#>CLrlM^t?=XWcj?aJS#;a|6f=oN@i9)qE(HVaR5DWR1r9oK7icp3dVOs} z6N9}wAD;$(YpfjKwos3Fsj$ZSVX`JE2e$A)JE#CvzB9WWe!NVRX~)c6mam)OTvdd( zz-PxMur>ew!k*Zu=XJCT%~@42Ot{&ScAfg_1g}5o3&&r}A^r?9Oa}Gy2k8ggtDQFI z?=8?2@7x3IhQ4z_53iAZFEdPeBGJ1&{M=cja@_l}D#=Fp;KKIco zyRcf*jvenDJg>(|Edw-@$zU5{Y`j=4XSO!s0=T824$h(7j}P7$4+x!v$^H^J_|nU% z?u1C^5LPDdX`v14q15R}95B)}YZ1g51-9%k+?wKVMWEgN-LsP0E#B z@4vQZGd$d1s%q=yA2#Qb(1Tcao3WIO(L?0O>UIY0*tPw`JMfyMlv$uz^(UgqyiCqWOMm@3Jq`U`wn!hBv|_OEQQ*cqnbkSE z8TPIr@rtc@781$hp%_@ll{*k`tzc4$+TyX|zMI8pZWa7W=J`N{N-m${mI|uJe2ZRB zG_>`;{}dIS9;)e+($-dbb6Z!8PffOW=YjsJnz_pJe$OWe`{kqOSD<2}_JxY|=B}nv zzs%HchK?3a4G146d?{)$KKMolb2}&tcM3Q5=_~r`+rVv2Q;9trw@}-!ZS`rg-WU3;Aub@FzST%NhkDZj4=}EnZ;a;EPG5supJj3;Nuz}#+b6|mYM2&KC`|K>%e;6kmIuGF57#n!T z{R*v{mTO?%jy@k=c^i=tInMl=KE@?NiB$+@BTN{5Gs3-lW(T_}1Z%A%dSzqYwXs9{ z28V%ZIQJ(M$$bNtF;bOD#*)WHSS%uY=5(0}(|r`MzMa#T!dt%FG`CnlmpML^ z+b%_|tz;GFU!9+AOch;Hxt(Bau&~a>(x?J_pqD+VTu9)E6QDc z4K>+Ii;pg2VTLuYTftP2xb~-IA)(Lcsg}8m>Y1xDnD4*+Ft?s}2^F&)<~>gs)1v3< z|8+lj98LNz2l++b@Yu2Scj_JX$XiG9tP16x$3YH9>$>^osa=6c-%juF5mwn~=FZ#t z)jPKLHk|3)RT4K(sRj>K8jmYV^OO4)Om7puEHO^urdF&J#N7ysZ67E(Ge+Q)b6d)i zN=i!Sh$aBcY6tw!3dDI_Een>fw6vH3K9?L*KIcTLF>_F4 z+LMAZNJ%xOPKv&hzP5MzE~6E|K~5W7zrM3ir5X?45%+SHezx?fs^(AoyHNiRAB5rV z7Orm)Z;CkC@-E+*cpSs%Sotatx-NgIwpeDpSF(KR0Qo?P)fG=n+^Cm>#5|fh$sFnX zB9J6}qU1W82Aeq;KB_J`H$C+GEsu}@`8LyiBC%KrBrQ-i1dved?8l}nG7XTP(ao06 zT>;a#*HaYW(B-DL7)%>5FdD+mjps=_6kJ1o-5@u4Ul;}{wM!9&ipYk`!oB6 zi;H@i*3#zM=2CM2vsYNfxA8%1tK#@XeZ8QIt{dBkChR}qh!kvoGgIkuNUnnVdsdZ=GeFa^KERbs-{K`0DDR6 z-DdD2^A~5Z<&*E5|6#o)Yvq^d6`muST`;xas&f@kAKX3P6!_G)55)vlIsI#YX=~>J zhwiB8EFe}kr9FRUIVuk>xbEA6gqzez=H#}jZ(&!uhCmp2nq@4f}=c?~JmKCaz(2IMUOhXegWSLk{Zr=b`-a-l-BjbV?{63z zquSe_%A1&}tH%Jv%@xl}i28b7Ha6-19ve|R^q*rHBIGG4DLr?xa*HDCN{O3D+cC$( zkJUkHD|s|)?FYc&t5-bq#_zV?BE9cLXgkaLabKwhwyzsjqpQ!)tT|gyQroMa94+JPN9UKslc=R$+6ZT=i zjYy(j0Q9G4lBM{2O75W-z7f3fChVNBZ_d~nK;7!zft%>hujc*BlKnrSA6oM9kp)cG zGc4HO9z>Tv$%Grpf!CuTc@Ww5w=wCSeJ53=Tc{=S>$*h{UBf$o>n@ohhkpP5YnYif z2}lntO#|MbLpe&z3zh2?c9`BiJE`C9Va)T)fup@eJ2vpHgsHDzZvyQD6t55CQ;&l0 zWC#IS)a-|A1;~n6 zk~MFB_UG6b{H(^M4kYn{dYJ?NZbuPt@Vy$8^GA;NcD&z${_UuIAj#W$FKl)*%Vx;>)^qw z7ebu)g@h7cW&_*Bah?@duLdIvm~=35J?{)v_umv0F}1WV@j1C9^)MpXf zt=-+V#N{BsH@EpR=HToik$HXH-2PG(ZM+pZ;Ev zcY@KzZ6s~*vqxxhPh<(5^H6`sQZ!&eZJ+e*22olh`fDa{##}XLVE>u0!N0OMNaR?! zd=7LKv!mPZ1ao%JEiHknJ6)Ge1^PQFPMU!yi9Nj4 zbDNupp%s4Gi1o_j=f!8uxXJT=pHJuZdvUUf-@iRpzX0`8JF^T^u!v7WLc#^2>igd8 zG!xO&fkqGzC?)>eaK0pqdv=_(()T#Hy!n z2am>{*!=6FiS!102Zn#UHS-ArjnT*&$>p;PE(<0ra|ho6EhmYj^l%O=`#_Pncee>y z<)AunnP^$|k`{=`oy=;EoPEK|EC2t5lOA*~O1cq8MMuho9N=QLU{v#;v5>6Z!zUKiEKUp& zl#;Q{ZPXk+?NErlz!H})4#PBqyqnp?;T3_M%}br}+8AcynnF{ZUnwnUV|`%Yx~+uR zSZU#1)Xf$6FE3!Fl#%NtoPEuV3V3JxpH;HdCf^uiXHTaj``WH1DU8t6edTc#x7e~* zw2?`--r-zc>>5Q4&5u#w@rKDA>-O<6e7F4K;HooUS(zInZ>ZmQ@BGojIdWTK6=SKl_ zZPaec^Sc&xY?7o6rl2EJTC7j6%wl@SY^{`>>W+=qm-)<3F|mcH#v|*)_IH$C~V8cH;Mgl#(R5$2IMHF6y#t7j;c|ewVj+mMCs_ zyvO%(c-?1X4uvRSIQh+2)=dXTbhGtGB#HYT6s%aOTD1M?<#RM|4PMMyDAJ47=X1vA z_r3h6)nLtBb1<%uVyGk}!k;6FUFY~zVXN87oZ0)t=^%hYiD`jDZMDTJcrjI^~bLgSkQ|BU5tJn&!4uJvl=JFpVU>dubJx>U7a!$5$<$E_cmOV zcUk^km*TV7SZ)co0=+zq0J`gJ{pHKWgj8VckkFlD->^?8rITwfej|!rqSNMt*{!fJ z`EI@RniT22xW-7BVNfLRh+8>}N2XnT0cnXj=qTk>=9b4|t@ zV&c8gdC9GPlD>}{PVX4z+7bjsCJgVT+{)fPMfe)pugU}E90N2!d}s@Jg6QFnCa zyKYqYweN>q*Q^Q(dwOSd9dQBfwn{B>?4WkGjKCxcJ03FTM*2(* z=Z-;-RscC{VG#rS^D#J(`VR=e`1TnTyNr}}qorlDzfq8Kb{$VQJ6{uV!&}IG^CXFk z^E+KFZ*N@>>_c?gxg$T0TMh$*sI^ZN&Y>@&@Q2F>)T}`vGHY;C8igKx90G3Mr6bk! zO96%28ep$fKjj+am^{LvE1x>=;9xL)J%i&7^idL+qV-)JVc8hV|et7v~tpZ3ZY@Q(GDr-c$~*($j3bx zqY2UsLqt(W5S1W=ns%+HHEGG(9SOSI1ofee6 z8?Bwk?55a%6?eD{O$6RB;O??}$6okzg;zYrwxbfFLY~`mjAXryDNr5f1)aM-0)g24 zT>`iLT?`Ul@=f@06S~`v{s5B6mCdujXsSq~?P5Ri`Ey_b@!8HwMTl}`JOqR@Q<MODs#YD$89eSLMI{>*MCn$C4ST(z?x|lT*~+t}Qa+=s=%z>S zL!_vHK%LKwe%i8Hr>5)!6%V09%J=WEv8pkOU%GY-uAVrg-nLXom%nEV~t@wp%^>h8N%Y+n><}Z4ZLsf}$sBfi}`R3h7 zR#?LDrbUO02b?{2dPkW#z(9q((Z|VVx#?@R+Y$3CWuMIw%#zh!>BNoOv8x$eRG>*w z)Edo1Kc?f-&wg??*KWE^+6~PkdB3L*SQcpIv()mKv_|~2`8Ojd!S;t*)TM3QB%$bG zLYHBcsUfCZ)hfL<`qkt!pLs(VVRx$1{q?f6eB{-3i4zN@#rG#nIXUcGQpzGT4rms(T!-) zE=JTVBu8vvyKbv!YUGoNH-=cs%kJP0197c~`oK4X5%O0W|#|M5VV8-F@pqdq7fD2li5<4}%r zH_W2pWfKsQ1!D$E{Pe?>$sRIgg(lulreE8C6m-i(T4=>nm=~hPA4z{^jT9F;k}S73 zDMBy3k8mgwHLbgScREeIO3hGLpwDGFF7KM~x81BKhEyTFPkb@It~>cGb!yU4g!-53 zCZqQLc>B_^4b84Bh|Io{CSOx%Yeyfop!RFtBh8K(UAHqePF}TXi&DQlL zm}^@)7(7~&^CiE$dH1PoaWZuw&HP(!xixXhVn62?jiX4;kAR;V9MOs!kH7UL-`U3= z?=y93rih0ty%GYL$9$I7dwYu50@W#5{v!itSB9y&EG^O2YC;|ZgYJyY5!DaWVpM!?xrGg zS;>2^Z+C%TS25*ifWe*Pd-74Dw?gG}2Mk}-#0+j5`}rcNHbX&$Qc=A5@)uTPPkChy zm|nHzTyJ!+k*{gS?hhZ!i88{()~aFdJ)7~L1pVsu-HG{40=5i>9CrIfA1z84@s<(f z(yQKTw#^Km!oAs!p_F0R&C|){Doh9#(fDC@X{vkm>6==v>&?GBDOv28q#yPs*!FwY zb5LBZH)-vSoy!R1t-T@Og#ROy@{)8zJ^}PxVTylyhw=fCt#5EpP1p17a=*?%u=Q1E z7gFm$u3t}h$7gZmq%J)_rVKJK(|q-@D(~$;T)bGpd`afJvRs0|Mel>#!Yt@TS z-{f&cb8+RWUsb=b65ElM{(E3eWu{% ziKdn}h)AlwpZ!ThglLnICr(q$P*3$a9IAP*9dxz}vg2N210}R0i_uw$N4sL@JWFYwMA>X(6K6jmU z*V^k`TkGEb3+SGvs=BJWrrzKCJgzgN@FU2}PaMYS9pVa=kP1V^RzA|1^HYHxn27wc zmw3K5E(E*OG|{q%yBWLA{|HM;$4=j_!7NWmUE{oJ=G6Pi28n;b0Gi2dGSWHCxEj3d zNto^KsL|*TXu0^->$9zR9(3*aoOb6BF{%IR8frM(veCV;H7&l=ZlGh#59e^u(k)-K zZBs;VweJ+^HWU_UN$>zthfKO9@3Pmp%d0a;V_7bF8{Qm*IByJ6g0G6on-`pJD`4Z1 zZI~c6JFEK<=Rx>`K}&xW!jg?KP88K_HPl!giGp#yB?`8@RC-wP3p+B4)^tQbilf`T zy3TFph5L_^6NkE^bJ|g^`#2dJ0t^oY24Q8=ais^|`p(Q6)l72&63?+xj}pR+YU}op zsrN)&UEgXeN4$z5S}D-0u`qx4%ddj=RwZq7y#1Arg+xS>WIcwGg09_osMbgM@oagQ?exvW_64;;t}C zkU`gpd&QuGd)=#=(Ul2B-yMpE+4F4|U|ZP|pm&|R@X4k`i|&?w~?j#G5uo3Uu z3tukn%Lw2Sf)B#Kk!K!7%}$t_58zuLFAZ54x+)q}<|0ll_UTfrW`3ufw=(-Jq>EnH zl&oOUsXG2BMadgO#VC+#Y!UO9JsMD9(R6^!o#V!@GWnO{@^l0t9W6IQC!w(6fNQer-Gs>dxB z7J@y}6{RE5Fd4Dina$cTsis{-j8DYXUnH8~6#uMtyBl|ddZ@xt(^w?f4hdb>0|yb4 zlWx8*-d;UfwtQ&z_mWklkJ;3k{C*m6>& znq7^ez3LchPrKUb_>|I^G9OlWw)4r$jSKI&M8GZjF~gdbG@+=^L$veNR1kz{(k-sz zJN`HCq+GnA>PwCVI+-Kq58rE9ls?0>eY^F1`6?=QNh|9n-{udAH*gCzE~?lBGe7nQ zl4~W((+kZqdMteV}^zLb@Exw+><{=w+k@eFOo1L&> z50PycMyf8|KFX@`!_}df+gmz4+h|{Cx_tcay#NpF*~{!MHmQq>gqLI1FUQ143_dgY zZxGe(jb?YvWtJVVRewfH%^;Y{@9HSOm3EEjzuEruft@}{q1PM#Wwa`v&u%tNQEhqE z>nADSGdWCP>OX!hKF=QF>(svNgkJ}QJQz9=>Sv=XhLSFWV42=??QFv&Ri<9f@DFmt z)}*a*)~*{66~2+C51qF|1v|9rX^ZN0x*&AC<5PAz(z0qAq=GMg@Y|Ro5|BRY_nl3M z)So|h+8R<5un7b6NawurN_uP?RRSre@;P6}X@%rh$}sR1Za6q91n`O)rS^Ymqy0(O zwtm2}UJTmrFZ+<@5M?_XA=ZAobgfQ}&~&`CC<4V2jpc?GKrczVd5mjk2-7X4D)8=5v#xTfIVX{BkL>X!zcN%n38{^|+Y;IB|EZq8W zy3V9E`+6x|J|QVF3XbVEZ)sKFH=}ZTFSPM0HYUIo^!eQs^*C7*kkLiA*`M0zAPVjW zIsU2fVKtHpjPKNlJ(cY*f zo!_0=bx$5g8OeSTwgaRC?d(sgYr}Qjj%>Y0oLUU0b*9!GVb9u6lEOhcr_R|lPBS`V z4_u7kWtF--)}uNOZCwnCO5yk#0u=l%$@*CuUKeQS3UdcT840YkH(w>b-hppbM<(x^lWMCeN(H)6{3eI4KY&JugGNy+ zL5(s|cq>*+OM_CrpxwDw6fD*BA<7mRVUR9OPTJE>dVfQPP+y_Tfu}3&MngoH+h~67 z!l9sgI&InF!c=tfUD@g^nQoCQ>64 zmj+z3)?MbWdORE1yd;|g{DVshC<+s4nt`sGch_G!+dt3Zo+Po7#bKCVJ3=T4TT-Z2 zzR6r@z3+&2h5AM^_k-5A4%J$A8Vp@b@0K6XAJmmn3-vhweYX4w(Y#@HPpvL&Zk&Fo zxgzXmZ?X{A2Uf+vuWE#paP*6ozUV3>47mpS4)Nf~VzJ~sD#9Yd>}k5Ej9#QzlIU1T zo~_+@?{yHL*$;B_N5>9K?zP-PQw#c_+G!3`m~aTCMD5)CT0bVy3_fyS`JqV}^Hk3T zU~x7xmQ`?WoifV2Q6*~E&)#dH8U1?jMZW!d`TQ6U8cDV4|2N!y3)(?=pF~K=w;PiW*~s_R?1}Y7FptDDxX-d?`rSc zeh?R3FH2oYaQF@)=1q@A#k0iuc|f6+)AyZSzBQ{XY-wEp!pTte7{i(YUh$el#Su*~ zNJ3IYHAk($ApGS1A7x-46L&8wdqtx|VL8>_#S^Dus!ab|6-7)a<~JJ}r4`|iA!sWW zdX~xag8Sszhn_YDES5v10cnjI{IpTQl6I|{h4I(23Oh4Z5DqHaTG(nk`EdTd1l#Vq zqa0p6Sm&~=b~378;CsI%XA_%#;*e$jn5K-Xi-#^6;u%=Q@1(&Prhw&&gLz;ORZ6@U z_Dk17pUxaQrdL5L-`o_xX-OvP5-M2B=kYZSXRw3An=t=}dhgcl!O6y-W%<-NpEL)y zHFjg6Q%6LwaZnHi7dHzdJ#CY`S%G~FO+ta-eAZa9K=uG28;mU3R8s_Z2mUe=67YHi z&)4q`U3p)}CxZH67jhnw4*LA{-ce6@&qNio2MXFstlHbZvE7hA{j6#2=Iu1=nDWRE zapKl9@R~~DN^cvC_He)5?=<@v1JIe3XvD8fR~^~4+MvGPeD$%Qso@M%^xmx78`wS* z0H|(R@a4|c2O&2u9_yIqEZ$j$ZptoNi6kVBE?5ajszKS884q)deyA6yf{<%mrq5ZR z70=~1#>8m_f21XKH{XKAmouP7xx5mP-wE=SfEB#{|goSK&313Y&HR`*z1+hJyx z%U6fLw1PQey~)@vd&r*<<|87wx!6F^to8nODK#Tg3K={w+F; zo6kBz*Zazm-!9K!CL^ZS@oGdx13mvn z(hW8_fwq@#0TEPWREqK4EmIxSU=CY6tF};jST{BxuHu|y2h|qSf>dPOQ-buFF{nZf z`X=Lr={Y<0wyM@-2yQv4hO5fBYBs>QzZ~Lge$MHgQME;Qa4!>P4c|p7fa@HDXv6vX zlHySUjeOwcaS4dEh%X5Aam(DcnrP zlTHEEn=Z2#W?H)9Iy$Y95Xy#fSI`^Rld|Zq9D#zPd*Bd|#5#zsZI9cgY~`IY>q&hKJm@VlZRE$L;rA*>3HBb$Y!v6N`o&>(;vaOaFz7hBc{S16{LTzSJbKSKpp_TgK zH7C%+bFf^$w+_CV#<-1|>^F{OBP+PjAS-NNGB5rp3P-}x5P|Bf>Ee+;qJW%0}1cFr#Z zUNDJ@>+*O|j-D$ER-#NlZCs)| zp{*17R(h)s@_71E5(qsGe<(bOk6U&m>cX*T-aO;(`A^ zWqsc}U&;EWDU}GRW6c9-8$Odp?VexHkD4M%;ltQ_RW@E_zdFM=^M#k79@$}59$1B; zPQq_$oD{T;JwCn2d|Kvlr3TDTOm-_j-bL^CmuQat>SSF|S7JZglXtv%3l8~(@&IFB zj*ZUkf1!n!vz3 zpgVUfSdG=2U+Zh*mtnks)C|dBB_(%MWkJ_Ar)*3xuh6%lt@khSF>A+%$arppW-u|0 zO`)?iWdc7pc@ed~AJShd~O zx>gI8!vHD1+(7;=FeZ?R?5xYz%4zn5@JNn)<28#wzX0|MWP_6Dv#wk z)j&pgw6*2|qMps=<%sJ;rU4~Ml?lI4C2>o;dUA%|T=iCp3N|H`yn)Q%psgRfP+hL0 ztl@9f(u`#{`;zM1tvy@`z$1pU)&>an?h>%Lo5Ui|!$W@lsGJQu59%U$4#z&g1Gk}se_;ERP1Kamzs*lCE;Ab<#?;P_$P ztnU%faRY*;0Kn`6jRKP4lpxqe(Y3I^oV4q{V+%lBnjC@=HUbXqRrk~TxHJFu2Gtxm z9LU*byxP~QF3ifxa+!hH;{rQh<0m&$#`?CLO@8Hmnwr)vvAai{ZI6rJE}8tz|7NqpPK*^83&XHFbpMd2sK+- zM~glfNV?)}ZmXW3of$czf#mEz1p&wtK*4QH_$TIaukLp1xyDa`5ooOxCT{;auJc;! zw`!rMjE&#b=>k}Um;13$F{V&-9+bq3cON{k0(>lU zbFZ$NqvDGO6!NzHx_NE_wPoQ={)tCM=D9xH+1%V58%ubV&Cl2|-?F>tZ%#k%b8mk)h6^cR^k zW&e{G5S@{sRRWlx&3H%tI^CjDk+c>)XBA9+0l%YbHbN31ExSdF zev49=D$LdN;zf9HSym9-%FZ5P04;Xmrb3vOi00CpP#P#ZxJf^6=bO4XY6idsOxa#MSRZC0g zOHDk@>$Dyn0)IS>xuE~nn>U~8>%HyO2ksQnVW6wXRs(Z$a~vF;E7+=^CM}K1UY+U= zQ62dr=6Ul?oW@Jj*6ChJIHr86axw z`=qcCF4b{%UjApe$^e|pDa+Lmk2nu|P_&M|0c^x$VL2wr=ER9U0D2MP#>A=ZEr1`v z@}TEmh#tI`><5fFX(KOb*2Q^9f9O&tlav zG0<<%p_53~JWQkgf(#;WV7}~Nj{lN4d85nss_cSy+IRU2zgA_>%{6@{DQz?-lGXvn zM3rW!>;8^+|9W50Q;_)m)`T&wl z|EN`EI}9#9d|D3F&UgPku(2J-MdILMVmiiu-pgAOJVp|43H)kI>c3kXqGB1Mu_3H& zESSvgbAj)-O0e>Is%LXE*C-=cT%tT>ajyDS{vmfz#ISkkU`~%@7@=2=#C-YEea=@DVaE5-HaMfInvS^ReM7Mv7a@LLu4d)TX&O~jFe3VOPOK-cgU z2FC5{26=~9mebWvq%IWD5pkNFzC;1bz1;pGkp%1#Ramsh7W1n_QHg2v62}oB1i;;- z?LoiTYn;!HOY9Wzt(4N!?1UcqwZa5t`S8*^ix1stYWj`IU(ZrP_+UM_6o)@9ICrAd z`nbeNBk+C*7xfFble6~iBr98vOx5^Sr`XMWMYzK`V?wB?!T8U${qO!kiUOt7tkb66 z$KU)Ds@j+1Ca`ys%eR$i;fd#gYLt==(q_VyoAZHj_+O+w z>~}NP(yXDPGXC&+lNiX0bb-o)`4qv1L3p|b_KNg0@2)gWHIuW1&J{?e-3Uxzyq6a2 zDb?uF%Wi9Ys+NGYkQ5v3^0V@+aL zJE{0=-YaKLs3$|vZlg^;K8F>ZK|DV3F{XA98mg|*^SyWN;A>RZNJX>>xunNdv!^Cu z@83Tpu-g04|9SIasYTo@4^MA0>wc4yRIIVFL~o)9`>>8vuDZ1rOl`uAdS`~FT5i_jbB5iDWI<2X+U4&AvWtzAfyJiG1h4CP!BU~M_d-< za_%$^3>N7@2q)s}ejTe+tzZ}yI8II!>hcshxG?w~diO4G7)-HU|C-Byf}{>(Q_blj9HaMZX{fBQ#d zMvn&v2WVC-izcw(QqaY4dp>h26rNIlxs-8;#BuC=SXToDW4=yvtdITp$b7jtlj1gWC?$su49DmN}p^=Jr7@ zlUB=XZ-=IO7X+mMQo~6bcAQ}K6u@i73shW~T#hPxb?Mb1ZifZK{#6qi8zq+6(u9Gk zh2M8WBco8VA<#~pIT-&G)0nH?-UO+qg*L3DTa4C2cN2K{W~L_xd4$2nL$t`qQRWJ1 zyu;OiGl#*<{AIaj0pJ~Ko19>|h1v@D`TeWsA@W?_upqav{2V_@;f}LpUvN0W)J(eV9U7g%5_I@n($(_tRj-v`>>9OZ0y>|FEw_LARzb~L_V0^r; z*gXzgm1jL*VvS0Jln2(8`1FTe(IZ3CUfCFhuO!PQid9nz{N?$Z{E>@WapTJdz#Hy& zn8QzAZmV&oOEl1mbHu>wvPQn;XBoX4?hO5dytTC_%RZe{T!FX~l=sc!?UVCfAuCTw#^>=?(#Dk;CM?w6zQRD@^(dkG}y<-c{{pHA?@AiEG#~hqR&3jTG_(> z>!ZNY2Dg(cJh&F8y?BLV-AAVkT7Y(-4l`xZigkK_QyMJ5r$MJ3qf)bOTdWOPS5b}n zs=?b#rNinBJoApH?Z67%x^~yyCfxci40y;F#MZ86*6Y=`QbcSQWk_?f-hErt=pIFJ zzeBjAf*DF}T&=9v+ip!@ZzmgqxwwDE*IB7JgI=#YiYn)n{?^f}Zl(^v;Rp|ToI=^9 zd2nVKs`Q{OrmrD_=FTuomkSz9vbM%#y22@4V>8-;mclJ`|1Cky!PQmi0@)f!p4KS` zhOO7=Hy0TSxc5j~pYb+bU;X?+4AE_;k$HovIH<0%+BY$rs8*&h(}v^W#kS6&of@9P z{8r3YkhSb2>qkU4F}0ZS&lWmvTkvSV{j^k#S)jTW=d)$B6M1WQ#2F9 zSQ5*uT_%s4lR=BnJ8O$FPfKs7XQAfY8W8D=tLoC+`x(AnY4~RA=j@cgAV?Eva_3P7 zx%$1HpO2`p-GvIZDat`GWaAfOE6r4^~%jS=8c zzm18k&xM_yXVs)c6hVpTzO5ZZ5FsN<22S`M0c%t&Gbth= zMrQYD;15`}*ft7RtLp#R9yGqfAM;+a2&x*dA2^{S!8UtPrb7|we=-)fC&9YC;l=3= z&Vq8;pbHO2gAu-0Dk@Jm$jrOm3cJ79k)MgokO+%W9YMQORd>V`Y%f6f<3H&-=>sxh zsKjDqXor!Ys+r>quFxcwPUesrKF^GI1kXG>UESc;LFk1N9Hk|vYQR&?IyUiZA@=s% zTg-B7r&QUb;Sw<@V@&>zGZtzi;_ZVz0U7VbcQ`URteqmU3qH+9zHu*H)%k;B&=zUB z_BdLZuE1;8hw%Klk6pSmzKxU&TX}5k1oPle+#gl#kRoLEcG*p*3D(v5JvHR>ySJOt zN=TLUB>8Xj;^aKdx@J;YYGl%hVOdu?ryXqBX3dlSH{sDVA(w3B%QCq362v`o$Teu_ z=AbaJKI!{b);$YQ*RE5BPj|l)NlkyOf~q2glx|qLsz}|i{RDg^4a5E^o{e%VMk?j<||OmSq*C7r%o1j%{r{zqU3Y z%|4)oju6uKAFmd8fezcFJy-*EoM6ObDElM^{_$OKWRqK z=h?^CYjl*}(Ow1B@V$mRhsz^kA!Nja&!pRG!F?jfoc=X9hX=9xJF_m_V*;w-<}(YePh17u_&?L4Wjh)lQjY4MhtusW>Z(?E%gsq&?!b+ zyz-NeA3q@_v2{1@llJ6%mcAyxLTCTE1?N+-=Qsk@d6!cyM#<=Tmlsv) za?rC#@@XKuR8d~#$AD#s%~{{YLhKv60jiR5vV8r$FNJ^a1N;-WF)9%vV|VyALZr~m#jtlR zWiorMdTDFOsbD!)wwyuj=bC1XZVjT;HP$|fdPn}vyptYOvVEcCyauM^{|6h0O2*>ZOi4teS!%yF{eSiFF`gEAMZ+1fvB5Uw*9*!tPbk;(W5=PO~ z%A8fak#&PJN?vCQH6*)*iU_TwWK^b&y7Cv$NMEdOWu3)RNvx0cgNF?2`}*xc!Vs0qP;izWx?$fH zs6y?Rr@&`frnpISVsaT=2H#JzDponDHl&~}k?xR9naOfcYq`AHC#-rcz^4L}L}N(j zehrAt^ZGEMTW|R<<0R6Hf~nZ$&E6V5S$JaTyETe6JqnarBSA={t28QbuV-oZ!q}cJG;>Z49T!#HKP7mA6rKU+gv$l7qiQdY)O6iYi_a5(7K@hCOypn0 zm}{9KzhUE=!Y+-pKB?rFM;nFdp zE~@6OTz{=wB_1!yQ;SAG!RvFGMt<)o%vkiIay*ZM@@&u3foO>`F*rI__?_Ah?@nYw zR_qWu3%s8d2G(*Z(kRYr)PRGs4nQki<;X6s$bk4~!9!VQ0C|i)&e>Upy_~2ynj7%q z3*7SIBJ1SSW_jy(KtAZGwui8+QUWm+mIs$R2nU};BV*li?(>fqu#gjN&4M8O2|N-A z(rkx`+nc@PAj`-CoZ}5O8~V|IC1S{}m6R&3Y4+YqAe}6$ez0t@HQd8#O_Y}2X^uEh zCbtk{v)S@U?jgV?^!EHYTztTE1%sG&CXf2Vjrif_t%K70@dwfKCls5`U|6L6se+b3 zm*u*7T}5|6HFv5BroSX}m2$hi2P{yx}t3;B6U1 zIf%$|zUZp*xzPZeN7p~x}Q#0GrE}h_3*VFi)umm%vWe*v34(NKT9n1e{59^VSQ;2^b8BW z%TIjd7D~K&8^0Kr%N=y(pL`$AA{%jjVX&_KMxi)kI4fiLVr1C-)D7GIeqq3d)xJdx z()VPPdPCsKDZ3Y*&9M6hd$zMjFp=N$po&Df?i%3qJ(xX0u2P_?#X3-*fB`(Fsmr#L zwDUmx6H0s=*TBnLwt>l}Yt3@pTabwO7huqnGzdx01lT_hBo(&Cyke*|Ru3`%0C5@P zYC)3|4MVJR5XU4!5$XNj>$v$)aw1DjlzyFy6$j(w>w=(A7(!gdeY9s%`HPAeKayo# znKKCyqwX_}mfUK0X7IN^$|^%MY?}6M@yM_o(Xxy-YhaU6Amz4iUbmeGR#&OBY%!E9 zxkU5F0wOHMmmu>W>Lfwkr0WNPQU!Qx_tL^{P=j3ediXjI!~K-na1aOtSK>lIQrHT< z+2icci1zX9>;7vSQ%oJyp9O_i23MO6Z=l2E+(Sc{zVMx>dBy8ma%mKj(}s~P#H(LW zJb?*m(&YRgRQ(pe5haUKrAz|jC)CLuM5I<0ix%X^UQ9aaK#7GuX4x%v=zdAAl*C5uxr_eH=Jm)|Lu^G| zDo=B(fk8+5VF`JfUvgw*#b+ju1pmRUta1~f z4VY&y29T{>_Z%qVW1nVH=TkTe1X)INH=CbEdKD#3+O=f3?@XCY!9Tq?B8B8bl}o=u zGo*-MGio3wBZm1{j~zLMDV8#e#L!Yn{4Q-rJ&GOEzS{>7XH}+tw9*&4m{j>#J@yT+`o-%Zqg z8|GYz4pk$Lmmv00Mz<-lc>GMf$^Q)0=su?JaMp9*KE+nsm6qH0}lFajQ#DWin7{*F8WW2Qt zAW5GeCrhuCeSW|=WH)nB^U4Mw3*l7nb9K2~lq`&Xu4#KjZuMJ~m*qWp$lZu2l(n02 zW;Io)xa%T=K>Hsc_D0iC80bVx)-l~fI|e?YZOtjM-h0d!7-~3}UbbEWg&`GmpZgzX zz?`S{Q)dVm5a~Gf4Fh@klC9!j0%!gp9EqzfcaTzz$IfZ+2}i~!MA}YQjV!xXP#Po{ zSCC)+>%~4+Ki5?wpQOhBW#Ej|tF>SV!zP@?A5KtgmP_Hz&o5bT0o}2h{Dqen(9;8M z(MM;UWD*B_l;95&Cni1X}aLOJ8QSKB5Ny-J46+&8} z9GNmQ(n%J1{0F;(1QQ7oLr? zXw#&XU>*o+OTu`|@eR>rNU+9~wPV*y-6DHD49;-@Q<`E?X6b&;QeDIXOieOFRZ}MB zf{bift3rZC_^)SwXy)G!Un1`+y>wZ6pQhl}lN$O@cjgpH)4$!B$Eh0{y80vb?GD+H z3MH+TAoSj*#!?j@-JlCXGfX z<4O(xFmC%eQ)hub0gJkMG#tAcn|wgh@$vV{Nr3LV?I5^p>h|sIR=;Q|F3sovi)*y$ zgvOG7u55lp!C%W+R5gm~=Wl|3f3#%4c2|g|8KDX(LN)6zXr78KB%`;g(G9a$0 zm`Fm^E6MPIwB&=Wx6dStW07OoikQ)|z?dsl#f&1z6ec&_(gT^NB>%xf6f@A)Icg~- zKmM3V+tlnmv)K<2jO3hOfU6N!j$=(L@)b>r=UUmXyZasrh3B~<=@L}%@=C1Gf4e@P z)&J%CTw^3;F11%sCCqJ%=)ubdQNnuiRF%SDHRMN@FTfQku;GIB5;UiAmd3D^BTTh+ zqsqQsCs#XGLL8NTy58kIsvv*gBdWC19Znc~Qj4ant+{xu!n&z)&6CIO7ABpbP$Yi$ zu&LDNc391&sR&v6t3qySCq&3z>khL!OUp$C0x)fcZZRpTPZl602^)^qhYolAuCR%d zgi^VtdknX?W~SdTM| zcpc{hUSh4g-{QON)cDNz$7-H$iD0vjSS&P zCI^LuuI#6Q4l#RMTPE)wIfuSj(;yLLo`}vShf?zwC{*E%`3%2Plv8F&XWqs&{sTdS zD}1F1F0W;BpRh>x%n`0_@W%w2u9J41Aa1o@x9mS+Ef0yTgB7Zf3Z?J3A;|E_NplI~ z33ni=%w*s`0jW-UbC64M!i4$tCyD|56D(!xvCCiVPwfWyJgQTKqHz2X>x~I1LOQ_# ze;YkJj`6!*HV^aqYGcw{~+5uEs{i-vz2!CPcFpvbYuYb zz5Fk?=VG=dD3Ljokt@+rp;#Z9{A_$A%P~^XK@mdfU#?VjA4#ArQRE?$I}djlH#2_%07=$DS2vIqcCo;~!06qEI}Lr)$Sm1r_+U z{nD~+MqxJDZuQ zGhKad8Zrm9$<~*@w`~WuQhC7lY^R3iEocGH=f4t_etBo7_Z-c376i$rIA}@Ag={ma z;#pN%Nh{Cdo|dzjbJ)Oi8;%Q6C00Bi?%>FzxEwKmcvBabvR|6GY9};(u}hvlwUw%7 z=4XIom;DU4;aX}15Rml^tNrzd$T-)r(Q9hbQpW7E{X21e@cwRbo$NDnp9Cx{Z14xM zH_GCeJG`zaFDpAh)F>f<4D;0I?NUjA`5&N}@F$v_G-44W`oPYla)1;AfXE&S0Ct#v zV#&P*#k|+a>M)^SIwMEX{Et%b45jttS)gHwQ7+=ak_%+nk#|H_5gF8>-nEu-2ZI`;{PT|0#t3fe{%9le8e;G z7})9d2J#58`T!jybtb|qG-7H}(i2lT-w?a;W-@PYZ-9I1lRe-_vj=bXL(f zZsU?Y13rNDdIIppmCjZQ8V!2<+dWg+}DHNpM;k6>e%i&6swr8Je4US9eD z4&?RqUb_KLfO2R@)+qwSQAq9W+qbWPpSyGJT;bIdjW zJ7lUb|K|VJ4i7vr%<+FK&;<}lSLOT9JVpOaHthf33TR1JjBhUH_%Cr&S9kb7d@IE9 z@2`K6epu6^z{?f@$bv8_-=3S~;YCF@z^f8dOke9#%|c+2fOx>;j*$jLbb99$7b{>+ z0kUvRgc80PN5E_`_a(#{kP8GP?=WXlkcT`nW_F1kdJRRCQ z_<(UsXOn+X5i3v@)Td3aGf>&Pj6cPRi;f{i0|`9&=(XjepO1k;fj7O3LY@P@EWlis zo_@8g@eN#(PtVG#`dgiC&h@c`t?jQoB|2FJYaofKR$;-js2zQ zMpEb;CdFrz0}vAQmmv5e!Ang08r^K^V`&6b?vm?lGi=gH0Xq{cG#MLidqdd6FjmY` z5s;OWz;D^jzAmAi(Z@2yEA<@fHF-OSgt1tQo!0#{%&dnmvR}1et zVE)R>iWiCtlzlb!qCfJgaz!GTzXRUQK*syk5C1RC#iy4*l`k*x$m3{$A8upT={K;z X3GMNn8k>8V*7zVUD+YV}@$-KJi}1W^ literal 0 HcmV?d00001 diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png b/specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..768b12cdd845ed671b645433d2af734d65baedb9 GIT binary patch literal 123695 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 hfR?&>|92cDt3-_h{tsrG``G{h literal 0 HcmV?d00001 diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/source-audit-summary.md b/specs/371-core-operator-view-surfaces-productization/artifacts/source-audit-summary.md new file mode 100644 index 00000000..260c61f0 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/source-audit-summary.md @@ -0,0 +1,41 @@ +# Source Audit Summary + +Verification level: repo-verified for file presence and existing code paths; browser-verified where Spec 368 screenshots or browser notes state browser evidence; derived from existing implementation for productization recommendations. + +## Source Inputs + +| Source | Availability | Verification level | Use | +|---|---|---|---| +| User-provided Spec 371 draft | available | user-provided | Primary requested candidate and page-level requirements | +| `specs/368-platform-ui-signal-to-noise-browser-audit/audit.md` | available | repo-verified | Audit counts, top findings, prioritized refactor candidates | +| `specs/368-platform-ui-signal-to-noise-browser-audit/findings.md` | available | repo-verified | Backup Set View finding `UI-AUDIT-368-F04` | +| `specs/368-platform-ui-signal-to-noise-browser-audit/page-scorecard.csv` | available | repo-verified | Scores and target pages | +| `specs/368-platform-ui-signal-to-noise-browser-audit/spec-candidates.md` | available | repo-verified | Candidate B source | +| `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/screenshots/admin/005-workflow-surface-view-backup-set.png` | available | browser-verified | Backup Set before screenshot | +| `specs/370-global-surface-information-architecture-contract/artifacts/surface-contract.md` | available | repo-verified | Decision-first IA contract | +| `specs/370-global-surface-information-architecture-contract/artifacts/page-assessment-checklist.md` | available | repo-verified | Page assessment checklist | +| `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md` | available | repo-verified | Current UI registry status and fixture gap | + +## Key Evidence + +- Spec 368 rated Backup Set View at 3.4 overall and identified lifecycle, timing, related context, and technical detail as competing with usability. +- Spec 368 Candidate B includes Backup Set View as a core operator productization surface. +- The broader user draft includes six surfaces, but the completed-spec guardrail requires narrowing because several named surfaces already have completed or validated productization specs. +- UI audit registry currently marks Backup Sets as strategic but fixture/browser review constrained in the older UI-013 record, while Spec 368 has a browser-verified Backup Set detail screenshot from a later audit context. + +## Completed-Spec Guardrail + +| Related spec | Status signal | Treatment | +|---|---|---| +| Spec 328 Operations Hub | implementation close-out and completed task markers | context only | +| Spec 330 Environment Dashboard / Baseline Compare | completed task markers and page-report updates | context only | +| Spec 335 Restore Run detail | completed task markers and browser proof | context only | +| Spec 352 Environment Dashboard guidance | implemented repo-truth map and completed tasks | context only | +| Spec 367 OperationRun actionability | implementation close-out and completed tasks | context only | +| Spec 369 Baseline Profile detail | completed implementation tasks and browser smoke | context only | +| Spec 370 Global Surface IA Contract | completed preparation artifacts | consumed as contract | + +## Scope Decision + +Active implementation is limited to Backup Sets list/detail productization and backup-set browser proof. Other draft-listed surfaces are regression/context only unless implementation discovers an actual shared-helper regression and the spec/plan is updated first. + diff --git a/specs/371-core-operator-view-surfaces-productization/artifacts/validation-report.md b/specs/371-core-operator-view-surfaces-productization/artifacts/validation-report.md new file mode 100644 index 00000000..c69df931 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/artifacts/validation-report.md @@ -0,0 +1,77 @@ +# Validation Report + +Status: implementation validation complete. + +## Repo Safety + +- Branch before Spec Kit execution: `platform-dev` +- Active branch: `371-core-operator-view-surfaces-productization` +- HEAD at implementation validation: `c36cb437 spec: add global surface IA contract (#441)` +- Dirty state: expected implementation changes only. +- Branch naming deviation from preparation: the user-provided draft named `feat/371-core-operator-view-surfaces-productization`, but the repository script created `371-core-operator-view-surfaces-productization`; this implementation stayed on the script-generated branch. +- Completed context specs `328`, `330`, `335`, `352`, `367`, `369`, and `370` were read-only and not edited. + +## Gate Results + +- Spec Readiness Gate: PASS. `spec.md`, `plan.md`, `tasks.md`, checklist, and required artifacts existed with no blocking open questions. +- Implementation Scope Gate: PASS. Runtime scope stayed on Backup Sets list/detail productization plus tests and registry artifacts. +- Completed-Surface Regression Gate: PASS. No completed context surfaces were refactored. +- Runtime Expansion Gate: PASS. No migrations, routes, packages, policies, services/jobs, Graph contracts, panel providers, queues, schedulers, storage, env vars, or Filament assets were changed. +- Post-implementation analysis: PASS after one bounded fix cycle to update existing BackupSet test expectations for the new Spec 371 labels and hierarchy, plus browser-comment follow-ups to remove duplicated healthy decision copy from the detail header, usability fact, included-items summary block, and false Add Policies environment-context disabled state. + +## Validation Commands + +| Command | Result | +|---|---| +| `cd apps/platform && php -l app/Filament/Resources/BackupSetResource.php` | pass | +| `cd apps/platform && php -l tests/Feature/Filament/Spec371BackupSetProductizationTest.php` | pass | +| `cd apps/platform && php -l tests/Browser/Spec371BackupSetProductizationSmokeTest.php` | pass | +| `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=Spec371` | pass: 8 tests, 92 assertions | +| `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=BackupSet` | first run found 4 stale assertion failures; after updating existing tests, pass: 58 tests, 475 assertions | +| `cd apps/platform && ./vendor/bin/sail php vendor/bin/pest tests/Browser/Spec371BackupSetProductizationSmokeTest.php --compact` | pass: 1 test, 31 assertions | +| `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.php` | pass: 5 tests, 42 assertions | +| `cd apps/platform && ./vendor/bin/sail php vendor/bin/pest tests/Browser/Spec334NestedFilamentContextContractSmokeTest.php --compact` | pass after updating stale `Related context` expectation: 2 tests, 25 assertions | +| `cd apps/platform && ./vendor/bin/sail pint --dirty` | pass: 0 files changed | +| `git diff --check` | pass | + +## Browser Proof + +- Fixture: smoke-login owner/manager user, environment tenant, healthy backup set with included item, degraded backup set, and linked source `OperationRun`. +- List target: `/admin/workspaces/{workspace}/environments/{environment}/backup-sets`. +- Detail target: generated Backup Set view path under the same environment tenant. +- JavaScript/browser console: no JS errors asserted; no console logs asserted for desktop list/detail paths. +- Duplication checks: browser smoke asserts the first detail section does not include `Usable for review`, `Usability`, or healthy `Active` state before the decision zone; the detail page no longer renders the redundant healthy `Usable for review` badge; and the included-items relation table no longer has a preceding duplicate `Item review state` summary card. +- Add Policies context: in-app browser verification confirms the `Add Policies` button is enabled, has no context tooltip/title, opens the picker modal, and the page/modal no longer contains `Environment context not available`. +- Responsive proof: detail page at `430x900` asserted no horizontal overflow. +- Screenshots: + - `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-01-backup-sets-list.png` + - `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-02-backup-set-detail.png` + - `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/spec371-backup-set-productization-03-backup-set-detail-mobile.png` + +## Runtime Files Changed + +- `apps/platform/app/Filament/Resources/BackupSetResource.php` +- `apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php` +- `apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php` +- Existing BackupSet tests updated for the new labels: `BackupSetEnterpriseDetailPageTest.php`, `BackupSetRelatedNavigationTest.php`, `BackupSetUiEnforcementTest.php` + +## Registry And Artifact Updates + +- UI-051 Backup Sets changed from fixture-blocked to browser-verified. +- `unresolved-pages.md` reduced the unresolved/manual-review count from 28 to 27 and removed UI-051 from capability blockers. +- Backup / restore coverage notes now distinguish verified Backup Sets list/detail from still-unresolved restore runs, create flows, and richer failure states. +- Spec-local affected files, page contracts, implementation notes, screenshot index, and browser report were updated to match final implementation. + +## Filament And Deployment Notes + +- Filament v5 / Livewire v4-compatible APIs only. +- Panel provider registration remains `apps/platform/bootstrap/providers.php`; no provider registration changes. +- `BackupSetResource` global search is explicitly disabled. +- Destructive/high-impact action paths were preserved. Existing archive/restore/delete/add/remove semantics continue through current Filament action handlers, authorization/UI enforcement, notifications, audit/OperationRun paths where already present; Spec 371 tests assert archive confirmation, readonly blocking, and wrong-environment not-found behavior. +- Asset strategy: no new Filament assets and no deploy change to `filament:assets`. +- Deployment impact: no migrations, env vars, queues, scheduler, storage, Graph calls, or runtime infrastructure changes. + +## Known Limitations + +- Numeric Spec 368 page-scorecard values were not recomputed. Browser smoke validates the target hierarchy and screenshots instead. +- Backup Set create flow, partial/failure restore-point states, Backup Schedules, and Restore Runs remain separate backup/restore surfaces. diff --git a/specs/371-core-operator-view-surfaces-productization/checklists/requirements.md b/specs/371-core-operator-view-surfaces-productization/checklists/requirements.md new file mode 100644 index 00000000..0840c310 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/checklists/requirements.md @@ -0,0 +1,51 @@ +# Requirements Checklist: Spec 371 - Core Operator View Surfaces Productization Pass v1 + +**Purpose**: Validate that Spec 371 is a bounded preparation package and does not reopen completed productization specs. +**Created**: 2026-06-10 +**Feature**: `specs/371-core-operator-view-surfaces-productization/spec.md` + +## Candidate Selection + +- [x] CHK001 Selected candidate exists in source material: user-provided Spec 371 draft and Spec 368 Candidate B. +- [x] CHK002 No existing `specs/371-*` package or branch was found before creation. +- [x] CHK003 Related completed/validated specs are context only and are not modified. +- [x] CHK004 Scope is narrowed to the remaining Backup Set productization gap instead of reopening completed surfaces. +- [x] CHK005 Close alternatives are deferred instead of hidden inside Spec 371. + +## Requirements Quality + +- [x] CHK006 Spec has a clear problem statement and user-visible value. +- [x] CHK007 Spec includes functional requirements, non-functional requirements, acceptance criteria, assumptions, risks, and open questions. +- [x] CHK008 User stories are independently testable. +- [x] CHK009 Out-of-scope boundaries explicitly exclude restore/capture backend behavior, migrations, models, routes, Graph contracts, and completed specs. +- [x] CHK010 No `[NEEDS CLARIFICATION]` markers remain. + +## Architecture And Constitution + +- [x] CHK011 Proportionality review is included. +- [x] CHK012 No new persisted truth, status family, provider contract, or cross-domain UI framework is proposed. +- [x] CHK013 UI-COV-001 impact is checked and UI/Productization Coverage is complete. +- [x] CHK014 RBAC, workspace/environment isolation, action safety, auditability, OperationRun semantics, and evidence/diagnostics separation are addressed. +- [x] CHK015 Test governance explicitly names Feature/Livewire plus bounded Browser lanes. + +## Implementation Readiness + +- [x] CHK016 `spec.md`, `plan.md`, and `tasks.md` exist. +- [x] CHK017 Required spec-local artifacts exist. +- [x] CHK018 Tasks are ordered, small, verifiable, and limited to the selected scope. +- [x] CHK019 Browser proof expectations are clear and do not fake blocked verification. +- [x] CHK020 Preparation can proceed without unresolved product decisions. + +## Filament / UI Safety + +- [x] CHK021 Filament v5 and Livewire v4 compliance is stated. +- [x] CHK022 Provider registration location remains `apps/platform/bootstrap/providers.php`. +- [x] CHK023 Global search posture is explicitly guarded. +- [x] CHK024 Destructive/high-impact actions retain `->action(...)`, confirmation, authorization, audit, and tests. +- [x] CHK025 Asset strategy states no Filament assets expected and documents `filament:assets` if that changes. + +## Review Outcome + +- [x] CHK026 Review outcome class: `acceptable-special-case` because the broad draft was narrowed to avoid completed-spec overlap. +- [x] CHK027 Workflow outcome: `keep` because the active implementation slice is bounded and repo-backed. + diff --git a/specs/371-core-operator-view-surfaces-productization/plan.md b/specs/371-core-operator-view-surfaces-productization/plan.md new file mode 100644 index 00000000..ab2e9c5d --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/plan.md @@ -0,0 +1,228 @@ +# Implementation Plan: Spec 371 - Core Operator View Surfaces Productization Pass v1 + +**Branch**: `371-core-operator-view-surfaces-productization` | **Date**: 2026-06-10 | **Spec**: `specs/371-core-operator-view-surfaces-productization/spec.md` +**Input**: Feature specification from `specs/371-core-operator-view-surfaces-productization/spec.md` + +## Summary + +Implement a bounded Backup Set list/detail productization pass that consumes Spec 370's decision-first IA contract and resolves the remaining Spec 368 Candidate B backup-set gap. The runtime work must make backup usability, included items, degradation/blocker state, and the safest next action visible before lifecycle metadata and technical context. + +The plan intentionally narrows the user-provided six-page draft: Environment Dashboard, Operations Hub, OperationRun View, Restore Run View, and Baseline Profile View already have completed/validated productization specs and remain regression/context surfaces only. No completed spec package is edited. + +## Technical Context + +**Language/Version**: PHP 8.4, Laravel 12, Filament v5, Livewire v4. +**Primary Dependencies**: Existing Filament resources/pages, backup quality helpers, resource-level capability/UI enforcement, OperationRun link helpers, Pest 4, browser smoke harness. +**Storage**: Existing database only. No migration or new persistence expected. +**Testing**: Pest Feature/Livewire tests and bounded Browser smoke. +**Validation Lanes**: fast-feedback/confidence for Feature tests; browser for Backup Set list/detail smoke; `git diff --check`; Pint for touched PHP. +**Target Platform**: TenantPilot Laravel monolith under `apps/platform`. +**Project Type**: Laravel/Filament admin UI. +**Performance Goals**: No new per-row service calls or Graph calls during render; avoid N+1 regressions on backup item counts/quality. +**Constraints**: No restore/capture backend behavior changes, no Graph calls, no route additions, no completed-spec artifact edits, no broad UI framework, no migrations. +**Scale/Scope**: Existing Backup Sets list and Backup Set detail, plus spec-local artifacts and UI audit coverage updates. + +## Candidate Selection Gate + +- **Selected candidate exists in source material**: yes, user-provided Spec 371 draft and Spec 368 Candidate B. +- **Not already covered by active/completed spec**: partially. The broad six-page draft overlaps completed specs; the narrowed backup-set implementation slice is not covered by a completed productization spec. +- **Completed-spec guardrail**: PASS. Specs 328, 330, 335, 352, 367, 369, and 370 are context only and must not be modified. +- **Roadmap fit**: PASS. Backup/restore trust and operator productization are active product goals. +- **Smallest viable slice**: PASS. Backup Set list/detail only, with browser proof. +- **Deferred adjacent work**: customer/auditor surfaces, diagnostics, provider readiness, system panel, UI bloat guard, and completed-surface refreshes. +- **Gate result**: PASS. + +## UI / Surface Guardrail Plan + +- **Guardrail scope**: changed existing operator-facing backup/restore surfaces. +- **Affected routes/pages/actions/states/navigation/panel/provider surfaces**: + - `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` + - `/admin/workspaces/{workspace}/environments/{environment}/backup-sets/{record}` + - `BackupSetResource`, `ListBackupSets`, `ViewBackupSet`, `BackupItemsRelationManager` +- **No-impact class**: N/A. +- **Native vs custom classification summary**: Native Filament resource/table/infolist/action patterns first; optional small page-local helper only if it reduces review risk. +- **Shared-family relevance**: status messaging, backup quality/readiness, action links, OperationRun links, restore-adjacent safety copy, evidence/diagnostics disclosure. +- **State layers in scope**: route scope, page/detail derived display state, table/relation state. +- **Audience modes in scope**: operator-MSP, workspace manager, readonly reviewer, support reviewer. +- **Decision/diagnostic/raw hierarchy plan**: backup usability and included items first; operation context, timestamps, raw IDs, provider internals, raw payloads, and technical counters secondary/collapsed. +- **Raw/support gating plan**: raw/support detail collapsed, secondary, or capability-gated by default. +- **One-primary-action / duplicate-truth control**: one dominant action such as Review backup items, Open backup set, Open operation, or another already-existing safe action. No new restore-from-backup action/link is planned. +- **Handling modes by drift class or surface**: backup-surface changes are in scope; changes to completed context surfaces are hard-stop unless spec/plan are updated. +- **Repository-signal treatment**: Spec 368 backup-set finding is implementation input; UI-013/UI-052 fixture gaps are review-mandatory. +- **Special surface test profiles**: backup/restore strategic surface and shared-detail-family. +- **Required tests or manual smoke**: focused Feature/Livewire tests plus Browser smoke with screenshots. +- **Exception path and spread control**: any fixture expansion beyond Backup Set proof must be documented in `validation-report.md` and may require follow-up. +- **Active feature PR close-out entry**: Guardrail / Exception / Smoke Coverage. +- **Coverage artifacts to update**: `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md` and coverage matrix/route inventory if status changes. +- **Navigation / Filament provider-panel handling**: no provider registration or navigation changes expected. Laravel 12 panel providers remain in `apps/platform/bootstrap/providers.php`. +- **Screenshot or page-report need**: before screenshot from Spec 368, after screenshots under this package. + +## Shared Pattern & System Fit + +- **Cross-cutting feature marker**: yes. +- **Systems touched**: + - `apps/platform/app/Filament/Resources/BackupSetResource.php` + - `apps/platform/app/Filament/Resources/BackupSetResource/Pages/ListBackupSets.php` + - `apps/platform/app/Filament/Resources/BackupSetResource/Pages/ViewBackupSet.php` + - `apps/platform/app/Filament/Resources/BackupSetResource/RelationManagers/BackupItemsRelationManager.php` + - existing backup quality and badge helpers + - existing OperationRun link helpers + - existing backup/restore action tests + - UI audit registry/page report +- **Shared abstractions reused**: existing backup quality summary, badges, `UiEnforcement`/`WorkspaceUiEnforcement`, OperationRun link/presenter helpers. +- **New abstraction introduced? why?**: none expected. If page logic becomes hard to review, add one derived backup-local helper/presenter and justify it in the implementation close-out. +- **Why existing abstractions are sufficient**: backup quality, item inventory, operation links, and action safety already exist. The gap is display hierarchy and browser proof. +- **Bounded deviation / spread control**: no global component, presenter framework, status taxonomy, or persisted backup readiness truth. + +## OperationRun UX Impact + +- **Touches OperationRun start/completion/link UX?**: existing backup operation links and existing backup actions only. +- **Central contract reused**: existing OperationRun links/presenter/browser event paths. +- **Delegated UX behaviors**: queued/open operation/dedupe feedback remain delegated to existing action implementations. +- **Surface-owned behavior kept local**: backup usability explanation and item inventory hierarchy. +- **Queued DB-notification policy**: unchanged. +- **Terminal notification path**: unchanged. +- **Exception path**: none expected. + +## Provider Boundary & Portability Fit + +- **Shared provider/platform boundary touched?**: display only. +- **Provider-owned seams**: raw provider IDs, Graph payloads, provider-specific policy metadata, provider error detail. +- **Platform-core seams**: backup set, backup item, restore point, operation, evidence, diagnostics, managed environment. +- **Neutral platform terms preserved**: yes. +- **Retained provider-specific semantics and why**: captured policy/provider labels may remain item-level truth; raw/provider internals are not default primary copy. +- **Bounded extraction or follow-up path**: provider payload disclosure issues become document-in-feature or follow-up-spec. + +## Constitution Check + +- Inventory-first / snapshots-second: PASS. Existing backup snapshot truth is preserved. +- Read/write separation: PASS. UI display changes only; existing write actions keep preview/confirmation/audit where applicable. +- Graph contract path: PASS / N/A. No Graph calls. +- Deterministic capabilities: PASS. Existing capability/UI enforcement remains authoritative. +- RBAC-UX and isolation: PASS. Route-scoped workspace/environment checks must remain tested. +- OperationRun observability: PASS. Existing links/feedback preserved; no lifecycle change. +- Evidence/result truth separation: PASS. Backup usability, operation trace, restore proof, and diagnostics stay separated. +- Test governance: PASS. Feature and Browser lanes are explicit and narrow. +- Proportionality: PASS. No new persistence/status/framework; optional local helper only if necessary. +- UI/Productization coverage: PASS. Existing page changed and coverage update required. +- Shared pattern first: PASS. Reuse existing helpers and Spec 370 contract. +- Provider boundary: PASS. Provider-specific detail remains technical/support detail. +- Filament v5 / Livewire v4: PASS. Runtime work must use Filament v5 and Livewire v4 APIs only. + +## Project Structure + +```text +specs/371-core-operator-view-surfaces-productization/ +|-- spec.md +|-- plan.md +|-- tasks.md +|-- checklists/ +| `-- requirements.md +`-- artifacts/ + |-- source-audit-summary.md + |-- affected-files.md + |-- before-after-screenshot-index.md + |-- page-contracts.md + |-- implementation-notes.md + |-- browser-verification-report.md + |-- validation-report.md + `-- screenshots/ +``` + +Runtime implementation is expected under existing backup-surface files only unless the spec is updated. + +## Implementation Phases + +### Phase 0 - Repo Truth And Scope Lock + +- Confirm branch, working tree, source artifacts, current backup-set implementation, current action safety, and completed-spec guardrails. +- Update `source-audit-summary.md`, `affected-files.md`, and `page-contracts.md` before runtime edits. + +### Phase 1 - Test First + +- Add focused Feature/Livewire tests for Backup Set detail usability states, metadata demotion, item inventory priority, RBAC/scope, and dangerous-action preservation. +- Add list tests for scan-first quality/item/degradation presentation and empty state. +- Add or update browser smoke fixture/test for Backup Sets list/detail reachability and screenshot capture. + +### Phase 2 - Backup Set Detail Productization + +- Recompose `ViewBackupSet`/`BackupSetResource` detail content so the first viewport leads with usability, reason, impact, item count, current degradation/blocker, and one primary next action. +- Make included backup items primary content. +- Demote lifecycle/timing/operation context/raw technical metadata into secondary/collapsed/detail sections. +- Preserve all existing action handlers, resource-level capability checks, confirmations, audit behavior, notifications, and OperationRun links. + +### Phase 3 - Backup Sets List Productization + +- Ensure the list is scan-first: backup quality/usability, item count, degradation state, open/inspect path, and contextual operation link. +- Suppress zero/no-issue noise when healthy state is already clear. +- Keep empty state specific and capability-aware. + +### Phase 4 - Browser Proof And UI Coverage + +- Run bounded browser smoke and capture after screenshots. +- Update `before-after-screenshot-index.md`, `browser-verification-report.md`, and `validation-report.md`. +- Update UI audit coverage artifacts or record why route/archetype counts did not change. + +### Phase 5 - Final Validation + +- Run focused tests, browser smoke, Pint dirty, and `git diff --check`. +- Confirm no completed spec packages or out-of-scope runtime files were modified. +- Record final Livewire/Filament/global-search/destructive-action/asset/deploy/test impact in implementation close-out. + +## Data Model + +N/A. No tables, migrations, casts, indexes, JSONB changes, persisted readiness fields, or data backfills are planned. + +## API / Contracts + +N/A. No HTTP API, Graph contract, queue contract, package, external integration, or operation type changes are planned. + +## UI / Filament Implications + +- Filament v5 with Livewire v4.0+ remains required. +- No panel provider registration change is expected; Laravel 12 providers remain in `apps/platform/bootstrap/providers.php`. +- No global search enablement is expected. If `BackupSetResource` global-search metadata is touched, its effective non-participation must either be preserved by explicitly disabling global search or changed only with safe View/Edit pages, scoped URLs, `$recordTitleAttribute`, and tests. +- Existing destructive/high-impact actions must continue to use `Action::make(...)->action(...)`, `->requiresConfirmation()`, server-side authorization/capability checks, audit logging, and tests. +- No Filament assets are expected. If registered assets appear, deployment must run `cd apps/platform && php artisan filament:assets`. +- Tables must keep meaningful empty states and query-safe visible relationships. + +## Test Strategy + +- Feature/Livewire: + - `Spec371BackupSetProductizationTest` for detail/list hierarchy, RBAC/scope, raw metadata demotion, action safety, and item inventory. + - Existing `BackupSet*` tests remain green. +- Browser: + - `Spec371BackupSetProductizationSmokeTest` for list/detail reachability, no JS errors, first-viewport hierarchy, and screenshots. +- Validation commands: + - `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=Spec371` + - `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=BackupSet` + - `cd apps/platform && ./vendor/bin/sail php vendor/bin/pest tests/Browser/Spec371BackupSetProductizationSmokeTest.php --compact` + - `cd apps/platform && ./vendor/bin/sail pint --dirty` + - `git diff --check` + +## Rollout Considerations + +- No env var changes. +- No migrations. +- No queue/scheduler/storage changes. +- No Graph permission changes. +- No Filament asset deployment step expected. +- Staging validation should include browser proof for Backup Sets list/detail because this is a strategic backup/restore trust surface. + +## Risk Controls + +- Do not edit completed context specs. +- Do not change restore execution or backup capture behavior. +- Do not create new backup/restore truth. +- Do not default-show raw payloads or provider/internal IDs. +- Do not make destructive/high-impact actions more prominent without confirmation/authorization/audit proof. +- Stop and update spec/plan if shared helper changes affect Environment Dashboard, Operations Hub, OperationRun, Restore Run, or Baseline Profile. + +## Spec Readiness Gate + +- `spec.md`, `plan.md`, `tasks.md`: required and present after preparation. +- `checklists/requirements.md`: required. +- Source and page-contract artifacts: required. +- Blocking open questions: none. +- Runtime implementation scope: bounded to Backup Set list/detail and backup-set browser proof. +- Gate result: PASS. diff --git a/specs/371-core-operator-view-surfaces-productization/spec.md b/specs/371-core-operator-view-surfaces-productization/spec.md new file mode 100644 index 00000000..4e3325a9 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/spec.md @@ -0,0 +1,330 @@ +# Feature Specification: Spec 371 - Core Operator View Surfaces Productization Pass v1 + +**Feature Branch**: `371-core-operator-view-surfaces-productization` +**Created**: 2026-06-10 +**Status**: Draft / Ready for implementation review +**Input**: User-provided Spec 371 draft plus Spec 368 Candidate B and Spec 370 Global Surface Information Architecture Contract v1. + +## Candidate Selection Summary + +- **Selected candidate**: Core Operator View Surfaces Productization Pass v1. +- **Source**: User-provided Spec 371 draft and `specs/368-platform-ui-signal-to-noise-browser-audit/spec-candidates.md` Candidate B. +- **Why selected**: Spec 368 identified Backup Set View as a remaining restore-critical operator surface where lifecycle, timing, related context, and technical detail still compete with backup usability and included-item truth. The user-provided Spec 371 draft explicitly asks to apply the Spec 370 decision-first contract to core operator surfaces. +- **Roadmap relationship**: Supports the roadmap's UI/product maturity polish, backup/restore safety, and decision-centered operator workflow lanes without opening new backend foundations. +- **Repo-truth adjustment**: Several surfaces named by the draft already have completed or validated productization specs. This package must not reopen those completed packages or reimplement their work. Spec 371 therefore focuses active implementation on Backup Set list/detail productization and capability-backed browser proof, while treating Environment Dashboard, Operations Hub, OperationRun View, Restore Run View, and Baseline Profile View as regression/context surfaces only. +- **Smallest viable implementation slice**: Productize the existing Backup Sets list and Backup Set detail surfaces so backup usability, included items, degradation/blocker state, and the safest next action are visible before lifecycle metadata, operation IDs, exact timestamps, or raw/technical context. Add/repair bounded browser proof only for the scoped backup surfaces. +- **Deferred close alternatives**: + - Full six-page productization pass: deferred because multiple pages already have completed specs and reopening them would violate the completed-spec guardrail. + - Environment Dashboard pass: completed by Specs 330 and 352; regression-only in this spec. + - Operations Hub pass: completed by Specs 328, 365, and 367; regression-only in this spec. + - OperationRun detail pass: completed by Specs 358-367; regression-only in this spec. + - Restore Run detail pass: completed by Spec 335; regression-only in this spec. + - Baseline Profile detail pass: completed by Spec 369; regression-only in this spec. + - Customer/auditor surface safety, diagnostic surface separation, UI bloat regression guard, provider connections, system panel, and required permissions remain follow-up candidates. +- **Completed-spec guardrail**: Related completed specs are context only and must not be edited: Specs 328, 330, 335, 352, 367, 369, and 370. Spec 368 is an audit/source artifact and must not be rewritten. + +## Spec Candidate Check *(mandatory - SPEC-GATE-001)* + +- **Problem**: Operators use backup sets to decide whether a captured restore point is usable and what it includes, but the current Backup Set detail can make lifecycle metadata, related operation context, and technical fields feel like peers of the actual restore decision. +- **Today's failure**: A backup can look record-complete while the operator still has to scan timing, status, operation link, quality text, and item sections to decide whether the backup is usable, degraded, or ready for guarded restore review. +- **User-visible improvement**: Backup Sets become a calm restore-point truth surface: usability/readiness first, included items second, degradations/blockers only when present, operation/evidence links reachable but secondary, and technical metadata on demand. +- **Smallest enterprise-capable version**: A page-local productization pass over existing `BackupSetResource`, `ViewBackupSet`, `ListBackupSets`, `BackupItemsRelationManager`, existing quality summary truth, and existing backup/restore actions. No new backup engine, restore engine, persisted readiness field, OperationRun type, Graph contract, or UI framework. +- **Explicit non-goals**: No restore workflow logic changes, no backup capture logic changes, no migrations, no models, no new tables, no Graph calls, no new operation types, no new restore eligibility truth, no customer/auditor surfaces, no system panel, no provider connections, no broad shell/sidebar/topbar work, and no changes to completed spec packages. +- **Permanent complexity imported**: Focused Feature/Livewire coverage, a bounded browser smoke fixture/report, optional page-local derived helper or presenter only if existing inline logic becomes hard to review, and spec-local artifacts. No new persisted truth or cross-domain UI framework is expected. +- **Why now**: Spec 370 created the reusable decision-first contract, and Spec 368's Backup Set finding remains the main restore-critical Candidate B surface not already covered by a completed productization spec. +- **Why not local**: A label-only change would not prove backup usability, included-item truth, action hierarchy, and metadata demotion together. A global pattern component would overbuild. The narrow correct slice is a repo-truth-bounded Backup Set productization pass with browser proof. +- **Approval class**: Workflow Compression. +- **Red flags triggered**: High-impact backup/restore-adjacent action surface and UI productization scope. Defense: the spec preserves existing resource-level capability checks, UI enforcement, confirmations, audit, OperationRun behavior, and restore safety language, while limiting active implementation to existing backup surfaces. +- **Score**: Nutzen: 2 | Dringlichkeit: 2 | Scope: 2 | Komplexitaet: 2 | Produktnaehe: 2 | Wiederverwendung: 1 | **Gesamt: 11/12** +- **Decision**: approve. + +## Spec Scope Fields *(mandatory)* + +- **Scope**: environment-owned backup/restore workflow surface. +- **Primary Routes**: + - `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` + - `/admin/workspaces/{workspace}/environments/{environment}/backup-sets/{record}` +- **Regression Context Routes**: + - `/admin/workspaces/{workspace}/environments/{environment}` + - `/admin/workspaces/{workspace}/operations` + - `/admin/workspaces/{workspace}/operations/{run}` + - `/admin/workspaces/{workspace}/environments/{environment}/restore-runs/{record}` + - `/admin/baseline-profiles/{record}` +- **Data Ownership**: Existing backup sets and backup items remain environment-owned records under current workspace and managed environment scope. No data model change is planned. +- **RBAC**: Existing workspace membership, managed-environment entitlement, resource-level capability checks, `UiEnforcement`/`WorkspaceUiEnforcement`, and deny-as-not-found behavior remain authoritative. This spec does not add a `BackupSetPolicy`. + +For environment-owned routes: + +- **Default filter behavior when workspace context is active**: Backup Set list/detail must resolve from explicit workspace and managed-environment route context, not hidden remembered environment state. +- **Explicit entitlement checks preventing cross-tenant leakage**: Wrong workspace or inaccessible managed environment must remain denied as not found before backup-set content, operation links, or restore affordances are revealed. + +## UI Surface Impact *(mandatory - UI-COV-001)* + +Does this spec add, remove, rename, or materially change any reachable UI surface? + +- [ ] No UI surface impact +- [x] Existing page changed +- [ ] New page/route added +- [ ] Navigation changed +- [ ] Filament panel/provider surface changed +- [ ] New modal/drawer/wizard/action added +- [x] Existing table/detail/relation display state materially changed +- [ ] Customer-facing surface changed +- [x] Dangerous action changed +- [x] Status/evidence/review presentation changed +- [x] Workspace/environment context presentation changed + +## UI/Productization Coverage *(mandatory when UI Surface Impact is not "No UI surface impact")* + +- **Route/page/surface**: Backup Sets list and Backup Set detail under environment-owned routes; `BackupSetResource`, `ListBackupSets`, `ViewBackupSet`, and `BackupItemsRelationManager`. +- **Current or new page archetype**: Backup / Restore strategic surface, matching `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md`. +- **Design depth**: Strategic Surface. +- **Repo-truth level**: repo-verified route and code; browser-verified before-state from Spec 368 screenshot `artifacts/screenshots/admin/005-workflow-surface-view-backup-set.png`; UI audit registry currently notes fixture/capability gaps for UI-051/UI-052. +- **Existing pattern reused**: Spec 370 surface IA contract, existing backup quality summary, existing Backup Set badges, existing resource-level capability/UI enforcement, existing OperationRun links, and existing Restore Run safety language for copy alignment only. +- **New pattern required**: none beyond optional page-local derived summary/helper if needed to reduce repeated inline logic. +- **Screenshot required**: yes. Use before screenshot from Spec 368 and capture after screenshots under `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/`. +- **Page audit required**: yes, update `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md` and related coverage notes, or record an explicit no-count-change rationale if route/archetype remains unchanged. +- **Customer-safe review required**: no. This is operator/MSP restore-point truth, not a customer-facing surface. +- **Dangerous-action review required**: yes. Existing soft-delete restore of archived Backup Sets, archive/delete/force-delete, retry/capture-related actions, and add/remove policy actions must preserve existing confirmation, authorization, audit, and OperationRun behavior. This spec must not introduce or promote a new restore-from-backup action/link. No destructive action may be moved into a more prominent unsafe placement. +- **Coverage files in scope for update or explicit validation**: + - [x] `docs/ui-ux-enterprise-audit/route-inventory.md` - update only if route status/browser status changes. + - [x] `docs/ui-ux-enterprise-audit/design-coverage-matrix.md` - update if coverage status or screenshot references change. + - [x] `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md` - update after implementation/browser proof. + - [ ] `docs/ui-ux-enterprise-audit/strategic-surfaces.md` + - [ ] `docs/ui-ux-enterprise-audit/grouped-follow-up-candidates.md` + - [ ] `docs/ui-ux-enterprise-audit/unresolved-pages.md` + - [ ] `N/A - no reachable UI surface impact` +- **No-impact rationale when applicable**: N/A. + +## Cross-Cutting / Shared Pattern Reuse + +- **Cross-cutting feature?**: yes. +- **Interaction class(es)**: status messaging, backup quality/readiness, action links, OperationRun links, restore-adjacent safety copy, table/list empty state, evidence/diagnostics disclosure, technical metadata disclosure. +- **Systems touched**: `BackupSetResource`, `ViewBackupSet`, `ListBackupSets`, `BackupItemsRelationManager`, backup quality summary helpers, badge renderers, OperationRun links, resource-level capability/UI enforcement, browser fixture commands/tests if existing. +- **Existing pattern(s) to extend**: Spec 370 first-viewport contract; Spec 335 restore result proof separation; Spec 333 restore create safety flow; existing `BackupSetQualitySummary`; existing backup set badges and UI enforcement. +- **Shared contract / presenter / builder / renderer to reuse**: Existing Backup Set helpers first; `BadgeCatalog`/`BadgeRenderer` for status-like badges; `OperationRunLinks`/existing operation link helpers for run navigation; `UiEnforcement`/`WorkspaceUiEnforcement` for actions. +- **Why the existing shared path is sufficient or insufficient**: Existing paths appear sufficient for backup quality, item count, operation links, authorization, and action safety. The gap is hierarchy and fixture-backed browser proof, not missing backend truth. +- **Allowed deviation and why**: A small page-local derived summary/helper is allowed if it replaces scattered closure logic and remains derived-only. +- **Consistency impact**: Backup usability, restore-readiness copy, quality/degradation labels, operation links, and dangerous-action hierarchy must stay aligned with Restore Run, Restore Create, OperationRun, and audit language. +- **Review focus**: Verify no new restore eligibility truth, no false recovery/safety claims, no raw payload default visibility, no hidden cross-workspace leakage, and no action safety regression. + +## OperationRun UX Impact + +- **Touches OperationRun start/completion/link UX?**: link and presentation semantics only, unless existing backup actions already start operation runs. +- **Shared OperationRun UX contract/layer reused**: existing `OperationRunLinks`, `OperationUxPresenter`, and backup action OperationRun flows where already present. +- **Delegated start/completion UX behaviors**: preserve existing queued toast, `Open operation` link, already-running/dedupe feedback, browser event, and operation URL resolution. +- **Local surface-owned behavior that remains**: backup usability explanation, included-item hierarchy, and page-level action guidance. +- **Queued DB-notification policy**: unchanged / N/A. +- **Terminal notification path**: unchanged. +- **Exception required?**: none expected. + +## Provider Boundary / Platform Core Check + +- **Shared provider/platform boundary touched?**: no new provider seam. +- **Boundary classification**: Backup Set UI remains platform-owned restore-point truth over provider-backed captured payloads. +- **Seams affected**: display of backup content, source environment, captured item types, provider payload references, and technical diagnostics. +- **Neutral platform terms preserved or introduced**: workspace, managed environment, backup set, backup item, restore point, operation, evidence, diagnostics, degradation, usable, action needed. +- **Provider-specific semantics retained and why**: Microsoft/Intune policy type labels may remain where they describe the captured item. Raw provider IDs, Graph payloads, and provider internals are technical/support detail and must not become default primary copy. +- **Why this does not deepen provider coupling accidentally**: No Graph calls, contracts, provider adapters, persisted taxonomy, or provider-specific backup logic are introduced. +- **Follow-up path**: document-in-feature for contained copy/display exceptions; follow-up-spec if a recurring provider payload disclosure issue is found. + +## UI / Surface Guardrail Impact + +| Surface / Change | Operator-facing surface change? | Native vs Custom | Shared-Family Relevance | State Layers Touched | Exception Needed? | Low-Impact / `N/A` Note | +|---|---|---|---|---|---|---| +| Backup Sets list decision summary | yes | Native Filament resource/table | status messaging, backup quality, action links | page, table, route scope | no | Existing route and resource only | +| Backup Set detail first viewport | yes | Native Filament infolist/page, optional page-local helper | restore-point truth, evidence/diagnostics, action links | page, detail, derived display | no | Active implementation focus | +| Backup items relation/table hierarchy | yes | Native RelationManager/table | included-item inventory | relation table | no | Must keep item inventory primary | +| Backup technical metadata demotion | yes | Native sections/details/aside where available | diagnostics/progressive disclosure | detail display | no | Metadata remains accessible | +| Completed surfaces regression context | no active refactor | Existing implemented patterns | status/evidence/action hierarchy | none unless regression found | no | Do not reopen completed specs | + +## Decision-First Surface Role + +| Surface | Decision Role | Human-in-the-loop Moment | Immediately Visible for First Decision | On-Demand Detail / Evidence | Why This Is Primary or Why Not | Workflow Alignment | Attention-load Reduction | +|---|---|---|---|---|---|---|---| +| Backup Sets list | Secondary decision queue | Operator chooses which restore point to inspect or act on | name, usability/quality, item count, current degradation, latest operation link, safe inspect path | detailed items, operation context, raw metadata | Secondary because final trust decision happens on detail | backup/restore review | reduces table scanning before selecting a backup | +| Backup Set detail | Primary Decision Surface | Operator decides whether backup is usable and what to do next | usability/readiness, reason, impact, item count, degradation/blocker if present, one primary next action | operation trace, exact timestamps, raw IDs, source context, technical quality counters | Primary restore-point truth surface | backup review before restore | puts restore usability ahead of metadata | +| Backup items relation/table | Evidence / inventory surface | Operator verifies what is included | included items, item quality/problem state | raw payload details and provider identifiers | Primary content below summary, not metadata | restore preparation and audit | avoids separate reconstruction of contents | + +## Audience-Aware Disclosure + +| Surface | Audience Modes In Scope | Decision-First Default-Visible Content | Operator Diagnostics | Support / Raw Evidence | One Dominant Next Action | Hidden / Gated By Default | Duplicate-Truth Prevention | +|---|---|---|---|---|---|---|---| +| Backup Sets list | operator-MSP, manager, readonly reviewer | backup usability, item count, degradation state, inspect/open action | operation link and compact quality detail | raw payloads not shown | open backup set | raw IDs/provider payloads/exact timestamps | one quality state per row | +| Backup Set detail | operator-MSP, support reviewer | usable/action needed state, reason, impact, item inventory, degradation/blocker | operation context, source schedule, retention/timing | raw backup payload, provider IDs, technical counters | review items or open the source operation; no new restore-start action | raw/support detail collapsed or secondary | top summary owns current decision; later sections add proof/detail | + +## UI/UX Surface Classification + +| Surface | Action Surface Class | Surface Type | Likely Next Operator Action | Primary Inspect/Open Model | Row Click | Secondary Actions Placement | Destructive Actions Placement | Canonical Collection Route | Canonical Detail Route | Scope Signals | Canonical Noun | Critical Truth Visible by Default | Exception Type / Justification | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| Backup Sets list | List / Table / Workflow | Backup / Restore list | Open a backup set or create backup set | record URL / explicit view | expected if current resource supports it | More/detail header | More or detail header only | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets` | `/admin/workspaces/{workspace}/environments/{environment}/backup-sets/{record}` | workspace and environment route | Backup set | usability/quality, item count, degradation, latest operation | none | +| Backup Set detail | Detail / Header Actions | Restore-point detail | Review included items or open the source operation | detail page | N/A | detail header or related context | separated, confirmed, authorized, audited | same as above | same as above | workspace, environment, source operation | Backup set | usable/action needed, reason, impact, included items, current degradation | none | + +## Operator Surface Contract + +| Surface | Primary Persona | Decision / Operator Action Supported | Surface Type | Primary Operator Question | Default-visible Information | Diagnostics-only Information | Status Dimensions Used | Mutation Scope | Primary Actions | Dangerous Actions | +|---|---|---|---|---|---|---|---|---|---|---| +| Backup Set detail | Workspace manager / backup operator | Decide whether a backup can be trusted for restore review | Backup / restore detail | Is this backup usable, and what is included? | usability, reason, impact, captured item count, item inventory, current degradation/blocker, safe next action | raw payloads, exact timestamps, source operation context, provider/internal IDs | lifecycle, backup quality, item completeness, operation availability | TenantPilot backup/restore workflows; Microsoft mutation only through existing restore flow outside this spec | Review backup items, Open operation | soft-delete restore of archived Backup Sets, archive, delete/force-delete, add/remove items if present | + +## Proportionality Review + +- **New source of truth?**: no. +- **New persisted entity/table/artifact?**: no runtime persistence. Spec-local Markdown artifacts and screenshots only. +- **New abstraction?**: no expected runtime abstraction; optional page-local derived helper only if it replaces scattered page logic. +- **New enum/state/reason family?**: no. +- **New cross-domain UI framework/taxonomy?**: no. This consumes Spec 370 and existing UI standards. +- **Current operator problem**: Backup usability and included-item truth do not dominate the restore-point detail page. +- **Existing structure is insufficient because**: Existing resource/table/detail paths contain the needed truth, but the current hierarchy can still put lifecycle and technical metadata near the main decision. +- **Narrowest correct implementation**: Recompose existing Backup Set list/detail output around a derived decision summary and item inventory; demote metadata; add focused tests and browser proof. +- **Ownership cost**: Focused Feature/Livewire tests, one bounded browser smoke/report, and UI audit coverage update. +- **Alternative intentionally rejected**: A global component framework, new backup readiness persistence, or reimplementation of already-completed Environment Dashboard/Operations/Restore/Baseline surfaces. +- **Release truth**: current-release operator productization. + +### Compatibility posture + +This feature assumes pre-production. No legacy aliases, migration shims, backfills, historical fixture migration, or dual-read compatibility path is required unless the spec is amended. + +## Testing / Lane / Runtime Impact + +- **Test purpose / classification**: Feature/Livewire for Backup Set list/detail rendering, action affordances, RBAC/scope; Browser for bounded backup-set first-viewport and screenshot proof. +- **Validation lane(s)**: fast-feedback/confidence for focused Pest tests; browser for backup-set smoke; `git diff --check`; Pint for touched PHP. +- **Why this classification and these lanes are sufficient**: The change is a Filament resource/detail hierarchy and action-safety pass. Feature tests prove server-rendered truth/action behavior; browser smoke proves the first-viewport signal-to-noise improvement and fixture reachability. +- **New or expanded test families**: `Spec371BackupSetProductizationTest` and `Spec371BackupSetProductizationSmokeTest`. +- **Fixture / helper cost impact**: Reuse existing workspace/environment/backup-set factories and browser harness if available. If no suitable browser fixture exists, add the smallest capability-backed fixture only for backup-set review and document the cost. +- **Heavy-family visibility / justification**: Browser coverage is explicit and bounded to Backup Sets list/detail because the source finding is browser-verified UI signal-to-noise and the UI audit registry currently lists backup-set fixture gaps. +- **Special surface test profile**: backup/restore strategic surface, shared-detail-family. +- **Standard-native relief or required special coverage**: Native Filament components should carry layout; special coverage is required for decision-first default visibility, metadata demotion, and dangerous-action preservation. +- **Reviewer handoff**: Reviewers must confirm no new backup/restore truth, no authorization regression, no technical detail removal, no raw provider payload in primary content, and no completed spec package edits. +- **Budget / baseline / trend impact**: none expected. Record any browser fixture broadening or new seed cost in the implementation close-out. +- **Escalation needed**: document-in-feature if backup-set fixture cost or UI coverage registry updates are contained; follow-up-spec if browser fixture gaps are structural across backup/restore. +- **Active feature PR close-out entry**: Guardrail / Exception / Smoke Coverage. +- **Planned validation commands**: + - `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=Spec371` + - `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=BackupSet` + - `cd apps/platform && ./vendor/bin/sail php vendor/bin/pest tests/Browser/Spec371BackupSetProductizationSmokeTest.php --compact` + - `cd apps/platform && ./vendor/bin/sail pint --dirty` + - `git diff --check` +- **Runtime impact**: UI rendering and browser fixture/test coverage only; no env vars, migrations, queues, scheduler, storage, Graph calls, or Filament asset registration expected. + +## User Stories & Testing + +### User Story 1 - Decide backup usability quickly (Priority: P1) + +As a backup operator, I want the Backup Set detail page to tell me whether the backup is usable and what it includes before lifecycle or technical metadata, so I can decide whether to inspect items or open the source operation before any separate restore workflow. + +**Independent Test**: Render backup sets with healthy, degraded, and empty/incomplete item states and assert the first decision section contains usability/readiness, reason, impact, item count, current degradation/blocker if present, and one dominant next action before exact timestamps, operation ID, raw payload, or provider metadata. + +**Acceptance Scenarios**: + +1. **Given** a completed backup set with no degradations and backup items, **When** the detail page renders, **Then** the first viewport says the backup is usable, names item count/content, and offers review/open action before technical metadata. +2. **Given** a backup set with degraded or failed items, **When** the detail page renders, **Then** current degradation is prominent and the safest next action is review/investigation rather than optimistic restore copy. +3. **Given** a backup set with no items or incomplete capture, **When** the detail page renders, **Then** it explains why restore confidence is blocked without exposing raw payload or operation context as the primary answer. + +### User Story 2 - Keep dangerous backup/restore actions safe (Priority: P1) + +As a reviewer, I want existing soft-delete restore, archive/delete, and backup item mutations to keep existing confirmation, authorization, audit, and OperationRun behavior while the page hierarchy changes, so productization does not weaken governance safety. + +**Independent Test**: Use Filament action tests to prove authorized actors see allowed actions, readonly or wrong-scope actors cannot execute them, destructive/high-impact actions remain confirmation-gated, and existing OperationRun/open-operation feedback remains unchanged. + +**Acceptance Scenarios**: + +1. **Given** a readonly or unauthorized workspace member, **When** the Backup Set list/detail renders, **Then** mutating soft-delete restore/archive/add/remove actions are hidden or disabled consistently with current resource-level capability/UI enforcement. +2. **Given** an authorized actor starts an existing high-impact backup/restore-related action, **When** the action succeeds or dedupes, **Then** existing OperationRun feedback and canonical operation links remain intact. +3. **Given** a destructive backup action remains available, **When** tests inspect the action, **Then** it still uses `->action(...)`, `->requiresConfirmation()`, server-side authorization, audit behavior, and safe placement. + +### User Story 3 - Make Backup Sets list scan-first (Priority: P2) + +As an operator scanning backup history, I want the Backup Sets list to surface usability/quality, item count, degradation, and the inspect path, so I can choose a backup without reading lifecycle metadata first. + +**Independent Test**: Render the Backup Sets list with healthy and degraded rows and assert the visible columns/copy prioritize backup usability and included-item information while exact technical metadata remains secondary or hidden by default. + +**Acceptance Scenarios**: + +1. **Given** the list contains healthy and degraded backups, **When** it renders, **Then** rows distinguish usable versus action-needed backups without multiple zero/no-issue cards. +2. **Given** no backup sets exist, **When** the list renders, **Then** the empty state explains how to create or capture a backup in one clear CTA if authorized. +3. **Given** a backup row has an operation link, **When** the row renders, **Then** the operation remains reachable but does not compete with the inspect/open backup path. + +### User Story 4 - Prove browser reachability and no regression on completed surfaces (Priority: P3) + +As a product reviewer, I want the implementation to capture backup-set before/after proof and spot-check completed context surfaces without editing completed packages, so the pass improves the open gap without undoing finished work. + +**Independent Test**: Run a bounded browser smoke for Backup Sets list/detail and record after screenshots. Spot-check completed surfaces only for obvious regression if the implementation touches shared helpers that affect them. + +**Acceptance Scenarios**: + +1. **Given** the backup-set browser fixture exists or is added narrowly, **When** the smoke test runs, **Then** it captures list/detail screenshots and records no JavaScript errors. +2. **Given** implementation touches only backup-specific files, **When** regression scope is reviewed, **Then** Environment Dashboard, Operations Hub, OperationRun, Restore Run, and Baseline Profile are not edited. +3. **Given** a shared helper unexpectedly affects a completed surface, **When** that is discovered, **Then** implementation stops to update spec/plan or narrows the change. + +## Functional Requirements + +- **FR-001**: Backup Set detail MUST render a first-read decision summary above lifecycle metadata and technical context. +- **FR-002**: The summary MUST state backup usability/readiness, reason, impact, captured item count, current degradation/blocker only if present, and one dominant next action when a safe action exists. +- **FR-003**: The detail page MUST make included backup items primary content, not an afterthought behind metadata. +- **FR-004**: The list page MUST expose scan-first backup usability/quality and item count without zero-card spam. +- **FR-005**: Technical metadata, internal IDs, source operation context, exact timestamps, provider IDs, raw payloads, and quality counters MUST be sidebar, secondary, hidden, or collapsed by default unless they are the current blocker. +- **FR-006**: Existing soft-delete restore, archive/delete, add/remove, and operation-link affordances MUST preserve current authorization, confirmation, audit, and OperationRun semantics; no new restore-from-backup action/link is introduced by this spec. +- **FR-007**: The implementation MUST NOT create a new backup readiness field, restore eligibility field, status family, persisted artifact, Graph contract, or OperationRun type. +- **FR-008**: Wrong-workspace or wrong-environment access MUST remain denied as not found before content or action state leaks. +- **FR-009**: Browser proof MUST capture Backup Sets list/detail after screenshots or document the exact fixture/reachability blocker. +- **FR-010**: Completed context specs MUST not be edited or converted back into preparation state. +- **FR-011**: If `BackupSetResource` global-search metadata is touched, its effective non-participation MUST either be preserved by explicitly disabling global search or changed only with safe View/Edit pages, scoped URLs, `$recordTitleAttribute`, and tests; no global search enablement is expected. +- **FR-012**: UI audit registry artifacts MUST be updated or explicitly marked unchanged with a rationale after implementation. + +## Non-Functional Requirements + +- **NFR-001**: Keep implementation page-local to backup surfaces unless a small existing shared helper is the narrowest correct place. +- **NFR-002**: No Graph calls may occur during page render. +- **NFR-003**: Use Filament v5 and Livewire v4-compatible components and tests; no Livewire v3 or Filament v3/v4 APIs. +- **NFR-004**: Panel provider registration remains in `apps/platform/bootstrap/providers.php`; no provider registration change is expected. +- **NFR-005**: No Filament asset registration is expected; if assets are unexpectedly registered, deployment must include `cd apps/platform && php artisan filament:assets`. +- **NFR-006**: Preserve calm enterprise operator UX: one dominant decision, one primary action, diagnostics/evidence reachable but separated, no false positive calmness. + +## Out Of Scope + +Environment Dashboard refactor, Operations Hub refactor, OperationRun actionability or detail refactor, Restore Run detail refactor, Baseline Profile detail refactor, Customer Review Workspace, Environment Review, Review Pack, Stored Report, Evidence Snapshot, Required Permissions, System Panel, Provider Connections, Environment Diagnostics, restore execution logic, backup capture logic, baseline compare engine, migrations, models, jobs, policies, Graph contracts, package changes, route additions, and shell/sidebar/topbar work. + +## Acceptance Criteria + +- **AC-001**: Backup Set detail first viewport answers "Is this backup usable, what is included, and what should I do next?" before technical metadata. +- **AC-002**: Backup Set list rows prioritize usability/quality, included item count, degradation if present, and inspect/open path. +- **AC-003**: Degraded/incomplete backups show action-needed truth prominently; healthy backups avoid repeated zero/no-issue blocks. +- **AC-004**: Existing destructive/high-impact actions remain confirmed, authorized, audited, and safely placed. +- **AC-005**: Existing OperationRun links/feedback remain canonical and scope-safe. +- **AC-006**: Focused Pest/Livewire tests and bounded browser smoke pass, or non-run reasons are documented. +- **AC-007**: UI audit/page-report coverage is updated or explicitly marked unchanged. +- **AC-008**: No application code outside the approved backup-surface scope changes unless the spec/plan are updated first. + +## Success Criteria + +- Backup Set View reaches a browser-verified score target of at least 4.0 using the Spec 368 score model, or the remaining gap is documented with a follow-up. +- Backup Sets list remains at least 4.0 and no longer requires operators to infer backup usability from lifecycle or operation metadata. +- No completed context surface is edited unless a shared-helper regression forces a documented spec/plan update. +- No new runtime persistence, status family, provider contract, or broad UI framework is introduced. + +## Assumptions + +- Existing backup quality and item inventory truth are sufficient to derive usability/readiness copy. +- Existing resource-level capability checks and UI enforcement already govern backup and restore-adjacent actions; this spec preserves and tests them rather than replacing them. +- A bounded backup-set browser fixture can be reused or added without broad seed/default test cost. +- The repo is pre-production, so no migration compatibility work is needed. + +## Risks + +- Backup-set browser fixture work may reveal broader capability/auth gaps. If structural, escalate to follow-up rather than hiding it inside this spec. +- Page-local helper extraction could drift into a backup UI framework. Keep any helper derived, local, and justified by readability. +- Restore-adjacent copy could overclaim safety. Use only repo-backed backup quality and existing action availability truth. +- Touching shared badge/action helpers could affect completed surfaces. Prefer backup-local changes and stop to update spec/plan if shared changes become necessary. + +## Open Questions + +- None blocking preparation. During implementation, verify whether existing browser fixture coverage can reach Backup Sets list/detail without broad seed changes. + +## Follow-up Spec Candidates + +- Customer/Auditor Surface Safety Pass v1. +- Diagnostic Surface Separation v1. +- UI Bloat Regression Guard v1 after at least two runtime consumers validate Spec 370. +- Backup/restore browser fixture hardening if fixture gaps affect more than Backup Sets. +- Provider Connections readiness productization. +- System Panel audit fixture and productization pass. diff --git a/specs/371-core-operator-view-surfaces-productization/tasks.md b/specs/371-core-operator-view-surfaces-productization/tasks.md new file mode 100644 index 00000000..bc435c10 --- /dev/null +++ b/specs/371-core-operator-view-surfaces-productization/tasks.md @@ -0,0 +1,111 @@ +# Tasks: Spec 371 - Core Operator View Surfaces Productization Pass v1 + +**Input**: `specs/371-core-operator-view-surfaces-productization/spec.md`, `plan.md`, and artifacts. +**Prerequisites**: Review completed context specs as read-only: 328, 330, 335, 352, 367, 369, 370. Do not edit them. + +**Tests**: Focused Feature/Livewire tests for Backup Set list/detail and bounded Browser smoke for Backup Set list/detail screenshots. + +## Phase 1: Preparation Guardrails + +- [x] T001 Re-read `spec.md`, `plan.md`, `tasks.md`, `checklists/requirements.md`, `.specify/memory/constitution.md`, `docs/ai-coding-rules.md`, `docs/architecture-guidelines.md`, `docs/filament-guidelines.md`, `docs/security-guidelines.md`, `docs/testing-guidelines.md`, and `docs/performance-guidelines.md`. +- [x] T002 Confirm current branch and working tree with `git status --short --branch`; do not continue over unrelated dirty files. +- [x] T003 Confirm completed context specs are read-only: `specs/328-*`, `specs/330-*`, `specs/335-*`, `specs/352-*`, `specs/367-*`, `specs/369-*`, and `specs/370-*`. +- [x] T004 Inspect Spec 368 backup-set source evidence in `audit.md`, `findings.md`, `page-scorecard.csv`, `spec-candidates.md`, `artifacts/raw/browser-captures.json`, and screenshot `artifacts/screenshots/admin/005-workflow-surface-view-backup-set.png`. +- [x] T005 Inspect current backup-set UI implementation in `apps/platform/app/Filament/Resources/BackupSetResource.php`, `Pages/ListBackupSets.php`, `Pages/ViewBackupSet.php`, and `RelationManagers/BackupItemsRelationManager.php`. +- [x] T006 Inspect existing backup-set tests under `apps/platform/tests/Feature/Filament`, `apps/platform/tests/Feature/BackupSets`, `apps/platform/tests/Unit/Badges`, and relevant browser harnesses. +- [x] T007 Confirm no migration, package, env var, queue, scheduler, storage, Graph, panel-provider, or Filament asset change is required; update spec/plan before coding if false. +- [x] T008 Confirm Filament v5 / Livewire v4 compliance and no Livewire v3 or Filament v3/v4 APIs. +- [x] T009 Confirm panel provider registration remains `apps/platform/bootstrap/providers.php`. +- [x] T010 Confirm `BackupSetResource` global-search metadata is not enabled. If touched, explicitly preserve effective non-participation or update spec/plan/tests before enabling scoped search. + +## Phase 2: Source Artifacts And Page Contracts + +- [x] T011 Update `artifacts/source-audit-summary.md` if new repo truth is discovered. +- [x] T012 Update `artifacts/affected-files.md` with actual touched files before runtime edits. +- [x] T013 Update `artifacts/page-contracts.md` with final Backup Sets list/detail target hierarchy and regression-only status for completed context surfaces. +- [x] T014 Update `artifacts/before-after-screenshot-index.md` with expected screenshot targets before browser work. +- [x] T015 Keep `artifacts/implementation-notes.md`, `browser-verification-report.md`, and `validation-report.md` current during implementation. + +## Phase 3: User Story 1 - Decide Backup Usability Quickly (P1) + +**Goal**: Backup Set detail answers usability, reason, impact, item count, current degradation/blocker, and safest next action before technical metadata. + +- [x] T016 [P] Add failing Feature/Livewire coverage for a healthy usable backup set in `apps/platform/tests/Feature/Filament/Spec371BackupSetProductizationTest.php`, with a fail-hard Graph client binding or equivalent assertion proving the render path does not call Graph. +- [x] T017 [P] Add failing Feature/Livewire coverage for a degraded backup set showing action-needed truth before optimistic restore copy. +- [x] T018 [P] Add failing Feature/Livewire coverage for an empty/incomplete backup set explaining the blocker without raw payload/default technical context. +- [x] T019 Recompose Backup Set detail in `BackupSetResource` / `ViewBackupSet` so the first visible section is a decision summary with usability/readiness, reason, impact, item count, degradation/blocker if present, and one primary next action that already exists safely in repo behavior. +- [x] T020 Make included backup items the primary main content below the summary, using existing `BackupItemsRelationManager` or existing item table structures. +- [x] T021 Demote lifecycle/timing/source operation/raw IDs/provider/internal metadata into secondary, sidebar, or collapsed technical details. +- [x] T022 Ensure no false restore safety, recovery proof, customer-safe, compliant, or protected claims appear unless current repo truth supports them. + +## Phase 4: User Story 2 - Preserve Dangerous Action Safety (P1) + +**Goal**: Existing soft-delete restore/archive/delete/add/remove/operation actions keep existing confirmation, authorization, audit, notification, and OperationRun behavior. + +- [x] T023 [P] Add or extend tests asserting readonly/unauthorized users cannot execute backup-set mutating actions. +- [x] T024 [P] Add or extend tests asserting wrong-workspace/wrong-environment backup-set access remains deny-as-not-found before content/action leakage. +- [x] T025 [P] Add or extend tests asserting destructive/high-impact actions still use confirmation, server-side authorization, audit expectations, and safe placement. +- [x] T026 Keep existing action handlers on their current service/job/audit/OperationRun paths; do not move business logic into Filament closures. +- [x] T027 Do not introduce or promote a new restore-from-backup action/link from Backup Set list/detail; keep existing soft-delete restore and restore-adjacent copy state-aware, secondary, and repo-truth based. +- [x] T028 Keep operation links canonical and scope-safe through existing OperationRun link helpers. + +## Phase 5: User Story 3 - Make Backup Sets List Scan-First (P2) + +**Goal**: The Backup Sets list prioritizes backup usability/quality, item count, degradation, and inspect/open path. + +- [x] T029 [P] Add Feature/Livewire coverage for list rows showing quality/usability, item count, degradation when present, and an inspect/open path, with no Graph render call if not already proven by T016. +- [x] T030 [P] Add Feature/Livewire coverage that healthy rows avoid repeated zero/no-issue/no-degradation noise. +- [x] T031 [P] Add Feature/Livewire coverage for a specific capability-aware empty state and one create/capture CTA when authorized. +- [x] T032 Update `ListBackupSets` / `BackupSetResource::table()` so visible columns and row/header actions match the scan-first contract. +- [x] T033 Ensure operation links remain reachable but do not compete with the primary open/inspect backup path. +- [x] T034 Verify visible relationship-backed columns are eager loaded or query-safe. + +## Phase 6: User Story 4 - Browser Proof And Completed-Surface Regression Safety (P3) + +**Goal**: Capture backup-set browser proof and avoid reopening completed surfaces. + +- [x] T035 Inspect existing browser harness and fixture commands before adding any fixture; prefer reuse. +- [x] T036 Add bounded browser smoke in `apps/platform/tests/Browser/Spec371BackupSetProductizationSmokeTest.php` for Backup Sets list/detail. +- [x] T037 Capture after screenshots under `specs/371-core-operator-view-surfaces-productization/artifacts/screenshots/`, including list and detail at minimum. +- [x] T038 Update `artifacts/before-after-screenshot-index.md` with before/after mappings and blocked pages if any. +- [x] T039 Update `artifacts/browser-verification-report.md` with URLs, auth/fixture, screenshots, scores before/after, remaining issues, and blocked pages. +- [x] T040 Confirm completed context surfaces are not edited. If a shared helper change affects them, stop and update `spec.md`/`plan.md` before continuing. + +## Phase 7: UI Audit Registry And Validation + +- [x] T041 Update `docs/ui-ux-enterprise-audit/page-reports/ui-013-environment-backup-sets.md` with the implementation result and screenshot references. +- [x] T042 Update `docs/ui-ux-enterprise-audit/route-inventory.md`, `design-coverage-matrix.md`, `strategic-surfaces.md`, or `unresolved-pages.md` only if route/browser/coverage status changes; otherwise record a no-count-change rationale in `validation-report.md`. +- [x] T043 Run `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=Spec371`. +- [x] T044 Run `cd apps/platform && ./vendor/bin/sail artisan test --compact --filter=BackupSet`. +- [x] T045 Run `cd apps/platform && ./vendor/bin/sail php vendor/bin/pest tests/Browser/Spec371BackupSetProductizationSmokeTest.php --compact`. +- [x] T046 Run `cd apps/platform && ./vendor/bin/sail pint --dirty`. +- [x] T047 Run `git diff --check`. +- [x] T048 Update `artifacts/validation-report.md` with branch, HEAD, dirty state, commands, test/browser results, runtime files changed, limitations, and recommended follow-up. +- [x] T049 Confirm no application/runtime implementation happened during preparation, and during implementation no out-of-scope runtime files were changed without spec/plan update. +- [x] T050 Record final Livewire v4 compliance, provider registration location, global-search posture, destructive/high-impact action confirmation/authorization/audit status, asset strategy, tests, deployment impact, and Guardrail / Exception / Smoke Coverage in the implementation close-out response. + +## Dependencies + +- Phase 1 before runtime edits. +- Phase 2 before browser/report close-out. +- Phase 3 and Phase 4 before Phase 6 screenshots. +- Phase 7 after runtime changes. + +## Parallel Execution Examples + +- T004, T005, and T006 can run in parallel. +- T016, T017, T018, T023, T024, T025, T029, T030, and T031 can be drafted in parallel if the fixture shape is coordinated. +- T041 and T042 can run after screenshots and browser report are available. + +## Test Governance Checklist + +- [x] Lane assignment is named and is the narrowest sufficient proof for the changed behavior. +- [x] New or changed tests stay in the smallest honest family, and browser coverage is explicit. +- [x] Shared helpers, factories, seeds, fixtures, and context defaults stay cheap by default. +- [x] Planned validation commands cover the change without pulling in unrelated lane cost. +- [x] The declared surface test profile (`backup/restore strategic surface` / `shared-detail-family`) is explicit. +- [x] Any material budget, baseline, trend, or escalation note is recorded in the active spec or PR. + +## Explicit Non-Goals + +- No migrations, models, services/jobs beyond existing backup action paths, policies, routes, Graph contracts, provider adapters, new operation types, new restore-from-backup action/link from Backup Set list/detail, global UI framework, customer/auditor surfaces, system panel, provider connections, restore execution logic, backup capture logic, or completed-spec package edits unless the spec/plan is updated first.