TenantAtlas/.playwright-mcp/page-2026-06-06T11-28-17-478Z.yml
Ahmed Darrazi 229b4d392c
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 52s
feat: implement explicit UiActionContext contract
2026-06-07 12:42:36 +02:00

9956 lines
654 KiB
YAML

- 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