agentic-orchestrator 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/AGENTS.md +2 -2
  2. package/CLAUDE.md +2 -2
  3. package/README.md +47 -14
  4. package/agentic/orchestrator/agents.yaml +13 -0
  5. package/agentic/orchestrator/policy.yaml +3 -0
  6. package/agentic/orchestrator/schemas/agents.schema.json +76 -0
  7. package/agentic/orchestrator/schemas/policy.schema.json +16 -0
  8. package/agentic/orchestrator/schemas/policy.user.schema.json +16 -0
  9. package/agentic/orchestrator/schemas/state.schema.json +53 -0
  10. package/apps/control-plane/src/application/configuration-service.ts +181 -0
  11. package/apps/control-plane/src/application/kernel-tool-wiring.ts +292 -0
  12. package/apps/control-plane/src/application/services/checkpoint-service.ts +523 -0
  13. package/apps/control-plane/src/application/services/feature-send-message-service.ts +132 -0
  14. package/apps/control-plane/src/application/services/patch-service.ts +29 -5
  15. package/apps/control-plane/src/application/services/repo-operations-service.ts +276 -0
  16. package/apps/control-plane/src/application/services/worktree-watchdog-service.ts +156 -0
  17. package/apps/control-plane/src/cli/cli-argument-parser.ts +12 -0
  18. package/apps/control-plane/src/cli/help-command-handler.ts +17 -0
  19. package/apps/control-plane/src/cli/init-command-handler.ts +31 -0
  20. package/apps/control-plane/src/cli/resume-command-handler.ts +31 -4
  21. package/apps/control-plane/src/cli/rollback-command-handler.ts +217 -0
  22. package/apps/control-plane/src/cli/run-command-handler.ts +8 -0
  23. package/apps/control-plane/src/cli/types.ts +3 -0
  24. package/apps/control-plane/src/core/kernel-types.ts +55 -0
  25. package/apps/control-plane/src/core/kernel.ts +61 -878
  26. package/apps/control-plane/src/core/tool-caller.ts +10 -0
  27. package/apps/control-plane/src/core/utils/field-readers.ts +38 -0
  28. package/apps/control-plane/src/core/utils/index-normalizer.ts +119 -0
  29. package/apps/control-plane/src/core/utils/path-normalizers.ts +22 -0
  30. package/apps/control-plane/src/interfaces/cli/bootstrap.ts +15 -0
  31. package/apps/control-plane/src/providers/api-worker-provider.ts +14 -12
  32. package/apps/control-plane/src/providers/cli-worker-provider.ts +82 -12
  33. package/apps/control-plane/src/providers/providers.ts +45 -24
  34. package/apps/control-plane/src/providers/worker-provider-factory.ts +36 -1
  35. package/apps/control-plane/src/supervisor/run-coordinator.ts +91 -36
  36. package/apps/control-plane/src/supervisor/runtime.ts +107 -1
  37. package/apps/control-plane/src/supervisor/types.ts +9 -0
  38. package/apps/control-plane/src/supervisor/worker-decision-loop.ts +253 -14
  39. package/apps/control-plane/test/checkpoint-service.spec.ts +537 -0
  40. package/apps/control-plane/test/cli-helpers.spec.ts +28 -0
  41. package/apps/control-plane/test/cli.unit.spec.ts +52 -0
  42. package/apps/control-plane/test/configuration-service.spec.ts +466 -0
  43. package/apps/control-plane/test/dashboard-api.integration.spec.ts +537 -0
  44. package/apps/control-plane/test/dashboard-client.spec.ts +233 -0
  45. package/apps/control-plane/test/feature-send-message-service.spec.ts +314 -0
  46. package/apps/control-plane/test/init-wizard.spec.ts +35 -0
  47. package/apps/control-plane/test/path-normalizers.spec.ts +41 -0
  48. package/apps/control-plane/test/repo-operations-service.spec.ts +339 -0
  49. package/apps/control-plane/test/resume-command.spec.ts +33 -0
  50. package/apps/control-plane/test/review-workspace-logic.spec.ts +130 -0
  51. package/apps/control-plane/test/rollback-command.spec.ts +208 -0
  52. package/apps/control-plane/test/run-coordinator.spec.ts +119 -0
  53. package/apps/control-plane/test/worker-decision-loop.spec.ts +209 -0
  54. package/apps/control-plane/test/worker-provider-adapters.spec.ts +102 -0
  55. package/apps/control-plane/test/worker-provider-factory.spec.ts +14 -0
  56. package/apps/control-plane/test/worktree-watchdog-service.spec.ts +147 -0
  57. package/config/agentic/orchestrator/agents.yaml +13 -0
  58. package/dist/apps/control-plane/application/configuration-service.d.ts +19 -0
  59. package/dist/apps/control-plane/application/configuration-service.js +123 -0
  60. package/dist/apps/control-plane/application/configuration-service.js.map +1 -0
  61. package/dist/apps/control-plane/application/kernel-tool-wiring.d.ts +39 -0
  62. package/dist/apps/control-plane/application/kernel-tool-wiring.js +38 -0
  63. package/dist/apps/control-plane/application/kernel-tool-wiring.js.map +1 -0
  64. package/dist/apps/control-plane/application/services/checkpoint-service.d.ts +84 -0
  65. package/dist/apps/control-plane/application/services/checkpoint-service.js +367 -0
  66. package/dist/apps/control-plane/application/services/checkpoint-service.js.map +1 -0
  67. package/dist/apps/control-plane/application/services/feature-send-message-service.d.ts +25 -0
  68. package/dist/apps/control-plane/application/services/feature-send-message-service.js +105 -0
  69. package/dist/apps/control-plane/application/services/feature-send-message-service.js.map +1 -0
  70. package/dist/apps/control-plane/application/services/patch-service.d.ts +6 -0
  71. package/dist/apps/control-plane/application/services/patch-service.js +11 -2
  72. package/dist/apps/control-plane/application/services/patch-service.js.map +1 -1
  73. package/dist/apps/control-plane/application/services/repo-operations-service.d.ts +70 -0
  74. package/dist/apps/control-plane/application/services/repo-operations-service.js +213 -0
  75. package/dist/apps/control-plane/application/services/repo-operations-service.js.map +1 -0
  76. package/dist/apps/control-plane/application/services/worktree-watchdog-service.d.ts +23 -0
  77. package/dist/apps/control-plane/application/services/worktree-watchdog-service.js +119 -0
  78. package/dist/apps/control-plane/application/services/worktree-watchdog-service.js.map +1 -0
  79. package/dist/apps/control-plane/cli/cli-argument-parser.js +12 -0
  80. package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
  81. package/dist/apps/control-plane/cli/help-command-handler.js +17 -0
  82. package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -1
  83. package/dist/apps/control-plane/cli/init-command-handler.js +23 -0
  84. package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -1
  85. package/dist/apps/control-plane/cli/resume-command-handler.js +25 -5
  86. package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
  87. package/dist/apps/control-plane/cli/rollback-command-handler.d.ts +6 -0
  88. package/dist/apps/control-plane/cli/rollback-command-handler.js +177 -0
  89. package/dist/apps/control-plane/cli/rollback-command-handler.js.map +1 -0
  90. package/dist/apps/control-plane/cli/run-command-handler.js +7 -1
  91. package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
  92. package/dist/apps/control-plane/cli/types.d.ts +3 -0
  93. package/dist/apps/control-plane/cli/types.js +1 -0
  94. package/dist/apps/control-plane/cli/types.js.map +1 -1
  95. package/dist/apps/control-plane/core/configuration-service.d.ts +25 -0
  96. package/dist/apps/control-plane/core/configuration-service.js +130 -0
  97. package/dist/apps/control-plane/core/configuration-service.js.map +1 -0
  98. package/dist/apps/control-plane/core/kernel-tool-wiring.d.ts +50 -0
  99. package/dist/apps/control-plane/core/kernel-tool-wiring.js +44 -0
  100. package/dist/apps/control-plane/core/kernel-tool-wiring.js.map +1 -0
  101. package/dist/apps/control-plane/core/kernel-types.d.ts +48 -0
  102. package/dist/apps/control-plane/core/kernel-types.js +2 -0
  103. package/dist/apps/control-plane/core/kernel-types.js.map +1 -0
  104. package/dist/apps/control-plane/core/kernel.d.ts +17 -48
  105. package/dist/apps/control-plane/core/kernel.js +44 -539
  106. package/dist/apps/control-plane/core/kernel.js.map +1 -1
  107. package/dist/apps/control-plane/core/tool-caller.d.ts +10 -0
  108. package/dist/apps/control-plane/core/utils/error-normalizer.d.ts +2 -0
  109. package/dist/apps/control-plane/core/utils/error-normalizer.js +51 -0
  110. package/dist/apps/control-plane/core/utils/error-normalizer.js.map +1 -0
  111. package/dist/apps/control-plane/core/utils/field-readers.d.ts +9 -0
  112. package/dist/apps/control-plane/core/utils/field-readers.js +30 -0
  113. package/dist/apps/control-plane/core/utils/field-readers.js.map +1 -0
  114. package/dist/apps/control-plane/core/utils/index-normalizer.d.ts +7 -0
  115. package/dist/apps/control-plane/core/utils/index-normalizer.js +92 -0
  116. package/dist/apps/control-plane/core/utils/index-normalizer.js.map +1 -0
  117. package/dist/apps/control-plane/core/utils/path-normalizers.d.ts +2 -0
  118. package/dist/apps/control-plane/core/utils/path-normalizers.js +17 -0
  119. package/dist/apps/control-plane/core/utils/path-normalizers.js.map +1 -0
  120. package/dist/apps/control-plane/interfaces/cli/bootstrap.js +13 -1
  121. package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
  122. package/dist/apps/control-plane/providers/api-worker-provider.d.ts +4 -13
  123. package/dist/apps/control-plane/providers/api-worker-provider.js +10 -0
  124. package/dist/apps/control-plane/providers/api-worker-provider.js.map +1 -1
  125. package/dist/apps/control-plane/providers/cli-worker-provider.d.ts +11 -13
  126. package/dist/apps/control-plane/providers/cli-worker-provider.js +64 -0
  127. package/dist/apps/control-plane/providers/cli-worker-provider.js.map +1 -1
  128. package/dist/apps/control-plane/providers/providers.d.ts +31 -24
  129. package/dist/apps/control-plane/providers/providers.js +10 -0
  130. package/dist/apps/control-plane/providers/providers.js.map +1 -1
  131. package/dist/apps/control-plane/providers/worker-provider-factory.d.ts +11 -0
  132. package/dist/apps/control-plane/providers/worker-provider-factory.js +20 -1
  133. package/dist/apps/control-plane/providers/worker-provider-factory.js.map +1 -1
  134. package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +3 -0
  135. package/dist/apps/control-plane/supervisor/run-coordinator.js +81 -33
  136. package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
  137. package/dist/apps/control-plane/supervisor/runtime.d.ts +8 -1
  138. package/dist/apps/control-plane/supervisor/runtime.js +90 -0
  139. package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
  140. package/dist/apps/control-plane/supervisor/types.d.ts +11 -0
  141. package/dist/apps/control-plane/supervisor/types.js.map +1 -1
  142. package/dist/apps/control-plane/supervisor/worker-decision-loop.d.ts +21 -1
  143. package/dist/apps/control-plane/supervisor/worker-decision-loop.js +207 -13
  144. package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
  145. package/package.json +1 -1
  146. package/packages/web-dashboard/package.json +2 -0
  147. package/packages/web-dashboard/src/app/analytics/page.tsx +83 -2
  148. package/packages/web-dashboard/src/app/api/actions/route.ts +92 -1
  149. package/packages/web-dashboard/src/app/api/analytics/route.ts +5 -2
  150. package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/[checkpointId]/diff/route.ts +43 -0
  151. package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/compare/route.ts +45 -0
  152. package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/stream/route.ts +170 -0
  153. package/packages/web-dashboard/src/app/api/features/[id]/file-diff/route.ts +144 -0
  154. package/packages/web-dashboard/src/app/api/features/[id]/log-stream/route.ts +167 -0
  155. package/packages/web-dashboard/src/app/api/features/[id]/raw-logs/[filename]/route.ts +65 -0
  156. package/packages/web-dashboard/src/app/api/features/[id]/raw-logs/route.ts +63 -0
  157. package/packages/web-dashboard/src/app/api/features/[id]/timeline/route.ts +60 -0
  158. package/packages/web-dashboard/src/app/feature/[id]/page.tsx +32 -11
  159. package/packages/web-dashboard/src/app/globals.css +2 -0
  160. package/packages/web-dashboard/src/components/detail-panel.tsx +483 -0
  161. package/packages/web-dashboard/src/components/review-workspace.tsx +1162 -0
  162. package/packages/web-dashboard/src/lib/aop-client.ts +725 -0
  163. package/packages/web-dashboard/src/lib/review-contracts.ts +182 -0
  164. package/packages/web-dashboard/src/lib/review-workspace-logic.ts +64 -0
  165. package/packages/web-dashboard/src/lib/types.ts +131 -0
  166. package/packages/web-dashboard/src/styles/dashboard.module.css +333 -0
  167. package/spec-files/completed/agentic_orchestrator_execution_mode_spec.md +1905 -0
  168. package/spec-files/outstanding/agentic_orchestrator_runtime_inspection_spec.md +940 -0
  169. package/spec-files/outstanding/execution_mode_critical_review.md +355 -0
  170. package/spec-files/outstanding/shadow_workspace_implementation_spec.md +1271 -0
  171. package/spec-files/outstanding/shadow_workspace_spec_summary.md +222 -0
  172. package/spec-files/progress.md +269 -1
@@ -948,6 +948,299 @@
948
948
  border-color: rgba(134, 181, 237, 0.7);
949
949
  }
950
950
 
951
+ .reviewWorkspace {
952
+ display: grid;
953
+ grid-template-columns: minmax(0, 2fr) minmax(22rem, 1fr);
954
+ gap: 0.85rem;
955
+ align-items: start;
956
+ }
957
+
958
+ .reviewLeftPane,
959
+ .reviewRightPane {
960
+ display: flex;
961
+ flex-direction: column;
962
+ gap: 0.75rem;
963
+ min-width: 0;
964
+ }
965
+
966
+ .reviewActionSection {
967
+ position: sticky;
968
+ top: 0.5rem;
969
+ z-index: 5;
970
+ }
971
+
972
+ .reviewHeaderRow {
973
+ display: flex;
974
+ justify-content: space-between;
975
+ align-items: center;
976
+ gap: 0.45rem;
977
+ flex-wrap: wrap;
978
+ }
979
+
980
+ .reviewTitleWrap {
981
+ display: inline-flex;
982
+ align-items: center;
983
+ gap: 0.45rem;
984
+ flex-wrap: wrap;
985
+ }
986
+
987
+ .trustBadge {
988
+ border: 1px solid var(--border-weak);
989
+ border-radius: 999px;
990
+ padding: 0.1rem 0.45rem;
991
+ font-size: 0.62rem;
992
+ letter-spacing: 0.04em;
993
+ text-transform: uppercase;
994
+ color: #d8e9ff;
995
+ }
996
+
997
+ .trustBadgeStructured {
998
+ border-color: rgba(85, 154, 242, 0.7);
999
+ background: rgba(17, 43, 80, 0.8);
1000
+ }
1001
+
1002
+ .trustBadgeDerived {
1003
+ border-color: rgba(137, 158, 189, 0.65);
1004
+ background: rgba(21, 31, 50, 0.8);
1005
+ }
1006
+
1007
+ .trustBadgeRaw {
1008
+ border-color: rgba(237, 187, 93, 0.8);
1009
+ background: rgba(73, 52, 16, 0.84);
1010
+ color: #ffe7b3;
1011
+ }
1012
+
1013
+ .trustLabelRow {
1014
+ margin: 0;
1015
+ }
1016
+
1017
+ .reviewFileSelectorRow {
1018
+ display: flex;
1019
+ gap: 0.45rem;
1020
+ flex-wrap: wrap;
1021
+ }
1022
+
1023
+ .reviewFileSelectorRow .actionSelect {
1024
+ flex: 1 1 14rem;
1025
+ }
1026
+
1027
+ .reviewDiffRegion {
1028
+ border: 1px solid var(--border-weak);
1029
+ border-radius: 0.62rem;
1030
+ background: rgba(8, 14, 30, 0.95);
1031
+ max-height: 28rem;
1032
+ overflow: auto;
1033
+ padding: 0.25rem;
1034
+ }
1035
+
1036
+ .reviewDiffHtml {
1037
+ min-height: 10rem;
1038
+ }
1039
+
1040
+ .reviewDiffHtml :global(.d2h-file-header),
1041
+ .reviewDiffHtml :global(.d2h-file-list-title) {
1042
+ background: rgba(19, 31, 59, 0.95);
1043
+ color: #dcecff;
1044
+ }
1045
+
1046
+ .reviewDiffHtml :global(.d2h-file-wrapper),
1047
+ .reviewDiffHtml :global(.d2h-file-list-wrapper),
1048
+ .reviewDiffHtml :global(.d2h-diff-table) {
1049
+ background: rgba(9, 16, 34, 0.92);
1050
+ color: #dcecff;
1051
+ }
1052
+
1053
+ .reviewDiffHtml :global(.d2h-code-line del),
1054
+ .reviewDiffHtml :global(.d2h-code-side-line del) {
1055
+ background: rgba(151, 38, 54, 0.4);
1056
+ }
1057
+
1058
+ .reviewDiffHtml :global(.d2h-code-line ins),
1059
+ .reviewDiffHtml :global(.d2h-code-side-line ins) {
1060
+ background: rgba(31, 121, 79, 0.42);
1061
+ }
1062
+
1063
+ .reviewMonacoWrap {
1064
+ min-height: 26rem;
1065
+ border: 1px solid var(--border-weak);
1066
+ border-radius: 0.58rem;
1067
+ overflow: hidden;
1068
+ }
1069
+
1070
+ .reviewLogList {
1071
+ max-height: 14rem;
1072
+ overflow-y: auto;
1073
+ display: flex;
1074
+ flex-direction: column;
1075
+ gap: 0.32rem;
1076
+ }
1077
+
1078
+ .reviewLogEntry {
1079
+ border: 1px solid var(--border-weak);
1080
+ border-radius: 0.52rem;
1081
+ background: rgba(10, 18, 38, 0.9);
1082
+ padding: 0.38rem;
1083
+ display: grid;
1084
+ grid-template-columns: auto auto auto 1fr;
1085
+ gap: 0.35rem;
1086
+ align-items: baseline;
1087
+ font-size: 0.71rem;
1088
+ }
1089
+
1090
+ .reviewLogStamp {
1091
+ color: var(--text-muted);
1092
+ font-family: 'IBM Plex Mono', 'Fira Code', monospace;
1093
+ }
1094
+
1095
+ .reviewRoleBadge {
1096
+ border: 1px solid var(--border-strong);
1097
+ border-radius: 999px;
1098
+ background: rgba(14, 30, 57, 0.9);
1099
+ padding: 0.02rem 0.35rem;
1100
+ text-transform: uppercase;
1101
+ font-size: 0.64rem;
1102
+ }
1103
+
1104
+ .reviewConsoleTranscript {
1105
+ max-height: 8.5rem;
1106
+ overflow-y: auto;
1107
+ display: flex;
1108
+ flex-direction: column;
1109
+ gap: 0.3rem;
1110
+ }
1111
+
1112
+ .reviewTranscriptEntry {
1113
+ border: 1px solid var(--border-weak);
1114
+ border-radius: 0.52rem;
1115
+ background: rgba(10, 18, 38, 0.9);
1116
+ padding: 0.4rem;
1117
+ font-size: 0.72rem;
1118
+ }
1119
+
1120
+ .reviewSessionRows,
1121
+ .reviewTimelineList {
1122
+ display: flex;
1123
+ flex-direction: column;
1124
+ gap: 0.3rem;
1125
+ }
1126
+
1127
+ .reviewSessionRow,
1128
+ .reviewTimelineEntry {
1129
+ border: 1px solid var(--border-weak);
1130
+ border-radius: 0.52rem;
1131
+ background: rgba(10, 18, 38, 0.9);
1132
+ padding: 0.35rem 0.45rem;
1133
+ font-size: 0.72rem;
1134
+ display: flex;
1135
+ justify-content: space-between;
1136
+ gap: 0.35rem;
1137
+ flex-wrap: wrap;
1138
+ }
1139
+
1140
+ .reviewSessionRowActive {
1141
+ border-color: rgba(113, 206, 157, 0.8);
1142
+ background: rgba(15, 35, 34, 0.92);
1143
+ }
1144
+
1145
+ .reviewSessionIdentity {
1146
+ display: inline-flex;
1147
+ align-items: center;
1148
+ gap: 0.35rem;
1149
+ flex-wrap: wrap;
1150
+ }
1151
+
1152
+ .reviewSessionState {
1153
+ border: 1px solid var(--border-strong);
1154
+ border-radius: 999px;
1155
+ padding: 0.06rem 0.35rem;
1156
+ font-size: 0.63rem;
1157
+ text-transform: uppercase;
1158
+ color: #d6e9ff;
1159
+ }
1160
+
1161
+ .reviewSessionMarker {
1162
+ border: 1px solid rgba(84, 193, 140, 0.78);
1163
+ border-radius: 999px;
1164
+ padding: 0.06rem 0.35rem;
1165
+ font-size: 0.63rem;
1166
+ text-transform: uppercase;
1167
+ color: #b8ffd8;
1168
+ background: rgba(17, 74, 52, 0.8);
1169
+ }
1170
+
1171
+ .reviewSessionValue {
1172
+ display: inline-flex;
1173
+ align-items: center;
1174
+ gap: 0.35rem;
1175
+ min-width: 0;
1176
+ flex-wrap: wrap;
1177
+ justify-content: flex-end;
1178
+ }
1179
+
1180
+ .mobileInspectorOverlay {
1181
+ position: fixed;
1182
+ inset: 0;
1183
+ z-index: 48;
1184
+ background: rgba(4, 10, 22, 0.92);
1185
+ padding: 0.65rem;
1186
+ }
1187
+
1188
+ .mobileInspectorPanel {
1189
+ height: 100%;
1190
+ border: 1px solid var(--border-strong);
1191
+ border-radius: 0.7rem;
1192
+ background: rgba(6, 13, 27, 0.98);
1193
+ padding: 0.65rem;
1194
+ display: flex;
1195
+ flex-direction: column;
1196
+ gap: 0.55rem;
1197
+ }
1198
+
1199
+ .reviewTimelineFilters {
1200
+ display: flex;
1201
+ gap: 0.45rem;
1202
+ flex-wrap: wrap;
1203
+ }
1204
+
1205
+ .runtimeInspectorTabs {
1206
+ display: inline-flex;
1207
+ flex-wrap: wrap;
1208
+ gap: 0.3rem;
1209
+ margin-bottom: 0.45rem;
1210
+ }
1211
+
1212
+ .runtimeInspectorTab {
1213
+ border: 1px solid var(--border-strong);
1214
+ border-radius: 0.5rem;
1215
+ background: rgba(10, 18, 38, 0.92);
1216
+ color: var(--text-muted);
1217
+ font-size: 0.7rem;
1218
+ padding: 0.2rem 0.5rem;
1219
+ cursor: pointer;
1220
+ }
1221
+
1222
+ .runtimeInspectorTabActive {
1223
+ border-color: rgba(117, 169, 255, 0.78);
1224
+ color: #d8e8ff;
1225
+ background: rgba(23, 39, 74, 0.92);
1226
+ }
1227
+
1228
+ .inspectorPanel {
1229
+ min-height: 20rem;
1230
+ }
1231
+
1232
+ .runtimeInspectorPanel {
1233
+ display: flex;
1234
+ flex-direction: column;
1235
+ gap: 0.55rem;
1236
+ }
1237
+
1238
+ .runtimeInspectorCompareGrid {
1239
+ display: grid;
1240
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1241
+ gap: 0.65rem;
1242
+ }
1243
+
951
1244
  .collisionPanel {
952
1245
  border: 1px solid rgba(245, 123, 136, 0.55);
953
1246
  border-radius: 0.84rem;
@@ -1116,6 +1409,10 @@
1116
1409
  grid-template-columns: 1fr;
1117
1410
  }
1118
1411
 
1412
+ .reviewWorkspace {
1413
+ grid-template-columns: 1fr;
1414
+ }
1415
+
1119
1416
  .detailPanel {
1120
1417
  max-height: none;
1121
1418
  }
@@ -1134,6 +1431,10 @@
1134
1431
  grid-template-columns: 1fr;
1135
1432
  }
1136
1433
 
1434
+ .runtimeInspectorCompareGrid {
1435
+ grid-template-columns: 1fr;
1436
+ }
1437
+
1137
1438
  .column {
1138
1439
  max-height: 28rem;
1139
1440
  }
@@ -1162,6 +1463,28 @@
1162
1463
  grid-template-columns: 1fr;
1163
1464
  }
1164
1465
 
1466
+ .reviewLogEntry {
1467
+ grid-template-columns: 1fr;
1468
+ }
1469
+
1470
+ .reviewSessionRow {
1471
+ flex-direction: column;
1472
+ align-items: flex-start;
1473
+ }
1474
+
1475
+ .reviewSessionValue {
1476
+ width: 100%;
1477
+ justify-content: space-between;
1478
+ }
1479
+
1480
+ .mobileInspectorOverlay {
1481
+ padding: 0.45rem;
1482
+ }
1483
+
1484
+ .mobileInspectorPanel {
1485
+ border-radius: 0.55rem;
1486
+ }
1487
+
1165
1488
  .listTable {
1166
1489
  min-width: 0;
1167
1490
  }
@@ -1201,6 +1524,16 @@
1201
1524
  flex: 1 1 auto;
1202
1525
  }
1203
1526
 
1527
+ .reviewActionSection {
1528
+ position: sticky;
1529
+ bottom: 0;
1530
+ top: auto;
1531
+ }
1532
+
1533
+ .reviewMonacoWrap {
1534
+ min-height: 70vh;
1535
+ }
1536
+
1204
1537
  .filterRow {
1205
1538
  align-items: stretch;
1206
1539
  }