- generic [active] [ref=e1]: - generic [ref=e2]: - navigation "Navigationsleiste" [ref=e3]: - generic [ref=e4]: - link "Startseite" [ref=e5] [cursor=pointer]: - /url: / - img [ref=e6] - button "Navigationsmenü" [ref=e8] [cursor=pointer]: - img [ref=e9] - main "Comparing b7907bd69d...03514b9e5b" [ref=e11]: - generic [ref=e12]: - generic [ref=e14]: - generic [ref=e15]: - img [ref=e17] - generic [ref=e20]: - link "ahmido" [ref=e21] [cursor=pointer]: - /url: /ahmido - text: / - link "TenantAtlas" [ref=e22] [cursor=pointer]: - /url: /ahmido/TenantAtlas - generic [ref=e23]: - link "RSS Feed" [ref=e24] [cursor=pointer]: - /url: /ahmido/TenantAtlas.rss - img [ref=e25] - generic "Melde dich an, um dieses Repository zu beobachten." [ref=e28] [cursor=pointer]: - button "Beobachten" [disabled]: - img - generic: Beobachten - link "1" [ref=e29]: - /url: /ahmido/TenantAtlas/watchers - generic "Bitte melde dich an, um dieses Repository zu favorisieren." [ref=e31] [cursor=pointer]: - button "Favorisieren" [disabled]: - img - generic: Favorisieren - link "0" [ref=e32]: - /url: /ahmido/TenantAtlas/stars - generic "Bitte melde dich an, um dieses Repository zu forken." [ref=e33]: - generic: - img - link "0" [ref=e34] [cursor=pointer]: - /url: /ahmido/TenantAtlas/forks - navigation [ref=e36]: - generic [ref=e37]: - link "Code" [ref=e38] [cursor=pointer]: - /url: /ahmido/TenantAtlas - img [ref=e39] - generic [ref=e41]: Code - link "Issues" [ref=e42] [cursor=pointer]: - /url: /ahmido/TenantAtlas/issues - img [ref=e43] - generic [ref=e46]: Issues - link "Pull-Requests" [ref=e47] [cursor=pointer]: - /url: /ahmido/TenantAtlas/pulls - img [ref=e48] - generic [ref=e50]: Pull-Requests - link "Actions" [ref=e51] [cursor=pointer]: - /url: /ahmido/TenantAtlas/actions - img [ref=e52] - generic [ref=e54]: Actions - link "Pakete" [ref=e55] [cursor=pointer]: - /url: /ahmido/TenantAtlas/packages - img [ref=e56] - generic [ref=e58]: Pakete - link "Projekte 1" [ref=e59] [cursor=pointer]: - /url: /ahmido/TenantAtlas/projects - img [ref=e60] - generic [ref=e62]: Projekte - generic [ref=e63]: "1" - button "Weitere Einträge" [ref=e64] [cursor=pointer]: - img [ref=e65] - generic [ref=e68]: - heading "Commits vergleichen" [level=2] [ref=e69] - generic [ref=e70]: - link "Head und Base vertauschen" [ref=e71] [cursor=pointer]: - /url: /ahmido/TenantAtlas/compare/358-operationrun-queue-truth-foundation...platform-dev - img [ref=e72] - combobox [ref=e74] [cursor=pointer]: - generic [ref=e75]: - generic [ref=e76]: "Ziel: ahmido:platform-dev" - menu [ref=e77] - link "..." [ref=e79] [cursor=pointer]: - /url: /ahmido/TenantAtlas/compare/platform-dev..358-operationrun-queue-truth-foundation - img [ref=e80] - generic [ref=e82]: ... - combobox [ref=e83] [cursor=pointer]: - generic [ref=e84]: - generic [ref=e85]: "pullen von: ahmido:358-operationrun-queue-truth-foundation" - menu [ref=e86] - generic [ref=e88]: - heading "1 Commits platform-d ... 358-operat" [level=4] [ref=e89]: - generic [ref=e90]: 1 Commits - generic [ref=e91]: - link "platform-d" [ref=e92] [cursor=pointer]: - /url: /ahmido/TenantAtlas/commit/b7907bd69d169bd4b3bf37e1ee9d9e4478c7cb13 - text: ... - link "358-operat" [ref=e93] [cursor=pointer]: - /url: /ahmido/TenantAtlas/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999 - table [ref=e95]: - rowgroup [ref=e96]: - row "Autor Nachricht Datum" [ref=e97]: - columnheader "Autor" [ref=e98] - columnheader "Nachricht" [ref=e99] - columnheader "Datum" [ref=e100] - columnheader [ref=e101] - rowgroup [ref=e102]: - 'row "Ahmed Darrazi Ahmed Darrazi feat: implement operation run queue truth foundation (spec 358) 2026-06-06 13:27:48 +02:00jetzt Hash kopieren An diesem Punkt im Verlauf anzeigen" [ref=e103]': - cell "Ahmed Darrazi Ahmed Darrazi" [ref=e104]: - generic [ref=e105]: - img "Ahmed Darrazi" [ref=e106] - generic [ref=e107]: Ahmed Darrazi - 'cell "feat: implement operation run queue truth foundation (spec 358)" [ref=e108]': - 'generic "feat: implement operation run queue truth foundation (spec 358)" [ref=e110]': - 'link "feat: implement operation run queue truth foundation (spec 358)" [ref=e111] [cursor=pointer]': - /url: /ahmido/TenantAtlas/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999 - cell "2026-06-06 13:27:48 +02:00jetzt" [ref=e112] - cell "Hash kopieren An diesem Punkt im Verlauf anzeigen" [ref=e113]: - button "Hash kopieren" [ref=e114] [cursor=pointer]: - img [ref=e115] - link "An diesem Punkt im Verlauf anzeigen" [ref=e118] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999 - img [ref=e119] - generic [ref=e121]: - generic [ref=e123]: - combobox "Leerzeichen" [ref=e124] [cursor=pointer]: - img [ref=e125] - link "Geteilte Ansicht" [ref=e127] [cursor=pointer]: - /url: "?style=split&whitespace=show-all&show-outdated=" - img [ref=e128] - menu "Diff-Optionen" [ref=e130] [cursor=pointer]: - img [ref=e131] - generic [ref=e134]: - generic [ref=e135]: - 'heading "9 9 Änderungen: 8 Ergänzungen und 1 Löschungen apps/platform/app/Support/OpsUx/OperationRunProgressContract.php Datei anzeigen" [level=4] [ref=e136]': - generic [ref=e137]: - button [ref=e138] [cursor=pointer]: - img [ref=e139] - generic [ref=e141]: - text: "9" - 'generic "9 Änderungen: 8 Ergänzungen und 1 Löschungen" [ref=e142]' - generic [ref=e144]: - link "apps/platform/app/Support/OpsUx/OperationRunProgressContract.php" [ref=e145] [cursor=pointer]: - /url: "#diff-af8b87c456c4a94716646dc84feac12360c69971" - button [ref=e146] [cursor=pointer]: - img [ref=e147] - link "Datei anzeigen" [ref=e151] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/app/Support/OpsUx/OperationRunProgressContract.php - table [ref=e154]: - rowgroup [ref=e161]: - 'row "@ -38,6 +38,13 @@ public static function forRun(OperationRun $run): array" [ref=e162]': - cell [ref=e163]: - button [ref=e165] [cursor=pointer]: - img [ref=e166] - cell [ref=e168] - cell [ref=e169] - 'cell "@ -38,6 +38,13 @@ public static function forRun(OperationRun $run): array" [ref=e170]': - code [ref=e171]: "@ -38,6 +38,13 @@ public static function forRun(OperationRun $run): array" - 'row "38 38 $context = is_array($run->context) ? $run->context : [];" [ref=e172]': - cell "38" [ref=e173]: "38" - cell "38" [ref=e174]: "38" - cell [ref=e175] - cell [ref=e176] - 'cell "$context = is_array($run->context) ? $run->context : [];" [ref=e177]': - code [ref=e178]: "$context = is_array($run->context) ? $run->context : [];" - row "39 39 $capability = self::capabilityForRun($run, $summaryCounts, $context);" [ref=e179]: - cell "39" [ref=e180]: "39" - cell "39" [ref=e181]: "39" - cell [ref=e182] - cell [ref=e183] - cell "$capability = self::capabilityForRun($run, $summaryCounts, $context);" [ref=e184]: - code [ref=e185]: $capability = self::capabilityForRun($run, $summaryCounts, $context); - row "40 40" [ref=e186]: - cell "40" [ref=e187]: "40" - cell "40" [ref=e188]: "40" - cell [ref=e189] - cell [ref=e190] - cell [ref=e191]: - code - 'row "41 + if ($run->isCurrentlyActive() && $run->freshnessState()->isLikelyStale()) {" [ref=e192]': - cell [ref=e193] - cell "41" [ref=e194]: "41" - cell [ref=e195] - cell "+" [ref=e196]: - generic [ref=e197]: + - 'cell "if ($run->isCurrentlyActive() && $run->freshnessState()->isLikelyStale()) {" [ref=e198]': - code [ref=e199]: "if ($run->isCurrentlyActive() && $run->freshnessState()->isLikelyStale()) {" - row "42 + return self::indeterminateModel(" [ref=e200]: - cell [ref=e201] - cell "42" [ref=e202]: "42" - cell [ref=e203] - cell "+" [ref=e204]: - generic [ref=e205]: + - cell "return self::indeterminateModel(" [ref=e206]: - code [ref=e207]: return self::indeterminateModel( - row "43 + $capability," [ref=e208]: - cell [ref=e209] - cell "43" [ref=e210]: "43" - cell [ref=e211] - cell "+" [ref=e212]: - generic [ref=e213]: + - cell "$capability," [ref=e214]: - code [ref=e215]: $capability, - row "44 + RunDurationInsights::stuckGuidance($run) ?? 'Past the lifecycle window. Review worker health and logs before retrying.'," [ref=e216]: - cell [ref=e217] - cell "44" [ref=e218]: "44" - cell [ref=e219] - cell "+" [ref=e220]: - generic [ref=e221]: + - cell "RunDurationInsights::stuckGuidance($run) ?? 'Past the lifecycle window. Review worker health and logs before retrying.'," [ref=e222]: - code [ref=e223]: RunDurationInsights::stuckGuidance($run) ?? 'Past the lifecycle window. Review worker health and logs before retrying.', - row "45 + );" [ref=e224]: - cell [ref=e225] - cell "45" [ref=e226]: "45" - cell [ref=e227] - cell "+" [ref=e228]: - generic [ref=e229]: + - cell ");" [ref=e230]: - code [ref=e231]: ); - 'row "46 + }" [ref=e232]': - cell [ref=e233] - cell "46" [ref=e234]: "46" - cell [ref=e235] - cell "+" [ref=e236]: - generic [ref=e237]: + - 'cell "}" [ref=e238]': - code [ref=e239]: "}" - row "47 +" [ref=e240]: - cell [ref=e241] - cell "47" [ref=e242]: "47" - cell [ref=e243] - cell "+" [ref=e244]: - generic [ref=e245]: + - cell [ref=e246]: - code - 'row "41 48 return match ($capability) {" [ref=e247]': - cell "41" [ref=e248]: "41" - cell "48" [ref=e249]: "48" - cell [ref=e250] - cell [ref=e251] - 'cell "return match ($capability) {" [ref=e252]': - code [ref=e253]: "return match ($capability) {" - row "42 49 self::COUNTED => self::countedModel($summaryCounts)," [ref=e254]: - cell "42" [ref=e255]: "42" - cell "49" [ref=e256]: "49" - cell [ref=e257] - cell [ref=e258] - cell "self::COUNTED => self::countedModel($summaryCounts)," [ref=e259]: - code [ref=e260]: self::COUNTED => self::countedModel($summaryCounts), - row "43 50 self::PHASED => self::phasedModel($run, $context)," [ref=e261]: - cell "43" [ref=e262]: "43" - cell "50" [ref=e263]: "50" - cell [ref=e264] - cell [ref=e265] - cell "self::PHASED => self::phasedModel($run, $context)," [ref=e266]: - code [ref=e267]: self::PHASED => self::phasedModel($run, $context), - 'row "@ -411,4 +418,4 @@ private static function intOrNull(mixed $value): ?int" [ref=e268]': - cell [ref=e269]: - generic [ref=e270]: - button [ref=e271] [cursor=pointer]: - img [ref=e272] - button [ref=e274] [cursor=pointer]: - img [ref=e275] - cell [ref=e277] - cell [ref=e278] - 'cell "@ -411,4 +418,4 @@ private static function intOrNull(mixed $value): ?int" [ref=e279]': - code [ref=e280]: "@ -411,4 +418,4 @@ private static function intOrNull(mixed $value): ?int" - 'row "411 418 {" [ref=e281]': - cell "411" [ref=e282]: "411" - cell "418" [ref=e283]: "418" - cell [ref=e284] - cell [ref=e285] - 'cell "{" [ref=e286]': - code [ref=e287]: "{" - 'row "412 419 return is_int($value) ? $value : null;" [ref=e288]': - cell "412" [ref=e289]: "412" - cell "419" [ref=e290]: "419" - cell [ref=e291] - cell [ref=e292] - 'cell "return is_int($value) ? $value : null;" [ref=e293]': - code [ref=e294]: "return is_int($value) ? $value : null;" - 'row "413 420 }" [ref=e295]': - cell "413" [ref=e296]: "413" - cell "420" [ref=e297]: "420" - cell [ref=e298] - cell [ref=e299] - 'cell "}" [ref=e300]': - code [ref=e301]: "}" - 'row "414 - }" [ref=e302]': - cell "414" [ref=e303]: "414" - cell [ref=e304] - cell [ref=e305] - cell "-" [ref=e306]: - generic [ref=e307]: "-" - 'cell "}" [ref=e308]': - code [ref=e309]: "}" - 'row "421 + }" [ref=e310]': - cell [ref=e311] - cell "421" [ref=e312]: "421" - cell [ref=e313] - cell "+" [ref=e314]: - generic [ref=e315]: + - 'cell "}" [ref=e316]': - code [ref=e317]: "}" - row [ref=e318]: - cell [ref=e319] - cell [ref=e320] - cell [ref=e321] - cell [ref=e322]: - code - generic [ref=e323]: - 'heading "3 3 Änderungen: 2 Ergänzungen und 1 Löschungen apps/platform/app/Support/OpsUx/OperationUxPresenter.php Datei anzeigen" [level=4] [ref=e324]': - generic [ref=e325]: - button [ref=e326] [cursor=pointer]: - img [ref=e327] - generic [ref=e329]: - text: "3" - 'generic "3 Änderungen: 2 Ergänzungen und 1 Löschungen" [ref=e330]' - generic [ref=e332]: - link "apps/platform/app/Support/OpsUx/OperationUxPresenter.php" [ref=e333] [cursor=pointer]: - /url: "#diff-1c19add1fd95c0b4bd4495ffc27d46c971c67709" - button [ref=e334] [cursor=pointer]: - img [ref=e335] - link "Datei anzeigen" [ref=e339] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/app/Support/OpsUx/OperationUxPresenter.php - table [ref=e342]: - rowgroup [ref=e349]: - 'row "@ -201,7 +201,8 @@ private static function buildSurfaceGuidance(OperationRun $run): ?string" [ref=e350]': - cell [ref=e351]: - button [ref=e353] [cursor=pointer]: - img [ref=e354] - cell [ref=e356] - cell [ref=e357] - 'cell "@ -201,7 +201,8 @@ private static function buildSurfaceGuidance(OperationRun $run): ?string" [ref=e358]': - code [ref=e359]: "@ -201,7 +201,8 @@ private static function buildSurfaceGuidance(OperationRun $run): ?string" - row "201 201 $freshnessState = self::freshnessState($run);" [ref=e360]: - cell "201" [ref=e361]: "201" - cell "201" [ref=e362]: "201" - cell [ref=e363] - cell [ref=e364] - cell "$freshnessState = self::freshnessState($run);" [ref=e365]: - code [ref=e366]: $freshnessState = self::freshnessState($run); - row "202 202" [ref=e367]: - cell "202" [ref=e368]: "202" - cell "202" [ref=e369]: "202" - cell [ref=e370] - cell [ref=e371] - cell [ref=e372]: - code - 'row "203 203 if ($freshnessState->isLikelyStale()) {" [ref=e373]': - cell "203" [ref=e374]: "203" - cell "203" [ref=e375]: "203" - cell [ref=e376] - cell [ref=e377] - 'cell "if ($freshnessState->isLikelyStale()) {" [ref=e378]': - code [ref=e379]: "if ($freshnessState->isLikelyStale()) {" - row "204 - return 'This operation is past its lifecycle window. Review worker health and logs before retrying from the start surface.';" [ref=e380]: - cell "204" [ref=e381]: "204" - cell [ref=e382] - cell [ref=e383] - cell "-" [ref=e384]: - generic [ref=e385]: "-" - cell "return 'This operation is past its lifecycle window. Review worker health and logs before retrying from the start surface.';" [ref=e386]: - code [ref=e387]: return 'This operation is past its lifecycle window. Review worker health and logs before retrying from the start surface.'; - row "204 + return RunDurationInsights::stuckGuidance($run)" [ref=e388]: - cell [ref=e389] - cell "204" [ref=e390]: "204" - cell [ref=e391] - cell "+" [ref=e392]: - generic [ref=e393]: + - cell "return RunDurationInsights::stuckGuidance($run)" [ref=e394]: - code [ref=e395]: return RunDurationInsights::stuckGuidance($run) - row "205 + ?? 'Past the lifecycle window. Review worker health and logs before retrying.';" [ref=e396]: - cell [ref=e397] - cell "205" [ref=e398]: "205" - cell [ref=e399] - cell "+" [ref=e400]: - generic [ref=e401]: + - cell "?? 'Past the lifecycle window. Review worker health and logs before retrying.';" [ref=e402]: - code [ref=e403]: "?? 'Past the lifecycle window. Review worker health and logs before retrying.';" - 'row "205 206 }" [ref=e404]': - cell "205" [ref=e405]: "205" - cell "206" [ref=e406]: "206" - cell [ref=e407] - cell [ref=e408] - 'cell "}" [ref=e409]': - code [ref=e410]: "}" - row "206 207" [ref=e411]: - cell "206" [ref=e412]: "206" - cell "207" [ref=e413]: "207" - cell [ref=e414] - cell [ref=e415] - cell [ref=e416]: - code - 'row "207 208 if ($freshnessState->isReconciledFailed()) {" [ref=e417]': - cell "207" [ref=e418]: "207" - cell "208" [ref=e419]: "208" - cell [ref=e420] - cell [ref=e421] - 'cell "if ($freshnessState->isReconciledFailed()) {" [ref=e422]': - code [ref=e423]: "if ($freshnessState->isReconciledFailed()) {" - row [ref=e424]: - cell [ref=e425]: - button [ref=e427] [cursor=pointer]: - img [ref=e428] - cell [ref=e430] - cell [ref=e431] - cell [ref=e432]: - code - generic [ref=e433]: - 'heading "9 9 Änderungen: 7 Ergänzungen und 2 Löschungen apps/platform/resources/views/livewire/bulk-operation-progress.blade.php Datei anzeigen" [level=4] [ref=e434]': - generic [ref=e435]: - button [ref=e436] [cursor=pointer]: - img [ref=e437] - generic [ref=e439]: - text: "9" - 'generic "9 Änderungen: 7 Ergänzungen und 2 Löschungen" [ref=e440]' - generic [ref=e442]: - link "apps/platform/resources/views/livewire/bulk-operation-progress.blade.php" [ref=e443] [cursor=pointer]: - /url: "#diff-3037cccd64c0a0bbd6b4146e8fefb38b64c8633e" - button [ref=e444] [cursor=pointer]: - img [ref=e445] - link "Datei anzeigen" [ref=e449] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/resources/views/livewire/bulk-operation-progress.blade.php - table [ref=e452]: - rowgroup [ref=e459]: - row "@ -13,8 +13,14 @@" [ref=e460]: - cell [ref=e461]: - button [ref=e463] [cursor=pointer]: - img [ref=e464] - cell [ref=e466] - cell [ref=e467] - cell "@ -13,8 +13,14 @@" [ref=e468]: - code [ref=e469]: "@ -13,8 +13,14 @@" - 'row "13 13 $operationsIndexUrl = $tenant ? \\App\\Support\\OpsUx\\OperationRunUrl::index($tenant) : null;" [ref=e470]': - cell "13" [ref=e471]: "13" - cell "13" [ref=e472]: "13" - cell [ref=e473] - cell [ref=e474] - 'cell "$operationsIndexUrl = $tenant ? \\App\\Support\\OpsUx\\OperationRunUrl::index($tenant) : null;" [ref=e475]': - code [ref=e476]: "$operationsIndexUrl = $tenant ? \\App\\Support\\OpsUx\\OperationRunUrl::index($tenant) : null;" - 'row "14 14 $primaryActionLabel = $usesCollectivePrimaryAction ? ''Review operations'' : ''View operation'';" [ref=e477]': - cell "14" [ref=e478]: "14" - cell "14" [ref=e479]: "14" - cell [ref=e480] - cell [ref=e481] - 'cell "$primaryActionLabel = $usesCollectivePrimaryAction ? ''Review operations'' : ''View operation'';" [ref=e482]': - code [ref=e483]: "$primaryActionLabel = $usesCollectivePrimaryAction ? 'Review operations' : 'View operation';" - 'row "15 15 $bannerTitle = $hasActiveVisibleRuns && ! $hasTerminalVisibleRuns ? ''Active operations'' : ''Operation updates'';" [ref=e484]': - cell "15" [ref=e485]: "15" - cell "15" [ref=e486]: "15" - cell [ref=e487] - cell [ref=e488] - 'cell "$bannerTitle = $hasActiveVisibleRuns && ! $hasTerminalVisibleRuns ? ''Active operations'' : ''Operation updates'';" [ref=e489]': - code [ref=e490]: "$bannerTitle = $hasActiveVisibleRuns && ! $hasTerminalVisibleRuns ? 'Active operations' : 'Operation updates';" - row "16 + $hasStaleActiveVisibleRuns = $runs->contains(" [ref=e491]: - cell [ref=e492] - cell "16" [ref=e493]: "16" - cell [ref=e494] - cell "+" [ref=e495]: - generic [ref=e496]: + - cell "$hasStaleActiveVisibleRuns = $runs->contains(" [ref=e497]: - code [ref=e498]: $hasStaleActiveVisibleRuns = $runs->contains( - 'row "17 + fn ($run): bool => $run instanceof \\App\\Models\\OperationRun" [ref=e499]': - cell [ref=e500] - cell "17" [ref=e501]: "17" - cell [ref=e502] - cell "+" [ref=e503]: - generic [ref=e504]: + - 'cell "fn ($run): bool => $run instanceof \\App\\Models\\OperationRun" [ref=e505]': - code [ref=e506]: "fn ($run): bool => $run instanceof \\App\\Models\\OperationRun" - row "18 + && $run->isCurrentlyActive()" [ref=e507]: - cell [ref=e508] - cell "18" [ref=e509]: "18" - cell [ref=e510] - cell "+" [ref=e511]: - generic [ref=e512]: + - cell "&& $run->isCurrentlyActive()" [ref=e513]: - code [ref=e514]: "&& $run->isCurrentlyActive()" - row "19 + && $run->problemClass() === \\App\\Models\\OperationRun::PROBLEM_CLASS_ACTIVE_STALE_ATTENTION" [ref=e515]: - cell [ref=e516] - cell "19" [ref=e517]: "19" - cell [ref=e518] - cell "+" [ref=e519]: - generic [ref=e520]: + - cell "&& $run->problemClass() === \\App\\Models\\OperationRun::PROBLEM_CLASS_ACTIVE_STALE_ATTENTION" [ref=e521]: - code [ref=e522]: "&& $run->problemClass() === \\App\\Models\\OperationRun::PROBLEM_CLASS_ACTIVE_STALE_ATTENTION" - row "20 + );" [ref=e523]: - cell [ref=e524] - cell "20" [ref=e525]: "20" - cell [ref=e526] - cell "+" [ref=e527]: - generic [ref=e528]: + - cell ");" [ref=e529]: - code [ref=e530]: ); - 'row "16 21 $bannerHelper = match (true) {" [ref=e531]': - cell "16" [ref=e532]: "16" - cell "21" [ref=e533]: "21" - cell [ref=e534] - cell [ref=e535] - 'cell "$bannerHelper = match (true) {" [ref=e536]': - code [ref=e537]: "$bannerHelper = match (true) {" - row "17 22 $hasActiveVisibleRuns && $hasTerminalFollowUpVisibleRuns => 'Active and recent operation updates that may need review.'," [ref=e538]: - cell "17" [ref=e539]: "17" - cell "22" [ref=e540]: "22" - cell [ref=e541] - cell [ref=e542] - cell "$hasActiveVisibleRuns && $hasTerminalFollowUpVisibleRuns => 'Active and recent operation updates that may need review.'," [ref=e543]: - code [ref=e544]: $hasActiveVisibleRuns && $hasTerminalFollowUpVisibleRuns => 'Active and recent operation updates that may need review.', - row "23 + $hasStaleActiveVisibleRuns => 'One or more active operations are past their lifecycle window and need review.'," [ref=e545]: - cell [ref=e546] - cell "23" [ref=e547]: "23" - cell [ref=e548] - cell "+" [ref=e549]: - generic [ref=e550]: + - cell "$hasStaleActiveVisibleRuns => 'One or more active operations are past their lifecycle window and need review.'," [ref=e551]: - code [ref=e552]: $hasStaleActiveVisibleRuns => 'One or more active operations are past their lifecycle window and need review.', - row "18 24 $hasActiveVisibleRuns => 'Queued and running work stays here until diagnostics are needed.'," [ref=e553]: - cell "18" [ref=e554]: "18" - cell "24" [ref=e555]: "24" - cell [ref=e556] - cell [ref=e557] - cell "$hasActiveVisibleRuns => 'Queued and running work stays here until diagnostics are needed.'," [ref=e558]: - code [ref=e559]: $hasActiveVisibleRuns => 'Queued and running work stays here until diagnostics are needed.', - row "19 25 $hasTerminalFollowUpVisibleRuns => 'Recent operation updates that may need review.'," [ref=e560]: - cell "19" [ref=e561]: "19" - cell "25" [ref=e562]: "25" - cell [ref=e563] - cell [ref=e564] - cell "$hasTerminalFollowUpVisibleRuns => 'Recent operation updates that may need review.'," [ref=e565]: - code [ref=e566]: $hasTerminalFollowUpVisibleRuns => 'Recent operation updates that may need review.', - row "20 26 $hasTerminalVisibleRuns => 'Successful operation updates stay briefly visible so you can confirm completion and keep working.'," [ref=e567]: - cell "20" [ref=e568]: "20" - cell "26" [ref=e569]: "26" - cell [ref=e570] - cell [ref=e571] - cell "$hasTerminalVisibleRuns => 'Successful operation updates stay briefly visible so you can confirm completion and keep working.'," [ref=e572]: - code [ref=e573]: $hasTerminalVisibleRuns => 'Successful operation updates stay briefly visible so you can confirm completion and keep working.', - row "@ -111,8 +117,7 @@ class=\"inline-flex items-center justify-center rounded-lg border border-transpar" [ref=e574]: - cell [ref=e575]: - generic [ref=e576]: - button [ref=e577] [cursor=pointer]: - img [ref=e578] - button [ref=e580] [cursor=pointer]: - img [ref=e581] - cell [ref=e583] - cell [ref=e584] - cell "@ -111,8 +117,7 @@ class=\"inline-flex items-center justify-center rounded-lg border border-transpar" [ref=e585]: - code [ref=e586]: "@ -111,8 +117,7 @@ class=\"inline-flex items-center justify-center rounded-lg border border-transpar" - row "111 117 $progress = \\App\\Support\\OpsUx\\OperationRunProgressContract::forRun($run);" [ref=e587]: - cell "111" [ref=e588]: "111" - cell "117" [ref=e589]: "117" - cell [ref=e590] - cell [ref=e591] - cell "$progress = \\App\\Support\\OpsUx\\OperationRunProgressContract::forRun($run);" [ref=e592]: - code [ref=e593]: $progress = \App\Support\OpsUx\OperationRunProgressContract::forRun($run); - row "112 118 $hasDeterminateProgress = $progress['display'] === 'counted';" [ref=e594]: - cell "112" [ref=e595]: "112" - cell "118" [ref=e596]: "118" - cell [ref=e597] - cell [ref=e598] - cell "$hasDeterminateProgress = $progress['display'] === 'counted';" [ref=e599]: - code [ref=e600]: $hasDeterminateProgress = $progress['display'] === 'counted'; - row "113 119 $lifecycleAttention = \\App\\Support\\OpsUx\\OperationUxPresenter::lifecycleAttentionSummary($run);" [ref=e601]: - cell "113" [ref=e602]: "113" - cell "119" [ref=e603]: "119" - cell [ref=e604] - cell [ref=e605] - cell "$lifecycleAttention = \\App\\Support\\OpsUx\\OperationUxPresenter::lifecycleAttentionSummary($run);" [ref=e606]: - code [ref=e607]: $lifecycleAttention = \App\Support\OpsUx\OperationUxPresenter::lifecycleAttentionSummary($run); - row "114 - $showsLifecycleAttention = $lifecycleAttention !== null" [ref=e608]: - cell "114" [ref=e609]: "114" - cell [ref=e610] - cell [ref=e611] - cell "-" [ref=e612]: - generic [ref=e613]: "-" - cell "$showsLifecycleAttention = $lifecycleAttention !== null" [ref=e614]: - code [ref=e615]: $showsLifecycleAttention = $lifecycleAttention !== null - row "115 - && ($lifecycleAttention !== 'Likely stale' || $run->status === 'queued' || ! $hasDeterminateProgress);" [ref=e616]: - cell "115" [ref=e617]: "115" - cell [ref=e618] - cell [ref=e619] - cell "-" [ref=e620]: - generic [ref=e621]: "-" - cell "&& ($lifecycleAttention !== 'Likely stale' || $run->status === 'queued' || ! $hasDeterminateProgress);" [ref=e622]: - code [ref=e623]: "&& ($lifecycleAttention !== 'Likely stale' || $run->status === 'queued' || ! $hasDeterminateProgress);" - row "120 + $showsLifecycleAttention = $lifecycleAttention !== null;" [ref=e624]: - cell [ref=e625] - cell "120" [ref=e626]: "120" - cell [ref=e627] - cell "+" [ref=e628]: - generic [ref=e629]: + - cell "$showsLifecycleAttention = $lifecycleAttention !== null;" [ref=e630]: - code [ref=e631]: $showsLifecycleAttention = $lifecycleAttention !== null; - row "116 121 $progressLabel = $progress['label'];" [ref=e632]: - cell "116" [ref=e633]: "116" - cell "121" [ref=e634]: "121" - cell [ref=e635] - cell [ref=e636] - cell "$progressLabel = $progress['label'];" [ref=e637]: - code [ref=e638]: $progressLabel = $progress['label']; - row "117 122 $progressPercent = $progress['percent'];" [ref=e639]: - cell "117" [ref=e640]: "117" - cell "122" [ref=e641]: "122" - cell [ref=e642] - cell [ref=e643] - cell "$progressPercent = $progress['percent'];" [ref=e644]: - code [ref=e645]: $progressPercent = $progress['percent']; - row "118 123 $showsIndeterminateProgress = $progress['display'] === 'indeterminate';" [ref=e646]: - cell "118" [ref=e647]: "118" - cell "123" [ref=e648]: "123" - cell [ref=e649] - cell [ref=e650] - cell "$showsIndeterminateProgress = $progress['display'] === 'indeterminate';" [ref=e651]: - code [ref=e652]: $showsIndeterminateProgress = $progress['display'] === 'indeterminate'; - row [ref=e653]: - cell [ref=e654]: - button [ref=e656] [cursor=pointer]: - img [ref=e657] - cell [ref=e659] - cell [ref=e660] - cell [ref=e661]: - code - generic [ref=e662]: - 'heading "28 28 Änderungen: 28 Ergänzungen und 0 Löschungen apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php Datei anzeigen" [level=4] [ref=e663]': - generic [ref=e664]: - button [ref=e665] [cursor=pointer]: - img [ref=e666] - generic [ref=e668]: - text: "28" - 'generic "28 Änderungen: 28 Ergänzungen und 0 Löschungen" [ref=e669]' - generic [ref=e671]: - link "apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php" [ref=e672] [cursor=pointer]: - /url: "#diff-5e29ae6c499f78190dc7c64c7cf044bb0a43e995" - button [ref=e673] [cursor=pointer]: - img [ref=e674] - link "Datei anzeigen" [ref=e678] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php - table [ref=e681]: - rowgroup [ref=e688]: - 'row "@ -243,6 +243,34 @@ function baselineCompareGapContext(array $overrides = []): array" [ref=e689]': - cell [ref=e690]: - button [ref=e692] [cursor=pointer]: - img [ref=e693] - cell [ref=e695] - cell [ref=e696] - 'cell "@ -243,6 +243,34 @@ function baselineCompareGapContext(array $overrides = []): array" [ref=e697]': - code [ref=e698]: "@ -243,6 +243,34 @@ function baselineCompareGapContext(array $overrides = []): array" - row "243 243 ->and($bannerPosition)->toBeLessThan($decisionPosition);" [ref=e699]: - cell "243" [ref=e700]: "243" - cell "243" [ref=e701]: "243" - cell [ref=e702] - cell [ref=e703] - cell "->and($bannerPosition)->toBeLessThan($decisionPosition);" [ref=e704]: - code [ref=e705]: "->and($bannerPosition)->toBeLessThan($decisionPosition);" - 'row "244 244 });" [ref=e706]': - cell "244" [ref=e707]: "244" - cell "244" [ref=e708]: "244" - cell [ref=e709] - cell [ref=e710] - 'cell "});" [ref=e711]': - code [ref=e712]: "});" - row "245 245" [ref=e713]: - cell "245" [ref=e714]: "245" - cell "245" [ref=e715]: "245" - cell [ref=e716] - cell [ref=e717] - cell [ref=e718]: - code - 'row "246 + it(''keeps stale canonical detail aligned with lifecycle guidance instead of ordinary queued copy'', function (): void {" [ref=e719]': - cell [ref=e720] - cell "246" [ref=e721]: "246" - cell [ref=e722] - cell "+" [ref=e723]: - generic [ref=e724]: + - 'cell "it(''keeps stale canonical detail aligned with lifecycle guidance instead of ordinary queued copy'', function (): void {" [ref=e725]': - code [ref=e726]: "it('keeps stale canonical detail aligned with lifecycle guidance instead of ordinary queued copy', function (): void {" - 'row "247 + [$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e727]': - cell [ref=e728] - cell "247" [ref=e729]: "247" - cell [ref=e730] - cell "+" [ref=e731]: - generic [ref=e732]: + - 'cell "[$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e733]': - code [ref=e734]: "[$user, $tenant] = createUserWithTenant(role: 'owner');" - row "248 +" [ref=e735]: - cell [ref=e736] - cell "248" [ref=e737]: "248" - cell [ref=e738] - cell "+" [ref=e739]: - generic [ref=e740]: + - cell [ref=e741]: - code - row "249 + setAdminPanelContext();" [ref=e742]: - cell [ref=e743] - cell "249" [ref=e744]: "249" - cell [ref=e745] - cell "+" [ref=e746]: - generic [ref=e747]: + - cell "setAdminPanelContext();" [ref=e748]: - code [ref=e749]: setAdminPanelContext(); - row "250 +" [ref=e750]: - cell [ref=e751] - cell "250" [ref=e752]: "250" - cell [ref=e753] - cell "+" [ref=e754]: - generic [ref=e755]: + - cell [ref=e756]: - code - row "251 + $run = OperationRun::factory()->create([" [ref=e757]: - cell [ref=e758] - cell "251" [ref=e759]: "251" - cell [ref=e760] - cell "+" [ref=e761]: - generic [ref=e762]: + - cell "$run = OperationRun::factory()->create([" [ref=e763]: - code [ref=e764]: $run = OperationRun::factory()->create([ - row "252 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e765]: - cell [ref=e766] - cell "252" [ref=e767]: "252" - cell [ref=e768] - cell "+" [ref=e769]: - generic [ref=e770]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e771]: - code [ref=e772]: "'workspace_id' => (int) $tenant->workspace_id," - row "253 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e773]: - cell [ref=e774] - cell "253" [ref=e775]: "253" - cell [ref=e776] - cell "+" [ref=e777]: - generic [ref=e778]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e779]: - code [ref=e780]: "'managed_environment_id' => (int) $tenant->getKey()," - row "254 + 'type' => 'inventory_sync'," [ref=e781]: - cell [ref=e782] - cell "254" [ref=e783]: "254" - cell [ref=e784] - cell "+" [ref=e785]: - generic [ref=e786]: + - cell "'type' => 'inventory_sync'," [ref=e787]: - code [ref=e788]: "'type' => 'inventory_sync'," - row "255 + 'status' => OperationRunStatus::Queued->value," [ref=e789]: - cell [ref=e790] - cell "255" [ref=e791]: "255" - cell [ref=e792] - cell "+" [ref=e793]: - generic [ref=e794]: + - cell "'status' => OperationRunStatus::Queued->value," [ref=e795]: - code [ref=e796]: "'status' => OperationRunStatus::Queued->value," - row "256 + 'outcome' => OperationRunOutcome::Pending->value," [ref=e797]: - cell [ref=e798] - cell "256" [ref=e799]: "256" - cell [ref=e800] - cell "+" [ref=e801]: - generic [ref=e802]: + - cell "'outcome' => OperationRunOutcome::Pending->value," [ref=e803]: - code [ref=e804]: "'outcome' => OperationRunOutcome::Pending->value," - row "257 + 'created_at' => now()->subWeeks(2)," [ref=e805]: - cell [ref=e806] - cell "257" [ref=e807]: "257" - cell [ref=e808] - cell "+" [ref=e809]: - generic [ref=e810]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e811]: - code [ref=e812]: "'created_at' => now()->subWeeks(2)," - row "258 + ]);" [ref=e813]: - cell [ref=e814] - cell "258" [ref=e815]: "258" - cell [ref=e816] - cell "+" [ref=e817]: - generic [ref=e818]: + - cell "]);" [ref=e819]: - code [ref=e820]: "]);" - row "259 +" [ref=e821]: - cell [ref=e822] - cell "259" [ref=e823]: "259" - cell [ref=e824] - cell "+" [ref=e825]: - generic [ref=e826]: + - cell [ref=e827]: - code - row "260 + $response = $this->actingAs($user)" [ref=e828]: - cell [ref=e829] - cell "260" [ref=e830]: "260" - cell [ref=e831] - cell "+" [ref=e832]: - generic [ref=e833]: + - cell "$response = $this->actingAs($user)" [ref=e834]: - code [ref=e835]: $response = $this->actingAs($user) - row "261 + ->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e836]: - cell [ref=e837] - cell "261" [ref=e838]: "261" - cell [ref=e839] - cell "+" [ref=e840]: - generic [ref=e841]: + - cell "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e842]: - code [ref=e843]: "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" - row "262 + ->get(\\App\\Support\\OperationRunLinks::tenantlessView($run))" [ref=e844]: - cell [ref=e845] - cell "262" [ref=e846]: "262" - cell [ref=e847] - cell "+" [ref=e848]: - generic [ref=e849]: + - cell "->get(\\App\\Support\\OperationRunLinks::tenantlessView($run))" [ref=e850]: - code [ref=e851]: "->get(\\App\\Support\\OperationRunLinks::tenantlessView($run))" - row "263 + ->assertOk()" [ref=e852]: - cell [ref=e853] - cell "263" [ref=e854]: "263" - cell [ref=e855] - cell "+" [ref=e856]: - generic [ref=e857]: + - cell "->assertOk()" [ref=e858]: - code [ref=e859]: "->assertOk()" - row "264 + ->assertSee('Likely stale operation')" [ref=e860]: - cell [ref=e861] - cell "264" [ref=e862]: "264" - cell [ref=e863] - cell "+" [ref=e864]: - generic [ref=e865]: + - cell "->assertSee('Likely stale operation')" [ref=e866]: - code [ref=e867]: "->assertSee('Likely stale operation')" - row "265 + ->assertSee('Decision');" [ref=e868]: - cell [ref=e869] - cell "265" [ref=e870]: "265" - cell [ref=e871] - cell "+" [ref=e872]: - generic [ref=e873]: + - cell "->assertSee('Decision');" [ref=e874]: - code [ref=e875]: "->assertSee('Decision');" - row "266 +" [ref=e876]: - cell [ref=e877] - cell "266" [ref=e878]: "266" - cell [ref=e879] - cell "+" [ref=e880]: - generic [ref=e881]: + - cell [ref=e882]: - code - row "267 + $pageText = visiblePageText($response);" [ref=e883]: - cell [ref=e884] - cell "267" [ref=e885]: "267" - cell [ref=e886] - cell "+" [ref=e887]: - generic [ref=e888]: + - cell "$pageText = visiblePageText($response);" [ref=e889]: - code [ref=e890]: $pageText = visiblePageText($response); - row "268 +" [ref=e891]: - cell [ref=e892] - cell "268" [ref=e893]: "268" - cell [ref=e894] - cell "+" [ref=e895]: - generic [ref=e896]: + - cell [ref=e897]: - code - row "269 + expect($pageText)->toContain('past its lifecycle window')" [ref=e898]: - cell [ref=e899] - cell "269" [ref=e900]: "269" - cell [ref=e901] - cell "+" [ref=e902]: - generic [ref=e903]: + - cell "expect($pageText)->toContain('past its lifecycle window')" [ref=e904]: - code [ref=e905]: expect($pageText)->toContain('past its lifecycle window') - row "270 + ->not->toContain('No action needed yet. The operation is waiting for a worker.')" [ref=e906]: - cell [ref=e907] - cell "270" [ref=e908]: "270" - cell [ref=e909] - cell "+" [ref=e910]: - generic [ref=e911]: + - cell "->not->toContain('No action needed yet. The operation is waiting for a worker.')" [ref=e912]: - code [ref=e913]: "->not->toContain('No action needed yet. The operation is waiting for a worker.')" - row "271 + ->not->toContain('Waiting for worker.');" [ref=e914]: - cell [ref=e915] - cell "271" [ref=e916]: "271" - cell [ref=e917] - cell "+" [ref=e918]: - generic [ref=e919]: + - cell "->not->toContain('Waiting for worker.');" [ref=e920]: - code [ref=e921]: "->not->toContain('Waiting for worker.');" - 'row "272 + });" [ref=e922]': - cell [ref=e923] - cell "272" [ref=e924]: "272" - cell [ref=e925] - cell "+" [ref=e926]: - generic [ref=e927]: + - 'cell "});" [ref=e928]': - code [ref=e929]: "});" - row "273 +" [ref=e930]: - cell [ref=e931] - cell "273" [ref=e932]: "273" - cell [ref=e933] - cell "+" [ref=e934]: - generic [ref=e935]: + - cell [ref=e936]: - code - 'row "246 274 it(''renders explicit sparse-data fallbacks for operation runs'', function (): void {" [ref=e937]': - cell "246" [ref=e938]: "246" - cell "274" [ref=e939]: "274" - cell [ref=e940] - cell [ref=e941] - 'cell "it(''renders explicit sparse-data fallbacks for operation runs'', function (): void {" [ref=e942]': - code [ref=e943]: "it('renders explicit sparse-data fallbacks for operation runs', function (): void {" - row "247 275 $workspace = Workspace::factory()->create();" [ref=e944]: - cell "247" [ref=e945]: "247" - cell "275" [ref=e946]: "275" - cell [ref=e947] - cell [ref=e948] - cell "$workspace = Workspace::factory()->create();" [ref=e949]: - code [ref=e950]: $workspace = Workspace::factory()->create(); - row "248 276 $user = User::factory()->create();" [ref=e951]: - cell "248" [ref=e952]: "248" - cell "276" [ref=e953]: "276" - cell [ref=e954] - cell [ref=e955] - cell "$user = User::factory()->create();" [ref=e956]: - code [ref=e957]: $user = User::factory()->create(); - row [ref=e958]: - cell [ref=e959]: - button [ref=e961] [cursor=pointer]: - img [ref=e962] - cell [ref=e964] - cell [ref=e965] - cell [ref=e966]: - code - generic [ref=e967]: - 'heading "26 26 Änderungen: 26 Ergänzungen und 0 Löschungen apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php Datei anzeigen" [level=4] [ref=e968]': - generic [ref=e969]: - button [ref=e970] [cursor=pointer]: - img [ref=e971] - generic [ref=e973]: - text: "26" - 'generic "26 Änderungen: 26 Ergänzungen und 0 Löschungen" [ref=e974]' - generic [ref=e976]: - link "apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php" [ref=e977] [cursor=pointer]: - /url: "#diff-4ad868f31240549fa538ce94de7e0c20c547e7da" - button [ref=e978] [cursor=pointer]: - img [ref=e979] - link "Datei anzeigen" [ref=e983] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php - table [ref=e986]: - rowgroup [ref=e993]: - row "@ -115,3 +115,29 @@" [ref=e994]: - cell [ref=e995]: - button [ref=e997] [cursor=pointer]: - img [ref=e998] - cell [ref=e1000] - cell [ref=e1001] - cell "@ -115,3 +115,29 @@" [ref=e1002]: - code [ref=e1003]: "@ -115,3 +115,29 @@" - row "115 115 ->assertDontSee('Operation finished Unknown')" [ref=e1004]: - cell "115" [ref=e1005]: "115" - cell "115" [ref=e1006]: "115" - cell [ref=e1007] - cell [ref=e1008] - cell "->assertDontSee('Operation finished Unknown')" [ref=e1009]: - code [ref=e1010]: "->assertDontSee('Operation finished Unknown')" - row "116 116 ->assertDontSee('Completed with follow-up Unknown');" [ref=e1011]: - cell "116" [ref=e1012]: "116" - cell "116" [ref=e1013]: "116" - cell [ref=e1014] - cell [ref=e1015] - cell "->assertDontSee('Completed with follow-up Unknown');" [ref=e1016]: - code [ref=e1017]: "->assertDontSee('Completed with follow-up Unknown');" - 'row "117 117 });" [ref=e1018]': - cell "117" [ref=e1019]: "117" - cell "117" [ref=e1020]: "117" - cell [ref=e1021] - cell [ref=e1022] - 'cell "});" [ref=e1023]': - code [ref=e1024]: "});" - row "118 +" [ref=e1025]: - cell [ref=e1026] - cell "118" [ref=e1027]: "118" - cell [ref=e1028] - cell "+" [ref=e1029]: - generic [ref=e1030]: + - cell [ref=e1031]: - code - 'row "119 + it(''subordinates stale running progress to lifecycle guidance on the operations workbench'', function (): void {" [ref=e1032]': - cell [ref=e1033] - cell "119" [ref=e1034]: "119" - cell [ref=e1035] - cell "+" [ref=e1036]: - generic [ref=e1037]: + - 'cell "it(''subordinates stale running progress to lifecycle guidance on the operations workbench'', function (): void {" [ref=e1038]': - code [ref=e1039]: "it('subordinates stale running progress to lifecycle guidance on the operations workbench', function (): void {" - 'row "120 + [$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e1040]': - cell [ref=e1041] - cell "120" [ref=e1042]: "120" - cell [ref=e1043] - cell "+" [ref=e1044]: - generic [ref=e1045]: + - 'cell "[$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e1046]': - code [ref=e1047]: "[$user, $tenant] = createUserWithTenant(role: 'owner');" - row "121 +" [ref=e1048]: - cell [ref=e1049] - cell "121" [ref=e1050]: "121" - cell [ref=e1051] - cell "+" [ref=e1052]: - generic [ref=e1053]: + - cell [ref=e1054]: - code - row "122 + OperationRun::factory()->create([" [ref=e1055]: - cell [ref=e1056] - cell "122" [ref=e1057]: "122" - cell [ref=e1058] - cell "+" [ref=e1059]: - generic [ref=e1060]: + - cell "OperationRun::factory()->create([" [ref=e1061]: - code [ref=e1062]: OperationRun::factory()->create([ - row "123 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e1063]: - cell [ref=e1064] - cell "123" [ref=e1065]: "123" - cell [ref=e1066] - cell "+" [ref=e1067]: - generic [ref=e1068]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e1069]: - code [ref=e1070]: "'managed_environment_id' => (int) $tenant->getKey()," - row "124 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e1071]: - cell [ref=e1072] - cell "124" [ref=e1073]: "124" - cell [ref=e1074] - cell "+" [ref=e1075]: - generic [ref=e1076]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e1077]: - code [ref=e1078]: "'workspace_id' => (int) $tenant->workspace_id," - row "125 + 'type' => 'inventory_sync'," [ref=e1079]: - cell [ref=e1080] - cell "125" [ref=e1081]: "125" - cell [ref=e1082] - cell "+" [ref=e1083]: - generic [ref=e1084]: + - cell "'type' => 'inventory_sync'," [ref=e1085]: - code [ref=e1086]: "'type' => 'inventory_sync'," - row "126 + 'status' => 'running'," [ref=e1087]: - cell [ref=e1088] - cell "126" [ref=e1089]: "126" - cell [ref=e1090] - cell "+" [ref=e1091]: - generic [ref=e1092]: + - cell "'status' => 'running'," [ref=e1093]: - code [ref=e1094]: "'status' => 'running'," - row "127 + 'outcome' => 'pending'," [ref=e1095]: - cell [ref=e1096] - cell "127" [ref=e1097]: "127" - cell [ref=e1098] - cell "+" [ref=e1099]: - generic [ref=e1100]: + - cell "'outcome' => 'pending'," [ref=e1101]: - code [ref=e1102]: "'outcome' => 'pending'," - row "128 + 'summary_counts' => [" [ref=e1103]: - cell [ref=e1104] - cell "128" [ref=e1105]: "128" - cell [ref=e1106] - cell "+" [ref=e1107]: - generic [ref=e1108]: + - cell "'summary_counts' => [" [ref=e1109]: - code [ref=e1110]: "'summary_counts' => [" - row "129 + 'total' => 10," [ref=e1111]: - cell [ref=e1112] - cell "129" [ref=e1113]: "129" - cell [ref=e1114] - cell "+" [ref=e1115]: - generic [ref=e1116]: + - cell "'total' => 10," [ref=e1117]: - code [ref=e1118]: "'total' => 10," - row "130 + 'processed' => 4," [ref=e1119]: - cell [ref=e1120] - cell "130" [ref=e1121]: "130" - cell [ref=e1122] - cell "+" [ref=e1123]: - generic [ref=e1124]: + - cell "'processed' => 4," [ref=e1125]: - code [ref=e1126]: "'processed' => 4," - row "131 + ]," [ref=e1127]: - cell [ref=e1128] - cell "131" [ref=e1129]: "131" - cell [ref=e1130] - cell "+" [ref=e1131]: - generic [ref=e1132]: + - cell "]," [ref=e1133]: - code [ref=e1134]: "]," - row "132 + 'started_at' => now()->subWeeks(2)," [ref=e1135]: - cell [ref=e1136] - cell "132" [ref=e1137]: "132" - cell [ref=e1138] - cell "+" [ref=e1139]: - generic [ref=e1140]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e1141]: - code [ref=e1142]: "'started_at' => now()->subWeeks(2)," - row "133 + 'created_at' => now()->subWeeks(2)," [ref=e1143]: - cell [ref=e1144] - cell "133" [ref=e1145]: "133" - cell [ref=e1146] - cell "+" [ref=e1147]: - generic [ref=e1148]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e1149]: - code [ref=e1150]: "'created_at' => now()->subWeeks(2)," - row "134 + ]);" [ref=e1151]: - cell [ref=e1152] - cell "134" [ref=e1153]: "134" - cell [ref=e1154] - cell "+" [ref=e1155]: - generic [ref=e1156]: + - cell "]);" [ref=e1157]: - code [ref=e1158]: "]);" - row "135 +" [ref=e1159]: - cell [ref=e1160] - cell "135" [ref=e1161]: "135" - cell [ref=e1162] - cell "+" [ref=e1163]: - generic [ref=e1164]: + - cell [ref=e1165]: - code - row "136 + $this->actingAs($user)" [ref=e1166]: - cell [ref=e1167] - cell "136" [ref=e1168]: "136" - cell [ref=e1169] - cell "+" [ref=e1170]: - generic [ref=e1171]: + - cell "$this->actingAs($user)" [ref=e1172]: - code [ref=e1173]: $this->actingAs($user) - row "137 + ->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e1174]: - cell [ref=e1175] - cell "137" [ref=e1176]: "137" - cell [ref=e1177] - cell "+" [ref=e1178]: - generic [ref=e1179]: + - cell "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e1180]: - code [ref=e1181]: "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" - row "138 + ->get(\\App\\Support\\OperationRunLinks::index())" [ref=e1182]: - cell [ref=e1183] - cell "138" [ref=e1184]: "138" - cell [ref=e1185] - cell "+" [ref=e1186]: - generic [ref=e1187]: + - cell "->get(\\App\\Support\\OperationRunLinks::index())" [ref=e1188]: - code [ref=e1189]: "->get(\\App\\Support\\OperationRunLinks::index())" - row "139 + ->assertOk()" [ref=e1190]: - cell [ref=e1191] - cell "139" [ref=e1192]: "139" - cell [ref=e1193] - cell "+" [ref=e1194]: - generic [ref=e1195]: + - cell "->assertOk()" [ref=e1196]: - code [ref=e1197]: "->assertOk()" - row "140 + ->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e1198]: - cell [ref=e1199] - cell "140" [ref=e1200]: "140" - cell [ref=e1201] - cell "+" [ref=e1202]: - generic [ref=e1203]: + - cell "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e1204]: - code [ref=e1205]: "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" - row "141 + ->assertDontSee('4 / 10 processed (40%)')" [ref=e1206]: - cell [ref=e1207] - cell "141" [ref=e1208]: "141" - cell [ref=e1209] - cell "+" [ref=e1210]: - generic [ref=e1211]: + - cell "->assertDontSee('4 / 10 processed (40%)')" [ref=e1212]: - code [ref=e1213]: "->assertDontSee('4 / 10 processed (40%)')" - row "142 + ->assertDontSee('Progress details pending.');" [ref=e1214]: - cell [ref=e1215] - cell "142" [ref=e1216]: "142" - cell [ref=e1217] - cell "+" [ref=e1218]: - generic [ref=e1219]: + - cell "->assertDontSee('Progress details pending.');" [ref=e1220]: - code [ref=e1221]: "->assertDontSee('Progress details pending.');" - 'row "143 + });" [ref=e1222]': - cell [ref=e1223] - cell "143" [ref=e1224]: "143" - cell [ref=e1225] - cell "+" [ref=e1226]: - generic [ref=e1227]: + - 'cell "});" [ref=e1228]': - code [ref=e1229]: "});" - row [ref=e1230]: - cell [ref=e1231] - cell [ref=e1232] - cell [ref=e1233] - cell [ref=e1234]: - code - generic [ref=e1235]: - 'heading "6 6 Änderungen: 5 Ergänzungen und 1 Löschungen apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php Datei anzeigen" [level=4] [ref=e1236]': - generic [ref=e1237]: - button [ref=e1238] [cursor=pointer]: - img [ref=e1239] - generic [ref=e1241]: - text: "6" - 'generic "6 Änderungen: 5 Ergänzungen und 1 Löschungen" [ref=e1242]' - generic [ref=e1244]: - link "apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php" [ref=e1245] [cursor=pointer]: - /url: "#diff-47ac8fb6334ab7b20743abbd9ef0a58338ba9eaf" - button [ref=e1246] [cursor=pointer]: - img [ref=e1247] - link "Datei anzeigen" [ref=e1251] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php - table [ref=e1254]: - rowgroup [ref=e1261]: - row "@ -45,6 +45,8 @@" [ref=e1262]: - cell [ref=e1263]: - button [ref=e1265] [cursor=pointer]: - img [ref=e1266] - cell [ref=e1268] - cell [ref=e1269] - cell "@ -45,6 +45,8 @@" [ref=e1270]: - code [ref=e1271]: "@ -45,6 +45,8 @@" - row "45 45 ->get(\\App\\Support\\OperationRunLinks::index())" [ref=e1272]: - cell "45" [ref=e1273]: "45" - cell "45" [ref=e1274]: "45" - cell [ref=e1275] - cell [ref=e1276] - cell "->get(\\App\\Support\\OperationRunLinks::index())" [ref=e1277]: - code [ref=e1278]: "->get(\\App\\Support\\OperationRunLinks::index())" - row "46 46 ->assertOk()" [ref=e1279]: - cell "46" [ref=e1280]: "46" - cell "46" [ref=e1281]: "46" - cell [ref=e1282] - cell [ref=e1283] - cell "->assertOk()" [ref=e1284]: - code [ref=e1285]: "->assertOk()" - row "47 47 ->assertSee('Likely stale')" [ref=e1286]: - cell "47" [ref=e1287]: "47" - cell "47" [ref=e1288]: "47" - cell [ref=e1289] - cell [ref=e1290] - cell "->assertSee('Likely stale')" [ref=e1291]: - code [ref=e1292]: "->assertSee('Likely stale')" - row "48 + ->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e1293]: - cell [ref=e1294] - cell "48" [ref=e1295]: "48" - cell [ref=e1296] - cell "+" [ref=e1297]: - generic [ref=e1298]: + - cell "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e1299]: - code [ref=e1300]: "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" - row "49 + ->assertDontSee('Progress details pending.')" [ref=e1301]: - cell [ref=e1302] - cell "49" [ref=e1303]: "49" - cell [ref=e1304] - cell "+" [ref=e1305]: - generic [ref=e1306]: + - cell "->assertDontSee('Progress details pending.')" [ref=e1307]: - code [ref=e1308]: "->assertDontSee('Progress details pending.')" - row "48 50 ->assertSee('belong in terminal follow-up');" [ref=e1309]: - cell "48" [ref=e1310]: "48" - cell "50" [ref=e1311]: "50" - cell [ref=e1312] - cell [ref=e1313] - cell "->assertSee('belong in terminal follow-up');" [ref=e1314]: - code [ref=e1315]: "->assertSee('belong in terminal follow-up');" - row "49 51" [ref=e1316]: - cell "49" [ref=e1317]: "49" - cell "51" [ref=e1318]: "51" - cell [ref=e1319] - cell [ref=e1320] - cell [ref=e1321]: - code - row "50 52 $this->actingAs($user)" [ref=e1322]: - cell "50" [ref=e1323]: "50" - cell "52" [ref=e1324]: "52" - cell [ref=e1325] - cell [ref=e1326] - cell "$this->actingAs($user)" [ref=e1327]: - code [ref=e1328]: $this->actingAs($user) - row "@ -58,7 +60,9 @@" [ref=e1329]: - cell [ref=e1330]: - button [ref=e1332] [cursor=pointer]: - img [ref=e1333] - cell [ref=e1335] - cell [ref=e1336] - cell "@ -58,7 +60,9 @@" [ref=e1337]: - code [ref=e1338]: "@ -58,7 +60,9 @@" - row "58 60 ->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e1339]: - cell "58" [ref=e1340]: "58" - cell "60" [ref=e1341]: "60" - cell [ref=e1342] - cell [ref=e1343] - cell "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e1344]: - code [ref=e1345]: "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" - row "59 61 ->get(\\App\\Support\\OperationRunLinks::tenantlessView($staleRun))" [ref=e1346]: - cell "59" [ref=e1347]: "59" - cell "61" [ref=e1348]: "61" - cell [ref=e1349] - cell [ref=e1350] - cell "->get(\\App\\Support\\OperationRunLinks::tenantlessView($staleRun))" [ref=e1351]: - code [ref=e1352]: "->get(\\App\\Support\\OperationRunLinks::tenantlessView($staleRun))" - row "60 62 ->assertOk()" [ref=e1353]: - cell "60" [ref=e1354]: "60" - cell "62" [ref=e1355]: "62" - cell [ref=e1356] - cell [ref=e1357] - cell "->assertOk()" [ref=e1358]: - code [ref=e1359]: "->assertOk()" - row "61 - ->assertSee('Likely stale operation');" [ref=e1360]: - cell "61" [ref=e1361]: "61" - cell [ref=e1362] - cell [ref=e1363] - cell "-" [ref=e1364]: - generic [ref=e1365]: "-" - cell "->assertSee('Likely stale operation');" [ref=e1366]: - code [ref=e1367]: "->assertSee('Likely stale operation');" - row "63 + ->assertSee('Likely stale operation')" [ref=e1368]: - cell [ref=e1369] - cell "63" [ref=e1370]: "63" - cell [ref=e1371] - cell "+" [ref=e1372]: - generic [ref=e1373]: + - cell "->assertSee('Likely stale operation')" [ref=e1374]: - code [ref=e1375]: "->assertSee('Likely stale operation')" - row "64 + ->assertDontSee('No action needed yet. The operation is currently in progress.')" [ref=e1376]: - cell [ref=e1377] - cell "64" [ref=e1378]: "64" - cell [ref=e1379] - cell "+" [ref=e1380]: - generic [ref=e1381]: + - cell "->assertDontSee('No action needed yet. The operation is currently in progress.')" [ref=e1382]: - code [ref=e1383]: "->assertDontSee('No action needed yet. The operation is currently in progress.')" - row "65 + ->assertDontSee('Progress details pending.');" [ref=e1384]: - cell [ref=e1385] - cell "65" [ref=e1386]: "65" - cell [ref=e1387] - cell "+" [ref=e1388]: - generic [ref=e1389]: + - cell "->assertDontSee('Progress details pending.');" [ref=e1390]: - code [ref=e1391]: "->assertDontSee('Progress details pending.');" - 'row "62 66 });" [ref=e1392]': - cell "62" [ref=e1393]: "62" - cell "66" [ref=e1394]: "66" - cell [ref=e1395] - cell [ref=e1396] - 'cell "});" [ref=e1397]': - code [ref=e1398]: "});" - row "63 67" [ref=e1399]: - cell "63" [ref=e1400]: "63" - cell "67" [ref=e1401]: "67" - cell [ref=e1402] - cell [ref=e1403] - cell [ref=e1404]: - code - 'row "64 68 it(''renders lifecycle outcome fallbacks when historical runs are missing stored outcomes'', function (): void {" [ref=e1405]': - cell "64" [ref=e1406]: "64" - cell "68" [ref=e1407]: "68" - cell [ref=e1408] - cell [ref=e1409] - 'cell "it(''renders lifecycle outcome fallbacks when historical runs are missing stored outcomes'', function (): void {" [ref=e1410]': - code [ref=e1411]: "it('renders lifecycle outcome fallbacks when historical runs are missing stored outcomes', function (): void {" - row [ref=e1412]: - cell [ref=e1413]: - button [ref=e1415] [cursor=pointer]: - img [ref=e1416] - cell [ref=e1418] - cell [ref=e1419] - cell [ref=e1420]: - code - generic [ref=e1421]: - 'heading "29 29 Änderungen: 29 Ergänzungen und 0 Löschungen apps/platform/tests/Feature/MonitoringOperationsTest.php Datei anzeigen" [level=4] [ref=e1422]': - generic [ref=e1423]: - button [ref=e1424] [cursor=pointer]: - img [ref=e1425] - generic [ref=e1427]: - text: "29" - 'generic "29 Änderungen: 29 Ergänzungen und 0 Löschungen" [ref=e1428]' - generic [ref=e1430]: - link "apps/platform/tests/Feature/MonitoringOperationsTest.php" [ref=e1431] [cursor=pointer]: - /url: "#diff-d10bc881823900fad101572aee338ca92084fb34" - button [ref=e1432] [cursor=pointer]: - img [ref=e1433] - link "Datei anzeigen" [ref=e1437] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/MonitoringOperationsTest.php - table [ref=e1440]: - rowgroup [ref=e1447]: - row "@ -186,3 +186,32 @@" [ref=e1448]: - cell [ref=e1449]: - button [ref=e1451] [cursor=pointer]: - img [ref=e1452] - cell [ref=e1454] - cell [ref=e1455] - cell "@ -186,3 +186,32 @@" [ref=e1456]: - code [ref=e1457]: "@ -186,3 +186,32 @@" - row "186 186 ->toContain('data-shared-detail-family=\"verification-report\"')" [ref=e1458]: - cell "186" [ref=e1459]: "186" - cell "186" [ref=e1460]: "186" - cell [ref=e1461] - cell [ref=e1462] - cell "->toContain('data-shared-detail-family=\"verification-report\"')" [ref=e1463]: - code [ref=e1464]: "->toContain('data-shared-detail-family=\"verification-report\"')" - row "187 187 ->toContain('data-host-kind=\"operation_run_detail\"');" [ref=e1465]: - cell "187" [ref=e1466]: "187" - cell "187" [ref=e1467]: "187" - cell [ref=e1468] - cell [ref=e1469] - cell "->toContain('data-host-kind=\"operation_run_detail\"');" [ref=e1470]: - code [ref=e1471]: "->toContain('data-host-kind=\"operation_run_detail\"');" - 'row "188 188 });" [ref=e1472]': - cell "188" [ref=e1473]: "188" - cell "188" [ref=e1474]: "188" - cell [ref=e1475] - cell [ref=e1476] - 'cell "});" [ref=e1477]': - code [ref=e1478]: "});" - row "189 +" [ref=e1479]: - cell [ref=e1480] - cell "189" [ref=e1481]: "189" - cell [ref=e1482] - cell "+" [ref=e1483]: - generic [ref=e1484]: + - cell [ref=e1485]: - code - 'row "190 + it(''keeps workspace monitoring guidance stale-first when an active run is beyond its lifecycle window'', function (): void {" [ref=e1486]': - cell [ref=e1487] - cell "190" [ref=e1488]: "190" - cell [ref=e1489] - cell "+" [ref=e1490]: - generic [ref=e1491]: + - 'cell "it(''keeps workspace monitoring guidance stale-first when an active run is beyond its lifecycle window'', function (): void {" [ref=e1492]': - code [ref=e1493]: "it('keeps workspace monitoring guidance stale-first when an active run is beyond its lifecycle window', function (): void {" - row "191 + $tenant = ManagedEnvironment::factory()->create();" [ref=e1494]: - cell [ref=e1495] - cell "191" [ref=e1496]: "191" - cell [ref=e1497] - cell "+" [ref=e1498]: - generic [ref=e1499]: + - cell "$tenant = ManagedEnvironment::factory()->create();" [ref=e1500]: - code [ref=e1501]: $tenant = ManagedEnvironment::factory()->create(); - 'row "192 + [$user, $tenant] = createUserWithTenant($tenant, role: ''owner'');" [ref=e1502]': - cell [ref=e1503] - cell "192" [ref=e1504]: "192" - cell [ref=e1505] - cell "+" [ref=e1506]: - generic [ref=e1507]: + - 'cell "[$user, $tenant] = createUserWithTenant($tenant, role: ''owner'');" [ref=e1508]': - code [ref=e1509]: "[$user, $tenant] = createUserWithTenant($tenant, role: 'owner');" - row "193 +" [ref=e1510]: - cell [ref=e1511] - cell "193" [ref=e1512]: "193" - cell [ref=e1513] - cell "+" [ref=e1514]: - generic [ref=e1515]: + - cell [ref=e1516]: - code - row "194 + OperationRun::factory()->create([" [ref=e1517]: - cell [ref=e1518] - cell "194" [ref=e1519]: "194" - cell [ref=e1520] - cell "+" [ref=e1521]: - generic [ref=e1522]: + - cell "OperationRun::factory()->create([" [ref=e1523]: - code [ref=e1524]: OperationRun::factory()->create([ - row "195 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e1525]: - cell [ref=e1526] - cell "195" [ref=e1527]: "195" - cell [ref=e1528] - cell "+" [ref=e1529]: - generic [ref=e1530]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e1531]: - code [ref=e1532]: "'managed_environment_id' => (int) $tenant->getKey()," - row "196 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e1533]: - cell [ref=e1534] - cell "196" [ref=e1535]: "196" - cell [ref=e1536] - cell "+" [ref=e1537]: - generic [ref=e1538]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e1539]: - code [ref=e1540]: "'workspace_id' => (int) $tenant->workspace_id," - row "197 + 'type' => 'inventory_sync'," [ref=e1541]: - cell [ref=e1542] - cell "197" [ref=e1543]: "197" - cell [ref=e1544] - cell "+" [ref=e1545]: - generic [ref=e1546]: + - cell "'type' => 'inventory_sync'," [ref=e1547]: - code [ref=e1548]: "'type' => 'inventory_sync'," - row "198 + 'status' => 'running'," [ref=e1549]: - cell [ref=e1550] - cell "198" [ref=e1551]: "198" - cell [ref=e1552] - cell "+" [ref=e1553]: - generic [ref=e1554]: + - cell "'status' => 'running'," [ref=e1555]: - code [ref=e1556]: "'status' => 'running'," - row "199 + 'outcome' => 'pending'," [ref=e1557]: - cell [ref=e1558] - cell "199" [ref=e1559]: "199" - cell [ref=e1560] - cell "+" [ref=e1561]: - generic [ref=e1562]: + - cell "'outcome' => 'pending'," [ref=e1563]: - code [ref=e1564]: "'outcome' => 'pending'," - row "200 + 'summary_counts' => [" [ref=e1565]: - cell [ref=e1566] - cell "200" [ref=e1567]: "200" - cell [ref=e1568] - cell "+" [ref=e1569]: - generic [ref=e1570]: + - cell "'summary_counts' => [" [ref=e1571]: - code [ref=e1572]: "'summary_counts' => [" - row "201 + 'total' => 10," [ref=e1573]: - cell [ref=e1574] - cell "201" [ref=e1575]: "201" - cell [ref=e1576] - cell "+" [ref=e1577]: - generic [ref=e1578]: + - cell "'total' => 10," [ref=e1579]: - code [ref=e1580]: "'total' => 10," - row "202 + 'processed' => 4," [ref=e1581]: - cell [ref=e1582] - cell "202" [ref=e1583]: "202" - cell [ref=e1584] - cell "+" [ref=e1585]: - generic [ref=e1586]: + - cell "'processed' => 4," [ref=e1587]: - code [ref=e1588]: "'processed' => 4," - row "203 + ]," [ref=e1589]: - cell [ref=e1590] - cell "203" [ref=e1591]: "203" - cell [ref=e1592] - cell "+" [ref=e1593]: - generic [ref=e1594]: + - cell "]," [ref=e1595]: - code [ref=e1596]: "]," - row "204 + 'started_at' => now()->subWeeks(2)," [ref=e1597]: - cell [ref=e1598] - cell "204" [ref=e1599]: "204" - cell [ref=e1600] - cell "+" [ref=e1601]: - generic [ref=e1602]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e1603]: - code [ref=e1604]: "'started_at' => now()->subWeeks(2)," - row "205 + 'created_at' => now()->subWeeks(2)," [ref=e1605]: - cell [ref=e1606] - cell "205" [ref=e1607]: "205" - cell [ref=e1608] - cell "+" [ref=e1609]: - generic [ref=e1610]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e1611]: - code [ref=e1612]: "'created_at' => now()->subWeeks(2)," - row "206 + ]);" [ref=e1613]: - cell [ref=e1614] - cell "206" [ref=e1615]: "206" - cell [ref=e1616] - cell "+" [ref=e1617]: - generic [ref=e1618]: + - cell "]);" [ref=e1619]: - code [ref=e1620]: "]);" - row "207 +" [ref=e1621]: - cell [ref=e1622] - cell "207" [ref=e1623]: "207" - cell [ref=e1624] - cell "+" [ref=e1625]: - generic [ref=e1626]: + - cell [ref=e1627]: - code - row "208 + Filament::setTenant(null, true);" [ref=e1628]: - cell [ref=e1629] - cell "208" [ref=e1630]: "208" - cell [ref=e1631] - cell "+" [ref=e1632]: - generic [ref=e1633]: + - cell "Filament::setTenant(null, true);" [ref=e1634]: - code [ref=e1635]: Filament::setTenant(null, true); - row "209 +" [ref=e1636]: - cell [ref=e1637] - cell "209" [ref=e1638]: "209" - cell [ref=e1639] - cell "+" [ref=e1640]: - generic [ref=e1641]: + - cell [ref=e1642]: - code - row "210 + $this->actingAs($user)" [ref=e1643]: - cell [ref=e1644] - cell "210" [ref=e1645]: "210" - cell [ref=e1646] - cell "+" [ref=e1647]: - generic [ref=e1648]: + - cell "$this->actingAs($user)" [ref=e1649]: - code [ref=e1650]: $this->actingAs($user) - row "211 + ->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e1651]: - cell [ref=e1652] - cell "211" [ref=e1653]: "211" - cell [ref=e1654] - cell "+" [ref=e1655]: - generic [ref=e1656]: + - cell "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" [ref=e1657]: - code [ref=e1658]: "->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id])" - row "212 + ->get(route('admin.operations.index', ['workspace' => $tenant->workspace]))" [ref=e1659]: - cell [ref=e1660] - cell "212" [ref=e1661]: "212" - cell [ref=e1662] - cell "+" [ref=e1663]: - generic [ref=e1664]: + - cell "->get(route('admin.operations.index', ['workspace' => $tenant->workspace]))" [ref=e1665]: - code [ref=e1666]: "->get(route('admin.operations.index', ['workspace' => $tenant->workspace]))" - row "213 + ->assertSuccessful()" [ref=e1667]: - cell [ref=e1668] - cell "213" [ref=e1669]: "213" - cell [ref=e1670] - cell "+" [ref=e1671]: - generic [ref=e1672]: + - cell "->assertSuccessful()" [ref=e1673]: - code [ref=e1674]: "->assertSuccessful()" - row "214 + ->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e1675]: - cell [ref=e1676] - cell "214" [ref=e1677]: "214" - cell [ref=e1678] - cell "+" [ref=e1679]: - generic [ref=e1680]: + - cell "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e1681]: - code [ref=e1682]: "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" - row "215 + ->assertDontSee('4 / 10 processed (40%)')" [ref=e1683]: - cell [ref=e1684] - cell "215" [ref=e1685]: "215" - cell [ref=e1686] - cell "+" [ref=e1687]: - generic [ref=e1688]: + - cell "->assertDontSee('4 / 10 processed (40%)')" [ref=e1689]: - code [ref=e1690]: "->assertDontSee('4 / 10 processed (40%)')" - row "216 + ->assertDontSee('Progress details pending.');" [ref=e1691]: - cell [ref=e1692] - cell "216" [ref=e1693]: "216" - cell [ref=e1694] - cell "+" [ref=e1695]: - generic [ref=e1696]: + - cell "->assertDontSee('Progress details pending.');" [ref=e1697]: - code [ref=e1698]: "->assertDontSee('Progress details pending.');" - 'row "217 + });" [ref=e1699]': - cell [ref=e1700] - cell "217" [ref=e1701]: "217" - cell [ref=e1702] - cell "+" [ref=e1703]: - generic [ref=e1704]: + - 'cell "});" [ref=e1705]': - code [ref=e1706]: "});" - row [ref=e1707]: - cell [ref=e1708] - cell [ref=e1709] - cell [ref=e1710] - cell [ref=e1711]: - code - generic [ref=e1712]: - 'heading "34 34 Änderungen: 34 Ergänzungen und 0 Löschungen apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php Datei anzeigen" [level=4] [ref=e1713]': - generic [ref=e1714]: - button [ref=e1715] [cursor=pointer]: - img [ref=e1716] - generic [ref=e1718]: - text: "34" - 'generic "34 Änderungen: 34 Ergänzungen und 0 Löschungen" [ref=e1719]' - generic [ref=e1721]: - link "apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php" [ref=e1722] [cursor=pointer]: - /url: "#diff-78926fcd2b4b82100aa7ab7f37b294989c0693e0" - button [ref=e1723] [cursor=pointer]: - img [ref=e1724] - link "Datei anzeigen" [ref=e1728] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php - table [ref=e1731]: - rowgroup [ref=e1738]: - row "@ -272,6 +272,40 @@" [ref=e1739]: - cell [ref=e1740]: - button [ref=e1742] [cursor=pointer]: - img [ref=e1743] - cell [ref=e1745] - cell [ref=e1746] - cell "@ -272,6 +272,40 @@" [ref=e1747]: - code [ref=e1748]: "@ -272,6 +272,40 @@" - row "272 272 expect(mb_substr_count($pageText, 'Automatically reconciled'))->toBe(1);" [ref=e1749]: - cell "272" [ref=e1750]: "272" - cell "272" [ref=e1751]: "272" - cell [ref=e1752] - cell [ref=e1753] - cell "expect(mb_substr_count($pageText, 'Automatically reconciled'))->toBe(1);" [ref=e1754]: - code [ref=e1755]: expect(mb_substr_count($pageText, 'Automatically reconciled'))->toBe(1); - 'row "273 273 });" [ref=e1756]': - cell "273" [ref=e1757]: "273" - cell "273" [ref=e1758]: "273" - cell [ref=e1759] - cell [ref=e1760] - 'cell "});" [ref=e1761]': - code [ref=e1762]: "});" - row "274 274" [ref=e1763]: - cell "274" [ref=e1764]: "274" - cell "274" [ref=e1765]: "274" - cell [ref=e1766] - cell [ref=e1767] - cell [ref=e1768]: - code - 'row "275 + it(''keeps stale active detail aligned with lifecycle guidance when determinate progress data exists'', function (): void {" [ref=e1769]': - cell [ref=e1770] - cell "275" [ref=e1771]: "275" - cell [ref=e1772] - cell "+" [ref=e1773]: - generic [ref=e1774]: + - 'cell "it(''keeps stale active detail aligned with lifecycle guidance when determinate progress data exists'', function (): void {" [ref=e1775]': - code [ref=e1776]: "it('keeps stale active detail aligned with lifecycle guidance when determinate progress data exists', function (): void {" - row "276 + $tenant = ManagedEnvironment::factory()->create();" [ref=e1777]: - cell [ref=e1778] - cell "276" [ref=e1779]: "276" - cell [ref=e1780] - cell "+" [ref=e1781]: - generic [ref=e1782]: + - cell "$tenant = ManagedEnvironment::factory()->create();" [ref=e1783]: - code [ref=e1784]: $tenant = ManagedEnvironment::factory()->create(); - 'row "277 + [$user, $tenant] = createUserWithTenant(tenant: $tenant, role: ''owner'');" [ref=e1785]': - cell [ref=e1786] - cell "277" [ref=e1787]: "277" - cell [ref=e1788] - cell "+" [ref=e1789]: - generic [ref=e1790]: + - 'cell "[$user, $tenant] = createUserWithTenant(tenant: $tenant, role: ''owner'');" [ref=e1791]': - code [ref=e1792]: "[$user, $tenant] = createUserWithTenant(tenant: $tenant, role: 'owner');" - row "278 +" [ref=e1793]: - cell [ref=e1794] - cell "278" [ref=e1795]: "278" - cell [ref=e1796] - cell "+" [ref=e1797]: - generic [ref=e1798]: + - cell [ref=e1799]: - code - row "279 + $run = OperationRun::factory()->create([" [ref=e1800]: - cell [ref=e1801] - cell "279" [ref=e1802]: "279" - cell [ref=e1803] - cell "+" [ref=e1804]: - generic [ref=e1805]: + - cell "$run = OperationRun::factory()->create([" [ref=e1806]: - code [ref=e1807]: $run = OperationRun::factory()->create([ - row "280 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e1808]: - cell [ref=e1809] - cell "280" [ref=e1810]: "280" - cell [ref=e1811] - cell "+" [ref=e1812]: - generic [ref=e1813]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e1814]: - code [ref=e1815]: "'managed_environment_id' => (int) $tenant->getKey()," - row "281 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e1816]: - cell [ref=e1817] - cell "281" [ref=e1818]: "281" - cell [ref=e1819] - cell "+" [ref=e1820]: - generic [ref=e1821]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e1822]: - code [ref=e1823]: "'workspace_id' => (int) $tenant->workspace_id," - row "282 + 'user_id' => (int) $user->getKey()," [ref=e1824]: - cell [ref=e1825] - cell "282" [ref=e1826]: "282" - cell [ref=e1827] - cell "+" [ref=e1828]: - generic [ref=e1829]: + - cell "'user_id' => (int) $user->getKey()," [ref=e1830]: - code [ref=e1831]: "'user_id' => (int) $user->getKey()," - row "283 + 'type' => 'inventory_sync'," [ref=e1832]: - cell [ref=e1833] - cell "283" [ref=e1834]: "283" - cell [ref=e1835] - cell "+" [ref=e1836]: - generic [ref=e1837]: + - cell "'type' => 'inventory_sync'," [ref=e1838]: - code [ref=e1839]: "'type' => 'inventory_sync'," - row "284 + 'status' => OperationRunStatus::Running->value," [ref=e1840]: - cell [ref=e1841] - cell "284" [ref=e1842]: "284" - cell [ref=e1843] - cell "+" [ref=e1844]: - generic [ref=e1845]: + - cell "'status' => OperationRunStatus::Running->value," [ref=e1846]: - code [ref=e1847]: "'status' => OperationRunStatus::Running->value," - row "285 + 'outcome' => OperationRunOutcome::Pending->value," [ref=e1848]: - cell [ref=e1849] - cell "285" [ref=e1850]: "285" - cell [ref=e1851] - cell "+" [ref=e1852]: - generic [ref=e1853]: + - cell "'outcome' => OperationRunOutcome::Pending->value," [ref=e1854]: - code [ref=e1855]: "'outcome' => OperationRunOutcome::Pending->value," - row "286 + 'summary_counts' => [" [ref=e1856]: - cell [ref=e1857] - cell "286" [ref=e1858]: "286" - cell [ref=e1859] - cell "+" [ref=e1860]: - generic [ref=e1861]: + - cell "'summary_counts' => [" [ref=e1862]: - code [ref=e1863]: "'summary_counts' => [" - row "287 + 'total' => 10," [ref=e1864]: - cell [ref=e1865] - cell "287" [ref=e1866]: "287" - cell [ref=e1867] - cell "+" [ref=e1868]: - generic [ref=e1869]: + - cell "'total' => 10," [ref=e1870]: - code [ref=e1871]: "'total' => 10," - row "288 + 'processed' => 4," [ref=e1872]: - cell [ref=e1873] - cell "288" [ref=e1874]: "288" - cell [ref=e1875] - cell "+" [ref=e1876]: - generic [ref=e1877]: + - cell "'processed' => 4," [ref=e1878]: - code [ref=e1879]: "'processed' => 4," - row "289 + ]," [ref=e1880]: - cell [ref=e1881] - cell "289" [ref=e1882]: "289" - cell [ref=e1883] - cell "+" [ref=e1884]: - generic [ref=e1885]: + - cell "]," [ref=e1886]: - code [ref=e1887]: "]," - row "290 + 'started_at' => now()->subWeeks(2)," [ref=e1888]: - cell [ref=e1889] - cell "290" [ref=e1890]: "290" - cell [ref=e1891] - cell "+" [ref=e1892]: - generic [ref=e1893]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e1894]: - code [ref=e1895]: "'started_at' => now()->subWeeks(2)," - row "291 + 'created_at' => now()->subWeeks(2)," [ref=e1896]: - cell [ref=e1897] - cell "291" [ref=e1898]: "291" - cell [ref=e1899] - cell "+" [ref=e1900]: - generic [ref=e1901]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e1902]: - code [ref=e1903]: "'created_at' => now()->subWeeks(2)," - row "292 + ]);" [ref=e1904]: - cell [ref=e1905] - cell "292" [ref=e1906]: "292" - cell [ref=e1907] - cell "+" [ref=e1908]: - generic [ref=e1909]: + - cell "]);" [ref=e1910]: - code [ref=e1911]: "]);" - row "293 +" [ref=e1912]: - cell [ref=e1913] - cell "293" [ref=e1914]: "293" - cell [ref=e1915] - cell "+" [ref=e1916]: - generic [ref=e1917]: + - cell [ref=e1918]: - code - row "294 + Filament::setTenant(null, true);" [ref=e1919]: - cell [ref=e1920] - cell "294" [ref=e1921]: "294" - cell [ref=e1922] - cell "+" [ref=e1923]: - generic [ref=e1924]: + - cell "Filament::setTenant(null, true);" [ref=e1925]: - code [ref=e1926]: Filament::setTenant(null, true); - row "295 +" [ref=e1927]: - cell [ref=e1928] - cell "295" [ref=e1929]: "295" - cell [ref=e1930] - cell "+" [ref=e1931]: - generic [ref=e1932]: + - cell [ref=e1933]: - code - row "296 + $this->actingAs($user)" [ref=e1934]: - cell [ref=e1935] - cell "296" [ref=e1936]: "296" - cell [ref=e1937] - cell "+" [ref=e1938]: - generic [ref=e1939]: + - cell "$this->actingAs($user)" [ref=e1940]: - code [ref=e1941]: $this->actingAs($user) - row "297 + ->withSession([" [ref=e1942]: - cell [ref=e1943] - cell "297" [ref=e1944]: "297" - cell [ref=e1945] - cell "+" [ref=e1946]: - generic [ref=e1947]: + - cell "->withSession([" [ref=e1948]: - code [ref=e1949]: "->withSession([" - row "298 + WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id," [ref=e1950]: - cell [ref=e1951] - cell "298" [ref=e1952]: "298" - cell [ref=e1953] - cell "+" [ref=e1954]: - generic [ref=e1955]: + - cell "WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id," [ref=e1956]: - code [ref=e1957]: WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id, - row "299 + ])" [ref=e1958]: - cell [ref=e1959] - cell "299" [ref=e1960]: "299" - cell [ref=e1961] - cell "+" [ref=e1962]: - generic [ref=e1963]: + - cell "])" [ref=e1964]: - code [ref=e1965]: "])" - row "300 + ->get(OperationRunLinks::tenantlessView((int) $run->getKey()))" [ref=e1966]: - cell [ref=e1967] - cell "300" [ref=e1968]: "300" - cell [ref=e1969] - cell "+" [ref=e1970]: - generic [ref=e1971]: + - cell "->get(OperationRunLinks::tenantlessView((int) $run->getKey()))" [ref=e1972]: - code [ref=e1973]: "->get(OperationRunLinks::tenantlessView((int) $run->getKey()))" - row "301 + ->assertSuccessful()" [ref=e1974]: - cell [ref=e1975] - cell "301" [ref=e1976]: "301" - cell [ref=e1977] - cell "+" [ref=e1978]: - generic [ref=e1979]: + - cell "->assertSuccessful()" [ref=e1980]: - code [ref=e1981]: "->assertSuccessful()" - row "302 + ->assertSee('Likely stale operation')" [ref=e1982]: - cell [ref=e1983] - cell "302" [ref=e1984]: "302" - cell [ref=e1985] - cell "+" [ref=e1986]: - generic [ref=e1987]: + - cell "->assertSee('Likely stale operation')" [ref=e1988]: - code [ref=e1989]: "->assertSee('Likely stale operation')" - row "303 + ->assertSee('past its lifecycle window')" [ref=e1990]: - cell [ref=e1991] - cell "303" [ref=e1992]: "303" - cell [ref=e1993] - cell "+" [ref=e1994]: - generic [ref=e1995]: + - cell "->assertSee('past its lifecycle window')" [ref=e1996]: - code [ref=e1997]: "->assertSee('past its lifecycle window')" - row "304 + ->assertDontSee('No action needed yet. The operation is currently in progress.')" [ref=e1998]: - cell [ref=e1999] - cell "304" [ref=e2000]: "304" - cell [ref=e2001] - cell "+" [ref=e2002]: - generic [ref=e2003]: + - cell "->assertDontSee('No action needed yet. The operation is currently in progress.')" [ref=e2004]: - code [ref=e2005]: "->assertDontSee('No action needed yet. The operation is currently in progress.')" - row "305 + ->assertDontSee('4 / 10 processed (40%)')" [ref=e2006]: - cell [ref=e2007] - cell "305" [ref=e2008]: "305" - cell [ref=e2009] - cell "+" [ref=e2010]: - generic [ref=e2011]: + - cell "->assertDontSee('4 / 10 processed (40%)')" [ref=e2012]: - code [ref=e2013]: "->assertDontSee('4 / 10 processed (40%)')" - row "306 + ->assertDontSee('Progress details pending.');" [ref=e2014]: - cell [ref=e2015] - cell "306" [ref=e2016]: "306" - cell [ref=e2017] - cell "+" [ref=e2018]: - generic [ref=e2019]: + - cell "->assertDontSee('Progress details pending.');" [ref=e2020]: - code [ref=e2021]: "->assertDontSee('Progress details pending.');" - 'row "307 + });" [ref=e2022]': - cell [ref=e2023] - cell "307" [ref=e2024]: "307" - cell [ref=e2025] - cell "+" [ref=e2026]: - generic [ref=e2027]: + - 'cell "});" [ref=e2028]': - code [ref=e2029]: "});" - row "308 +" [ref=e2030]: - cell [ref=e2031] - cell "308" [ref=e2032]: "308" - cell [ref=e2033] - cell "+" [ref=e2034]: - generic [ref=e2035]: + - cell [ref=e2036]: - code - 'row "275 309 it(''keeps a canonical run viewer accessible when the remembered environment differs from the run tenant'', function (): void {" [ref=e2037]': - cell "275" [ref=e2038]: "275" - cell "309" [ref=e2039]: "309" - cell [ref=e2040] - cell [ref=e2041] - 'cell "it(''keeps a canonical run viewer accessible when the remembered environment differs from the run tenant'', function (): void {" [ref=e2042]': - code [ref=e2043]: "it('keeps a canonical run viewer accessible when the remembered environment differs from the run tenant', function (): void {" - row "276 310 $workspace = Workspace::factory()->create();" [ref=e2044]: - cell "276" [ref=e2045]: "276" - cell "310" [ref=e2046]: "310" - cell [ref=e2047] - cell [ref=e2048] - cell "$workspace = Workspace::factory()->create();" [ref=e2049]: - code [ref=e2050]: $workspace = Workspace::factory()->create(); - row "277 311 $tenantA = ManagedEnvironment::factory()->for($workspace)->create();" [ref=e2051]: - cell "277" [ref=e2052]: "277" - cell "311" [ref=e2053]: "311" - cell [ref=e2054] - cell [ref=e2055] - cell "$tenantA = ManagedEnvironment::factory()->for($workspace)->create();" [ref=e2056]: - code [ref=e2057]: $tenantA = ManagedEnvironment::factory()->for($workspace)->create(); - row [ref=e2058]: - cell [ref=e2059]: - button [ref=e2061] [cursor=pointer]: - img [ref=e2062] - cell [ref=e2064] - cell [ref=e2065] - cell [ref=e2066]: - code - generic [ref=e2067]: - 'heading "66 66 Änderungen: 65 Ergänzungen und 1 Löschungen apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php Datei anzeigen" [level=4] [ref=e2068]': - generic [ref=e2069]: - button [ref=e2070] [cursor=pointer]: - img [ref=e2071] - generic [ref=e2073]: - text: "66" - 'generic "66 Änderungen: 65 Ergänzungen und 1 Löschungen" [ref=e2074]' - generic [ref=e2076]: - link "apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php" [ref=e2077] [cursor=pointer]: - /url: "#diff-19902a15f70a89998c7c6940d74722850b9e746f" - button [ref=e2078] [cursor=pointer]: - img [ref=e2079] - link "Datei anzeigen" [ref=e2083] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php - table [ref=e2086]: - rowgroup [ref=e2093]: - row "@ -344,7 +344,7 @@" [ref=e2094]: - cell [ref=e2095]: - button [ref=e2097] [cursor=pointer]: - img [ref=e2098] - cell [ref=e2100] - cell [ref=e2101] - cell "@ -344,7 +344,7 @@" [ref=e2102]: - code [ref=e2103]: "@ -344,7 +344,7 @@" - row "344 344 'total' => 10," [ref=e2104]: - cell "344" [ref=e2105]: "344" - cell "344" [ref=e2106]: "344" - cell [ref=e2107] - cell [ref=e2108] - cell "'total' => 10," [ref=e2109]: - code [ref=e2110]: "'total' => 10," - row "345 345 'processed' => 4," [ref=e2111]: - cell "345" [ref=e2112]: "345" - cell "345" [ref=e2113]: "345" - cell [ref=e2114] - cell [ref=e2115] - cell "'processed' => 4," [ref=e2116]: - code [ref=e2117]: "'processed' => 4," - row "346 346 ]," [ref=e2118]: - cell "346" [ref=e2119]: "346" - cell "346" [ref=e2120]: "346" - cell [ref=e2121] - cell [ref=e2122] - cell "]," [ref=e2123]: - code [ref=e2124]: "]," - row "347 - 'started_at' => now()->subWeeks(2)," [ref=e2125]: - cell "347" [ref=e2126]: "347" - cell [ref=e2127] - cell [ref=e2128] - cell "-" [ref=e2129]: - generic [ref=e2130]: "-" - cell "'started_at' => now()->subWeeks(2)," [ref=e2131]: - code [ref=e2132]: - text: "'started_at' => now()->sub" - generic [ref=e2133]: Weeks(2 - text: ), - row "347 + 'started_at' => now()->subMinute()," [ref=e2134]: - cell [ref=e2135] - cell "347" [ref=e2136]: "347" - cell [ref=e2137] - cell "+" [ref=e2138]: - generic [ref=e2139]: + - cell "'started_at' => now()->subMinute()," [ref=e2140]: - code [ref=e2141]: - text: "'started_at' => now()->sub" - generic [ref=e2142]: Minute( - text: ), - row "348 348 ]);" [ref=e2143]: - cell "348" [ref=e2144]: "348" - cell "348" [ref=e2145]: "348" - cell [ref=e2146] - cell [ref=e2147] - cell "]);" [ref=e2148]: - code [ref=e2149]: "]);" - row "349 349" [ref=e2150]: - cell "349" [ref=e2151]: "349" - cell "349" [ref=e2152]: "349" - cell [ref=e2153] - cell [ref=e2154] - cell [ref=e2155]: - code - row "350 350 $component = Livewire::actingAs($user)" [ref=e2156]: - cell "350" [ref=e2157]: "350" - cell "350" [ref=e2158]: "350" - cell [ref=e2159] - cell [ref=e2160] - cell "$component = Livewire::actingAs($user)" [ref=e2161]: - code [ref=e2162]: $component = Livewire::actingAs($user) - row "@ -364,6 +364,70 @@" [ref=e2163]: - cell [ref=e2164]: - button [ref=e2166] [cursor=pointer]: - img [ref=e2167] - cell [ref=e2169] - cell [ref=e2170] - cell "@ -364,6 +364,70 @@" [ref=e2171]: - code [ref=e2172]: "@ -364,6 +364,70 @@" - row "364 364 ->and($html)->not->toContain('Likely stale');" [ref=e2173]: - cell "364" [ref=e2174]: "364" - cell "364" [ref=e2175]: "364" - cell [ref=e2176] - cell [ref=e2177] - cell "->and($html)->not->toContain('Likely stale');" [ref=e2178]: - code [ref=e2179]: "->and($html)->not->toContain('Likely stale');" - 'row "365 365 })->group(''ops-ux'');" [ref=e2180]': - cell "365" [ref=e2181]: "365" - cell "365" [ref=e2182]: "365" - cell [ref=e2183] - cell [ref=e2184] - 'cell "})->group(''ops-ux'');" [ref=e2185]': - code [ref=e2186]: "})->group('ops-ux');" - row "366 366" [ref=e2187]: - cell "366" [ref=e2188]: "366" - cell "366" [ref=e2189]: "366" - cell [ref=e2190] - cell [ref=e2191] - cell [ref=e2192]: - code - 'row "367 + it(''renders stale queued activity with lifecycle guidance instead of ordinary waiting copy'', function (): void {" [ref=e2193]': - cell [ref=e2194] - cell "367" [ref=e2195]: "367" - cell [ref=e2196] - cell "+" [ref=e2197]: - generic [ref=e2198]: + - 'cell "it(''renders stale queued activity with lifecycle guidance instead of ordinary waiting copy'', function (): void {" [ref=e2199]': - code [ref=e2200]: "it('renders stale queued activity with lifecycle guidance instead of ordinary waiting copy', function (): void {" - 'row "368 + [$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2201]': - cell [ref=e2202] - cell "368" [ref=e2203]: "368" - cell [ref=e2204] - cell "+" [ref=e2205]: - generic [ref=e2206]: + - 'cell "[$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2207]': - code [ref=e2208]: "[$user, $tenant] = createUserWithTenant(role: 'owner');" - row "369 +" [ref=e2209]: - cell [ref=e2210] - cell "369" [ref=e2211]: "369" - cell [ref=e2212] - cell "+" [ref=e2213]: - generic [ref=e2214]: + - cell [ref=e2215]: - code - row "370 + $this->actingAs($user);" [ref=e2216]: - cell [ref=e2217] - cell "370" [ref=e2218]: "370" - cell [ref=e2219] - cell "+" [ref=e2220]: - generic [ref=e2221]: + - cell "$this->actingAs($user);" [ref=e2222]: - code [ref=e2223]: $this->actingAs($user); - row "371 + Filament::setTenant($tenant, true);" [ref=e2224]: - cell [ref=e2225] - cell "371" [ref=e2226]: "371" - cell [ref=e2227] - cell "+" [ref=e2228]: - generic [ref=e2229]: + - cell "Filament::setTenant($tenant, true);" [ref=e2230]: - code [ref=e2231]: Filament::setTenant($tenant, true); - row "372 +" [ref=e2232]: - cell [ref=e2233] - cell "372" [ref=e2234]: "372" - cell [ref=e2235] - cell "+" [ref=e2236]: - generic [ref=e2237]: + - cell [ref=e2238]: - code - row "373 + OperationRun::factory()->create([" [ref=e2239]: - cell [ref=e2240] - cell "373" [ref=e2241]: "373" - cell [ref=e2242] - cell "+" [ref=e2243]: - generic [ref=e2244]: + - cell "OperationRun::factory()->create([" [ref=e2245]: - code [ref=e2246]: OperationRun::factory()->create([ - row "374 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e2247]: - cell [ref=e2248] - cell "374" [ref=e2249]: "374" - cell [ref=e2250] - cell "+" [ref=e2251]: - generic [ref=e2252]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e2253]: - code [ref=e2254]: "'managed_environment_id' => (int) $tenant->getKey()," - row "375 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e2255]: - cell [ref=e2256] - cell "375" [ref=e2257]: "375" - cell [ref=e2258] - cell "+" [ref=e2259]: - generic [ref=e2260]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e2261]: - code [ref=e2262]: "'workspace_id' => (int) $tenant->workspace_id," - row "376 + 'user_id' => (int) $user->getKey()," [ref=e2263]: - cell [ref=e2264] - cell "376" [ref=e2265]: "376" - cell [ref=e2266] - cell "+" [ref=e2267]: - generic [ref=e2268]: + - cell "'user_id' => (int) $user->getKey()," [ref=e2269]: - code [ref=e2270]: "'user_id' => (int) $user->getKey()," - row "377 + 'type' => 'inventory_sync'," [ref=e2271]: - cell [ref=e2272] - cell "377" [ref=e2273]: "377" - cell [ref=e2274] - cell "+" [ref=e2275]: - generic [ref=e2276]: + - cell "'type' => 'inventory_sync'," [ref=e2277]: - code [ref=e2278]: "'type' => 'inventory_sync'," - row "378 + 'status' => 'queued'," [ref=e2279]: - cell [ref=e2280] - cell "378" [ref=e2281]: "378" - cell [ref=e2282] - cell "+" [ref=e2283]: - generic [ref=e2284]: + - cell "'status' => 'queued'," [ref=e2285]: - code [ref=e2286]: "'status' => 'queued'," - row "379 + 'outcome' => 'pending'," [ref=e2287]: - cell [ref=e2288] - cell "379" [ref=e2289]: "379" - cell [ref=e2290] - cell "+" [ref=e2291]: - generic [ref=e2292]: + - cell "'outcome' => 'pending'," [ref=e2293]: - code [ref=e2294]: "'outcome' => 'pending'," - row "380 + 'created_at' => now()->subWeeks(2)," [ref=e2295]: - cell [ref=e2296] - cell "380" [ref=e2297]: "380" - cell [ref=e2298] - cell "+" [ref=e2299]: - generic [ref=e2300]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e2301]: - code [ref=e2302]: "'created_at' => now()->subWeeks(2)," - row "381 + ]);" [ref=e2303]: - cell [ref=e2304] - cell "381" [ref=e2305]: "381" - cell [ref=e2306] - cell "+" [ref=e2307]: - generic [ref=e2308]: + - cell "]);" [ref=e2309]: - code [ref=e2310]: "]);" - row "382 +" [ref=e2311]: - cell [ref=e2312] - cell "382" [ref=e2313]: "382" - cell [ref=e2314] - cell "+" [ref=e2315]: - generic [ref=e2316]: + - cell [ref=e2317]: - code - row "383 + $component = Livewire::actingAs($user)" [ref=e2318]: - cell [ref=e2319] - cell "383" [ref=e2320]: "383" - cell [ref=e2321] - cell "+" [ref=e2322]: - generic [ref=e2323]: + - cell "$component = Livewire::actingAs($user)" [ref=e2324]: - code [ref=e2325]: $component = Livewire::actingAs($user) - row "384 + ->test(BulkOperationProgress::class)" [ref=e2326]: - cell [ref=e2327] - cell "384" [ref=e2328]: "384" - cell [ref=e2329] - cell "+" [ref=e2330]: - generic [ref=e2331]: + - cell "->test(BulkOperationProgress::class)" [ref=e2332]: - code [ref=e2333]: "->test(BulkOperationProgress::class)" - row "385 + ->call('refreshRuns');" [ref=e2334]: - cell [ref=e2335] - cell "385" [ref=e2336]: "385" - cell [ref=e2337] - cell "+" [ref=e2338]: - generic [ref=e2339]: + - cell "->call('refreshRuns');" [ref=e2340]: - code [ref=e2341]: "->call('refreshRuns');" - row "386 +" [ref=e2342]: - cell [ref=e2343] - cell "386" [ref=e2344]: "386" - cell [ref=e2345] - cell "+" [ref=e2346]: - generic [ref=e2347]: + - cell [ref=e2348]: - code - row "387 + $html = html_entity_decode($component->html(), ENT_QUOTES | ENT_HTML5);" [ref=e2349]: - cell [ref=e2350] - cell "387" [ref=e2351]: "387" - cell [ref=e2352] - cell "+" [ref=e2353]: - generic [ref=e2354]: + - cell "$html = html_entity_decode($component->html(), ENT_QUOTES | ENT_HTML5);" [ref=e2355]: - code [ref=e2356]: $html = html_entity_decode($component->html(), ENT_QUOTES | ENT_HTML5); - row "388 + $pageText = preg_replace('/\\s+/', ' ', strip_tags($html));" [ref=e2357]: - cell [ref=e2358] - cell "388" [ref=e2359]: "388" - cell [ref=e2360] - cell "+" [ref=e2361]: - generic [ref=e2362]: + - cell "$pageText = preg_replace('/\\s+/', ' ', strip_tags($html));" [ref=e2363]: - code [ref=e2364]: $pageText = preg_replace('/\s+/', ' ', strip_tags($html)); - row "389 +" [ref=e2365]: - cell [ref=e2366] - cell "389" [ref=e2367]: "389" - cell [ref=e2368] - cell "+" [ref=e2369]: - generic [ref=e2370]: + - cell [ref=e2371]: - code - row "390 + expect($html)->toContain('Likely stale')" [ref=e2372]: - cell [ref=e2373] - cell "390" [ref=e2374]: "390" - cell [ref=e2375] - cell "+" [ref=e2376]: - generic [ref=e2377]: + - cell "expect($html)->toContain('Likely stale')" [ref=e2378]: - code [ref=e2379]: expect($html)->toContain('Likely stale') - row "391 + ->and($pageText)->toContain('One or more active operations are past their lifecycle window and need review.')" [ref=e2380]: - cell [ref=e2381] - cell "391" [ref=e2382]: "391" - cell [ref=e2383] - cell "+" [ref=e2384]: - generic [ref=e2385]: + - cell "->and($pageText)->toContain('One or more active operations are past their lifecycle window and need review.')" [ref=e2386]: - code [ref=e2387]: "->and($pageText)->toContain('One or more active operations are past their lifecycle window and need review.')" - row "392 + ->and($pageText)->toContain('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e2388]: - cell [ref=e2389] - cell "392" [ref=e2390]: "392" - cell [ref=e2391] - cell "+" [ref=e2392]: - generic [ref=e2393]: + - cell "->and($pageText)->toContain('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e2394]: - code [ref=e2395]: "->and($pageText)->toContain('Past the lifecycle window. Review worker health and logs before retrying.')" - row "393 + ->and($pageText)->not->toContain('Waiting for worker.');" [ref=e2396]: - cell [ref=e2397] - cell "393" [ref=e2398]: "393" - cell [ref=e2399] - cell "+" [ref=e2400]: - generic [ref=e2401]: + - cell "->and($pageText)->not->toContain('Waiting for worker.');" [ref=e2402]: - code [ref=e2403]: "->and($pageText)->not->toContain('Waiting for worker.');" - 'row "394 + })->group(''ops-ux'');" [ref=e2404]': - cell [ref=e2405] - cell "394" [ref=e2406]: "394" - cell [ref=e2407] - cell "+" [ref=e2408]: - generic [ref=e2409]: + - 'cell "})->group(''ops-ux'');" [ref=e2410]': - code [ref=e2411]: "})->group('ops-ux');" - row "395 +" [ref=e2412]: - cell [ref=e2413] - cell "395" [ref=e2414]: "395" - cell [ref=e2415] - cell "+" [ref=e2416]: - generic [ref=e2417]: + - cell [ref=e2418]: - code - 'row "396 + it(''shows lifecycle attention for determinate stale-running shell cases without keeping the ordinary progress bar'', function (): void {" [ref=e2419]': - cell [ref=e2420] - cell "396" [ref=e2421]: "396" - cell [ref=e2422] - cell "+" [ref=e2423]: - generic [ref=e2424]: + - 'cell "it(''shows lifecycle attention for determinate stale-running shell cases without keeping the ordinary progress bar'', function (): void {" [ref=e2425]': - code [ref=e2426]: "it('shows lifecycle attention for determinate stale-running shell cases without keeping the ordinary progress bar', function (): void {" - 'row "397 + [$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2427]': - cell [ref=e2428] - cell "397" [ref=e2429]: "397" - cell [ref=e2430] - cell "+" [ref=e2431]: - generic [ref=e2432]: + - 'cell "[$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2433]': - code [ref=e2434]: "[$user, $tenant] = createUserWithTenant(role: 'owner');" - row "398 +" [ref=e2435]: - cell [ref=e2436] - cell "398" [ref=e2437]: "398" - cell [ref=e2438] - cell "+" [ref=e2439]: - generic [ref=e2440]: + - cell [ref=e2441]: - code - row "399 + $this->actingAs($user);" [ref=e2442]: - cell [ref=e2443] - cell "399" [ref=e2444]: "399" - cell [ref=e2445] - cell "+" [ref=e2446]: - generic [ref=e2447]: + - cell "$this->actingAs($user);" [ref=e2448]: - code [ref=e2449]: $this->actingAs($user); - row "400 + Filament::setTenant($tenant, true);" [ref=e2450]: - cell [ref=e2451] - cell "400" [ref=e2452]: "400" - cell [ref=e2453] - cell "+" [ref=e2454]: - generic [ref=e2455]: + - cell "Filament::setTenant($tenant, true);" [ref=e2456]: - code [ref=e2457]: Filament::setTenant($tenant, true); - row "401 +" [ref=e2458]: - cell [ref=e2459] - cell "401" [ref=e2460]: "401" - cell [ref=e2461] - cell "+" [ref=e2462]: - generic [ref=e2463]: + - cell [ref=e2464]: - code - row "402 + OperationRun::factory()->create([" [ref=e2465]: - cell [ref=e2466] - cell "402" [ref=e2467]: "402" - cell [ref=e2468] - cell "+" [ref=e2469]: - generic [ref=e2470]: + - cell "OperationRun::factory()->create([" [ref=e2471]: - code [ref=e2472]: OperationRun::factory()->create([ - row "403 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e2473]: - cell [ref=e2474] - cell "403" [ref=e2475]: "403" - cell [ref=e2476] - cell "+" [ref=e2477]: - generic [ref=e2478]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e2479]: - code [ref=e2480]: "'managed_environment_id' => (int) $tenant->getKey()," - row "404 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e2481]: - cell [ref=e2482] - cell "404" [ref=e2483]: "404" - cell [ref=e2484] - cell "+" [ref=e2485]: - generic [ref=e2486]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e2487]: - code [ref=e2488]: "'workspace_id' => (int) $tenant->workspace_id," - row "405 + 'user_id' => (int) $user->getKey()," [ref=e2489]: - cell [ref=e2490] - cell "405" [ref=e2491]: "405" - cell [ref=e2492] - cell "+" [ref=e2493]: - generic [ref=e2494]: + - cell "'user_id' => (int) $user->getKey()," [ref=e2495]: - code [ref=e2496]: "'user_id' => (int) $user->getKey()," - row "406 + 'type' => 'inventory_sync'," [ref=e2497]: - cell [ref=e2498] - cell "406" [ref=e2499]: "406" - cell [ref=e2500] - cell "+" [ref=e2501]: - generic [ref=e2502]: + - cell "'type' => 'inventory_sync'," [ref=e2503]: - code [ref=e2504]: "'type' => 'inventory_sync'," - row "407 + 'status' => 'running'," [ref=e2505]: - cell [ref=e2506] - cell "407" [ref=e2507]: "407" - cell [ref=e2508] - cell "+" [ref=e2509]: - generic [ref=e2510]: + - cell "'status' => 'running'," [ref=e2511]: - code [ref=e2512]: "'status' => 'running'," - row "408 + 'outcome' => 'pending'," [ref=e2513]: - cell [ref=e2514] - cell "408" [ref=e2515]: "408" - cell [ref=e2516] - cell "+" [ref=e2517]: - generic [ref=e2518]: + - cell "'outcome' => 'pending'," [ref=e2519]: - code [ref=e2520]: "'outcome' => 'pending'," - row "409 + 'summary_counts' => [" [ref=e2521]: - cell [ref=e2522] - cell "409" [ref=e2523]: "409" - cell [ref=e2524] - cell "+" [ref=e2525]: - generic [ref=e2526]: + - cell "'summary_counts' => [" [ref=e2527]: - code [ref=e2528]: "'summary_counts' => [" - row "410 + 'total' => 10," [ref=e2529]: - cell [ref=e2530] - cell "410" [ref=e2531]: "410" - cell [ref=e2532] - cell "+" [ref=e2533]: - generic [ref=e2534]: + - cell "'total' => 10," [ref=e2535]: - code [ref=e2536]: "'total' => 10," - row "411 + 'processed' => 4," [ref=e2537]: - cell [ref=e2538] - cell "411" [ref=e2539]: "411" - cell [ref=e2540] - cell "+" [ref=e2541]: - generic [ref=e2542]: + - cell "'processed' => 4," [ref=e2543]: - code [ref=e2544]: "'processed' => 4," - row "412 + ]," [ref=e2545]: - cell [ref=e2546] - cell "412" [ref=e2547]: "412" - cell [ref=e2548] - cell "+" [ref=e2549]: - generic [ref=e2550]: + - cell "]," [ref=e2551]: - code [ref=e2552]: "]," - row "413 + 'started_at' => now()->subWeeks(2)," [ref=e2553]: - cell [ref=e2554] - cell "413" [ref=e2555]: "413" - cell [ref=e2556] - cell "+" [ref=e2557]: - generic [ref=e2558]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e2559]: - code [ref=e2560]: "'started_at' => now()->subWeeks(2)," - row "414 + 'created_at' => now()->subWeeks(2)," [ref=e2561]: - cell [ref=e2562] - cell "414" [ref=e2563]: "414" - cell [ref=e2564] - cell "+" [ref=e2565]: - generic [ref=e2566]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e2567]: - code [ref=e2568]: "'created_at' => now()->subWeeks(2)," - row "415 + ]);" [ref=e2569]: - cell [ref=e2570] - cell "415" [ref=e2571]: "415" - cell [ref=e2572] - cell "+" [ref=e2573]: - generic [ref=e2574]: + - cell "]);" [ref=e2575]: - code [ref=e2576]: "]);" - row "416 +" [ref=e2577]: - cell [ref=e2578] - cell "416" [ref=e2579]: "416" - cell [ref=e2580] - cell "+" [ref=e2581]: - generic [ref=e2582]: + - cell [ref=e2583]: - code - row "417 + $component = Livewire::actingAs($user)" [ref=e2584]: - cell [ref=e2585] - cell "417" [ref=e2586]: "417" - cell [ref=e2587] - cell "+" [ref=e2588]: - generic [ref=e2589]: + - cell "$component = Livewire::actingAs($user)" [ref=e2590]: - code [ref=e2591]: $component = Livewire::actingAs($user) - row "418 + ->test(BulkOperationProgress::class)" [ref=e2592]: - cell [ref=e2593] - cell "418" [ref=e2594]: "418" - cell [ref=e2595] - cell "+" [ref=e2596]: - generic [ref=e2597]: + - cell "->test(BulkOperationProgress::class)" [ref=e2598]: - code [ref=e2599]: "->test(BulkOperationProgress::class)" - row "419 + ->call('refreshRuns');" [ref=e2600]: - cell [ref=e2601] - cell "419" [ref=e2602]: "419" - cell [ref=e2603] - cell "+" [ref=e2604]: - generic [ref=e2605]: + - cell "->call('refreshRuns');" [ref=e2606]: - code [ref=e2607]: "->call('refreshRuns');" - row "420 +" [ref=e2608]: - cell [ref=e2609] - cell "420" [ref=e2610]: "420" - cell [ref=e2611] - cell "+" [ref=e2612]: - generic [ref=e2613]: + - cell [ref=e2614]: - code - row "421 + $html = html_entity_decode($component->html(), ENT_QUOTES | ENT_HTML5);" [ref=e2615]: - cell [ref=e2616] - cell "421" [ref=e2617]: "421" - cell [ref=e2618] - cell "+" [ref=e2619]: - generic [ref=e2620]: + - cell "$html = html_entity_decode($component->html(), ENT_QUOTES | ENT_HTML5);" [ref=e2621]: - code [ref=e2622]: $html = html_entity_decode($component->html(), ENT_QUOTES | ENT_HTML5); - row "422 + $pageText = preg_replace('/\\s+/', ' ', strip_tags($html));" [ref=e2623]: - cell [ref=e2624] - cell "422" [ref=e2625]: "422" - cell [ref=e2626] - cell "+" [ref=e2627]: - generic [ref=e2628]: + - cell "$pageText = preg_replace('/\\s+/', ' ', strip_tags($html));" [ref=e2629]: - code [ref=e2630]: $pageText = preg_replace('/\s+/', ' ', strip_tags($html)); - row "423 +" [ref=e2631]: - cell [ref=e2632] - cell "423" [ref=e2633]: "423" - cell [ref=e2634] - cell "+" [ref=e2635]: - generic [ref=e2636]: + - cell [ref=e2637]: - code - row "424 + expect($html)->toContain('Likely stale')" [ref=e2638]: - cell [ref=e2639] - cell "424" [ref=e2640]: "424" - cell [ref=e2641] - cell "+" [ref=e2642]: - generic [ref=e2643]: + - cell "expect($html)->toContain('Likely stale')" [ref=e2644]: - code [ref=e2645]: expect($html)->toContain('Likely stale') - row "425 + ->and($html)->toContain('data-testid=\"ops-ux-activity-feedback-indeterminate\"')" [ref=e2646]: - cell [ref=e2647] - cell "425" [ref=e2648]: "425" - cell [ref=e2649] - cell "+" [ref=e2650]: - generic [ref=e2651]: + - cell "->and($html)->toContain('data-testid=\"ops-ux-activity-feedback-indeterminate\"')" [ref=e2652]: - code [ref=e2653]: "->and($html)->toContain('data-testid=\"ops-ux-activity-feedback-indeterminate\"')" - row "426 + ->and($pageText)->toContain('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e2654]: - cell [ref=e2655] - cell "426" [ref=e2656]: "426" - cell [ref=e2657] - cell "+" [ref=e2658]: - generic [ref=e2659]: + - cell "->and($pageText)->toContain('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e2660]: - code [ref=e2661]: "->and($pageText)->toContain('Past the lifecycle window. Review worker health and logs before retrying.')" - row "427 + ->and($pageText)->not->toContain('4 / 10 processed (40%)')" [ref=e2662]: - cell [ref=e2663] - cell "427" [ref=e2664]: "427" - cell [ref=e2665] - cell "+" [ref=e2666]: - generic [ref=e2667]: + - cell "->and($pageText)->not->toContain('4 / 10 processed (40%)')" [ref=e2668]: - code [ref=e2669]: "->and($pageText)->not->toContain('4 / 10 processed (40%)')" - row "428 + ->and($html)->not->toContain('aria-valuenow=\"40\"');" [ref=e2670]: - cell [ref=e2671] - cell "428" [ref=e2672]: "428" - cell [ref=e2673] - cell "+" [ref=e2674]: - generic [ref=e2675]: + - cell "->and($html)->not->toContain('aria-valuenow=\"40\"');" [ref=e2676]: - code [ref=e2677]: "->and($html)->not->toContain('aria-valuenow=\"40\"');" - 'row "429 + })->group(''ops-ux'');" [ref=e2678]': - cell [ref=e2679] - cell "429" [ref=e2680]: "429" - cell [ref=e2681] - cell "+" [ref=e2682]: - generic [ref=e2683]: + - 'cell "})->group(''ops-ux'');" [ref=e2684]': - code [ref=e2685]: "})->group('ops-ux');" - row "430 +" [ref=e2686]: - cell [ref=e2687] - cell "430" [ref=e2688]: "430" - cell [ref=e2689] - cell "+" [ref=e2690]: - generic [ref=e2691]: + - cell [ref=e2692]: - code - 'row "367 431 it(''renders phased fallback progress without inventing a counted percentage'', function (): void {" [ref=e2693]': - cell "367" [ref=e2694]: "367" - cell "431" [ref=e2695]: "431" - cell [ref=e2696] - cell [ref=e2697] - 'cell "it(''renders phased fallback progress without inventing a counted percentage'', function (): void {" [ref=e2698]': - code [ref=e2699]: "it('renders phased fallback progress without inventing a counted percentage', function (): void {" - 'row "368 432 [$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2700]': - cell "368" [ref=e2701]: "368" - cell "432" [ref=e2702]: "432" - cell [ref=e2703] - cell [ref=e2704] - 'cell "[$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2705]': - code [ref=e2706]: "[$user, $tenant] = createUserWithTenant(role: 'owner');" - row "369 433" [ref=e2707]: - cell "369" [ref=e2708]: "369" - cell "433" [ref=e2709]: "433" - cell [ref=e2710] - cell [ref=e2711] - cell [ref=e2712]: - code - row [ref=e2713]: - cell [ref=e2714]: - button [ref=e2716] [cursor=pointer]: - img [ref=e2717] - cell [ref=e2719] - cell [ref=e2720] - cell [ref=e2721]: - code - generic [ref=e2722]: - 'heading "33 33 Änderungen: 32 Ergänzungen und 1 Löschungen apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php Datei anzeigen" [level=4] [ref=e2723]': - generic [ref=e2724]: - button [ref=e2725] [cursor=pointer]: - img [ref=e2726] - generic [ref=e2728]: - text: "33" - 'generic "33 Änderungen: 32 Ergänzungen und 1 Löschungen" [ref=e2729]' - generic [ref=e2731]: - link "apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php" [ref=e2732] [cursor=pointer]: - /url: "#diff-789b73397dfb1556cb3d9fbc68eec2c64714ebae" - button [ref=e2733] [cursor=pointer]: - img [ref=e2734] - link "Datei anzeigen" [ref=e2738] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php - table [ref=e2741]: - rowgroup [ref=e2748]: - row "@ -215,9 +215,40 @@" [ref=e2749]: - cell [ref=e2750]: - button [ref=e2752] [cursor=pointer]: - img [ref=e2753] - cell [ref=e2755] - cell [ref=e2756] - cell "@ -215,9 +215,40 @@" [ref=e2757]: - code [ref=e2758]: "@ -215,9 +215,40 @@" - row "215 215 ->test(BulkOperationProgress::class)" [ref=e2759]: - cell "215" [ref=e2760]: "215" - cell "215" [ref=e2761]: "215" - cell [ref=e2762] - cell [ref=e2763] - cell "->test(BulkOperationProgress::class)" [ref=e2764]: - code [ref=e2765]: "->test(BulkOperationProgress::class)" - row "216 216 ->call('refreshRuns')" [ref=e2766]: - cell "216" [ref=e2767]: "216" - cell "216" [ref=e2768]: "216" - cell [ref=e2769] - cell [ref=e2770] - cell "->call('refreshRuns')" [ref=e2771]: - code [ref=e2772]: "->call('refreshRuns')" - row "217 217 ->assertSet('hasActiveRuns', true)" [ref=e2773]: - cell "217" [ref=e2774]: "217" - cell "217" [ref=e2775]: "217" - cell [ref=e2776] - cell [ref=e2777] - cell "->assertSet('hasActiveRuns', true)" [ref=e2778]: - code [ref=e2779]: "->assertSet('hasActiveRuns', true)" - row "218 + ->assertSee('One or more active operations are past their lifecycle window and need review.')" [ref=e2780]: - cell [ref=e2781] - cell "218" [ref=e2782]: "218" - cell [ref=e2783] - cell "+" [ref=e2784]: - generic [ref=e2785]: + - cell "->assertSee('One or more active operations are past their lifecycle window and need review.')" [ref=e2786]: - code [ref=e2787]: "->assertSee('One or more active operations are past their lifecycle window and need review.')" - row "218 219 ->assertSee('Inventory sync')" [ref=e2788]: - cell "218" [ref=e2789]: "218" - cell "219" [ref=e2790]: "219" - cell [ref=e2791] - cell [ref=e2792] - cell "->assertSee('Inventory sync')" [ref=e2793]: - code [ref=e2794]: "->assertSee('Inventory sync')" - row "219 220 ->assertSee('Likely stale')" [ref=e2795]: - cell "219" [ref=e2796]: "219" - cell "220" [ref=e2797]: "220" - cell [ref=e2798] - cell [ref=e2799] - cell "->assertSee('Likely stale')" [ref=e2800]: - code [ref=e2801]: "->assertSee('Likely stale')" - row "220 - ->assertSee('Waiting for worker.');" [ref=e2802]: - cell "220" [ref=e2803]: "220" - cell [ref=e2804] - cell [ref=e2805] - cell "-" [ref=e2806]: - generic [ref=e2807]: "-" - cell "->assertSee('Waiting for worker.');" [ref=e2808]: - code [ref=e2809]: "->assertSee('Waiting for worker.');" - row "221 + ->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e2810]: - cell [ref=e2811] - cell "221" [ref=e2812]: "221" - cell [ref=e2813] - cell "+" [ref=e2814]: - generic [ref=e2815]: + - cell "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e2816]: - code [ref=e2817]: "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" - row "222 + ->assertDontSee('Waiting for worker.');" [ref=e2818]: - cell [ref=e2819] - cell "222" [ref=e2820]: "222" - cell [ref=e2821] - cell "+" [ref=e2822]: - generic [ref=e2823]: + - cell "->assertDontSee('Waiting for worker.');" [ref=e2824]: - code [ref=e2825]: "->assertDontSee('Waiting for worker.');" - 'row "223 + })->group(''ops-ux'');" [ref=e2826]': - cell [ref=e2827] - cell "223" [ref=e2828]: "223" - cell [ref=e2829] - cell "+" [ref=e2830]: - generic [ref=e2831]: + - 'cell "})->group(''ops-ux'');" [ref=e2832]': - code [ref=e2833]: "})->group('ops-ux');" - row "224 +" [ref=e2834]: - cell [ref=e2835] - cell "224" [ref=e2836]: "224" - cell [ref=e2837] - cell "+" [ref=e2838]: - generic [ref=e2839]: + - cell [ref=e2840]: - code - 'row "225 + it(''subordinates determinate stale-running shell progress to lifecycle guidance'', function () {" [ref=e2841]': - cell [ref=e2842] - cell "225" [ref=e2843]: "225" - cell [ref=e2844] - cell "+" [ref=e2845]: - generic [ref=e2846]: + - 'cell "it(''subordinates determinate stale-running shell progress to lifecycle guidance'', function () {" [ref=e2847]': - code [ref=e2848]: "it('subordinates determinate stale-running shell progress to lifecycle guidance', function () {" - 'row "226 + [$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2849]': - cell [ref=e2850] - cell "226" [ref=e2851]: "226" - cell [ref=e2852] - cell "+" [ref=e2853]: - generic [ref=e2854]: + - 'cell "[$user, $tenant] = createUserWithTenant(role: ''owner'');" [ref=e2855]': - code [ref=e2856]: "[$user, $tenant] = createUserWithTenant(role: 'owner');" - row "227 + $this->actingAs($user);" [ref=e2857]: - cell [ref=e2858] - cell "227" [ref=e2859]: "227" - cell [ref=e2860] - cell "+" [ref=e2861]: - generic [ref=e2862]: + - cell "$this->actingAs($user);" [ref=e2863]: - code [ref=e2864]: $this->actingAs($user); - row "228 + Filament::setTenant($tenant, true);" [ref=e2865]: - cell [ref=e2866] - cell "228" [ref=e2867]: "228" - cell [ref=e2868] - cell "+" [ref=e2869]: - generic [ref=e2870]: + - cell "Filament::setTenant($tenant, true);" [ref=e2871]: - code [ref=e2872]: Filament::setTenant($tenant, true); - row "229 +" [ref=e2873]: - cell [ref=e2874] - cell "229" [ref=e2875]: "229" - cell [ref=e2876] - cell "+" [ref=e2877]: - generic [ref=e2878]: + - cell [ref=e2879]: - code - row "230 + OperationRun::factory()->create([" [ref=e2880]: - cell [ref=e2881] - cell "230" [ref=e2882]: "230" - cell [ref=e2883] - cell "+" [ref=e2884]: - generic [ref=e2885]: + - cell "OperationRun::factory()->create([" [ref=e2886]: - code [ref=e2887]: OperationRun::factory()->create([ - row "231 + 'managed_environment_id' => (int) $tenant->getKey()," [ref=e2888]: - cell [ref=e2889] - cell "231" [ref=e2890]: "231" - cell [ref=e2891] - cell "+" [ref=e2892]: - generic [ref=e2893]: + - cell "'managed_environment_id' => (int) $tenant->getKey()," [ref=e2894]: - code [ref=e2895]: "'managed_environment_id' => (int) $tenant->getKey()," - row "232 + 'workspace_id' => (int) $tenant->workspace_id," [ref=e2896]: - cell [ref=e2897] - cell "232" [ref=e2898]: "232" - cell [ref=e2899] - cell "+" [ref=e2900]: - generic [ref=e2901]: + - cell "'workspace_id' => (int) $tenant->workspace_id," [ref=e2902]: - code [ref=e2903]: "'workspace_id' => (int) $tenant->workspace_id," - row "233 + 'type' => 'inventory_sync'," [ref=e2904]: - cell [ref=e2905] - cell "233" [ref=e2906]: "233" - cell [ref=e2907] - cell "+" [ref=e2908]: - generic [ref=e2909]: + - cell "'type' => 'inventory_sync'," [ref=e2910]: - code [ref=e2911]: "'type' => 'inventory_sync'," - row "234 + 'status' => 'running'," [ref=e2912]: - cell [ref=e2913] - cell "234" [ref=e2914]: "234" - cell [ref=e2915] - cell "+" [ref=e2916]: - generic [ref=e2917]: + - cell "'status' => 'running'," [ref=e2918]: - code [ref=e2919]: "'status' => 'running'," - row "235 + 'outcome' => 'pending'," [ref=e2920]: - cell [ref=e2921] - cell "235" [ref=e2922]: "235" - cell [ref=e2923] - cell "+" [ref=e2924]: - generic [ref=e2925]: + - cell "'outcome' => 'pending'," [ref=e2926]: - code [ref=e2927]: "'outcome' => 'pending'," - row "236 + 'summary_counts' => [" [ref=e2928]: - cell [ref=e2929] - cell "236" [ref=e2930]: "236" - cell [ref=e2931] - cell "+" [ref=e2932]: - generic [ref=e2933]: + - cell "'summary_counts' => [" [ref=e2934]: - code [ref=e2935]: "'summary_counts' => [" - row "237 + 'total' => 10," [ref=e2936]: - cell [ref=e2937] - cell "237" [ref=e2938]: "237" - cell [ref=e2939] - cell "+" [ref=e2940]: - generic [ref=e2941]: + - cell "'total' => 10," [ref=e2942]: - code [ref=e2943]: "'total' => 10," - row "238 + 'processed' => 4," [ref=e2944]: - cell [ref=e2945] - cell "238" [ref=e2946]: "238" - cell [ref=e2947] - cell "+" [ref=e2948]: - generic [ref=e2949]: + - cell "'processed' => 4," [ref=e2950]: - code [ref=e2951]: "'processed' => 4," - row "239 + ]," [ref=e2952]: - cell [ref=e2953] - cell "239" [ref=e2954]: "239" - cell [ref=e2955] - cell "+" [ref=e2956]: - generic [ref=e2957]: + - cell "]," [ref=e2958]: - code [ref=e2959]: "]," - row "240 + 'started_at' => now()->subWeeks(2)," [ref=e2960]: - cell [ref=e2961] - cell "240" [ref=e2962]: "240" - cell [ref=e2963] - cell "+" [ref=e2964]: - generic [ref=e2965]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e2966]: - code [ref=e2967]: "'started_at' => now()->subWeeks(2)," - row "241 + 'created_at' => now()->subWeeks(2)," [ref=e2968]: - cell [ref=e2969] - cell "241" [ref=e2970]: "241" - cell [ref=e2971] - cell "+" [ref=e2972]: - generic [ref=e2973]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e2974]: - code [ref=e2975]: "'created_at' => now()->subWeeks(2)," - row "242 + ]);" [ref=e2976]: - cell [ref=e2977] - cell "242" [ref=e2978]: "242" - cell [ref=e2979] - cell "+" [ref=e2980]: - generic [ref=e2981]: + - cell "]);" [ref=e2982]: - code [ref=e2983]: "]);" - row "243 +" [ref=e2984]: - cell [ref=e2985] - cell "243" [ref=e2986]: "243" - cell [ref=e2987] - cell "+" [ref=e2988]: - generic [ref=e2989]: + - cell [ref=e2990]: - code - row "244 + Livewire::actingAs($user)" [ref=e2991]: - cell [ref=e2992] - cell "244" [ref=e2993]: "244" - cell [ref=e2994] - cell "+" [ref=e2995]: - generic [ref=e2996]: + - cell "Livewire::actingAs($user)" [ref=e2997]: - code [ref=e2998]: Livewire::actingAs($user) - row "245 + ->test(BulkOperationProgress::class)" [ref=e2999]: - cell [ref=e3000] - cell "245" [ref=e3001]: "245" - cell [ref=e3002] - cell "+" [ref=e3003]: - generic [ref=e3004]: + - cell "->test(BulkOperationProgress::class)" [ref=e3005]: - code [ref=e3006]: "->test(BulkOperationProgress::class)" - row "246 + ->call('refreshRuns')" [ref=e3007]: - cell [ref=e3008] - cell "246" [ref=e3009]: "246" - cell [ref=e3010] - cell "+" [ref=e3011]: - generic [ref=e3012]: + - cell "->call('refreshRuns')" [ref=e3013]: - code [ref=e3014]: "->call('refreshRuns')" - row "247 + ->assertSet('hasActiveRuns', true)" [ref=e3015]: - cell [ref=e3016] - cell "247" [ref=e3017]: "247" - cell [ref=e3018] - cell "+" [ref=e3019]: - generic [ref=e3020]: + - cell "->assertSet('hasActiveRuns', true)" [ref=e3021]: - code [ref=e3022]: "->assertSet('hasActiveRuns', true)" - row "248 + ->assertSee('Likely stale')" [ref=e3023]: - cell [ref=e3024] - cell "248" [ref=e3025]: "248" - cell [ref=e3026] - cell "+" [ref=e3027]: - generic [ref=e3028]: + - cell "->assertSee('Likely stale')" [ref=e3029]: - code [ref=e3030]: "->assertSee('Likely stale')" - row "249 + ->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3031]: - cell [ref=e3032] - cell "249" [ref=e3033]: "249" - cell [ref=e3034] - cell "+" [ref=e3035]: - generic [ref=e3036]: + - cell "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3037]: - code [ref=e3038]: "->assertSee('Past the lifecycle window. Review worker health and logs before retrying.')" - row "250 + ->assertDontSee('4 / 10 processed (40%)')" [ref=e3039]: - cell [ref=e3040] - cell "250" [ref=e3041]: "250" - cell [ref=e3042] - cell "+" [ref=e3043]: - generic [ref=e3044]: + - cell "->assertDontSee('4 / 10 processed (40%)')" [ref=e3045]: - code [ref=e3046]: "->assertDontSee('4 / 10 processed (40%)')" - row "251 + ->assertDontSeeHtml('aria-valuenow=\"40\"');" [ref=e3047]: - cell [ref=e3048] - cell "251" [ref=e3049]: "251" - cell [ref=e3050] - cell "+" [ref=e3051]: - generic [ref=e3052]: + - cell "->assertDontSeeHtml('aria-valuenow=\"40\"');" [ref=e3053]: - code [ref=e3054]: "->assertDontSeeHtml('aria-valuenow=\"40\"');" - 'row "221 252 })->group(''ops-ux'');" [ref=e3055]': - cell "221" [ref=e3056]: "221" - cell "252" [ref=e3057]: "252" - cell [ref=e3058] - cell [ref=e3059] - 'cell "})->group(''ops-ux'');" [ref=e3060]': - code [ref=e3061]: "})->group('ops-ux');" - row "222 253" [ref=e3062]: - cell "222" [ref=e3063]: "222" - cell "253" [ref=e3064]: "253" - cell [ref=e3065] - cell [ref=e3066] - cell [ref=e3067]: - code - 'row "223 254 it(''clamps counted progress at the shell host when processed exceeds total'', function () {" [ref=e3068]': - cell "223" [ref=e3069]: "223" - cell "254" [ref=e3070]: "254" - cell [ref=e3071] - cell [ref=e3072] - 'cell "it(''clamps counted progress at the shell host when processed exceeds total'', function () {" [ref=e3073]': - code [ref=e3074]: "it('clamps counted progress at the shell host when processed exceeds total', function () {" - row [ref=e3075]: - cell [ref=e3076]: - button [ref=e3078] [cursor=pointer]: - img [ref=e3079] - cell [ref=e3081] - cell [ref=e3082] - cell [ref=e3083]: - code - generic [ref=e3084]: - 'heading "103 103 Änderungen: 103 Ergänzungen und 0 Löschungen apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php Datei anzeigen" [level=4] [ref=e3085]': - generic [ref=e3086]: - button [ref=e3087] [cursor=pointer]: - img [ref=e3088] - generic [ref=e3090]: - text: "103" - 'generic "103 Änderungen: 103 Ergänzungen und 0 Löschungen" [ref=e3091]' - generic [ref=e3093]: - link "apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php" [ref=e3094] [cursor=pointer]: - /url: "#diff-cdbc9a8da2048b55b64e7019bff171a648154715" - button [ref=e3095] [cursor=pointer]: - img [ref=e3096] - link "Datei anzeigen" [ref=e3100] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php - table [ref=e3103]: - rowgroup [ref=e3110]: - row "@ -67,6 +67,22 @@" [ref=e3111]: - cell [ref=e3112]: - button [ref=e3114] [cursor=pointer]: - img [ref=e3115] - cell [ref=e3117] - cell [ref=e3118] - cell "@ -67,6 +67,22 @@" [ref=e3119]: - code [ref=e3120]: "@ -67,6 +67,22 @@" - row "67 67 ->and($progress['percent'])->toBeNull();" [ref=e3121]: - cell "67" [ref=e3122]: "67" - cell "67" [ref=e3123]: "67" - cell [ref=e3124] - cell [ref=e3125] - cell "->and($progress['percent'])->toBeNull();" [ref=e3126]: - code [ref=e3127]: "->and($progress['percent'])->toBeNull();" - 'row "68 68 });" [ref=e3128]': - cell "68" [ref=e3129]: "68" - cell "68" [ref=e3130]: "68" - cell [ref=e3131] - cell [ref=e3132] - 'cell "});" [ref=e3133]': - code [ref=e3134]: "});" - row "69 69" [ref=e3135]: - cell "69" [ref=e3136]: "69" - cell "69" [ref=e3137]: "69" - cell [ref=e3138] - cell [ref=e3139] - cell [ref=e3140]: - code - 'row "70 + it(''replaces queued waiting copy with stale lifecycle guidance once the lifecycle window is exceeded'', function (): void {" [ref=e3141]': - cell [ref=e3142] - cell "70" [ref=e3143]: "70" - cell [ref=e3144] - cell "+" [ref=e3145]: - generic [ref=e3146]: + - 'cell "it(''replaces queued waiting copy with stale lifecycle guidance once the lifecycle window is exceeded'', function (): void {" [ref=e3147]': - code [ref=e3148]: "it('replaces queued waiting copy with stale lifecycle guidance once the lifecycle window is exceeded', function (): void {" - row "71 + $run = OperationRun::factory()->create([" [ref=e3149]: - cell [ref=e3150] - cell "71" [ref=e3151]: "71" - cell [ref=e3152] - cell "+" [ref=e3153]: - generic [ref=e3154]: + - cell "$run = OperationRun::factory()->create([" [ref=e3155]: - code [ref=e3156]: $run = OperationRun::factory()->create([ - row "72 + 'type' => 'inventory_sync'," [ref=e3157]: - cell [ref=e3158] - cell "72" [ref=e3159]: "72" - cell [ref=e3160] - cell "+" [ref=e3161]: - generic [ref=e3162]: + - cell "'type' => 'inventory_sync'," [ref=e3163]: - code [ref=e3164]: "'type' => 'inventory_sync'," - row "73 + 'status' => 'queued'," [ref=e3165]: - cell [ref=e3166] - cell "73" [ref=e3167]: "73" - cell [ref=e3168] - cell "+" [ref=e3169]: - generic [ref=e3170]: + - cell "'status' => 'queued'," [ref=e3171]: - code [ref=e3172]: "'status' => 'queued'," - row "74 + 'outcome' => 'pending'," [ref=e3173]: - cell [ref=e3174] - cell "74" [ref=e3175]: "74" - cell [ref=e3176] - cell "+" [ref=e3177]: - generic [ref=e3178]: + - cell "'outcome' => 'pending'," [ref=e3179]: - code [ref=e3180]: "'outcome' => 'pending'," - row "75 + 'created_at' => now()->subWeeks(2)," [ref=e3181]: - cell [ref=e3182] - cell "75" [ref=e3183]: "75" - cell [ref=e3184] - cell "+" [ref=e3185]: - generic [ref=e3186]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e3187]: - code [ref=e3188]: "'created_at' => now()->subWeeks(2)," - row "76 + ]);" [ref=e3189]: - cell [ref=e3190] - cell "76" [ref=e3191]: "76" - cell [ref=e3192] - cell "+" [ref=e3193]: - generic [ref=e3194]: + - cell "]);" [ref=e3195]: - code [ref=e3196]: "]);" - row "77 +" [ref=e3197]: - cell [ref=e3198] - cell "77" [ref=e3199]: "77" - cell [ref=e3200] - cell "+" [ref=e3201]: - generic [ref=e3202]: + - cell [ref=e3203]: - code - row "78 + $progress = OperationRunProgressContract::forRun($run);" [ref=e3204]: - cell [ref=e3205] - cell "78" [ref=e3206]: "78" - cell [ref=e3207] - cell "+" [ref=e3208]: - generic [ref=e3209]: + - cell "$progress = OperationRunProgressContract::forRun($run);" [ref=e3210]: - code [ref=e3211]: $progress = OperationRunProgressContract::forRun($run); - row "79 +" [ref=e3212]: - cell [ref=e3213] - cell "79" [ref=e3214]: "79" - cell [ref=e3215] - cell "+" [ref=e3216]: - generic [ref=e3217]: + - cell [ref=e3218]: - code - row "80 + expect($progress['capability'])->toBe('activity')" [ref=e3219]: - cell [ref=e3220] - cell "80" [ref=e3221]: "80" - cell [ref=e3222] - cell "+" [ref=e3223]: - generic [ref=e3224]: + - cell "expect($progress['capability'])->toBe('activity')" [ref=e3225]: - code [ref=e3226]: expect($progress['capability'])->toBe('activity') - row "81 + ->and($progress['display'])->toBe('indeterminate')" [ref=e3227]: - cell [ref=e3228] - cell "81" [ref=e3229]: "81" - cell [ref=e3230] - cell "+" [ref=e3231]: - generic [ref=e3232]: + - cell "->and($progress['display'])->toBe('indeterminate')" [ref=e3233]: - code [ref=e3234]: "->and($progress['display'])->toBe('indeterminate')" - row "82 + ->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3235]: - cell [ref=e3236] - cell "82" [ref=e3237]: "82" - cell [ref=e3238] - cell "+" [ref=e3239]: - generic [ref=e3240]: + - cell "->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3241]: - code [ref=e3242]: "->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" - row "83 + ->and($progress['percent'])->toBeNull();" [ref=e3243]: - cell [ref=e3244] - cell "83" [ref=e3245]: "83" - cell [ref=e3246] - cell "+" [ref=e3247]: - generic [ref=e3248]: + - cell "->and($progress['percent'])->toBeNull();" [ref=e3249]: - code [ref=e3250]: "->and($progress['percent'])->toBeNull();" - 'row "84 + });" [ref=e3251]': - cell [ref=e3252] - cell "84" [ref=e3253]: "84" - cell [ref=e3254] - cell "+" [ref=e3255]: - generic [ref=e3256]: + - 'cell "});" [ref=e3257]': - code [ref=e3258]: "});" - row "85 +" [ref=e3259]: - cell [ref=e3260] - cell "85" [ref=e3261]: "85" - cell [ref=e3262] - cell "+" [ref=e3263]: - generic [ref=e3264]: + - cell [ref=e3265]: - code - 'row "70 86 it(''returns no progress for terminal runs even when retained counts exist'', function (): void {" [ref=e3266]': - cell "70" [ref=e3267]: "70" - cell "86" [ref=e3268]: "86" - cell [ref=e3269] - cell [ref=e3270] - 'cell "it(''returns no progress for terminal runs even when retained counts exist'', function (): void {" [ref=e3271]': - code [ref=e3272]: "it('returns no progress for terminal runs even when retained counts exist', function (): void {" - row "71 87 $run = OperationRun::factory()->create([" [ref=e3273]: - cell "71" [ref=e3274]: "71" - cell "87" [ref=e3275]: "87" - cell [ref=e3276] - cell [ref=e3277] - cell "$run = OperationRun::factory()->create([" [ref=e3278]: - code [ref=e3279]: $run = OperationRun::factory()->create([ - row "72 88 'status' => 'completed'," [ref=e3280]: - cell "72" [ref=e3281]: "72" - cell "88" [ref=e3282]: "88" - cell [ref=e3283] - cell [ref=e3284] - cell "'status' => 'completed'," [ref=e3285]: - code [ref=e3286]: "'status' => 'completed'," - row "@ -87,6 +103,32 @@" [ref=e3287]: - cell [ref=e3288]: - button [ref=e3290] [cursor=pointer]: - img [ref=e3291] - cell [ref=e3293] - cell [ref=e3294] - cell "@ -87,6 +103,32 @@" [ref=e3295]: - code [ref=e3296]: "@ -87,6 +103,32 @@" - row "87 103 ->and($progress['percent'])->toBeNull();" [ref=e3297]: - cell "87" [ref=e3298]: "87" - cell "103" [ref=e3299]: "103" - cell [ref=e3300] - cell [ref=e3301] - cell "->and($progress['percent'])->toBeNull();" [ref=e3302]: - code [ref=e3303]: "->and($progress['percent'])->toBeNull();" - 'row "88 104 });" [ref=e3304]': - cell "88" [ref=e3305]: "88" - cell "104" [ref=e3306]: "104" - cell [ref=e3307] - cell [ref=e3308] - 'cell "});" [ref=e3309]': - code [ref=e3310]: "});" - row "89 105" [ref=e3311]: - cell "89" [ref=e3312]: "89" - cell "105" [ref=e3313]: "105" - cell [ref=e3314] - cell [ref=e3315] - cell [ref=e3316]: - code - 'row "106 + it(''returns no progress for reconciled terminal runs even when stale lineage is recorded'', function (): void {" [ref=e3317]': - cell [ref=e3318] - cell "106" [ref=e3319]: "106" - cell [ref=e3320] - cell "+" [ref=e3321]: - generic [ref=e3322]: + - 'cell "it(''returns no progress for reconciled terminal runs even when stale lineage is recorded'', function (): void {" [ref=e3323]': - code [ref=e3324]: "it('returns no progress for reconciled terminal runs even when stale lineage is recorded', function (): void {" - row "107 + $run = OperationRun::factory()->create([" [ref=e3325]: - cell [ref=e3326] - cell "107" [ref=e3327]: "107" - cell [ref=e3328] - cell "+" [ref=e3329]: - generic [ref=e3330]: + - cell "$run = OperationRun::factory()->create([" [ref=e3331]: - code [ref=e3332]: $run = OperationRun::factory()->create([ - row "108 + 'status' => 'completed'," [ref=e3333]: - cell [ref=e3334] - cell "108" [ref=e3335]: "108" - cell [ref=e3336] - cell "+" [ref=e3337]: - generic [ref=e3338]: + - cell "'status' => 'completed'," [ref=e3339]: - code [ref=e3340]: "'status' => 'completed'," - row "109 + 'outcome' => 'failed'," [ref=e3341]: - cell [ref=e3342] - cell "109" [ref=e3343]: "109" - cell [ref=e3344] - cell "+" [ref=e3345]: - generic [ref=e3346]: + - cell "'outcome' => 'failed'," [ref=e3347]: - code [ref=e3348]: "'outcome' => 'failed'," - row "110 + 'context' => [" [ref=e3349]: - cell [ref=e3350] - cell "110" [ref=e3351]: "110" - cell [ref=e3352] - cell "+" [ref=e3353]: - generic [ref=e3354]: + - cell "'context' => [" [ref=e3355]: - code [ref=e3356]: "'context' => [" - row "111 + 'reconciliation' => [" [ref=e3357]: - cell [ref=e3358] - cell "111" [ref=e3359]: "111" - cell [ref=e3360] - cell "+" [ref=e3361]: - generic [ref=e3362]: + - cell "'reconciliation' => [" [ref=e3363]: - code [ref=e3364]: "'reconciliation' => [" - row "112 + 'reconciled_at' => now()->toIso8601String()," [ref=e3365]: - cell [ref=e3366] - cell "112" [ref=e3367]: "112" - cell [ref=e3368] - cell "+" [ref=e3369]: - generic [ref=e3370]: + - cell "'reconciled_at' => now()->toIso8601String()," [ref=e3371]: - code [ref=e3372]: "'reconciled_at' => now()->toIso8601String()," - row "113 + 'source' => 'adapter_reconciler'," [ref=e3373]: - cell [ref=e3374] - cell "113" [ref=e3375]: "113" - cell [ref=e3376] - cell "+" [ref=e3377]: - generic [ref=e3378]: + - cell "'source' => 'adapter_reconciler'," [ref=e3379]: - code [ref=e3380]: "'source' => 'adapter_reconciler'," - row "114 + ]," [ref=e3381]: - cell [ref=e3382] - cell "114" [ref=e3383]: "114" - cell [ref=e3384] - cell "+" [ref=e3385]: - generic [ref=e3386]: + - cell "]," [ref=e3387]: - code [ref=e3388]: "]," - row "115 + ]," [ref=e3389]: - cell [ref=e3390] - cell "115" [ref=e3391]: "115" - cell [ref=e3392] - cell "+" [ref=e3393]: - generic [ref=e3394]: + - cell "]," [ref=e3395]: - code [ref=e3396]: "]," - row "116 + 'summary_counts' => [" [ref=e3397]: - cell [ref=e3398] - cell "116" [ref=e3399]: "116" - cell [ref=e3400] - cell "+" [ref=e3401]: - generic [ref=e3402]: + - cell "'summary_counts' => [" [ref=e3403]: - code [ref=e3404]: "'summary_counts' => [" - row "117 + 'total' => 10," [ref=e3405]: - cell [ref=e3406] - cell "117" [ref=e3407]: "117" - cell [ref=e3408] - cell "+" [ref=e3409]: - generic [ref=e3410]: + - cell "'total' => 10," [ref=e3411]: - code [ref=e3412]: "'total' => 10," - row "118 + 'processed' => 10," [ref=e3413]: - cell [ref=e3414] - cell "118" [ref=e3415]: "118" - cell [ref=e3416] - cell "+" [ref=e3417]: - generic [ref=e3418]: + - cell "'processed' => 10," [ref=e3419]: - code [ref=e3420]: "'processed' => 10," - row "119 + ]," [ref=e3421]: - cell [ref=e3422] - cell "119" [ref=e3423]: "119" - cell [ref=e3424] - cell "+" [ref=e3425]: - generic [ref=e3426]: + - cell "]," [ref=e3427]: - code [ref=e3428]: "]," - row "120 + 'started_at' => now()->subMinutes(2)," [ref=e3429]: - cell [ref=e3430] - cell "120" [ref=e3431]: "120" - cell [ref=e3432] - cell "+" [ref=e3433]: - generic [ref=e3434]: + - cell "'started_at' => now()->subMinutes(2)," [ref=e3435]: - code [ref=e3436]: "'started_at' => now()->subMinutes(2)," - row "121 + 'completed_at' => now()->subSecond()," [ref=e3437]: - cell [ref=e3438] - cell "121" [ref=e3439]: "121" - cell [ref=e3440] - cell "+" [ref=e3441]: - generic [ref=e3442]: + - cell "'completed_at' => now()->subSecond()," [ref=e3443]: - code [ref=e3444]: "'completed_at' => now()->subSecond()," - row "122 + ]);" [ref=e3445]: - cell [ref=e3446] - cell "122" [ref=e3447]: "122" - cell [ref=e3448] - cell "+" [ref=e3449]: - generic [ref=e3450]: + - cell "]);" [ref=e3451]: - code [ref=e3452]: "]);" - row "123 +" [ref=e3453]: - cell [ref=e3454] - cell "123" [ref=e3455]: "123" - cell [ref=e3456] - cell "+" [ref=e3457]: - generic [ref=e3458]: + - cell [ref=e3459]: - code - row "124 + $progress = OperationRunProgressContract::forRun($run);" [ref=e3460]: - cell [ref=e3461] - cell "124" [ref=e3462]: "124" - cell [ref=e3463] - cell "+" [ref=e3464]: - generic [ref=e3465]: + - cell "$progress = OperationRunProgressContract::forRun($run);" [ref=e3466]: - code [ref=e3467]: $progress = OperationRunProgressContract::forRun($run); - row "125 +" [ref=e3468]: - cell [ref=e3469] - cell "125" [ref=e3470]: "125" - cell [ref=e3471] - cell "+" [ref=e3472]: - generic [ref=e3473]: + - cell [ref=e3474]: - code - row "126 + expect($progress['capability'])->toBe('none')" [ref=e3475]: - cell [ref=e3476] - cell "126" [ref=e3477]: "126" - cell [ref=e3478] - cell "+" [ref=e3479]: - generic [ref=e3480]: + - cell "expect($progress['capability'])->toBe('none')" [ref=e3481]: - code [ref=e3482]: expect($progress['capability'])->toBe('none') - row "127 + ->and($progress['display'])->toBe('none')" [ref=e3483]: - cell [ref=e3484] - cell "127" [ref=e3485]: "127" - cell [ref=e3486] - cell "+" [ref=e3487]: - generic [ref=e3488]: + - cell "->and($progress['display'])->toBe('none')" [ref=e3489]: - code [ref=e3490]: "->and($progress['display'])->toBe('none')" - row "128 + ->and($progress['label'])->toBeNull()" [ref=e3491]: - cell [ref=e3492] - cell "128" [ref=e3493]: "128" - cell [ref=e3494] - cell "+" [ref=e3495]: - generic [ref=e3496]: + - cell "->and($progress['label'])->toBeNull()" [ref=e3497]: - code [ref=e3498]: "->and($progress['label'])->toBeNull()" - row "129 + ->and($progress['percent'])->toBeNull();" [ref=e3499]: - cell [ref=e3500] - cell "129" [ref=e3501]: "129" - cell [ref=e3502] - cell "+" [ref=e3503]: - generic [ref=e3504]: + - cell "->and($progress['percent'])->toBeNull();" [ref=e3505]: - code [ref=e3506]: "->and($progress['percent'])->toBeNull();" - 'row "130 + });" [ref=e3507]': - cell [ref=e3508] - cell "130" [ref=e3509]: "130" - cell [ref=e3510] - cell "+" [ref=e3511]: - generic [ref=e3512]: + - 'cell "});" [ref=e3513]': - code [ref=e3514]: "});" - row "131 +" [ref=e3515]: - cell [ref=e3516] - cell "131" [ref=e3517]: "131" - cell [ref=e3518] - cell "+" [ref=e3519]: - generic [ref=e3520]: + - cell [ref=e3521]: - code - 'row "90 132 it(''does not let outcome counters masquerade as counted progress'', function (): void {" [ref=e3522]': - cell "90" [ref=e3523]: "90" - cell "132" [ref=e3524]: "132" - cell [ref=e3525] - cell [ref=e3526] - 'cell "it(''does not let outcome counters masquerade as counted progress'', function (): void {" [ref=e3527]': - code [ref=e3528]: "it('does not let outcome counters masquerade as counted progress', function (): void {" - row "91 133 $run = OperationRun::factory()->create([" [ref=e3529]: - cell "91" [ref=e3530]: "91" - cell "133" [ref=e3531]: "133" - cell [ref=e3532] - cell [ref=e3533] - cell "$run = OperationRun::factory()->create([" [ref=e3534]: - code [ref=e3535]: $run = OperationRun::factory()->create([ - row "92 134 'status' => 'running'," [ref=e3536]: - cell "92" [ref=e3537]: "92" - cell "134" [ref=e3538]: "134" - cell [ref=e3539] - cell [ref=e3540] - cell "'status' => 'running'," [ref=e3541]: - code [ref=e3542]: "'status' => 'running'," - row "@ -107,6 +149,67 @@" [ref=e3543]: - cell [ref=e3544]: - button [ref=e3546] [cursor=pointer]: - img [ref=e3547] - cell [ref=e3549] - cell [ref=e3550] - cell "@ -107,6 +149,67 @@" [ref=e3551]: - code [ref=e3552]: "@ -107,6 +149,67 @@" - row "107 149 ->and($progress['percent'])->toBeNull();" [ref=e3553]: - cell "107" [ref=e3554]: "107" - cell "149" [ref=e3555]: "149" - cell [ref=e3556] - cell [ref=e3557] - cell "->and($progress['percent'])->toBeNull();" [ref=e3558]: - code [ref=e3559]: "->and($progress['percent'])->toBeNull();" - 'row "108 150 });" [ref=e3560]': - cell "108" [ref=e3561]: "108" - cell "150" [ref=e3562]: "150" - cell [ref=e3563] - cell [ref=e3564] - 'cell "});" [ref=e3565]': - code [ref=e3566]: "});" - row "109 151" [ref=e3567]: - cell "109" [ref=e3568]: "109" - cell "151" [ref=e3569]: "151" - cell [ref=e3570] - cell [ref=e3571] - cell [ref=e3572]: - code - 'row "152 + it(''replaces ordinary activity copy with stale lifecycle guidance for stale running runs'', function (): void {" [ref=e3573]': - cell [ref=e3574] - cell "152" [ref=e3575]: "152" - cell [ref=e3576] - cell "+" [ref=e3577]: - generic [ref=e3578]: + - 'cell "it(''replaces ordinary activity copy with stale lifecycle guidance for stale running runs'', function (): void {" [ref=e3579]': - code [ref=e3580]: "it('replaces ordinary activity copy with stale lifecycle guidance for stale running runs', function (): void {" - row "153 + $run = OperationRun::factory()->create([" [ref=e3581]: - cell [ref=e3582] - cell "153" [ref=e3583]: "153" - cell [ref=e3584] - cell "+" [ref=e3585]: - generic [ref=e3586]: + - cell "$run = OperationRun::factory()->create([" [ref=e3587]: - code [ref=e3588]: $run = OperationRun::factory()->create([ - row "154 + 'type' => 'inventory_sync'," [ref=e3589]: - cell [ref=e3590] - cell "154" [ref=e3591]: "154" - cell [ref=e3592] - cell "+" [ref=e3593]: - generic [ref=e3594]: + - cell "'type' => 'inventory_sync'," [ref=e3595]: - code [ref=e3596]: "'type' => 'inventory_sync'," - row "155 + 'status' => 'running'," [ref=e3597]: - cell [ref=e3598] - cell "155" [ref=e3599]: "155" - cell [ref=e3600] - cell "+" [ref=e3601]: - generic [ref=e3602]: + - cell "'status' => 'running'," [ref=e3603]: - code [ref=e3604]: "'status' => 'running'," - row "156 + 'outcome' => 'pending'," [ref=e3605]: - cell [ref=e3606] - cell "156" [ref=e3607]: "156" - cell [ref=e3608] - cell "+" [ref=e3609]: - generic [ref=e3610]: + - cell "'outcome' => 'pending'," [ref=e3611]: - code [ref=e3612]: "'outcome' => 'pending'," - row "157 + 'started_at' => now()->subWeeks(2)," [ref=e3613]: - cell [ref=e3614] - cell "157" [ref=e3615]: "157" - cell [ref=e3616] - cell "+" [ref=e3617]: - generic [ref=e3618]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e3619]: - code [ref=e3620]: "'started_at' => now()->subWeeks(2)," - row "158 + 'created_at' => now()->subWeeks(2)," [ref=e3621]: - cell [ref=e3622] - cell "158" [ref=e3623]: "158" - cell [ref=e3624] - cell "+" [ref=e3625]: - generic [ref=e3626]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e3627]: - code [ref=e3628]: "'created_at' => now()->subWeeks(2)," - row "159 + ]);" [ref=e3629]: - cell [ref=e3630] - cell "159" [ref=e3631]: "159" - cell [ref=e3632] - cell "+" [ref=e3633]: - generic [ref=e3634]: + - cell "]);" [ref=e3635]: - code [ref=e3636]: "]);" - row "160 +" [ref=e3637]: - cell [ref=e3638] - cell "160" [ref=e3639]: "160" - cell [ref=e3640] - cell "+" [ref=e3641]: - generic [ref=e3642]: + - cell [ref=e3643]: - code - row "161 + $progress = OperationRunProgressContract::forRun($run);" [ref=e3644]: - cell [ref=e3645] - cell "161" [ref=e3646]: "161" - cell [ref=e3647] - cell "+" [ref=e3648]: - generic [ref=e3649]: + - cell "$progress = OperationRunProgressContract::forRun($run);" [ref=e3650]: - code [ref=e3651]: $progress = OperationRunProgressContract::forRun($run); - row "162 +" [ref=e3652]: - cell [ref=e3653] - cell "162" [ref=e3654]: "162" - cell [ref=e3655] - cell "+" [ref=e3656]: - generic [ref=e3657]: + - cell [ref=e3658]: - code - row "163 + expect($progress['capability'])->toBe('activity')" [ref=e3659]: - cell [ref=e3660] - cell "163" [ref=e3661]: "163" - cell [ref=e3662] - cell "+" [ref=e3663]: - generic [ref=e3664]: + - cell "expect($progress['capability'])->toBe('activity')" [ref=e3665]: - code [ref=e3666]: expect($progress['capability'])->toBe('activity') - row "164 + ->and($progress['display'])->toBe('indeterminate')" [ref=e3667]: - cell [ref=e3668] - cell "164" [ref=e3669]: "164" - cell [ref=e3670] - cell "+" [ref=e3671]: - generic [ref=e3672]: + - cell "->and($progress['display'])->toBe('indeterminate')" [ref=e3673]: - code [ref=e3674]: "->and($progress['display'])->toBe('indeterminate')" - row "165 + ->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3675]: - cell [ref=e3676] - cell "165" [ref=e3677]: "165" - cell [ref=e3678] - cell "+" [ref=e3679]: - generic [ref=e3680]: + - cell "->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3681]: - code [ref=e3682]: "->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" - row "166 + ->and($progress['percent'])->toBeNull();" [ref=e3683]: - cell [ref=e3684] - cell "166" [ref=e3685]: "166" - cell [ref=e3686] - cell "+" [ref=e3687]: - generic [ref=e3688]: + - cell "->and($progress['percent'])->toBeNull();" [ref=e3689]: - code [ref=e3690]: "->and($progress['percent'])->toBeNull();" - 'row "167 + });" [ref=e3691]': - cell [ref=e3692] - cell "167" [ref=e3693]: "167" - cell [ref=e3694] - cell "+" [ref=e3695]: - generic [ref=e3696]: + - 'cell "});" [ref=e3697]': - code [ref=e3698]: "});" - row "168 +" [ref=e3699]: - cell [ref=e3700] - cell "168" [ref=e3701]: "168" - cell [ref=e3702] - cell "+" [ref=e3703]: - generic [ref=e3704]: + - cell [ref=e3705]: - code - 'row "169 + it(''subordinates determinate stale-running progress to lifecycle guidance'', function (): void {" [ref=e3706]': - cell [ref=e3707] - cell "169" [ref=e3708]: "169" - cell [ref=e3709] - cell "+" [ref=e3710]: - generic [ref=e3711]: + - 'cell "it(''subordinates determinate stale-running progress to lifecycle guidance'', function (): void {" [ref=e3712]': - code [ref=e3713]: "it('subordinates determinate stale-running progress to lifecycle guidance', function (): void {" - row "170 + $run = OperationRun::factory()->create([" [ref=e3714]: - cell [ref=e3715] - cell "170" [ref=e3716]: "170" - cell [ref=e3717] - cell "+" [ref=e3718]: - generic [ref=e3719]: + - cell "$run = OperationRun::factory()->create([" [ref=e3720]: - code [ref=e3721]: $run = OperationRun::factory()->create([ - row "171 + 'type' => 'inventory_sync'," [ref=e3722]: - cell [ref=e3723] - cell "171" [ref=e3724]: "171" - cell [ref=e3725] - cell "+" [ref=e3726]: - generic [ref=e3727]: + - cell "'type' => 'inventory_sync'," [ref=e3728]: - code [ref=e3729]: "'type' => 'inventory_sync'," - row "172 + 'status' => 'running'," [ref=e3730]: - cell [ref=e3731] - cell "172" [ref=e3732]: "172" - cell [ref=e3733] - cell "+" [ref=e3734]: - generic [ref=e3735]: + - cell "'status' => 'running'," [ref=e3736]: - code [ref=e3737]: "'status' => 'running'," - row "173 + 'outcome' => 'pending'," [ref=e3738]: - cell [ref=e3739] - cell "173" [ref=e3740]: "173" - cell [ref=e3741] - cell "+" [ref=e3742]: - generic [ref=e3743]: + - cell "'outcome' => 'pending'," [ref=e3744]: - code [ref=e3745]: "'outcome' => 'pending'," - row "174 + 'summary_counts' => [" [ref=e3746]: - cell [ref=e3747] - cell "174" [ref=e3748]: "174" - cell [ref=e3749] - cell "+" [ref=e3750]: - generic [ref=e3751]: + - cell "'summary_counts' => [" [ref=e3752]: - code [ref=e3753]: "'summary_counts' => [" - row "175 + 'total' => 10," [ref=e3754]: - cell [ref=e3755] - cell "175" [ref=e3756]: "175" - cell [ref=e3757] - cell "+" [ref=e3758]: - generic [ref=e3759]: + - cell "'total' => 10," [ref=e3760]: - code [ref=e3761]: "'total' => 10," - row "176 + 'processed' => 4," [ref=e3762]: - cell [ref=e3763] - cell "176" [ref=e3764]: "176" - cell [ref=e3765] - cell "+" [ref=e3766]: - generic [ref=e3767]: + - cell "'processed' => 4," [ref=e3768]: - code [ref=e3769]: "'processed' => 4," - row "177 + ]," [ref=e3770]: - cell [ref=e3771] - cell "177" [ref=e3772]: "177" - cell [ref=e3773] - cell "+" [ref=e3774]: - generic [ref=e3775]: + - cell "]," [ref=e3776]: - code [ref=e3777]: "]," - row "178 + 'started_at' => now()->subWeeks(2)," [ref=e3778]: - cell [ref=e3779] - cell "178" [ref=e3780]: "178" - cell [ref=e3781] - cell "+" [ref=e3782]: - generic [ref=e3783]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e3784]: - code [ref=e3785]: "'started_at' => now()->subWeeks(2)," - row "179 + 'created_at' => now()->subWeeks(2)," [ref=e3786]: - cell [ref=e3787] - cell "179" [ref=e3788]: "179" - cell [ref=e3789] - cell "+" [ref=e3790]: - generic [ref=e3791]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e3792]: - code [ref=e3793]: "'created_at' => now()->subWeeks(2)," - row "180 + ]);" [ref=e3794]: - cell [ref=e3795] - cell "180" [ref=e3796]: "180" - cell [ref=e3797] - cell "+" [ref=e3798]: - generic [ref=e3799]: + - cell "]);" [ref=e3800]: - code [ref=e3801]: "]);" - row "181 +" [ref=e3802]: - cell [ref=e3803] - cell "181" [ref=e3804]: "181" - cell [ref=e3805] - cell "+" [ref=e3806]: - generic [ref=e3807]: + - cell [ref=e3808]: - code - row "182 + $progress = OperationRunProgressContract::forRun($run);" [ref=e3809]: - cell [ref=e3810] - cell "182" [ref=e3811]: "182" - cell [ref=e3812] - cell "+" [ref=e3813]: - generic [ref=e3814]: + - cell "$progress = OperationRunProgressContract::forRun($run);" [ref=e3815]: - code [ref=e3816]: $progress = OperationRunProgressContract::forRun($run); - row "183 +" [ref=e3817]: - cell [ref=e3818] - cell "183" [ref=e3819]: "183" - cell [ref=e3820] - cell "+" [ref=e3821]: - generic [ref=e3822]: + - cell [ref=e3823]: - code - row "184 + expect($progress['capability'])->toBe('counted')" [ref=e3824]: - cell [ref=e3825] - cell "184" [ref=e3826]: "184" - cell [ref=e3827] - cell "+" [ref=e3828]: - generic [ref=e3829]: + - cell "expect($progress['capability'])->toBe('counted')" [ref=e3830]: - code [ref=e3831]: expect($progress['capability'])->toBe('counted') - row "185 + ->and($progress['display'])->toBe('indeterminate')" [ref=e3832]: - cell [ref=e3833] - cell "185" [ref=e3834]: "185" - cell [ref=e3835] - cell "+" [ref=e3836]: - generic [ref=e3837]: + - cell "->and($progress['display'])->toBe('indeterminate')" [ref=e3838]: - code [ref=e3839]: "->and($progress['display'])->toBe('indeterminate')" - row "186 + ->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3840]: - cell [ref=e3841] - cell "186" [ref=e3842]: "186" - cell [ref=e3843] - cell "+" [ref=e3844]: - generic [ref=e3845]: + - cell "->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" [ref=e3846]: - code [ref=e3847]: "->and($progress['label'])->toBe('Past the lifecycle window. Review worker health and logs before retrying.')" - row "187 + ->and($progress['processed'])->toBeNull()" [ref=e3848]: - cell [ref=e3849] - cell "187" [ref=e3850]: "187" - cell [ref=e3851] - cell "+" [ref=e3852]: - generic [ref=e3853]: + - cell "->and($progress['processed'])->toBeNull()" [ref=e3854]: - code [ref=e3855]: "->and($progress['processed'])->toBeNull()" - row "188 + ->and($progress['total'])->toBeNull()" [ref=e3856]: - cell [ref=e3857] - cell "188" [ref=e3858]: "188" - cell [ref=e3859] - cell "+" [ref=e3860]: - generic [ref=e3861]: + - cell "->and($progress['total'])->toBeNull()" [ref=e3862]: - code [ref=e3863]: "->and($progress['total'])->toBeNull()" - row "189 + ->and($progress['percent'])->toBeNull();" [ref=e3864]: - cell [ref=e3865] - cell "189" [ref=e3866]: "189" - cell [ref=e3867] - cell "+" [ref=e3868]: - generic [ref=e3869]: + - cell "->and($progress['percent'])->toBeNull();" [ref=e3870]: - code [ref=e3871]: "->and($progress['percent'])->toBeNull();" - 'row "190 + });" [ref=e3872]': - cell [ref=e3873] - cell "190" [ref=e3874]: "190" - cell [ref=e3875] - cell "+" [ref=e3876]: - generic [ref=e3877]: + - 'cell "});" [ref=e3878]': - code [ref=e3879]: "});" - row "191 +" [ref=e3880]: - cell [ref=e3881] - cell "191" [ref=e3882]: "191" - cell [ref=e3883] - cell "+" [ref=e3884]: - generic [ref=e3885]: + - cell [ref=e3886]: - code - 'row "192 + it(''does not overclaim stale lifecycle guidance for unsupported running types'', function (): void {" [ref=e3887]': - cell [ref=e3888] - cell "192" [ref=e3889]: "192" - cell [ref=e3890] - cell "+" [ref=e3891]: - generic [ref=e3892]: + - 'cell "it(''does not overclaim stale lifecycle guidance for unsupported running types'', function (): void {" [ref=e3893]': - code [ref=e3894]: "it('does not overclaim stale lifecycle guidance for unsupported running types', function (): void {" - row "193 + $run = OperationRun::factory()->create([" [ref=e3895]: - cell [ref=e3896] - cell "193" [ref=e3897]: "193" - cell [ref=e3898] - cell "+" [ref=e3899]: - generic [ref=e3900]: + - cell "$run = OperationRun::factory()->create([" [ref=e3901]: - code [ref=e3902]: $run = OperationRun::factory()->create([ - row "194 + 'type' => 'unsupported.operation'," [ref=e3903]: - cell [ref=e3904] - cell "194" [ref=e3905]: "194" - cell [ref=e3906] - cell "+" [ref=e3907]: - generic [ref=e3908]: + - cell "'type' => 'unsupported.operation'," [ref=e3909]: - code [ref=e3910]: "'type' => 'unsupported.operation'," - row "195 + 'status' => 'running'," [ref=e3911]: - cell [ref=e3912] - cell "195" [ref=e3913]: "195" - cell [ref=e3914] - cell "+" [ref=e3915]: - generic [ref=e3916]: + - cell "'status' => 'running'," [ref=e3917]: - code [ref=e3918]: "'status' => 'running'," - row "196 + 'outcome' => 'pending'," [ref=e3919]: - cell [ref=e3920] - cell "196" [ref=e3921]: "196" - cell [ref=e3922] - cell "+" [ref=e3923]: - generic [ref=e3924]: + - cell "'outcome' => 'pending'," [ref=e3925]: - code [ref=e3926]: "'outcome' => 'pending'," - row "197 + 'summary_counts' => [" [ref=e3927]: - cell [ref=e3928] - cell "197" [ref=e3929]: "197" - cell [ref=e3930] - cell "+" [ref=e3931]: - generic [ref=e3932]: + - cell "'summary_counts' => [" [ref=e3933]: - code [ref=e3934]: "'summary_counts' => [" - row "198 + 'total' => 10," [ref=e3935]: - cell [ref=e3936] - cell "198" [ref=e3937]: "198" - cell [ref=e3938] - cell "+" [ref=e3939]: - generic [ref=e3940]: + - cell "'total' => 10," [ref=e3941]: - code [ref=e3942]: "'total' => 10," - row "199 + 'processed' => 4," [ref=e3943]: - cell [ref=e3944] - cell "199" [ref=e3945]: "199" - cell [ref=e3946] - cell "+" [ref=e3947]: - generic [ref=e3948]: + - cell "'processed' => 4," [ref=e3949]: - code [ref=e3950]: "'processed' => 4," - row "200 + ]," [ref=e3951]: - cell [ref=e3952] - cell "200" [ref=e3953]: "200" - cell [ref=e3954] - cell "+" [ref=e3955]: - generic [ref=e3956]: + - cell "]," [ref=e3957]: - code [ref=e3958]: "]," - row "201 + 'started_at' => now()->subWeeks(2)," [ref=e3959]: - cell [ref=e3960] - cell "201" [ref=e3961]: "201" - cell [ref=e3962] - cell "+" [ref=e3963]: - generic [ref=e3964]: + - cell "'started_at' => now()->subWeeks(2)," [ref=e3965]: - code [ref=e3966]: "'started_at' => now()->subWeeks(2)," - row "202 + 'created_at' => now()->subWeeks(2)," [ref=e3967]: - cell [ref=e3968] - cell "202" [ref=e3969]: "202" - cell [ref=e3970] - cell "+" [ref=e3971]: - generic [ref=e3972]: + - cell "'created_at' => now()->subWeeks(2)," [ref=e3973]: - code [ref=e3974]: "'created_at' => now()->subWeeks(2)," - row "203 + ]);" [ref=e3975]: - cell [ref=e3976] - cell "203" [ref=e3977]: "203" - cell [ref=e3978] - cell "+" [ref=e3979]: - generic [ref=e3980]: + - cell "]);" [ref=e3981]: - code [ref=e3982]: "]);" - row "204 +" [ref=e3983]: - cell [ref=e3984] - cell "204" [ref=e3985]: "204" - cell [ref=e3986] - cell "+" [ref=e3987]: - generic [ref=e3988]: + - cell [ref=e3989]: - code - row "205 + $progress = OperationRunProgressContract::forRun($run);" [ref=e3990]: - cell [ref=e3991] - cell "205" [ref=e3992]: "205" - cell [ref=e3993] - cell "+" [ref=e3994]: - generic [ref=e3995]: + - cell "$progress = OperationRunProgressContract::forRun($run);" [ref=e3996]: - code [ref=e3997]: $progress = OperationRunProgressContract::forRun($run); - row "206 +" [ref=e3998]: - cell [ref=e3999] - cell "206" [ref=e4000]: "206" - cell [ref=e4001] - cell "+" [ref=e4002]: - generic [ref=e4003]: + - cell [ref=e4004]: - code - row "207 + expect($progress['capability'])->toBe('counted')" [ref=e4005]: - cell [ref=e4006] - cell "207" [ref=e4007]: "207" - cell [ref=e4008] - cell "+" [ref=e4009]: - generic [ref=e4010]: + - cell "expect($progress['capability'])->toBe('counted')" [ref=e4011]: - code [ref=e4012]: expect($progress['capability'])->toBe('counted') - row "208 + ->and($progress['display'])->toBe('counted')" [ref=e4013]: - cell [ref=e4014] - cell "208" [ref=e4015]: "208" - cell [ref=e4016] - cell "+" [ref=e4017]: - generic [ref=e4018]: + - cell "->and($progress['display'])->toBe('counted')" [ref=e4019]: - code [ref=e4020]: "->and($progress['display'])->toBe('counted')" - row "209 + ->and($progress['label'])->toBe('4 / 10 processed (40%)')" [ref=e4021]: - cell [ref=e4022] - cell "209" [ref=e4023]: "209" - cell [ref=e4024] - cell "+" [ref=e4025]: - generic [ref=e4026]: + - cell "->and($progress['label'])->toBe('4 / 10 processed (40%)')" [ref=e4027]: - code [ref=e4028]: "->and($progress['label'])->toBe('4 / 10 processed (40%)')" - row "210 + ->and($progress['percent'])->toBe(40);" [ref=e4029]: - cell [ref=e4030] - cell "210" [ref=e4031]: "210" - cell [ref=e4032] - cell "+" [ref=e4033]: - generic [ref=e4034]: + - cell "->and($progress['percent'])->toBe(40);" [ref=e4035]: - code [ref=e4036]: "->and($progress['percent'])->toBe(40);" - 'row "211 + });" [ref=e4037]': - cell [ref=e4038] - cell "211" [ref=e4039]: "211" - cell [ref=e4040] - cell "+" [ref=e4041]: - generic [ref=e4042]: + - 'cell "});" [ref=e4043]': - code [ref=e4044]: "});" - row "212 +" [ref=e4045]: - cell [ref=e4046] - cell "212" [ref=e4047]: "212" - cell [ref=e4048] - cell "+" [ref=e4049]: - generic [ref=e4050]: + - cell [ref=e4051]: - code - 'row "110 213 it(''classifies repo-real baseline evidence capture runs as phased fallback'', function (): void {" [ref=e4052]': - cell "110" [ref=e4053]: "110" - cell "213" [ref=e4054]: "213" - cell [ref=e4055] - cell [ref=e4056] - 'cell "it(''classifies repo-real baseline evidence capture runs as phased fallback'', function (): void {" [ref=e4057]': - code [ref=e4058]: "it('classifies repo-real baseline evidence capture runs as phased fallback', function (): void {" - row "111 214 $run = OperationRun::factory()->create([" [ref=e4059]: - cell "111" [ref=e4060]: "111" - cell "214" [ref=e4061]: "214" - cell [ref=e4062] - cell [ref=e4063] - cell "$run = OperationRun::factory()->create([" [ref=e4064]: - code [ref=e4065]: $run = OperationRun::factory()->create([ - row "112 215 'type' => 'baseline_capture'," [ref=e4066]: - cell "112" [ref=e4067]: "112" - cell "215" [ref=e4068]: "215" - cell [ref=e4069] - cell [ref=e4070] - cell "'type' => 'baseline_capture'," [ref=e4071]: - code [ref=e4072]: "'type' => 'baseline_capture'," - row [ref=e4073]: - cell [ref=e4074]: - button [ref=e4076] [cursor=pointer]: - img [ref=e4077] - cell [ref=e4079] - cell [ref=e4080] - cell [ref=e4081]: - code - generic [ref=e4082]: - 'heading "64 64 Änderungen: 64 Ergänzungen und 0 Löschungen specs/358-operationrun-queue-truth-foundation/checklists/requirements.md Normale Datei Datei anzeigen" [level=4] [ref=e4083]': - generic [ref=e4084]: - button [ref=e4085] [cursor=pointer]: - img [ref=e4086] - generic [ref=e4088]: - text: "64" - 'generic "64 Änderungen: 64 Ergänzungen und 0 Löschungen" [ref=e4089]' - generic [ref=e4091]: - link "specs/358-operationrun-queue-truth-foundation/checklists/requirements.md" [ref=e4092] [cursor=pointer]: - /url: "#diff-6bdac27a6033e74007da66e96266ee61f0bb49a3" - button [ref=e4093] [cursor=pointer]: - img [ref=e4094] - generic [ref=e4097]: Normale Datei - link "Datei anzeigen" [ref=e4099] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/specs/358-operationrun-queue-truth-foundation/checklists/requirements.md - table [ref=e4102]: - rowgroup [ref=e4109]: - row "@ -0,0 +1,64 @@" [ref=e4110]: - cell [ref=e4111] - cell [ref=e4112] - cell [ref=e4113] - cell "@ -0,0 +1,64 @@" [ref=e4114]: - code [ref=e4115]: "@ -0,0 +1,64 @@" - 'row "1 + # Requirements Checklist: Spec 358 - OperationRun Queue Truth Foundation" [ref=e4116]': - cell [ref=e4117] - cell "1" [ref=e4118]: "1" - cell [ref=e4119] - cell "+" [ref=e4120]: - generic [ref=e4121]: + - 'cell "# Requirements Checklist: Spec 358 - OperationRun Queue Truth Foundation" [ref=e4122]': - code [ref=e4123]: "# Requirements Checklist: Spec 358 - OperationRun Queue Truth Foundation" - row "2 +" [ref=e4124]: - cell [ref=e4125] - cell "2" [ref=e4126]: "2" - cell [ref=e4127] - cell "+" [ref=e4128]: - generic [ref=e4129]: + - cell [ref=e4130]: - code - 'row "3 + **Purpose**: Preparation analysis for Spec 358 readiness" [ref=e4131]': - cell [ref=e4132] - cell "3" [ref=e4133]: "3" - cell [ref=e4134] - cell "+" [ref=e4135]: - generic [ref=e4136]: + - 'cell "**Purpose**: Preparation analysis for Spec 358 readiness" [ref=e4137]': - code [ref=e4138]: "**Purpose**: Preparation analysis for Spec 358 readiness" - 'row "4 + **Created**: 2026-06-06" [ref=e4139]': - cell [ref=e4140] - cell "4" [ref=e4141]: "4" - cell [ref=e4142] - cell "+" [ref=e4143]: - generic [ref=e4144]: + - 'cell "**Created**: 2026-06-06" [ref=e4145]': - code [ref=e4146]: "**Created**: 2026-06-06" - 'row "5 + **Feature**: `specs/358-operationrun-queue-truth-foundation/spec.md`" [ref=e4147]': - cell [ref=e4148] - cell "5" [ref=e4149]: "5" - cell [ref=e4150] - cell "+" [ref=e4151]: - generic [ref=e4152]: + - 'cell "**Feature**: `specs/358-operationrun-queue-truth-foundation/spec.md`" [ref=e4153]': - code [ref=e4154]: "**Feature**: `specs/358-operationrun-queue-truth-foundation/spec.md`" - row "6 +" [ref=e4155]: - cell [ref=e4156] - cell "6" [ref=e4157]: "6" - cell [ref=e4158] - cell "+" [ref=e4159]: - generic [ref=e4160]: + - cell [ref=e4161]: - code - 'row "7 + ## Candidate Selection And Guardrails" [ref=e4162]': - cell [ref=e4163] - cell "7" [ref=e4164]: "7" - cell [ref=e4165] - cell "+" [ref=e4166]: - generic [ref=e4167]: + - cell "## Candidate Selection And Guardrails" [ref=e4168]: - code [ref=e4169]: "## Candidate Selection And Guardrails" - row "8 +" [ref=e4170]: - cell [ref=e4171] - cell "8" [ref=e4172]: "8" - cell [ref=e4173] - cell "+" [ref=e4174]: - generic [ref=e4175]: + - cell [ref=e4176]: - code - 'row "9 + - [x] CHK001 The candidate source is explicit: direct user-provided draft plus repo-verified current code truth." [ref=e4177]': - cell [ref=e4178] - cell "9" [ref=e4179]: "9" - cell [ref=e4180] - cell "+" [ref=e4181]: - generic [ref=e4182]: + - 'cell "- [x] CHK001 The candidate source is explicit: direct user-provided draft plus repo-verified current code truth." [ref=e4183]': - code [ref=e4184]: "- [x] CHK001 The candidate source is explicit: direct user-provided draft plus repo-verified current code truth." - 'row "10 + - [x] CHK002 No `specs/358-*` package existed before this prep." [ref=e4185]': - cell [ref=e4186] - cell "10" [ref=e4187]: "10" - cell [ref=e4188] - cell "+" [ref=e4189]: - generic [ref=e4190]: + - 'cell "- [x] CHK002 No `specs/358-*` package existed before this prep." [ref=e4191]': - code [ref=e4192]: "- [x] CHK002 No `specs/358-*` package existed before this prep." - 'row "11 + - [x] CHK003 Related historical specs are treated as context only: 149, 160, 233, 268, 270, and 272." [ref=e4193]': - cell [ref=e4194] - cell "11" [ref=e4195]: "11" - cell [ref=e4196] - cell "+" [ref=e4197]: - generic [ref=e4198]: + - 'cell "- [x] CHK003 Related historical specs are treated as context only: 149, 160, 233, 268, 270, and 272." [ref=e4199]': - code [ref=e4200]: "- [x] CHK003 Related historical specs are treated as context only: 149, 160, 233, 268, 270, and 272." - 'row "12 + - [x] CHK004 The selected slice is narrow and reviewable: generic queue-truth alignment only, with no new persistence or adapter framework." [ref=e4201]': - cell [ref=e4202] - cell "12" [ref=e4203]: "12" - cell [ref=e4204] - cell "+" [ref=e4205]: - generic [ref=e4206]: + - 'cell "- [x] CHK004 The selected slice is narrow and reviewable: generic queue-truth alignment only, with no new persistence or adapter framework." [ref=e4207]': - code [ref=e4208]: "- [x] CHK004 The selected slice is narrow and reviewable: generic queue-truth alignment only, with no new persistence or adapter framework." - 'row "13 + - [x] CHK005 Repo-truth deviations from the user draft are recorded in `spec.md`." [ref=e4209]': - cell [ref=e4210] - cell "13" [ref=e4211]: "13" - cell [ref=e4212] - cell "+" [ref=e4213]: - generic [ref=e4214]: + - 'cell "- [x] CHK005 Repo-truth deviations from the user draft are recorded in `spec.md`." [ref=e4215]': - code [ref=e4216]: "- [x] CHK005 Repo-truth deviations from the user draft are recorded in `spec.md`." - row "14 +" [ref=e4217]: - cell [ref=e4218] - cell "14" [ref=e4219]: "14" - cell [ref=e4220] - cell "+" [ref=e4221]: - generic [ref=e4222]: + - cell [ref=e4223]: - code - 'row "15 + ## Required Prep Artifacts" [ref=e4224]': - cell [ref=e4225] - cell "15" [ref=e4226]: "15" - cell [ref=e4227] - cell "+" [ref=e4228]: - generic [ref=e4229]: + - cell "## Required Prep Artifacts" [ref=e4230]: - code [ref=e4231]: "## Required Prep Artifacts" - row "16 +" [ref=e4232]: - cell [ref=e4233] - cell "16" [ref=e4234]: "16" - cell [ref=e4235] - cell "+" [ref=e4236]: - generic [ref=e4237]: + - cell [ref=e4238]: - code - 'row "17 + - [x] CHK006 `spec.md` exists and contains no template placeholders." [ref=e4239]': - cell [ref=e4240] - cell "17" [ref=e4241]: "17" - cell [ref=e4242] - cell "+" [ref=e4243]: - generic [ref=e4244]: + - 'cell "- [x] CHK006 `spec.md` exists and contains no template placeholders." [ref=e4245]': - code [ref=e4246]: "- [x] CHK006 `spec.md` exists and contains no template placeholders." - 'row "18 + - [x] CHK007 `plan.md` exists and is repo-aware." [ref=e4247]': - cell [ref=e4248] - cell "18" [ref=e4249]: "18" - cell [ref=e4250] - cell "+" [ref=e4251]: - generic [ref=e4252]: + - 'cell "- [x] CHK007 `plan.md` exists and is repo-aware." [ref=e4253]': - code [ref=e4254]: "- [x] CHK007 `plan.md` exists and is repo-aware." - 'row "19 + - [x] CHK008 `tasks.md` exists and is ordered, small, and verifiable." [ref=e4255]': - cell [ref=e4256] - cell "19" [ref=e4257]: "19" - cell [ref=e4258] - cell "+" [ref=e4259]: - generic [ref=e4260]: + - 'cell "- [x] CHK008 `tasks.md` exists and is ordered, small, and verifiable." [ref=e4261]': - code [ref=e4262]: "- [x] CHK008 `tasks.md` exists and is ordered, small, and verifiable." - row "20 + - [x] CHK009 This checklist exists." [ref=e4263]: - cell [ref=e4264] - cell "20" [ref=e4265]: "20" - cell [ref=e4266] - cell "+" [ref=e4267]: - generic [ref=e4268]: + - cell "- [x] CHK009 This checklist exists." [ref=e4269]: - code [ref=e4270]: "- [x] CHK009 This checklist exists." - row "21 +" [ref=e4271]: - cell [ref=e4272] - cell "21" [ref=e4273]: "21" - cell [ref=e4274] - cell "+" [ref=e4275]: - generic [ref=e4276]: + - cell [ref=e4277]: - code - 'row "22 + ## Spec Quality" [ref=e4278]': - cell [ref=e4279] - cell "22" [ref=e4280]: "22" - cell [ref=e4281] - cell "+" [ref=e4282]: - generic [ref=e4283]: + - cell "## Spec Quality" [ref=e4284]: - code [ref=e4285]: "## Spec Quality" - row "23 +" [ref=e4286]: - cell [ref=e4287] - cell "23" [ref=e4288]: "23" - cell [ref=e4289] - cell "+" [ref=e4290]: - generic [ref=e4291]: + - cell [ref=e4292]: - code - row "24 + - [x] CHK010 Spec Candidate Check is completed." [ref=e4293]: - cell [ref=e4294] - cell "24" [ref=e4295]: "24" - cell [ref=e4296] - cell "+" [ref=e4297]: - generic [ref=e4298]: + - cell "- [x] CHK010 Spec Candidate Check is completed." [ref=e4299]: - code [ref=e4300]: "- [x] CHK010 Spec Candidate Check is completed." - 'row "25 + - [x] CHK011 The spec keeps `OperationRun` truth derived-only and does not introduce new persisted lifecycle state." [ref=e4301]': - cell [ref=e4302] - cell "25" [ref=e4303]: "25" - cell [ref=e4304] - cell "+" [ref=e4305]: - generic [ref=e4306]: + - 'cell "- [x] CHK011 The spec keeps `OperationRun` truth derived-only and does not introduce new persisted lifecycle state." [ref=e4307]': - code [ref=e4308]: "- [x] CHK011 The spec keeps `OperationRun` truth derived-only and does not introduce new persisted lifecycle state." - row "26 + - [x] CHK012 The spec clearly separates current repo reconciliation truth from the user's broader future-framework wording." [ref=e4309]: - cell [ref=e4310] - cell "26" [ref=e4311]: "26" - cell [ref=e4312] - cell "+" [ref=e4313]: - generic [ref=e4314]: + - cell "- [x] CHK012 The spec clearly separates current repo reconciliation truth from the user's broader future-framework wording." [ref=e4315]: - code [ref=e4316]: "- [x] CHK012 The spec clearly separates current repo reconciliation truth from the user's broader future-framework wording." - row "27 + - [x] CHK013 The spec states clear goals, non-goals, requirements, risks, and acceptance criteria." [ref=e4317]: - cell [ref=e4318] - cell "27" [ref=e4319]: "27" - cell [ref=e4320] - cell "+" [ref=e4321]: - generic [ref=e4322]: + - cell "- [x] CHK013 The spec states clear goals, non-goals, requirements, risks, and acceptance criteria." [ref=e4323]: - code [ref=e4324]: "- [x] CHK013 The spec states clear goals, non-goals, requirements, risks, and acceptance criteria." - row "28 + - [x] CHK014 The proportionality review rejects a new queue-health subsystem or adapter registry by default." [ref=e4325]: - cell [ref=e4326] - cell "28" [ref=e4327]: "28" - cell [ref=e4328] - cell "+" [ref=e4329]: - generic [ref=e4330]: + - cell "- [x] CHK014 The proportionality review rejects a new queue-health subsystem or adapter registry by default." [ref=e4331]: - code [ref=e4332]: "- [x] CHK014 The proportionality review rejects a new queue-health subsystem or adapter registry by default." - row "29 +" [ref=e4333]: - cell [ref=e4334] - cell "29" [ref=e4335]: "29" - cell [ref=e4336] - cell "+" [ref=e4337]: - generic [ref=e4338]: + - cell [ref=e4339]: - code - 'row "30 + ## Plan / Task Alignment" [ref=e4340]': - cell [ref=e4341] - cell "30" [ref=e4342]: "30" - cell [ref=e4343] - cell "+" [ref=e4344]: - generic [ref=e4345]: + - cell "## Plan / Task Alignment" [ref=e4346]: - code [ref=e4347]: "## Plan / Task Alignment" - row "31 +" [ref=e4348]: - cell [ref=e4349] - cell "31" [ref=e4350]: "31" - cell [ref=e4351] - cell "+" [ref=e4352]: - generic [ref=e4353]: + - cell [ref=e4354]: - code - row "32 + - [x] CHK015 The plan identifies the actual repo surfaces likely to change." [ref=e4355]: - cell [ref=e4356] - cell "32" [ref=e4357]: "32" - cell [ref=e4358] - cell "+" [ref=e4359]: - generic [ref=e4360]: + - cell "- [x] CHK015 The plan identifies the actual repo surfaces likely to change." [ref=e4361]: - code [ref=e4362]: "- [x] CHK015 The plan identifies the actual repo surfaces likely to change." - row "33 + - [x] CHK016 The plan explicitly preserves existing scheduled and adapter reconciliation commands as out-of-scope context." [ref=e4363]: - cell [ref=e4364] - cell "33" [ref=e4365]: "33" - cell [ref=e4366] - cell "+" [ref=e4367]: - generic [ref=e4368]: + - cell "- [x] CHK016 The plan explicitly preserves existing scheduled and adapter reconciliation commands as out-of-scope context." [ref=e4369]: - code [ref=e4370]: "- [x] CHK016 The plan explicitly preserves existing scheduled and adapter reconciliation commands as out-of-scope context." - row "34 + - [x] CHK017 The plan keeps Filament v5 / Livewire v4 posture and provider-registration location visible." [ref=e4371]: - cell [ref=e4372] - cell "34" [ref=e4373]: "34" - cell [ref=e4374] - cell "+" [ref=e4375]: - generic [ref=e4376]: + - cell "- [x] CHK017 The plan keeps Filament v5 / Livewire v4 posture and provider-registration location visible." [ref=e4377]: - code [ref=e4378]: "- [x] CHK017 The plan keeps Filament v5 / Livewire v4 posture and provider-registration location visible." - row "35 + - [x] CHK018 The tasks include tests-first work and explicit runtime validation commands." [ref=e4379]: - cell [ref=e4380] - cell "35" [ref=e4381]: "35" - cell [ref=e4382] - cell "+" [ref=e4383]: - generic [ref=e4384]: + - cell "- [x] CHK018 The tasks include tests-first work and explicit runtime validation commands." [ref=e4385]: - code [ref=e4386]: "- [x] CHK018 The tasks include tests-first work and explicit runtime validation commands." - row "36 + - [x] CHK019 The task list keeps scope bounded and includes anti-creep guardrails against persistence or framework expansion." [ref=e4387]: - cell [ref=e4388] - cell "36" [ref=e4389]: "36" - cell [ref=e4390] - cell "+" [ref=e4391]: - generic [ref=e4392]: + - cell "- [x] CHK019 The task list keeps scope bounded and includes anti-creep guardrails against persistence or framework expansion." [ref=e4393]: - code [ref=e4394]: "- [x] CHK019 The task list keeps scope bounded and includes anti-creep guardrails against persistence or framework expansion." - row "37 +" [ref=e4395]: - cell [ref=e4396] - cell "37" [ref=e4397]: "37" - cell [ref=e4398] - cell "+" [ref=e4399]: - generic [ref=e4400]: + - cell [ref=e4401]: - code - 'row "38 + ## UI / Monitoring Coverage" [ref=e4402]': - cell [ref=e4403] - cell "38" [ref=e4404]: "38" - cell [ref=e4405] - cell "+" [ref=e4406]: - generic [ref=e4407]: + - cell "## UI / Monitoring Coverage" [ref=e4408]: - code [ref=e4409]: "## UI / Monitoring Coverage" - row "39 +" [ref=e4410]: - cell [ref=e4411] - cell "39" [ref=e4412]: "39" - cell [ref=e4413] - cell "+" [ref=e4414]: - generic [ref=e4415]: + - cell [ref=e4416]: - code - row "40 + - [x] CHK020 UI Surface Impact is completed and does not claim no-impact." [ref=e4417]: - cell [ref=e4418] - cell "40" [ref=e4419]: "40" - cell [ref=e4420] - cell "+" [ref=e4421]: - generic [ref=e4422]: + - cell "- [x] CHK020 UI Surface Impact is completed and does not claim no-impact." [ref=e4423]: - code [ref=e4424]: "- [x] CHK020 UI Surface Impact is completed and does not claim no-impact." - row "41 + - [x] CHK021 The changed surfaces are correctly classified as existing monitoring family follow-through, not a new strategic customer surface." [ref=e4425]: - cell [ref=e4426] - cell "41" [ref=e4427]: "41" - cell [ref=e4428] - cell "+" [ref=e4429]: - generic [ref=e4430]: + - cell "- [x] CHK021 The changed surfaces are correctly classified as existing monitoring family follow-through, not a new strategic customer surface." [ref=e4431]: - code [ref=e4432]: "- [x] CHK021 The changed surfaces are correctly classified as existing monitoring family follow-through, not a new strategic customer surface." - row "42 + - [x] CHK022 No new page-report identity or route-inventory expansion is required for this bounded monitoring-family wording fix." [ref=e4433]: - cell [ref=e4434] - cell "42" [ref=e4435]: "42" - cell [ref=e4436] - cell "+" [ref=e4437]: - generic [ref=e4438]: + - cell "- [x] CHK022 No new page-report identity or route-inventory expansion is required for this bounded monitoring-family wording fix." [ref=e4439]: - code [ref=e4440]: "- [x] CHK022 No new page-report identity or route-inventory expansion is required for this bounded monitoring-family wording fix." - row "43 + - [x] CHK023 Audience-aware disclosure and no-overclaim wording boundaries are explicit." [ref=e4441]: - cell [ref=e4442] - cell "43" [ref=e4443]: "43" - cell [ref=e4444] - cell "+" [ref=e4445]: - generic [ref=e4446]: + - cell "- [x] CHK023 Audience-aware disclosure and no-overclaim wording boundaries are explicit." [ref=e4447]: - code [ref=e4448]: "- [x] CHK023 Audience-aware disclosure and no-overclaim wording boundaries are explicit." - row "44 +" [ref=e4449]: - cell [ref=e4450] - cell "44" [ref=e4451]: "44" - cell [ref=e4452] - cell "+" [ref=e4453]: - generic [ref=e4454]: + - cell [ref=e4455]: - code - 'row "45 + ## Test Governance" [ref=e4456]': - cell [ref=e4457] - cell "45" [ref=e4458]: "45" - cell [ref=e4459] - cell "+" [ref=e4460]: - generic [ref=e4461]: + - cell "## Test Governance" [ref=e4462]: - code [ref=e4463]: "## Test Governance" - row "46 +" [ref=e4464]: - cell [ref=e4465] - cell "46" [ref=e4466]: "46" - cell [ref=e4467] - cell "+" [ref=e4468]: - generic [ref=e4469]: + - cell [ref=e4470]: - code - 'row "47 + - [x] CHK024 The declared test families are the narrowest honest proof: Unit plus focused Feature." [ref=e4471]': - cell [ref=e4472] - cell "47" [ref=e4473]: "47" - cell [ref=e4474] - cell "+" [ref=e4475]: - generic [ref=e4476]: + - 'cell "- [x] CHK024 The declared test families are the narrowest honest proof: Unit plus focused Feature." [ref=e4477]': - code [ref=e4478]: "- [x] CHK024 The declared test families are the narrowest honest proof: Unit plus focused Feature." - row "48 + - [x] CHK025 No broad new browser or heavy-governance family is introduced." [ref=e4479]: - cell [ref=e4480] - cell "48" [ref=e4481]: "48" - cell [ref=e4482] - cell "+" [ref=e4483]: - generic [ref=e4484]: + - cell "- [x] CHK025 No broad new browser or heavy-governance family is introduced." [ref=e4485]: - code [ref=e4486]: "- [x] CHK025 No broad new browser or heavy-governance family is introduced." - row "49 + - [x] CHK026 Planned validation commands are explicit and file-scoped." [ref=e4487]: - cell [ref=e4488] - cell "49" [ref=e4489]: "49" - cell [ref=e4490] - cell "+" [ref=e4491]: - generic [ref=e4492]: + - cell "- [x] CHK026 Planned validation commands are explicit and file-scoped." [ref=e4493]: - code [ref=e4494]: "- [x] CHK026 Planned validation commands are explicit and file-scoped." - row "50 +" [ref=e4495]: - cell [ref=e4496] - cell "50" [ref=e4497]: "50" - cell [ref=e4498] - cell "+" [ref=e4499]: - generic [ref=e4500]: + - cell [ref=e4501]: - code - 'row "51 + ## Readiness Gate Outcome" [ref=e4502]': - cell [ref=e4503] - cell "51" [ref=e4504]: "51" - cell [ref=e4505] - cell "+" [ref=e4506]: - generic [ref=e4507]: + - cell "## Readiness Gate Outcome" [ref=e4508]: - code [ref=e4509]: "## Readiness Gate Outcome" - row "52 +" [ref=e4510]: - cell [ref=e4511] - cell "52" [ref=e4512]: "52" - cell [ref=e4513] - cell "+" [ref=e4514]: - generic [ref=e4515]: + - cell [ref=e4516]: - code - row "53 + - [x] CHK027 Candidate Selection Gate passes." [ref=e4517]: - cell [ref=e4518] - cell "53" [ref=e4519]: "53" - cell [ref=e4520] - cell "+" [ref=e4521]: - generic [ref=e4522]: + - cell "- [x] CHK027 Candidate Selection Gate passes." [ref=e4523]: - code [ref=e4524]: "- [x] CHK027 Candidate Selection Gate passes." - row "54 + - [x] CHK028 Spec Readiness Gate passes." [ref=e4525]: - cell [ref=e4526] - cell "54" [ref=e4527]: "54" - cell [ref=e4528] - cell "+" [ref=e4529]: - generic [ref=e4530]: + - cell "- [x] CHK028 Spec Readiness Gate passes." [ref=e4531]: - code [ref=e4532]: "- [x] CHK028 Spec Readiness Gate passes." - row "55 + - [x] CHK029 Runtime implementation has not started in this preparation step." [ref=e4533]: - cell [ref=e4534] - cell "55" [ref=e4535]: "55" - cell [ref=e4536] - cell "+" [ref=e4537]: - generic [ref=e4538]: + - cell "- [x] CHK029 Runtime implementation has not started in this preparation step." [ref=e4539]: - code [ref=e4540]: "- [x] CHK029 Runtime implementation has not started in this preparation step." - row "56 + - [x] CHK030 Recommended next step is implementation, not more prep." [ref=e4541]: - cell [ref=e4542] - cell "56" [ref=e4543]: "56" - cell [ref=e4544] - cell "+" [ref=e4545]: - generic [ref=e4546]: + - cell "- [x] CHK030 Recommended next step is implementation, not more prep." [ref=e4547]: - code [ref=e4548]: "- [x] CHK030 Recommended next step is implementation, not more prep." - row "57 +" [ref=e4549]: - cell [ref=e4550] - cell "57" [ref=e4551]: "57" - cell [ref=e4552] - cell "+" [ref=e4553]: - generic [ref=e4554]: + - cell [ref=e4555]: - code - 'row "58 + ## Review Outcome" [ref=e4556]': - cell [ref=e4557] - cell "58" [ref=e4558]: "58" - cell [ref=e4559] - cell "+" [ref=e4560]: - generic [ref=e4561]: + - cell "## Review Outcome" [ref=e4562]: - code [ref=e4563]: "## Review Outcome" - row "59 +" [ref=e4564]: - cell [ref=e4565] - cell "59" [ref=e4566]: "59" - cell [ref=e4567] - cell "+" [ref=e4568]: - generic [ref=e4569]: + - cell [ref=e4570]: - code - 'row "60 + - [x] Outcome class: acceptable-special-case" [ref=e4571]': - cell [ref=e4572] - cell "60" [ref=e4573]: "60" - cell [ref=e4574] - cell "+" [ref=e4575]: - generic [ref=e4576]: + - 'cell "- [x] Outcome class: acceptable-special-case" [ref=e4577]': - code [ref=e4578]: "- [x] Outcome class: acceptable-special-case" - 'row "61 + - [x] Workflow outcome: keep" [ref=e4579]': - cell [ref=e4580] - cell "61" [ref=e4581]: "61" - cell [ref=e4582] - cell "+" [ref=e4583]: - generic [ref=e4584]: + - 'cell "- [x] Workflow outcome: keep" [ref=e4585]': - code [ref=e4586]: "- [x] Workflow outcome: keep" - 'row "62 + - [x] Final note location: active feature PR close-out entry `Guardrail / Smoke Coverage`" [ref=e4587]': - cell [ref=e4588] - cell "62" [ref=e4589]: "62" - cell [ref=e4590] - cell "+" [ref=e4591]: - generic [ref=e4592]: + - 'cell "- [x] Final note location: active feature PR close-out entry `Guardrail / Smoke Coverage`" [ref=e4593]': - code [ref=e4594]: "- [x] Final note location: active feature PR close-out entry `Guardrail / Smoke Coverage`" - 'row "63 + - [x] Preparation analyze result: pass via repo-based artifact review checklist; no standalone local `speckit.analyze` command was available in this repo surface" [ref=e4595]': - cell [ref=e4596] - cell "63" [ref=e4597]: "63" - cell [ref=e4598] - cell "+" [ref=e4599]: - generic [ref=e4600]: + - 'cell "- [x] Preparation analyze result: pass via repo-based artifact review checklist; no standalone local `speckit.analyze` command was available in this repo surface" [ref=e4601]': - code [ref=e4602]: "- [x] Preparation analyze result: pass via repo-based artifact review checklist; no standalone local `speckit.analyze` command was available in this repo surface" - 'row "64 + - [x] Tooling note: the repo-generated branch number advanced to `1000`, and local `setup-plan.sh` rejected that 4-digit prefix; the final prep artifacts were therefore authored manually under the user-requested `358` package without changing application runtime code" [ref=e4603]': - cell [ref=e4604] - cell "64" [ref=e4605]: "64" - cell [ref=e4606] - cell "+" [ref=e4607]: - generic [ref=e4608]: + - 'cell "- [x] Tooling note: the repo-generated branch number advanced to `1000`, and local `setup-plan.sh` rejected that 4-digit prefix; the final prep artifacts were therefore authored manually under the user-requested `358` package without changing application runtime code" [ref=e4609]': - code [ref=e4610]: "- [x] Tooling note: the repo-generated branch number advanced to `1000`, and local `setup-plan.sh` rejected that 4-digit prefix; the final prep artifacts were therefore authored manually under the user-requested `358` package without changing application runtime code" - generic [ref=e4611]: - 'heading "209 209 Änderungen: 209 Ergänzungen und 0 Löschungen specs/358-operationrun-queue-truth-foundation/plan.md Normale Datei Datei anzeigen" [level=4] [ref=e4612]': - generic [ref=e4613]: - button [ref=e4614] [cursor=pointer]: - img [ref=e4615] - generic [ref=e4617]: - text: "209" - 'generic "209 Änderungen: 209 Ergänzungen und 0 Löschungen" [ref=e4618]' - generic [ref=e4620]: - link "specs/358-operationrun-queue-truth-foundation/plan.md" [ref=e4621] [cursor=pointer]: - /url: "#diff-4aa32f063db4833018cc45ff1b404fbf79327413" - button [ref=e4622] [cursor=pointer]: - img [ref=e4623] - generic [ref=e4626]: Normale Datei - link "Datei anzeigen" [ref=e4628] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/specs/358-operationrun-queue-truth-foundation/plan.md - table [ref=e4631]: - rowgroup [ref=e4638]: - row "@ -0,0 +1,209 @@" [ref=e4639]: - cell [ref=e4640] - cell [ref=e4641] - cell [ref=e4642] - cell "@ -0,0 +1,209 @@" [ref=e4643]: - code [ref=e4644]: "@ -0,0 +1,209 @@" - 'row "1 + # Implementation Plan: OperationRun Queue Truth Foundation" [ref=e4645]': - cell [ref=e4646] - cell "1" [ref=e4647]: "1" - cell [ref=e4648] - cell "+" [ref=e4649]: - generic [ref=e4650]: + - 'cell "# Implementation Plan: OperationRun Queue Truth Foundation" [ref=e4651]': - code [ref=e4652]: "# Implementation Plan: OperationRun Queue Truth Foundation" - row "2 +" [ref=e4653]: - cell [ref=e4654] - cell "2" [ref=e4655]: "2" - cell [ref=e4656] - cell "+" [ref=e4657]: - generic [ref=e4658]: + - cell [ref=e4659]: - code - 'row "3 + **Branch**: `358-operationrun-queue-truth-foundation` | **Date**: 2026-06-06 | **Spec**: `specs/358-operationrun-queue-truth-foundation/spec.md`" [ref=e4660]': - cell [ref=e4661] - cell "3" [ref=e4662]: "3" - cell [ref=e4663] - cell "+" [ref=e4664]: - generic [ref=e4665]: + - 'cell "**Branch**: `358-operationrun-queue-truth-foundation` | **Date**: 2026-06-06 | **Spec**: `specs/358-operationrun-queue-truth-foundation/spec.md`" [ref=e4666]': - code [ref=e4667]: "**Branch**: `358-operationrun-queue-truth-foundation` | **Date**: 2026-06-06 | **Spec**: `specs/358-operationrun-queue-truth-foundation/spec.md`" - 'row "4 + **Input**: Feature specification from `specs/358-operationrun-queue-truth-foundation/spec.md`" [ref=e4668]': - cell [ref=e4669] - cell "4" [ref=e4670]: "4" - cell [ref=e4671] - cell "+" [ref=e4672]: - generic [ref=e4673]: + - 'cell "**Input**: Feature specification from `specs/358-operationrun-queue-truth-foundation/spec.md`" [ref=e4674]': - code [ref=e4675]: "**Input**: Feature specification from `specs/358-operationrun-queue-truth-foundation/spec.md`" - row "5 +" [ref=e4676]: - cell [ref=e4677] - cell "5" [ref=e4678]: "5" - cell [ref=e4679] - cell "+" [ref=e4680]: - generic [ref=e4681]: + - cell [ref=e4682]: - code - 'row "6 + ## Summary" [ref=e4683]': - cell [ref=e4684] - cell "6" [ref=e4685]: "6" - cell [ref=e4686] - cell "+" [ref=e4687]: - generic [ref=e4688]: + - cell "## Summary" [ref=e4689]: - code [ref=e4690]: "## Summary" - row "7 +" [ref=e4691]: - cell [ref=e4692] - cell "7" [ref=e4693]: "7" - cell [ref=e4694] - cell "+" [ref=e4695]: - generic [ref=e4696]: + - cell [ref=e4697]: - code - 'row "8 + Implement a narrow follow-up that aligns generic `OperationRun` queue truth across the existing lifecycle, freshness, progress, and monitoring-detail helpers. The slice must reuse current `OperationRun` persistence, current scheduled and adapter reconciliation behavior, current run links, and current authorization boundaries while removing contradictory active-work wording from shell, list, and canonical detail surfaces." [ref=e4698]': - cell [ref=e4699] - cell "8" [ref=e4700]: "8" - cell [ref=e4701] - cell "+" [ref=e4702]: - generic [ref=e4703]: + - 'cell "Implement a narrow follow-up that aligns generic `OperationRun` queue truth across the existing lifecycle, freshness, progress, and monitoring-detail helpers. The slice must reuse current `OperationRun` persistence, current scheduled and adapter reconciliation behavior, current run links, and current authorization boundaries while removing contradictory active-work wording from shell, list, and canonical detail surfaces." [ref=e4704]': - code [ref=e4705]: "Implement a narrow follow-up that aligns generic `OperationRun` queue truth across the existing lifecycle, freshness, progress, and monitoring-detail helpers. The slice must reuse current `OperationRun` persistence, current scheduled and adapter reconciliation behavior, current run links, and current authorization boundaries while removing contradictory active-work wording from shell, list, and canonical detail surfaces." - row "9 +" [ref=e4706]: - cell [ref=e4707] - cell "9" [ref=e4708]: "9" - cell [ref=e4709] - cell "+" [ref=e4710]: - generic [ref=e4711]: + - cell [ref=e4712]: - code - row "10 + The repo already contains the foundations from Specs 149, 160, 233, 268, 270, and 272. This plan must not reopen those packages or invent a new reconciliation framework. It only corrects the remaining generic truth gap in current runtime code." [ref=e4713]: - cell [ref=e4714] - cell "10" [ref=e4715]: "10" - cell [ref=e4716] - cell "+" [ref=e4717]: - generic [ref=e4718]: + - cell "The repo already contains the foundations from Specs 149, 160, 233, 268, 270, and 272. This plan must not reopen those packages or invent a new reconciliation framework. It only corrects the remaining generic truth gap in current runtime code." [ref=e4719]: - code [ref=e4720]: The repo already contains the foundations from Specs 149, 160, 233, 268, 270, and 272. This plan must not reopen those packages or invent a new reconciliation framework. It only corrects the remaining generic truth gap in current runtime code. - row "11 +" [ref=e4721]: - cell [ref=e4722] - cell "11" [ref=e4723]: "11" - cell [ref=e4724] - cell "+" [ref=e4725]: - generic [ref=e4726]: + - cell [ref=e4727]: - code - 'row "12 + ## Technical Context" [ref=e4728]': - cell [ref=e4729] - cell "12" [ref=e4730]: "12" - cell [ref=e4731] - cell "+" [ref=e4732]: - generic [ref=e4733]: + - cell "## Technical Context" [ref=e4734]: - code [ref=e4735]: "## Technical Context" - row "13 +" [ref=e4736]: - cell [ref=e4737] - cell "13" [ref=e4738]: "13" - cell [ref=e4739] - cell "+" [ref=e4740]: - generic [ref=e4741]: + - cell [ref=e4742]: - code - 'row "14 + **Language/Version**: PHP 8.4.15, Laravel 12.52, Filament 5.2.1, Livewire 4.1.4" [ref=e4743]': - cell [ref=e4744] - cell "14" [ref=e4745]: "14" - cell [ref=e4746] - cell "+" [ref=e4747]: - generic [ref=e4748]: + - 'cell "**Language/Version**: PHP 8.4.15, Laravel 12.52, Filament 5.2.1, Livewire 4.1.4" [ref=e4749]': - code [ref=e4750]: "**Language/Version**: PHP 8.4.15, Laravel 12.52, Filament 5.2.1, Livewire 4.1.4" - 'row "15 + **Primary Dependencies**: existing `OperationRun` monitoring helpers, `OperationRunProgressContract`, `RunDurationInsights`, `OperationUxPresenter`, current Filament Monitoring pages and shared `OperationRun` implementation seams, Pest 4.3" [ref=e4751]': - cell [ref=e4752] - cell "15" [ref=e4753]: "15" - cell [ref=e4754] - cell "+" [ref=e4755]: - generic [ref=e4756]: + - 'cell "**Primary Dependencies**: existing `OperationRun` monitoring helpers, `OperationRunProgressContract`, `RunDurationInsights`, `OperationUxPresenter`, current Filament Monitoring pages and shared `OperationRun` implementation seams, Pest 4.3" [ref=e4757]': - code [ref=e4758]: "**Primary Dependencies**: existing `OperationRun` monitoring helpers, `OperationRunProgressContract`, `RunDurationInsights`, `OperationUxPresenter`, current Filament Monitoring pages and shared `OperationRun` implementation seams, Pest 4.3" - 'row "16 + **Storage**: PostgreSQL `operation_runs`; no schema change planned" [ref=e4759]': - cell [ref=e4760] - cell "16" [ref=e4761]: "16" - cell [ref=e4762] - cell "+" [ref=e4763]: - generic [ref=e4764]: + - 'cell "**Storage**: PostgreSQL `operation_runs`; no schema change planned" [ref=e4765]': - code [ref=e4766]: "**Storage**: PostgreSQL `operation_runs`; no schema change planned" - 'row "17 + **Testing**: Pest Unit + Feature" [ref=e4767]': - cell [ref=e4768] - cell "17" [ref=e4769]: "17" - cell [ref=e4770] - cell "+" [ref=e4771]: - generic [ref=e4772]: + - 'cell "**Testing**: Pest Unit + Feature" [ref=e4773]': - code [ref=e4774]: "**Testing**: Pest Unit + Feature" - 'row "18 + **Validation Lanes**: fast-feedback, confidence" [ref=e4775]': - cell [ref=e4776] - cell "18" [ref=e4777]: "18" - cell [ref=e4778] - cell "+" [ref=e4779]: - generic [ref=e4780]: + - 'cell "**Validation Lanes**: fast-feedback, confidence" [ref=e4781]': - code [ref=e4782]: "**Validation Lanes**: fast-feedback, confidence" - 'row "19 + **Target Platform**: Laravel monolith in `apps/platform`" [ref=e4783]': - cell [ref=e4784] - cell "19" [ref=e4785]: "19" - cell [ref=e4786] - cell "+" [ref=e4787]: - generic [ref=e4788]: + - 'cell "**Target Platform**: Laravel monolith in `apps/platform`" [ref=e4789]': - code [ref=e4790]: "**Target Platform**: Laravel monolith in `apps/platform`" - 'row "20 + **Project Type**: web application" [ref=e4791]': - cell [ref=e4792] - cell "20" [ref=e4793]: "20" - cell [ref=e4794] - cell "+" [ref=e4795]: - generic [ref=e4796]: + - 'cell "**Project Type**: web application" [ref=e4797]': - code [ref=e4798]: "**Project Type**: web application" - 'row "21 + **Performance Goals**: keep current polling/query posture unchanged; no new queries or background work required for render-time truth" [ref=e4799]': - cell [ref=e4800] - cell "21" [ref=e4801]: "21" - cell [ref=e4802] - cell "+" [ref=e4803]: - generic [ref=e4804]: + - 'cell "**Performance Goals**: keep current polling/query posture unchanged; no new queries or background work required for render-time truth" [ref=e4805]': - code [ref=e4806]: "**Performance Goals**: keep current polling/query posture unchanged; no new queries or background work required for render-time truth" - 'row "22 + **Constraints**: no new `OperationRun` status/outcome fields, no new adapter registry, no new queue/job commands, no Graph calls, no notification policy change" [ref=e4807]': - cell [ref=e4808] - cell "22" [ref=e4809]: "22" - cell [ref=e4810] - cell "+" [ref=e4811]: - generic [ref=e4812]: + - 'cell "**Constraints**: no new `OperationRun` status/outcome fields, no new adapter registry, no new queue/job commands, no Graph calls, no notification policy change" [ref=e4813]': - code [ref=e4814]: "**Constraints**: no new `OperationRun` status/outcome fields, no new adapter registry, no new queue/job commands, no Graph calls, no notification policy change" - 'row "23 + **Scale/Scope**: one shared derived truth path plus current shell/list/detail monitoring surfaces and focused regression coverage" [ref=e4815]': - cell [ref=e4816] - cell "23" [ref=e4817]: "23" - cell [ref=e4818] - cell "+" [ref=e4819]: - generic [ref=e4820]: + - 'cell "**Scale/Scope**: one shared derived truth path plus current shell/list/detail monitoring surfaces and focused regression coverage" [ref=e4821]': - code [ref=e4822]: "**Scale/Scope**: one shared derived truth path plus current shell/list/detail monitoring surfaces and focused regression coverage" - row "24 +" [ref=e4823]: - cell [ref=e4824] - cell "24" [ref=e4825]: "24" - cell [ref=e4826] - cell "+" [ref=e4827]: - generic [ref=e4828]: + - cell [ref=e4829]: - code - 'row "25 + ## Likely Affected Repo Surfaces" [ref=e4830]': - cell [ref=e4831] - cell "25" [ref=e4832]: "25" - cell [ref=e4833] - cell "+" [ref=e4834]: - generic [ref=e4835]: + - cell "## Likely Affected Repo Surfaces" [ref=e4836]: - code [ref=e4837]: "## Likely Affected Repo Surfaces" - row "26 +" [ref=e4838]: - cell [ref=e4839] - cell "26" [ref=e4840]: "26" - cell [ref=e4841] - cell "+" [ref=e4842]: - generic [ref=e4843]: + - cell [ref=e4844]: - code - 'row "27 + - `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`" [ref=e4845]': - cell [ref=e4846] - cell "27" [ref=e4847]: "27" - cell [ref=e4848] - cell "+" [ref=e4849]: - generic [ref=e4850]: + - 'cell "- `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`" [ref=e4851]': - code [ref=e4852]: "- `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`" - 'row "28 + - `apps/platform/app/Support/OpsUx/RunDurationInsights.php`" [ref=e4853]': - cell [ref=e4854] - cell "28" [ref=e4855]: "28" - cell [ref=e4856] - cell "+" [ref=e4857]: - generic [ref=e4858]: + - 'cell "- `apps/platform/app/Support/OpsUx/RunDurationInsights.php`" [ref=e4859]': - code [ref=e4860]: "- `apps/platform/app/Support/OpsUx/RunDurationInsights.php`" - 'row "29 + - `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`" [ref=e4861]': - cell [ref=e4862] - cell "29" [ref=e4863]: "29" - cell [ref=e4864] - cell "+" [ref=e4865]: - generic [ref=e4866]: + - 'cell "- `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`" [ref=e4867]': - code [ref=e4868]: "- `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`" - 'row "30 + - `apps/platform/app/Support/Operations/OperationRunFreshnessState.php` only if the current derivation needs a small bounded clarification" [ref=e4869]': - cell [ref=e4870] - cell "30" [ref=e4871]: "30" - cell [ref=e4872] - cell "+" [ref=e4873]: - generic [ref=e4874]: + - 'cell "- `apps/platform/app/Support/Operations/OperationRunFreshnessState.php` only if the current derivation needs a small bounded clarification" [ref=e4875]': - code [ref=e4876]: "- `apps/platform/app/Support/Operations/OperationRunFreshnessState.php` only if the current derivation needs a small bounded clarification" - 'row "31 + - `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php`" [ref=e4877]': - cell [ref=e4878] - cell "31" [ref=e4879]: "31" - cell [ref=e4880] - cell "+" [ref=e4881]: - generic [ref=e4882]: + - 'cell "- `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php`" [ref=e4883]': - code [ref=e4884]: "- `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php`" - 'row "32 + - `apps/platform/app/Filament/Pages/Monitoring/Operations.php` as the current route-backed Operations hub surface" [ref=e4885]': - cell [ref=e4886] - cell "32" [ref=e4887]: "32" - cell [ref=e4888] - cell "+" [ref=e4889]: - generic [ref=e4890]: + - 'cell "- `apps/platform/app/Filament/Pages/Monitoring/Operations.php` as the current route-backed Operations hub surface" [ref=e4891]': - code [ref=e4892]: "- `apps/platform/app/Filament/Pages/Monitoring/Operations.php` as the current route-backed Operations hub surface" - 'row "33 + - `apps/platform/resources/views/filament/pages/monitoring/operations.blade.php` only if current workbench/list wording needs a bounded adjustment" [ref=e4893]': - cell [ref=e4894] - cell "33" [ref=e4895]: "33" - cell [ref=e4896] - cell "+" [ref=e4897]: - generic [ref=e4898]: + - 'cell "- `apps/platform/resources/views/filament/pages/monitoring/operations.blade.php` only if current workbench/list wording needs a bounded adjustment" [ref=e4899]': - code [ref=e4900]: "- `apps/platform/resources/views/filament/pages/monitoring/operations.blade.php` only if current workbench/list wording needs a bounded adjustment" - 'row "34 + - `apps/platform/app/Filament/Resources/OperationRunResource.php` only as the reused table/detail payload seam, not as a route-backed surface" [ref=e4901]': - cell [ref=e4902] - cell "34" [ref=e4903]: "34" - cell [ref=e4904] - cell "+" [ref=e4905]: - generic [ref=e4906]: + - 'cell "- `apps/platform/app/Filament/Resources/OperationRunResource.php` only as the reused table/detail payload seam, not as a route-backed surface" [ref=e4907]': - code [ref=e4908]: "- `apps/platform/app/Filament/Resources/OperationRunResource.php` only as the reused table/detail payload seam, not as a route-backed surface" - 'row "35 + - `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`" [ref=e4909]': - cell [ref=e4910] - cell "35" [ref=e4911]: "35" - cell [ref=e4912] - cell "+" [ref=e4913]: - generic [ref=e4914]: + - 'cell "- `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`" [ref=e4915]': - code [ref=e4916]: "- `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`" - row "36 + - focused tests under:" [ref=e4917]: - cell [ref=e4918] - cell "36" [ref=e4919]: "36" - cell [ref=e4920] - cell "+" [ref=e4921]: - generic [ref=e4922]: + - cell "- focused tests under:" [ref=e4923]: - code [ref=e4924]: "- focused tests under:" - 'row "37 + - `apps/platform/tests/Unit/Support/OpsUx/`" [ref=e4925]': - cell [ref=e4926] - cell "37" [ref=e4927]: "37" - cell [ref=e4928] - cell "+" [ref=e4929]: - generic [ref=e4930]: + - 'cell "- `apps/platform/tests/Unit/Support/OpsUx/`" [ref=e4931]': - code [ref=e4932]: "- `apps/platform/tests/Unit/Support/OpsUx/`" - 'row "38 + - `apps/platform/tests/Feature/OpsUx/`" [ref=e4933]': - cell [ref=e4934] - cell "38" [ref=e4935]: "38" - cell [ref=e4936] - cell "+" [ref=e4937]: - generic [ref=e4938]: + - 'cell "- `apps/platform/tests/Feature/OpsUx/`" [ref=e4939]': - code [ref=e4940]: "- `apps/platform/tests/Feature/OpsUx/`" - 'row "39 + - `apps/platform/tests/Feature/Monitoring/`" [ref=e4941]': - cell [ref=e4942] - cell "39" [ref=e4943]: "39" - cell [ref=e4944] - cell "+" [ref=e4945]: - generic [ref=e4946]: + - 'cell "- `apps/platform/tests/Feature/Monitoring/`" [ref=e4947]': - code [ref=e4948]: "- `apps/platform/tests/Feature/Monitoring/`" - 'row "40 + - `apps/platform/tests/Feature/Filament/`" [ref=e4949]': - cell [ref=e4950] - cell "40" [ref=e4951]: "40" - cell [ref=e4952] - cell "+" [ref=e4953]: - generic [ref=e4954]: + - 'cell "- `apps/platform/tests/Feature/Filament/`" [ref=e4955]': - code [ref=e4956]: "- `apps/platform/tests/Feature/Filament/`" - 'row "41 + - `apps/platform/tests/Feature/Operations/`" [ref=e4957]': - cell [ref=e4958] - cell "41" [ref=e4959]: "41" - cell [ref=e4960] - cell "+" [ref=e4961]: - generic [ref=e4962]: + - 'cell "- `apps/platform/tests/Feature/Operations/`" [ref=e4963]': - code [ref=e4964]: "- `apps/platform/tests/Feature/Operations/`" - row "42 +" [ref=e4965]: - cell [ref=e4966] - cell "42" [ref=e4967]: "42" - cell [ref=e4968] - cell "+" [ref=e4969]: - generic [ref=e4970]: + - cell [ref=e4971]: - code - 'row "43 + ## UI / Surface Guardrail Plan" [ref=e4972]': - cell [ref=e4973] - cell "43" [ref=e4974]: "43" - cell [ref=e4975] - cell "+" [ref=e4976]: - generic [ref=e4977]: + - cell "## UI / Surface Guardrail Plan" [ref=e4978]: - code [ref=e4979]: "## UI / Surface Guardrail Plan" - row "44 +" [ref=e4980]: - cell [ref=e4981] - cell "44" [ref=e4982]: "44" - cell [ref=e4983] - cell "+" [ref=e4984]: - generic [ref=e4985]: + - cell [ref=e4986]: - code - 'row "45 + - **Guardrail scope**: existing operator-facing monitoring surfaces only" [ref=e4987]': - cell [ref=e4988] - cell "45" [ref=e4989]: "45" - cell [ref=e4990] - cell "+" [ref=e4991]: - generic [ref=e4992]: + - 'cell "- **Guardrail scope**: existing operator-facing monitoring surfaces only" [ref=e4993]': - code [ref=e4994]: "- **Guardrail scope**: existing operator-facing monitoring surfaces only" - row "46 + - **Affected routes/pages/actions/states/navigation/panel/provider surfaces**:" [ref=e4995]: - cell [ref=e4996] - cell "46" [ref=e4997]: "46" - cell [ref=e4998] - cell "+" [ref=e4999]: - generic [ref=e5000]: + - cell "- **Affected routes/pages/actions/states/navigation/panel/provider surfaces**:" [ref=e5001]: - code [ref=e5002]: "- **Affected routes/pages/actions/states/navigation/panel/provider surfaces**:" - row "47 + - tenant shell activity hint" [ref=e5003]: - cell [ref=e5004] - cell "47" [ref=e5005]: "47" - cell [ref=e5006] - cell "+" [ref=e5007]: - generic [ref=e5008]: + - cell "- tenant shell activity hint" [ref=e5009]: - code [ref=e5010]: "- tenant shell activity hint" - 'row "48 + - `/admin/workspaces/{workspace}/operations` via `App\\Filament\\Pages\\Monitoring\\Operations`" [ref=e5011]': - cell [ref=e5012] - cell "48" [ref=e5013]: "48" - cell [ref=e5014] - cell "+" [ref=e5015]: - generic [ref=e5016]: + - 'cell "- `/admin/workspaces/{workspace}/operations` via `App\\Filament\\Pages\\Monitoring\\Operations`" [ref=e5017]': - code [ref=e5018]: "- `/admin/workspaces/{workspace}/operations` via `App\\Filament\\Pages\\Monitoring\\Operations`" - 'row "49 + - `/admin/workspaces/{workspace}/operations/{run}` via `App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`" [ref=e5019]': - cell [ref=e5020] - cell "49" [ref=e5021]: "49" - cell [ref=e5022] - cell "+" [ref=e5023]: - generic [ref=e5024]: + - 'cell "- `/admin/workspaces/{workspace}/operations/{run}` via `App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`" [ref=e5025]': - code [ref=e5026]: "- `/admin/workspaces/{workspace}/operations/{run}` via `App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`" - 'row "50 + - **No-impact class, if applicable**: N/A" [ref=e5027]': - cell [ref=e5028] - cell "50" [ref=e5029]: "50" - cell [ref=e5030] - cell "+" [ref=e5031]: - generic [ref=e5032]: + - 'cell "- **No-impact class, if applicable**: N/A" [ref=e5033]': - code [ref=e5034]: "- **No-impact class, if applicable**: N/A" - 'row "51 + - **Native vs custom classification summary**: native Filament surfaces plus one existing Livewire shell host" [ref=e5035]': - cell [ref=e5036] - cell "51" [ref=e5037]: "51" - cell [ref=e5038] - cell "+" [ref=e5039]: - generic [ref=e5040]: + - 'cell "- **Native vs custom classification summary**: native Filament surfaces plus one existing Livewire shell host" [ref=e5041]': - code [ref=e5042]: "- **Native vs custom classification summary**: native Filament surfaces plus one existing Livewire shell host" - 'row "52 + - **Shared-family relevance**: monitoring-state messaging, queue guidance, active-run hinting" [ref=e5043]': - cell [ref=e5044] - cell "52" [ref=e5045]: "52" - cell [ref=e5046] - cell "+" [ref=e5047]: - generic [ref=e5048]: + - 'cell "- **Shared-family relevance**: monitoring-state messaging, queue guidance, active-run hinting" [ref=e5049]': - code [ref=e5050]: "- **Shared-family relevance**: monitoring-state messaging, queue guidance, active-run hinting" - 'row "53 + - **State layers in scope**: shell, page, detail" [ref=e5051]': - cell [ref=e5052] - cell "53" [ref=e5053]: "53" - cell [ref=e5054] - cell "+" [ref=e5055]: - generic [ref=e5056]: + - 'cell "- **State layers in scope**: shell, page, detail" [ref=e5057]': - code [ref=e5058]: "- **State layers in scope**: shell, page, detail" - 'row "54 + - **Audience modes in scope**: operator-MSP, support-platform" [ref=e5059]': - cell [ref=e5060] - cell "54" [ref=e5061]: "54" - cell [ref=e5062] - cell "+" [ref=e5063]: - generic [ref=e5064]: + - 'cell "- **Audience modes in scope**: operator-MSP, support-platform" [ref=e5065]': - code [ref=e5066]: "- **Audience modes in scope**: operator-MSP, support-platform" - 'row "55 + - **Decision/diagnostic/raw hierarchy plan**: decision-first lifecycle truth before diagnostics; raw context remains secondary" [ref=e5067]': - cell [ref=e5068] - cell "55" [ref=e5069]: "55" - cell [ref=e5070] - cell "+" [ref=e5071]: - generic [ref=e5072]: + - 'cell "- **Decision/diagnostic/raw hierarchy plan**: decision-first lifecycle truth before diagnostics; raw context remains secondary" [ref=e5073]': - code [ref=e5074]: "- **Decision/diagnostic/raw hierarchy plan**: decision-first lifecycle truth before diagnostics; raw context remains secondary" - 'row "56 + - **Raw/support gating plan**: unchanged; raw/support evidence stays on current detail-only surfaces" [ref=e5075]': - cell [ref=e5076] - cell "56" [ref=e5077]: "56" - cell [ref=e5078] - cell "+" [ref=e5079]: - generic [ref=e5080]: + - 'cell "- **Raw/support gating plan**: unchanged; raw/support evidence stays on current detail-only surfaces" [ref=e5081]': - code [ref=e5082]: "- **Raw/support gating plan**: unchanged; raw/support evidence stays on current detail-only surfaces" - 'row "57 + - **One-primary-action / duplicate-truth control**: no new primary actions; existing row open and current shell open links remain authoritative" [ref=e5083]': - cell [ref=e5084] - cell "57" [ref=e5085]: "57" - cell [ref=e5086] - cell "+" [ref=e5087]: - generic [ref=e5088]: + - 'cell "- **One-primary-action / duplicate-truth control**: no new primary actions; existing row open and current shell open links remain authoritative" [ref=e5089]': - code [ref=e5090]: "- **One-primary-action / duplicate-truth control**: no new primary actions; existing row open and current shell open links remain authoritative" - row "58 + - **Handling modes by drift class or surface**:" [ref=e5091]: - cell [ref=e5092] - cell "58" [ref=e5093]: "58" - cell [ref=e5094] - cell "+" [ref=e5095]: - generic [ref=e5096]: + - cell "- **Handling modes by drift class or surface**:" [ref=e5097]: - code [ref=e5098]: "- **Handling modes by drift class or surface**:" - 'row "59 + - contradictory stale vs queue guidance is `hard-stop-candidate`" [ref=e5099]': - cell [ref=e5100] - cell "59" [ref=e5101]: "59" - cell [ref=e5102] - cell "+" [ref=e5103]: - generic [ref=e5104]: + - 'cell "- contradictory stale vs queue guidance is `hard-stop-candidate`" [ref=e5105]': - code [ref=e5106]: "- contradictory stale vs queue guidance is `hard-stop-candidate`" - 'row "60 + - wording-only cleanup with no behavioral effect is `review-mandatory`" [ref=e5107]': - cell [ref=e5108] - cell "60" [ref=e5109]: "60" - cell [ref=e5110] - cell "+" [ref=e5111]: - generic [ref=e5112]: + - 'cell "- wording-only cleanup with no behavioral effect is `review-mandatory`" [ref=e5113]': - code [ref=e5114]: "- wording-only cleanup with no behavioral effect is `review-mandatory`" - 'row "61 + - **Repository-signal treatment**: review-mandatory" [ref=e5115]': - cell [ref=e5116] - cell "61" [ref=e5117]: "61" - cell [ref=e5118] - cell "+" [ref=e5119]: - generic [ref=e5120]: + - 'cell "- **Repository-signal treatment**: review-mandatory" [ref=e5121]': - code [ref=e5122]: "- **Repository-signal treatment**: review-mandatory" - 'row "62 + - **Special surface test profiles**: monitoring-state-page, shared-detail-family" [ref=e5123]': - cell [ref=e5124] - cell "62" [ref=e5125]: "62" - cell [ref=e5126] - cell "+" [ref=e5127]: - generic [ref=e5128]: + - 'cell "- **Special surface test profiles**: monitoring-state-page, shared-detail-family" [ref=e5129]': - code [ref=e5130]: "- **Special surface test profiles**: monitoring-state-page, shared-detail-family" - 'row "63 + - **Required tests or manual smoke**: focused unit and feature proof only" [ref=e5131]': - cell [ref=e5132] - cell "63" [ref=e5133]: "63" - cell [ref=e5134] - cell "+" [ref=e5135]: - generic [ref=e5136]: + - 'cell "- **Required tests or manual smoke**: focused unit and feature proof only" [ref=e5137]': - code [ref=e5138]: "- **Required tests or manual smoke**: focused unit and feature proof only" - 'row "64 + - **Exception path and spread control**: any move toward new persistence, new adapter abstractions, or new queue-health orchestration is `reject-or-split`" [ref=e5139]': - cell [ref=e5140] - cell "64" [ref=e5141]: "64" - cell [ref=e5142] - cell "+" [ref=e5143]: - generic [ref=e5144]: + - 'cell "- **Exception path and spread control**: any move toward new persistence, new adapter abstractions, or new queue-health orchestration is `reject-or-split`" [ref=e5145]': - code [ref=e5146]: "- **Exception path and spread control**: any move toward new persistence, new adapter abstractions, or new queue-health orchestration is `reject-or-split`" - 'row "65 + - **Active feature PR close-out entry**: Guardrail / Smoke Coverage" [ref=e5147]': - cell [ref=e5148] - cell "65" [ref=e5149]: "65" - cell [ref=e5150] - cell "+" [ref=e5151]: - generic [ref=e5152]: + - 'cell "- **Active feature PR close-out entry**: Guardrail / Smoke Coverage" [ref=e5153]': - code [ref=e5154]: "- **Active feature PR close-out entry**: Guardrail / Smoke Coverage" - 'row "66 + - **Navigation / Filament provider-panel handling**: unchanged; no provider registration or panel path work" [ref=e5155]': - cell [ref=e5156] - cell "66" [ref=e5157]: "66" - cell [ref=e5158] - cell "+" [ref=e5159]: - generic [ref=e5160]: + - 'cell "- **Navigation / Filament provider-panel handling**: unchanged; no provider registration or panel path work" [ref=e5161]': - code [ref=e5162]: "- **Navigation / Filament provider-panel handling**: unchanged; no provider registration or panel path work" - row "67 +" [ref=e5163]: - cell [ref=e5164] - cell "67" [ref=e5165]: "67" - cell [ref=e5166] - cell "+" [ref=e5167]: - generic [ref=e5168]: + - cell [ref=e5169]: - code - 'row "68 + ## Shared Pattern & System Fit" [ref=e5170]': - cell [ref=e5171] - cell "68" [ref=e5172]: "68" - cell [ref=e5173] - cell "+" [ref=e5174]: - generic [ref=e5175]: + - cell "## Shared Pattern & System Fit" [ref=e5176]: - code [ref=e5177]: "## Shared Pattern & System Fit" - row "69 +" [ref=e5178]: - cell [ref=e5179] - cell "69" [ref=e5180]: "69" - cell [ref=e5181] - cell "+" [ref=e5182]: - generic [ref=e5183]: + - cell [ref=e5184]: - code - 'row "70 + - **Cross-cutting feature marker**: yes" [ref=e5185]': - cell [ref=e5186] - cell "70" [ref=e5187]: "70" - cell [ref=e5188] - cell "+" [ref=e5189]: - generic [ref=e5190]: + - 'cell "- **Cross-cutting feature marker**: yes" [ref=e5191]': - code [ref=e5192]: "- **Cross-cutting feature marker**: yes" - 'row "71 + - **Systems touched**: lifecycle freshness, progress derivation, queue guidance, shell render, canonical monitoring detail" [ref=e5193]': - cell [ref=e5194] - cell "71" [ref=e5195]: "71" - cell [ref=e5196] - cell "+" [ref=e5197]: - generic [ref=e5198]: + - 'cell "- **Systems touched**: lifecycle freshness, progress derivation, queue guidance, shell render, canonical monitoring detail" [ref=e5199]': - code [ref=e5200]: "- **Systems touched**: lifecycle freshness, progress derivation, queue guidance, shell render, canonical monitoring detail" - row "72 + - **Shared abstractions reused**:" [ref=e5201]: - cell [ref=e5202] - cell "72" [ref=e5203]: "72" - cell [ref=e5204] - cell "+" [ref=e5205]: - generic [ref=e5206]: + - cell "- **Shared abstractions reused**:" [ref=e5207]: - code [ref=e5208]: "- **Shared abstractions reused**:" - 'row "73 + - `OperationRunFreshnessState`" [ref=e5209]': - cell [ref=e5210] - cell "73" [ref=e5211]: "73" - cell [ref=e5212] - cell "+" [ref=e5213]: - generic [ref=e5214]: + - 'cell "- `OperationRunFreshnessState`" [ref=e5215]': - code [ref=e5216]: "- `OperationRunFreshnessState`" - 'row "74 + - `OperationRunProgressContract`" [ref=e5217]': - cell [ref=e5218] - cell "74" [ref=e5219]: "74" - cell [ref=e5220] - cell "+" [ref=e5221]: - generic [ref=e5222]: + - 'cell "- `OperationRunProgressContract`" [ref=e5223]': - code [ref=e5224]: "- `OperationRunProgressContract`" - 'row "75 + - `RunDurationInsights`" [ref=e5225]': - cell [ref=e5226] - cell "75" [ref=e5227]: "75" - cell [ref=e5228] - cell "+" [ref=e5229]: - generic [ref=e5230]: + - 'cell "- `RunDurationInsights`" [ref=e5231]': - code [ref=e5232]: "- `RunDurationInsights`" - 'row "76 + - `OperationUxPresenter`" [ref=e5233]': - cell [ref=e5234] - cell "76" [ref=e5235]: "76" - cell [ref=e5236] - cell "+" [ref=e5237]: - generic [ref=e5238]: + - 'cell "- `OperationUxPresenter`" [ref=e5239]': - code [ref=e5240]: "- `OperationUxPresenter`" - 'row "77 + - existing `OperationRunLinks` and detail routes" [ref=e5241]': - cell [ref=e5242] - cell "77" [ref=e5243]: "77" - cell [ref=e5244] - cell "+" [ref=e5245]: - generic [ref=e5246]: + - 'cell "- existing `OperationRunLinks` and detail routes" [ref=e5247]': - code [ref=e5248]: "- existing `OperationRunLinks` and detail routes" - 'row "78 + - **New abstraction introduced? why?**: none by default; if one tiny queue-truth helper is required, it must stay inside `App\\Support\\OpsUx` and remain a derivation helper rather than a strategy or adapter registry" [ref=e5249]': - cell [ref=e5250] - cell "78" [ref=e5251]: "78" - cell [ref=e5252] - cell "+" [ref=e5253]: - generic [ref=e5254]: + - 'cell "- **New abstraction introduced? why?**: none by default; if one tiny queue-truth helper is required, it must stay inside `App\\Support\\OpsUx` and remain a derivation helper rather than a strategy or adapter registry" [ref=e5255]': - code [ref=e5256]: "- **New abstraction introduced? why?**: none by default; if one tiny queue-truth helper is required, it must stay inside `App\\Support\\OpsUx` and remain a derivation helper rather than a strategy or adapter registry" - 'row "79 + - **Why the existing abstraction was sufficient or insufficient**: the repo already centralizes the right ingredients, but the final operator wording remains split across helpers and render sites" [ref=e5257]': - cell [ref=e5258] - cell "79" [ref=e5259]: "79" - cell [ref=e5260] - cell "+" [ref=e5261]: - generic [ref=e5262]: + - 'cell "- **Why the existing abstraction was sufficient or insufficient**: the repo already centralizes the right ingredients, but the final operator wording remains split across helpers and render sites" [ref=e5263]': - code [ref=e5264]: "- **Why the existing abstraction was sufficient or insufficient**: the repo already centralizes the right ingredients, but the final operator wording remains split across helpers and render sites" - 'row "80 + - **Bounded deviation / spread control**: do not create a new framework layer where extending the current presenter or progress contract is sufficient" [ref=e5265]': - cell [ref=e5266] - cell "80" [ref=e5267]: "80" - cell [ref=e5268] - cell "+" [ref=e5269]: - generic [ref=e5270]: + - 'cell "- **Bounded deviation / spread control**: do not create a new framework layer where extending the current presenter or progress contract is sufficient" [ref=e5271]': - code [ref=e5272]: "- **Bounded deviation / spread control**: do not create a new framework layer where extending the current presenter or progress contract is sufficient" - row "81 +" [ref=e5273]: - cell [ref=e5274] - cell "81" [ref=e5275]: "81" - cell [ref=e5276] - cell "+" [ref=e5277]: - generic [ref=e5278]: + - cell [ref=e5279]: - code - 'row "82 + ## OperationRun UX Impact" [ref=e5280]': - cell [ref=e5281] - cell "82" [ref=e5282]: "82" - cell [ref=e5283] - cell "+" [ref=e5284]: - generic [ref=e5285]: + - cell "## OperationRun UX Impact" [ref=e5286]: - code [ref=e5287]: "## OperationRun UX Impact" - row "83 +" [ref=e5288]: - cell [ref=e5289] - cell "83" [ref=e5290]: "83" - cell [ref=e5291] - cell "+" [ref=e5292]: - generic [ref=e5293]: + - cell [ref=e5294]: - code - 'row "84 + - **Touches OperationRun start/completion/link UX?**: yes, reuse-only" [ref=e5295]': - cell [ref=e5296] - cell "84" [ref=e5297]: "84" - cell [ref=e5298] - cell "+" [ref=e5299]: - generic [ref=e5300]: + - 'cell "- **Touches OperationRun start/completion/link UX?**: yes, reuse-only" [ref=e5301]': - code [ref=e5302]: "- **Touches OperationRun start/completion/link UX?**: yes, reuse-only" - 'row "85 + - **Central contract reused**: current shared run-link, queued-toast, terminal-notification, and detail-route contract" [ref=e5303]': - cell [ref=e5304] - cell "85" [ref=e5305]: "85" - cell [ref=e5306] - cell "+" [ref=e5307]: - generic [ref=e5308]: + - 'cell "- **Central contract reused**: current shared run-link, queued-toast, terminal-notification, and detail-route contract" [ref=e5309]': - code [ref=e5310]: "- **Central contract reused**: current shared run-link, queued-toast, terminal-notification, and detail-route contract" - 'row "86 + - **Delegated UX behaviors**: queued toast wording, run links, browser events, and terminal notifications remain unchanged" [ref=e5311]': - cell [ref=e5312] - cell "86" [ref=e5313]: "86" - cell [ref=e5314] - cell "+" [ref=e5315]: - generic [ref=e5316]: + - 'cell "- **Delegated UX behaviors**: queued toast wording, run links, browser events, and terminal notifications remain unchanged" [ref=e5317]': - code [ref=e5318]: "- **Delegated UX behaviors**: queued toast wording, run links, browser events, and terminal notifications remain unchanged" - 'row "87 + - **Surface-owned behavior kept local**: only density and render ordering for shell/list/detail" [ref=e5319]': - cell [ref=e5320] - cell "87" [ref=e5321]: "87" - cell [ref=e5322] - cell "+" [ref=e5323]: - generic [ref=e5324]: + - 'cell "- **Surface-owned behavior kept local**: only density and render ordering for shell/list/detail" [ref=e5325]': - code [ref=e5326]: "- **Surface-owned behavior kept local**: only density and render ordering for shell/list/detail" - 'row "88 + - **Queued DB-notification policy**: unchanged" [ref=e5327]': - cell [ref=e5328] - cell "88" [ref=e5329]: "88" - cell [ref=e5330] - cell "+" [ref=e5331]: - generic [ref=e5332]: + - 'cell "- **Queued DB-notification policy**: unchanged" [ref=e5333]': - code [ref=e5334]: "- **Queued DB-notification policy**: unchanged" - 'row "89 + - **Terminal notification path**: unchanged" [ref=e5335]': - cell [ref=e5336] - cell "89" [ref=e5337]: "89" - cell [ref=e5338] - cell "+" [ref=e5339]: - generic [ref=e5340]: + - 'cell "- **Terminal notification path**: unchanged" [ref=e5341]': - code [ref=e5342]: "- **Terminal notification path**: unchanged" - 'row "90 + - **Exception path**: none" [ref=e5343]': - cell [ref=e5344] - cell "90" [ref=e5345]: "90" - cell [ref=e5346] - cell "+" [ref=e5347]: - generic [ref=e5348]: + - 'cell "- **Exception path**: none" [ref=e5349]': - code [ref=e5350]: "- **Exception path**: none" - row "91 +" [ref=e5351]: - cell [ref=e5352] - cell "91" [ref=e5353]: "91" - cell [ref=e5354] - cell "+" [ref=e5355]: - generic [ref=e5356]: + - cell [ref=e5357]: - code - 'row "92 + ## Provider Boundary & Portability Fit" [ref=e5358]': - cell [ref=e5359] - cell "92" [ref=e5360]: "92" - cell [ref=e5361] - cell "+" [ref=e5362]: - generic [ref=e5363]: + - cell "## Provider Boundary & Portability Fit" [ref=e5364]: - code [ref=e5365]: "## Provider Boundary & Portability Fit" - row "93 +" [ref=e5366]: - cell [ref=e5367] - cell "93" [ref=e5368]: "93" - cell [ref=e5369] - cell "+" [ref=e5370]: - generic [ref=e5371]: + - cell [ref=e5372]: - code - 'row "94 + - **Shared provider/platform boundary touched?**: no" [ref=e5373]': - cell [ref=e5374] - cell "94" [ref=e5375]: "94" - cell [ref=e5376] - cell "+" [ref=e5377]: - generic [ref=e5378]: + - 'cell "- **Shared provider/platform boundary touched?**: no" [ref=e5379]': - code [ref=e5380]: "- **Shared provider/platform boundary touched?**: no" - 'row "95 + - **Provider-owned seams**: N/A" [ref=e5381]': - cell [ref=e5382] - cell "95" [ref=e5383]: "95" - cell [ref=e5384] - cell "+" [ref=e5385]: - generic [ref=e5386]: + - 'cell "- **Provider-owned seams**: N/A" [ref=e5387]': - code [ref=e5388]: "- **Provider-owned seams**: N/A" - 'row "96 + - **Platform-core seams**: platform-owned `OperationRun` monitoring truth only" [ref=e5389]': - cell [ref=e5390] - cell "96" [ref=e5391]: "96" - cell [ref=e5392] - cell "+" [ref=e5393]: - generic [ref=e5394]: + - 'cell "- **Platform-core seams**: platform-owned `OperationRun` monitoring truth only" [ref=e5395]': - code [ref=e5396]: "- **Platform-core seams**: platform-owned `OperationRun` monitoring truth only" - 'row "97 + - **Neutral platform terms / contracts preserved**: queued, running, lifecycle window, active operation, review worker health" [ref=e5397]': - cell [ref=e5398] - cell "97" [ref=e5399]: "97" - cell [ref=e5400] - cell "+" [ref=e5401]: - generic [ref=e5402]: + - 'cell "- **Neutral platform terms / contracts preserved**: queued, running, lifecycle window, active operation, review worker health" [ref=e5403]': - code [ref=e5404]: "- **Neutral platform terms / contracts preserved**: queued, running, lifecycle window, active operation, review worker health" - 'row "98 + - **Retained provider-specific semantics and why**: none" [ref=e5405]': - cell [ref=e5406] - cell "98" [ref=e5407]: "98" - cell [ref=e5408] - cell "+" [ref=e5409]: - generic [ref=e5410]: + - 'cell "- **Retained provider-specific semantics and why**: none" [ref=e5411]': - code [ref=e5412]: "- **Retained provider-specific semantics and why**: none" - 'row "99 + - **Bounded extraction or follow-up path**: none" [ref=e5413]': - cell [ref=e5414] - cell "99" [ref=e5415]: "99" - cell [ref=e5416] - cell "+" [ref=e5417]: - generic [ref=e5418]: + - 'cell "- **Bounded extraction or follow-up path**: none" [ref=e5419]': - code [ref=e5420]: "- **Bounded extraction or follow-up path**: none" - row "100 +" [ref=e5421]: - cell [ref=e5422] - cell "100" [ref=e5423]: "100" - cell [ref=e5424] - cell "+" [ref=e5425]: - generic [ref=e5426]: + - cell [ref=e5427]: - code - 'row "101 + ## Constitution Check" [ref=e5428]': - cell [ref=e5429] - cell "101" [ref=e5430]: "101" - cell [ref=e5431] - cell "+" [ref=e5432]: - generic [ref=e5433]: + - cell "## Constitution Check" [ref=e5434]: - code [ref=e5435]: "## Constitution Check" - row "102 +" [ref=e5436]: - cell [ref=e5437] - cell "102" [ref=e5438]: "102" - cell [ref=e5439] - cell "+" [ref=e5440]: - generic [ref=e5441]: + - cell [ref=e5442]: - code - 'row "103 + - Inventory-first: unchanged; no new source of truth." [ref=e5443]': - cell [ref=e5444] - cell "103" [ref=e5445]: "103" - cell [ref=e5446] - cell "+" [ref=e5447]: - generic [ref=e5448]: + - 'cell "- Inventory-first: unchanged; no new source of truth." [ref=e5449]': - code [ref=e5450]: "- Inventory-first: unchanged; no new source of truth." - 'row "104 + - Read/write separation: unchanged; this is read-only monitoring truth." [ref=e5451]': - cell [ref=e5452] - cell "104" [ref=e5453]: "104" - cell [ref=e5454] - cell "+" [ref=e5455]: - generic [ref=e5456]: + - 'cell "- Read/write separation: unchanged; this is read-only monitoring truth." [ref=e5457]': - code [ref=e5458]: "- Read/write separation: unchanged; this is read-only monitoring truth." - 'row "105 + - Deterministic capabilities: unchanged." [ref=e5459]': - cell [ref=e5460] - cell "105" [ref=e5461]: "105" - cell [ref=e5462] - cell "+" [ref=e5463]: - generic [ref=e5464]: + - 'cell "- Deterministic capabilities: unchanged." [ref=e5465]': - code [ref=e5466]: "- Deterministic capabilities: unchanged." - 'row "106 + - Proportionality / anti-bloat: pass only if the implementation extends current helpers instead of creating a new framework." [ref=e5467]': - cell [ref=e5468] - cell "106" [ref=e5469]: "106" - cell [ref=e5470] - cell "+" [ref=e5471]: - generic [ref=e5472]: + - 'cell "- Proportionality / anti-bloat: pass only if the implementation extends current helpers instead of creating a new framework." [ref=e5473]': - code [ref=e5474]: "- Proportionality / anti-bloat: pass only if the implementation extends current helpers instead of creating a new framework." - 'row "107 + - Persisted truth: no new tables, entities, or status families." [ref=e5475]': - cell [ref=e5476] - cell "107" [ref=e5477]: "107" - cell [ref=e5478] - cell "+" [ref=e5479]: - generic [ref=e5480]: + - 'cell "- Persisted truth: no new tables, entities, or status families." [ref=e5481]': - code [ref=e5482]: "- Persisted truth: no new tables, entities, or status families." - 'row "108 + - State discipline: derived-only; no new persisted lifecycle category." [ref=e5483]': - cell [ref=e5484] - cell "108" [ref=e5485]: "108" - cell [ref=e5486] - cell "+" [ref=e5487]: - generic [ref=e5488]: + - 'cell "- State discipline: derived-only; no new persisted lifecycle category." [ref=e5489]': - code [ref=e5490]: "- State discipline: derived-only; no new persisted lifecycle category." - 'row "109 + - Shared pattern first: extend existing Ops UX helpers and current monitoring surfaces." [ref=e5491]': - cell [ref=e5492] - cell "109" [ref=e5493]: "109" - cell [ref=e5494] - cell "+" [ref=e5495]: - generic [ref=e5496]: + - 'cell "- Shared pattern first: extend existing Ops UX helpers and current monitoring surfaces." [ref=e5497]': - code [ref=e5498]: "- Shared pattern first: extend existing Ops UX helpers and current monitoring surfaces." - 'row "110 + - Workspace / tenant isolation: unchanged and still mandatory." [ref=e5499]': - cell [ref=e5500] - cell "110" [ref=e5501]: "110" - cell [ref=e5502] - cell "+" [ref=e5503]: - generic [ref=e5504]: + - 'cell "- Workspace / tenant isolation: unchanged and still mandatory." [ref=e5505]': - code [ref=e5506]: "- Workspace / tenant isolation: unchanged and still mandatory." - 'row "111 + - RBAC-UX: no client-side authorization expansion; server-side boundaries remain the only access control." [ref=e5507]': - cell [ref=e5508] - cell "111" [ref=e5509]: "111" - cell [ref=e5510] - cell "+" [ref=e5511]: - generic [ref=e5512]: + - 'cell "- RBAC-UX: no client-side authorization expansion; server-side boundaries remain the only access control." [ref=e5513]': - code [ref=e5514]: "- RBAC-UX: no client-side authorization expansion; server-side boundaries remain the only access control." - 'row "112 + - Test governance: unit + feature remain the narrowest honest proof." [ref=e5515]': - cell [ref=e5516] - cell "112" [ref=e5517]: "112" - cell [ref=e5518] - cell "+" [ref=e5519]: - generic [ref=e5520]: + - 'cell "- Test governance: unit + feature remain the narrowest honest proof." [ref=e5521]': - code [ref=e5522]: "- Test governance: unit + feature remain the narrowest honest proof." - 'row "113 + - Filament v5 / Livewire v4 posture: unchanged; no provider-registration or asset change." [ref=e5523]': - cell [ref=e5524] - cell "113" [ref=e5525]: "113" - cell [ref=e5526] - cell "+" [ref=e5527]: - generic [ref=e5528]: + - 'cell "- Filament v5 / Livewire v4 posture: unchanged; no provider-registration or asset change." [ref=e5529]': - code [ref=e5530]: "- Filament v5 / Livewire v4 posture: unchanged; no provider-registration or asset change." - row "114 +" [ref=e5531]: - cell [ref=e5532] - cell "114" [ref=e5533]: "114" - cell [ref=e5534] - cell "+" [ref=e5535]: - generic [ref=e5536]: + - cell [ref=e5537]: - code - 'row "115 + ## Test Governance Check" [ref=e5538]': - cell [ref=e5539] - cell "115" [ref=e5540]: "115" - cell [ref=e5541] - cell "+" [ref=e5542]: - generic [ref=e5543]: + - cell "## Test Governance Check" [ref=e5544]: - code [ref=e5545]: "## Test Governance Check" - row "116 +" [ref=e5546]: - cell [ref=e5547] - cell "116" [ref=e5548]: "116" - cell [ref=e5549] - cell "+" [ref=e5550]: - generic [ref=e5551]: + - cell [ref=e5552]: - code - row "117 + - **Test purpose / classification by changed surface**:" [ref=e5553]: - cell [ref=e5554] - cell "117" [ref=e5555]: "117" - cell [ref=e5556] - cell "+" [ref=e5557]: - generic [ref=e5558]: + - cell "- **Test purpose / classification by changed surface**:" [ref=e5559]: - code [ref=e5560]: "- **Test purpose / classification by changed surface**:" - 'row "118 + - Unit: generic queue-truth derivation" [ref=e5561]': - cell [ref=e5562] - cell "118" [ref=e5563]: "118" - cell [ref=e5564] - cell "+" [ref=e5565]: - generic [ref=e5566]: + - 'cell "- Unit: generic queue-truth derivation" [ref=e5567]': - code [ref=e5568]: "- Unit: generic queue-truth derivation" - 'row "119 + - Feature: current shell/list/detail rendering and authorization-safe presentation" [ref=e5569]': - cell [ref=e5570] - cell "119" [ref=e5571]: "119" - cell [ref=e5572] - cell "+" [ref=e5573]: - generic [ref=e5574]: + - 'cell "- Feature: current shell/list/detail rendering and authorization-safe presentation" [ref=e5575]': - code [ref=e5576]: "- Feature: current shell/list/detail rendering and authorization-safe presentation" - 'row "120 + - **Affected validation lanes**: fast-feedback, confidence" [ref=e5577]': - cell [ref=e5578] - cell "120" [ref=e5579]: "120" - cell [ref=e5580] - cell "+" [ref=e5581]: - generic [ref=e5582]: + - 'cell "- **Affected validation lanes**: fast-feedback, confidence" [ref=e5583]': - code [ref=e5584]: "- **Affected validation lanes**: fast-feedback, confidence" - 'row "121 + - **Why this lane mix is the narrowest sufficient proof**: the slice corrects shared derivation and rendered copy on current surfaces without introducing JS-heavy or browser-only behavior" [ref=e5585]': - cell [ref=e5586] - cell "121" [ref=e5587]: "121" - cell [ref=e5588] - cell "+" [ref=e5589]: - generic [ref=e5590]: + - 'cell "- **Why this lane mix is the narrowest sufficient proof**: the slice corrects shared derivation and rendered copy on current surfaces without introducing JS-heavy or browser-only behavior" [ref=e5591]': - code [ref=e5592]: "- **Why this lane mix is the narrowest sufficient proof**: the slice corrects shared derivation and rendered copy on current surfaces without introducing JS-heavy or browser-only behavior" - row "122 + - **Narrowest proving command(s)**:" [ref=e5593]: - cell [ref=e5594] - cell "122" [ref=e5595]: "122" - cell [ref=e5596] - cell "+" [ref=e5597]: - generic [ref=e5598]: + - cell "- **Narrowest proving command(s)**:" [ref=e5599]: - code [ref=e5600]: "- **Narrowest proving command(s)**:" - 'row "123 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e5601]': - cell [ref=e5602] - cell "123" [ref=e5603]: "123" - cell [ref=e5604] - cell "+" [ref=e5605]: - generic [ref=e5606]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e5607]': - code [ref=e5608]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" - 'row "124 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e5609]': - cell [ref=e5610] - cell "124" [ref=e5611]: "124" - cell [ref=e5612] - cell "+" [ref=e5613]: - generic [ref=e5614]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e5615]': - code [ref=e5616]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" - 'row "125 + - `git diff --check`" [ref=e5617]': - cell [ref=e5618] - cell "125" [ref=e5619]: "125" - cell [ref=e5620] - cell "+" [ref=e5621]: - generic [ref=e5622]: + - 'cell "- `git diff --check`" [ref=e5623]': - code [ref=e5624]: "- `git diff --check`" - 'row "126 + - **Fixture / helper / factory / seed / context cost risks**: existing `OperationRun` fixtures and workspace membership helpers are sufficient; avoid widening defaults" [ref=e5625]': - cell [ref=e5626] - cell "126" [ref=e5627]: "126" - cell [ref=e5628] - cell "+" [ref=e5629]: - generic [ref=e5630]: + - 'cell "- **Fixture / helper / factory / seed / context cost risks**: existing `OperationRun` fixtures and workspace membership helpers are sufficient; avoid widening defaults" [ref=e5631]': - code [ref=e5632]: "- **Fixture / helper / factory / seed / context cost risks**: existing `OperationRun` fixtures and workspace membership helpers are sufficient; avoid widening defaults" - 'row "127 + - **Expensive defaults or shared helper growth introduced?**: none planned" [ref=e5633]': - cell [ref=e5634] - cell "127" [ref=e5635]: "127" - cell [ref=e5636] - cell "+" [ref=e5637]: - generic [ref=e5638]: + - 'cell "- **Expensive defaults or shared helper growth introduced?**: none planned" [ref=e5639]': - code [ref=e5640]: "- **Expensive defaults or shared helper growth introduced?**: none planned" - 'row "128 + - **Heavy-family additions, promotions, or visibility changes**: none" [ref=e5641]': - cell [ref=e5642] - cell "128" [ref=e5643]: "128" - cell [ref=e5644] - cell "+" [ref=e5645]: - generic [ref=e5646]: + - 'cell "- **Heavy-family additions, promotions, or visibility changes**: none" [ref=e5647]': - code [ref=e5648]: "- **Heavy-family additions, promotions, or visibility changes**: none" - 'row "129 + - **Surface-class relief / special coverage rule**: monitoring-state-page and shared-detail-family coverage is explicit" [ref=e5649]': - cell [ref=e5650] - cell "129" [ref=e5651]: "129" - cell [ref=e5652] - cell "+" [ref=e5653]: - generic [ref=e5654]: + - 'cell "- **Surface-class relief / special coverage rule**: monitoring-state-page and shared-detail-family coverage is explicit" [ref=e5655]': - code [ref=e5656]: "- **Surface-class relief / special coverage rule**: monitoring-state-page and shared-detail-family coverage is explicit" - 'row "130 + - **Closing validation and reviewer handoff**: reviewers should compare stale-active, fresh-active, and reconciled-terminal cases across shell, list, and detail and confirm that stale-active wording does not coexist with ordinary queue/progress reassurance" [ref=e5657]': - cell [ref=e5658] - cell "130" [ref=e5659]: "130" - cell [ref=e5660] - cell "+" [ref=e5661]: - generic [ref=e5662]: + - 'cell "- **Closing validation and reviewer handoff**: reviewers should compare stale-active, fresh-active, and reconciled-terminal cases across shell, list, and detail and confirm that stale-active wording does not coexist with ordinary queue/progress reassurance" [ref=e5663]': - code [ref=e5664]: "- **Closing validation and reviewer handoff**: reviewers should compare stale-active, fresh-active, and reconciled-terminal cases across shell, list, and detail and confirm that stale-active wording does not coexist with ordinary queue/progress reassurance" - 'row "131 + - **Budget / baseline / trend follow-up**: none expected" [ref=e5665]': - cell [ref=e5666] - cell "131" [ref=e5667]: "131" - cell [ref=e5668] - cell "+" [ref=e5669]: - generic [ref=e5670]: + - 'cell "- **Budget / baseline / trend follow-up**: none expected" [ref=e5671]': - code [ref=e5672]: "- **Budget / baseline / trend follow-up**: none expected" - 'row "132 + - **Review-stop questions**: Did the change add persistence? Did it invent a new adapter framework? Does any stale-active surface still combine stale attention with ordinary `Waiting for worker.`, `Progress details pending.`, or equivalent calm queue/progress reassurance?" [ref=e5673]': - cell [ref=e5674] - cell "132" [ref=e5675]: "132" - cell [ref=e5676] - cell "+" [ref=e5677]: - generic [ref=e5678]: + - 'cell "- **Review-stop questions**: Did the change add persistence? Did it invent a new adapter framework? Does any stale-active surface still combine stale attention with ordinary `Waiting for worker.`, `Progress details pending.`, or equivalent calm queue/progress reassurance?" [ref=e5679]': - code [ref=e5680]: "- **Review-stop questions**: Did the change add persistence? Did it invent a new adapter framework? Does any stale-active surface still combine stale attention with ordinary `Waiting for worker.`, `Progress details pending.`, or equivalent calm queue/progress reassurance?" - 'row "133 + - **Escalation path**: `reject-or-split` if scope widens into queue runtime redesign" [ref=e5681]': - cell [ref=e5682] - cell "133" [ref=e5683]: "133" - cell [ref=e5684] - cell "+" [ref=e5685]: - generic [ref=e5686]: + - 'cell "- **Escalation path**: `reject-or-split` if scope widens into queue runtime redesign" [ref=e5687]': - code [ref=e5688]: "- **Escalation path**: `reject-or-split` if scope widens into queue runtime redesign" - 'row "134 + - **Active feature PR close-out entry**: Guardrail / Smoke Coverage" [ref=e5689]': - cell [ref=e5690] - cell "134" [ref=e5691]: "134" - cell [ref=e5692] - cell "+" [ref=e5693]: - generic [ref=e5694]: + - 'cell "- **Active feature PR close-out entry**: Guardrail / Smoke Coverage" [ref=e5695]': - code [ref=e5696]: "- **Active feature PR close-out entry**: Guardrail / Smoke Coverage" - row "135 +" [ref=e5697]: - cell [ref=e5698] - cell "135" [ref=e5699]: "135" - cell [ref=e5700] - cell "+" [ref=e5701]: - generic [ref=e5702]: + - cell [ref=e5703]: - code - 'row "136 + ## Implementation Phases" [ref=e5704]': - cell [ref=e5705] - cell "136" [ref=e5706]: "136" - cell [ref=e5707] - cell "+" [ref=e5708]: - generic [ref=e5709]: + - cell "## Implementation Phases" [ref=e5710]: - code [ref=e5711]: "## Implementation Phases" - row "137 +" [ref=e5712]: - cell [ref=e5713] - cell "137" [ref=e5714]: "137" - cell [ref=e5715] - cell "+" [ref=e5716]: - generic [ref=e5717]: + - cell [ref=e5718]: - code - 'row "138 + ### Phase 1 — Confirm the shared queue-truth inputs" [ref=e5719]': - cell [ref=e5720] - cell "138" [ref=e5721]: "138" - cell [ref=e5722] - cell "+" [ref=e5723]: - generic [ref=e5724]: + - cell "### Phase 1 — Confirm the shared queue-truth inputs" [ref=e5725]: - code [ref=e5726]: "### Phase 1 — Confirm the shared queue-truth inputs" - row "139 +" [ref=e5727]: - cell [ref=e5728] - cell "139" [ref=e5729]: "139" - cell [ref=e5730] - cell "+" [ref=e5731]: - generic [ref=e5732]: + - cell [ref=e5733]: - code - row "140 + - Inventory the exact contradictory paths in:" [ref=e5734]: - cell [ref=e5735] - cell "140" [ref=e5736]: "140" - cell [ref=e5737] - cell "+" [ref=e5738]: - generic [ref=e5739]: + - cell "- Inventory the exact contradictory paths in:" [ref=e5740]: - code [ref=e5741]: "- Inventory the exact contradictory paths in:" - 'row "141 + - `OperationRunProgressContract`" [ref=e5742]': - cell [ref=e5743] - cell "141" [ref=e5744]: "141" - cell [ref=e5745] - cell "+" [ref=e5746]: - generic [ref=e5747]: + - 'cell "- `OperationRunProgressContract`" [ref=e5748]': - code [ref=e5749]: "- `OperationRunProgressContract`" - 'row "142 + - `RunDurationInsights`" [ref=e5750]': - cell [ref=e5751] - cell "142" [ref=e5752]: "142" - cell [ref=e5753] - cell "+" [ref=e5754]: - generic [ref=e5755]: + - 'cell "- `RunDurationInsights`" [ref=e5756]': - code [ref=e5757]: "- `RunDurationInsights`" - 'row "143 + - `OperationUxPresenter`" [ref=e5758]': - cell [ref=e5759] - cell "143" [ref=e5760]: "143" - cell [ref=e5761] - cell "+" [ref=e5762]: - generic [ref=e5763]: + - 'cell "- `OperationUxPresenter`" [ref=e5764]': - code [ref=e5765]: "- `OperationUxPresenter`" - row "144 + - current shell/list/detail renderers" [ref=e5766]: - cell [ref=e5767] - cell "144" [ref=e5768]: "144" - cell [ref=e5769] - cell "+" [ref=e5770]: - generic [ref=e5771]: + - cell "- current shell/list/detail renderers" [ref=e5772]: - code [ref=e5773]: "- current shell/list/detail renderers" - row "145 + - Freeze the current shared vocabulary for:" [ref=e5774]: - cell [ref=e5775] - cell "145" [ref=e5776]: "145" - cell [ref=e5777] - cell "+" [ref=e5778]: - generic [ref=e5779]: + - cell "- Freeze the current shared vocabulary for:" [ref=e5780]: - code [ref=e5781]: "- Freeze the current shared vocabulary for:" - row "146 + - fresh queued/running" [ref=e5782]: - cell [ref=e5783] - cell "146" [ref=e5784]: "146" - cell [ref=e5785] - cell "+" [ref=e5786]: - generic [ref=e5787]: + - cell "- fresh queued/running" [ref=e5788]: - code [ref=e5789]: "- fresh queued/running" - row "147 + - stale active" [ref=e5790]: - cell [ref=e5791] - cell "147" [ref=e5792]: "147" - cell [ref=e5793] - cell "+" [ref=e5794]: - generic [ref=e5795]: + - cell "- stale active" [ref=e5796]: - code [ref=e5797]: "- stale active" - row "148 + - reconciled terminal" [ref=e5798]: - cell [ref=e5799] - cell "148" [ref=e5800]: "148" - cell [ref=e5801] - cell "+" [ref=e5802]: - generic [ref=e5803]: + - cell "- reconciled terminal" [ref=e5804]: - code [ref=e5805]: "- reconciled terminal" - row "149 + - Confirm that existing scheduled and adapter reconciliation commands remain context only" [ref=e5806]: - cell [ref=e5807] - cell "149" [ref=e5808]: "149" - cell [ref=e5809] - cell "+" [ref=e5810]: - generic [ref=e5811]: + - cell "- Confirm that existing scheduled and adapter reconciliation commands remain context only" [ref=e5812]: - code [ref=e5813]: "- Confirm that existing scheduled and adapter reconciliation commands remain context only" - row "150 +" [ref=e5814]: - cell [ref=e5815] - cell "150" [ref=e5816]: "150" - cell [ref=e5817] - cell "+" [ref=e5818]: - generic [ref=e5819]: + - cell [ref=e5820]: - code - 'row "151 + ### Phase 2 — Align the generic queue-truth derivation" [ref=e5821]': - cell [ref=e5822] - cell "151" [ref=e5823]: "151" - cell [ref=e5824] - cell "+" [ref=e5825]: - generic [ref=e5826]: + - cell "### Phase 2 — Align the generic queue-truth derivation" [ref=e5827]: - code [ref=e5828]: "### Phase 2 — Align the generic queue-truth derivation" - row "152 +" [ref=e5829]: - cell [ref=e5830] - cell "152" [ref=e5831]: "152" - cell [ref=e5832] - cell "+" [ref=e5833]: - generic [ref=e5834]: + - cell [ref=e5835]: - code - row "153 + - Extend existing helpers so freshness, queue guidance, and progress availability tell one story" [ref=e5836]: - cell [ref=e5837] - cell "153" [ref=e5838]: "153" - cell [ref=e5839] - cell "+" [ref=e5840]: - generic [ref=e5841]: + - cell "- Extend existing helpers so freshness, queue guidance, and progress availability tell one story" [ref=e5842]: - code [ref=e5843]: "- Extend existing helpers so freshness, queue guidance, and progress availability tell one story" - row "154 + - Keep phase/composite/determinate progress derived-only and subordinate to stale lifecycle truth" [ref=e5844]: - cell [ref=e5845] - cell "154" [ref=e5846]: "154" - cell [ref=e5847] - cell "+" [ref=e5848]: - generic [ref=e5849]: + - cell "- Keep phase/composite/determinate progress derived-only and subordinate to stale lifecycle truth" [ref=e5850]: - code [ref=e5851]: "- Keep phase/composite/determinate progress derived-only and subordinate to stale lifecycle truth" - row "155 + - Ensure unsupported or low-evidence cases remain cautious rather than overclaiming orphaned state" [ref=e5852]: - cell [ref=e5853] - cell "155" [ref=e5854]: "155" - cell [ref=e5855] - cell "+" [ref=e5856]: - generic [ref=e5857]: + - cell "- Ensure unsupported or low-evidence cases remain cautious rather than overclaiming orphaned state" [ref=e5858]: - code [ref=e5859]: "- Ensure unsupported or low-evidence cases remain cautious rather than overclaiming orphaned state" - row "156 +" [ref=e5860]: - cell [ref=e5861] - cell "156" [ref=e5862]: "156" - cell [ref=e5863] - cell "+" [ref=e5864]: - generic [ref=e5865]: + - cell [ref=e5866]: - code - 'row "157 + ### Phase 3 — Retrofit current monitoring surfaces" [ref=e5867]': - cell [ref=e5868] - cell "157" [ref=e5869]: "157" - cell [ref=e5870] - cell "+" [ref=e5871]: - generic [ref=e5872]: + - cell "### Phase 3 — Retrofit current monitoring surfaces" [ref=e5873]: - code [ref=e5874]: "### Phase 3 — Retrofit current monitoring surfaces" - row "158 +" [ref=e5875]: - cell [ref=e5876] - cell "158" [ref=e5877]: "158" - cell [ref=e5878] - cell "+" [ref=e5879]: - generic [ref=e5880]: + - cell [ref=e5881]: - code - row "159 + - Update the current shell banner so stale active work does not read as ordinary queue wait" [ref=e5882]: - cell [ref=e5883] - cell "159" [ref=e5884]: "159" - cell [ref=e5885] - cell "+" [ref=e5886]: - generic [ref=e5887]: + - cell "- Update the current shell banner so stale active work does not read as ordinary queue wait" [ref=e5888]: - code [ref=e5889]: "- Update the current shell banner so stale active work does not read as ordinary queue wait" - row "160 + - Update canonical list/detail guidance so they confirm the same lifecycle meaning" [ref=e5890]: - cell [ref=e5891] - cell "160" [ref=e5892]: "160" - cell [ref=e5893] - cell "+" [ref=e5894]: - generic [ref=e5895]: + - cell "- Update canonical list/detail guidance so they confirm the same lifecycle meaning" [ref=e5896]: - code [ref=e5897]: "- Update canonical list/detail guidance so they confirm the same lifecycle meaning" - row "161 + - Keep existing links, filters, and diagnostics structure unchanged" [ref=e5898]: - cell [ref=e5899] - cell "161" [ref=e5900]: "161" - cell [ref=e5901] - cell "+" [ref=e5902]: - generic [ref=e5903]: + - cell "- Keep existing links, filters, and diagnostics structure unchanged" [ref=e5904]: - code [ref=e5905]: "- Keep existing links, filters, and diagnostics structure unchanged" - row "162 +" [ref=e5906]: - cell [ref=e5907] - cell "162" [ref=e5908]: "162" - cell [ref=e5909] - cell "+" [ref=e5910]: - generic [ref=e5911]: + - cell [ref=e5912]: - code - 'row "163 + ### Phase 4 — Validate and lock the contract" [ref=e5913]': - cell [ref=e5914] - cell "163" [ref=e5915]: "163" - cell [ref=e5916] - cell "+" [ref=e5917]: - generic [ref=e5918]: + - cell "### Phase 4 — Validate and lock the contract" [ref=e5919]: - code [ref=e5920]: "### Phase 4 — Validate and lock the contract" - row "164 +" [ref=e5921]: - cell [ref=e5922] - cell "164" [ref=e5923]: "164" - cell [ref=e5924] - cell "+" [ref=e5925]: - generic [ref=e5926]: + - cell [ref=e5927]: - code - row "165 + - Add or update targeted unit + feature tests" [ref=e5928]: - cell [ref=e5929] - cell "165" [ref=e5930]: "165" - cell [ref=e5931] - cell "+" [ref=e5932]: - generic [ref=e5933]: + - cell "- Add or update targeted unit + feature tests" [ref=e5934]: - code [ref=e5935]: "- Add or update targeted unit + feature tests" - row "166 + - Run the focused validation commands" [ref=e5936]: - cell [ref=e5937] - cell "166" [ref=e5938]: "166" - cell [ref=e5939] - cell "+" [ref=e5940]: - generic [ref=e5941]: + - cell "- Run the focused validation commands" [ref=e5942]: - code [ref=e5943]: "- Run the focused validation commands" - row "167 + - Record any remaining bounded wording choices in the active feature close-out" [ref=e5944]: - cell [ref=e5945] - cell "167" [ref=e5946]: "167" - cell [ref=e5947] - cell "+" [ref=e5948]: - generic [ref=e5949]: + - cell "- Record any remaining bounded wording choices in the active feature close-out" [ref=e5950]: - code [ref=e5951]: "- Record any remaining bounded wording choices in the active feature close-out" - row "168 +" [ref=e5952]: - cell [ref=e5953] - cell "168" [ref=e5954]: "168" - cell [ref=e5955] - cell "+" [ref=e5956]: - generic [ref=e5957]: + - cell [ref=e5958]: - code - 'row "169 + ## Risks and Mitigations" [ref=e5959]': - cell [ref=e5960] - cell "169" [ref=e5961]: "169" - cell [ref=e5962] - cell "+" [ref=e5963]: - generic [ref=e5964]: + - cell "## Risks and Mitigations" [ref=e5965]: - code [ref=e5966]: "## Risks and Mitigations" - row "170 +" [ref=e5967]: - cell [ref=e5968] - cell "170" [ref=e5969]: "170" - cell [ref=e5970] - cell "+" [ref=e5971]: - generic [ref=e5972]: + - cell [ref=e5973]: - code - 'row "171 + - **Over-escalation of healthy work**: mitigate with explicit fresh-active negative assertions." [ref=e5974]': - cell [ref=e5975] - cell "171" [ref=e5976]: "171" - cell [ref=e5977] - cell "+" [ref=e5978]: - generic [ref=e5979]: + - 'cell "- **Over-escalation of healthy work**: mitigate with explicit fresh-active negative assertions." [ref=e5980]': - code [ref=e5981]: "- **Over-escalation of healthy work**: mitigate with explicit fresh-active negative assertions." - 'row "172 + - **Residual renderer drift**: mitigate by covering shell, list, and detail in the same test set." [ref=e5982]': - cell [ref=e5983] - cell "172" [ref=e5984]: "172" - cell [ref=e5985] - cell "+" [ref=e5986]: - generic [ref=e5987]: + - 'cell "- **Residual renderer drift**: mitigate by covering shell, list, and detail in the same test set." [ref=e5988]': - code [ref=e5989]: "- **Residual renderer drift**: mitigate by covering shell, list, and detail in the same test set." - 'row "173 + - **Accidental framework expansion**: mitigate by rejecting new registries, adapters, or persisted truth in review." [ref=e5990]': - cell [ref=e5991] - cell "173" [ref=e5992]: "173" - cell [ref=e5993] - cell "+" [ref=e5994]: - generic [ref=e5995]: + - 'cell "- **Accidental framework expansion**: mitigate by rejecting new registries, adapters, or persisted truth in review." [ref=e5996]': - code [ref=e5997]: "- **Accidental framework expansion**: mitigate by rejecting new registries, adapters, or persisted truth in review." - row "174 +" [ref=e5998]: - cell [ref=e5999] - cell "174" [ref=e6000]: "174" - cell [ref=e6001] - cell "+" [ref=e6002]: - generic [ref=e6003]: + - cell [ref=e6004]: - code - 'row "175 + ## Project Structure" [ref=e6005]': - cell [ref=e6006] - cell "175" [ref=e6007]: "175" - cell [ref=e6008] - cell "+" [ref=e6009]: - generic [ref=e6010]: + - cell "## Project Structure" [ref=e6011]: - code [ref=e6012]: "## Project Structure" - row "176 +" [ref=e6013]: - cell [ref=e6014] - cell "176" [ref=e6015]: "176" - cell [ref=e6016] - cell "+" [ref=e6017]: - generic [ref=e6018]: + - cell [ref=e6019]: - code - 'row "177 + ### Documentation" [ref=e6020]': - cell [ref=e6021] - cell "177" [ref=e6022]: "177" - cell [ref=e6023] - cell "+" [ref=e6024]: - generic [ref=e6025]: + - cell "### Documentation" [ref=e6026]: - code [ref=e6027]: "### Documentation" - row "178 +" [ref=e6028]: - cell [ref=e6029] - cell "178" [ref=e6030]: "178" - cell [ref=e6031] - cell "+" [ref=e6032]: - generic [ref=e6033]: + - cell [ref=e6034]: - code - 'row "179 + ```text" [ref=e6035]': - cell [ref=e6036] - cell "179" [ref=e6037]: "179" - cell [ref=e6038] - cell "+" [ref=e6039]: - generic [ref=e6040]: + - 'cell "```text" [ref=e6041]': - code [ref=e6042]: "```text" - row "180 + specs/358-operationrun-queue-truth-foundation/" [ref=e6043]: - cell [ref=e6044] - cell "180" [ref=e6045]: "180" - cell [ref=e6046] - cell "+" [ref=e6047]: - generic [ref=e6048]: + - cell "specs/358-operationrun-queue-truth-foundation/" [ref=e6049]: - code [ref=e6050]: specs/358-operationrun-queue-truth-foundation/ - row "181 + |-- spec.md" [ref=e6051]: - cell [ref=e6052] - cell "181" [ref=e6053]: "181" - cell [ref=e6054] - cell "+" [ref=e6055]: - generic [ref=e6056]: + - cell "|-- spec.md" [ref=e6057]: - code [ref=e6058]: "|-- spec.md" - row "182 + |-- plan.md" [ref=e6059]: - cell [ref=e6060] - cell "182" [ref=e6061]: "182" - cell [ref=e6062] - cell "+" [ref=e6063]: - generic [ref=e6064]: + - cell "|-- plan.md" [ref=e6065]: - code [ref=e6066]: "|-- plan.md" - row "183 + |-- tasks.md" [ref=e6067]: - cell [ref=e6068] - cell "183" [ref=e6069]: "183" - cell [ref=e6070] - cell "+" [ref=e6071]: - generic [ref=e6072]: + - cell "|-- tasks.md" [ref=e6073]: - code [ref=e6074]: "|-- tasks.md" - 'row "184 + `-- checklists/" [ref=e6075]': - cell [ref=e6076] - cell "184" [ref=e6077]: "184" - cell [ref=e6078] - cell "+" [ref=e6079]: - generic [ref=e6080]: + - 'cell "`-- checklists/" [ref=e6081]': - code [ref=e6082]: "`-- checklists/" - 'row "185 + `-- requirements.md" [ref=e6083]': - cell [ref=e6084] - cell "185" [ref=e6085]: "185" - cell [ref=e6086] - cell "+" [ref=e6087]: - generic [ref=e6088]: + - 'cell "`-- requirements.md" [ref=e6089]': - code [ref=e6090]: "`-- requirements.md" - 'row "186 + ```" [ref=e6091]': - cell [ref=e6092] - cell "186" [ref=e6093]: "186" - cell [ref=e6094] - cell "+" [ref=e6095]: - generic [ref=e6096]: + - 'cell "```" [ref=e6097]': - code [ref=e6098]: "```" - row "187 +" [ref=e6099]: - cell [ref=e6100] - cell "187" [ref=e6101]: "187" - cell [ref=e6102] - cell "+" [ref=e6103]: - generic [ref=e6104]: + - cell [ref=e6105]: - code - 'row "188 + ### Runtime surfaces likely to change later" [ref=e6106]': - cell [ref=e6107] - cell "188" [ref=e6108]: "188" - cell [ref=e6109] - cell "+" [ref=e6110]: - generic [ref=e6111]: + - cell "### Runtime surfaces likely to change later" [ref=e6112]: - code [ref=e6113]: "### Runtime surfaces likely to change later" - row "189 +" [ref=e6114]: - cell [ref=e6115] - cell "189" [ref=e6116]: "189" - cell [ref=e6117] - cell "+" [ref=e6118]: - generic [ref=e6119]: + - cell [ref=e6120]: - code - 'row "190 + ```text" [ref=e6121]': - cell [ref=e6122] - cell "190" [ref=e6123]: "190" - cell [ref=e6124] - cell "+" [ref=e6125]: - generic [ref=e6126]: + - 'cell "```text" [ref=e6127]': - code [ref=e6128]: "```text" - row "191 + apps/platform/app/Support/OpsUx/" [ref=e6129]: - cell [ref=e6130] - cell "191" [ref=e6131]: "191" - cell [ref=e6132] - cell "+" [ref=e6133]: - generic [ref=e6134]: + - cell "apps/platform/app/Support/OpsUx/" [ref=e6135]: - code [ref=e6136]: apps/platform/app/Support/OpsUx/ - row "192 + |-- OperationRunProgressContract.php" [ref=e6137]: - cell [ref=e6138] - cell "192" [ref=e6139]: "192" - cell [ref=e6140] - cell "+" [ref=e6141]: - generic [ref=e6142]: + - cell "|-- OperationRunProgressContract.php" [ref=e6143]: - code [ref=e6144]: "|-- OperationRunProgressContract.php" - row "193 + |-- OperationUxPresenter.php" [ref=e6145]: - cell [ref=e6146] - cell "193" [ref=e6147]: "193" - cell [ref=e6148] - cell "+" [ref=e6149]: - generic [ref=e6150]: + - cell "|-- OperationUxPresenter.php" [ref=e6151]: - code [ref=e6152]: "|-- OperationUxPresenter.php" - 'row "194 + `-- RunDurationInsights.php" [ref=e6153]': - cell [ref=e6154] - cell "194" [ref=e6155]: "194" - cell [ref=e6156] - cell "+" [ref=e6157]: - generic [ref=e6158]: + - 'cell "`-- RunDurationInsights.php" [ref=e6159]': - code [ref=e6160]: "`-- RunDurationInsights.php" - row "195 +" [ref=e6161]: - cell [ref=e6162] - cell "195" [ref=e6163]: "195" - cell [ref=e6164] - cell "+" [ref=e6165]: - generic [ref=e6166]: + - cell [ref=e6167]: - code - row "196 + apps/platform/app/Support/Operations/" [ref=e6168]: - cell [ref=e6169] - cell "196" [ref=e6170]: "196" - cell [ref=e6171] - cell "+" [ref=e6172]: - generic [ref=e6173]: + - cell "apps/platform/app/Support/Operations/" [ref=e6174]: - code [ref=e6175]: apps/platform/app/Support/Operations/ - 'row "197 + `-- OperationRunFreshnessState.php" [ref=e6176]': - cell [ref=e6177] - cell "197" [ref=e6178]: "197" - cell [ref=e6179] - cell "+" [ref=e6180]: - generic [ref=e6181]: + - 'cell "`-- OperationRunFreshnessState.php" [ref=e6182]': - code [ref=e6183]: "`-- OperationRunFreshnessState.php" - row "198 +" [ref=e6184]: - cell [ref=e6185] - cell "198" [ref=e6186]: "198" - cell [ref=e6187] - cell "+" [ref=e6188]: - generic [ref=e6189]: + - cell [ref=e6190]: - code - row "199 + apps/platform/app/Filament/" [ref=e6191]: - cell [ref=e6192] - cell "199" [ref=e6193]: "199" - cell [ref=e6194] - cell "+" [ref=e6195]: - generic [ref=e6196]: + - cell "apps/platform/app/Filament/" [ref=e6197]: - code [ref=e6198]: apps/platform/app/Filament/ - row "200 + |-- Pages/Monitoring/Operations.php" [ref=e6199]: - cell [ref=e6200] - cell "200" [ref=e6201]: "200" - cell [ref=e6202] - cell "+" [ref=e6203]: - generic [ref=e6204]: + - cell "|-- Pages/Monitoring/Operations.php" [ref=e6205]: - code [ref=e6206]: "|-- Pages/Monitoring/Operations.php" - row "201 + |-- Pages/Operations/TenantlessOperationRunViewer.php" [ref=e6207]: - cell [ref=e6208] - cell "201" [ref=e6209]: "201" - cell [ref=e6210] - cell "+" [ref=e6211]: - generic [ref=e6212]: + - cell "|-- Pages/Operations/TenantlessOperationRunViewer.php" [ref=e6213]: - code [ref=e6214]: "|-- Pages/Operations/TenantlessOperationRunViewer.php" - 'row "202 + `-- Resources/OperationRunResource.php" [ref=e6215]': - cell [ref=e6216] - cell "202" [ref=e6217]: "202" - cell [ref=e6218] - cell "+" [ref=e6219]: - generic [ref=e6220]: + - 'cell "`-- Resources/OperationRunResource.php" [ref=e6221]': - code [ref=e6222]: "`-- Resources/OperationRunResource.php" - row "203 +" [ref=e6223]: - cell [ref=e6224] - cell "203" [ref=e6225]: "203" - cell [ref=e6226] - cell "+" [ref=e6227]: - generic [ref=e6228]: + - cell [ref=e6229]: - code - row "204 + apps/platform/resources/views/filament/pages/monitoring/" [ref=e6230]: - cell [ref=e6231] - cell "204" [ref=e6232]: "204" - cell [ref=e6233] - cell "+" [ref=e6234]: - generic [ref=e6235]: + - cell "apps/platform/resources/views/filament/pages/monitoring/" [ref=e6236]: - code [ref=e6237]: apps/platform/resources/views/filament/pages/monitoring/ - 'row "205 + `-- operations.blade.php" [ref=e6238]': - cell [ref=e6239] - cell "205" [ref=e6240]: "205" - cell [ref=e6241] - cell "+" [ref=e6242]: - generic [ref=e6243]: + - 'cell "`-- operations.blade.php" [ref=e6244]': - code [ref=e6245]: "`-- operations.blade.php" - row "206 +" [ref=e6246]: - cell [ref=e6247] - cell "206" [ref=e6248]: "206" - cell [ref=e6249] - cell "+" [ref=e6250]: - generic [ref=e6251]: + - cell [ref=e6252]: - code - row "207 + apps/platform/resources/views/livewire/" [ref=e6253]: - cell [ref=e6254] - cell "207" [ref=e6255]: "207" - cell [ref=e6256] - cell "+" [ref=e6257]: - generic [ref=e6258]: + - cell "apps/platform/resources/views/livewire/" [ref=e6259]: - code [ref=e6260]: apps/platform/resources/views/livewire/ - 'row "208 + `-- bulk-operation-progress.blade.php" [ref=e6261]': - cell [ref=e6262] - cell "208" [ref=e6263]: "208" - cell [ref=e6264] - cell "+" [ref=e6265]: - generic [ref=e6266]: + - 'cell "`-- bulk-operation-progress.blade.php" [ref=e6267]': - code [ref=e6268]: "`-- bulk-operation-progress.blade.php" - 'row "209 + ```" [ref=e6269]': - cell [ref=e6270] - cell "209" [ref=e6271]: "209" - cell [ref=e6272] - cell "+" [ref=e6273]: - generic [ref=e6274]: + - 'cell "```" [ref=e6275]': - code [ref=e6276]: "```" - generic [ref=e6277]: - 'heading "298 298 Änderungen: 298 Ergänzungen und 0 Löschungen specs/358-operationrun-queue-truth-foundation/spec.md Normale Datei Datei anzeigen" [level=4] [ref=e6278]': - generic [ref=e6279]: - button [ref=e6280] [cursor=pointer]: - img [ref=e6281] - generic [ref=e6283]: - text: "298" - 'generic "298 Änderungen: 298 Ergänzungen und 0 Löschungen" [ref=e6284]' - generic [ref=e6286]: - link "specs/358-operationrun-queue-truth-foundation/spec.md" [ref=e6287] [cursor=pointer]: - /url: "#diff-cae80101b562551ce446e2172de0067cfd5d23ae" - button [ref=e6288] [cursor=pointer]: - img [ref=e6289] - generic [ref=e6292]: Normale Datei - link "Datei anzeigen" [ref=e6294] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/specs/358-operationrun-queue-truth-foundation/spec.md - table [ref=e6297]: - rowgroup [ref=e6304]: - row "@ -0,0 +1,298 @@" [ref=e6305]: - cell [ref=e6306] - cell [ref=e6307] - cell [ref=e6308] - cell "@ -0,0 +1,298 @@" [ref=e6309]: - code [ref=e6310]: "@ -0,0 +1,298 @@" - 'row "1 + # Feature Specification: OperationRun Queue Truth Foundation" [ref=e6311]': - cell [ref=e6312] - cell "1" [ref=e6313]: "1" - cell [ref=e6314] - cell "+" [ref=e6315]: - generic [ref=e6316]: + - 'cell "# Feature Specification: OperationRun Queue Truth Foundation" [ref=e6317]': - code [ref=e6318]: "# Feature Specification: OperationRun Queue Truth Foundation" - row "2 +" [ref=e6319]: - cell [ref=e6320] - cell "2" [ref=e6321]: "2" - cell [ref=e6322] - cell "+" [ref=e6323]: - generic [ref=e6324]: + - cell [ref=e6325]: - code - 'row "3 + **Feature Branch**: `358-operationrun-queue-truth-foundation`" [ref=e6326]': - cell [ref=e6327] - cell "3" [ref=e6328]: "3" - cell [ref=e6329] - cell "+" [ref=e6330]: - generic [ref=e6331]: + - 'cell "**Feature Branch**: `358-operationrun-queue-truth-foundation`" [ref=e6332]': - code [ref=e6333]: "**Feature Branch**: `358-operationrun-queue-truth-foundation`" - 'row "4 + **Created**: 2026-06-06" [ref=e6334]': - cell [ref=e6335] - cell "4" [ref=e6336]: "4" - cell [ref=e6337] - cell "+" [ref=e6338]: - generic [ref=e6339]: + - 'cell "**Created**: 2026-06-06" [ref=e6340]': - code [ref=e6341]: "**Created**: 2026-06-06" - 'row "5 + **Status**: Draft" [ref=e6342]': - cell [ref=e6343] - cell "5" [ref=e6344]: "5" - cell [ref=e6345] - cell "+" [ref=e6346]: - generic [ref=e6347]: + - 'cell "**Status**: Draft" [ref=e6348]': - code [ref=e6349]: "**Status**: Draft" - 'row "6 + **Input**: User-provided OperationRun queue-truth draft, reconciled against current repo truth" [ref=e6350]': - cell [ref=e6351] - cell "6" [ref=e6352]: "6" - cell [ref=e6353] - cell "+" [ref=e6354]: - generic [ref=e6355]: + - 'cell "**Input**: User-provided OperationRun queue-truth draft, reconciled against current repo truth" [ref=e6356]': - code [ref=e6357]: "**Input**: User-provided OperationRun queue-truth draft, reconciled against current repo truth" - row "7 +" [ref=e6358]: - cell [ref=e6359] - cell "7" [ref=e6360]: "7" - cell [ref=e6361] - cell "+" [ref=e6362]: - generic [ref=e6363]: + - cell [ref=e6364]: - code - 'row "8 + ## Spec Candidate Check *(mandatory — SPEC-GATE-001)*" [ref=e6365]': - cell [ref=e6366] - cell "8" [ref=e6367]: "8" - cell [ref=e6368] - cell "+" [ref=e6369]: - generic [ref=e6370]: + - cell "## Spec Candidate Check *(mandatory — SPEC-GATE-001)*" [ref=e6371]: - code [ref=e6372]: "## Spec Candidate Check *(mandatory — SPEC-GATE-001)*" - row "9 +" [ref=e6373]: - cell [ref=e6374] - cell "9" [ref=e6375]: "9" - cell [ref=e6376] - cell "+" [ref=e6377]: - generic [ref=e6378]: + - cell [ref=e6379]: - code - 'row "10 + - **Problem**: Current `OperationRun` UX still allows contradictory generic queue truth. The repo can show stale-attention semantics and ordinary queue/progress reassurance for the same active run, depending on which helper or surface renders first." [ref=e6380]': - cell [ref=e6381] - cell "10" [ref=e6382]: "10" - cell [ref=e6383] - cell "+" [ref=e6384]: - generic [ref=e6385]: + - 'cell "- **Problem**: Current `OperationRun` UX still allows contradictory generic queue truth. The repo can show stale-attention semantics and ordinary queue/progress reassurance for the same active run, depending on which helper or surface renders first." [ref=e6386]': - code [ref=e6387]: "- **Problem**: Current `OperationRun` UX still allows contradictory generic queue truth. The repo can show stale-attention semantics and ordinary queue/progress reassurance for the same active run, depending on which helper or surface renders first." - 'row "11 + - **Today''s failure**: A run can surface `Likely stale` lifecycle attention while generic copy still says `Waiting for worker.` or `No action needed yet. The operation is waiting for a worker.` This creates a false-calm operator message on active monitoring surfaces." [ref=e6388]': - cell [ref=e6389] - cell "11" [ref=e6390]: "11" - cell [ref=e6391] - cell "+" [ref=e6392]: - generic [ref=e6393]: + - 'cell "- **Today''s failure**: A run can surface `Likely stale` lifecycle attention while generic copy still says `Waiting for worker.` or `No action needed yet. The operation is waiting for a worker.` This creates a false-calm operator message on active monitoring surfaces." [ref=e6394]': - code [ref=e6395]: "- **Today's failure**: A run can surface `Likely stale` lifecycle attention while generic copy still says `Waiting for worker.` or `No action needed yet. The operation is waiting for a worker.` This creates a false-calm operator message on active monitoring surfaces." - 'row "12 + - **User-visible improvement**: Queued and running `OperationRun` records will render one honest generic lifecycle story across shell hints, monitoring rows, and canonical detail without overclaiming domain success or orphaned queue state." [ref=e6396]': - cell [ref=e6397] - cell "12" [ref=e6398]: "12" - cell [ref=e6399] - cell "+" [ref=e6400]: - generic [ref=e6401]: + - 'cell "- **User-visible improvement**: Queued and running `OperationRun` records will render one honest generic lifecycle story across shell hints, monitoring rows, and canonical detail without overclaiming domain success or orphaned queue state." [ref=e6402]': - code [ref=e6403]: "- **User-visible improvement**: Queued and running `OperationRun` records will render one honest generic lifecycle story across shell hints, monitoring rows, and canonical detail without overclaiming domain success or orphaned queue state." - 'row "13 + - **Smallest enterprise-capable version**: Align the existing generic lifecycle helpers (`OperationRunFreshnessState`, `OperationRunProgressContract`, `RunDurationInsights`, and `OperationUxPresenter`) and apply the resulting truth to current monitoring and shell surfaces only." [ref=e6404]': - cell [ref=e6405] - cell "13" [ref=e6406]: "13" - cell [ref=e6407] - cell "+" [ref=e6408]: - generic [ref=e6409]: + - 'cell "- **Smallest enterprise-capable version**: Align the existing generic lifecycle helpers (`OperationRunFreshnessState`, `OperationRunProgressContract`, `RunDurationInsights`, and `OperationUxPresenter`) and apply the resulting truth to current monitoring and shell surfaces only." [ref=e6410]': - code [ref=e6411]: "- **Smallest enterprise-capable version**: Align the existing generic lifecycle helpers (`OperationRunFreshnessState`, `OperationRunProgressContract`, `RunDurationInsights`, and `OperationUxPresenter`) and apply the resulting truth to current monitoring and shell surfaces only." - 'row "14 + - **Explicit non-goals**: No new persisted `OperationRun` statuses or outcomes, no queue schema redesign, no new worker-health subsystem, no new notification family, no new adapter framework, no new domain-success reconciliation, no restore/review/backup auto-completion logic, and no destructive action changes." [ref=e6412]': - cell [ref=e6413] - cell "14" [ref=e6414]: "14" - cell [ref=e6415] - cell "+" [ref=e6416]: - generic [ref=e6417]: + - 'cell "- **Explicit non-goals**: No new persisted `OperationRun` statuses or outcomes, no queue schema redesign, no new worker-health subsystem, no new notification family, no new adapter framework, no new domain-success reconciliation, no restore/review/backup auto-completion logic, and no destructive action changes." [ref=e6418]': - code [ref=e6419]: "- **Explicit non-goals**: No new persisted `OperationRun` statuses or outcomes, no queue schema redesign, no new worker-health subsystem, no new notification family, no new adapter framework, no new domain-success reconciliation, no restore/review/backup auto-completion logic, and no destructive action changes." - 'row "15 + - **Permanent complexity imported**: One bounded derived queue-truth path over existing `OperationRun` state, plus focused tests that lock the contract across shared monitoring surfaces." [ref=e6420]': - cell [ref=e6421] - cell "15" [ref=e6422]: "15" - cell [ref=e6423] - cell "+" [ref=e6424]: - generic [ref=e6425]: + - 'cell "- **Permanent complexity imported**: One bounded derived queue-truth path over existing `OperationRun` state, plus focused tests that lock the contract across shared monitoring surfaces." [ref=e6426]': - code [ref=e6427]: "- **Permanent complexity imported**: One bounded derived queue-truth path over existing `OperationRun` state, plus focused tests that lock the contract across shared monitoring surfaces." - 'row "16 + - **Why now**: Historical specs already improved stale visibility and shared progress, but current repo truth still contains contradictory generic wording. This is an active operator-trust gap in currently shipped runtime paths." [ref=e6428]': - cell [ref=e6429] - cell "16" [ref=e6430]: "16" - cell [ref=e6431] - cell "+" [ref=e6432]: - generic [ref=e6433]: + - 'cell "- **Why now**: Historical specs already improved stale visibility and shared progress, but current repo truth still contains contradictory generic wording. This is an active operator-trust gap in currently shipped runtime paths." [ref=e6434]': - code [ref=e6435]: "- **Why now**: Historical specs already improved stale visibility and shared progress, but current repo truth still contains contradictory generic wording. This is an active operator-trust gap in currently shipped runtime paths." - 'row "17 + - **Why not local**: Fixing only one Blade view, one banner, or one detail card would leave the contradiction between progress, freshness, and queue-guidance helpers intact." [ref=e6436]': - cell [ref=e6437] - cell "17" [ref=e6438]: "17" - cell [ref=e6439] - cell "+" [ref=e6440]: - generic [ref=e6441]: + - 'cell "- **Why not local**: Fixing only one Blade view, one banner, or one detail card would leave the contradiction between progress, freshness, and queue-guidance helpers intact." [ref=e6442]': - code [ref=e6443]: "- **Why not local**: Fixing only one Blade view, one banner, or one detail card would leave the contradiction between progress, freshness, and queue-guidance helpers intact." - 'row "18 + - **Approval class**: Core Enterprise" [ref=e6444]': - cell [ref=e6445] - cell "18" [ref=e6446]: "18" - cell [ref=e6447] - cell "+" [ref=e6448]: - generic [ref=e6449]: + - 'cell "- **Approval class**: Core Enterprise" [ref=e6450]': - code [ref=e6451]: "- **Approval class**: Core Enterprise" - 'row "19 + - **Red flags triggered**: shared interaction family, monitoring-state semantics, and possible helper consolidation. Defense: the slice remains derived-only, persistence-free, and narrower than a new reconciliation framework." [ref=e6452]': - cell [ref=e6453] - cell "19" [ref=e6454]: "19" - cell [ref=e6455] - cell "+" [ref=e6456]: - generic [ref=e6457]: + - 'cell "- **Red flags triggered**: shared interaction family, monitoring-state semantics, and possible helper consolidation. Defense: the slice remains derived-only, persistence-free, and narrower than a new reconciliation framework." [ref=e6458]': - code [ref=e6459]: "- **Red flags triggered**: shared interaction family, monitoring-state semantics, and possible helper consolidation. Defense: the slice remains derived-only, persistence-free, and narrower than a new reconciliation framework." - 'row "20 + - **Score**: Nutzen: 2 | Dringlichkeit: 2 | Scope: 2 | Komplexität: 1 | Produktnähe: 2 | Wiederverwendung: 2 | **Gesamt: 11/12**" [ref=e6460]': - cell [ref=e6461] - cell "20" [ref=e6462]: "20" - cell [ref=e6463] - cell "+" [ref=e6464]: - generic [ref=e6465]: + - 'cell "- **Score**: Nutzen: 2 | Dringlichkeit: 2 | Scope: 2 | Komplexität: 1 | Produktnähe: 2 | Wiederverwendung: 2 | **Gesamt: 11/12**" [ref=e6466]': - code [ref=e6467]: "- **Score**: Nutzen: 2 | Dringlichkeit: 2 | Scope: 2 | Komplexität: 1 | Produktnähe: 2 | Wiederverwendung: 2 | **Gesamt: 11/12**" - 'row "21 + - **Decision**: approve" [ref=e6468]': - cell [ref=e6469] - cell "21" [ref=e6470]: "21" - cell [ref=e6471] - cell "+" [ref=e6472]: - generic [ref=e6473]: + - 'cell "- **Decision**: approve" [ref=e6474]': - code [ref=e6475]: "- **Decision**: approve" - row "22 +" [ref=e6476]: - cell [ref=e6477] - cell "22" [ref=e6478]: "22" - cell [ref=e6479] - cell "+" [ref=e6480]: - generic [ref=e6481]: + - cell [ref=e6482]: - code - 'row "23 + ## Repo Truth Reconciliation" [ref=e6483]': - cell [ref=e6484] - cell "23" [ref=e6485]: "23" - cell [ref=e6486] - cell "+" [ref=e6487]: - generic [ref=e6488]: + - cell "## Repo Truth Reconciliation" [ref=e6489]: - code [ref=e6490]: "## Repo Truth Reconciliation" - row "24 +" [ref=e6491]: - cell [ref=e6492] - cell "24" [ref=e6493]: "24" - cell [ref=e6494] - cell "+" [ref=e6495]: - generic [ref=e6496]: + - cell [ref=e6497]: - code - row "25 + The user draft is directionally correct, but current repo truth changes the exact framing:" [ref=e6498]: - cell [ref=e6499] - cell "25" [ref=e6500]: "25" - cell [ref=e6501] - cell "+" [ref=e6502]: - generic [ref=e6503]: + - cell "The user draft is directionally correct, but current repo truth changes the exact framing:" [ref=e6504]: - code [ref=e6505]: "The user draft is directionally correct, but current repo truth changes the exact framing:" - row "26 +" [ref=e6506]: - cell [ref=e6507] - cell "26" [ref=e6508]: "26" - cell [ref=e6509] - cell "+" [ref=e6510]: - generic [ref=e6511]: + - cell [ref=e6512]: - code - 'row "27 + 1. The repo helper advanced to `1000` because `specs/999-seeder-external-id/` already exists, but this package is intentionally finalized as user-requested Spec `358`." [ref=e6513]': - cell [ref=e6514] - cell "27" [ref=e6515]: "27" - cell [ref=e6516] - cell "+" [ref=e6517]: - generic [ref=e6518]: + - 'cell "1. The repo helper advanced to `1000` because `specs/999-seeder-external-id/` already exists, but this package is intentionally finalized as user-requested Spec `358`." [ref=e6519]': - code [ref=e6520]: "1. The repo helper advanced to `1000` because `specs/999-seeder-external-id/` already exists, but this package is intentionally finalized as user-requested Spec `358`." - 'row "28 + 2. Generic stale reconciliation already exists via `TenantpilotReconcileOperationRuns` and `OperationLifecycleReconciler`; adapter-backed reconciliation already exists via `OpsReconcileAdapterRuns` and `AdapterRunReconciler`." [ref=e6521]': - cell [ref=e6522] - cell "28" [ref=e6523]: "28" - cell [ref=e6524] - cell "+" [ref=e6525]: - generic [ref=e6526]: + - 'cell "2. Generic stale reconciliation already exists via `TenantpilotReconcileOperationRuns` and `OperationLifecycleReconciler`; adapter-backed reconciliation already exists via `OpsReconcileAdapterRuns` and `AdapterRunReconciler`." [ref=e6527]': - code [ref=e6528]: "2. Generic stale reconciliation already exists via `TenantpilotReconcileOperationRuns` and `OperationLifecycleReconciler`; adapter-backed reconciliation already exists via `OpsReconcileAdapterRuns` and `AdapterRunReconciler`." - 'row "29 + 3. A shared progress helper already exists via `OperationRunProgressContract`, and Spec 272 already extended its active-progress precedence for phased/composite truth; this spec aligns stale/fresh queue guidance with that current shared contract instead of inventing a new one." [ref=e6529]': - cell [ref=e6530] - cell "29" [ref=e6531]: "29" - cell [ref=e6532] - cell "+" [ref=e6533]: - generic [ref=e6534]: + - 'cell "3. A shared progress helper already exists via `OperationRunProgressContract`, and Spec 272 already extended its active-progress precedence for phased/composite truth; this spec aligns stale/fresh queue guidance with that current shared contract instead of inventing a new one." [ref=e6535]': - code [ref=e6536]: "3. A shared progress helper already exists via `OperationRunProgressContract`, and Spec 272 already extended its active-progress precedence for phased/composite truth; this spec aligns stale/fresh queue guidance with that current shared contract instead of inventing a new one." - 'row "30 + 4. The current canonical Monitoring routes are workspace-scoped: `/admin/workspaces/{workspace}/operations` and `/admin/workspaces/{workspace}/operations/{run}`. `OperationRunResource` remains an implementation seam, not a route-backed surface." [ref=e6537]': - cell [ref=e6538] - cell "30" [ref=e6539]: "30" - cell [ref=e6540] - cell "+" [ref=e6541]: - generic [ref=e6542]: + - 'cell "4. The current canonical Monitoring routes are workspace-scoped: `/admin/workspaces/{workspace}/operations` and `/admin/workspaces/{workspace}/operations/{run}`. `OperationRunResource` remains an implementation seam, not a route-backed surface." [ref=e6543]': - code [ref=e6544]: "4. The current canonical Monitoring routes are workspace-scoped: `/admin/workspaces/{workspace}/operations` and `/admin/workspaces/{workspace}/operations/{run}`. `OperationRunResource` remains an implementation seam, not a route-backed surface." - 'row "31 + 5. No follow-up `Spec 359` promise is recorded here. Any later adapter or domain-success work must be promoted from fresh repo truth rather than pre-allocating a speculative framework sequence." [ref=e6545]': - cell [ref=e6546] - cell "31" [ref=e6547]: "31" - cell [ref=e6548] - cell "+" [ref=e6549]: - generic [ref=e6550]: + - 'cell "5. No follow-up `Spec 359` promise is recorded here. Any later adapter or domain-success work must be promoted from fresh repo truth rather than pre-allocating a speculative framework sequence." [ref=e6551]': - code [ref=e6552]: "5. No follow-up `Spec 359` promise is recorded here. Any later adapter or domain-success work must be promoted from fresh repo truth rather than pre-allocating a speculative framework sequence." - row "32 +" [ref=e6553]: - cell [ref=e6554] - cell "32" [ref=e6555]: "32" - cell [ref=e6556] - cell "+" [ref=e6557]: - generic [ref=e6558]: + - cell [ref=e6559]: - code - 'row "33 + ## Spec Scope Fields *(mandatory)*" [ref=e6560]': - cell [ref=e6561] - cell "33" [ref=e6562]: "33" - cell [ref=e6563] - cell "+" [ref=e6564]: - generic [ref=e6565]: + - cell "## Spec Scope Fields *(mandatory)*" [ref=e6566]: - code [ref=e6567]: "## Spec Scope Fields *(mandatory)*" - row "34 +" [ref=e6568]: - cell [ref=e6569] - cell "34" [ref=e6570]: "34" - cell [ref=e6571] - cell "+" [ref=e6572]: - generic [ref=e6573]: + - cell [ref=e6574]: - code - 'row "35 + - **Scope**: workspace, tenant, canonical-view" [ref=e6575]': - cell [ref=e6576] - cell "35" [ref=e6577]: "35" - cell [ref=e6578] - cell "+" [ref=e6579]: - generic [ref=e6580]: + - 'cell "- **Scope**: workspace, tenant, canonical-view" [ref=e6581]': - code [ref=e6582]: "- **Scope**: workspace, tenant, canonical-view" - row "36 + - **Primary Routes**:" [ref=e6583]: - cell [ref=e6584] - cell "36" [ref=e6585]: "36" - cell [ref=e6586] - cell "+" [ref=e6587]: - generic [ref=e6588]: + - cell "- **Primary Routes**:" [ref=e6589]: - code [ref=e6590]: "- **Primary Routes**:" - 'row "37 + - workspace-admin surfaces that host the shared shell activity hint while an entitled managed environment is active, including current `/admin/workspaces/{workspace}/environments/{environment}/...` starts" [ref=e6591]': - cell [ref=e6592] - cell "37" [ref=e6593]: "37" - cell [ref=e6594] - cell "+" [ref=e6595]: - generic [ref=e6596]: + - 'cell "- workspace-admin surfaces that host the shared shell activity hint while an entitled managed environment is active, including current `/admin/workspaces/{workspace}/environments/{environment}/...` starts" [ref=e6597]': - code [ref=e6598]: "- workspace-admin surfaces that host the shared shell activity hint while an entitled managed environment is active, including current `/admin/workspaces/{workspace}/environments/{environment}/...` starts" - 'row "38 + - `/admin/workspaces/{workspace}/operations`" [ref=e6599]': - cell [ref=e6600] - cell "38" [ref=e6601]: "38" - cell [ref=e6602] - cell "+" [ref=e6603]: - generic [ref=e6604]: + - 'cell "- `/admin/workspaces/{workspace}/operations`" [ref=e6605]': - code [ref=e6606]: "- `/admin/workspaces/{workspace}/operations`" - 'row "39 + - `/admin/workspaces/{workspace}/operations/{run}`" [ref=e6607]': - cell [ref=e6608] - cell "39" [ref=e6609]: "39" - cell [ref=e6610] - cell "+" [ref=e6611]: - generic [ref=e6612]: + - 'cell "- `/admin/workspaces/{workspace}/operations/{run}`" [ref=e6613]': - code [ref=e6614]: "- `/admin/workspaces/{workspace}/operations/{run}`" - 'row "40 + - the current canonical Monitoring surfaces `App\\Filament\\Pages\\Monitoring\\Operations` and `App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`" [ref=e6615]': - cell [ref=e6616] - cell "40" [ref=e6617]: "40" - cell [ref=e6618] - cell "+" [ref=e6619]: - generic [ref=e6620]: + - 'cell "- the current canonical Monitoring surfaces `App\\Filament\\Pages\\Monitoring\\Operations` and `App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`" [ref=e6621]': - code [ref=e6622]: "- the current canonical Monitoring surfaces `App\\Filament\\Pages\\Monitoring\\Operations` and `App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`" - row "41 + - **Data Ownership**:" [ref=e6623]: - cell [ref=e6624] - cell "41" [ref=e6625]: "41" - cell [ref=e6626] - cell "+" [ref=e6627]: - generic [ref=e6628]: + - cell "- **Data Ownership**:" [ref=e6629]: - code [ref=e6630]: "- **Data Ownership**:" - 'row "42 + - `operation_runs` remain the only lifecycle and freshness source of truth" [ref=e6631]': - cell [ref=e6632] - cell "42" [ref=e6633]: "42" - cell [ref=e6634] - cell "+" [ref=e6635]: - generic [ref=e6636]: + - 'cell "- `operation_runs` remain the only lifecycle and freshness source of truth" [ref=e6637]': - code [ref=e6638]: "- `operation_runs` remain the only lifecycle and freshness source of truth" - 'row "43 + - `OperationRun` context remains the only place where legitimacy or reconciliation evidence may already exist" [ref=e6639]': - cell [ref=e6640] - cell "43" [ref=e6641]: "43" - cell [ref=e6642] - cell "+" [ref=e6643]: - generic [ref=e6644]: + - 'cell "- `OperationRun` context remains the only place where legitimacy or reconciliation evidence may already exist" [ref=e6645]': - code [ref=e6646]: "- `OperationRun` context remains the only place where legitimacy or reconciliation evidence may already exist" - row "44 + - no new persisted queue-truth mirror, no new audit artifact, and no new worker-health record are introduced" [ref=e6647]: - cell [ref=e6648] - cell "44" [ref=e6649]: "44" - cell [ref=e6650] - cell "+" [ref=e6651]: - generic [ref=e6652]: + - cell "- no new persisted queue-truth mirror, no new audit artifact, and no new worker-health record are introduced" [ref=e6653]: - code [ref=e6654]: "- no new persisted queue-truth mirror, no new audit artifact, and no new worker-health record are introduced" - row "45 + - **RBAC**:" [ref=e6655]: - cell [ref=e6656] - cell "45" [ref=e6657]: "45" - cell [ref=e6658] - cell "+" [ref=e6659]: - generic [ref=e6660]: + - cell "- **RBAC**:" [ref=e6661]: - code [ref=e6662]: "- **RBAC**:" - row "46 + - existing workspace and managed-environment entitlement rules remain authoritative" [ref=e6663]: - cell [ref=e6664] - cell "46" [ref=e6665]: "46" - cell [ref=e6666] - cell "+" [ref=e6667]: - generic [ref=e6668]: + - cell "- existing workspace and managed-environment entitlement rules remain authoritative" [ref=e6669]: - code [ref=e6670]: "- existing workspace and managed-environment entitlement rules remain authoritative" - 'row "47 + - non-members and out-of-scope actors remain `404`" [ref=e6671]': - cell [ref=e6672] - cell "47" [ref=e6673]: "47" - cell [ref=e6674] - cell "+" [ref=e6675]: - generic [ref=e6676]: + - 'cell "- non-members and out-of-scope actors remain `404`" [ref=e6677]': - code [ref=e6678]: "- non-members and out-of-scope actors remain `404`" - row "48 + - this spec changes wording and derived presentation only; it does not widen access or add new capability strings" [ref=e6679]: - cell [ref=e6680] - cell "48" [ref=e6681]: "48" - cell [ref=e6682] - cell "+" [ref=e6683]: - generic [ref=e6684]: + - cell "- this spec changes wording and derived presentation only; it does not widen access or add new capability strings" [ref=e6685]: - code [ref=e6686]: "- this spec changes wording and derived presentation only; it does not widen access or add new capability strings" - row "49 +" [ref=e6687]: - cell [ref=e6688] - cell "49" [ref=e6689]: "49" - cell [ref=e6690] - cell "+" [ref=e6691]: - generic [ref=e6692]: + - cell [ref=e6693]: - code - row "50 + For canonical-view specs, the spec MUST define:" [ref=e6694]: - cell [ref=e6695] - cell "50" [ref=e6696]: "50" - cell [ref=e6697] - cell "+" [ref=e6698]: - generic [ref=e6699]: + - cell "For canonical-view specs, the spec MUST define:" [ref=e6700]: - code [ref=e6701]: "For canonical-view specs, the spec MUST define:" - row "51 +" [ref=e6702]: - cell [ref=e6703] - cell "51" [ref=e6704]: "51" - cell [ref=e6705] - cell "+" [ref=e6706]: - generic [ref=e6707]: + - cell [ref=e6708]: - code - 'row "52 + - **Default filter behavior when tenant-context is active**: Existing environment-prefilter and page-state behavior on `/admin/workspaces/{workspace}/operations` remain unchanged. This spec changes queue truth, not monitoring state ownership." [ref=e6709]': - cell [ref=e6710] - cell "52" [ref=e6711]: "52" - cell [ref=e6712] - cell "+" [ref=e6713]: - generic [ref=e6714]: + - 'cell "- **Default filter behavior when tenant-context is active**: Existing environment-prefilter and page-state behavior on `/admin/workspaces/{workspace}/operations` remain unchanged. This spec changes queue truth, not monitoring state ownership." [ref=e6715]': - code [ref=e6716]: "- **Default filter behavior when tenant-context is active**: Existing environment-prefilter and page-state behavior on `/admin/workspaces/{workspace}/operations` remain unchanged. This spec changes queue truth, not monitoring state ownership." - 'row "53 + - **Explicit entitlement checks preventing cross-tenant leakage**: Derived stale/queued guidance must use only runs the actor is already authorized to view. No new wording may reveal hidden tenant scope or hidden run existence." [ref=e6717]': - cell [ref=e6718] - cell "53" [ref=e6719]: "53" - cell [ref=e6720] - cell "+" [ref=e6721]: - generic [ref=e6722]: + - 'cell "- **Explicit entitlement checks preventing cross-tenant leakage**: Derived stale/queued guidance must use only runs the actor is already authorized to view. No new wording may reveal hidden tenant scope or hidden run existence." [ref=e6723]': - code [ref=e6724]: "- **Explicit entitlement checks preventing cross-tenant leakage**: Derived stale/queued guidance must use only runs the actor is already authorized to view. No new wording may reveal hidden tenant scope or hidden run existence." - row "54 +" [ref=e6725]: - cell [ref=e6726] - cell "54" [ref=e6727]: "54" - cell [ref=e6728] - cell "+" [ref=e6729]: - generic [ref=e6730]: + - cell [ref=e6731]: - code - 'row "55 + ## UI Surface Impact *(mandatory — UI-COV-001)*" [ref=e6732]': - cell [ref=e6733] - cell "55" [ref=e6734]: "55" - cell [ref=e6735] - cell "+" [ref=e6736]: - generic [ref=e6737]: + - cell "## UI Surface Impact *(mandatory — UI-COV-001)*" [ref=e6738]: - code [ref=e6739]: "## UI Surface Impact *(mandatory — UI-COV-001)*" - row "56 +" [ref=e6740]: - cell [ref=e6741] - cell "56" [ref=e6742]: "56" - cell [ref=e6743] - cell "+" [ref=e6744]: - generic [ref=e6745]: + - cell [ref=e6746]: - code - row "57 + - [ ] No UI surface impact" [ref=e6747]: - cell [ref=e6748] - cell "57" [ref=e6749]: "57" - cell [ref=e6750] - cell "+" [ref=e6751]: - generic [ref=e6752]: + - cell "- [ ] No UI surface impact" [ref=e6753]: - code [ref=e6754]: "- [ ] No UI surface impact" - row "58 + - [x] Existing page changed" [ref=e6755]: - cell [ref=e6756] - cell "58" [ref=e6757]: "58" - cell [ref=e6758] - cell "+" [ref=e6759]: - generic [ref=e6760]: + - cell "- [x] Existing page changed" [ref=e6761]: - code [ref=e6762]: "- [x] Existing page changed" - row "59 + - [ ] New page/route added" [ref=e6763]: - cell [ref=e6764] - cell "59" [ref=e6765]: "59" - cell [ref=e6766] - cell "+" [ref=e6767]: - generic [ref=e6768]: + - cell "- [ ] New page/route added" [ref=e6769]: - code [ref=e6770]: "- [ ] New page/route added" - row "60 + - [ ] Navigation changed" [ref=e6771]: - cell [ref=e6772] - cell "60" [ref=e6773]: "60" - cell [ref=e6774] - cell "+" [ref=e6775]: - generic [ref=e6776]: + - cell "- [ ] Navigation changed" [ref=e6777]: - code [ref=e6778]: "- [ ] Navigation changed" - row "61 + - [ ] Filament panel/provider surface changed" [ref=e6779]: - cell [ref=e6780] - cell "61" [ref=e6781]: "61" - cell [ref=e6782] - cell "+" [ref=e6783]: - generic [ref=e6784]: + - cell "- [ ] Filament panel/provider surface changed" [ref=e6785]: - code [ref=e6786]: "- [ ] Filament panel/provider surface changed" - row "62 + - [ ] New modal/drawer/wizard/action added" [ref=e6787]: - cell [ref=e6788] - cell "62" [ref=e6789]: "62" - cell [ref=e6790] - cell "+" [ref=e6791]: - generic [ref=e6792]: + - cell "- [ ] New modal/drawer/wizard/action added" [ref=e6793]: - code [ref=e6794]: "- [ ] New modal/drawer/wizard/action added" - row "63 + - [ ] New table/form/state added" [ref=e6795]: - cell [ref=e6796] - cell "63" [ref=e6797]: "63" - cell [ref=e6798] - cell "+" [ref=e6799]: - generic [ref=e6800]: + - cell "- [ ] New table/form/state added" [ref=e6801]: - code [ref=e6802]: "- [ ] New table/form/state added" - row "64 + - [ ] Customer-facing surface changed" [ref=e6803]: - cell [ref=e6804] - cell "64" [ref=e6805]: "64" - cell [ref=e6806] - cell "+" [ref=e6807]: - generic [ref=e6808]: + - cell "- [ ] Customer-facing surface changed" [ref=e6809]: - code [ref=e6810]: "- [ ] Customer-facing surface changed" - row "65 + - [ ] Dangerous action changed" [ref=e6811]: - cell [ref=e6812] - cell "65" [ref=e6813]: "65" - cell [ref=e6814] - cell "+" [ref=e6815]: - generic [ref=e6816]: + - cell "- [ ] Dangerous action changed" [ref=e6817]: - code [ref=e6818]: "- [ ] Dangerous action changed" - row "66 + - [x] Status/evidence/review presentation changed" [ref=e6819]: - cell [ref=e6820] - cell "66" [ref=e6821]: "66" - cell [ref=e6822] - cell "+" [ref=e6823]: - generic [ref=e6824]: + - cell "- [x] Status/evidence/review presentation changed" [ref=e6825]: - code [ref=e6826]: "- [x] Status/evidence/review presentation changed" - row "67 + - [x] Workspace/environment context presentation changed" [ref=e6827]: - cell [ref=e6828] - cell "67" [ref=e6829]: "67" - cell [ref=e6830] - cell "+" [ref=e6831]: - generic [ref=e6832]: + - cell "- [x] Workspace/environment context presentation changed" [ref=e6833]: - code [ref=e6834]: "- [x] Workspace/environment context presentation changed" - row "68 +" [ref=e6835]: - cell [ref=e6836] - cell "68" [ref=e6837]: "68" - cell [ref=e6838] - cell "+" [ref=e6839]: - generic [ref=e6840]: + - cell [ref=e6841]: - code - 'row "69 + ## UI/Productization Coverage *(mandatory when UI Surface Impact is not \"No UI surface impact\")*" [ref=e6842]': - cell [ref=e6843] - cell "69" [ref=e6844]: "69" - cell [ref=e6845] - cell "+" [ref=e6846]: - generic [ref=e6847]: + - cell "## UI/Productization Coverage *(mandatory when UI Surface Impact is not \"No UI surface impact\")*" [ref=e6848]: - code [ref=e6849]: "## UI/Productization Coverage *(mandatory when UI Surface Impact is not \"No UI surface impact\")*" - row "70 +" [ref=e6850]: - cell [ref=e6851] - cell "70" [ref=e6852]: "70" - cell [ref=e6853] - cell "+" [ref=e6854]: - generic [ref=e6855]: + - cell [ref=e6856]: - code - row "71 + - **Route/page/surface**:" [ref=e6857]: - cell [ref=e6858] - cell "71" [ref=e6859]: "71" - cell [ref=e6860] - cell "+" [ref=e6861]: - generic [ref=e6862]: + - cell "- **Route/page/surface**:" [ref=e6863]: - code [ref=e6864]: "- **Route/page/surface**:" - 'row "72 + - tenant shell activity hint (`BulkOperationProgress`)" [ref=e6865]': - cell [ref=e6866] - cell "72" [ref=e6867]: "72" - cell [ref=e6868] - cell "+" [ref=e6869]: - generic [ref=e6870]: + - 'cell "- tenant shell activity hint (`BulkOperationProgress`)" [ref=e6871]': - code [ref=e6872]: "- tenant shell activity hint (`BulkOperationProgress`)" - 'row "73 + - workspace operations hub (`App\\Filament\\Pages\\Monitoring\\Operations`) at `/admin/workspaces/{workspace}/operations`" [ref=e6873]': - cell [ref=e6874] - cell "73" [ref=e6875]: "73" - cell [ref=e6876] - cell "+" [ref=e6877]: - generic [ref=e6878]: + - 'cell "- workspace operations hub (`App\\Filament\\Pages\\Monitoring\\Operations`) at `/admin/workspaces/{workspace}/operations`" [ref=e6879]': - code [ref=e6880]: "- workspace operations hub (`App\\Filament\\Pages\\Monitoring\\Operations`) at `/admin/workspaces/{workspace}/operations`" - 'row "74 + - canonical operation detail (`App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`) at `/admin/workspaces/{workspace}/operations/{run}`" [ref=e6881]': - cell [ref=e6882] - cell "74" [ref=e6883]: "74" - cell [ref=e6884] - cell "+" [ref=e6885]: - generic [ref=e6886]: + - 'cell "- canonical operation detail (`App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`) at `/admin/workspaces/{workspace}/operations/{run}`" [ref=e6887]': - code [ref=e6888]: "- canonical operation detail (`App\\Filament\\Pages\\Operations\\TenantlessOperationRunViewer`) at `/admin/workspaces/{workspace}/operations/{run}`" - 'row "75 + - shared implementation seam only: `App\\Filament\\Resources\\OperationRunResource` for the reused table/detail payload contract" [ref=e6889]': - cell [ref=e6890] - cell "75" [ref=e6891]: "75" - cell [ref=e6892] - cell "+" [ref=e6893]: - generic [ref=e6894]: + - 'cell "- shared implementation seam only: `App\\Filament\\Resources\\OperationRunResource` for the reused table/detail payload contract" [ref=e6895]': - code [ref=e6896]: "- shared implementation seam only: `App\\Filament\\Resources\\OperationRunResource` for the reused table/detail payload contract" - 'row "76 + - **Current or new page archetype**: existing monitoring/workbench family only" [ref=e6897]': - cell [ref=e6898] - cell "76" [ref=e6899]: "76" - cell [ref=e6900] - cell "+" [ref=e6901]: - generic [ref=e6902]: + - 'cell "- **Current or new page archetype**: existing monitoring/workbench family only" [ref=e6903]': - code [ref=e6904]: "- **Current or new page archetype**: existing monitoring/workbench family only" - 'row "77 + - **Design depth**: Domain Pattern Surface" [ref=e6905]': - cell [ref=e6906] - cell "77" [ref=e6907]: "77" - cell [ref=e6908] - cell "+" [ref=e6909]: - generic [ref=e6910]: + - 'cell "- **Design depth**: Domain Pattern Surface" [ref=e6911]': - code [ref=e6912]: "- **Design depth**: Domain Pattern Surface" - 'row "78 + - **Repo-truth level**: repo-verified" [ref=e6913]': - cell [ref=e6914] - cell "78" [ref=e6915]: "78" - cell [ref=e6916] - cell "+" [ref=e6917]: - generic [ref=e6918]: + - 'cell "- **Repo-truth level**: repo-verified" [ref=e6919]': - code [ref=e6920]: "- **Repo-truth level**: repo-verified" - 'row "79 + - **Existing pattern reused**: current `OperationRun` monitoring family, current shell activity hint, current monitoring detail banners" [ref=e6921]': - cell [ref=e6922] - cell "79" [ref=e6923]: "79" - cell [ref=e6924] - cell "+" [ref=e6925]: - generic [ref=e6926]: + - 'cell "- **Existing pattern reused**: current `OperationRun` monitoring family, current shell activity hint, current monitoring detail banners" [ref=e6927]': - code [ref=e6928]: "- **Existing pattern reused**: current `OperationRun` monitoring family, current shell activity hint, current monitoring detail banners" - 'row "80 + - **New pattern required**: none; this is a truth-alignment follow-up within the existing pattern family" [ref=e6929]': - cell [ref=e6930] - cell "80" [ref=e6931]: "80" - cell [ref=e6932] - cell "+" [ref=e6933]: - generic [ref=e6934]: + - 'cell "- **New pattern required**: none; this is a truth-alignment follow-up within the existing pattern family" [ref=e6935]': - code [ref=e6936]: "- **New pattern required**: none; this is a truth-alignment follow-up within the existing pattern family" - 'row "81 + - **Screenshot required**: no; the slice corrects shared wording/derived truth inside existing monitoring surfaces" [ref=e6937]': - cell [ref=e6938] - cell "81" [ref=e6939]: "81" - cell [ref=e6940] - cell "+" [ref=e6941]: - generic [ref=e6942]: + - 'cell "- **Screenshot required**: no; the slice corrects shared wording/derived truth inside existing monitoring surfaces" [ref=e6943]': - code [ref=e6944]: "- **Screenshot required**: no; the slice corrects shared wording/derived truth inside existing monitoring surfaces" - 'row "82 + - **Page audit required**: no new page-report identity; existing monitoring family coverage is sufficient" [ref=e6945]': - cell [ref=e6946] - cell "82" [ref=e6947]: "82" - cell [ref=e6948] - cell "+" [ref=e6949]: - generic [ref=e6950]: + - 'cell "- **Page audit required**: no new page-report identity; existing monitoring family coverage is sufficient" [ref=e6951]': - code [ref=e6952]: "- **Page audit required**: no new page-report identity; existing monitoring family coverage is sufficient" - 'row "83 + - **Customer-safe review required**: no; operator-only monitoring surfaces" [ref=e6953]': - cell [ref=e6954] - cell "83" [ref=e6955]: "83" - cell [ref=e6956] - cell "+" [ref=e6957]: - generic [ref=e6958]: + - 'cell "- **Customer-safe review required**: no; operator-only monitoring surfaces" [ref=e6959]': - code [ref=e6960]: "- **Customer-safe review required**: no; operator-only monitoring surfaces" - 'row "84 + - **Dangerous-action review required**: no; no action hierarchy or destructive behavior changes" [ref=e6961]': - cell [ref=e6962] - cell "84" [ref=e6963]: "84" - cell [ref=e6964] - cell "+" [ref=e6965]: - generic [ref=e6966]: + - 'cell "- **Dangerous-action review required**: no; no action hierarchy or destructive behavior changes" [ref=e6967]': - code [ref=e6968]: "- **Dangerous-action review required**: no; no action hierarchy or destructive behavior changes" - 'row "85 + - **Coverage files updated or explicitly not needed**: no new coverage file is required because the existing monitoring-family anchors already cover the touched reachable surfaces: `docs/ui-ux-enterprise-audit/route-inventory.md` (`UI-016`, `UI-017`), `docs/ui-ux-enterprise-audit/page-reports/ui-003-operations.md`, `docs/ui-ux-enterprise-audit/strategic-surfaces.md`, and `specs/313-workspace-environment-context-browser-verification/surface-inventory.md`" [ref=e6969]': - cell [ref=e6970] - cell "85" [ref=e6971]: "85" - cell [ref=e6972] - cell "+" [ref=e6973]: - generic [ref=e6974]: + - 'cell "- **Coverage files updated or explicitly not needed**: no new coverage file is required because the existing monitoring-family anchors already cover the touched reachable surfaces: `docs/ui-ux-enterprise-audit/route-inventory.md` (`UI-016`, `UI-017`), `docs/ui-ux-enterprise-audit/page-reports/ui-003-operations.md`, `docs/ui-ux-enterprise-audit/strategic-surfaces.md`, and `specs/313-workspace-environment-context-browser-verification/surface-inventory.md`" [ref=e6975]': - code [ref=e6976]: "- **Coverage files updated or explicitly not needed**: no new coverage file is required because the existing monitoring-family anchors already cover the touched reachable surfaces: `docs/ui-ux-enterprise-audit/route-inventory.md` (`UI-016`, `UI-017`), `docs/ui-ux-enterprise-audit/page-reports/ui-003-operations.md`, `docs/ui-ux-enterprise-audit/strategic-surfaces.md`, and `specs/313-workspace-environment-context-browser-verification/surface-inventory.md`" - 'row "86 + - **No-impact rationale when applicable**: N/A" [ref=e6977]': - cell [ref=e6978] - cell "86" [ref=e6979]: "86" - cell [ref=e6980] - cell "+" [ref=e6981]: - generic [ref=e6982]: + - 'cell "- **No-impact rationale when applicable**: N/A" [ref=e6983]': - code [ref=e6984]: "- **No-impact rationale when applicable**: N/A" - row "87 +" [ref=e6985]: - cell [ref=e6986] - cell "87" [ref=e6987]: "87" - cell [ref=e6988] - cell "+" [ref=e6989]: - generic [ref=e6990]: + - cell [ref=e6991]: - code - 'row "88 + ## Cross-Cutting / Shared Pattern Reuse *(mandatory)*" [ref=e6992]': - cell [ref=e6993] - cell "88" [ref=e6994]: "88" - cell [ref=e6995] - cell "+" [ref=e6996]: - generic [ref=e6997]: + - cell "## Cross-Cutting / Shared Pattern Reuse *(mandatory)*" [ref=e6998]: - code [ref=e6999]: "## Cross-Cutting / Shared Pattern Reuse *(mandatory)*" - row "89 +" [ref=e7000]: - cell [ref=e7001] - cell "89" [ref=e7002]: "89" - cell [ref=e7003] - cell "+" [ref=e7004]: - generic [ref=e7005]: + - cell [ref=e7006]: - code - 'row "90 + - **Cross-cutting feature?**: yes" [ref=e7007]': - cell [ref=e7008] - cell "90" [ref=e7009]: "90" - cell [ref=e7010] - cell "+" [ref=e7011]: - generic [ref=e7012]: + - 'cell "- **Cross-cutting feature?**: yes" [ref=e7013]': - code [ref=e7014]: "- **Cross-cutting feature?**: yes" - 'row "91 + - **Interaction class(es)**: status messaging, queue/progress guidance, monitoring detail guidance, shell active-work hint" [ref=e7015]': - cell [ref=e7016] - cell "91" [ref=e7017]: "91" - cell [ref=e7018] - cell "+" [ref=e7019]: - generic [ref=e7020]: + - 'cell "- **Interaction class(es)**: status messaging, queue/progress guidance, monitoring detail guidance, shell active-work hint" [ref=e7021]': - code [ref=e7022]: "- **Interaction class(es)**: status messaging, queue/progress guidance, monitoring detail guidance, shell active-work hint" - row "92 + - **Systems touched**:" [ref=e7023]: - cell [ref=e7024] - cell "92" [ref=e7025]: "92" - cell [ref=e7026] - cell "+" [ref=e7027]: - generic [ref=e7028]: + - cell "- **Systems touched**:" [ref=e7029]: - code [ref=e7030]: "- **Systems touched**:" - 'row "93 + - `OperationRunFreshnessState`" [ref=e7031]': - cell [ref=e7032] - cell "93" [ref=e7033]: "93" - cell [ref=e7034] - cell "+" [ref=e7035]: - generic [ref=e7036]: + - 'cell "- `OperationRunFreshnessState`" [ref=e7037]': - code [ref=e7038]: "- `OperationRunFreshnessState`" - 'row "94 + - `OperationRunProgressContract`" [ref=e7039]': - cell [ref=e7040] - cell "94" [ref=e7041]: "94" - cell [ref=e7042] - cell "+" [ref=e7043]: - generic [ref=e7044]: + - 'cell "- `OperationRunProgressContract`" [ref=e7045]': - code [ref=e7046]: "- `OperationRunProgressContract`" - 'row "95 + - `RunDurationInsights`" [ref=e7047]': - cell [ref=e7048] - cell "95" [ref=e7049]: "95" - cell [ref=e7050] - cell "+" [ref=e7051]: - generic [ref=e7052]: + - 'cell "- `RunDurationInsights`" [ref=e7053]': - code [ref=e7054]: "- `RunDurationInsights`" - 'row "96 + - `OperationUxPresenter`" [ref=e7055]': - cell [ref=e7056] - cell "96" [ref=e7057]: "96" - cell [ref=e7058] - cell "+" [ref=e7059]: - generic [ref=e7060]: + - 'cell "- `OperationUxPresenter`" [ref=e7061]': - code [ref=e7062]: "- `OperationUxPresenter`" - row "97 + - current shell banner and canonical monitoring/detail surfaces" [ref=e7063]: - cell [ref=e7064] - cell "97" [ref=e7065]: "97" - cell [ref=e7066] - cell "+" [ref=e7067]: - generic [ref=e7068]: + - cell "- current shell banner and canonical monitoring/detail surfaces" [ref=e7069]: - code [ref=e7070]: "- current shell banner and canonical monitoring/detail surfaces" - 'row "98 + - **Existing pattern(s) to extend**: current lifecycle policy, freshness derivation, the Spec-270/272 shared progress contract, monitoring detail banner, and shared run-link/presenter paths" [ref=e7071]': - cell [ref=e7072] - cell "98" [ref=e7073]: "98" - cell [ref=e7074] - cell "+" [ref=e7075]: - generic [ref=e7076]: + - 'cell "- **Existing pattern(s) to extend**: current lifecycle policy, freshness derivation, the Spec-270/272 shared progress contract, monitoring detail banner, and shared run-link/presenter paths" [ref=e7077]': - code [ref=e7078]: "- **Existing pattern(s) to extend**: current lifecycle policy, freshness derivation, the Spec-270/272 shared progress contract, monitoring detail banner, and shared run-link/presenter paths" - 'row "99 + - **Shared contract / presenter / builder / renderer to reuse**: `OperationRunProgressContract`, `OperationUxPresenter`, `OperationRunFreshnessState`, and current monitoring/view renderer paths" [ref=e7079]': - cell [ref=e7080] - cell "99" [ref=e7081]: "99" - cell [ref=e7082] - cell "+" [ref=e7083]: - generic [ref=e7084]: + - 'cell "- **Shared contract / presenter / builder / renderer to reuse**: `OperationRunProgressContract`, `OperationUxPresenter`, `OperationRunFreshnessState`, and current monitoring/view renderer paths" [ref=e7085]': - code [ref=e7086]: "- **Shared contract / presenter / builder / renderer to reuse**: `OperationRunProgressContract`, `OperationUxPresenter`, `OperationRunFreshnessState`, and current monitoring/view renderer paths" - 'row "100 + - **Why the existing shared path is sufficient or insufficient**: The repo already has the right ownership boundaries, but the generic queue truth is split across multiple helpers that can disagree in wording and emphasis." [ref=e7087]': - cell [ref=e7088] - cell "100" [ref=e7089]: "100" - cell [ref=e7090] - cell "+" [ref=e7091]: - generic [ref=e7092]: + - 'cell "- **Why the existing shared path is sufficient or insufficient**: The repo already has the right ownership boundaries, but the generic queue truth is split across multiple helpers that can disagree in wording and emphasis." [ref=e7093]': - code [ref=e7094]: "- **Why the existing shared path is sufficient or insufficient**: The repo already has the right ownership boundaries, but the generic queue truth is split across multiple helpers that can disagree in wording and emphasis." - 'row "101 + - **Allowed deviation and why**: none by default; if one tiny helper is required to keep existing presenters reviewable, it must remain local to current Ops UX truth and must not become an adapter registry" [ref=e7095]': - cell [ref=e7096] - cell "101" [ref=e7097]: "101" - cell [ref=e7098] - cell "+" [ref=e7099]: - generic [ref=e7100]: + - 'cell "- **Allowed deviation and why**: none by default; if one tiny helper is required to keep existing presenters reviewable, it must remain local to current Ops UX truth and must not become an adapter registry" [ref=e7101]': - code [ref=e7102]: "- **Allowed deviation and why**: none by default; if one tiny helper is required to keep existing presenters reviewable, it must remain local to current Ops UX truth and must not become an adapter registry" - 'row "102 + - **Consistency impact**: queued/running/stale wording, progress availability, lifecycle attention, and detail guidance must remain aligned across shell, list, and canonical detail" [ref=e7103]': - cell [ref=e7104] - cell "102" [ref=e7105]: "102" - cell [ref=e7106] - cell "+" [ref=e7107]: - generic [ref=e7108]: + - 'cell "- **Consistency impact**: queued/running/stale wording, progress availability, lifecycle attention, and detail guidance must remain aligned across shell, list, and canonical detail" [ref=e7109]': - code [ref=e7110]: "- **Consistency impact**: queued/running/stale wording, progress availability, lifecycle attention, and detail guidance must remain aligned across shell, list, and canonical detail" - 'row "103 + - **Review focus**: no surface may reassure with ordinary queue copy after freshness has already escalated the same active run to stale attention" [ref=e7111]': - cell [ref=e7112] - cell "103" [ref=e7113]: "103" - cell [ref=e7114] - cell "+" [ref=e7115]: - generic [ref=e7116]: + - 'cell "- **Review focus**: no surface may reassure with ordinary queue copy after freshness has already escalated the same active run to stale attention" [ref=e7117]': - code [ref=e7118]: "- **Review focus**: no surface may reassure with ordinary queue copy after freshness has already escalated the same active run to stale attention" - row "104 +" [ref=e7119]: - cell [ref=e7120] - cell "104" [ref=e7121]: "104" - cell [ref=e7122] - cell "+" [ref=e7123]: - generic [ref=e7124]: + - cell [ref=e7125]: - code - 'row "105 + ## OperationRun UX Impact *(mandatory)*" [ref=e7126]': - cell [ref=e7127] - cell "105" [ref=e7128]: "105" - cell [ref=e7129] - cell "+" [ref=e7130]: - generic [ref=e7131]: + - cell "## OperationRun UX Impact *(mandatory)*" [ref=e7132]: - code [ref=e7133]: "## OperationRun UX Impact *(mandatory)*" - row "106 +" [ref=e7134]: - cell [ref=e7135] - cell "106" [ref=e7136]: "106" - cell [ref=e7137] - cell "+" [ref=e7138]: - generic [ref=e7139]: + - cell [ref=e7140]: - code - 'row "107 + - **Touches OperationRun start/completion/link UX?**: yes, reuse-only" [ref=e7141]': - cell [ref=e7142] - cell "107" [ref=e7143]: "107" - cell [ref=e7144] - cell "+" [ref=e7145]: - generic [ref=e7146]: + - 'cell "- **Touches OperationRun start/completion/link UX?**: yes, reuse-only" [ref=e7147]': - code [ref=e7148]: "- **Touches OperationRun start/completion/link UX?**: yes, reuse-only" - 'row "108 + - **Shared OperationRun UX contract/layer reused**: current `OperationRun` link, freshness, presenter, and progress helper paths" [ref=e7149]': - cell [ref=e7150] - cell "108" [ref=e7151]: "108" - cell [ref=e7152] - cell "+" [ref=e7153]: - generic [ref=e7154]: + - 'cell "- **Shared OperationRun UX contract/layer reused**: current `OperationRun` link, freshness, presenter, and progress helper paths" [ref=e7155]': - code [ref=e7156]: "- **Shared OperationRun UX contract/layer reused**: current `OperationRun` link, freshness, presenter, and progress helper paths" - 'row "109 + - **Delegated start/completion UX behaviors**: existing queued toasts, canonical run links, browser events, and terminal notification paths remain unchanged" [ref=e7157]': - cell [ref=e7158] - cell "109" [ref=e7159]: "109" - cell [ref=e7160] - cell "+" [ref=e7161]: - generic [ref=e7162]: + - 'cell "- **Delegated start/completion UX behaviors**: existing queued toasts, canonical run links, browser events, and terminal notification paths remain unchanged" [ref=e7163]': - code [ref=e7164]: "- **Delegated start/completion UX behaviors**: existing queued toasts, canonical run links, browser events, and terminal notification paths remain unchanged" - 'row "110 + - **Local surface-owned behavior that remains**: density and placement only" [ref=e7165]': - cell [ref=e7166] - cell "110" [ref=e7167]: "110" - cell [ref=e7168] - cell "+" [ref=e7169]: - generic [ref=e7170]: + - 'cell "- **Local surface-owned behavior that remains**: density and placement only" [ref=e7171]': - code [ref=e7172]: "- **Local surface-owned behavior that remains**: density and placement only" - 'row "111 + - **Queued DB-notification policy**: unchanged" [ref=e7173]': - cell [ref=e7174] - cell "111" [ref=e7175]: "111" - cell [ref=e7176] - cell "+" [ref=e7177]: - generic [ref=e7178]: + - 'cell "- **Queued DB-notification policy**: unchanged" [ref=e7179]': - code [ref=e7180]: "- **Queued DB-notification policy**: unchanged" - 'row "112 + - **Terminal notification path**: unchanged central lifecycle mechanism" [ref=e7181]': - cell [ref=e7182] - cell "112" [ref=e7183]: "112" - cell [ref=e7184] - cell "+" [ref=e7185]: - generic [ref=e7186]: + - 'cell "- **Terminal notification path**: unchanged central lifecycle mechanism" [ref=e7187]': - code [ref=e7188]: "- **Terminal notification path**: unchanged central lifecycle mechanism" - 'row "113 + - **Exception required?**: none" [ref=e7189]': - cell [ref=e7190] - cell "113" [ref=e7191]: "113" - cell [ref=e7192] - cell "+" [ref=e7193]: - generic [ref=e7194]: + - 'cell "- **Exception required?**: none" [ref=e7195]': - code [ref=e7196]: "- **Exception required?**: none" - row "114 +" [ref=e7197]: - cell [ref=e7198] - cell "114" [ref=e7199]: "114" - cell [ref=e7200] - cell "+" [ref=e7201]: - generic [ref=e7202]: + - cell [ref=e7203]: - code - 'row "115 + ## Provider Boundary / Platform Core Check *(mandatory)*" [ref=e7204]': - cell [ref=e7205] - cell "115" [ref=e7206]: "115" - cell [ref=e7207] - cell "+" [ref=e7208]: - generic [ref=e7209]: + - cell "## Provider Boundary / Platform Core Check *(mandatory)*" [ref=e7210]: - code [ref=e7211]: "## Provider Boundary / Platform Core Check *(mandatory)*" - row "116 +" [ref=e7212]: - cell [ref=e7213] - cell "116" [ref=e7214]: "116" - cell [ref=e7215] - cell "+" [ref=e7216]: - generic [ref=e7217]: + - cell [ref=e7218]: - code - 'row "117 + - **Shared provider/platform boundary touched?**: no" [ref=e7219]': - cell [ref=e7220] - cell "117" [ref=e7221]: "117" - cell [ref=e7222] - cell "+" [ref=e7223]: - generic [ref=e7224]: + - 'cell "- **Shared provider/platform boundary touched?**: no" [ref=e7225]': - code [ref=e7226]: "- **Shared provider/platform boundary touched?**: no" - 'row "118 + - **Boundary classification**: N/A" [ref=e7227]': - cell [ref=e7228] - cell "118" [ref=e7229]: "118" - cell [ref=e7230] - cell "+" [ref=e7231]: - generic [ref=e7232]: + - 'cell "- **Boundary classification**: N/A" [ref=e7233]': - code [ref=e7234]: "- **Boundary classification**: N/A" - 'row "119 + - **Seams affected**: N/A" [ref=e7235]': - cell [ref=e7236] - cell "119" [ref=e7237]: "119" - cell [ref=e7238] - cell "+" [ref=e7239]: - generic [ref=e7240]: + - 'cell "- **Seams affected**: N/A" [ref=e7241]': - code [ref=e7242]: "- **Seams affected**: N/A" - 'row "120 + - **Neutral platform terms preserved or introduced**: `operation`, `queued`, `running`, `lifecycle window`, `review worker health`" [ref=e7243]': - cell [ref=e7244] - cell "120" [ref=e7245]: "120" - cell [ref=e7246] - cell "+" [ref=e7247]: - generic [ref=e7248]: + - 'cell "- **Neutral platform terms preserved or introduced**: `operation`, `queued`, `running`, `lifecycle window`, `review worker health`" [ref=e7249]': - code [ref=e7250]: "- **Neutral platform terms preserved or introduced**: `operation`, `queued`, `running`, `lifecycle window`, `review worker health`" - 'row "121 + - **Provider-specific semantics retained and why**: none" [ref=e7251]': - cell [ref=e7252] - cell "121" [ref=e7253]: "121" - cell [ref=e7254] - cell "+" [ref=e7255]: - generic [ref=e7256]: + - 'cell "- **Provider-specific semantics retained and why**: none" [ref=e7257]': - code [ref=e7258]: "- **Provider-specific semantics retained and why**: none" - 'row "122 + - **Why this does not deepen provider coupling accidentally**: the slice works entirely on platform-owned `OperationRun` truth and existing shared monitoring helpers" [ref=e7259]': - cell [ref=e7260] - cell "122" [ref=e7261]: "122" - cell [ref=e7262] - cell "+" [ref=e7263]: - generic [ref=e7264]: + - 'cell "- **Why this does not deepen provider coupling accidentally**: the slice works entirely on platform-owned `OperationRun` truth and existing shared monitoring helpers" [ref=e7265]': - code [ref=e7266]: "- **Why this does not deepen provider coupling accidentally**: the slice works entirely on platform-owned `OperationRun` truth and existing shared monitoring helpers" - 'row "123 + - **Follow-up path**: none" [ref=e7267]': - cell [ref=e7268] - cell "123" [ref=e7269]: "123" - cell [ref=e7270] - cell "+" [ref=e7271]: - generic [ref=e7272]: + - 'cell "- **Follow-up path**: none" [ref=e7273]': - code [ref=e7274]: "- **Follow-up path**: none" - row "124 +" [ref=e7275]: - cell [ref=e7276] - cell "124" [ref=e7277]: "124" - cell [ref=e7278] - cell "+" [ref=e7279]: - generic [ref=e7280]: + - cell [ref=e7281]: - code - 'row "125 + ## UI / Surface Guardrail Impact *(mandatory)*" [ref=e7282]': - cell [ref=e7283] - cell "125" [ref=e7284]: "125" - cell [ref=e7285] - cell "+" [ref=e7286]: - generic [ref=e7287]: + - cell "## UI / Surface Guardrail Impact *(mandatory)*" [ref=e7288]: - code [ref=e7289]: "## UI / Surface Guardrail Impact *(mandatory)*" - row "126 +" [ref=e7290]: - cell [ref=e7291] - cell "126" [ref=e7292]: "126" - cell [ref=e7293] - cell "+" [ref=e7294]: - generic [ref=e7295]: + - cell [ref=e7296]: - code - 'row "127 + | Surface / Change | Operator-facing surface change? | Native vs Custom | Shared-Family Relevance | State Layers Touched | Exception Needed? | Low-Impact / `N/A` Note |" [ref=e7297]': - cell [ref=e7298] - cell "127" [ref=e7299]: "127" - cell [ref=e7300] - cell "+" [ref=e7301]: - generic [ref=e7302]: + - 'cell "| Surface / Change | Operator-facing surface change? | Native vs Custom | Shared-Family Relevance | State Layers Touched | Exception Needed? | Low-Impact / `N/A` Note |" [ref=e7303]': - code [ref=e7304]: "| Surface / Change | Operator-facing surface change? | Native vs Custom | Shared-Family Relevance | State Layers Touched | Exception Needed? | Low-Impact / `N/A` Note |" - row "128 + |---|---|---|---|---|---|---|" [ref=e7305]: - cell [ref=e7306] - cell "128" [ref=e7307]: "128" - cell [ref=e7308] - cell "+" [ref=e7309]: - generic [ref=e7310]: + - cell "|---|---|---|---|---|---|---|" [ref=e7311]: - code [ref=e7312]: "|---|---|---|---|---|---|---|" - row "129 + | Tenant shell activity hint | yes | Native Filament + existing Livewire view | shared active-work hint family | shell, page | no | no new action or route |" [ref=e7313]: - cell [ref=e7314] - cell "129" [ref=e7315]: "129" - cell [ref=e7316] - cell "+" [ref=e7317]: - generic [ref=e7318]: + - cell "| Tenant shell activity hint | yes | Native Filament + existing Livewire view | shared active-work hint family | shell, page | no | no new action or route |" [ref=e7319]: - code [ref=e7320]: "| Tenant shell activity hint | yes | Native Filament + existing Livewire view | shared active-work hint family | shell, page | no | no new action or route |" - row "130 + | Operations list / resource detail summary | yes | Native Filament resource/detail | shared monitoring family | page, detail | no | wording-only inside existing collection/detail |" [ref=e7321]: - cell [ref=e7322] - cell "130" [ref=e7323]: "130" - cell [ref=e7324] - cell "+" [ref=e7325]: - generic [ref=e7326]: + - cell "| Operations list / resource detail summary | yes | Native Filament resource/detail | shared monitoring family | page, detail | no | wording-only inside existing collection/detail |" [ref=e7327]: - code [ref=e7328]: "| Operations list / resource detail summary | yes | Native Filament resource/detail | shared monitoring family | page, detail | no | wording-only inside existing collection/detail |" - row "131 + | Canonical tenantless run viewer banners | yes | Native Filament page | shared monitoring detail family | detail | no | no new diagnostics section family |" [ref=e7329]: - cell [ref=e7330] - cell "131" [ref=e7331]: "131" - cell [ref=e7332] - cell "+" [ref=e7333]: - generic [ref=e7334]: + - cell "| Canonical tenantless run viewer banners | yes | Native Filament page | shared monitoring detail family | detail | no | no new diagnostics section family |" [ref=e7335]: - code [ref=e7336]: "| Canonical tenantless run viewer banners | yes | Native Filament page | shared monitoring detail family | detail | no | no new diagnostics section family |" - row "132 +" [ref=e7337]: - cell [ref=e7338] - cell "132" [ref=e7339]: "132" - cell [ref=e7340] - cell "+" [ref=e7341]: - generic [ref=e7342]: + - cell [ref=e7343]: - code - 'row "133 + ## Decision-First Surface Role *(mandatory)*" [ref=e7344]': - cell [ref=e7345] - cell "133" [ref=e7346]: "133" - cell [ref=e7347] - cell "+" [ref=e7348]: - generic [ref=e7349]: + - cell "## Decision-First Surface Role *(mandatory)*" [ref=e7350]: - code [ref=e7351]: "## Decision-First Surface Role *(mandatory)*" - row "134 +" [ref=e7352]: - cell [ref=e7353] - cell "134" [ref=e7354]: "134" - cell [ref=e7355] - cell "+" [ref=e7356]: - generic [ref=e7357]: + - cell [ref=e7358]: - code - row "135 + | 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 |" [ref=e7359]: - cell [ref=e7360] - cell "135" [ref=e7361]: "135" - cell [ref=e7362] - cell "+" [ref=e7363]: - generic [ref=e7364]: + - cell "| 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 |" [ref=e7365]: - code [ref=e7366]: "| 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 |" - row "136 + |---|---|---|---|---|---|---|---|" [ref=e7367]: - cell [ref=e7368] - cell "136" [ref=e7369]: "136" - cell [ref=e7370] - cell "+" [ref=e7371]: - generic [ref=e7372]: + - cell "|---|---|---|---|---|---|---|---|" [ref=e7373]: - code [ref=e7374]: "|---|---|---|---|---|---|---|---|" - row "137 + | Tenant shell activity hint | Secondary Context Surface | Decide whether an active run needs inspection now | active-state truth, one open link, honest progress availability | full diagnostics stay on canonical monitoring/detail pages | secondary because it supports ongoing work rather than owning diagnostics | follows existing start-surface workflow | removes false calmness |" [ref=e7375]: - cell [ref=e7376] - cell "137" [ref=e7377]: "137" - cell [ref=e7378] - cell "+" [ref=e7379]: - generic [ref=e7380]: + - cell "| Tenant shell activity hint | Secondary Context Surface | Decide whether an active run needs inspection now | active-state truth, one open link, honest progress availability | full diagnostics stay on canonical monitoring/detail pages | secondary because it supports ongoing work rather than owning diagnostics | follows existing start-surface workflow | removes false calmness |" [ref=e7381]: - code [ref=e7382]: "| Tenant shell activity hint | Secondary Context Surface | Decide whether an active run needs inspection now | active-state truth, one open link, honest progress availability | full diagnostics stay on canonical monitoring/detail pages | secondary because it supports ongoing work rather than owning diagnostics | follows existing start-surface workflow | removes false calmness |" - row "138 + | Operations list | Primary Decision Surface | Decide which active run needs inspection first | lifecycle attention, queue truth, scope, and run identity | full detail after drill-through | primary because it is the canonical monitoring queue | aligns with current monitoring triage | removes open-every-row guesswork |" [ref=e7383]: - cell [ref=e7384] - cell "138" [ref=e7385]: "138" - cell [ref=e7386] - cell "+" [ref=e7387]: - generic [ref=e7388]: + - cell "| Operations list | Primary Decision Surface | Decide which active run needs inspection first | lifecycle attention, queue truth, scope, and run identity | full detail after drill-through | primary because it is the canonical monitoring queue | aligns with current monitoring triage | removes open-every-row guesswork |" [ref=e7389]: - code [ref=e7390]: "| Operations list | Primary Decision Surface | Decide which active run needs inspection first | lifecycle attention, queue truth, scope, and run identity | full detail after drill-through | primary because it is the canonical monitoring queue | aligns with current monitoring triage | removes open-every-row guesswork |" - row "139 + | Canonical run detail | Tertiary Evidence / Diagnostics Surface | Confirm what the stale or active state really means | one honest lifecycle explanation before deep diagnostics | raw context, history, evidence, and related links | tertiary because inspection already happened | preserves current detail role | removes banner/guidance contradiction |" [ref=e7391]: - cell [ref=e7392] - cell "139" [ref=e7393]: "139" - cell [ref=e7394] - cell "+" [ref=e7395]: - generic [ref=e7396]: + - cell "| Canonical run detail | Tertiary Evidence / Diagnostics Surface | Confirm what the stale or active state really means | one honest lifecycle explanation before deep diagnostics | raw context, history, evidence, and related links | tertiary because inspection already happened | preserves current detail role | removes banner/guidance contradiction |" [ref=e7397]: - code [ref=e7398]: "| Canonical run detail | Tertiary Evidence / Diagnostics Surface | Confirm what the stale or active state really means | one honest lifecycle explanation before deep diagnostics | raw context, history, evidence, and related links | tertiary because inspection already happened | preserves current detail role | removes banner/guidance contradiction |" - row "140 +" [ref=e7399]: - cell [ref=e7400] - cell "140" [ref=e7401]: "140" - cell [ref=e7402] - cell "+" [ref=e7403]: - generic [ref=e7404]: + - cell [ref=e7405]: - code - 'row "141 + ## Audience-Aware Disclosure *(mandatory)*" [ref=e7406]': - cell [ref=e7407] - cell "141" [ref=e7408]: "141" - cell [ref=e7409] - cell "+" [ref=e7410]: - generic [ref=e7411]: + - cell "## Audience-Aware Disclosure *(mandatory)*" [ref=e7412]: - code [ref=e7413]: "## Audience-Aware Disclosure *(mandatory)*" - row "142 +" [ref=e7414]: - cell [ref=e7415] - cell "142" [ref=e7416]: "142" - cell [ref=e7417] - cell "+" [ref=e7418]: - generic [ref=e7419]: + - cell [ref=e7420]: - code - row "143 + | 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 |" [ref=e7421]: - cell [ref=e7422] - cell "143" [ref=e7423]: "143" - cell [ref=e7424] - cell "+" [ref=e7425]: - generic [ref=e7426]: + - cell "| 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 |" [ref=e7427]: - code [ref=e7428]: "| 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 |" - row "144 + |---|---|---|---|---|---|---|---|" [ref=e7429]: - cell [ref=e7430] - cell "144" [ref=e7431]: "144" - cell [ref=e7432] - cell "+" [ref=e7433]: - generic [ref=e7434]: + - cell "|---|---|---|---|---|---|---|---|" [ref=e7435]: - code [ref=e7436]: "|---|---|---|---|---|---|---|---|" - 'row "145 + | Tenant shell activity hint | operator-MSP | active-state summary plus one open action | minimal guidance only | raw/support data stays off-surface | `View operation` or current collective review action | raw detail stays on canonical monitoring surfaces | do not repeat stale explanation multiple ways |" [ref=e7437]': - cell [ref=e7438] - cell "145" [ref=e7439]: "145" - cell [ref=e7440] - cell "+" [ref=e7441]: - generic [ref=e7442]: + - 'cell "| Tenant shell activity hint | operator-MSP | active-state summary plus one open action | minimal guidance only | raw/support data stays off-surface | `View operation` or current collective review action | raw detail stays on canonical monitoring surfaces | do not repeat stale explanation multiple ways |" [ref=e7443]': - code [ref=e7444]: "| Tenant shell activity hint | operator-MSP | active-state summary plus one open action | minimal guidance only | raw/support data stays off-surface | `View operation` or current collective review action | raw detail stays on canonical monitoring surfaces | do not repeat stale explanation multiple ways |" - row "146 + | Operations list | operator-MSP | row-level stale/queued truth and scope | detail remains secondary | raw payloads stay on detail | row open | raw and related evidence stay on detail | one row summary, not multiple competing summaries |" [ref=e7445]: - cell [ref=e7446] - cell "146" [ref=e7447]: "146" - cell [ref=e7448] - cell "+" [ref=e7449]: - generic [ref=e7450]: + - cell "| Operations list | operator-MSP | row-level stale/queued truth and scope | detail remains secondary | raw payloads stay on detail | row open | raw and related evidence stay on detail | one row summary, not multiple competing summaries |" [ref=e7451]: - code [ref=e7452]: "| Operations list | operator-MSP | row-level stale/queued truth and scope | detail remains secondary | raw payloads stay on detail | row open | raw and related evidence stay on detail | one row summary, not multiple competing summaries |" - row "147 + | Canonical run detail | operator-MSP, support-platform | one honest lifecycle banner | diagnostics sections below the banner | raw context remains lower-priority | existing return/open actions | support/raw detail remains secondary to the top summary | lifecycle banner and queue guidance must not disagree |" [ref=e7453]: - cell [ref=e7454] - cell "147" [ref=e7455]: "147" - cell [ref=e7456] - cell "+" [ref=e7457]: - generic [ref=e7458]: + - cell "| Canonical run detail | operator-MSP, support-platform | one honest lifecycle banner | diagnostics sections below the banner | raw context remains lower-priority | existing return/open actions | support/raw detail remains secondary to the top summary | lifecycle banner and queue guidance must not disagree |" [ref=e7459]: - code [ref=e7460]: "| Canonical run detail | operator-MSP, support-platform | one honest lifecycle banner | diagnostics sections below the banner | raw context remains lower-priority | existing return/open actions | support/raw detail remains secondary to the top summary | lifecycle banner and queue guidance must not disagree |" - row "148 +" [ref=e7461]: - cell [ref=e7462] - cell "148" [ref=e7463]: "148" - cell [ref=e7464] - cell "+" [ref=e7465]: - generic [ref=e7466]: + - cell [ref=e7467]: - code - 'row "149 + ## UI/UX Surface Classification *(mandatory)*" [ref=e7468]': - cell [ref=e7469] - cell "149" [ref=e7470]: "149" - cell [ref=e7471] - cell "+" [ref=e7472]: - generic [ref=e7473]: + - cell "## UI/UX Surface Classification *(mandatory)*" [ref=e7474]: - code [ref=e7475]: "## UI/UX Surface Classification *(mandatory)*" - row "150 +" [ref=e7476]: - cell [ref=e7477] - cell "150" [ref=e7478]: "150" - cell [ref=e7479] - cell "+" [ref=e7480]: - generic [ref=e7481]: + - cell [ref=e7482]: - code - row "151 + | 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 |" [ref=e7483]: - cell [ref=e7484] - cell "151" [ref=e7485]: "151" - cell [ref=e7486] - cell "+" [ref=e7487]: - generic [ref=e7488]: + - cell "| 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 |" [ref=e7489]: - code [ref=e7490]: "| 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 |" - row "152 + |---|---|---|---|---|---|---|---|---|---|---|---|---|---|" [ref=e7491]: - cell [ref=e7492] - cell "152" [ref=e7493]: "152" - cell [ref=e7494] - cell "+" [ref=e7495]: - generic [ref=e7496]: + - cell "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|" [ref=e7497]: - code [ref=e7498]: "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|" - 'row "153 + | Tenant shell activity hint | Monitoring hint | Activity shell hint | Open the active run if guidance escalates | explicit open link | forbidden | existing shell secondary actions only | none | `/admin/workspaces/{workspace}/operations` with current contextual prefilter rules | `/admin/workspaces/{workspace}/operations/{run}` | current tenant/workspace shell context | Operation | whether the run is ordinary active work or already stale | none |" [ref=e7499]': - cell [ref=e7500] - cell "153" [ref=e7501]: "153" - cell [ref=e7502] - cell "+" [ref=e7503]: - generic [ref=e7504]: + - 'cell "| Tenant shell activity hint | Monitoring hint | Activity shell hint | Open the active run if guidance escalates | explicit open link | forbidden | existing shell secondary actions only | none | `/admin/workspaces/{workspace}/operations` with current contextual prefilter rules | `/admin/workspaces/{workspace}/operations/{run}` | current tenant/workspace shell context | Operation | whether the run is ordinary active work or already stale | none |" [ref=e7505]': - code [ref=e7506]: "| Tenant shell activity hint | Monitoring hint | Activity shell hint | Open the active run if guidance escalates | explicit open link | forbidden | existing shell secondary actions only | none | `/admin/workspaces/{workspace}/operations` with current contextual prefilter rules | `/admin/workspaces/{workspace}/operations/{run}` | current tenant/workspace shell context | Operation | whether the run is ordinary active work or already stale | none |" - 'row "154 + | Operations list | List / Table / Monitoring | Read-only monitoring registry | Open the run that needs follow-up | full-row open | required | existing table controls only | none | `/admin/workspaces/{workspace}/operations` | `/admin/workspaces/{workspace}/operations/{run}` | workspace scope and current filters | Operation run | honest queued/running lifecycle truth | none |" [ref=e7507]': - cell [ref=e7508] - cell "154" [ref=e7509]: "154" - cell [ref=e7510] - cell "+" [ref=e7511]: - generic [ref=e7512]: + - 'cell "| Operations list | List / Table / Monitoring | Read-only monitoring registry | Open the run that needs follow-up | full-row open | required | existing table controls only | none | `/admin/workspaces/{workspace}/operations` | `/admin/workspaces/{workspace}/operations/{run}` | workspace scope and current filters | Operation run | honest queued/running lifecycle truth | none |" [ref=e7513]': - code [ref=e7514]: "| Operations list | List / Table / Monitoring | Read-only monitoring registry | Open the run that needs follow-up | full-row open | required | existing table controls only | none | `/admin/workspaces/{workspace}/operations` | `/admin/workspaces/{workspace}/operations/{run}` | workspace scope and current filters | Operation run | honest queued/running lifecycle truth | none |" - 'row "155 + | Canonical run detail | Record / Detail / Monitoring | Diagnostics-first detail surface | Inspect lifecycle truth before deeper diagnosis | canonical detail page | N/A | existing header/related links only | none | `/admin/workspaces/{workspace}/operations` | `/admin/workspaces/{workspace}/operations/{run}` | workspace scope plus entitled tenant context | Operation run | honest active-state explanation | none |" [ref=e7515]': - cell [ref=e7516] - cell "155" [ref=e7517]: "155" - cell [ref=e7518] - cell "+" [ref=e7519]: - generic [ref=e7520]: + - 'cell "| Canonical run detail | Record / Detail / Monitoring | Diagnostics-first detail surface | Inspect lifecycle truth before deeper diagnosis | canonical detail page | N/A | existing header/related links only | none | `/admin/workspaces/{workspace}/operations` | `/admin/workspaces/{workspace}/operations/{run}` | workspace scope plus entitled tenant context | Operation run | honest active-state explanation | none |" [ref=e7521]': - code [ref=e7522]: "| Canonical run detail | Record / Detail / Monitoring | Diagnostics-first detail surface | Inspect lifecycle truth before deeper diagnosis | canonical detail page | N/A | existing header/related links only | none | `/admin/workspaces/{workspace}/operations` | `/admin/workspaces/{workspace}/operations/{run}` | workspace scope plus entitled tenant context | Operation run | honest active-state explanation | none |" - row "156 +" [ref=e7523]: - cell [ref=e7524] - cell "156" [ref=e7525]: "156" - cell [ref=e7526] - cell "+" [ref=e7527]: - generic [ref=e7528]: + - cell [ref=e7529]: - code - 'row "157 + ## Operator Surface Contract *(mandatory)*" [ref=e7530]': - cell [ref=e7531] - cell "157" [ref=e7532]: "157" - cell [ref=e7533] - cell "+" [ref=e7534]: - generic [ref=e7535]: + - cell "## Operator Surface Contract *(mandatory)*" [ref=e7536]: - code [ref=e7537]: "## Operator Surface Contract *(mandatory)*" - row "158 +" [ref=e7538]: - cell [ref=e7539] - cell "158" [ref=e7540]: "158" - cell [ref=e7541] - cell "+" [ref=e7542]: - generic [ref=e7543]: + - cell [ref=e7544]: - code - row "159 + | 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 |" [ref=e7545]: - cell [ref=e7546] - cell "159" [ref=e7547]: "159" - cell [ref=e7548] - cell "+" [ref=e7549]: - generic [ref=e7550]: + - cell "| 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 |" [ref=e7551]: - code [ref=e7552]: "| 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 |" - row "160 + |---|---|---|---|---|---|---|---|---|---|---|" [ref=e7553]: - cell [ref=e7554] - cell "160" [ref=e7555]: "160" - cell [ref=e7556] - cell "+" [ref=e7557]: - generic [ref=e7558]: + - cell "|---|---|---|---|---|---|---|---|---|---|---|" [ref=e7559]: - code [ref=e7560]: "|---|---|---|---|---|---|---|---|---|---|---|" - row "161 + | Tenant shell activity hint | tenant operator | Decide whether to inspect active work now | shell hint | Is this active work still ordinary, or is it already stale? | label, status, progress availability, open link | deep diagnostics remain elsewhere | lifecycle, freshness, progress availability | none | current open/review action | none |" [ref=e7561]: - cell [ref=e7562] - cell "161" [ref=e7563]: "161" - cell [ref=e7564] - cell "+" [ref=e7565]: - generic [ref=e7566]: + - cell "| Tenant shell activity hint | tenant operator | Decide whether to inspect active work now | shell hint | Is this active work still ordinary, or is it already stale? | label, status, progress availability, open link | deep diagnostics remain elsewhere | lifecycle, freshness, progress availability | none | current open/review action | none |" [ref=e7567]: - code [ref=e7568]: "| Tenant shell activity hint | tenant operator | Decide whether to inspect active work now | shell hint | Is this active work still ordinary, or is it already stale? | label, status, progress availability, open link | deep diagnostics remain elsewhere | lifecycle, freshness, progress availability | none | current open/review action | none |" - row "162 + | Operations list | workspace operator | Prioritize which active run to inspect | monitoring registry | Which run is actually waiting, progressing, or already stale? | row summary, scope, lifecycle attention | raw payloads on detail | lifecycle, freshness, queue truth | none | open row | none |" [ref=e7569]: - cell [ref=e7570] - cell "162" [ref=e7571]: "162" - cell [ref=e7572] - cell "+" [ref=e7573]: - generic [ref=e7574]: + - cell "| Operations list | workspace operator | Prioritize which active run to inspect | monitoring registry | Which run is actually waiting, progressing, or already stale? | row summary, scope, lifecycle attention | raw payloads on detail | lifecycle, freshness, queue truth | none | open row | none |" [ref=e7575]: - code [ref=e7576]: "| Operations list | workspace operator | Prioritize which active run to inspect | monitoring registry | Which run is actually waiting, progressing, or already stale? | row summary, scope, lifecycle attention | raw payloads on detail | lifecycle, freshness, queue truth | none | open row | none |" - row "163 + | Canonical run detail | workspace operator | Confirm generic lifecycle truth before diagnosing | detail surface | Why does this run read as stale or still-active? | one lifecycle banner and queue guidance | raw context, failure payloads, related artifacts | lifecycle, freshness, legitimacy evidence | none | existing navigation and related links | none |" [ref=e7577]: - cell [ref=e7578] - cell "163" [ref=e7579]: "163" - cell [ref=e7580] - cell "+" [ref=e7581]: - generic [ref=e7582]: + - cell "| Canonical run detail | workspace operator | Confirm generic lifecycle truth before diagnosing | detail surface | Why does this run read as stale or still-active? | one lifecycle banner and queue guidance | raw context, failure payloads, related artifacts | lifecycle, freshness, legitimacy evidence | none | existing navigation and related links | none |" [ref=e7583]: - code [ref=e7584]: "| Canonical run detail | workspace operator | Confirm generic lifecycle truth before diagnosing | detail surface | Why does this run read as stale or still-active? | one lifecycle banner and queue guidance | raw context, failure payloads, related artifacts | lifecycle, freshness, legitimacy evidence | none | existing navigation and related links | none |" - row "164 +" [ref=e7585]: - cell [ref=e7586] - cell "164" [ref=e7587]: "164" - cell [ref=e7588] - cell "+" [ref=e7589]: - generic [ref=e7590]: + - cell [ref=e7591]: - code - 'row "165 + ## Proportionality Review *(mandatory when structural complexity is introduced)*" [ref=e7592]': - cell [ref=e7593] - cell "165" [ref=e7594]: "165" - cell [ref=e7595] - cell "+" [ref=e7596]: - generic [ref=e7597]: + - cell "## Proportionality Review *(mandatory when structural complexity is introduced)*" [ref=e7598]: - code [ref=e7599]: "## Proportionality Review *(mandatory when structural complexity is introduced)*" - row "166 +" [ref=e7600]: - cell [ref=e7601] - cell "166" [ref=e7602]: "166" - cell [ref=e7603] - cell "+" [ref=e7604]: - generic [ref=e7605]: + - cell [ref=e7606]: - code - 'row "167 + - **New source of truth?**: no" [ref=e7607]': - cell [ref=e7608] - cell "167" [ref=e7609]: "167" - cell [ref=e7610] - cell "+" [ref=e7611]: - generic [ref=e7612]: + - 'cell "- **New source of truth?**: no" [ref=e7613]': - code [ref=e7614]: "- **New source of truth?**: no" - 'row "168 + - **New persisted entity/table/artifact?**: no" [ref=e7615]': - cell [ref=e7616] - cell "168" [ref=e7617]: "168" - cell [ref=e7618] - cell "+" [ref=e7619]: - generic [ref=e7620]: + - 'cell "- **New persisted entity/table/artifact?**: no" [ref=e7621]': - code [ref=e7622]: "- **New persisted entity/table/artifact?**: no" - 'row "169 + - **New abstraction?**: no by default; prefer extending existing helpers" [ref=e7623]': - cell [ref=e7624] - cell "169" [ref=e7625]: "169" - cell [ref=e7626] - cell "+" [ref=e7627]: - generic [ref=e7628]: + - 'cell "- **New abstraction?**: no by default; prefer extending existing helpers" [ref=e7629]': - code [ref=e7630]: "- **New abstraction?**: no by default; prefer extending existing helpers" - 'row "170 + - **New enum/state/reason family?**: no" [ref=e7631]': - cell [ref=e7632] - cell "170" [ref=e7633]: "170" - cell [ref=e7634] - cell "+" [ref=e7635]: - generic [ref=e7636]: + - 'cell "- **New enum/state/reason family?**: no" [ref=e7637]': - code [ref=e7638]: "- **New enum/state/reason family?**: no" - 'row "171 + - **New cross-domain UI framework/taxonomy?**: no" [ref=e7639]': - cell [ref=e7640] - cell "171" [ref=e7641]: "171" - cell [ref=e7642] - cell "+" [ref=e7643]: - generic [ref=e7644]: + - 'cell "- **New cross-domain UI framework/taxonomy?**: no" [ref=e7645]': - code [ref=e7646]: "- **New cross-domain UI framework/taxonomy?**: no" - 'row "172 + - **Current operator problem**: current generic queue truth can contradict itself across existing shared monitoring surfaces" [ref=e7647]': - cell [ref=e7648] - cell "172" [ref=e7649]: "172" - cell [ref=e7650] - cell "+" [ref=e7651]: - generic [ref=e7652]: + - 'cell "- **Current operator problem**: current generic queue truth can contradict itself across existing shared monitoring surfaces" [ref=e7653]': - code [ref=e7654]: "- **Current operator problem**: current generic queue truth can contradict itself across existing shared monitoring surfaces" - 'row "173 + - **Existing structure is insufficient because**: lifecycle, freshness, progress, and queue guidance currently live in separate helpers that can drift in wording and emphasis" [ref=e7655]': - cell [ref=e7656] - cell "173" [ref=e7657]: "173" - cell [ref=e7658] - cell "+" [ref=e7659]: - generic [ref=e7660]: + - 'cell "- **Existing structure is insufficient because**: lifecycle, freshness, progress, and queue guidance currently live in separate helpers that can drift in wording and emphasis" [ref=e7661]': - code [ref=e7662]: "- **Existing structure is insufficient because**: lifecycle, freshness, progress, and queue guidance currently live in separate helpers that can drift in wording and emphasis" - 'row "174 + - **Narrowest correct implementation**: align existing shared helpers and current monitoring renderers without adding a new framework, status family, or persistence layer" [ref=e7663]': - cell [ref=e7664] - cell "174" [ref=e7665]: "174" - cell [ref=e7666] - cell "+" [ref=e7667]: - generic [ref=e7668]: + - 'cell "- **Narrowest correct implementation**: align existing shared helpers and current monitoring renderers without adding a new framework, status family, or persistence layer" [ref=e7669]': - code [ref=e7670]: "- **Narrowest correct implementation**: align existing shared helpers and current monitoring renderers without adding a new framework, status family, or persistence layer" - 'row "175 + - **Ownership cost**: bounded shared-helper review burden plus focused tests" [ref=e7671]': - cell [ref=e7672] - cell "175" [ref=e7673]: "175" - cell [ref=e7674] - cell "+" [ref=e7675]: - generic [ref=e7676]: + - 'cell "- **Ownership cost**: bounded shared-helper review burden plus focused tests" [ref=e7677]': - code [ref=e7678]: "- **Ownership cost**: bounded shared-helper review burden plus focused tests" - 'row "176 + - **Alternative intentionally rejected**: a new reconciliation framework or queue-health persistence layer was rejected because the current issue is derived wording drift, not missing stored truth" [ref=e7679]': - cell [ref=e7680] - cell "176" [ref=e7681]: "176" - cell [ref=e7682] - cell "+" [ref=e7683]: - generic [ref=e7684]: + - 'cell "- **Alternative intentionally rejected**: a new reconciliation framework or queue-health persistence layer was rejected because the current issue is derived wording drift, not missing stored truth" [ref=e7685]': - code [ref=e7686]: "- **Alternative intentionally rejected**: a new reconciliation framework or queue-health persistence layer was rejected because the current issue is derived wording drift, not missing stored truth" - 'row "177 + - **Release truth**: current-release operator-trust correction" [ref=e7687]': - cell [ref=e7688] - cell "177" [ref=e7689]: "177" - cell [ref=e7690] - cell "+" [ref=e7691]: - generic [ref=e7692]: + - 'cell "- **Release truth**: current-release operator-trust correction" [ref=e7693]': - code [ref=e7694]: "- **Release truth**: current-release operator-trust correction" - row "178 +" [ref=e7695]: - cell [ref=e7696] - cell "178" [ref=e7697]: "178" - cell [ref=e7698] - cell "+" [ref=e7699]: - generic [ref=e7700]: + - cell [ref=e7701]: - code - 'row "179 + ## Testing / Lane / Runtime Impact *(mandatory for runtime behavior changes)*" [ref=e7702]': - cell [ref=e7703] - cell "179" [ref=e7704]: "179" - cell [ref=e7705] - cell "+" [ref=e7706]: - generic [ref=e7707]: + - cell "## Testing / Lane / Runtime Impact *(mandatory for runtime behavior changes)*" [ref=e7708]: - code [ref=e7709]: "## Testing / Lane / Runtime Impact *(mandatory for runtime behavior changes)*" - row "180 +" [ref=e7710]: - cell [ref=e7711] - cell "180" [ref=e7712]: "180" - cell [ref=e7713] - cell "+" [ref=e7714]: - generic [ref=e7715]: + - cell [ref=e7716]: - code - 'row "181 + - **Test purpose / classification**: Unit + Feature" [ref=e7717]': - cell [ref=e7718] - cell "181" [ref=e7719]: "181" - cell [ref=e7720] - cell "+" [ref=e7721]: - generic [ref=e7722]: + - 'cell "- **Test purpose / classification**: Unit + Feature" [ref=e7723]': - code [ref=e7724]: "- **Test purpose / classification**: Unit + Feature" - 'row "182 + - **Validation lane(s)**: fast-feedback, confidence" [ref=e7725]': - cell [ref=e7726] - cell "182" [ref=e7727]: "182" - cell [ref=e7728] - cell "+" [ref=e7729]: - generic [ref=e7730]: + - 'cell "- **Validation lane(s)**: fast-feedback, confidence" [ref=e7731]': - code [ref=e7732]: "- **Validation lane(s)**: fast-feedback, confidence" - 'row "183 + - **Why this classification and these lanes are sufficient**: the feature changes derived queue truth and current rendered monitoring output; focused unit and feature proof are sufficient without a new browser or heavy-governance lane" [ref=e7733]': - cell [ref=e7734] - cell "183" [ref=e7735]: "183" - cell [ref=e7736] - cell "+" [ref=e7737]: - generic [ref=e7738]: + - 'cell "- **Why this classification and these lanes are sufficient**: the feature changes derived queue truth and current rendered monitoring output; focused unit and feature proof are sufficient without a new browser or heavy-governance lane" [ref=e7739]': - code [ref=e7740]: "- **Why this classification and these lanes are sufficient**: the feature changes derived queue truth and current rendered monitoring output; focused unit and feature proof are sufficient without a new browser or heavy-governance lane" - row "184 + - **New or expanded test families**:" [ref=e7741]: - cell [ref=e7742] - cell "184" [ref=e7743]: "184" - cell [ref=e7744] - cell "+" [ref=e7745]: - generic [ref=e7746]: + - cell "- **New or expanded test families**:" [ref=e7747]: - code [ref=e7748]: "- **New or expanded test families**:" - 'row "185 + - `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e7749]': - cell [ref=e7750] - cell "185" [ref=e7751]: "185" - cell [ref=e7752] - cell "+" [ref=e7753]: - generic [ref=e7754]: + - 'cell "- `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e7755]': - code [ref=e7756]: "- `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" - 'row "186 + - `apps/platform/tests/Unit/Support/OpsUx/RunDurationInsightsTest.php` or adjacent focused unit coverage if the repo keeps these assertions in an existing file" [ref=e7757]': - cell [ref=e7758] - cell "186" [ref=e7759]: "186" - cell [ref=e7760] - cell "+" [ref=e7761]: - generic [ref=e7762]: + - 'cell "- `apps/platform/tests/Unit/Support/OpsUx/RunDurationInsightsTest.php` or adjacent focused unit coverage if the repo keeps these assertions in an existing file" [ref=e7763]': - code [ref=e7764]: "- `apps/platform/tests/Unit/Support/OpsUx/RunDurationInsightsTest.php` or adjacent focused unit coverage if the repo keeps these assertions in an existing file" - 'row "187 + - `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`" [ref=e7765]': - cell [ref=e7766] - cell "187" [ref=e7767]: "187" - cell [ref=e7768] - cell "+" [ref=e7769]: - generic [ref=e7770]: + - 'cell "- `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`" [ref=e7771]': - code [ref=e7772]: "- `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`" - 'row "188 + - `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`" [ref=e7773]': - cell [ref=e7774] - cell "188" [ref=e7775]: "188" - cell [ref=e7776] - cell "+" [ref=e7777]: - generic [ref=e7778]: + - 'cell "- `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`" [ref=e7779]': - code [ref=e7780]: "- `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`" - 'row "189 + - `apps/platform/tests/Feature/MonitoringOperationsTest.php`" [ref=e7781]': - cell [ref=e7782] - cell "189" [ref=e7783]: "189" - cell [ref=e7784] - cell "+" [ref=e7785]: - generic [ref=e7786]: + - 'cell "- `apps/platform/tests/Feature/MonitoringOperationsTest.php`" [ref=e7787]': - code [ref=e7788]: "- `apps/platform/tests/Feature/MonitoringOperationsTest.php`" - 'row "190 + - `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php`" [ref=e7789]': - cell [ref=e7790] - cell "190" [ref=e7791]: "190" - cell [ref=e7792] - cell "+" [ref=e7793]: - generic [ref=e7794]: + - 'cell "- `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php`" [ref=e7795]': - code [ref=e7796]: "- `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php`" - 'row "191 + - `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php`" [ref=e7797]': - cell [ref=e7798] - cell "191" [ref=e7799]: "191" - cell [ref=e7800] - cell "+" [ref=e7801]: - generic [ref=e7802]: + - 'cell "- `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php`" [ref=e7803]': - code [ref=e7804]: "- `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php`" - 'row "192 + - `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php`" [ref=e7805]': - cell [ref=e7806] - cell "192" [ref=e7807]: "192" - cell [ref=e7808] - cell "+" [ref=e7809]: - generic [ref=e7810]: + - 'cell "- `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php`" [ref=e7811]': - code [ref=e7812]: "- `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php`" - 'row "193 + - `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e7813]': - cell [ref=e7814] - cell "193" [ref=e7815]: "193" - cell [ref=e7816] - cell "+" [ref=e7817]: - generic [ref=e7818]: + - 'cell "- `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e7819]': - code [ref=e7820]: "- `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" - 'row "194 + - **Fixture / helper cost impact**: low to moderate; reuse existing `OperationRun` factories, workspace membership helpers, and monitoring fixtures only" [ref=e7821]': - cell [ref=e7822] - cell "194" [ref=e7823]: "194" - cell [ref=e7824] - cell "+" [ref=e7825]: - generic [ref=e7826]: + - 'cell "- **Fixture / helper cost impact**: low to moderate; reuse existing `OperationRun` factories, workspace membership helpers, and monitoring fixtures only" [ref=e7827]': - code [ref=e7828]: "- **Fixture / helper cost impact**: low to moderate; reuse existing `OperationRun` factories, workspace membership helpers, and monitoring fixtures only" - 'row "195 + - **Heavy-family visibility / justification**: none" [ref=e7829]': - cell [ref=e7830] - cell "195" [ref=e7831]: "195" - cell [ref=e7832] - cell "+" [ref=e7833]: - generic [ref=e7834]: + - 'cell "- **Heavy-family visibility / justification**: none" [ref=e7835]': - code [ref=e7836]: "- **Heavy-family visibility / justification**: none" - 'row "196 + - **Special surface test profile**: monitoring-state-page plus shared-detail-family" [ref=e7837]': - cell [ref=e7838] - cell "196" [ref=e7839]: "196" - cell [ref=e7840] - cell "+" [ref=e7841]: - generic [ref=e7842]: + - 'cell "- **Special surface test profile**: monitoring-state-page plus shared-detail-family" [ref=e7843]': - code [ref=e7844]: "- **Special surface test profile**: monitoring-state-page plus shared-detail-family" - 'row "197 + - **Standard-native relief or required special coverage**: feature coverage is sufficient; no browser smoke is required unless implementation later proves a render-only regression that unit/feature coverage cannot catch" [ref=e7845]': - cell [ref=e7846] - cell "197" [ref=e7847]: "197" - cell [ref=e7848] - cell "+" [ref=e7849]: - generic [ref=e7850]: + - 'cell "- **Standard-native relief or required special coverage**: feature coverage is sufficient; no browser smoke is required unless implementation later proves a render-only regression that unit/feature coverage cannot catch" [ref=e7851]': - code [ref=e7852]: "- **Standard-native relief or required special coverage**: feature coverage is sufficient; no browser smoke is required unless implementation later proves a render-only regression that unit/feature coverage cannot catch" - 'row "198 + - **Reviewer handoff**: reviewers must confirm the same stale run no longer mixes stale attention with ordinary queue/progress reassurance on shell, list, and detail surfaces" [ref=e7853]': - cell [ref=e7854] - cell "198" [ref=e7855]: "198" - cell [ref=e7856] - cell "+" [ref=e7857]: - generic [ref=e7858]: + - 'cell "- **Reviewer handoff**: reviewers must confirm the same stale run no longer mixes stale attention with ordinary queue/progress reassurance on shell, list, and detail surfaces" [ref=e7859]': - code [ref=e7860]: "- **Reviewer handoff**: reviewers must confirm the same stale run no longer mixes stale attention with ordinary queue/progress reassurance on shell, list, and detail surfaces" - 'row "199 + - **Budget / baseline / trend impact**: none expected beyond small feature-local coverage growth" [ref=e7861]': - cell [ref=e7862] - cell "199" [ref=e7863]: "199" - cell [ref=e7864] - cell "+" [ref=e7865]: - generic [ref=e7866]: + - 'cell "- **Budget / baseline / trend impact**: none expected beyond small feature-local coverage growth" [ref=e7867]': - code [ref=e7868]: "- **Budget / baseline / trend impact**: none expected beyond small feature-local coverage growth" - 'row "200 + - **Escalation needed**: `reject-or-split` if the slice expands into new persistence, adapter orchestration, or queue runtime redesign" [ref=e7869]': - cell [ref=e7870] - cell "200" [ref=e7871]: "200" - cell [ref=e7872] - cell "+" [ref=e7873]: - generic [ref=e7874]: + - 'cell "- **Escalation needed**: `reject-or-split` if the slice expands into new persistence, adapter orchestration, or queue runtime redesign" [ref=e7875]': - code [ref=e7876]: "- **Escalation needed**: `reject-or-split` if the slice expands into new persistence, adapter orchestration, or queue runtime redesign" - 'row "201 + - **Active feature PR close-out entry**: Guardrail / Smoke Coverage" [ref=e7877]': - cell [ref=e7878] - cell "201" [ref=e7879]: "201" - cell [ref=e7880] - cell "+" [ref=e7881]: - generic [ref=e7882]: + - 'cell "- **Active feature PR close-out entry**: Guardrail / Smoke Coverage" [ref=e7883]': - code [ref=e7884]: "- **Active feature PR close-out entry**: Guardrail / Smoke Coverage" - row "202 + - **Planned validation commands**:" [ref=e7885]: - cell [ref=e7886] - cell "202" [ref=e7887]: "202" - cell [ref=e7888] - cell "+" [ref=e7889]: - generic [ref=e7890]: + - cell "- **Planned validation commands**:" [ref=e7891]: - code [ref=e7892]: "- **Planned validation commands**:" - 'row "203 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e7893]': - cell [ref=e7894] - cell "203" [ref=e7895]: "203" - cell [ref=e7896] - cell "+" [ref=e7897]: - generic [ref=e7898]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e7899]': - code [ref=e7900]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" - 'row "204 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e7901]': - cell [ref=e7902] - cell "204" [ref=e7903]: "204" - cell [ref=e7904] - cell "+" [ref=e7905]: - generic [ref=e7906]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e7907]': - code [ref=e7908]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" - 'row "205 + - `git diff --check`" [ref=e7909]': - cell [ref=e7910] - cell "205" [ref=e7911]: "205" - cell [ref=e7912] - cell "+" [ref=e7913]: - generic [ref=e7914]: + - 'cell "- `git diff --check`" [ref=e7915]': - code [ref=e7916]: "- `git diff --check`" - row "206 +" [ref=e7917]: - cell [ref=e7918] - cell "206" [ref=e7919]: "206" - cell [ref=e7920] - cell "+" [ref=e7921]: - generic [ref=e7922]: + - cell [ref=e7923]: - code - 'row "207 + ## User Scenarios & Testing *(mandatory)*" [ref=e7924]': - cell [ref=e7925] - cell "207" [ref=e7926]: "207" - cell [ref=e7927] - cell "+" [ref=e7928]: - generic [ref=e7929]: + - cell "## User Scenarios & Testing *(mandatory)*" [ref=e7930]: - code [ref=e7931]: "## User Scenarios & Testing *(mandatory)*" - row "208 +" [ref=e7932]: - cell [ref=e7933] - cell "208" [ref=e7934]: "208" - cell [ref=e7935] - cell "+" [ref=e7936]: - generic [ref=e7937]: + - cell [ref=e7938]: - code - 'row "209 + ### User Story 1 - See honest queued and stale truth on active monitoring surfaces (Priority: P1)" [ref=e7939]': - cell [ref=e7940] - cell "209" [ref=e7941]: "209" - cell [ref=e7942] - cell "+" [ref=e7943]: - generic [ref=e7944]: + - 'cell "### User Story 1 - See honest queued and stale truth on active monitoring surfaces (Priority: P1)" [ref=e7945]': - code [ref=e7946]: "### User Story 1 - See honest queued and stale truth on active monitoring surfaces (Priority: P1)" - row "210 +" [ref=e7947]: - cell [ref=e7948] - cell "210" [ref=e7949]: "210" - cell [ref=e7950] - cell "+" [ref=e7951]: - generic [ref=e7952]: + - cell [ref=e7953]: - code - row "211 + As an operator, I need active monitoring surfaces to distinguish normal queued/running work from stale lifecycle drift without mixing calm queue reassurance into the same state." [ref=e7954]: - cell [ref=e7955] - cell "211" [ref=e7956]: "211" - cell [ref=e7957] - cell "+" [ref=e7958]: - generic [ref=e7959]: + - cell "As an operator, I need active monitoring surfaces to distinguish normal queued/running work from stale lifecycle drift without mixing calm queue reassurance into the same state." [ref=e7960]: - code [ref=e7961]: As an operator, I need active monitoring surfaces to distinguish normal queued/running work from stale lifecycle drift without mixing calm queue reassurance into the same state. - row "212 +" [ref=e7962]: - cell [ref=e7963] - cell "212" [ref=e7964]: "212" - cell [ref=e7965] - cell "+" [ref=e7966]: - generic [ref=e7967]: + - cell [ref=e7968]: - code - 'row "213 + **Why this priority**: This is the direct trust gap visible in current runtime surfaces." [ref=e7969]': - cell [ref=e7970] - cell "213" [ref=e7971]: "213" - cell [ref=e7972] - cell "+" [ref=e7973]: - generic [ref=e7974]: + - 'cell "**Why this priority**: This is the direct trust gap visible in current runtime surfaces." [ref=e7975]': - code [ref=e7976]: "**Why this priority**: This is the direct trust gap visible in current runtime surfaces." - row "214 +" [ref=e7977]: - cell [ref=e7978] - cell "214" [ref=e7979]: "214" - cell [ref=e7980] - cell "+" [ref=e7981]: - generic [ref=e7982]: + - cell [ref=e7983]: - code - 'row "215 + **Independent Test**: Seed fresh and stale queued/running runs, open the shell activity hint and monitoring list, and verify that stale-active runs do not mix stale attention with ordinary queue or progress reassurance." [ref=e7984]': - cell [ref=e7985] - cell "215" [ref=e7986]: "215" - cell [ref=e7987] - cell "+" [ref=e7988]: - generic [ref=e7989]: + - 'cell "**Independent Test**: Seed fresh and stale queued/running runs, open the shell activity hint and monitoring list, and verify that stale-active runs do not mix stale attention with ordinary queue or progress reassurance." [ref=e7990]': - code [ref=e7991]: "**Independent Test**: Seed fresh and stale queued/running runs, open the shell activity hint and monitoring list, and verify that stale-active runs do not mix stale attention with ordinary queue or progress reassurance." - row "216 +" [ref=e7992]: - cell [ref=e7993] - cell "216" [ref=e7994]: "216" - cell [ref=e7995] - cell "+" [ref=e7996]: - generic [ref=e7997]: + - cell [ref=e7998]: - code - row "217 + **Acceptance Scenarios**:" [ref=e7999]: - cell [ref=e8000] - cell "217" [ref=e8001]: "217" - cell [ref=e8002] - cell "+" [ref=e8003]: - generic [ref=e8004]: + - cell "**Acceptance Scenarios**:" [ref=e8005]: - code [ref=e8006]: "**Acceptance Scenarios**:" - row "218 +" [ref=e8007]: - cell [ref=e8008] - cell "218" [ref=e8009]: "218" - cell [ref=e8010] - cell "+" [ref=e8011]: - generic [ref=e8012]: + - cell [ref=e8013]: - code - 'row "219 + 1. **Given** a queued or running run is past its lifecycle window, **When** the shell or monitoring list renders it, **Then** the visible stale-active state does not also reassure with ordinary `Waiting for worker.`, `Progress details pending.`, or equivalent calm queue/progress copy." [ref=e8014]': - cell [ref=e8015] - cell "219" [ref=e8016]: "219" - cell [ref=e8017] - cell "+" [ref=e8018]: - generic [ref=e8019]: + - 'cell "1. **Given** a queued or running run is past its lifecycle window, **When** the shell or monitoring list renders it, **Then** the visible stale-active state does not also reassure with ordinary `Waiting for worker.`, `Progress details pending.`, or equivalent calm queue/progress copy." [ref=e8020]': - code [ref=e8021]: "1. **Given** a queued or running run is past its lifecycle window, **When** the shell or monitoring list renders it, **Then** the visible stale-active state does not also reassure with ordinary `Waiting for worker.`, `Progress details pending.`, or equivalent calm queue/progress copy." - row "220 + 2. **Given** a fresh queued or running run is still within its lifecycle window, **When** the same surfaces render it, **Then** the copy remains calm and does not falsely escalate it as stale." [ref=e8022]: - cell [ref=e8023] - cell "220" [ref=e8024]: "220" - cell [ref=e8025] - cell "+" [ref=e8026]: - generic [ref=e8027]: + - cell "2. **Given** a fresh queued or running run is still within its lifecycle window, **When** the same surfaces render it, **Then** the copy remains calm and does not falsely escalate it as stale." [ref=e8028]: - code [ref=e8029]: 2. **Given** a fresh queued or running run is still within its lifecycle window, **When** the same surfaces render it, **Then** the copy remains calm and does not falsely escalate it as stale. - row "221 +" [ref=e8030]: - cell [ref=e8031] - cell "221" [ref=e8032]: "221" - cell [ref=e8033] - cell "+" [ref=e8034]: - generic [ref=e8035]: + - cell [ref=e8036]: - code - 'row "222 + ### User Story 2 - Keep canonical run detail aligned with generic queue truth (Priority: P1)" [ref=e8037]': - cell [ref=e8038] - cell "222" [ref=e8039]: "222" - cell [ref=e8040] - cell "+" [ref=e8041]: - generic [ref=e8042]: + - 'cell "### User Story 2 - Keep canonical run detail aligned with generic queue truth (Priority: P1)" [ref=e8043]': - code [ref=e8044]: "### User Story 2 - Keep canonical run detail aligned with generic queue truth (Priority: P1)" - row "223 +" [ref=e8045]: - cell [ref=e8046] - cell "223" [ref=e8047]: "223" - cell [ref=e8048] - cell "+" [ref=e8049]: - generic [ref=e8050]: + - cell [ref=e8051]: - code - row "224 + As an operator, I need canonical run detail to confirm the same generic lifecycle meaning that list and shell surfaces already communicate before I inspect deeper diagnostics." [ref=e8052]: - cell [ref=e8053] - cell "224" [ref=e8054]: "224" - cell [ref=e8055] - cell "+" [ref=e8056]: - generic [ref=e8057]: + - cell "As an operator, I need canonical run detail to confirm the same generic lifecycle meaning that list and shell surfaces already communicate before I inspect deeper diagnostics." [ref=e8058]: - code [ref=e8059]: As an operator, I need canonical run detail to confirm the same generic lifecycle meaning that list and shell surfaces already communicate before I inspect deeper diagnostics. - row "225 +" [ref=e8060]: - cell [ref=e8061] - cell "225" [ref=e8062]: "225" - cell [ref=e8063] - cell "+" [ref=e8064]: - generic [ref=e8065]: + - cell [ref=e8066]: - code - 'row "226 + **Why this priority**: The current contradiction is most damaging when detail and compact surfaces disagree." [ref=e8067]': - cell [ref=e8068] - cell "226" [ref=e8069]: "226" - cell [ref=e8070] - cell "+" [ref=e8071]: - generic [ref=e8072]: + - 'cell "**Why this priority**: The current contradiction is most damaging when detail and compact surfaces disagree." [ref=e8073]': - code [ref=e8074]: "**Why this priority**: The current contradiction is most damaging when detail and compact surfaces disagree." - row "227 +" [ref=e8075]: - cell [ref=e8076] - cell "227" [ref=e8077]: "227" - cell [ref=e8078] - cell "+" [ref=e8079]: - generic [ref=e8080]: + - cell [ref=e8081]: - code - 'row "228 + **Independent Test**: Open canonical detail for fresh, stale, and reconciled runs and verify that lifecycle banners, queue guidance, and top summary agree with the generic monitoring truth." [ref=e8082]': - cell [ref=e8083] - cell "228" [ref=e8084]: "228" - cell [ref=e8085] - cell "+" [ref=e8086]: - generic [ref=e8087]: + - 'cell "**Independent Test**: Open canonical detail for fresh, stale, and reconciled runs and verify that lifecycle banners, queue guidance, and top summary agree with the generic monitoring truth." [ref=e8088]': - code [ref=e8089]: "**Independent Test**: Open canonical detail for fresh, stale, and reconciled runs and verify that lifecycle banners, queue guidance, and top summary agree with the generic monitoring truth." - row "229 +" [ref=e8090]: - cell [ref=e8091] - cell "229" [ref=e8092]: "229" - cell [ref=e8093] - cell "+" [ref=e8094]: - generic [ref=e8095]: + - cell [ref=e8096]: - code - row "230 + **Acceptance Scenarios**:" [ref=e8097]: - cell [ref=e8098] - cell "230" [ref=e8099]: "230" - cell [ref=e8100] - cell "+" [ref=e8101]: - generic [ref=e8102]: + - cell "**Acceptance Scenarios**:" [ref=e8103]: - code [ref=e8104]: "**Acceptance Scenarios**:" - row "231 +" [ref=e8105]: - cell [ref=e8106] - cell "231" [ref=e8107]: "231" - cell [ref=e8108] - cell "+" [ref=e8109]: - generic [ref=e8110]: + - cell [ref=e8111]: - code - row "232 + 1. **Given** a stale queued or stale running run, **When** the detail page opens, **Then** the top summary explains that the run is past its lifecycle window before deeper diagnostics render." [ref=e8112]: - cell [ref=e8113] - cell "232" [ref=e8114]: "232" - cell [ref=e8115] - cell "+" [ref=e8116]: - generic [ref=e8117]: + - cell "1. **Given** a stale queued or stale running run, **When** the detail page opens, **Then** the top summary explains that the run is past its lifecycle window before deeper diagnostics render." [ref=e8118]: - code [ref=e8119]: 1. **Given** a stale queued or stale running run, **When** the detail page opens, **Then** the top summary explains that the run is past its lifecycle window before deeper diagnostics render. - row "233 + 2. **Given** a reconciled terminal run, **When** the detail page opens, **Then** it preserves the existing reconciled truth and does not regress to ordinary active-work guidance." [ref=e8120]: - cell [ref=e8121] - cell "233" [ref=e8122]: "233" - cell [ref=e8123] - cell "+" [ref=e8124]: - generic [ref=e8125]: + - cell "2. **Given** a reconciled terminal run, **When** the detail page opens, **Then** it preserves the existing reconciled truth and does not regress to ordinary active-work guidance." [ref=e8126]: - code [ref=e8127]: 2. **Given** a reconciled terminal run, **When** the detail page opens, **Then** it preserves the existing reconciled truth and does not regress to ordinary active-work guidance. - row "234 +" [ref=e8128]: - cell [ref=e8129] - cell "234" [ref=e8130]: "234" - cell [ref=e8131] - cell "+" [ref=e8132]: - generic [ref=e8133]: + - cell [ref=e8134]: - code - 'row "235 + ### User Story 3 - Keep proof-backed reconciliation separate from generic queue truth (Priority: P2)" [ref=e8135]': - cell [ref=e8136] - cell "235" [ref=e8137]: "235" - cell [ref=e8138] - cell "+" [ref=e8139]: - generic [ref=e8140]: + - 'cell "### User Story 3 - Keep proof-backed reconciliation separate from generic queue truth (Priority: P2)" [ref=e8141]': - code [ref=e8142]: "### User Story 3 - Keep proof-backed reconciliation separate from generic queue truth (Priority: P2)" - row "236 +" [ref=e8143]: - cell [ref=e8144] - cell "236" [ref=e8145]: "236" - cell [ref=e8146] - cell "+" [ref=e8147]: - generic [ref=e8148]: + - cell [ref=e8149]: - code - row "237 + As a product owner, I need generic queue truth to stay separate from domain-success or adapter reconciliation so that stale monitoring copy does not silently become a business-completion engine." [ref=e8150]: - cell [ref=e8151] - cell "237" [ref=e8152]: "237" - cell [ref=e8153] - cell "+" [ref=e8154]: - generic [ref=e8155]: + - cell "As a product owner, I need generic queue truth to stay separate from domain-success or adapter reconciliation so that stale monitoring copy does not silently become a business-completion engine." [ref=e8156]: - code [ref=e8157]: As a product owner, I need generic queue truth to stay separate from domain-success or adapter reconciliation so that stale monitoring copy does not silently become a business-completion engine. - row "238 +" [ref=e8158]: - cell [ref=e8159] - cell "238" [ref=e8160]: "238" - cell [ref=e8161] - cell "+" [ref=e8162]: - generic [ref=e8163]: + - cell [ref=e8164]: - code - 'row "239 + **Why this priority**: The slice must stay narrow and avoid speculative framework growth." [ref=e8165]': - cell [ref=e8166] - cell "239" [ref=e8167]: "239" - cell [ref=e8168] - cell "+" [ref=e8169]: - generic [ref=e8170]: + - 'cell "**Why this priority**: The slice must stay narrow and avoid speculative framework growth." [ref=e8171]': - code [ref=e8172]: "**Why this priority**: The slice must stay narrow and avoid speculative framework growth." - row "240 +" [ref=e8173]: - cell [ref=e8174] - cell "240" [ref=e8175]: "240" - cell [ref=e8176] - cell "+" [ref=e8177]: - generic [ref=e8178]: + - cell [ref=e8179]: - code - 'row "241 + **Independent Test**: Compare a stale generic run and an adapter-reconciled run, then verify that generic stale wording remains cautious while existing reconciled evidence paths still drive terminal truth where already implemented." [ref=e8180]': - cell [ref=e8181] - cell "241" [ref=e8182]: "241" - cell [ref=e8183] - cell "+" [ref=e8184]: - generic [ref=e8185]: + - 'cell "**Independent Test**: Compare a stale generic run and an adapter-reconciled run, then verify that generic stale wording remains cautious while existing reconciled evidence paths still drive terminal truth where already implemented." [ref=e8186]': - code [ref=e8187]: "**Independent Test**: Compare a stale generic run and an adapter-reconciled run, then verify that generic stale wording remains cautious while existing reconciled evidence paths still drive terminal truth where already implemented." - row "242 +" [ref=e8188]: - cell [ref=e8189] - cell "242" [ref=e8190]: "242" - cell [ref=e8191] - cell "+" [ref=e8192]: - generic [ref=e8193]: + - cell [ref=e8194]: - code - row "243 + **Acceptance Scenarios**:" [ref=e8195]: - cell [ref=e8196] - cell "243" [ref=e8197]: "243" - cell [ref=e8198] - cell "+" [ref=e8199]: - generic [ref=e8200]: + - cell "**Acceptance Scenarios**:" [ref=e8201]: - code [ref=e8202]: "**Acceptance Scenarios**:" - row "244 +" [ref=e8203]: - cell [ref=e8204] - cell "244" [ref=e8205]: "244" - cell [ref=e8206] - cell "+" [ref=e8207]: - generic [ref=e8208]: + - cell [ref=e8209]: - code - 'row "245 + 1. **Given** a stale active run without proof-backed queue legitimacy evidence, **When** the UI renders it, **Then** the wording stays at `past lifecycle window` or equivalent cautious language and does not claim orphaned or domain-complete truth." [ref=e8210]': - cell [ref=e8211] - cell "245" [ref=e8212]: "245" - cell [ref=e8213] - cell "+" [ref=e8214]: - generic [ref=e8215]: + - 'cell "1. **Given** a stale active run without proof-backed queue legitimacy evidence, **When** the UI renders it, **Then** the wording stays at `past lifecycle window` or equivalent cautious language and does not claim orphaned or domain-complete truth." [ref=e8216]': - code [ref=e8217]: "1. **Given** a stale active run without proof-backed queue legitimacy evidence, **When** the UI renders it, **Then** the wording stays at `past lifecycle window` or equivalent cautious language and does not claim orphaned or domain-complete truth." - row "246 + 2. **Given** a run already completed through scheduled or adapter reconciliation, **When** the UI renders it, **Then** the existing reconciled terminal semantics remain intact and are not rewritten as generic queue waiting." [ref=e8218]: - cell [ref=e8219] - cell "246" [ref=e8220]: "246" - cell [ref=e8221] - cell "+" [ref=e8222]: - generic [ref=e8223]: + - cell "2. **Given** a run already completed through scheduled or adapter reconciliation, **When** the UI renders it, **Then** the existing reconciled terminal semantics remain intact and are not rewritten as generic queue waiting." [ref=e8224]: - code [ref=e8225]: 2. **Given** a run already completed through scheduled or adapter reconciliation, **When** the UI renders it, **Then** the existing reconciled terminal semantics remain intact and are not rewritten as generic queue waiting. - row "247 +" [ref=e8226]: - cell [ref=e8227] - cell "247" [ref=e8228]: "247" - cell [ref=e8229] - cell "+" [ref=e8230]: - generic [ref=e8231]: + - cell [ref=e8232]: - code - 'row "248 + ### Edge Cases" [ref=e8233]': - cell [ref=e8234] - cell "248" [ref=e8235]: "248" - cell [ref=e8236] - cell "+" [ref=e8237]: - generic [ref=e8238]: + - cell "### Edge Cases" [ref=e8239]: - code [ref=e8240]: "### Edge Cases" - row "249 +" [ref=e8241]: - cell [ref=e8242] - cell "249" [ref=e8243]: "249" - cell [ref=e8244] - cell "+" [ref=e8245]: - generic [ref=e8246]: + - cell [ref=e8247]: - code - row "250 + - A queued run is stale but has no trustworthy worker correlation or job identifier." [ref=e8248]: - cell [ref=e8249] - cell "250" [ref=e8250]: "250" - cell [ref=e8251] - cell "+" [ref=e8252]: - generic [ref=e8253]: + - cell "- A queued run is stale but has no trustworthy worker correlation or job identifier." [ref=e8254]: - code [ref=e8255]: "- A queued run is stale but has no trustworthy worker correlation or job identifier." - row "251 + - A running run has determinate counts but is still past the lifecycle window." [ref=e8256]: - cell [ref=e8257] - cell "251" [ref=e8258]: "251" - cell [ref=e8259] - cell "+" [ref=e8260]: - generic [ref=e8261]: + - cell "- A running run has determinate counts but is still past the lifecycle window." [ref=e8262]: - code [ref=e8263]: "- A running run has determinate counts but is still past the lifecycle window." - row "252 + - A run is unsupported by current lifecycle policy and therefore should not receive stale overclaiming." [ref=e8264]: - cell [ref=e8265] - cell "252" [ref=e8266]: "252" - cell [ref=e8267] - cell "+" [ref=e8268]: - generic [ref=e8269]: + - cell "- A run is unsupported by current lifecycle policy and therefore should not receive stale overclaiming." [ref=e8270]: - code [ref=e8271]: "- A run is unsupported by current lifecycle policy and therefore should not receive stale overclaiming." - 'row "253 + - A run became terminal through `scheduled_reconciler` or `adapter_reconciler`." [ref=e8272]': - cell [ref=e8273] - cell "253" [ref=e8274]: "253" - cell [ref=e8275] - cell "+" [ref=e8276]: - generic [ref=e8277]: + - 'cell "- A run became terminal through `scheduled_reconciler` or `adapter_reconciler`." [ref=e8278]': - code [ref=e8279]: "- A run became terminal through `scheduled_reconciler` or `adapter_reconciler`." - row "254 + - A system-initiated run has no human initiator but still needs honest lifecycle wording." [ref=e8280]: - cell [ref=e8281] - cell "254" [ref=e8282]: "254" - cell [ref=e8283] - cell "+" [ref=e8284]: - generic [ref=e8285]: + - cell "- A system-initiated run has no human initiator but still needs honest lifecycle wording." [ref=e8286]: - code [ref=e8287]: "- A system-initiated run has no human initiator but still needs honest lifecycle wording." - row "255 + - Existing phase or composite progress hints exist in context and must not override stale lifecycle truth with false reassurance." [ref=e8288]: - cell [ref=e8289] - cell "255" [ref=e8290]: "255" - cell [ref=e8291] - cell "+" [ref=e8292]: - generic [ref=e8293]: + - cell "- Existing phase or composite progress hints exist in context and must not override stale lifecycle truth with false reassurance." [ref=e8294]: - code [ref=e8295]: "- Existing phase or composite progress hints exist in context and must not override stale lifecycle truth with false reassurance." - row "256 +" [ref=e8296]: - cell [ref=e8297] - cell "256" [ref=e8298]: "256" - cell [ref=e8299] - cell "+" [ref=e8300]: - generic [ref=e8301]: + - cell [ref=e8302]: - code - 'row "257 + ## Requirements *(mandatory)*" [ref=e8303]': - cell [ref=e8304] - cell "257" [ref=e8305]: "257" - cell [ref=e8306] - cell "+" [ref=e8307]: - generic [ref=e8308]: + - cell "## Requirements *(mandatory)*" [ref=e8309]: - code [ref=e8310]: "## Requirements *(mandatory)*" - row "258 +" [ref=e8311]: - cell [ref=e8312] - cell "258" [ref=e8313]: "258" - cell [ref=e8314] - cell "+" [ref=e8315]: - generic [ref=e8316]: + - cell [ref=e8317]: - code - 'row "259 + - **FR-358-001**: The system MUST keep `OperationRun.status` and `OperationRun.outcome` as the only persisted lifecycle fields for this slice." [ref=e8318]': - cell [ref=e8319] - cell "259" [ref=e8320]: "259" - cell [ref=e8321] - cell "+" [ref=e8322]: - generic [ref=e8323]: + - 'cell "- **FR-358-001**: The system MUST keep `OperationRun.status` and `OperationRun.outcome` as the only persisted lifecycle fields for this slice." [ref=e8324]': - code [ref=e8325]: "- **FR-358-001**: The system MUST keep `OperationRun.status` and `OperationRun.outcome` as the only persisted lifecycle fields for this slice." - 'row "260 + - **FR-358-002**: Generic queue truth MUST be derived from current lifecycle, freshness, and trusted context only." [ref=e8326]': - cell [ref=e8327] - cell "260" [ref=e8328]: "260" - cell [ref=e8329] - cell "+" [ref=e8330]: - generic [ref=e8331]: + - 'cell "- **FR-358-002**: Generic queue truth MUST be derived from current lifecycle, freshness, and trusted context only." [ref=e8332]': - code [ref=e8333]: "- **FR-358-002**: Generic queue truth MUST be derived from current lifecycle, freshness, and trusted context only." - 'row "261 + - **FR-358-003**: A run that is `likely_stale` by current lifecycle policy MUST NOT render ordinary queue or ordinary progress reassurance as visible stale-active guidance on shell, list, or canonical detail surfaces, whether that reassurance appears alone or alongside a stale label, banner, or attention cue." [ref=e8334]': - cell [ref=e8335] - cell "261" [ref=e8336]: "261" - cell [ref=e8337] - cell "+" [ref=e8338]: - generic [ref=e8339]: + - 'cell "- **FR-358-003**: A run that is `likely_stale` by current lifecycle policy MUST NOT render ordinary queue or ordinary progress reassurance as visible stale-active guidance on shell, list, or canonical detail surfaces, whether that reassurance appears alone or alongside a stale label, banner, or attention cue." [ref=e8340]': - code [ref=e8341]: "- **FR-358-003**: A run that is `likely_stale` by current lifecycle policy MUST NOT render ordinary queue or ordinary progress reassurance as visible stale-active guidance on shell, list, or canonical detail surfaces, whether that reassurance appears alone or alongside a stale label, banner, or attention cue." - 'row "262 + - **FR-358-004**: Fresh queued and fresh running runs MUST remain visibly calm and MUST NOT inherit stale emphasis." [ref=e8342]': - cell [ref=e8343] - cell "262" [ref=e8344]: "262" - cell [ref=e8345] - cell "+" [ref=e8346]: - generic [ref=e8347]: + - 'cell "- **FR-358-004**: Fresh queued and fresh running runs MUST remain visibly calm and MUST NOT inherit stale emphasis." [ref=e8348]': - code [ref=e8349]: "- **FR-358-004**: Fresh queued and fresh running runs MUST remain visibly calm and MUST NOT inherit stale emphasis." - 'row "263 + - **FR-358-005**: Existing scheduled or adapter reconciliation paths MUST remain authoritative for terminal truth where they already exist." [ref=e8350]': - cell [ref=e8351] - cell "263" [ref=e8352]: "263" - cell [ref=e8353] - cell "+" [ref=e8354]: - generic [ref=e8355]: + - 'cell "- **FR-358-005**: Existing scheduled or adapter reconciliation paths MUST remain authoritative for terminal truth where they already exist." [ref=e8356]': - code [ref=e8357]: "- **FR-358-005**: Existing scheduled or adapter reconciliation paths MUST remain authoritative for terminal truth where they already exist." - 'row "264 + - **FR-358-006**: This feature MUST NOT introduce a new queue-orphaned, reconciled, or business-success persistence family." [ref=e8358]': - cell [ref=e8359] - cell "264" [ref=e8360]: "264" - cell [ref=e8361] - cell "+" [ref=e8362]: - generic [ref=e8363]: + - 'cell "- **FR-358-006**: This feature MUST NOT introduce a new queue-orphaned, reconciled, or business-success persistence family." [ref=e8364]': - code [ref=e8365]: "- **FR-358-006**: This feature MUST NOT introduce a new queue-orphaned, reconciled, or business-success persistence family." - 'row "265 + - **FR-358-007**: This feature MUST NOT claim hard orphaned queue state unless current repo truth already provides trustworthy legitimacy evidence for that specific run." [ref=e8366]': - cell [ref=e8367] - cell "265" [ref=e8368]: "265" - cell [ref=e8369] - cell "+" [ref=e8370]: - generic [ref=e8371]: + - 'cell "- **FR-358-007**: This feature MUST NOT claim hard orphaned queue state unless current repo truth already provides trustworthy legitimacy evidence for that specific run." [ref=e8372]': - code [ref=e8373]: "- **FR-358-007**: This feature MUST NOT claim hard orphaned queue state unless current repo truth already provides trustworthy legitimacy evidence for that specific run." - 'row "266 + - **FR-358-008**: Existing `OperationRun` links, queued toasts, browser events, and terminal notification paths MUST remain unchanged." [ref=e8374]': - cell [ref=e8375] - cell "266" [ref=e8376]: "266" - cell [ref=e8377] - cell "+" [ref=e8378]: - generic [ref=e8379]: + - 'cell "- **FR-358-008**: Existing `OperationRun` links, queued toasts, browser events, and terminal notification paths MUST remain unchanged." [ref=e8380]': - code [ref=e8381]: "- **FR-358-008**: Existing `OperationRun` links, queued toasts, browser events, and terminal notification paths MUST remain unchanged." - 'row "267 + - **FR-358-009**: Existing workspace and tenant authorization boundaries MUST remain unchanged." [ref=e8382]': - cell [ref=e8383] - cell "267" [ref=e8384]: "267" - cell [ref=e8385] - cell "+" [ref=e8386]: - generic [ref=e8387]: + - 'cell "- **FR-358-009**: Existing workspace and tenant authorization boundaries MUST remain unchanged." [ref=e8388]': - code [ref=e8389]: "- **FR-358-009**: Existing workspace and tenant authorization boundaries MUST remain unchanged." - 'row "268 + - **FR-358-010**: The canonical monitoring list, shell hint, and canonical run detail MUST use one aligned generic lifecycle vocabulary for fresh queued/running work, stale active work, and reconciled terminal work." [ref=e8390]': - cell [ref=e8391] - cell "268" [ref=e8392]: "268" - cell [ref=e8393] - cell "+" [ref=e8394]: - generic [ref=e8395]: + - 'cell "- **FR-358-010**: The canonical monitoring list, shell hint, and canonical run detail MUST use one aligned generic lifecycle vocabulary for fresh queued/running work, stale active work, and reconciled terminal work." [ref=e8396]': - code [ref=e8397]: "- **FR-358-010**: The canonical monitoring list, shell hint, and canonical run detail MUST use one aligned generic lifecycle vocabulary for fresh queued/running work, stale active work, and reconciled terminal work." - 'row "269 + - **FR-358-011**: The implementation MUST stay within current helper ownership unless one small local helper is required to avoid unreadable presenter logic." [ref=e8398]': - cell [ref=e8399] - cell "269" [ref=e8400]: "269" - cell [ref=e8401] - cell "+" [ref=e8402]: - generic [ref=e8403]: + - 'cell "- **FR-358-011**: The implementation MUST stay within current helper ownership unless one small local helper is required to avoid unreadable presenter logic." [ref=e8404]': - code [ref=e8405]: "- **FR-358-011**: The implementation MUST stay within current helper ownership unless one small local helper is required to avoid unreadable presenter logic." - 'row "270 + - **FR-358-012**: Focused unit and feature coverage MUST prove both positive and negative cases for fresh vs stale queue truth." [ref=e8406]': - cell [ref=e8407] - cell "270" [ref=e8408]: "270" - cell [ref=e8409] - cell "+" [ref=e8410]: - generic [ref=e8411]: + - 'cell "- **FR-358-012**: Focused unit and feature coverage MUST prove both positive and negative cases for fresh vs stale queue truth." [ref=e8412]': - code [ref=e8413]: "- **FR-358-012**: Focused unit and feature coverage MUST prove both positive and negative cases for fresh vs stale queue truth." - row "271 +" [ref=e8414]: - cell [ref=e8415] - cell "271" [ref=e8416]: "271" - cell [ref=e8417] - cell "+" [ref=e8418]: - generic [ref=e8419]: + - cell [ref=e8420]: - code - 'row "272 + ## Success Criteria *(mandatory)*" [ref=e8421]': - cell [ref=e8422] - cell "272" [ref=e8423]: "272" - cell [ref=e8424] - cell "+" [ref=e8425]: - generic [ref=e8426]: + - cell "## Success Criteria *(mandatory)*" [ref=e8427]: - code [ref=e8428]: "## Success Criteria *(mandatory)*" - row "273 +" [ref=e8429]: - cell [ref=e8430] - cell "273" [ref=e8431]: "273" - cell [ref=e8432] - cell "+" [ref=e8433]: - generic [ref=e8434]: + - cell [ref=e8435]: - code - 'row "274 + - **SC-358-001**: In focused regression coverage, stale queued/running runs no longer mix stale attention with ordinary queue/progress reassurance on the affected surfaces." [ref=e8436]': - cell [ref=e8437] - cell "274" [ref=e8438]: "274" - cell [ref=e8439] - cell "+" [ref=e8440]: - generic [ref=e8441]: + - 'cell "- **SC-358-001**: In focused regression coverage, stale queued/running runs no longer mix stale attention with ordinary queue/progress reassurance on the affected surfaces." [ref=e8442]': - code [ref=e8443]: "- **SC-358-001**: In focused regression coverage, stale queued/running runs no longer mix stale attention with ordinary queue/progress reassurance on the affected surfaces." - 'row "275 + - **SC-358-002**: In focused regression coverage, fresh queued/running runs remain calm and do not falsely escalate to stale." [ref=e8444]': - cell [ref=e8445] - cell "275" [ref=e8446]: "275" - cell [ref=e8447] - cell "+" [ref=e8448]: - generic [ref=e8449]: + - 'cell "- **SC-358-002**: In focused regression coverage, fresh queued/running runs remain calm and do not falsely escalate to stale." [ref=e8450]': - code [ref=e8451]: "- **SC-358-002**: In focused regression coverage, fresh queued/running runs remain calm and do not falsely escalate to stale." - 'row "276 + - **SC-358-003**: Existing reconciled terminal behavior remains intact for runs already completed by scheduled or adapter truth." [ref=e8452]': - cell [ref=e8453] - cell "276" [ref=e8454]: "276" - cell [ref=e8455] - cell "+" [ref=e8456]: - generic [ref=e8457]: + - 'cell "- **SC-358-003**: Existing reconciled terminal behavior remains intact for runs already completed by scheduled or adapter truth." [ref=e8458]': - code [ref=e8459]: "- **SC-358-003**: Existing reconciled terminal behavior remains intact for runs already completed by scheduled or adapter truth." - 'row "277 + - **SC-358-004**: No new persisted lifecycle field, queue artifact, or adapter framework is introduced." [ref=e8460]': - cell [ref=e8461] - cell "277" [ref=e8462]: "277" - cell [ref=e8463] - cell "+" [ref=e8464]: - generic [ref=e8465]: + - 'cell "- **SC-358-004**: No new persisted lifecycle field, queue artifact, or adapter framework is introduced." [ref=e8466]': - code [ref=e8467]: "- **SC-358-004**: No new persisted lifecycle field, queue artifact, or adapter framework is introduced." - row "278 +" [ref=e8468]: - cell [ref=e8469] - cell "278" [ref=e8470]: "278" - cell [ref=e8471] - cell "+" [ref=e8472]: - generic [ref=e8473]: + - cell [ref=e8474]: - code - 'row "279 + ## Assumptions" [ref=e8475]': - cell [ref=e8476] - cell "279" [ref=e8477]: "279" - cell [ref=e8478] - cell "+" [ref=e8479]: - generic [ref=e8480]: + - cell "## Assumptions" [ref=e8481]: - code [ref=e8482]: "## Assumptions" - row "280 +" [ref=e8483]: - cell [ref=e8484] - cell "280" [ref=e8485]: "280" - cell [ref=e8486] - cell "+" [ref=e8487]: - generic [ref=e8488]: + - cell [ref=e8489]: - code - row "281 + - The current contradiction is a derived UX-truth problem, not a missing persistence problem." [ref=e8490]: - cell [ref=e8491] - cell "281" [ref=e8492]: "281" - cell [ref=e8493] - cell "+" [ref=e8494]: - generic [ref=e8495]: + - cell "- The current contradiction is a derived UX-truth problem, not a missing persistence problem." [ref=e8496]: - code [ref=e8497]: "- The current contradiction is a derived UX-truth problem, not a missing persistence problem." - row "282 + - Existing lifecycle policy thresholds remain valid for this slice." [ref=e8498]: - cell [ref=e8499] - cell "282" [ref=e8500]: "282" - cell [ref=e8501] - cell "+" [ref=e8502]: - generic [ref=e8503]: + - cell "- Existing lifecycle policy thresholds remain valid for this slice." [ref=e8504]: - code [ref=e8505]: "- Existing lifecycle policy thresholds remain valid for this slice." - row "283 + - Existing generic and adapter reconciliation commands remain out of scope except as historical context the UI must respect." [ref=e8506]: - cell [ref=e8507] - cell "283" [ref=e8508]: "283" - cell [ref=e8509] - cell "+" [ref=e8510]: - generic [ref=e8511]: + - cell "- Existing generic and adapter reconciliation commands remain out of scope except as historical context the UI must respect." [ref=e8512]: - code [ref=e8513]: "- Existing generic and adapter reconciliation commands remain out of scope except as historical context the UI must respect." - row "284 +" [ref=e8514]: - cell [ref=e8515] - cell "284" [ref=e8516]: "284" - cell [ref=e8517] - cell "+" [ref=e8518]: - generic [ref=e8519]: + - cell [ref=e8520]: - code - 'row "285 + ## Risks" [ref=e8521]': - cell [ref=e8522] - cell "285" [ref=e8523]: "285" - cell [ref=e8524] - cell "+" [ref=e8525]: - generic [ref=e8526]: + - cell "## Risks" [ref=e8527]: - code [ref=e8528]: "## Risks" - row "286 +" [ref=e8529]: - cell [ref=e8530] - cell "286" [ref=e8531]: "286" - cell [ref=e8532] - cell "+" [ref=e8533]: - generic [ref=e8534]: + - cell [ref=e8535]: - code - 'row "287 + - **Over-correction**: the slice could make all active work sound problematic. Mitigation: explicit fresh vs stale negative assertions." [ref=e8536]': - cell [ref=e8537] - cell "287" [ref=e8538]: "287" - cell [ref=e8539] - cell "+" [ref=e8540]: - generic [ref=e8541]: + - 'cell "- **Over-correction**: the slice could make all active work sound problematic. Mitigation: explicit fresh vs stale negative assertions." [ref=e8542]': - code [ref=e8543]: "- **Over-correction**: the slice could make all active work sound problematic. Mitigation: explicit fresh vs stale negative assertions." - 'row "288 + - **Framework creep**: the slice could drift into a new generic queue-health subsystem. Mitigation: no new persistence, no new adapter registry, and explicit out-of-scope boundaries." [ref=e8544]': - cell [ref=e8545] - cell "288" [ref=e8546]: "288" - cell [ref=e8547] - cell "+" [ref=e8548]: - generic [ref=e8549]: + - 'cell "- **Framework creep**: the slice could drift into a new generic queue-health subsystem. Mitigation: no new persistence, no new adapter registry, and explicit out-of-scope boundaries." [ref=e8550]': - code [ref=e8551]: "- **Framework creep**: the slice could drift into a new generic queue-health subsystem. Mitigation: no new persistence, no new adapter registry, and explicit out-of-scope boundaries." - 'row "289 + - **Detail/list drift survives**: one renderer could remain on old wording. Mitigation: focused list + detail + shell coverage in the same package." [ref=e8552]': - cell [ref=e8553] - cell "289" [ref=e8554]: "289" - cell [ref=e8555] - cell "+" [ref=e8556]: - generic [ref=e8557]: + - 'cell "- **Detail/list drift survives**: one renderer could remain on old wording. Mitigation: focused list + detail + shell coverage in the same package." [ref=e8558]': - code [ref=e8559]: "- **Detail/list drift survives**: one renderer could remain on old wording. Mitigation: focused list + detail + shell coverage in the same package." - row "290 +" [ref=e8560]: - cell [ref=e8561] - cell "290" [ref=e8562]: "290" - cell [ref=e8563] - cell "+" [ref=e8564]: - generic [ref=e8565]: + - cell [ref=e8566]: - code - 'row "291 + ## Out of Scope" [ref=e8567]': - cell [ref=e8568] - cell "291" [ref=e8569]: "291" - cell [ref=e8570] - cell "+" [ref=e8571]: - generic [ref=e8572]: + - cell "## Out of Scope" [ref=e8573]: - code [ref=e8574]: "## Out of Scope" - row "292 +" [ref=e8575]: - cell [ref=e8576] - cell "292" [ref=e8577]: "292" - cell [ref=e8578] - cell "+" [ref=e8579]: - generic [ref=e8580]: + - cell [ref=e8581]: - code - row "293 + - Queue worker health automation" [ref=e8582]: - cell [ref=e8583] - cell "293" [ref=e8584]: "293" - cell [ref=e8585] - cell "+" [ref=e8586]: - generic [ref=e8587]: + - cell "- Queue worker health automation" [ref=e8588]: - code [ref=e8589]: "- Queue worker health automation" - row "294 + - New scheduler, command, or job families" [ref=e8590]: - cell [ref=e8591] - cell "294" [ref=e8592]: "294" - cell [ref=e8593] - cell "+" [ref=e8594]: - generic [ref=e8595]: + - cell "- New scheduler, command, or job families" [ref=e8596]: - code [ref=e8597]: "- New scheduler, command, or job families" - 'row "295 + - New `OperationRun` statuses or outcomes" [ref=e8598]': - cell [ref=e8599] - cell "295" [ref=e8600]: "295" - cell [ref=e8601] - cell "+" [ref=e8602]: - generic [ref=e8603]: + - 'cell "- New `OperationRun` statuses or outcomes" [ref=e8604]': - code [ref=e8605]: "- New `OperationRun` statuses or outcomes" - row "296 + - Domain-success reconciliation for review, restore, backup, sync, or export runs" [ref=e8606]: - cell [ref=e8607] - cell "296" [ref=e8608]: "296" - cell [ref=e8609] - cell "+" [ref=e8610]: - generic [ref=e8611]: + - cell "- Domain-success reconciliation for review, restore, backup, sync, or export runs" [ref=e8612]: - code [ref=e8613]: "- Domain-success reconciliation for review, restore, backup, sync, or export runs" - row "297 + - Adapter framework expansion" [ref=e8614]: - cell [ref=e8615] - cell "297" [ref=e8616]: "297" - cell [ref=e8617] - cell "+" [ref=e8618]: - generic [ref=e8619]: + - cell "- Adapter framework expansion" [ref=e8620]: - code [ref=e8621]: "- Adapter framework expansion" - row "298 + - New Filament resources, routes, or destructive actions" [ref=e8622]: - cell [ref=e8623] - cell "298" [ref=e8624]: "298" - cell [ref=e8625] - cell "+" [ref=e8626]: - generic [ref=e8627]: + - cell "- New Filament resources, routes, or destructive actions" [ref=e8628]: - code [ref=e8629]: "- New Filament resources, routes, or destructive actions" - generic [ref=e8630]: - 'heading "160 160 Änderungen: 160 Ergänzungen und 0 Löschungen specs/358-operationrun-queue-truth-foundation/tasks.md Normale Datei Datei anzeigen" [level=4] [ref=e8631]': - generic [ref=e8632]: - button [ref=e8633] [cursor=pointer]: - img [ref=e8634] - generic [ref=e8636]: - text: "160" - 'generic "160 Änderungen: 160 Ergänzungen und 0 Löschungen" [ref=e8637]' - generic [ref=e8639]: - link "specs/358-operationrun-queue-truth-foundation/tasks.md" [ref=e8640] [cursor=pointer]: - /url: "#diff-778998a295ffde42d87399c953196b492df71792" - button [ref=e8641] [cursor=pointer]: - img [ref=e8642] - generic [ref=e8645]: Normale Datei - link "Datei anzeigen" [ref=e8647] [cursor=pointer]: - /url: /ahmido/TenantAtlas/src/commit/03514b9e5b2addf53d5441f0fc122ccef0b51999/specs/358-operationrun-queue-truth-foundation/tasks.md - table [ref=e8650]: - rowgroup [ref=e8657]: - row "@ -0,0 +1,160 @@" [ref=e8658]: - cell [ref=e8659] - cell [ref=e8660] - cell [ref=e8661] - cell "@ -0,0 +1,160 @@" [ref=e8662]: - code [ref=e8663]: "@ -0,0 +1,160 @@" - 'row "1 + # Tasks: OperationRun Queue Truth Foundation" [ref=e8664]': - cell [ref=e8665] - cell "1" [ref=e8666]: "1" - cell [ref=e8667] - cell "+" [ref=e8668]: - generic [ref=e8669]: + - 'cell "# Tasks: OperationRun Queue Truth Foundation" [ref=e8670]': - code [ref=e8671]: "# Tasks: OperationRun Queue Truth Foundation" - row "2 +" [ref=e8672]: - cell [ref=e8673] - cell "2" [ref=e8674]: "2" - cell [ref=e8675] - cell "+" [ref=e8676]: - generic [ref=e8677]: + - cell [ref=e8678]: - code - 'row "3 + **Input**: `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, and `checklists/requirements.md`" [ref=e8679]': - cell [ref=e8680] - cell "3" [ref=e8681]: "3" - cell [ref=e8682] - cell "+" [ref=e8683]: - generic [ref=e8684]: + - 'cell "**Input**: `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, and `checklists/requirements.md`" [ref=e8685]': - code [ref=e8686]: "**Input**: `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, and `checklists/requirements.md`" - 'row "4 + **Prerequisites**: `spec.md` and `plan.md`" [ref=e8687]': - cell [ref=e8688] - cell "4" [ref=e8689]: "4" - cell [ref=e8690] - cell "+" [ref=e8691]: - generic [ref=e8692]: + - 'cell "**Prerequisites**: `spec.md` and `plan.md`" [ref=e8693]': - code [ref=e8694]: "**Prerequisites**: `spec.md` and `plan.md`" - 'row "5 + **Tests**: REQUIRED (Pest). Keep proof bounded to one unit family plus focused monitoring/detail feature tests." [ref=e8695]': - cell [ref=e8696] - cell "5" [ref=e8697]: "5" - cell [ref=e8698] - cell "+" [ref=e8699]: - generic [ref=e8700]: + - 'cell "**Tests**: REQUIRED (Pest). Keep proof bounded to one unit family plus focused monitoring/detail feature tests." [ref=e8701]': - code [ref=e8702]: "**Tests**: REQUIRED (Pest). Keep proof bounded to one unit family plus focused monitoring/detail feature tests." - 'row "6 + **Operations**: No new `OperationRun` type, no new queue family, no new notification path, no new reconciliation command, and no new persisted lifecycle state." [ref=e8703]': - cell [ref=e8704] - cell "6" [ref=e8705]: "6" - cell [ref=e8706] - cell "+" [ref=e8707]: - generic [ref=e8708]: + - 'cell "**Operations**: No new `OperationRun` type, no new queue family, no new notification path, no new reconciliation command, and no new persisted lifecycle state." [ref=e8709]': - code [ref=e8710]: "**Operations**: No new `OperationRun` type, no new queue family, no new notification path, no new reconciliation command, and no new persisted lifecycle state." - 'row "7 + **RBAC**: Reuse current workspace and managed-environment authorization rules; presentation must never reveal unauthorized runs." [ref=e8711]': - cell [ref=e8712] - cell "7" [ref=e8713]: "7" - cell [ref=e8714] - cell "+" [ref=e8715]: - generic [ref=e8716]: + - 'cell "**RBAC**: Reuse current workspace and managed-environment authorization rules; presentation must never reveal unauthorized runs." [ref=e8717]': - code [ref=e8718]: "**RBAC**: Reuse current workspace and managed-environment authorization rules; presentation must never reveal unauthorized runs." - 'row "8 + **Shared Pattern Reuse**: Reuse `OperationRunProgressContract`, `RunDurationInsights`, `OperationUxPresenter`, `OperationRunFreshnessState`, and existing monitoring renderers. Do not introduce a new adapter registry or queue-health framework." [ref=e8719]': - cell [ref=e8720] - cell "8" [ref=e8721]: "8" - cell [ref=e8722] - cell "+" [ref=e8723]: - generic [ref=e8724]: + - 'cell "**Shared Pattern Reuse**: Reuse `OperationRunProgressContract`, `RunDurationInsights`, `OperationUxPresenter`, `OperationRunFreshnessState`, and existing monitoring renderers. Do not introduce a new adapter registry or queue-health framework." [ref=e8725]': - code [ref=e8726]: "**Shared Pattern Reuse**: Reuse `OperationRunProgressContract`, `RunDurationInsights`, `OperationUxPresenter`, `OperationRunFreshnessState`, and existing monitoring renderers. Do not introduce a new adapter registry or queue-health framework." - 'row "9 + **Filament / Panel Guardrails**: Filament remains v5 on Livewire v4. Provider registration stays in `apps/platform/bootstrap/providers.php`. No new panel, route family, or asset strategy is allowed." [ref=e8727]': - cell [ref=e8728] - cell "9" [ref=e8729]: "9" - cell [ref=e8730] - cell "+" [ref=e8731]: - generic [ref=e8732]: + - 'cell "**Filament / Panel Guardrails**: Filament remains v5 on Livewire v4. Provider registration stays in `apps/platform/bootstrap/providers.php`. No new panel, route family, or asset strategy is allowed." [ref=e8733]': - code [ref=e8734]: "**Filament / Panel Guardrails**: Filament remains v5 on Livewire v4. Provider registration stays in `apps/platform/bootstrap/providers.php`. No new panel, route family, or asset strategy is allowed." - 'row "10 + **Organization**: Tasks are grouped by user story so the generic derivation, surface retrofit, and follow-up guardrails remain independently reviewable." [ref=e8735]': - cell [ref=e8736] - cell "10" [ref=e8737]: "10" - cell [ref=e8738] - cell "+" [ref=e8739]: - generic [ref=e8740]: + - 'cell "**Organization**: Tasks are grouped by user story so the generic derivation, surface retrofit, and follow-up guardrails remain independently reviewable." [ref=e8741]': - code [ref=e8742]: "**Organization**: Tasks are grouped by user story so the generic derivation, surface retrofit, and follow-up guardrails remain independently reviewable." - row "11 +" [ref=e8743]: - cell [ref=e8744] - cell "11" [ref=e8745]: "11" - cell [ref=e8746] - cell "+" [ref=e8747]: - generic [ref=e8748]: + - cell [ref=e8749]: - code - 'row "12 + ## Test Governance Checklist" [ref=e8750]': - cell [ref=e8751] - cell "12" [ref=e8752]: "12" - cell [ref=e8753] - cell "+" [ref=e8754]: - generic [ref=e8755]: + - cell "## Test Governance Checklist" [ref=e8756]: - code [ref=e8757]: "## Test Governance Checklist" - row "13 +" [ref=e8758]: - cell [ref=e8759] - cell "13" [ref=e8760]: "13" - cell [ref=e8761] - cell "+" [ref=e8762]: - generic [ref=e8763]: + - cell [ref=e8764]: - code - row "14 + - [x] Lane assignment is named and is the narrowest sufficient proof for the changed behavior." [ref=e8765]: - cell [ref=e8766] - cell "14" [ref=e8767]: "14" - cell [ref=e8768] - cell "+" [ref=e8769]: - generic [ref=e8770]: + - cell "- [x] Lane assignment is named and is the narrowest sufficient proof for the changed behavior." [ref=e8771]: - code [ref=e8772]: "- [x] Lane assignment is named and is the narrowest sufficient proof for the changed behavior." - row "15 + - [x] New or changed tests stay in the smallest honest family, and no hidden browser or heavy-governance proof is introduced." [ref=e8773]: - cell [ref=e8774] - cell "15" [ref=e8775]: "15" - cell [ref=e8776] - cell "+" [ref=e8777]: - generic [ref=e8778]: + - cell "- [x] New or changed tests stay in the smallest honest family, and no hidden browser or heavy-governance proof is introduced." [ref=e8779]: - code [ref=e8780]: "- [x] New or changed tests stay in the smallest honest family, and no hidden browser or heavy-governance proof is introduced." - row "16 + - [x] Shared helpers, fixtures, and context defaults stay cheap by default." [ref=e8781]: - cell [ref=e8782] - cell "16" [ref=e8783]: "16" - cell [ref=e8784] - cell "+" [ref=e8785]: - generic [ref=e8786]: + - cell "- [x] Shared helpers, fixtures, and context defaults stay cheap by default." [ref=e8787]: - code [ref=e8788]: "- [x] Shared helpers, fixtures, and context defaults stay cheap by default." - row "17 + - [x] Planned validation commands cover the change without widening into unrelated lanes." [ref=e8789]: - cell [ref=e8790] - cell "17" [ref=e8791]: "17" - cell [ref=e8792] - cell "+" [ref=e8793]: - generic [ref=e8794]: + - cell "- [x] Planned validation commands cover the change without widening into unrelated lanes." [ref=e8795]: - code [ref=e8796]: "- [x] Planned validation commands cover the change without widening into unrelated lanes." - row "18 + - [x] The declared monitoring/detail surface test profile is explicit." [ref=e8797]: - cell [ref=e8798] - cell "18" [ref=e8799]: "18" - cell [ref=e8800] - cell "+" [ref=e8801]: - generic [ref=e8802]: + - cell "- [x] The declared monitoring/detail surface test profile is explicit." [ref=e8803]: - code [ref=e8804]: "- [x] The declared monitoring/detail surface test profile is explicit." - row "19 + - [x] Any material budget, baseline, or escalation note is recorded in the active feature close-out." [ref=e8805]: - cell [ref=e8806] - cell "19" [ref=e8807]: "19" - cell [ref=e8808] - cell "+" [ref=e8809]: - generic [ref=e8810]: + - cell "- [x] Any material budget, baseline, or escalation note is recorded in the active feature close-out." [ref=e8811]: - code [ref=e8812]: "- [x] Any material budget, baseline, or escalation note is recorded in the active feature close-out." - row "20 +" [ref=e8813]: - cell [ref=e8814] - cell "20" [ref=e8815]: "20" - cell [ref=e8816] - cell "+" [ref=e8817]: - generic [ref=e8818]: + - cell [ref=e8819]: - code - 'row "21 + ## Phase 1: Setup (Shared Truth Inventory)" [ref=e8820]': - cell [ref=e8821] - cell "21" [ref=e8822]: "21" - cell [ref=e8823] - cell "+" [ref=e8824]: - generic [ref=e8825]: + - 'cell "## Phase 1: Setup (Shared Truth Inventory)" [ref=e8826]': - code [ref=e8827]: "## Phase 1: Setup (Shared Truth Inventory)" - row "22 +" [ref=e8828]: - cell [ref=e8829] - cell "22" [ref=e8830]: "22" - cell [ref=e8831] - cell "+" [ref=e8832]: - generic [ref=e8833]: + - cell [ref=e8834]: - code - 'row "23 + **Purpose**: confirm the current contradiction and the exact shared helper boundaries before runtime edits begin." [ref=e8835]': - cell [ref=e8836] - cell "23" [ref=e8837]: "23" - cell [ref=e8838] - cell "+" [ref=e8839]: - generic [ref=e8840]: + - 'cell "**Purpose**: confirm the current contradiction and the exact shared helper boundaries before runtime edits begin." [ref=e8841]': - code [ref=e8842]: "**Purpose**: confirm the current contradiction and the exact shared helper boundaries before runtime edits begin." - row "24 +" [ref=e8843]: - cell [ref=e8844] - cell "24" [ref=e8845]: "24" - cell [ref=e8846] - cell "+" [ref=e8847]: - generic [ref=e8848]: + - cell [ref=e8849]: - code - 'row "25 + - [x] T001 Review `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, `checklists/requirements.md`, `.specify/memory/constitution.md`, `docs/ai-coding-rules.md`, `specs/149-queued-execution-reauthorization/spec.md`, `specs/160-operation-lifecycle-guarantees/spec.md`, `specs/233-stale-run-visibility/spec.md`, `specs/268-operationrun-activity-feedback/spec.md`, `specs/270-operationrun-progress-contract/spec.md`, and `specs/272-operationrun-phase-composite-progress/spec.md` together so the implementation stays on current repo truth." [ref=e8850]': - cell [ref=e8851] - cell "25" [ref=e8852]: "25" - cell [ref=e8853] - cell "+" [ref=e8854]: - generic [ref=e8855]: + - 'cell "- [x] T001 Review `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, `checklists/requirements.md`, `.specify/memory/constitution.md`, `docs/ai-coding-rules.md`, `specs/149-queued-execution-reauthorization/spec.md`, `specs/160-operation-lifecycle-guarantees/spec.md`, `specs/233-stale-run-visibility/spec.md`, `specs/268-operationrun-activity-feedback/spec.md`, `specs/270-operationrun-progress-contract/spec.md`, and `specs/272-operationrun-phase-composite-progress/spec.md` together so the implementation stays on current repo truth." [ref=e8856]': - code [ref=e8857]: "- [x] T001 Review `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, `checklists/requirements.md`, `.specify/memory/constitution.md`, `docs/ai-coding-rules.md`, `specs/149-queued-execution-reauthorization/spec.md`, `specs/160-operation-lifecycle-guarantees/spec.md`, `specs/233-stale-run-visibility/spec.md`, `specs/268-operationrun-activity-feedback/spec.md`, `specs/270-operationrun-progress-contract/spec.md`, and `specs/272-operationrun-phase-composite-progress/spec.md` together so the implementation stays on current repo truth." - 'row "26 + - [x] T002 [P] Confirm the current generic derivation seams in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`, and `apps/platform/app/Support/Operations/OperationRunFreshnessState.php`." [ref=e8858]': - cell [ref=e8859] - cell "26" [ref=e8860]: "26" - cell [ref=e8861] - cell "+" [ref=e8862]: - generic [ref=e8863]: + - 'cell "- [x] T002 [P] Confirm the current generic derivation seams in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`, and `apps/platform/app/Support/Operations/OperationRunFreshnessState.php`." [ref=e8864]': - code [ref=e8865]: "- [x] T002 [P] Confirm the current generic derivation seams in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`, and `apps/platform/app/Support/Operations/OperationRunFreshnessState.php`." - 'row "27 + - [x] T003 [P] Confirm the current render seams in `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php`, `apps/platform/app/Filament/Pages/Monitoring/Operations.php`, `apps/platform/resources/views/filament/pages/monitoring/operations.blade.php`, `apps/platform/app/Filament/Resources/OperationRunResource.php` as the shared table/detail seam, and `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`." [ref=e8866]': - cell [ref=e8867] - cell "27" [ref=e8868]: "27" - cell [ref=e8869] - cell "+" [ref=e8870]: - generic [ref=e8871]: + - 'cell "- [x] T003 [P] Confirm the current render seams in `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php`, `apps/platform/app/Filament/Pages/Monitoring/Operations.php`, `apps/platform/resources/views/filament/pages/monitoring/operations.blade.php`, `apps/platform/app/Filament/Resources/OperationRunResource.php` as the shared table/detail seam, and `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`." [ref=e8872]': - code [ref=e8873]: "- [x] T003 [P] Confirm the current render seams in `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php`, `apps/platform/app/Filament/Pages/Monitoring/Operations.php`, `apps/platform/resources/views/filament/pages/monitoring/operations.blade.php`, `apps/platform/app/Filament/Resources/OperationRunResource.php` as the shared table/detail seam, and `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`." - 'row "28 + - [x] T004 [P] Confirm the focused proof owners in `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`, `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`, `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`, `apps/platform/tests/Feature/MonitoringOperationsTest.php`, `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php`, `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php`, `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php`, and `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php`." [ref=e8874]': - cell [ref=e8875] - cell "28" [ref=e8876]: "28" - cell [ref=e8877] - cell "+" [ref=e8878]: - generic [ref=e8879]: + - 'cell "- [x] T004 [P] Confirm the focused proof owners in `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`, `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`, `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`, `apps/platform/tests/Feature/MonitoringOperationsTest.php`, `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php`, `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php`, `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php`, and `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php`." [ref=e8880]': - code [ref=e8881]: "- [x] T004 [P] Confirm the focused proof owners in `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`, `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`, `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`, `apps/platform/tests/Feature/MonitoringOperationsTest.php`, `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php`, `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php`, `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php`, and `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php`." - row "29 +" [ref=e8882]: - cell [ref=e8883] - cell "29" [ref=e8884]: "29" - cell [ref=e8885] - cell "+" [ref=e8886]: - generic [ref=e8887]: + - cell [ref=e8888]: - code - row "30 + ---" [ref=e8889]: - cell [ref=e8890] - cell "30" [ref=e8891]: "30" - cell [ref=e8892] - cell "+" [ref=e8893]: - generic [ref=e8894]: + - cell "---" [ref=e8895]: - code [ref=e8896]: "---" - row "31 +" [ref=e8897]: - cell [ref=e8898] - cell "31" [ref=e8899]: "31" - cell [ref=e8900] - cell "+" [ref=e8901]: - generic [ref=e8902]: + - cell [ref=e8903]: - code - 'row "32 + ## Phase 2: Foundational (Blocking Queue-Truth Contract)" [ref=e8904]': - cell [ref=e8905] - cell "32" [ref=e8906]: "32" - cell [ref=e8907] - cell "+" [ref=e8908]: - generic [ref=e8909]: + - 'cell "## Phase 2: Foundational (Blocking Queue-Truth Contract)" [ref=e8910]': - code [ref=e8911]: "## Phase 2: Foundational (Blocking Queue-Truth Contract)" - row "33 +" [ref=e8912]: - cell [ref=e8913] - cell "33" [ref=e8914]: "33" - cell [ref=e8915] - cell "+" [ref=e8916]: - generic [ref=e8917]: + - cell [ref=e8918]: - code - 'row "34 + **Purpose**: settle one generic queue-truth contract before any individual surface is updated." [ref=e8919]': - cell [ref=e8920] - cell "34" [ref=e8921]: "34" - cell [ref=e8922] - cell "+" [ref=e8923]: - generic [ref=e8924]: + - 'cell "**Purpose**: settle one generic queue-truth contract before any individual surface is updated." [ref=e8925]': - code [ref=e8926]: "**Purpose**: settle one generic queue-truth contract before any individual surface is updated." - row "35 +" [ref=e8927]: - cell [ref=e8928] - cell "35" [ref=e8929]: "35" - cell [ref=e8930] - cell "+" [ref=e8931]: - generic [ref=e8932]: + - cell [ref=e8933]: - code - 'row "36 + **Critical**: No user-story runtime work should begin until this phase is complete." [ref=e8934]': - cell [ref=e8935] - cell "36" [ref=e8936]: "36" - cell [ref=e8937] - cell "+" [ref=e8938]: - generic [ref=e8939]: + - 'cell "**Critical**: No user-story runtime work should begin until this phase is complete." [ref=e8940]': - code [ref=e8941]: "**Critical**: No user-story runtime work should begin until this phase is complete." - row "37 +" [ref=e8942]: - cell [ref=e8943] - cell "37" [ref=e8944]: "37" - cell [ref=e8945] - cell "+" [ref=e8946]: - generic [ref=e8947]: + - cell [ref=e8948]: - code - 'row "38 + - [x] T005 [P] Add or extend failing unit coverage in `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php` for fresh queued, stale queued, fresh running, stale running, determinate-progress stale running, unsupported lifecycle, and reconciled-terminal cases." [ref=e8949]': - cell [ref=e8950] - cell "38" [ref=e8951]: "38" - cell [ref=e8952] - cell "+" [ref=e8953]: - generic [ref=e8954]: + - 'cell "- [x] T005 [P] Add or extend failing unit coverage in `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php` for fresh queued, stale queued, fresh running, stale running, determinate-progress stale running, unsupported lifecycle, and reconciled-terminal cases." [ref=e8955]': - code [ref=e8956]: "- [x] T005 [P] Add or extend failing unit coverage in `apps/platform/tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php` for fresh queued, stale queued, fresh running, stale running, determinate-progress stale running, unsupported lifecycle, and reconciled-terminal cases." - 'row "39 + - [x] T006 [P] Add or extend focused feature coverage in `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`, `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`, and `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php` proving that stale-active runs do not mix stale attention with ordinary queue/progress reassurance." [ref=e8957]': - cell [ref=e8958] - cell "39" [ref=e8959]: "39" - cell [ref=e8960] - cell "+" [ref=e8961]: - generic [ref=e8962]: + - 'cell "- [x] T006 [P] Add or extend focused feature coverage in `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`, `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`, and `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php` proving that stale-active runs do not mix stale attention with ordinary queue/progress reassurance." [ref=e8963]': - code [ref=e8964]: "- [x] T006 [P] Add or extend focused feature coverage in `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`, `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php`, and `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php` proving that stale-active runs do not mix stale attention with ordinary queue/progress reassurance." - 'row "40 + - [x] T007 Freeze the canonical derivation boundary in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`, and `apps/platform/app/Support/Operations/OperationRunFreshnessState.php` without introducing new persisted state or a new registry." [ref=e8965]': - cell [ref=e8966] - cell "40" [ref=e8967]: "40" - cell [ref=e8968] - cell "+" [ref=e8969]: - generic [ref=e8970]: + - 'cell "- [x] T007 Freeze the canonical derivation boundary in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`, and `apps/platform/app/Support/Operations/OperationRunFreshnessState.php` without introducing new persisted state or a new registry." [ref=e8971]': - code [ref=e8972]: "- [x] T007 Freeze the canonical derivation boundary in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, `apps/platform/app/Support/OpsUx/OperationUxPresenter.php`, and `apps/platform/app/Support/Operations/OperationRunFreshnessState.php` without introducing new persisted state or a new registry." - row "41 +" [ref=e8973]: - cell [ref=e8974] - cell "41" [ref=e8975]: "41" - cell [ref=e8976] - cell "+" [ref=e8977]: - generic [ref=e8978]: + - cell [ref=e8979]: - code - 'row "42 + **Checkpoint**: Generic queue truth is derived from one aligned helper path before shell/list/detail surfaces are edited." [ref=e8980]': - cell [ref=e8981] - cell "42" [ref=e8982]: "42" - cell [ref=e8983] - cell "+" [ref=e8984]: - generic [ref=e8985]: + - 'cell "**Checkpoint**: Generic queue truth is derived from one aligned helper path before shell/list/detail surfaces are edited." [ref=e8986]': - code [ref=e8987]: "**Checkpoint**: Generic queue truth is derived from one aligned helper path before shell/list/detail surfaces are edited." - row "43 +" [ref=e8988]: - cell [ref=e8989] - cell "43" [ref=e8990]: "43" - cell [ref=e8991] - cell "+" [ref=e8992]: - generic [ref=e8993]: + - cell [ref=e8994]: - code - row "44 + ---" [ref=e8995]: - cell [ref=e8996] - cell "44" [ref=e8997]: "44" - cell [ref=e8998] - cell "+" [ref=e8999]: - generic [ref=e9000]: + - cell "---" [ref=e9001]: - code [ref=e9002]: "---" - row "45 +" [ref=e9003]: - cell [ref=e9004] - cell "45" [ref=e9005]: "45" - cell [ref=e9006] - cell "+" [ref=e9007]: - generic [ref=e9008]: + - cell [ref=e9009]: - code - 'row "46 + ## Phase 3: User Story 1 - See honest queued and stale truth on active monitoring surfaces (Priority: P1)" [ref=e9010]': - cell [ref=e9011] - cell "46" [ref=e9012]: "46" - cell [ref=e9013] - cell "+" [ref=e9014]: - generic [ref=e9015]: + - 'cell "## Phase 3: User Story 1 - See honest queued and stale truth on active monitoring surfaces (Priority: P1)" [ref=e9016]': - code [ref=e9017]: "## Phase 3: User Story 1 - See honest queued and stale truth on active monitoring surfaces (Priority: P1)" - row "47 +" [ref=e9018]: - cell [ref=e9019] - cell "47" [ref=e9020]: "47" - cell [ref=e9021] - cell "+" [ref=e9022]: - generic [ref=e9023]: + - cell [ref=e9024]: - code - 'row "48 + **Goal**: shell and list surfaces no longer mix stale-active attention with calm queue or progress reassurance." [ref=e9025]': - cell [ref=e9026] - cell "48" [ref=e9027]: "48" - cell [ref=e9028] - cell "+" [ref=e9029]: - generic [ref=e9030]: + - 'cell "**Goal**: shell and list surfaces no longer mix stale-active attention with calm queue or progress reassurance." [ref=e9031]': - code [ref=e9032]: "**Goal**: shell and list surfaces no longer mix stale-active attention with calm queue or progress reassurance." - row "49 +" [ref=e9033]: - cell [ref=e9034] - cell "49" [ref=e9035]: "49" - cell [ref=e9036] - cell "+" [ref=e9037]: - generic [ref=e9038]: + - cell [ref=e9039]: - code - 'row "50 + **Independent Test**: seed fresh and stale queued/running runs, render the shell hint and operations list, and verify that only fresh active work keeps calm queue/progress copy." [ref=e9040]': - cell [ref=e9041] - cell "50" [ref=e9042]: "50" - cell [ref=e9043] - cell "+" [ref=e9044]: - generic [ref=e9045]: + - 'cell "**Independent Test**: seed fresh and stale queued/running runs, render the shell hint and operations list, and verify that only fresh active work keeps calm queue/progress copy." [ref=e9046]': - code [ref=e9047]: "**Independent Test**: seed fresh and stale queued/running runs, render the shell hint and operations list, and verify that only fresh active work keeps calm queue/progress copy." - row "51 +" [ref=e9048]: - cell [ref=e9049] - cell "51" [ref=e9050]: "51" - cell [ref=e9051] - cell "+" [ref=e9052]: - generic [ref=e9053]: + - cell [ref=e9054]: - code - 'row "52 + ### Tests for User Story 1" [ref=e9055]': - cell [ref=e9056] - cell "52" [ref=e9057]: "52" - cell [ref=e9058] - cell "+" [ref=e9059]: - generic [ref=e9060]: + - cell "### Tests for User Story 1" [ref=e9061]: - code [ref=e9062]: "### Tests for User Story 1" - row "53 +" [ref=e9063]: - cell [ref=e9064] - cell "53" [ref=e9065]: "53" - cell [ref=e9066] - cell "+" [ref=e9067]: - generic [ref=e9068]: + - cell [ref=e9069]: - code - 'row "54 + - [x] T008 [P] [US1] Extend `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php` and `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php` for stale queued, stale running, and determinate-progress stale-running shell cases." [ref=e9070]': - cell [ref=e9071] - cell "54" [ref=e9072]: "54" - cell [ref=e9073] - cell "+" [ref=e9074]: - generic [ref=e9075]: + - 'cell "- [x] T008 [P] [US1] Extend `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php` and `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php` for stale queued, stale running, and determinate-progress stale-running shell cases." [ref=e9076]': - code [ref=e9077]: "- [x] T008 [P] [US1] Extend `apps/platform/tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php` and `apps/platform/tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php` for stale queued, stale running, and determinate-progress stale-running shell cases." - 'row "55 + - [x] T009 [P] [US1] Extend `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php` and `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php` for operations-list row truth and lifecycle-attention alignment." [ref=e9078]': - cell [ref=e9079] - cell "55" [ref=e9080]: "55" - cell [ref=e9081] - cell "+" [ref=e9082]: - generic [ref=e9083]: + - 'cell "- [x] T009 [P] [US1] Extend `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php` and `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php` for operations-list row truth and lifecycle-attention alignment." [ref=e9084]': - code [ref=e9085]: "- [x] T009 [P] [US1] Extend `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php` and `apps/platform/tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php` for operations-list row truth and lifecycle-attention alignment." - row "56 +" [ref=e9086]: - cell [ref=e9087] - cell "56" [ref=e9088]: "56" - cell [ref=e9089] - cell "+" [ref=e9090]: - generic [ref=e9091]: + - cell [ref=e9092]: - code - 'row "57 + ### Implementation for User Story 1" [ref=e9093]': - cell [ref=e9094] - cell "57" [ref=e9095]: "57" - cell [ref=e9096] - cell "+" [ref=e9097]: - generic [ref=e9098]: + - cell "### Implementation for User Story 1" [ref=e9099]: - code [ref=e9100]: "### Implementation for User Story 1" - row "58 +" [ref=e9101]: - cell [ref=e9102] - cell "58" [ref=e9103]: "58" - cell [ref=e9104] - cell "+" [ref=e9105]: - generic [ref=e9106]: + - cell [ref=e9107]: - code - 'row "59 + - [x] T010 [US1] Align generic progress and queue guidance in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, and `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` so stale-active work no longer presents ordinary queue/progress reassurance." [ref=e9108]': - cell [ref=e9109] - cell "59" [ref=e9110]: "59" - cell [ref=e9111] - cell "+" [ref=e9112]: - generic [ref=e9113]: + - 'cell "- [x] T010 [US1] Align generic progress and queue guidance in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, and `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` so stale-active work no longer presents ordinary queue/progress reassurance." [ref=e9114]': - code [ref=e9115]: "- [x] T010 [US1] Align generic progress and queue guidance in `apps/platform/app/Support/OpsUx/OperationRunProgressContract.php`, `apps/platform/app/Support/OpsUx/RunDurationInsights.php`, and `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` so stale-active work no longer presents ordinary queue/progress reassurance." - 'row "60 + - [x] T011 [US1] Update `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php` so the shell activity hint consumes the aligned generic queue truth without local contradictory fallback copy." [ref=e9116]': - cell [ref=e9117] - cell "60" [ref=e9118]: "60" - cell [ref=e9119] - cell "+" [ref=e9120]: - generic [ref=e9121]: + - 'cell "- [x] T011 [US1] Update `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php` so the shell activity hint consumes the aligned generic queue truth without local contradictory fallback copy." [ref=e9122]': - code [ref=e9123]: "- [x] T011 [US1] Update `apps/platform/resources/views/livewire/bulk-operation-progress.blade.php` so the shell activity hint consumes the aligned generic queue truth without local contradictory fallback copy." - 'row "61 + - [x] T012 [US1] Update `apps/platform/app/Filament/Pages/Monitoring/Operations.php` and `apps/platform/app/Filament/Resources/OperationRunResource.php` only as needed so the route-backed operations hub plus the shared table/detail summaries expose the same generic queue truth." [ref=e9124]': - cell [ref=e9125] - cell "61" [ref=e9126]: "61" - cell [ref=e9127] - cell "+" [ref=e9128]: - generic [ref=e9129]: + - 'cell "- [x] T012 [US1] Update `apps/platform/app/Filament/Pages/Monitoring/Operations.php` and `apps/platform/app/Filament/Resources/OperationRunResource.php` only as needed so the route-backed operations hub plus the shared table/detail summaries expose the same generic queue truth." [ref=e9130]': - code [ref=e9131]: "- [x] T012 [US1] Update `apps/platform/app/Filament/Pages/Monitoring/Operations.php` and `apps/platform/app/Filament/Resources/OperationRunResource.php` only as needed so the route-backed operations hub plus the shared table/detail summaries expose the same generic queue truth." - row "62 +" [ref=e9132]: - cell [ref=e9133] - cell "62" [ref=e9134]: "62" - cell [ref=e9135] - cell "+" [ref=e9136]: - generic [ref=e9137]: + - cell [ref=e9138]: - code - 'row "63 + **Checkpoint**: User Story 1 is independently functional when stale-active work reads honestly on shell and list surfaces." [ref=e9139]': - cell [ref=e9140] - cell "63" [ref=e9141]: "63" - cell [ref=e9142] - cell "+" [ref=e9143]: - generic [ref=e9144]: + - 'cell "**Checkpoint**: User Story 1 is independently functional when stale-active work reads honestly on shell and list surfaces." [ref=e9145]': - code [ref=e9146]: "**Checkpoint**: User Story 1 is independently functional when stale-active work reads honestly on shell and list surfaces." - row "64 +" [ref=e9147]: - cell [ref=e9148] - cell "64" [ref=e9149]: "64" - cell [ref=e9150] - cell "+" [ref=e9151]: - generic [ref=e9152]: + - cell [ref=e9153]: - code - row "65 + ---" [ref=e9154]: - cell [ref=e9155] - cell "65" [ref=e9156]: "65" - cell [ref=e9157] - cell "+" [ref=e9158]: - generic [ref=e9159]: + - cell "---" [ref=e9160]: - code [ref=e9161]: "---" - row "66 +" [ref=e9162]: - cell [ref=e9163] - cell "66" [ref=e9164]: "66" - cell [ref=e9165] - cell "+" [ref=e9166]: - generic [ref=e9167]: + - cell [ref=e9168]: - code - 'row "67 + ## Phase 4: User Story 2 - Keep canonical run detail aligned with generic queue truth (Priority: P1)" [ref=e9169]': - cell [ref=e9170] - cell "67" [ref=e9171]: "67" - cell [ref=e9172] - cell "+" [ref=e9173]: - generic [ref=e9174]: + - 'cell "## Phase 4: User Story 2 - Keep canonical run detail aligned with generic queue truth (Priority: P1)" [ref=e9175]': - code [ref=e9176]: "## Phase 4: User Story 2 - Keep canonical run detail aligned with generic queue truth (Priority: P1)" - row "68 +" [ref=e9177]: - cell [ref=e9178] - cell "68" [ref=e9179]: "68" - cell [ref=e9180] - cell "+" [ref=e9181]: - generic [ref=e9182]: + - cell [ref=e9183]: - code - 'row "69 + **Goal**: canonical run detail confirms the same lifecycle meaning before deeper diagnostics render." [ref=e9184]': - cell [ref=e9185] - cell "69" [ref=e9186]: "69" - cell [ref=e9187] - cell "+" [ref=e9188]: - generic [ref=e9189]: + - 'cell "**Goal**: canonical run detail confirms the same lifecycle meaning before deeper diagnostics render." [ref=e9190]': - code [ref=e9191]: "**Goal**: canonical run detail confirms the same lifecycle meaning before deeper diagnostics render." - row "70 +" [ref=e9192]: - cell [ref=e9193] - cell "70" [ref=e9194]: "70" - cell [ref=e9195] - cell "+" [ref=e9196]: - generic [ref=e9197]: + - cell [ref=e9198]: - code - 'row "71 + **Independent Test**: open canonical detail for fresh, stale, and reconciled runs and verify that top-level lifecycle guidance matches shell/list semantics." [ref=e9199]': - cell [ref=e9200] - cell "71" [ref=e9201]: "71" - cell [ref=e9202] - cell "+" [ref=e9203]: - generic [ref=e9204]: + - 'cell "**Independent Test**: open canonical detail for fresh, stale, and reconciled runs and verify that top-level lifecycle guidance matches shell/list semantics." [ref=e9205]': - code [ref=e9206]: "**Independent Test**: open canonical detail for fresh, stale, and reconciled runs and verify that top-level lifecycle guidance matches shell/list semantics." - row "72 +" [ref=e9207]: - cell [ref=e9208] - cell "72" [ref=e9209]: "72" - cell [ref=e9210] - cell "+" [ref=e9211]: - generic [ref=e9212]: + - cell [ref=e9213]: - code - 'row "73 + ### Tests for User Story 2" [ref=e9214]': - cell [ref=e9215] - cell "73" [ref=e9216]: "73" - cell [ref=e9217] - cell "+" [ref=e9218]: - generic [ref=e9219]: + - cell "### Tests for User Story 2" [ref=e9220]: - code [ref=e9221]: "### Tests for User Story 2" - row "74 +" [ref=e9222]: - cell [ref=e9223] - cell "74" [ref=e9224]: "74" - cell [ref=e9225] - cell "+" [ref=e9226]: - generic [ref=e9227]: + - cell [ref=e9228]: - code - 'row "75 + - [x] T013 [P] [US2] Extend `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php` and `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php` for fresh, stale, and reconciled-terminal top-summary behavior." [ref=e9229]': - cell [ref=e9230] - cell "75" [ref=e9231]: "75" - cell [ref=e9232] - cell "+" [ref=e9233]: - generic [ref=e9234]: + - 'cell "- [x] T013 [P] [US2] Extend `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php` and `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php` for fresh, stale, and reconciled-terminal top-summary behavior." [ref=e9235]': - code [ref=e9236]: "- [x] T013 [P] [US2] Extend `apps/platform/tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php` and `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php` for fresh, stale, and reconciled-terminal top-summary behavior." - 'row "76 + - [x] T014 [P] [US2] Extend `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php` for compact-to-detail continuity where the same run is opened from the list after stale-active presentation." [ref=e9237]': - cell [ref=e9238] - cell "76" [ref=e9239]: "76" - cell [ref=e9240] - cell "+" [ref=e9241]: - generic [ref=e9242]: + - 'cell "- [x] T014 [P] [US2] Extend `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php` for compact-to-detail continuity where the same run is opened from the list after stale-active presentation." [ref=e9243]': - code [ref=e9244]: "- [x] T014 [P] [US2] Extend `apps/platform/tests/Feature/Monitoring/MonitoringOperationsTest.php` for compact-to-detail continuity where the same run is opened from the list after stale-active presentation." - row "77 +" [ref=e9245]: - cell [ref=e9246] - cell "77" [ref=e9247]: "77" - cell [ref=e9248] - cell "+" [ref=e9249]: - generic [ref=e9250]: + - cell [ref=e9251]: - code - 'row "78 + ### Implementation for User Story 2" [ref=e9252]': - cell [ref=e9253] - cell "78" [ref=e9254]: "78" - cell [ref=e9255] - cell "+" [ref=e9256]: - generic [ref=e9257]: + - cell "### Implementation for User Story 2" [ref=e9258]: - code [ref=e9259]: "### Implementation for User Story 2" - row "79 +" [ref=e9260]: - cell [ref=e9261] - cell "79" [ref=e9262]: "79" - cell [ref=e9263] - cell "+" [ref=e9264]: - generic [ref=e9265]: + - cell [ref=e9266]: - code - 'row "80 + - [x] T015 [US2] Update `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php` so lifecycle banners and detail guidance reflect the aligned generic queue truth before raw diagnostics." [ref=e9267]': - cell [ref=e9268] - cell "80" [ref=e9269]: "80" - cell [ref=e9270] - cell "+" [ref=e9271]: - generic [ref=e9272]: + - 'cell "- [x] T015 [US2] Update `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php` so lifecycle banners and detail guidance reflect the aligned generic queue truth before raw diagnostics." [ref=e9273]': - code [ref=e9274]: "- [x] T015 [US2] Update `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php` so lifecycle banners and detail guidance reflect the aligned generic queue truth before raw diagnostics." - 'row "81 + - [x] T016 [US2] Update `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` and any touched `OperationRunResource` summary helpers so canonical detail and resource detail stay aligned." [ref=e9275]': - cell [ref=e9276] - cell "81" [ref=e9277]: "81" - cell [ref=e9278] - cell "+" [ref=e9279]: - generic [ref=e9280]: + - 'cell "- [x] T016 [US2] Update `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` and any touched `OperationRunResource` summary helpers so canonical detail and resource detail stay aligned." [ref=e9281]': - code [ref=e9282]: "- [x] T016 [US2] Update `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` and any touched `OperationRunResource` summary helpers so canonical detail and resource detail stay aligned." - row "82 +" [ref=e9283]: - cell [ref=e9284] - cell "82" [ref=e9285]: "82" - cell [ref=e9286] - cell "+" [ref=e9287]: - generic [ref=e9288]: + - cell [ref=e9289]: - code - 'row "83 + **Checkpoint**: User Story 2 is independently functional when canonical detail confirms, rather than contradicts, generic queue truth." [ref=e9290]': - cell [ref=e9291] - cell "83" [ref=e9292]: "83" - cell [ref=e9293] - cell "+" [ref=e9294]: - generic [ref=e9295]: + - 'cell "**Checkpoint**: User Story 2 is independently functional when canonical detail confirms, rather than contradicts, generic queue truth." [ref=e9296]': - code [ref=e9297]: "**Checkpoint**: User Story 2 is independently functional when canonical detail confirms, rather than contradicts, generic queue truth." - row "84 +" [ref=e9298]: - cell [ref=e9299] - cell "84" [ref=e9300]: "84" - cell [ref=e9301] - cell "+" [ref=e9302]: - generic [ref=e9303]: + - cell [ref=e9304]: - code - row "85 + ---" [ref=e9305]: - cell [ref=e9306] - cell "85" [ref=e9307]: "85" - cell [ref=e9308] - cell "+" [ref=e9309]: - generic [ref=e9310]: + - cell "---" [ref=e9311]: - code [ref=e9312]: "---" - row "86 +" [ref=e9313]: - cell [ref=e9314] - cell "86" [ref=e9315]: "86" - cell [ref=e9316] - cell "+" [ref=e9317]: - generic [ref=e9318]: + - cell [ref=e9319]: - code - 'row "87 + ## Phase 5: User Story 3 - Keep proof-backed reconciliation separate from generic queue truth (Priority: P2)" [ref=e9320]': - cell [ref=e9321] - cell "87" [ref=e9322]: "87" - cell [ref=e9323] - cell "+" [ref=e9324]: - generic [ref=e9325]: + - 'cell "## Phase 5: User Story 3 - Keep proof-backed reconciliation separate from generic queue truth (Priority: P2)" [ref=e9326]': - code [ref=e9327]: "## Phase 5: User Story 3 - Keep proof-backed reconciliation separate from generic queue truth (Priority: P2)" - row "88 +" [ref=e9328]: - cell [ref=e9329] - cell "88" [ref=e9330]: "88" - cell [ref=e9331] - cell "+" [ref=e9332]: - generic [ref=e9333]: + - cell [ref=e9334]: - code - 'row "89 + **Goal**: generic stale wording stays cautious, while existing scheduled/adapter reconciliation remains authoritative for terminal truth." [ref=e9335]': - cell [ref=e9336] - cell "89" [ref=e9337]: "89" - cell [ref=e9338] - cell "+" [ref=e9339]: - generic [ref=e9340]: + - 'cell "**Goal**: generic stale wording stays cautious, while existing scheduled/adapter reconciliation remains authoritative for terminal truth." [ref=e9341]': - code [ref=e9342]: "**Goal**: generic stale wording stays cautious, while existing scheduled/adapter reconciliation remains authoritative for terminal truth." - row "90 +" [ref=e9343]: - cell [ref=e9344] - cell "90" [ref=e9345]: "90" - cell [ref=e9346] - cell "+" [ref=e9347]: - generic [ref=e9348]: + - cell [ref=e9349]: - code - 'row "91 + **Independent Test**: compare stale active runs and already-reconciled terminal runs to verify that cautious generic wording and existing reconciled semantics both survive." [ref=e9350]': - cell [ref=e9351] - cell "91" [ref=e9352]: "91" - cell [ref=e9353] - cell "+" [ref=e9354]: - generic [ref=e9355]: + - 'cell "**Independent Test**: compare stale active runs and already-reconciled terminal runs to verify that cautious generic wording and existing reconciled semantics both survive." [ref=e9356]': - code [ref=e9357]: "**Independent Test**: compare stale active runs and already-reconciled terminal runs to verify that cautious generic wording and existing reconciled semantics both survive." - row "92 +" [ref=e9358]: - cell [ref=e9359] - cell "92" [ref=e9360]: "92" - cell [ref=e9361] - cell "+" [ref=e9362]: - generic [ref=e9363]: + - cell [ref=e9364]: - code - 'row "93 + ### Tests for User Story 3" [ref=e9365]': - cell [ref=e9366] - cell "93" [ref=e9367]: "93" - cell [ref=e9368] - cell "+" [ref=e9369]: - generic [ref=e9370]: + - cell "### Tests for User Story 3" [ref=e9371]: - code [ref=e9372]: "### Tests for User Story 3" - row "94 +" [ref=e9373]: - cell [ref=e9374] - cell "94" [ref=e9375]: "94" - cell [ref=e9376] - cell "+" [ref=e9377]: - generic [ref=e9378]: + - cell [ref=e9379]: - code - 'row "95 + - [x] T017 [P] [US3] Extend unit or feature coverage, including `apps/platform/tests/Feature/MonitoringOperationsTest.php` where the operations aggregate wording is already asserted, so stale active runs without strong legitimacy evidence do not claim orphaned or domain-complete truth while existing scheduled/adapter-reconciled terminal runs keep their terminal semantics." [ref=e9380]': - cell [ref=e9381] - cell "95" [ref=e9382]: "95" - cell [ref=e9383] - cell "+" [ref=e9384]: - generic [ref=e9385]: + - 'cell "- [x] T017 [P] [US3] Extend unit or feature coverage, including `apps/platform/tests/Feature/MonitoringOperationsTest.php` where the operations aggregate wording is already asserted, so stale active runs without strong legitimacy evidence do not claim orphaned or domain-complete truth while existing scheduled/adapter-reconciled terminal runs keep their terminal semantics." [ref=e9386]': - code [ref=e9387]: "- [x] T017 [P] [US3] Extend unit or feature coverage, including `apps/platform/tests/Feature/MonitoringOperationsTest.php` where the operations aggregate wording is already asserted, so stale active runs without strong legitimacy evidence do not claim orphaned or domain-complete truth while existing scheduled/adapter-reconciled terminal runs keep their terminal semantics." - 'row "96 + - [x] T018 [P] [US3] Extend `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php` or the nearest focused monitoring suite for reconciled-terminal detail language regression protection." [ref=e9388]': - cell [ref=e9389] - cell "96" [ref=e9390]: "96" - cell [ref=e9391] - cell "+" [ref=e9392]: - generic [ref=e9393]: + - 'cell "- [x] T018 [P] [US3] Extend `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php` or the nearest focused monitoring suite for reconciled-terminal detail language regression protection." [ref=e9394]': - code [ref=e9395]: "- [x] T018 [P] [US3] Extend `apps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.php` or the nearest focused monitoring suite for reconciled-terminal detail language regression protection." - row "97 +" [ref=e9396]: - cell [ref=e9397] - cell "97" [ref=e9398]: "97" - cell [ref=e9399] - cell "+" [ref=e9400]: - generic [ref=e9401]: + - cell [ref=e9402]: - code - 'row "98 + ### Implementation for User Story 3" [ref=e9403]': - cell [ref=e9404] - cell "98" [ref=e9405]: "98" - cell [ref=e9406] - cell "+" [ref=e9407]: - generic [ref=e9408]: + - cell "### Implementation for User Story 3" [ref=e9409]: - code [ref=e9410]: "### Implementation for User Story 3" - row "99 +" [ref=e9411]: - cell [ref=e9412] - cell "99" [ref=e9413]: "99" - cell [ref=e9414] - cell "+" [ref=e9415]: - generic [ref=e9416]: + - cell [ref=e9417]: - code - 'row "100 + - [x] T019 [US3] Tighten cautious stale-active wording in `apps/platform/app/Support/OpsUx/RunDurationInsights.php` and `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` so the generic path says only what current lifecycle truth can prove." [ref=e9418]': - cell [ref=e9419] - cell "100" [ref=e9420]: "100" - cell [ref=e9421] - cell "+" [ref=e9422]: - generic [ref=e9423]: + - 'cell "- [x] T019 [US3] Tighten cautious stale-active wording in `apps/platform/app/Support/OpsUx/RunDurationInsights.php` and `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` so the generic path says only what current lifecycle truth can prove." [ref=e9424]': - code [ref=e9425]: "- [x] T019 [US3] Tighten cautious stale-active wording in `apps/platform/app/Support/OpsUx/RunDurationInsights.php` and `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` so the generic path says only what current lifecycle truth can prove." - 'row "101 + - [x] T020 [US3] Confirm `apps/platform/app/Console/Commands/TenantpilotReconcileOperationRuns.php` and `apps/platform/app/Console/Commands/OpsReconcileAdapterRuns.php` need no runtime change and document that no command-layer change was required." [ref=e9426]': - cell [ref=e9427] - cell "101" [ref=e9428]: "101" - cell [ref=e9429] - cell "+" [ref=e9430]: - generic [ref=e9431]: + - 'cell "- [x] T020 [US3] Confirm `apps/platform/app/Console/Commands/TenantpilotReconcileOperationRuns.php` and `apps/platform/app/Console/Commands/OpsReconcileAdapterRuns.php` need no runtime change and document that no command-layer change was required." [ref=e9432]': - code [ref=e9433]: "- [x] T020 [US3] Confirm `apps/platform/app/Console/Commands/TenantpilotReconcileOperationRuns.php` and `apps/platform/app/Console/Commands/OpsReconcileAdapterRuns.php` need no runtime change and document that no command-layer change was required." - row "102 +" [ref=e9434]: - cell [ref=e9435] - cell "102" [ref=e9436]: "102" - cell [ref=e9437] - cell "+" [ref=e9438]: - generic [ref=e9439]: + - cell [ref=e9440]: - code - 'row "103 + **Checkpoint**: User Story 3 is independently functional when generic stale wording stays cautious and existing terminal reconciliation remains intact." [ref=e9441]': - cell [ref=e9442] - cell "103" [ref=e9443]: "103" - cell [ref=e9444] - cell "+" [ref=e9445]: - generic [ref=e9446]: + - 'cell "**Checkpoint**: User Story 3 is independently functional when generic stale wording stays cautious and existing terminal reconciliation remains intact." [ref=e9447]': - code [ref=e9448]: "**Checkpoint**: User Story 3 is independently functional when generic stale wording stays cautious and existing terminal reconciliation remains intact." - row "104 +" [ref=e9449]: - cell [ref=e9450] - cell "104" [ref=e9451]: "104" - cell [ref=e9452] - cell "+" [ref=e9453]: - generic [ref=e9454]: + - cell [ref=e9455]: - code - row "105 + ---" [ref=e9456]: - cell [ref=e9457] - cell "105" [ref=e9458]: "105" - cell [ref=e9459] - cell "+" [ref=e9460]: - generic [ref=e9461]: + - cell "---" [ref=e9462]: - code [ref=e9463]: "---" - row "106 +" [ref=e9464]: - cell [ref=e9465] - cell "106" [ref=e9466]: "106" - cell [ref=e9467] - cell "+" [ref=e9468]: - generic [ref=e9469]: + - cell [ref=e9470]: - code - 'row "107 + ## Phase 6: Polish & Cross-Cutting Validation" [ref=e9471]': - cell [ref=e9472] - cell "107" [ref=e9473]: "107" - cell [ref=e9474] - cell "+" [ref=e9475]: - generic [ref=e9476]: + - 'cell "## Phase 6: Polish & Cross-Cutting Validation" [ref=e9477]': - code [ref=e9478]: "## Phase 6: Polish & Cross-Cutting Validation" - row "108 +" [ref=e9479]: - cell [ref=e9480] - cell "108" [ref=e9481]: "108" - cell [ref=e9482] - cell "+" [ref=e9483]: - generic [ref=e9484]: + - cell [ref=e9485]: - code - 'row "109 + **Purpose**: validate the bounded slice, stop drift, and hand off a clean implementation path." [ref=e9486]': - cell [ref=e9487] - cell "109" [ref=e9488]: "109" - cell [ref=e9489] - cell "+" [ref=e9490]: - generic [ref=e9491]: + - 'cell "**Purpose**: validate the bounded slice, stop drift, and hand off a clean implementation path." [ref=e9492]': - code [ref=e9493]: "**Purpose**: validate the bounded slice, stop drift, and hand off a clean implementation path." - row "110 +" [ref=e9494]: - cell [ref=e9495] - cell "110" [ref=e9496]: "110" - cell [ref=e9497] - cell "+" [ref=e9498]: - generic [ref=e9499]: + - cell [ref=e9500]: - code - 'row "111 + - [x] T021 [P] Refresh `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, and `checklists/requirements.md` only if implementation proves a thinner or broader touched-file boundary." [ref=e9501]': - cell [ref=e9502] - cell "111" [ref=e9503]: "111" - cell [ref=e9504] - cell "+" [ref=e9505]: - generic [ref=e9506]: + - 'cell "- [x] T021 [P] Refresh `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, and `checklists/requirements.md` only if implementation proves a thinner or broader touched-file boundary." [ref=e9507]': - code [ref=e9508]: "- [x] T021 [P] Refresh `specs/358-operationrun-queue-truth-foundation/spec.md`, `plan.md`, and `checklists/requirements.md` only if implementation proves a thinner or broader touched-file boundary." - 'row "112 + - [x] T022 [P] Run `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`." [ref=e9509]': - cell [ref=e9510] - cell "112" [ref=e9511]: "112" - cell [ref=e9512] - cell "+" [ref=e9513]: - generic [ref=e9514]: + - 'cell "- [x] T022 [P] Run `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`." [ref=e9515]': - code [ref=e9516]: "- [x] T022 [P] Run `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`." - 'row "113 + - [x] T023 [P] Run `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`." [ref=e9517]': - cell [ref=e9518] - cell "113" [ref=e9519]: "113" - cell [ref=e9520] - cell "+" [ref=e9521]: - generic [ref=e9522]: + - 'cell "- [x] T023 [P] Run `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`." [ref=e9523]': - code [ref=e9524]: "- [x] T023 [P] Run `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`." - 'row "114 + - [x] T024 [P] Run `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` for touched platform files." [ref=e9525]': - cell [ref=e9526] - cell "114" [ref=e9527]: "114" - cell [ref=e9528] - cell "+" [ref=e9529]: - generic [ref=e9530]: + - 'cell "- [x] T024 [P] Run `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` for touched platform files." [ref=e9531]': - code [ref=e9532]: "- [x] T024 [P] Run `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` for touched platform files." - 'row "115 + - [x] T025 [P] Run `git diff --check`." [ref=e9533]': - cell [ref=e9534] - cell "115" [ref=e9535]: "115" - cell [ref=e9536] - cell "+" [ref=e9537]: - generic [ref=e9538]: + - 'cell "- [x] T025 [P] Run `git diff --check`." [ref=e9539]': - code [ref=e9540]: "- [x] T025 [P] Run `git diff --check`." - 'row "116 + - [x] T026 [P] Record the final queue-truth wording, proof boundaries, and any retained cautious-language decisions in the active feature close-out entry `Guardrail / Smoke Coverage`." [ref=e9541]': - cell [ref=e9542] - cell "116" [ref=e9543]: "116" - cell [ref=e9544] - cell "+" [ref=e9545]: - generic [ref=e9546]: + - 'cell "- [x] T026 [P] Record the final queue-truth wording, proof boundaries, and any retained cautious-language decisions in the active feature close-out entry `Guardrail / Smoke Coverage`." [ref=e9547]': - code [ref=e9548]: "- [x] T026 [P] Record the final queue-truth wording, proof boundaries, and any retained cautious-language decisions in the active feature close-out entry `Guardrail / Smoke Coverage`." - row "117 +" [ref=e9549]: - cell [ref=e9550] - cell "117" [ref=e9551]: "117" - cell [ref=e9552] - cell "+" [ref=e9553]: - generic [ref=e9554]: + - cell [ref=e9555]: - code - row "118 + ---" [ref=e9556]: - cell [ref=e9557] - cell "118" [ref=e9558]: "118" - cell [ref=e9559] - cell "+" [ref=e9560]: - generic [ref=e9561]: + - cell "---" [ref=e9562]: - code [ref=e9563]: "---" - row "119 +" [ref=e9564]: - cell [ref=e9565] - cell "119" [ref=e9566]: "119" - cell [ref=e9567] - cell "+" [ref=e9568]: - generic [ref=e9569]: + - cell [ref=e9570]: - code - 'row "120 + ## Dependencies & Execution Order" [ref=e9571]': - cell [ref=e9572] - cell "120" [ref=e9573]: "120" - cell [ref=e9574] - cell "+" [ref=e9575]: - generic [ref=e9576]: + - cell "## Dependencies & Execution Order" [ref=e9577]: - code [ref=e9578]: "## Dependencies & Execution Order" - row "121 +" [ref=e9579]: - cell [ref=e9580] - cell "121" [ref=e9581]: "121" - cell [ref=e9582] - cell "+" [ref=e9583]: - generic [ref=e9584]: + - cell [ref=e9585]: - code - 'row "122 + ### Phase Dependencies" [ref=e9586]': - cell [ref=e9587] - cell "122" [ref=e9588]: "122" - cell [ref=e9589] - cell "+" [ref=e9590]: - generic [ref=e9591]: + - cell "### Phase Dependencies" [ref=e9592]: - code [ref=e9593]: "### Phase Dependencies" - row "123 +" [ref=e9594]: - cell [ref=e9595] - cell "123" [ref=e9596]: "123" - cell [ref=e9597] - cell "+" [ref=e9598]: - generic [ref=e9599]: + - cell [ref=e9600]: - code - 'row "124 + - **Setup (Phase 1)**: no dependencies" [ref=e9601]': - cell [ref=e9602] - cell "124" [ref=e9603]: "124" - cell [ref=e9604] - cell "+" [ref=e9605]: - generic [ref=e9606]: + - 'cell "- **Setup (Phase 1)**: no dependencies" [ref=e9607]': - code [ref=e9608]: "- **Setup (Phase 1)**: no dependencies" - 'row "125 + - **Foundational (Phase 2)**: depends on Setup and blocks all story work" [ref=e9609]': - cell [ref=e9610] - cell "125" [ref=e9611]: "125" - cell [ref=e9612] - cell "+" [ref=e9613]: - generic [ref=e9614]: + - 'cell "- **Foundational (Phase 2)**: depends on Setup and blocks all story work" [ref=e9615]': - code [ref=e9616]: "- **Foundational (Phase 2)**: depends on Setup and blocks all story work" - 'row "126 + - **US1 (Phase 3)**: depends on Foundational completion" [ref=e9617]': - cell [ref=e9618] - cell "126" [ref=e9619]: "126" - cell [ref=e9620] - cell "+" [ref=e9621]: - generic [ref=e9622]: + - 'cell "- **US1 (Phase 3)**: depends on Foundational completion" [ref=e9623]': - code [ref=e9624]: "- **US1 (Phase 3)**: depends on Foundational completion" - 'row "127 + - **US2 (Phase 4)**: depends on Foundational completion and is easiest after US1 settles the shared wording" [ref=e9625]': - cell [ref=e9626] - cell "127" [ref=e9627]: "127" - cell [ref=e9628] - cell "+" [ref=e9629]: - generic [ref=e9630]: + - 'cell "- **US2 (Phase 4)**: depends on Foundational completion and is easiest after US1 settles the shared wording" [ref=e9631]': - code [ref=e9632]: "- **US2 (Phase 4)**: depends on Foundational completion and is easiest after US1 settles the shared wording" - 'row "128 + - **US3 (Phase 5)**: depends on US1 and US2 because it confirms the final generic truth boundary" [ref=e9633]': - cell [ref=e9634] - cell "128" [ref=e9635]: "128" - cell [ref=e9636] - cell "+" [ref=e9637]: - generic [ref=e9638]: + - 'cell "- **US3 (Phase 5)**: depends on US1 and US2 because it confirms the final generic truth boundary" [ref=e9639]': - code [ref=e9640]: "- **US3 (Phase 5)**: depends on US1 and US2 because it confirms the final generic truth boundary" - 'row "129 + - **Polish (Phase 6)**: depends on all desired user stories" [ref=e9641]': - cell [ref=e9642] - cell "129" [ref=e9643]: "129" - cell [ref=e9644] - cell "+" [ref=e9645]: - generic [ref=e9646]: + - 'cell "- **Polish (Phase 6)**: depends on all desired user stories" [ref=e9647]': - code [ref=e9648]: "- **Polish (Phase 6)**: depends on all desired user stories" - row "130 +" [ref=e9649]: - cell [ref=e9650] - cell "130" [ref=e9651]: "130" - cell [ref=e9652] - cell "+" [ref=e9653]: - generic [ref=e9654]: + - cell [ref=e9655]: - code - 'row "131 + ### Parallel Opportunities" [ref=e9656]': - cell [ref=e9657] - cell "131" [ref=e9658]: "131" - cell [ref=e9659] - cell "+" [ref=e9660]: - generic [ref=e9661]: + - cell "### Parallel Opportunities" [ref=e9662]: - code [ref=e9663]: "### Parallel Opportunities" - row "132 +" [ref=e9664]: - cell [ref=e9665] - cell "132" [ref=e9666]: "132" - cell [ref=e9667] - cell "+" [ref=e9668]: - generic [ref=e9669]: + - cell [ref=e9670]: - code - 'row "133 + - `T002`, `T003`, and `T004` can run in parallel." [ref=e9671]': - cell [ref=e9672] - cell "133" [ref=e9673]: "133" - cell [ref=e9674] - cell "+" [ref=e9675]: - generic [ref=e9676]: + - 'cell "- `T002`, `T003`, and `T004` can run in parallel." [ref=e9677]': - code [ref=e9678]: "- `T002`, `T003`, and `T004` can run in parallel." - 'row "134 + - `T005` and `T006` can run in parallel after the current contradiction is confirmed." [ref=e9679]': - cell [ref=e9680] - cell "134" [ref=e9681]: "134" - cell [ref=e9682] - cell "+" [ref=e9683]: - generic [ref=e9684]: + - 'cell "- `T005` and `T006` can run in parallel after the current contradiction is confirmed." [ref=e9685]': - code [ref=e9686]: "- `T005` and `T006` can run in parallel after the current contradiction is confirmed." - 'row "135 + - `T008` and `T009` can run in parallel." [ref=e9687]': - cell [ref=e9688] - cell "135" [ref=e9689]: "135" - cell [ref=e9690] - cell "+" [ref=e9691]: - generic [ref=e9692]: + - 'cell "- `T008` and `T009` can run in parallel." [ref=e9693]': - code [ref=e9694]: "- `T008` and `T009` can run in parallel." - 'row "136 + - `T013` and `T014` can run in parallel." [ref=e9695]': - cell [ref=e9696] - cell "136" [ref=e9697]: "136" - cell [ref=e9698] - cell "+" [ref=e9699]: - generic [ref=e9700]: + - 'cell "- `T013` and `T014` can run in parallel." [ref=e9701]': - code [ref=e9702]: "- `T013` and `T014` can run in parallel." - 'row "137 + - `T022`, `T023`, `T024`, and `T025` can run in parallel after implementation is stable." [ref=e9703]': - cell [ref=e9704] - cell "137" [ref=e9705]: "137" - cell [ref=e9706] - cell "+" [ref=e9707]: - generic [ref=e9708]: + - 'cell "- `T022`, `T023`, `T024`, and `T025` can run in parallel after implementation is stable." [ref=e9709]': - code [ref=e9710]: "- `T022`, `T023`, `T024`, and `T025` can run in parallel after implementation is stable." - row "138 +" [ref=e9711]: - cell [ref=e9712] - cell "138" [ref=e9713]: "138" - cell [ref=e9714] - cell "+" [ref=e9715]: - generic [ref=e9716]: + - cell [ref=e9717]: - code - 'row "139 + ### Implementation Strategy" [ref=e9718]': - cell [ref=e9719] - cell "139" [ref=e9720]: "139" - cell [ref=e9721] - cell "+" [ref=e9722]: - generic [ref=e9723]: + - cell "### Implementation Strategy" [ref=e9724]: - code [ref=e9725]: "### Implementation Strategy" - row "140 +" [ref=e9726]: - cell [ref=e9727] - cell "140" [ref=e9728]: "140" - cell [ref=e9729] - cell "+" [ref=e9730]: - generic [ref=e9731]: + - cell [ref=e9732]: - code - row "141 + 1. Freeze the shared queue-truth derivation first." [ref=e9733]: - cell [ref=e9734] - cell "141" [ref=e9735]: "141" - cell [ref=e9736] - cell "+" [ref=e9737]: - generic [ref=e9738]: + - cell "1. Freeze the shared queue-truth derivation first." [ref=e9739]: - code [ref=e9740]: 1. Freeze the shared queue-truth derivation first. - row "142 + 2. Ship US1 to remove the stale-vs-queue contradiction on shell/list surfaces." [ref=e9741]: - cell [ref=e9742] - cell "142" [ref=e9743]: "142" - cell [ref=e9744] - cell "+" [ref=e9745]: - generic [ref=e9746]: + - cell "2. Ship US1 to remove the stale-vs-queue contradiction on shell/list surfaces." [ref=e9747]: - code [ref=e9748]: 2. Ship US1 to remove the stale-vs-queue contradiction on shell/list surfaces. - row "143 + 3. Ship US2 so canonical detail confirms the same truth." [ref=e9749]: - cell [ref=e9750] - cell "143" [ref=e9751]: "143" - cell [ref=e9752] - cell "+" [ref=e9753]: - generic [ref=e9754]: + - cell "3. Ship US2 so canonical detail confirms the same truth." [ref=e9755]: - code [ref=e9756]: 3. Ship US2 so canonical detail confirms the same truth. - row "144 + 4. Ship US3 to protect the narrow boundary against overclaiming or framework creep." [ref=e9757]: - cell [ref=e9758] - cell "144" [ref=e9759]: "144" - cell [ref=e9760] - cell "+" [ref=e9761]: - generic [ref=e9762]: + - cell "4. Ship US3 to protect the narrow boundary against overclaiming or framework creep." [ref=e9763]: - code [ref=e9764]: 4. Ship US3 to protect the narrow boundary against overclaiming or framework creep. - row "145 + 5. Finish with the focused validation commands and close-out notes." [ref=e9765]: - cell [ref=e9766] - cell "145" [ref=e9767]: "145" - cell [ref=e9768] - cell "+" [ref=e9769]: - generic [ref=e9770]: + - cell "5. Finish with the focused validation commands and close-out notes." [ref=e9771]: - code [ref=e9772]: 5. Finish with the focused validation commands and close-out notes. - row "146 +" [ref=e9773]: - cell [ref=e9774] - cell "146" [ref=e9775]: "146" - cell [ref=e9776] - cell "+" [ref=e9777]: - generic [ref=e9778]: + - cell [ref=e9779]: - code - 'row "147 + ## Guardrail / Smoke Coverage" [ref=e9780]': - cell [ref=e9781] - cell "147" [ref=e9782]: "147" - cell [ref=e9783] - cell "+" [ref=e9784]: - generic [ref=e9785]: + - cell "## Guardrail / Smoke Coverage" [ref=e9786]: - code [ref=e9787]: "## Guardrail / Smoke Coverage" - row "148 +" [ref=e9788]: - cell [ref=e9789] - cell "148" [ref=e9790]: "148" - cell [ref=e9791] - cell "+" [ref=e9792]: - generic [ref=e9793]: + - cell [ref=e9794]: - code - 'row "149 + - Final queue-truth wording keeps stale-active guidance at `Past the lifecycle window. Review worker health and logs before retrying.` and removes competing calm queue/progress copy from shell, list, and top-level detail surfaces." [ref=e9795]': - cell [ref=e9796] - cell "149" [ref=e9797]: "149" - cell [ref=e9798] - cell "+" [ref=e9799]: - generic [ref=e9800]: + - 'cell "- Final queue-truth wording keeps stale-active guidance at `Past the lifecycle window. Review worker health and logs before retrying.` and removes competing calm queue/progress copy from shell, list, and top-level detail surfaces." [ref=e9801]': - code [ref=e9802]: "- Final queue-truth wording keeps stale-active guidance at `Past the lifecycle window. Review worker health and logs before retrying.` and removes competing calm queue/progress copy from shell, list, and top-level detail surfaces." - 'row "150 + - Proof boundary remains shared-first: `OperationRunProgressContract` owns stale-active progress truth, `OperationUxPresenter` owns aligned lifecycle/detail guidance, and the shell/list/detail surfaces consume those shared seams instead of local fallback wording." [ref=e9803]': - cell [ref=e9804] - cell "150" [ref=e9805]: "150" - cell [ref=e9806] - cell "+" [ref=e9807]: - generic [ref=e9808]: + - 'cell "- Proof boundary remains shared-first: `OperationRunProgressContract` owns stale-active progress truth, `OperationUxPresenter` owns aligned lifecycle/detail guidance, and the shell/list/detail surfaces consume those shared seams instead of local fallback wording." [ref=e9809]': - code [ref=e9810]: "- Proof boundary remains shared-first: `OperationRunProgressContract` owns stale-active progress truth, `OperationUxPresenter` owns aligned lifecycle/detail guidance, and the shell/list/detail surfaces consume those shared seams instead of local fallback wording." - 'row "151 + - Browser smoke path used the real local route `GET /admin/local/smoke-login` and verified `/admin/workspaces/38/operations` followed by the primary `Open operation` drilldown to `/admin/workspaces/38/operations/82`." [ref=e9811]': - cell [ref=e9812] - cell "151" [ref=e9813]: "151" - cell [ref=e9814] - cell "+" [ref=e9815]: - generic [ref=e9816]: + - 'cell "- Browser smoke path used the real local route `GET /admin/local/smoke-login` and verified `/admin/workspaces/38/operations` followed by the primary `Open operation` drilldown to `/admin/workspaces/38/operations/82`." [ref=e9817]': - code [ref=e9818]: "- Browser smoke path used the real local route `GET /admin/local/smoke-login` and verified `/admin/workspaces/38/operations` followed by the primary `Open operation` drilldown to `/admin/workspaces/38/operations/82`." - 'row "152 + - Browser smoke confirmed stale wording is visible on both hub and detail, while `Waiting for worker.`, `Progress details pending.`, and `4 / 10 processed (40%)` do not appear as primary stale-active guidance." [ref=e9819]': - cell [ref=e9820] - cell "152" [ref=e9821]: "152" - cell [ref=e9822] - cell "+" [ref=e9823]: - generic [ref=e9824]: + - 'cell "- Browser smoke confirmed stale wording is visible on both hub and detail, while `Waiting for worker.`, `Progress details pending.`, and `4 / 10 processed (40%)` do not appear as primary stale-active guidance." [ref=e9825]': - code [ref=e9826]: "- Browser smoke confirmed stale wording is visible on both hub and detail, while `Waiting for worker.`, `Progress details pending.`, and `4 / 10 processed (40%)` do not appear as primary stale-active guidance." - 'row "153 + - No runtime change was required in `apps/platform/app/Filament/Pages/Monitoring/Operations.php`, `apps/platform/app/Filament/Resources/OperationRunResource.php`, `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`, `apps/platform/app/Console/Commands/TenantpilotReconcileOperationRuns.php`, or `apps/platform/app/Console/Commands/OpsReconcileAdapterRuns.php`; the existing shared seams consumed the contract/presenter updates directly." [ref=e9827]': - cell [ref=e9828] - cell "153" [ref=e9829]: "153" - cell [ref=e9830] - cell "+" [ref=e9831]: - generic [ref=e9832]: + - 'cell "- No runtime change was required in `apps/platform/app/Filament/Pages/Monitoring/Operations.php`, `apps/platform/app/Filament/Resources/OperationRunResource.php`, `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`, `apps/platform/app/Console/Commands/TenantpilotReconcileOperationRuns.php`, or `apps/platform/app/Console/Commands/OpsReconcileAdapterRuns.php`; the existing shared seams consumed the contract/presenter updates directly." [ref=e9833]': - code [ref=e9834]: "- No runtime change was required in `apps/platform/app/Filament/Pages/Monitoring/Operations.php`, `apps/platform/app/Filament/Resources/OperationRunResource.php`, `apps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.php`, `apps/platform/app/Console/Commands/TenantpilotReconcileOperationRuns.php`, or `apps/platform/app/Console/Commands/OpsReconcileAdapterRuns.php`; the existing shared seams consumed the contract/presenter updates directly." - row "154 + - Validation evidence:" [ref=e9835]: - cell [ref=e9836] - cell "154" [ref=e9837]: "154" - cell [ref=e9838] - cell "+" [ref=e9839]: - generic [ref=e9840]: + - cell "- Validation evidence:" [ref=e9841]: - code [ref=e9842]: "- Validation evidence:" - 'row "155 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e9843]': - cell [ref=e9844] - cell "155" [ref=e9845]: "155" - cell [ref=e9846] - cell "+" [ref=e9847]: - generic [ref=e9848]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" [ref=e9849]': - code [ref=e9850]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/OpsUx/OperationRunProgressContractTest.php`" - 'row "156 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`" [ref=e9851]': - cell [ref=e9852] - cell "156" [ref=e9853]: "156" - cell [ref=e9854] - cell "+" [ref=e9855]: - generic [ref=e9856]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`" [ref=e9857]': - code [ref=e9858]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/BulkOperationProgressDbOnlyTest.php tests/Feature/OpsUx/ActivityFeedbackSurfaceTest.php`" - 'row "157 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php`" [ref=e9859]': - cell [ref=e9860] - cell "157" [ref=e9861]: "157" - cell [ref=e9862] - cell "+" [ref=e9863]: - generic [ref=e9864]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php`" [ref=e9865]': - code [ref=e9866]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/MonitoringOperationsTest.php tests/Feature/Monitoring/OperationLifecycleFreshnessPresentationTest.php tests/Feature/Monitoring/MonitoringOperationsTest.php`" - 'row "158 + - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e9867]': - cell [ref=e9868] - cell "158" [ref=e9869]: "158" - cell [ref=e9870] - cell "+" [ref=e9871]: - generic [ref=e9872]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" [ref=e9873]': - code [ref=e9874]: "- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php`" - 'row "159 + - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`" [ref=e9875]': - cell [ref=e9876] - cell "159" [ref=e9877]: "159" - cell [ref=e9878] - cell "+" [ref=e9879]: - generic [ref=e9880]: + - 'cell "- `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`" [ref=e9881]': - code [ref=e9882]: "- `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`" - 'row "160 + - `git diff --check`" [ref=e9883]': - cell [ref=e9884] - cell "160" [ref=e9885]: "160" - cell [ref=e9886] - cell "+" [ref=e9887]: - generic [ref=e9888]: + - 'cell "- `git diff --check`" [ref=e9889]': - code [ref=e9890]: "- `git diff --check`" - group "Fußzeile" [ref=e9891]: - contentinfo "Über die Software" [ref=e9892]: - link "Powered by Gitea" [ref=e9893] [cursor=pointer]: - /url: https://about.gitea.com - text: "Version: 1.22.3 Seite:" - strong [ref=e9894]: 766ms - text: "Template:" - strong [ref=e9895]: 514ms - group "Links" [ref=e9896]: - menu [ref=e9897] [cursor=pointer]: - generic [ref=e9898]: - img [ref=e9899] - text: Deutsch - link "Lizenzen" [ref=e9901] [cursor=pointer]: - /url: /assets/licenses.txt - link "API" [ref=e9902] [cursor=pointer]: - /url: /api/swagger