@objectstack/console 17.2.0 → 17.3.0

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 (300) hide show
  1. package/CHANGELOG.md +611 -0
  2. package/README.md +26 -10
  3. package/dist/.objectstack-injection.json +2 -2
  4. package/dist/.objectui-sha +1 -1
  5. package/dist/assets/ActionResultDialog-CQwenjVA.js +9 -0
  6. package/dist/assets/{AiPendingActionsPage-CyG11hX9.js → AiPendingActionsPage-7gZ8zlOy.js} +1 -1
  7. package/dist/assets/ApiConsolePage-DUF0ysH7.js +1 -0
  8. package/dist/assets/{AppDocsIndex-BXkNskk1.js → AppDocsIndex-CP_AVG4X.js} +1 -1
  9. package/dist/assets/AppManagementPage-BJktnoa5.js +1 -0
  10. package/dist/assets/ApprovalsInboxPage-DlnxY-uy.js +1 -0
  11. package/dist/assets/{AuditLogPage-BZZ6tzHu.js → AuditLogPage-DIJPRjji.js} +1 -1
  12. package/dist/assets/ComponentNavView-C84QByT7.js +1 -0
  13. package/dist/assets/CreateViewDialog-Zbd9Cagm.js +1 -0
  14. package/dist/assets/DashboardView-UyKHklBx.js +1 -0
  15. package/dist/assets/{DeveloperHubPage-KEpKc45V.js → DeveloperHubPage-BRyNdrCJ.js} +1 -1
  16. package/dist/assets/DocPage-Bx8ZXCYt.js +1 -0
  17. package/dist/assets/{DocShell-DMJHUgE5.js → DocShell-Ipy_IDvh.js} +1 -1
  18. package/dist/assets/{DocsIndex-Bb5OtPb3.js → DocsIndex-CmY-7OQR.js} +1 -1
  19. package/dist/assets/{DocsLayout-CoIVTMH_.js → DocsLayout-BNsSvaz2.js} +1 -1
  20. package/dist/assets/{DocsSlug-BARWHmXg.js → DocsSlug-Cb_NMM1k.js} +1 -1
  21. package/dist/assets/ExpressionProvider-DqGWVuxV.js +1 -0
  22. package/dist/assets/FlowRunsPage-B6ustUgi.js +1 -0
  23. package/dist/assets/{IntegrationsPage-DTXA-Nne.js → IntegrationsPage-chOxmiyU.js} +2 -2
  24. package/dist/assets/InterfaceListPage-DVETnQm5.js +1 -0
  25. package/dist/assets/MarketplaceInstalledPage-DA5pjhAz.js +1 -0
  26. package/dist/assets/MarketplacePackagePage-dCIVHBFi.js +4 -0
  27. package/dist/assets/MarketplacePage-wJb6g1p7.js +1 -0
  28. package/dist/assets/MetadataInspector-Cu-n1FYz.js +1 -0
  29. package/dist/assets/ObjectDataPage-CP-YSZYQ.js +1 -0
  30. package/dist/assets/PageView-B1_ibRuM.js +1 -0
  31. package/dist/assets/ProfilePage-DEr5iZVB.js +1 -0
  32. package/dist/assets/PublicFormsPage-CBcKQbNl.js +1 -0
  33. package/dist/assets/RecordDetailView-A8bbPnkK.js +3 -0
  34. package/dist/assets/RecordFormPage-CGQlYWDk.js +1 -0
  35. package/dist/assets/ReportDefaultInspector-R_p6YStL.js +1 -0
  36. package/dist/assets/ReportView-BTMrtcGH.js +2 -0
  37. package/dist/assets/RuntimeDraftBar-agGU39FL.js +1 -0
  38. package/dist/assets/SchemaForm-DJbupOno.js +3 -0
  39. package/dist/assets/SearchResultsPage-CHhZUc6L.js +1 -0
  40. package/dist/assets/SettingsHub-BGLR_gS7.js +1 -0
  41. package/dist/assets/SettingsView-Bq-7Zkzs.js +1 -0
  42. package/dist/assets/SkeletonDetail-B4-UKxai.js +1 -0
  43. package/dist/assets/SystemHubPage-CVZVag1e.js +1 -0
  44. package/dist/assets/{abnfDiagram-N423BO3Z-DfpQlDUF.js → abnfDiagram-VCTEODGH-DUS5D5dU.js} +1 -1
  45. package/dist/assets/app-shell-eager-leaves-BB0oaPx6.js +1 -0
  46. package/dist/assets/{utils-CJ4UwXMF.js → appRoute-DEVGXLLH.js} +1 -1
  47. package/dist/assets/architecture-7GRP2DOG-kzM7RUjO.js +1 -0
  48. package/dist/assets/{architectureDiagram-T3A2C74G-Ej_4n3NG.js → architectureDiagram-5GKGNRK7-mGW8P1lC.js} +1 -1
  49. package/dist/assets/blockDiagram-OSKFZWR5-Bz2hnVmp.js +129 -0
  50. package/dist/assets/c4Diagram-7LVT6UL2-DU3u1Y6c.js +38 -0
  51. package/dist/assets/channel-FD4s9EIH.js +1 -0
  52. package/dist/assets/{chunk-U6XO7XAA-D-dXvZaW.js → chunk-2ZTRR5NV-DXmA5XXf.js} +1 -1
  53. package/dist/assets/chunk-3NF5O7KM-B8Q7HUio.js +168 -0
  54. package/dist/assets/{chunk-YOTPTUD7-CDtXQZ13.js → chunk-3Z5EZCMW-D3OlaP15.js} +1 -1
  55. package/dist/assets/chunk-4HAMMTFA-BPKwX4iB.js +62 -0
  56. package/dist/assets/{chunk-BIQX33UG-DMScvo0C.js → chunk-5V3GS4D5-sE73jHoi.js} +1 -1
  57. package/dist/assets/{chunk-MOZMSUNE-DG70Besp.js → chunk-6AZGARVD-dsTIs5yl.js} +1 -1
  58. package/dist/assets/{chunk-5JV3BV7I-BrKM6vC-.js → chunk-6EIED4P4-BB4xaK3K.js} +1 -1
  59. package/dist/assets/{chunk-R7FJI6CG-DsJHM8am.js → chunk-6K3QC6MW-DaG1LefG.js} +1 -1
  60. package/dist/assets/{chunk-OSBZ3O6U-Dch_xyhf.js → chunk-6TQVIW2G-DL8WEcT0.js} +1 -1
  61. package/dist/assets/{chunk-JG7HCLWE-lCTbN-f1.js → chunk-747NJXEK-Bdie6H1T.js} +1 -1
  62. package/dist/assets/chunk-75Z2AOVW-CkSdnmiC.js +2 -0
  63. package/dist/assets/chunk-CLGD4ZFX-BTkDISwp.js +1 -0
  64. package/dist/assets/chunk-DU6HZSFF-BkY4hAzc.js +127 -0
  65. package/dist/assets/{chunk-2GRJ4B5K-D1if-ThW.js → chunk-F27PBJKO-DUKg0YWV.js} +1 -1
  66. package/dist/assets/{chunk-KEIR6QF5-ydf36Hye.js → chunk-FOHPRMQF-C65HoZVt.js} +2 -2
  67. package/dist/assets/chunk-GMAD6QVW-DZo_NykZ.js +72 -0
  68. package/dist/assets/chunk-GVQU2GXP-9ELY9S6X.js +1 -0
  69. package/dist/assets/chunk-H2I77ZZE-vCr_buP7.js +1 -0
  70. package/dist/assets/{chunk-GF5L2VYU-Dgjjn2FR.js → chunk-HLEWEB6X-iPkY2ESt.js} +1 -1
  71. package/dist/assets/{chunk-QBLGF6JB-CzQYydMJ.js → chunk-I5DQTOEV-Cz6Y6T9y.js} +1 -1
  72. package/dist/assets/{chunk-5FCAYU7R-BuOxxvKk.js → chunk-ICYGCRZG-DdtFYQ2l.js} +1 -1
  73. package/dist/assets/{chunk-CQNSW5MT-CCth14ZS.js → chunk-IH6LHLGP-DybuHD8B.js} +1 -1
  74. package/dist/assets/{chunk-CYSBUYHQ-DIigEFGo.js → chunk-KI3K4JFJ-CB_CI00L.js} +1 -1
  75. package/dist/assets/chunk-L3NEJ4N5-Bzz35TZJ.js +1 -0
  76. package/dist/assets/chunk-LNGE3PJU-DWpGwHrW.js +34 -0
  77. package/dist/assets/chunk-LQGUR6SS-iVI0GACK.js +1 -0
  78. package/dist/assets/chunk-OSK3NFVY-DcRwXCQD.js +10 -0
  79. package/dist/assets/{chunk-5TONJI2A-Bdh0MHqz.js → chunk-OUJLGHUK-TbeyE6CA.js} +1 -1
  80. package/dist/assets/chunk-P2QGCYS3-nx2-dM5t.js +1 -0
  81. package/dist/assets/{chunk-KBJHAD2P-DI4-lUt-.js → chunk-POPQ4Y6H-BxLOacOG.js} +1 -1
  82. package/dist/assets/{chunk-4I5QYGJK-DlrWrdEa.js → chunk-PWAF6VOD-2mst9kZu.js} +1 -1
  83. package/dist/assets/{chunk-6Q2QTUOP-C2vvuHlO.js → chunk-SVP7TREG-C3BMpr4x.js} +1 -1
  84. package/dist/assets/{chunk-EMLP6XTP-B4CrDa5p.js → chunk-UY3FDG6J-CDAtW6MI.js} +1 -1
  85. package/dist/assets/{chunk-5HE753X5-T_shrJhj.js → chunk-XHIXRSVI-CqmtoxrP.js} +1 -1
  86. package/dist/assets/chunk-XXDRQBXY-iNC8aYmk.js +1 -0
  87. package/dist/assets/{chunk-5RXB4S5H-JwFhdddt.js → chunk-ZLD2IHE6-ZFqtFJbj.js} +2 -2
  88. package/dist/assets/classDiagram-CYGNFDIV-D5Pd2TCl.js +1 -0
  89. package/dist/assets/classDiagram-v2-TLXNO2FR-D5Pd2TCl.js +1 -0
  90. package/dist/assets/componentRegistry-ByxoJqMW.js +1 -0
  91. package/dist/assets/{cose-bilkent-JH36ORCC-XP-DnSP5.js → cose-bilkent-JH36ORCC-CPQv9aQH.js} +1 -1
  92. package/dist/assets/createDerive-Best2JCj.js +2 -0
  93. package/dist/assets/cynefin-OW5HDTMX-Dtvf1C60.js +1 -0
  94. package/dist/assets/{cynefinDiagram-MW4NZA55-B8MvpqXe.js → cynefinDiagram-5FMLGOSQ-Lnly8IJd.js} +1 -1
  95. package/dist/assets/cytoscape.esm-CGd-uY3x.js +321 -0
  96. package/dist/assets/dagre-OS7QT2EB-CdXLxmTK.js +4 -0
  97. package/dist/assets/dagre-PrKaheQc.js +1 -0
  98. package/dist/assets/data-adapter-DL25qpAe.js +5 -0
  99. package/dist/assets/default-inspector-registry-DeEG98bO.js +1 -0
  100. package/dist/assets/{diagram-7IWD3JNH-Xj62y5BF.js → diagram-S7CK7UJ4-DE8I3gxQ.js} +4 -4
  101. package/dist/assets/{diagram-UB23O5K3-bseKIzhv.js → diagram-UQ7AKVKN-D2xQpbEq.js} +1 -1
  102. package/dist/assets/{diagram-B4RE2ZJO-mI-iOCGl.js → diagram-VSXAHHWV-DnttDSlO.js} +1 -1
  103. package/dist/assets/{diagram-Q27KOJAE-B98Knrnh.js → diagram-VX7I27RA-BSEwkn7K.js} +1 -1
  104. package/dist/assets/{diagram-LBJQPF4R-BMTSoZch.js → diagram-Z3DM3KII-BgB9f0Nv.js} +1 -1
  105. package/dist/assets/dist-BpPy7hlB.js +5 -0
  106. package/dist/assets/{ebnfDiagram-BXEA7PRR-Bgo10FP1.js → ebnfDiagram-PWID7BFC-32WvKbS2.js} +1 -1
  107. package/dist/assets/erDiagram-2YWLMYGG-Dwf8uAdl.js +99 -0
  108. package/dist/assets/eventmodeling-NTZA5JFV-CSwP2CpK.js +1 -0
  109. package/dist/assets/expressionUser-CASszt1z.js +1 -0
  110. package/dist/assets/flowDiagram-T62WH6J4-CqVSNJ8T.js +1 -0
  111. package/dist/assets/framework-BfSv4Kb0.js +36 -0
  112. package/dist/assets/{ganttDiagram-PKOTCBZU-CrmKcYGt.js → ganttDiagram-EL5Y4UJY-DqYIE0Cu.js} +2 -2
  113. package/dist/assets/{getIcon-1ZXs1v-a.js → getIcon-CgyYxSEC.js} +1 -1
  114. package/dist/assets/gitGraph-4MIJSDKK--Dc33TN5.js +1 -0
  115. package/dist/assets/{gitGraphDiagram-DS77QQ5N-COu0mOui.js → gitGraphDiagram-WWUBYQGX-D1dYmoGu.js} +1 -1
  116. package/dist/assets/{highlighted-body-OFNGDK62-CnGKNo0r.js → highlighted-body-OFNGDK62-BxO9mjPI.js} +1 -1
  117. package/dist/assets/i18n-Cfqor-xb.js +9 -0
  118. package/dist/assets/i18n-locales-Bz4c8KXc.js +31 -0
  119. package/dist/assets/index-BU-FzlQ6.js +20 -0
  120. package/dist/assets/index-_VyGO4ms.css +2 -0
  121. package/dist/assets/info-A6RAGUB7-DBa3mCQO.js +1 -0
  122. package/dist/assets/{infoDiagram-6WML65LV-BT0Q6MIs.js → infoDiagram-FKFFQAWI-Cr1-5_Am.js} +1 -1
  123. package/dist/assets/infrastructure-CIpDEFyQ.js +3 -0
  124. package/dist/assets/{ishikawaDiagram-WSZJBQD7-kvPjMvBP.js → ishikawaDiagram-5VMMS53U-Bsjx7BsE.js} +1 -1
  125. package/dist/assets/{journeyDiagram-NVQOT4AX-DhXy7wxt.js → journeyDiagram-EYS64GPL-1scn5Z5c.js} +2 -2
  126. package/dist/assets/{kanban-definition-27J2QSJJ-CFDavpZY.js → kanban-definition-UXKFOSKX-DjLQAv5U.js} +2 -2
  127. package/dist/assets/mermaid-GHXKKRXX-NzEcDxBh.js +1 -0
  128. package/dist/assets/{mermaid-parser.core-Dd2B8Ckv.js → mermaid-parser.core-DUt1FNlO.js} +1 -1
  129. package/dist/assets/mermaid.core-pW40dd4u.js +10 -0
  130. package/dist/assets/metadata-admin-pawEBYI9.js +9 -0
  131. package/dist/assets/{mindmap-definition-FAOFIHXS-ITGoV4nW.js → mindmap-definition-THT77NOG-CUcYMB9H.js} +1 -1
  132. package/dist/assets/nav-selection-Dzm_mA3C.js +1 -0
  133. package/dist/assets/packet-AYTQ26CC-CPP93DZD.js +1 -0
  134. package/dist/assets/{pegDiagram-VL7TDLO6-BoRu9yvl.js → pegDiagram-XKGWAZYB-CT1r3sRa.js} +1 -1
  135. package/dist/assets/pie-WAS4IAKB-B-zzBvuc.js +1 -0
  136. package/dist/assets/{pieDiagram-7S7Q4E2Y-DVsM9krU.js → pieDiagram-E7YTZNPT-CSi-V1LQ.js} +3 -3
  137. package/dist/assets/plugin-calendar-BwiiCIjv.js +1 -0
  138. package/dist/assets/plugin-charts-CDGkx7z5.js +7 -0
  139. package/dist/assets/plugin-chatbot-BGnkLzFS.js +122 -0
  140. package/dist/assets/plugin-dashboard-Bj4ldCX6.js +6 -0
  141. package/dist/assets/plugin-form-_fjHxKTV.js +1 -0
  142. package/dist/assets/plugin-gantt-zR8DkpEg.js +63 -0
  143. package/dist/assets/plugin-grid-kkbz4uec.js +9 -0
  144. package/dist/assets/plugin-kanban-DA0eW6yj.js +1 -0
  145. package/dist/assets/plugin-map-DukneTNg.js +1 -0
  146. package/dist/assets/{plugin-markdown-DNllWgPM.js → plugin-markdown-B7zwZHmn.js} +1 -1
  147. package/dist/assets/plugin-report-DaPtlsJr.js +59 -0
  148. package/dist/assets/plugin-timeline-B6rsNNAK.js +1 -0
  149. package/dist/assets/plugin-tree-DauauLFc.js +1 -0
  150. package/dist/assets/plugin-view-5qxxRyZZ.js +1 -0
  151. package/dist/assets/plugins-views-iYcMmImr.js +4 -0
  152. package/dist/assets/{quadrantDiagram-CIZ2JOQS-C4VzXHnp.js → quadrantDiagram-AXDQQJYC-DUJ_94hm.js} +1 -1
  153. package/dist/assets/radar-RG4KPBEZ-DWmbpYEk.js +1 -0
  154. package/dist/assets/railroad-74A4TZTK-xJ7dMu2F.js +1 -0
  155. package/dist/assets/railroad-abnf-HS5TGJTU-Cw4KG_nE.js +1 -0
  156. package/dist/assets/railroad-ebnf-LZEXJU2U-C0cgrfTl.js +1 -0
  157. package/dist/assets/railroad-peg-WCYAUIDC-DOEGG9oQ.js +1 -0
  158. package/dist/assets/{railroadDiagram-AXF67PYL-DqZ3yKWv.js → railroadDiagram-O6MQD6OU-CEyfAhzM.js} +1 -1
  159. package/dist/assets/{requirementDiagram-LRYGKXZP-BeH0P3vD.js → requirementDiagram-IS5BZ75X-CAK7hvBg.js} +2 -2
  160. package/dist/assets/{runtime-metadata-persistence-DTOJpVmd.js → runtime-metadata-persistence-DYPxFzHI.js} +1 -1
  161. package/dist/assets/{sankeyDiagram-W5VNT64P-Bu_tPh-A.js → sankeyDiagram-P5KCCOFB-DgYJh7uz.js} +2 -2
  162. package/dist/assets/{sequenceDiagram-SI44F4Z6-BWEuLn1a.js → sequenceDiagram-WJ2MYXX4-DsQerPtC.js} +1 -1
  163. package/dist/assets/{src-CY2xhbXR.js → src-CVJP2nIc.js} +1 -1
  164. package/dist/assets/src-JX1BkhmR.js +17 -0
  165. package/dist/assets/{src-DhAd4aY4.js → src-S6pzKItc.js} +1 -1
  166. package/dist/assets/src-_DxAIBqo.js +1 -0
  167. package/dist/assets/{stateDiagram-OKZ733FA-Cp7aDYsZ.js → stateDiagram-XQSTLZYL-BJndPKik.js} +1 -1
  168. package/dist/assets/stateDiagram-v2-IH3M54BS-Bi94bTLl.js +1 -0
  169. package/dist/assets/studioEntry-C6G8U-LG.js +1 -0
  170. package/dist/assets/submitRedirect-UXd9NsjL.js +1 -0
  171. package/dist/assets/swimlanes-V6O3JKXN-BiKyiEJr.js +1 -0
  172. package/dist/assets/swimlanesDiagram-JKAHXJPX-DKIR852g.js +8 -0
  173. package/dist/assets/{timeline-definition-Z64GVDOM-BcUiJfLU.js → timeline-definition-24CTP7MA-CW5rY3PX.js} +2 -2
  174. package/dist/assets/treeView-Q6P3EWNA-BcWCBGcU.js +1 -0
  175. package/dist/assets/treemap-WGGIJYW6-DMTEJzXV.js +1 -0
  176. package/dist/assets/ui-components-D2lrjG-t.js +43 -0
  177. package/dist/assets/ui-layout-UUTFXV6S.js +1 -0
  178. package/dist/assets/use-book-data-qUZAxIs0.js +1 -0
  179. package/dist/assets/useActionModal-CkM-zGdy.js +1 -0
  180. package/dist/assets/usePackageL10n-F9isJ9pn.js +1 -0
  181. package/dist/assets/useSettingsLabel-CSZBfUiw.js +1 -0
  182. package/dist/assets/utils-MjUhYVsx.js +1 -0
  183. package/dist/assets/{vendor-charts-BEGSmcjR.js → vendor-charts-CY9WhhzX.js} +1 -1
  184. package/dist/assets/vendor-i18n-C1AQDWux.js +1 -0
  185. package/dist/assets/{vendor-markdown-C_Ip9E_I.js → vendor-markdown-BW_XFZ_b.js} +25 -25
  186. package/dist/assets/vendor-objectstack-BeKUVjuj.js +270 -0
  187. package/dist/assets/{vennDiagram-T6HMQDX7-BKJsL5fS.js → vennDiagram-4TSXK5OY-C79cMc25.js} +1 -1
  188. package/dist/assets/wardley-WFR3VGLG-BRyRizpT.js +1 -0
  189. package/dist/assets/{wardleyDiagram-T6FBY63Y-CZ0aMbYX.js → wardleyDiagram-VM6X3IG4-BAO0_jUk.js} +1 -1
  190. package/dist/assets/{xychartDiagram-ELKLHX3M-BpK2RmQ_.js → xychartDiagram-S5SC5T6Z-BIRd7YRo.js} +3 -3
  191. package/dist/eager-closure.json +180 -139
  192. package/dist/index.html +222 -6
  193. package/package.json +2 -2
  194. package/dist/assets/AdapterProvider-gULVLpjV.js +0 -3
  195. package/dist/assets/ApiConsolePage-DYuOp_W4.js +0 -1
  196. package/dist/assets/AppManagementPage-BvSxDdA_.js +0 -1
  197. package/dist/assets/ApprovalsInboxPage-oep3a-Ek.js +0 -1
  198. package/dist/assets/ComponentNavView-Cq4wkNUa.js +0 -1
  199. package/dist/assets/DashboardView-C23ZCS2S.js +0 -1
  200. package/dist/assets/DocPage-Y4rWCZ3E.js +0 -1
  201. package/dist/assets/ExpressionProvider-vGLngw8h.js +0 -1
  202. package/dist/assets/FlowRunsPage-BeGa9_ge.js +0 -1
  203. package/dist/assets/InterfaceListPage-BMvedZyV.js +0 -1
  204. package/dist/assets/ManagedByBadge-mKmG0hP7.js +0 -1
  205. package/dist/assets/MarketplaceAccessDenied-BBMyNu2w.js +0 -1
  206. package/dist/assets/MarketplaceInstalledPage-B4qrvb7w.js +0 -1
  207. package/dist/assets/MarketplacePackagePage-BuVfVeBj.js +0 -4
  208. package/dist/assets/MarketplacePage-Cmltk5nG.js +0 -1
  209. package/dist/assets/MetadataInspector-kVAu8vlh.js +0 -1
  210. package/dist/assets/MetadataProvider-DyFZSNqq.js +0 -1
  211. package/dist/assets/ObjectDataPage-BKHEYwXA.js +0 -1
  212. package/dist/assets/PageView-CTqS-VD9.js +0 -1
  213. package/dist/assets/ProfilePage-CBUxXn5a.js +0 -1
  214. package/dist/assets/PublicFormsPage-B8Dk8fky.js +0 -1
  215. package/dist/assets/RecordDetailView-BBNqsNy9.js +0 -11
  216. package/dist/assets/RecordFormPage-CeUmmc_n.js +0 -1
  217. package/dist/assets/ReportDefaultInspector-CRjDi2Er.js +0 -3
  218. package/dist/assets/ReportView-Cwi_Po4H.js +0 -2
  219. package/dist/assets/SearchResultsPage-Cg0oq2by.js +0 -1
  220. package/dist/assets/SettingsHub-B5_S9YgI.js +0 -1
  221. package/dist/assets/SettingsView-Csi1awf-.js +0 -1
  222. package/dist/assets/SystemHubPage-CnDri9oU.js +0 -1
  223. package/dist/assets/architecture-TIHT7OUA-B8Ln-u1a.js +0 -1
  224. package/dist/assets/blockDiagram-VBNYF7ZC-l_P_W7_Y.js +0 -132
  225. package/dist/assets/c4Diagram-5PPSVZJV-CE82HAlO.js +0 -10
  226. package/dist/assets/channel-DowAYf9b.js +0 -1
  227. package/dist/assets/chunk-3NCLNEKW-Z5ckM4mG.js +0 -1
  228. package/dist/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
  229. package/dist/assets/chunk-7Z6QIM7H-m6s_oalL.js +0 -10
  230. package/dist/assets/chunk-I66GZJ75-BsY3mBMx.js +0 -127
  231. package/dist/assets/chunk-J7OUQ5F2-Cl4FNR_k.js +0 -1
  232. package/dist/assets/chunk-JQJVKLGR-BApWxqMA.js +0 -156
  233. package/dist/assets/chunk-NSK5VX7P-BBTxIP6Z.js +0 -2
  234. package/dist/assets/chunk-QR6OTTB3-DJcD7xr-.js +0 -62
  235. package/dist/assets/chunk-RYQCIY6F-CnMsR_qh.js +0 -1
  236. package/dist/assets/chunk-UBXNYLIW-B7z1tp3V.js +0 -1
  237. package/dist/assets/chunk-W5SLKNZC-BnMc5i0B.js +0 -1
  238. package/dist/assets/chunk-WRU74C26-MrzCPX2E.js +0 -70
  239. package/dist/assets/chunk-XXDRQBXY-NKBlW2Dm.js +0 -1
  240. package/dist/assets/chunk-ZIRB5QZD-O39ZBUk3.js +0 -32
  241. package/dist/assets/classDiagram-JCYQIIEL-C4ADaKBz.js +0 -1
  242. package/dist/assets/classDiagram-v2-OCEON4UE-C4ADaKBz.js +0 -1
  243. package/dist/assets/createDerive-B3AGnDaY.js +0 -1
  244. package/dist/assets/cynefin-VYW2F7L2-exAq6djZ.js +0 -1
  245. package/dist/assets/cytoscape.esm-B-NFISlW.js +0 -321
  246. package/dist/assets/dagre-Buvkdvvj.js +0 -1
  247. package/dist/assets/dagre-VZM6K2ZE-B5E8-xuM.js +0 -4
  248. package/dist/assets/dist-Ck19TqqJ.js +0 -5
  249. package/dist/assets/erDiagram-JOGREHBK-BU4b8mUv.js +0 -85
  250. package/dist/assets/eventmodeling-45OFAUF4-DVTVIsGT.js +0 -1
  251. package/dist/assets/flowDiagram-UKHOOZJN-BDHHPApJ.js +0 -1
  252. package/dist/assets/framework-BwfIhdyz.js +0 -55
  253. package/dist/assets/gitGraph-TEB2WS4Q-DizXBl0d.js +0 -1
  254. package/dist/assets/i18n-rra-09wp.js +0 -9
  255. package/dist/assets/index-BLepsDd_.js +0 -19
  256. package/dist/assets/index-D26gl3rg.css +0 -2
  257. package/dist/assets/info-DKCQHKI2-CfAGND28.js +0 -1
  258. package/dist/assets/infrastructure-BCTDJsqi.js +0 -3
  259. package/dist/assets/map-BaFkSB1l.js +0 -1
  260. package/dist/assets/mermaid-GHXKKRXX-CR9PcY0X.js +0 -1
  261. package/dist/assets/mermaid.core-BwiBFu_S.js +0 -10
  262. package/dist/assets/metadata-admin-BE9_-F_f.js +0 -25
  263. package/dist/assets/packet-7NZHBO7P-DeymwuCa.js +0 -1
  264. package/dist/assets/pie-RZYD4A2V-C2S5u8nr.js +0 -1
  265. package/dist/assets/plugin-calendar-BfY9ZunQ.js +0 -1
  266. package/dist/assets/plugin-charts-CmWL7Og-.js +0 -7
  267. package/dist/assets/plugin-chatbot-mxoQfkdx.js +0 -120
  268. package/dist/assets/plugin-dashboard-CzbAW1Rz.js +0 -6
  269. package/dist/assets/plugin-form-ItAwTFz-.js +0 -1
  270. package/dist/assets/plugin-gantt-DF5W5xkN.js +0 -64
  271. package/dist/assets/plugin-grid-B42Photo.js +0 -9
  272. package/dist/assets/plugin-kanban-Dh3HIJIm.js +0 -1
  273. package/dist/assets/plugin-map-C1wSLqlB.js +0 -1
  274. package/dist/assets/plugin-report-yfOfZPQg.js +0 -59
  275. package/dist/assets/plugin-timeline-BpuaaqBd.js +0 -1
  276. package/dist/assets/plugin-tree-BrXE50se.js +0 -1
  277. package/dist/assets/plugin-view-Jc0rkk7A.js +0 -1
  278. package/dist/assets/plugins-views-cOiN-mPq.js +0 -4
  279. package/dist/assets/radar-I7S5WNFK-DzcfTC8k.js +0 -1
  280. package/dist/assets/railroad-3IZDKUUU-DT2-gzup.js +0 -1
  281. package/dist/assets/railroad-abnf-AHOZXSZD-BvCkhVdg.js +0 -1
  282. package/dist/assets/railroad-ebnf-EBAXGLYW-rvjxEE4k.js +0 -1
  283. package/dist/assets/railroad-peg-LSFZ7HO6-BIzZt1tD.js +0 -1
  284. package/dist/assets/skeletons-BwA1TSR2.js +0 -1
  285. package/dist/assets/src-BLbFBP_B.js +0 -1
  286. package/dist/assets/stateDiagram-v2-UEYNNEHI-DaTg8C5m.js +0 -1
  287. package/dist/assets/swimlanes-SLNWSIFB-wrx1JN6o.js +0 -1
  288. package/dist/assets/swimlanesDiagram-ULZ7WXOC-Bqz9GVuM.js +0 -8
  289. package/dist/assets/treeView-QDETBFTQ-DKZwqlNb.js +0 -1
  290. package/dist/assets/treemap-6X3UGDF4-Bqsldamv.js +0 -1
  291. package/dist/assets/ui-components-Dwq5utCl.js +0 -42
  292. package/dist/assets/ui-layout-DPFlQaQp.js +0 -1
  293. package/dist/assets/use-book-data-CZc8MJsb.js +0 -1
  294. package/dist/assets/useActionModal-DYiSBx1G.js +0 -1
  295. package/dist/assets/usePackageL10n-D91-102Q.js +0 -1
  296. package/dist/assets/useSettingsLabel-CeZ36S4g.js +0 -1
  297. package/dist/assets/vendor-i18n-Cpia2wlg.js +0 -1
  298. package/dist/assets/vendor-objectstack-B1R3ym-9.js +0 -264
  299. package/dist/assets/wardley-OPB4EBWU-C_U_bbc2.js +0 -1
  300. /package/dist/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,616 @@
1
1
  # @objectstack/console
2
2
 
3
+ ## 17.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 41b5a44: Console (objectui) refreshed to `00d3f09c500c`. Frontend changes in this range:
8
+
9
+ Derived from the changesets objectui declared over the range — 80 releasing of 106 changesets added across 152 non-merge commits; omitted: 26 release-nothing changesets, 49 commits carrying no changeset (they ship no package code).
10
+
11
+ - **minor** — `resolveTitleField` delegates to the shared ADR-0079 ladder (objectui#7287). (objectui `b61d7d80a`)
12
+ - **minor** — The last two exported type names with two authorities *inside* `@object-ui/types` now have one each (objectui#6349, second batch — the remaining intra-package collisions from the… (objectui `ac8abb0f5`)
13
+ - **minor** — `ChartSchema` declares the data model it renders — chart-level `data` and `xAxisKey`, with the bare-string `xAxis` folded onto the latter — and `ChartDataSeries` accepts both bind… (objectui `5f789538d`)
14
+ - **minor** — Repair the `filter-builder` mirror: the field key is `value`, the type vocabulary is the value families the component actually folds a column into, and a filter group is `{ id, lo… (objectui `d4493fdbc`)
15
+ - **minor** — **`BaseSchema.hidden` now declares the predicate string the renderer already evaluates** (objectui#7455, maintainer ruling 2026-09-03). (objectui `3e01cb55f`)
16
+ - **minor** — **BREAKING** — Rename `KanbanColumn.items` to `cards`, in both halves of the published surface (objectui#6939, maintainer ruling 2026-09-02). (objectui `240b80f31`)
17
+ - **minor** — Relationship-target readers resolve a lookup's target from `reference` alone, dropping the `reference_to` fallback arm (objectui#6837, half 2). (objectui `045d20ba8`)
18
+ - **minor** — Converge the two named select-option types onto one spec-derived base (objectui#7014, Q1). (objectui `98d4108a2`)
19
+ - **minor** — Localize the server's built-in aggregate measure titles on dataset charts (objectui#7258 — consumer half of the objectstack#14492 contract; maintainer ruling B, 2026-09-02). (objectui `47547d01a`)
20
+ - **minor** — **BREAKING** — **Removes a published export.** Retire the `MobileComponentConfig` type (objectui#5942, ADR-0049 enforce-or-remove). The name is deleted from `@object-ui/types` and from `@object-… (objectui `90665e07a`)
21
+ - **minor** — A non-grid view's fetch now carries a platform row ceiling, and crossing it is never silent (objectui#7210, maintainer ruling a′, 2026-09-02). (objectui `7c3df8f0c`)
22
+ - **minor** — The two report data-source keys are retired on both faces (objectui#6121, maintainer ruling of 2026-08-30, decision batch #8 — option A's retirement half; ADR-0049 enforce-or-remo… (objectui `6414dfd45`)
23
+ - **minor** — `createObjectStackAdapter` declares the adapter it returns, not the shared `DataSource` interface (objectui#7323). (objectui `6a99bb209`)
24
+ - **minor** — Publish the parameter types of the entry's own exported functions, so a consumer can name what it must pass (objectui#7324). (objectui `2d3fe73f6`)
25
+ - **minor** — Consolidate the seven lucide icon-name resolvers into one seam (objectui#5935). (objectui `e17605309`)
26
+ - **minor** — **BREAKING** — Retire the `'created_at'` timeline date-axis floors at both plugin faces (objectui#7070 step ③, maintainer ruling 2026-09-01, 总监批 #28). (objectui `04a67b9dc`)
27
+ - **minor** — `compareTo` on a `scatter` chart is no longer supported — scatter joins pie / donut / funnel on the list of chart families that ignore it (objectui#7402, maintainer ruling 2026-09… (objectui `0dc2c9324`)
28
+ - **minor** — `ObjectTimeline` refuses an undeclared date axis instead of inventing one (objectui#7459). (objectui `20cb8db9b`)
29
+ - **minor** — **Retired: `DetailViewSection.hideEmpty`.** The `record:details` section key is gone from `@object-ui/types` and `RecordDetailsRenderer` no longer reads it. Emptiness on a detail… (objectui `1f31d3af6`)
30
+ - **minor** — **BREAKING** — Retire `useObjectLabel().viewDescription()` and the `_views.<view>.description` catalog convention it resolved (objectui#7219, maintainer ruling 2026-09-02, option B — enforce-or-… (objectui `a4514e840`)
31
+ - **minor** — The eight `on*` handler keys PR #7339's census could not see now refuse by name (objectui#7344 — the objectui#6182 ruling of 2026-08-25 that the handler-expression string dialect… (objectui `ed27d7c19`)
32
+ - **minor** — **BREAKING** — Removed the block schema family (objectui#4895, ADR-0049 enforce-or-remove, maintainer ruling 2026-09-02 — option C1, retire the family in one change, no transition window). (objectui `d88e20f55`)
33
+ - **minor** — `DataErrorState` accepts the icon props `DataEmptyState` already had, and `ListView`'s load-failure panel is now rendered by the error state instead of the empty state (objectui#7… (objectui `78ca23810`)
34
+ - **minor** — **Renamed:** the declared input carrying the action's execution type on `action:button` and `action:icon` is now `actionType`. It used to be `type`, which collides with the SDUI e… (objectui `f0bb9fa31`)
35
+ - **minor** — Size the gantt task list from its container, and give a row's dates ONE predicate (objectui#7204, objectui#7224; maintainer ruling 2026-09-02, option Y). (objectui `bf244f400`)
36
+ - **minor** — `objectui validate` now prints the failing union arm the document selected, instead of a bare "Invalid input" (objectui#7004, maintainer ruling 2026-09-02 — option B). (objectui `a5d55472b`)
37
+ - **minor** — **BREAKING** — Mixed id/object action arrays are refused; use all ids or all objects (objectui#7182, maintainer ruling 2026-09-02, option C). (objectui `b65251465`)
38
+ - **minor** — Studio workbench rails converge on an AI copilot apply without a page reload (objectui#7255) (objectui `1688986a3`)
39
+ - **minor** — A gantt timeline whose rows are malformed now refuses to draw, naming the row, instead of crashing the render (objectui#7164, maintainer ruling A+). (objectui `20c04b232`)
40
+ - **minor** — Studio workbench and AI tool cards speak the author's language (objectui#7254) (objectui `f1574235e`)
41
+ - **minor** — Two widget prop types anchor their `schema` to exported schema types that extend `BaseSchema`, instead of hand-rolled inline literals with no `BaseSchema` in their ancestry (objec… (objectui `4ca30d044`)
42
+ - **minor** — Fix the three breaks at the AI paywall moment (#7253), measured on a free plan's second build iteration when the cloud guardrail refuses "Confirm changes" with a 429 `AI_DESIGN_QU… (objectui `63b4e0e71`)
43
+ - **minor** — `@object-ui/types/zod`: the 58 `on*` handler keys declared `z.function()` now refuse BY NAME (objectui#6124) (objectui `a8d5c717e`)
44
+ - **minor** — `disabled` accepts a predicate string — `boolean | string`, the `BaseSchema` union — on the 18 concrete schemas that used to narrow it back to `boolean` (objectui#7087, maintainer… (objectui `c93b4d5f3`)
45
+ - **minor** — **BREAKING** — `record:details` section headings converge on the declared `label` slot; the `title` alias limb is gone (objectui#6190, maintainer ruling 2026-08-31 — option A, three producers pl… (objectui `1e7fe0a65`)
46
+ - **minor** — **BREAKING** — `ObjectFormSection` no longer declares `className` / `gridClassName` (objectui#7200 — the declared-but-inert remainder of objectstack#13626). (objectui `2e32ed475`)
47
+ - **minor** — feat(data-table): pass `pendingRow` to the host cell editor — the row with its staged edits merged over it (#7188) (objectui `adbda1bed`)
48
+ - **minor** — feat(types): `renderCellEditor`'s context gains `pendingRow` — the persisted row merged with its staged, unsaved edits (#7188) (objectui `adbda1bed`)
49
+ - **patch** — `button-group` honors per-button `disabled`, and the catalog stops authoring 29 keys nothing reads (objectui#7077, maintainer ruling 2026-09-04, decision batch #25). (objectui `00d3f09c5`)
50
+ - **patch** — Fix `record-alert` with `severity: 'success'` rendering a database glyph instead of a check mark (objectui#7593). (objectui `fe8f4515d`)
51
+ - **patch** — Correct two retired lucide spellings on component-registration `icon` meta (objectui#5936, the behaviour-neutral slice). (objectui `e30ed155c`)
52
+ - **patch** — fix(plugin-calendar): the all-day lane header reads the same string with or without an I18nProvider (objectui `b8fc1e2bf`)
53
+ - **patch** — `dashboard.noRows` and `dashboard.noDataAvailable` are retired — two rows removed from each of the ten locale packs, 20 entries, zero readers (objectui#7125). (objectui `14906917f`)
54
+ - **patch** — `ui:icon` and `ui:spinner` route their host spread through `toDomProps` (objectui#5632, the `BARE_SPREAD_ON_SVG` slice of objectui#5574). (objectui `e304a4ef7`)
55
+ - **patch** — Relay a per-view `rowColor` through the two object-view hosts (objectui#7218). (objectui `34ea56de7`)
56
+ - **patch** — Repair the `tree-view` mirror: `data` is optional, so the `nodes` spelling the renderer reads FIRST is a legal document on its own (objectui#6939, maintainer ruling recorded 2026-… (objectui `777e5c6f4`)
57
+ - **patch** — Field designer: clearing a picklist option's **Label** no longer produces metadata the API refuses (objectui#7014 Q2). (objectui `f0f774b0d`)
58
+ - **patch** — Delete the second, dead `SchemaRenderer` in `packages/components/src` (objectui#7319). (objectui `26e06d706`)
59
+ - **patch** — Correct three false `@objectstack/spec` alignment claims on field metadata, and pin the real boundary (objectui#7014). (objectui `0e3b3be09`)
60
+ - **patch** — The settled-schema convergence, and the gantt's duplicate query gated (objectui#7225, maintainer ruling B, 2026-09-02). (objectui `7c3df8f0c`)
61
+ - **patch** — A scatter handed more than one series now refuses instead of drawing a false picture. (objectui `e8c553bcb`)
62
+ - **patch** — Render a dataset measure over a date field as a date (objectui#7178, maintainer ruling 2026-09-02, director summon #8 — option A). (objectui `48c19bd48`)
63
+ - **patch** — Repair the `object-map` and `object-gantt` mirrors: `objectName` is optional, and a refinement requires that at least one of `data`, `staticData`, `objectName` is present (objectu… (objectui `77cb489b4`)
64
+ - **patch** — `DataTableSchema.rowActions` validates as the boolean it has always been declared to be (objectui#6940, maintainer ruling 2026-09-02, director seat summon #8, option A). (objectui `0c386dd7f`)
65
+ - **patch** — Repair the `tooltip` and `context-menu` mirrors: declare the keys their renderers actually read, and stop requiring the `children` neither of them reads (objectui#6939, maintainer… (objectui `bfaa1589c`)
66
+ - **patch** — Correct `BaseSchema.hidden`'s JSDoc: it hides by NOT RENDERING, exactly as `visible: false` does (objectui#7088, maintainer ruling 2026-09-01). (objectui `c1fe272ad`)
67
+ - **patch** — fix(plugin-calendar): a record with no date is no longer placed on today (objectui `bc5870c9f`)
68
+ - **patch** — `ui:text` now honours `TextSchema.variant` and `TextSchema.align` (objectui `57f9b077b`)
69
+ - **patch** — Implement `ListColumn.wrap` — a column that says it wraps now actually wraps (objectui#6650, maintainer ruling 2026-09-02, Option B). (objectui `d6ceb8d29`)
70
+ - **patch** — FLS-gate the `$expand` projection at the five remaining build sites (objectui#7230). (objectui `6411def25`)
71
+ - **patch** — Name the scatter legend's series, so its swatch stops reading as a stray data point (objectui#7248). (objectui `bb459ea9c`)
72
+ - **patch** — Draw every categorical x-axis label on short axes (objectui `d6fe1e1f2`)
73
+ - **patch** — **Bug — a `code`/`text` value whose text is JSON rendered as the literal `[Object]`.** `coerceToSafeValue` classified strings by SHAPE: any string starting `{`/`[` and ending `}`/… (objectui `b6e83be6a`)
74
+ - **patch** — fix(core): `ValueDataSource` applies the filters it is given instead of returning every row (objectui `7776fc268`)
75
+ - **patch** — Fix `AiUsageIndicator` to recognize the free plan's new `resetKind: 'weekly'` and its `resetsAt` (objectui#7371, consumer of cloud PR #1852's rolling 7-day AI quota window). (objectui `339970446`)
76
+ - **patch** — The console chrome's Home affordances follow the product's declared landing (objectui#7256). (objectui `d4c6a86a1`)
77
+ - **patch** — A master-detail form no longer ends on a screen asserting both a failure and a success (objectui#7345). (objectui `7dedec6f1`)
78
+ - **patch** — Grid: a malformed entry in `grouping.fields[]` no longer crashes the whole grid. (objectui `e21308ef2`)
79
+ - **patch** — A form no longer ends on a screen asserting both a failure and a success (objectui#7252). (objectui `4704aa4bb`)
80
+ - **patch** — `MetadataHmrReloader` stops flooding a production-posture deployment with `GET /api/v1/dev/metadata-events` 404s (objectui#7257). (objectui `ef1ffc283`)
81
+ - **patch** — Stop the record header title from collapsing when the action tail is wide (objectui `ab9294039`)
82
+ - **patch** — A synthesized default list view now always leads with the object's name field (objectui#7245). (objectui `19f16390d`)
83
+ - **patch** — `colorField` now means the same thing in the gantt, the calendar and the timeline (objectui#7243). (objectui `e75f4c986`)
84
+ - **patch** — `AiPendingActionsInbox` speaks the session locale — every string in it, not only its timestamps (objectui#7173). (objectui `01c90238e`)
85
+ - **patch** — Studio's package switcher reads the server's `writable` verdict instead of guessing from `manifest.scope` (objectui#7177, ADR-0130 Consequences row 6, server half in objectstack#1… (objectui `ebc05b4d6`)
86
+ - **patch** — fix(components): eight widgets now consume `SchemaRenderer`'s evaluated `disabled` verdict instead of re-reading the raw authored key (objectui `b9f5ff128`)
87
+ - **patch** — `RuntimeWidgetManifest` / `RuntimeWidgetSource` document the spec's retired `WidgetManifest` / `WidgetSource` as HISTORY, instead of describing them as a live schema (objectui#521… (objectui `64d624ded`)
88
+ - **patch** — FLS-gate the speculative half of `ListView`'s `$select` projection (objectui#7216). (objectui `ac257b31f`)
89
+ - **patch** — Fix: a `dependsOn` lookup edited inline follows a parent edited in the same row **before** it is saved (#7188, finishing #7165). (objectui `adbda1bed`)
90
+ - **patch** — `ObjectGantt` no longer blanks the chart when one reload supersedes another (objectui `92c65aab7`)
91
+
92
+ ⚠️ 8 of these carry a breaking change: 8 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
93
+
94
+ **In this console build, declared nowhere** — objectui merged 49 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
95
+
96
+ - _(no changeset)_ fix(skills): retire the four root-devdep rows by unmarking their fences (#7557) (#7568) (objectui `24135aba1`)
97
+ - _(no changeset)_ docs(console): re-fence three design-token lists as tables, not `tsx` (#7583) (objectui `b80d40574`)
98
+ - _(no changeset)_ fix(scripts): read snippet imports from the AST in both gates (#7569) (objectui `78d592bb9`)
99
+ - _(no changeset)_ feat(scripts): bound snippet resolution at the repository root manifest (#7554) (objectui `28b3cc3ab`)
100
+ - _(no changeset)_ docs(ci-cd-pipeline): document the MARKED_FLOOR shrink-only ratchet (#7563) (objectui `98f51962b`)
101
+ - _(no changeset)_ feat(scripts): make the marked skill-example population shrink-only, per category (#7553) (objectui `403e3e555`)
102
+ - _(no changeset)_ docs(scripts): stop restating the eager-closure headroom in prose (#7529) (objectui `d04e79a80`)
103
+ - _(no changeset)_ fix(skills): teach the honest test-double idiom in testing.md, retiring its three bare-any rows (#7496) (objectui `a27d153c2`)
104
+ - _(no changeset)_ feat(scripts): assert no bare `any` in a marked skill example, and scan `.claude/skills` too (#7490) (objectui `ac8d5233d`)
105
+ - _(no changeset)_ fix(console,scripts): give the locale catalogue its own chunk, so the framework ceiling budgets the framework (#7489) (objectui `177afeba1`)
106
+ - _(no changeset)_ docs(plugin-dashboard): shrink UNGATED_DOCS by one — the dashboard README's 12 blocks now compile (#7485) (objectui `c4f541df9`)
107
+ - _(no changeset)_ docs(app-shell): shrink UNGATED_DOCS by one — app-shell README's 11 blocks compile honestly (#5174 batch 11) (#7484) (objectui `c39c825d3`)
108
+ - _(no changeset)_ feat(scripts): gate every eval must_contain token against the guides its bundle ships (#7475) (objectui `e307c9896`)
109
+ - _(no changeset)_ docs(plugin-report,docs): shrink UNGATED_DOCS by four — plugin-report README plus the last three .mdx entries (#7458) (objectui `0246d116e`)
110
+ - _(no changeset)_ docs(agents): record the search qualifier-token hazard beside the channel-control rule (#7452) (objectui `3804c222b`)
111
+ - _(no changeset)_ feat(gates): check the marked fenced examples in the skill guides (#7427) (objectui `c92dc4106`)
112
+ - _(no changeset)_ skills(objectui): two eval assertions stop grading accidental substrings, one re-points to the taught spelling (#7405) (#7422) (objectui `12bca5356`)
113
+ - _(no changeset)_ skills(objectui): page-builder teaches `section`, and stops claiming a closed set of five (#7416) (objectui `a37600b06`)
114
+ - _(no changeset)_ skills(objectui): evals grade what the guides teach — six assertions re-pointed or dropped, two substring accidents fixed, registerComponent taught (#7360) (#7408) (objectui `24d4a21ff`)
115
+ - _(no changeset)_ chore(deps): Bump mermaid from 11.17.0 to 11.17.1 (#7411) (objectui `b3a6531d8`)
116
+ - _(no changeset)_ chore(deps): Bump fumadocs-ui from 16.14.4 to 16.15.4 (#7060) (objectui `bde6483b1`)
117
+ - _(no changeset)_ chore(scripts): check-shell-escape-residue scans .claude/skills too — the 18 fenced blocks #7251 moved, back on its surface (#7403) (#7414) (objectui `9398a8155`)
118
+ - _(no changeset)_ docs(ci): skills-paths header names both scan roots and drops the file count (#7412) (objectui `5e9b18903`)
119
+ - _(no changeset)_ chore(scripts): check-skills-paths scans .claude/skills too — 27 to 88 stated paths under the gate, the #7251 pins restored (#7358) (#7407) (objectui `7c7729859`)
120
+ - _(no changeset)_ test(schema-catalog): pin the two unsealed authored-key pairs (objectui#6810) (#7395) (objectui `0614b6df1`)
121
+ - _(no changeset)_ chore(deps): Bump js-yaml from 5.2.3 to 5.4.1 (#7055) (objectui `d53e472f5`)
122
+ - _(no changeset)_ chore(deps): Bump i18next from 26.3.6 to 26.4.0 (#7056) (objectui `74f973a86`)
123
+ - _(no changeset)_ chore(deps): Bump mermaid from 11.16.1 to 11.17.0 (#7283) (objectui `90bc5d16a`)
124
+ - _(no changeset)_ docs(skills): verify — VFY-C-01, prescribe the stable Chromium alias (#7375) (objectui `d4bf7f741`)
125
+ - _(no changeset)_ skills(objectui): optimization flight — contributor-only content moved out, duplicates merged into rules/, router first, three evals corrected (net −20,344 tokens, −31.8%) (#7370) (objectui `0af240f05`)
126
+ - _(no changeset)_ docs(agents): record how GitHub mangles agent-written bodies, and the per-query search control (#7317) (objectui `2956d7af8`)
127
+ - _(no changeset)_ test(hooks): add the missing self-test matrix for guard-main-checkout.sh (#7264) (objectui `9650430f3`)
128
+ - _(no changeset)_ docs(agents): record that seats cannot delete remote branches (#7242) (objectui `1e30554f3`)
129
+ - _(no changeset)_ fix(test): point `test:integration` at projects that exist, and pin the agreement (#7327) (objectui `dfb60ae61`)
130
+ - _(no changeset)_ docs(data-objectstack,plugin-form,plugin-view): clear three package READMEs off the doc-snippet ledger (#5174 batch 8) (#7326) (objectui `c85b7aa24`)
131
+ - _(no changeset)_ docs(plugins,utilities,tooling): clear three more .mdx pages off the doc-snippet ledger (#5174 batch 7) (#7325) (objectui `a9b7bc742`)
132
+ - _(no changeset)_ docs(plugins,utilities): clear three more .mdx pages off the doc-snippet ledger (#5174 batch 6) (#7314) (objectui `0c20357ec`)
133
+ - _(no changeset)_ feat(scripts): pin documented `interface` blocks against the shipped type, both ways (#7306) (objectui `39c2c1285`)
134
+ - _(no changeset)_ test(infra): attribute and gate the ECONNREFUSED network-escape class repo-wide (#7304) (objectui `99614bb1f`)
135
+ - _(no changeset)_ test(config): state the unit project's real `isolate: false` invariant, and enforce it (#7309) (objectui `d717e8bc3`)
136
+ - _(no changeset)_ test(e2e): tell an open modal from a blank viewport in the boot-continuity rule (#7305) (objectui `4b2f9fa81`)
137
+ - _(no changeset)_ docs(guides,plugins,tooling): clear three .mdx pages off the doc-snippet ledger (#5174 batch 5) (#7294) (objectui `9bf0abfec`)
138
+ - _(no changeset)_ feat(scripts): derive retirement from the tombstone registry in the designer key-parity gate (#7290) (objectui `ec0a7b846`)
139
+ - _(no changeset)_ test(scripts): pin the prose attached to the eager-closure baselines to the values it explains (#7286) (objectui `5dbbde6d2`)
140
+ - _(no changeset)_ test(scripts): pin the published stylesheet banner per subject (#7044) (#7285) (objectui `5a053e841`)
141
+ - _(no changeset)_ docs(changeset): write the anti-collision filename convention into the README (#7280) (objectui `ad2e19341`)
142
+ - _(no changeset)_ fix(tooling): drop the derivation gate's export filter — rule 2 as a one-liner, rule 1 scoped (#7274) (objectui `9207c53e4`)
143
+ - _(no changeset)_ feat(gates): cover the permission authoring shapes in designer-field-key-parity (#7272) (objectui `a64bd9c37`)
144
+ - _(no changeset)_ ci: bound the seven remaining cache saves so bookkeeping cannot void a verdict (#7269) (objectui `1c4e2daac`)
145
+
146
+ <!-- adr-0087: not-required (no-migration-prescription) All EIGHT declared-breaking entries in this range were judged one at a time against `packages/spec`'s authorable surface at this HEAD, not as a batch. SEVEN touch nothing this repo declares. (1) objectui `240b80f31` gives `KanbanColumn` its card list under the name `cards` instead of `items`: that is a member of an `@object-ui/types` SDUI data-display type, and spec declares kanban only as a LIST-VIEW visualization (the `ui/view.zod.ts` `groupByField` family) with no `columns[].items` node anywhere in it. (2) objectui `90665e07a` retires `MobileComponentConfig`, which has zero occurrences anywhere under `packages/spec/src`. (3) objectui `04a67b9dc` drops the `'created_at'` timeline date-axis floors, which is objectui catching up to this repo: `TimelineConfigSchema.startDateField` is `z.string()` REQUIRED in `ui/view.zod.ts`, so a timeline declaring no axis never validated here and the retired floor was supplying a name downstream of a contract that already refused the document. (4) objectui `d88e20f55` removes the block schema family: `block-library`, `block-editor`, `block-instance` and `BlockSchema` all have zero occurrences under `packages/spec/src`, and this repo's `JoinedReportBlockSchema` is the report sub-report shape, a different surface that change does not name. (5) objectui `b65251465` refuses mixed id/object action arrays, converging on spec, which declares `actions: z.array(z.string())` (ids only) at both `record:header` and `record:related_list`. (6) objectui `1e7fe0a65` drops the `title` alias limb on `record:details` section headings, likewise: spec's `record:details` `sections` entries declare `label`, `group` and `fields` with no `title`, and the single `title`-as-`label`-fallback in `component.zod.ts` belongs to `object-grid`, a surface that change does not touch. (7) objectui `2e32ed475` drops `className` / `gridClassName` from `ObjectFormSection`, the declared-but-inert remainder of objectstack#13626: `gridClassName` still has zero occurrences under `packages/spec/src`, and `component.zod.ts` states in as many words that `className` is deliberately not declared on props bags. The EIGHTH does touch a key this repo declares, and is named here rather than folded in: objectui `a4514e840` retires `useObjectLabel().viewDescription()` together with the `_views.<view>.description` catalog convention it resolved, while `packages/spec/src/system/translation.zod.ts` still declares that address (documented at `:203`, the field itself at `:228`). The key therefore stays authorable and accepted on this side with nothing rendering it, a declared-vs-enforced gap filed as objectstack#15180 for its own enforce-or-remove decision. It prescribes nothing for this bump: the key remains declared and accepted, so no stored `sys_metadata` translation row becomes invalid; an entry under it simply goes inert, which objectui's own changeset states in those words. None of the eight is reachable through `@objectstack/console` in any case, re-measured against `packages/console/package.json` at this HEAD: it publishes a frozen prebuilt SPA whose `files` list is `["dist", "README.md", "CHANGELOG.md"]` and whose sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types. This diff is `.objectui-sha` plus this changeset and the two provenance records the pin gates require, and nothing else: no spec schema, no authorable metadata key and no protocol surface changes in it, so there is nothing here for `objectstack migrate meta` to act on and no ADR-0087 ledger entry to write or to name from THIS bump. This bump adds no ledger entry and claims none. -->
147
+
148
+ objectui range: `67dadd602a3a...00d3f09c500c`
149
+ - 7642aac: Console (objectui) refreshed to `67dadd602a3a`. Frontend changes in this range:
150
+
151
+ Derived from the changesets objectui declared over the range — 16 releasing of 24 changesets added across 24 non-merge commits; omitted: 8 release-nothing changesets (they ship no package code).
152
+
153
+ - **minor** — A grouped grid now says, where the group counts are, that it grouped a **page** (objectui#7189). (objectui `8952395b4`)
154
+ - **minor** — **Breaking for authored metadata:** `DataTableSchema.toolbar` is RETIRED (objectui#6881, maintainer ruling 2026-08-31). A `data-table` node that authors `toolbar` no longer valida… (objectui `3561bd2ca`)
155
+ - **minor** — Retire `ChartDataSeries.data`, and correct `ChartSchema.categories`' prose to the read it has always had (objectui#6896, ADR-0049 enforce-or-remove; maintainer ruling 2026-08-31). (objectui `b0d308da9`)
156
+ - **minor** — **BREAKING** — Retire the form-view section `className` / `gridClassName` reads (objectstack#13626, maintainer ruling 2026-09-01, director decision batch C). (objectui `9c7490268`)
157
+ - **minor** — `page:header` resolves its `actions` as declared ACTION IDS (objectui#6252, implementing the objectstack#11592 ruling — maintainer, 2026-08-25, on recommendation B). (objectui `8ec11e14f`)
158
+ - **patch** — FLS-gate the `$expand` projection at both build sites (objectui#7215). (objectui `67dadd602`)
159
+ - **patch** — Gantt toolbar: the period label names the visible window, and the prev/next buttons step it (objectui#7203). (objectui `231d1b93c`)
160
+ - **patch** — fix(app-shell,plugin-list): a list view's own `description` now reaches the screen (objectui `f626808d4`)
161
+ - **patch** — A gantt list view no longer shows the record-count bar, because the bar describes a request that view does not draw (objectui#7210, half 1). (objectui `5015fcf52`)
162
+ - **patch** — Fix: a grid grouped by a field it does not also show as a column no longer collapses every row into one `(empty)` group (objectui#7179). (objectui `a6d8b8d44`)
163
+ - **patch** — Stop shipping `dist/__tests__/numberInputBrowserReadings.d.ts` in the published tarball (objectui#6943). `packages/fields/tsconfig.json` now excludes the tooling DIRECTORIES (`__t… (objectui `39d69ad53`)
164
+ - **patch** — Scatter now says when it cannot place a row, instead of drawing an empty axis. (objectui `93bbc2055`)
165
+ - **patch** — Fix: a `dependsOn` lookup column is no longer permanently uneditable in an editable `ObjectGrid`. (objectui `84ffdbcbb`)
166
+ - **patch** — `ObjectGrid` no longer copies `descriptionField`, `lookupColumns` or `lookupFilters` onto a relational column's `fieldMeta` (objectui#7166). No behaviour change — all three still… (objectui `a276480b7`)
167
+ - **patch** — `RecordComments` and `PointInTimeRestore` resolve their copy from the locale packs instead of hardcoded English (objectui#7163). (objectui `866cd1d3f`)
168
+ - **patch** — Pie, donut, funnel and treemap now say when rows carry no magnitude they can draw. (objectui `5eddeeb68`)
169
+
170
+ ⚠️ 2 of these carry a breaking change: 2 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
171
+
172
+ <!-- adr-0087: not-required (no-migration-prescription) Both declared-breaking entries in this range are retirements inside objectui's OWN npm packages, judged one at a time against their upstream changesets rather than as a batch. objectui `3561bd2ca` (objectui#6881) retires `DataTableSchema.toolbar` in `@object-ui/types` — a key on the SDUI `data-table` component node that the `data-table` renderer never read (declared on both published faces, mounted by nothing), now refused at parse time with a remediation. `@objectstack/spec` declares no `data-table` node schema at all (re-measured at this HEAD: zero hits for `data-table` / `DataTable` across `packages/spec/src/**/*.zod.ts`), so the key was never an ObjectStack-authorable metadata key and no stored `sys_metadata` row can carry it. objectui `9c7490268` (objectstack#13626, maintainer ruling 2026-09-01) stops `@object-ui/plugin-form` reading `className` / `gridClassName` off a form-view SECTION through `as any` casts. Those two keys sit on the SDUI-only side of the authorable boundary by this repo's own decision: `packages/spec/src/ui/component.zod.ts` deliberately does not declare `className` on props bags, `gridClassName` has zero hits anywhere under `packages/spec/src` (re-measured at this HEAD), and the authorable-surface ledger carries no entry for either — so the change is a RENDERER ceasing to consume keys the spec never admitted, in the direction the boundary already pointed; the upstream census found zero authored uses across the objectstack, objectui and hotcrm corpora. Neither is reachable through `@objectstack/console` in any case, re-measured against `packages/console/package.json` at this HEAD: it publishes a frozen prebuilt SPA whose `files` list is `["dist", "README.md", "CHANGELOG.md"]` and whose sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types. This diff is `.objectui-sha` plus this changeset and nothing else — no `packages/spec` schema, authorable metadata key or protocol surface changes in it — so there is no stored-metadata rewrite for `objectstack migrate meta` to prescribe and therefore no ADR-0087 ledger entry to write or to name from THIS bump. This bump adds no ledger entry and claims none. -->
173
+
174
+ objectui range: `d8ec8d6d4f01...67dadd602a3a`
175
+ - df59de0: Console (objectui) refreshed to `9602dc820450`. Frontend changes in this range:
176
+
177
+ Derived from the changesets objectui declared over the range — 188 releasing of 279 changesets added across 359 non-merge commits; omitted: 91 release-nothing changesets, 82 commits carrying no changeset (they ship no package code).
178
+
179
+ - **minor** — Setup › **Packaged automation** gains a packaged **actions** section beside its flows one — the surface half of ADR-0126 §8 item 2 (objectui#6412; the engine, ledger and both disp… (objectui `9602dc820`)
180
+ - **minor** — Setup gains a **Packaged automation** page — the operational surface for the flows an installed package ships (ADR-0126 §7.4, objectui#6301). Reached the way every other framework… (objectui `b362c1b47`)
181
+ - **minor** — `TableColumn.type` now has ONE canonical value set across all three ends that disagreed (objectui#5853, maintainer ruling 2026-08-25, Option B: the 8-literal interface union is ca… (objectui `fc62bb490`)
182
+ - **minor** — `TimelineSchema` now declares the presentational keys the timeline renderer actually reads (objectui#6170, maintainer ruling 2026-08-25 — the same family rule adopted on objectui#… (objectui `e4559d1e0`)
183
+ - **minor** — `navigateOnSuccess` is relative-only, escapes the interpolated id, and is deprecated in favour of `submitBehavior` (objectui `636b2363f`)
184
+ - **minor** — `objectui check` recognises a schema by validating it, and reports broken ObjectUI files instead of filing them as foreign ones. (objectui `7dc08a3e7`)
185
+ - **minor** — The Field Designer no longer offers a formula-expression textarea, and no designer write path emits a `formula` key (objectui#6043). (objectui `864154e77`)
186
+ - **minor** — `ComponentMeta` at the registry is now DERIVED from the one declaration in `@object-ui/types` instead of restating it, and `tags` / `description` reach the registration surface (o… (objectui `44d075ba0`)
187
+ - **minor** — `StackSchema` now SHIPS the members it declares (objectui#6151). Its emitted declaration carried one property — `type` — where it was meant to carry twenty-five. (objectui `db3a6008e`)
188
+ - **minor** — ⚠️ **Behaviour change: `current_user` predicates that have been doing nothing on the console form routes and in the wizard's submit gate now TAKE EFFECT.** Read this before upgrad… (objectui `5173a5ece`)
189
+ - **minor** — **BREAKING** — Object-level metadata payloads no longer emit the three keys `ObjectSchema` refuses by name — **group**, **sortOrder** and **relationships** (objectui#6223). (objectui `d18a0d3af`)
190
+ - **minor** — `radio-group` now renders the `orientation` its own type has always declared (objectui#6158). (objectui `6fd2cf7a0`)
191
+ - **minor** — ⚠️ **Behaviour change: an authored `FormSection.visibleWhen` that has been doing nothing will now START HIDING SECTIONS.** Read this before upgrading if any of your metadata autho… (objectui `971d38748`)
192
+ - **minor** — **Breaking (shipped as `minor` per AGENTS.md §版本号策略).** The published `toSortItems` export now reads its sort direction from **`order`** only. The retired spelling is **`direction… (objectui `c5fbe0b99`)
193
+ - **minor** — **View configuration is explicitly org-wide, and its write path is now gated (objectstack#7494's ruling, maintainer 2026-08-12).** The `sort` / `hiddenFields` / `columnState` / `r… (objectui `41b7ce3ce`)
194
+ - **minor** — Retire `CRUDSchema` and the `type: 'crud'` node spelling (objectui#5373, maintainer ruling 2026-08-20, route 2) under ADR-0049 enforce-or-remove. (objectui `105f3c55c`)
195
+ - **minor** — The metadata designer states its package on the publish step, not only on the save (#5420) (objectui `b470e9150`)
196
+ - **minor** — Grid headers offer a sort click only on columns the PLATFORM says it will order by (objectui#5729 — the consumer leg of objectstack#10235, maintainer ruling A, 2026-08-23: the pla… (objectui `490d9a93a`)
197
+ - **minor** — **Retired the designer-surface dashboard `aria` pair — `DashboardConfig.aria` and `DashboardConfigSchema.aria`** (objectui#5852). (objectui `e7957ab87`)
198
+ - **minor** — The metadata designer's View **column list** now reads a column's identity — row label and bound field name — in the ObjectStack canonical spelling only: `field` and `label`. The… (objectui `f471b4f73`)
199
+ - **minor** — An auto-derived related list now orders its rows by the CHILD object's default list view `sort`, instead of falling to the server's primary-key order (objectui#5795). A task versi… (objectui `6d63cd029`)
200
+ - **minor** — **BREAKING** — `ObjectTrigger` and `ObjectRelationship` are removed from `@object-ui/types` — two hand-written interfaces orphaned by the `ObjectSchemaMetadata` derivation (objectui#5859, triage… (objectui `41df89320`)
201
+ - **minor** — `ComponentMeta` is now declared once and re-exported, and `PluginComponentMeta` is deprecated in favour of `ComponentMeta` (objectui#5893). (objectui `6d1c15536`)
202
+ - **minor** — `MetadataClient.layered()` validates the ADR-0010 protection envelope against the producer's own schema at the boundary, instead of casting ten wire fields through unchecked (obje… (objectui `94e2fa725`)
203
+ - **minor** — `ObjectGanttSchema` declares the ten gantt keys `ObjectGantt` actually reads (objectui#5903, triage 2026-08-24). Every one is a real, working, documented feature — `readOnly`, `mo… (objectui `00f3eb5b9`)
204
+ - **minor** — Route a `data-table`'s `emptyAction` node through `SchemaRenderer`, so a `visibleWhen` authored on it is actually evaluated (objectui#5926 gap 1). (objectui `f8cdbf2cc`)
205
+ - **minor** — **Behaviour change.** Form section and field `visibleWhen` predicates that silently failed OPEN now actually evaluate — and a rule that resolves FALSE now hides the field (objectu… (objectui `aefe42898`)
206
+ - **minor** — **`@object-ui/types/zod` now accepts seven spellings its own TypeScript declarations already declared** (objectui `69a2163d9`)
207
+ - **minor** — **Breaking (shipped as `minor` per AGENTS.md §版本号策略).** `ObjectViewProps.views[].sort` now spells its direction key **`order`**. The retired spelling is **`direction`** — named he… (objectui `53dc89db8`)
208
+ - **minor** — **BREAKING (authoring): `ui:icon` names its glyph with `icon`, not `name`** (objectui `d2fb6efb4`)
209
+ - **minor** — Close the dashboard widget `type` vocabulary, and admit `metric-card` as objectui's own component extension. (objectui `f7e34ca0b`)
210
+ - **minor** — Console telemetry can now be hard-disabled on an already-built artifact (objectui `26fbe09b0`)
211
+ - **minor** — **BREAKING** — Retire the `ActionCondition` `{ expression, then, else }` branch shape from `ActionSchema.condition` (objectui#3917, maintainer ruling 2026-08-09 route B, enforce-or-remove). (objectui `6a9158602`)
212
+ - **minor** — `ui:icon`: an unresolvable glyph now renders a visible placeholder instead of nothing (objectui `7cd398737`)
213
+ - **minor** — Classify `/analytics/query` failures by their ADR-0112 `code` rather than their HTTP status, so a chart is no longer answered from a different code path behind the wrong explanati… (objectui `b2065e711`)
214
+ - **minor** — **BREAKING** — Retire the `MobileOverrides` type and its `mobileOverrides` mount point (objectui#4919, maintainer ruling 2026-08-19, ADR-0049 enforce-or-remove). (objectui `2d7304d8a`)
215
+ - **minor** — Console half of `ActionSchema.onSuccess` post-success navigation. (objectui `053fdc8f9`)
216
+ - **minor** — `ObjectSchemaMetadata` is now derived from `@objectstack/spec`'s `ServiceObject` instead of being a hand-written copy (objectui#5362; maintainer ruling 2026-08-20: the object docu… (objectui `b2ea29717`)
217
+ - **minor** — **Published TS surface narrowed:** `DashboardComponentSchema` no longer declares the `aria` member (`{ ariaLabel?, ariaDescribedBy?, role? }`). Its doc comment claimed alignment w… (objectui `18a8e7db7`)
218
+ - **minor** — `record:path` stops looking like a control it cannot be. (objectui `0b12a3315`)
219
+ - **minor** — **Behaviour change:** the spec's view-level `map` block on a list view is now read at runtime. `ListMapConfigSchema` (objectstack#9340) has been authorable and validated since the… (objectui `e2e8e68f1`)
220
+ - **minor** — The console form now renders a refusal message the producer explicitly marked as user-facing, instead of always substituting a generic string (objectui#5210). (objectui `ae61ad4a2`)
221
+ - **minor** — The spec-bridge's form-view input now accepts everything `@objectstack/spec`'s FormViewSchema accepts — three key types had drifted narrower, and one of them had inverted (objectu… (objectui `cac64b3f1`)
222
+ - **minor** — The console record page and the `record:activity` block read ONE `sys_activity` type table, so a scheduled meeting no longer appears on one and vanishes on the other. (objectui `d06fba8d8`)
223
+ - **minor** — The Studio copilot tells the agent WHAT the user is discussing (cloud#1610 send half): `ChatPane` accepts a `surfaceContext` and sends it as `context.surface` on every turn (the t… (objectui `eddc1dd97`)
224
+ - **minor** — 设计⇄运行 on the Interfaces canvas (#5800): a two-state switch in the canvas header flips the SAME renderer between design (selection + inspector + design overlays) and an interactive… (objectui `1939c9610`)
225
+ - **minor** — The built-moment transition (#5799): a build conversation that has produced a WHOLE-APP build auto-routes to `/studio/<pkg>/interfaces` — on live completion and on reopening the c… (objectui `6bd343d29`)
226
+ - **minor** — Dashboard flat `table` widget: render the server's grand total as a `tfoot` row (objectui#5846). (objectui `9e725e06a`)
227
+ - **minor** — Dashboard `table` widget — a numeric **measure** column now sorts **descending on the first click** (objectui#5845). (objectui `1d9100eeb`)
228
+ - **minor** — Studio simplification, first cut (#5813): the Data pillar's object sub-tabs collapse to 记录/表单 with the five power panels (验证/钩子/操作/API/设置) behind one 「高级」 menu (the open panel's n… (objectui `19479a37d`)
229
+ - **minor** — One pending-drafts source of truth (#5801): `usePendingDrafts` / `fetchPendingDrafts` replace the five hand-rolled `GET /api/v1/meta/_drafts` copies behind the home banner, Studio… (objectui `469723471`)
230
+ - **minor** — Dashboard `table` widget (dataset-backed, flat grouped table) — four rendering fixes so it reads as a table rather than a raw dump (objectui#5827): (objectui `62c0fa164`)
231
+ - **minor** — **The page-editor palette now offers the canonical `record:discussion` instead of the `record:chatter` alias.** (objectui `8b1a8f38c`)
232
+ - **minor** — `dashboard` now publishes the authoring inputs its renderer already honours — `widgets`, `label`, `description`, `header`, `globalFilters`, `dateRange`, `refreshInterval` — so `va… (objectui `2e471a64c`)
233
+ - **minor** — **`viewMode` is now declared authoring surface on `ObjectGanttSchema`, and both gantt renderer branches honour it** (objectui#5074, maintainer ruling 2026-08-19: declare-and-wire;… (objectui `199d31bb9`)
234
+ - **minor** — Retire `ThemeSwitcherSchema` (`type: 'theme-switcher'`) and `ThemePreviewSchema` (`type: 'theme-preview'`) — the two remaining theme component kinds, which no renderer implemented… (objectui `b7543a9c9`)
235
+ - **minor** — **BREAKING** — Split the static `table` column type off the rich shared `TableColumn` (objectui#5474, maintainer ruling 2026-08-22: Option C), so declared = enforced holds per renderer. (objectui `3ccd9e8cb`)
236
+ - **minor** — Remove the inert `showRefresh` designer input from the `object-view` registration (objectui#5567). (objectui `4ef29f011`)
237
+ - **minor** — `'agenda'` leaves `defaultView` on all three of its declaration faces (objectui#5784 — the `defaultView` sibling of objectui#5740's retirement on `CalendarViewSchema.view`; ADR-00… (objectui `ed8df3e50`)
238
+ - **minor** — The 确认修改 (confirm changes) card now carries a UI-owned terminal state after approval (#5695): `detectReplayOutcome` lifts the confirm-replay envelope (`replay_*` tool results) int… (objectui `6ce89daae`)
239
+ - **minor** — `validateTree` now reports a dashboard widget `options` key that no renderer consumes as a `unconsumed-widget-option` **warning** naming the consumed set (objectui#5709 ruling). T… (objectui `8d58f46b4`)
240
+ - **minor** — **`ReferenceRailEntry` is now the spec's type, and the reference-rail `icon` key retires** (objectui#5494, maintainer ruling 2026-08-22). (objectui `23705b730`)
241
+ - **minor** — `'agenda'` leaves `CalendarViewMode` and the zod `CalendarViewModeSchema` (objectui#5740 — the value-level residue of objectui#5667's key-level convergence of `CalendarViewSchema`… (objectui `b55a34647`)
242
+ - **minor** — **BREAKING** — Retire `ActionParamDialog`: the `custom` barrel's second action-param dialog is removed, and the app-shell dialog is recorded as the surviving implementation (objectui#5685, maint… (objectui `72ffc3496`)
243
+ - **minor** — Localize the theme document types: `@object-ui/types` now owns `Theme`, `ThemeMode` and `ColorPalette` (objectui#5716 ruling, 2026-08-23). The spec retired its theme module (objec… (objectui `c9327c985`)
244
+ - **minor** — **BREAKING** — `CalendarViewSchema` (TS interface and zod mirror) converges on the registered `calendar-view` renderer's measured read set (objectui#5667, maintainer ruling option A — the render… (objectui `065bba746`)
245
+ - **minor** — Row predicates declare a canon: `record.*`. The bare shorthand and `data.*` now warn once, and are unchanged otherwise. (objectui `d1ab06f0f`)
246
+ - **minor** — The metadata designer's View column inspector now reads a column's identity — field key and label — in the ObjectStack canonical spelling only: `field` and `label`. The legacy Tan… (objectui `0e00da354`)
247
+ - **minor** — `AuthGuard`'s `requiredRoles` now matches against `user.positions` — the one published spelling (framework ADR-0090 D3) — keeping the `user.role` scalar fallback only for sessions… (objectui `686d5d92c`)
248
+ - **minor** — **BREAKING** — Stop showing an access-denied screen to a real administrator while their adminship is still resolving. (objectui `c8da8b326`)
249
+ - **patch** — Delete the dead `metadata-admin/previews/object-fields-bridge.ts` module, and the three prose references that still described it as wired. (objectui `dddb942d1`)
250
+ - **patch** — `appDesigner.fieldDesigner.formula` is retired — one row removed from each of the ten locale packs plus the designer defaults map, 11 lines, zero readers (objectui#6310). (objectui `00c665ef5`)
251
+ - **patch** — The form renderer no longer leaks `FormSchema.previousValues` onto the `<form>` DOM node (objectui#6396). (objectui `f24de8bbc`)
252
+ - **patch** — `@object-ui/plugin-grid` and `@object-ui/plugin-kanban` now publish a stylesheet — `"./style.css"`, mapped to `dist/index.css` and compiled at build time from the package's own so… (objectui `062943f86`)
253
+ - **patch** — `MasterDetailForm` shows a config hint naming `relationshipField` for a detail collection whose child schema **loaded fine but could not be derived from**, instead of a permanent… (objectui `fd814d6f0`)
254
+ - **patch** — `SimpleObjectForm`: consult a declared `submitHandler` before the inline-fields carve-out (objectui `43ca9d5ee`)
255
+ - **patch** — `ObjectViewSchema`'s `table` and `form` slots now ship the members they promise (objectui#6269). Both were declared by deriving from the schema they document — `table?: Partial<Om… (objectui `6f81384ba`)
256
+ - **patch** — `MasterDetailForm` gives every detail collection a per-entry record carrying its own identity and its own resolution status, closing two defects that both came from the same absen… (objectui `faa863dce`)
257
+ - **patch** — Fix `objectui check` scanning build output because its ignore list only excluded a root-level `dist/` / `node_modules/` (objectui#6320). (objectui `05474afd8`)
258
+ - **patch** — Variant forms refuse a submit that has nowhere to go, instead of reporting success (objectui `5d79faf77`)
259
+ - **patch** — `ConditionBuilder`'s row mode now compiles a value that is plainly a **reference** as one, instead of quoting it into a string literal (objectui#6293). (objectui `780efc0a3`)
260
+ - **patch** — Recognize the landed AI quota ledger vocabulary in the chat error path (objectui `79a4b8fa0`)
261
+ - **patch** — Guard `useRowColor`'s two object-literal lookups with `Object.prototype.hasOwnProperty.call`. (objectui `591bf2791`)
262
+ - **patch** — fix(console): paint a boot indicator during the pre-React white frame (objectui `631d81dbf`)
263
+ - **patch** — The selection bar's built-in **Delete** now honours `userActions.delete.visibleWhen` per selected record (objectui#4420). It used to read that key as a bare boolean — the object-l… (objectui `980176587`)
264
+ - **patch** — Let a producer-marked refusal reach the drag-write surfaces (objectui#5902). (objectui `3e853c914`)
265
+ - **patch** — `object-master-detail-form` now renders a config hint naming `childObject` for a detail collection whose child object never resolved, instead of `Loading columns…` forever (object… (objectui `1c197224f`)
266
+ - **patch** — `@object-ui/core` and `@object-ui/data-objectstack` now declare `"@objectstack/spec": "^17.2.0"` rather than `^17.0.0`, which is the lowest published spec that carries every symbo… (objectui `596103036`)
267
+ - **patch** — fix(react): stop the form-view bridge silently dropping 18 spec keys (objectui `f53a8d0ae`)
268
+ - **patch** — Approvals inbox: the queue rows and the amount sort now honour each request object's own `hidden: true` field declaration (objectui#6020). (objectui `9180fd139`)
269
+ - **patch** — Preserve the producer's `userMessage` marking when `normaliseClientError` re-wraps a refusal. (objectui `9118a316a`)
270
+ - **patch** — An `action:icon` hosted by an `action:bar` now reaches its handler. It forwarded the COMPONENT id as the action type, so the click resolved nothing at all — no error, no toast, a… (objectui `f9c34df3d`)
271
+ - **patch** — `record:line_items` declines to LOAD OR WRITE the rows of a panel whose child object it never resolved, instead of calling `find(undefined, …)` — the sibling site of the child-sch… (objectui `5f19b9263`)
272
+ - **patch** — `ui:button` resolves its authored `icon` through the shared `resolveIcon` instead of a byte-equivalent copy of it (objectui#5993). (objectui `194fae184`)
273
+ - **patch** — Pin `module` / `moduleResolution` to `nodenext` in `@object-ui/app-shell`'s build config, matching the pins `@object-ui/react`, `@object-ui/fields` and five other packages already… (objectui `9022bd5d7`)
274
+ - **patch** — Home renders one agreed label for an item kind that has no translation key. (objectui `79ebf30d1`)
275
+ - **patch** — The batch-explain cap the row-verdict hook paginates under is now imported from `@objectstack/spec/security` instead of re-declared locally (objectui#6286). `useRecordCrudVerdicts… (objectui `c38162d7c`)
276
+ - **patch** — The capability picker localizes `manage_sharing` (objectui#6285). Before this, "Manage Sharing" was the one platform capability in `sys_permission_set`'s picker that rendered in E… (objectui `5d3a2d155`)
277
+ - **patch** — The flow designer's node inspector no longer offers a **Description** field, and strips a stored `description` off a node the first time an author edits it (objectui#6287). (objectui `944a9296f`)
278
+ - **patch** — `ui:context-menu` now resolves a menu item's authored `icon` to a glyph. It previously never read the key at all. (objectui `f8c70f4f3`)
279
+ - …and 88 more releasing changesets in this range (list capped at 100; see the objectui range below).
280
+
281
+ ⚠️ 11 of these carry a breaking change: 11 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
282
+
283
+ **In this console build, declared nowhere** — objectui merged 82 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
284
+
285
+ - _(no changeset)_ ci(changelog): drop the lockfile merge driver this job never invokes (#6367) (objectui `2e11c8c5b`)
286
+ - _(no changeset)_ test(tooling): fail when an exported schema name has a second authority (#6348) (objectui `2035c4128`)
287
+ - _(no changeset)_ fix(ci): fail Bundle Analysis when its ceilings were replaced on the base branch (#6315) (objectui `43cf12d84`)
288
+ - _(no changeset)_ docs(agents): record how the Actions workflow registry is keyed, and the paginated-listing rule (#6183) (objectui `5b3290fd5`)
289
+ - _(no changeset)_ fix(repo): declare the Node/pnpm floors the toolchain actually requires (#6311) (objectui `b1c1e3bfe`)
290
+ - _(no changeset)_ chore(deps): bump actions/download-artifact from 7 to 8 (#5962) (objectui `1a4381083`)
291
+ - _(no changeset)_ docs(adr-0056): reconcile Consequences with the P2/P4 pure model (#5970) (objectui `090927f4f`)
292
+ - _(no changeset)_ fix(tooling): census `ui:icon` in the lucide gate, repair the three retired spellings it finds (#6290) (objectui `c456d91f4`)
293
+ - _(no changeset)_ fix(tooling): emit the dependency closure from check-doc-snippet-types --build-filter (#6289) (objectui `72ae05d06`)
294
+ - _(no changeset)_ docs(tooling): state check-spec-symbol-derivation's export-filter boundary in its header (#6284) (objectui `c1a91b842`)
295
+ - _(no changeset)_ fix(scripts): scan the nested README.md files no doc-link gate could see (#6279) (objectui `e8dff9b66`)
296
+ - _(no changeset)_ fix(hooks): close the backslash fail-open in guard-shared-stash.sh split_segments() (#6087) (objectui `0fce2c433`)
297
+ - _(no changeset)_ fix(hooks): port the guard-main-checkout-bash.sh fix family from objectstack PR #11278 (#6046) (objectui `6feba42d2`)
298
+ - _(no changeset)_ fix(tooling): judge lucide icon names on untyped child items of a declared container (#6277) (objectui `e3784607f`)
299
+ - _(no changeset)_ test(ci): pin the `skip-changeset` phantom — nothing wires it, and the page keeps denying it (#6274) (objectui `2f8952b4d`)
300
+ - _(no changeset)_ docs(tooling): re-anchor invoked-as.mjs's enforcement section to the tree it describes (#6260) (objectui `ef2a3bd8d`)
301
+ - _(no changeset)_ docs(layout): add maxVisible and mobileMaxVisible to page-header's PageHeaderProps key list (#6257) (objectui `efa630799`)
302
+ - _(no changeset)_ fix(examples): correct the invented keys the live SchemaExample fixtures teach (#6248) (objectui `bca580683`)
303
+ - _(no changeset)_ feat(scripts): gate README self-imports against the real export surface (#6212) (objectui `b4afc10e5`)
304
+ - _(no changeset)_ fix(ci): check the Playwright version pipeline's status before it becomes a cache key (#6232) (objectui `e3354ba08`)
305
+ - _(no changeset)_ fix(ci): check the build filter's exit status, and refuse an empty filter (#6228) (objectui `2ecc9c7cb`)
306
+ - _(no changeset)_ fix(scripts): doc-snippet gate exits 2 when it could not run, 1 when it found errors (#6215) (objectui `2191e9e75`)
307
+ - _(no changeset)_ feat(tooling): scan agent-facing fenced blocks for machine-produced shell-escape residue (#6216) (objectui `0ce6c8a0c`)
308
+ - _(no changeset)_ test(scripts): reconcile the console workspace alias table against its import closure (#6204) (objectui `c28089d30`)
309
+ - _(no changeset)_ docs(audits): measure zod to JSON Schema conversion fidelity for `@object-ui/types` (#6203) (objectui `c8995d1db`)
310
+ - _(no changeset)_ docs(components): cover README.md with the doc-snippet type gate (#6202) (objectui `7da7b8a1d`)
311
+ - _(no changeset)_ feat(scripts): gate vi.mock specifiers that resolve to no file (#6198) (objectui `e9e55524e`)
312
+ - _(no changeset)_ chore(runner): drop the unused "@app" vite alias and empty its ratchet (#6197) (objectui `c6d47c4f1`)
313
+ - _(no changeset)_ test(scripts): re-derive the `ValidationRule` absence claim, not just the sentence (#6195) (objectui `e4de2ad54`)
314
+ - _(no changeset)_ docs(plugin-chatbot): name the authored key as `requestBody`, not `body` (#6193) (objectui `ead74abe4`)
315
+ - _(no changeset)_ docs(core): name report-schema.mdx's subject ReportComponentSchema (#6192) (objectui `8d8bfb629`)
316
+ - _(no changeset)_ test(ci): derive the merge_group floor from REQUIRED_CONTEXTS (#6160) (#6187) (objectui `cab1e9751`)
317
+ - _(no changeset)_ docs(i18n): correct two stale statements in the call-site key baseline (#6184) (objectui `b04646b63`)
318
+ - _(no changeset)_ docs(plugins): qualify `FormField` to the copy plugin-form.mdx describes (#6185) (objectui `b080d0f47`)
319
+ - _(no changeset)_ docs(i18n): correct the stale `NOT empty` clause in the baseline note (#6180) (objectui `b37d3f0fd`)
320
+ - _(no changeset)_ ci(tooling): gate the import graph of every gate that runs before pnpm install (#6159) (objectui `c677fe3b8`)
321
+ - _(no changeset)_ docs(core,guide,plugins): name the shape eight props tables describe (#6168) (objectui `e5263ed33`)
322
+ - _(no changeset)_ refactor(tooling): build the lucide gate's two lookup maps lazily, not at import (#6156) (objectui `94bc6e5a4`)
323
+ - _(no changeset)_ feat(tooling): pin the fence vocabulary so no spelling hides a TypeScript block (#6135) (#6144) (objectui `3f160eff7`)
324
+ - _(no changeset)_ docs(components,plugins): replace the undeclared `ActionConfig` annotation where the built types determine the answer (#6130) (objectui `d5b80c678`)
325
+ - _(no changeset)_ docs(ci): drop the two hand-copied self-test case counts (#6118) (objectui `c83f50258`)
326
+ - _(no changeset)_ docs(fields): correct the four Cell Renderer imports and bring the blocks under the type gate (#6119) (objectui `f090b44ac`)
327
+ - _(no changeset)_ fix(console): validate OBJECTSTACK_CLIENT_DIST before aliasing it (#6114) (objectui `bfd022972`)
328
+ - _(no changeset)_ fix(tooling): stand the ineffective-dynamic-import counter-probe down on a build that never finished (#6113) (objectui `f7f09938b`)
329
+ - _(no changeset)_ fix(tooling): declare sheet's hideOverlay prop as a local patch family (#6102) (objectui `b9c367717`)
330
+ - _(no changeset)_ docs(tooling): correct invoked-as.mjs's claim that a gate enforces its single-spelling rule (#6096) (objectui `68c32c860`)
331
+ - _(no changeset)_ docs(guide): retire the hand-written version table from the release notes page (#6080) (objectui `0c282d979`)
332
+ - _(no changeset)_ docs(tooling): record the component-registry category-list entry as discharged (#6077) (objectui `b43ccd0b8`)
333
+ - _(no changeset)_ docs(guide): write schema-overview's action excerpt as the live condition gate (#6070) (objectui `575b71c85`)
334
+ - _(no changeset)_ docs(contributing): correct the false CodeQL security-scan claim (#6065) (objectui `0fe7d0649`)
335
+ - _(no changeset)_ docs(guide): re-fence component-registry's six category lists as markdown lists (#6056) (objectui `5cafb91d8`)
336
+ - _(no changeset)_ feat(scripts): check template-literal `t()` key families member by member, not just by prefix (#6036) (objectui `efa70ecb2`)
337
+ - _(no changeset)_ test(shadcn): verify every declared patch anchor against real registry bytes (#6030) (objectui `8f8d9d8c2`)
338
+ - _(no changeset)_ fix(scripts): fail fast when the spec-dist override's own deps don't resolve (#5995) (objectui `b0de7a85c`)
339
+ - _(no changeset)_ docs(guides,tooling): clear the last two .md pages off the doc-snippet ledger (#5991) (objectui `802d93702`)
340
+ - _(no changeset)_ docs(scripts): record the withdrawal of the vacuous byte-identity sentence (#6005) (objectui `11d3ab999`)
341
+ - _(no changeset)_ fix(scripts): read workspace-import check from AST, not text grep (#5988) (objectui `293b31b5f`)
342
+ - _(no changeset)_ ci(pm): install the half-state patrol, ported from objectstack (#5984) (objectui `97114f83b`)
343
+ - _(no changeset)_ docs(guides,tooling): clear three .md pages off the doc-snippet ledger (#5983) (objectui `d8b48f495`)
344
+ - _(no changeset)_ perf(scripts): drop unused setParentNodes in moduleSpecifiers() (#5979) (objectui `6949529dc`)
345
+ - _(no changeset)_ fix(scripts): add allowImportingTsExtensions to tsconfig.scripts.json (#5974) (objectui `7b71a3439`)
346
+ - _(no changeset)_ docs(guides,tooling): clear four .md pages off the doc-snippet ledger (#5174 batch 2) (#5967) (objectui `2aff580b5`)
347
+ - _(no changeset)_ chore(tsconfig): drop the two dead @objectstack paths entries and empty their ratchet (#5966) (objectui `cb83cec1a`)
348
+ - _(no changeset)_ docs(readme): remove stale CodeQL badge (#5963) (objectui `61a32e1a6`)
349
+ - _(no changeset)_ docs(guides,tooling): clear ten .md pages off the doc-snippet ledger (#5174 batch 1) (#5951) (objectui `f2732afec`)
350
+ - _(no changeset)_ test(e2e-type-check): bring the four root playwright configs into tsconfig.e2e.json (#5948) (objectui `370919922`)
351
+ - _(no changeset)_ fix(scripts): parse tsconfigs with TypeScript's reader, not three regexes (#5938) (objectui `46aa22003`)
352
+ - _(no changeset)_ docs(adr-0036): re-anchor the enforcement-rule citation to the framework's ADR-0124 D1 (#5701) (#5843) (objectui `ed35c23bb`)
353
+ - _(no changeset)_ docs(layout): name page:header as the canonical author key on the page-header docs (#5922) (objectui `165c681f0`)
354
+ - _(no changeset)_ docs(skills): correct the dead `cols` layout spelling in SKILL.md (#5912) (objectui `70bd55847`)
355
+ - _(no changeset)_ docs(console): correct the VITE_SERVER_URL dev default to empty/same-origin (#5910) (objectui `2437988c0`)
356
+ - _(no changeset)_ docs(plugin-gantt): align the README schema key surface with what the renderer reads (#5900) (objectui `0e30f601c`)
357
+ - _(no changeset)_ docs(plugin-dashboard): de-duplicate the DashboardGridLayout H2 (#5863) (objectui `bb74cc277`)
358
+ - _(no changeset)_ docs(plugin-view): make the three Interactive Examples real object-view nodes (#5113) (#5857) (objectui `4b0b12630`)
359
+ - _(no changeset)_ fix(chatbot): peel the text wrapper before falling back to it in parseResultEnvelope (#5695) (#5832) (objectui `0a56c57d7`)
360
+ - _(no changeset)_ fix(catalog): author the nine `space-x-*` flex nodes as `gap`, and ratchet the tenth out (#5826) (objectui `5da008463`)
361
+ - _(no changeset)_ docs(console): fix VITE_SERVER_URL dev defaults and dev-proxy scope in READMEs (#5803) (objectui `7b88aa906`)
362
+ - _(no changeset)_ docs(ci): make the Auto Changelog lane honestly dispatch-only (#5409) (#5785) (objectui `cd6a328fe`)
363
+ - _(no changeset)_ fix(hooks): port the two upstream guard-main-checkout-bash fixes — escaped `\"` in a double-quoted word, and shell comments read as commands (#5755) (objectui `61d66bf15`)
364
+ - _(no changeset)_ ci(release): refresh the version PR on a schedule, publish only on a merge (#5762) (objectui `1f94b4c99`)
365
+ - _(no changeset)_ docs(plugin-form): write the requiredWhen example in the row-predicate canon (#5738) (#5758) (objectui `702c48a62`)
366
+ - _(no changeset)_ chore: drop npm's coverage-v8 security placeholder from root dependencies (#5751) (objectui `a29785d88`)
367
+
368
+ <!-- adr-0087: not-required (no-migration-prescription) All ELEVEN declared-breaking entries in the range `190fbd01d061...9602dc820450` are judged ONE AT A TIME against their own upstream changeset rather than as a batch, and each one is a TypeScript-declaration, React-prop/hook or component-registry change inside objectui's OWN npm packages. (1) objectui `d18a0d3af` (objectui#6223) stops EMITTING the three object-level keys `group`, `sortOrder` and `relationships` on the metadata wire; this repo's `ObjectSchema` already refuses all three BY NAME, so they were never storable ObjectStack metadata and no accepted key is being retired — the break is on app-shell's `ObjectMetadataPayload` TypeScript export. (2) objectui `c5fbe0b99` (objectui#6011) and (4) objectui `53dc89db8` (objectui#5293) retire the `direction` sort spelling from `@object-ui/plugin-view`'s `toSortItems` export and from the `ObjectViewProps.views[].sort` React prop; re-measured at this HEAD, `packages/spec/src/ui/view.zod.ts` already declares `order` as the sole accepted spelling and already refuses `direction` by name as a strictObject alias (`aliases: { direction: 'order' }` on the sort entry), so both are objectui CATCHING UP to a refusal this repo already enforces and neither adds a prescription here. (3) objectui `41df89320` (objectui#5859) removes the orphaned `ObjectTrigger` / `ObjectRelationship` interfaces from `@object-ui/types`; neither name is a key of the spec's object document and neither appears anywhere in this repo (0 tracked files, re-measured). (5) objectui `d2fb6efb4` (objectui#5631) renames `ui:icon`'s glyph key from `name` to `icon`; `ui:icon` is objectui's own SDUI node vocabulary — re-measured at this HEAD, `packages/spec` declares no `IconSchema`, no `type: 'icon'` node and no occurrence of the literal `ui:icon` anywhere in `packages/`, so no ObjectStack authorable key and no stored ObjectStack row is affected and the conversion the upstream entry prescribes is objectui's to prescribe, over objectui's own authored nodes. (6) objectui `6a9158602` (objectui#3917) retires the `ActionCondition` `{ expression, then, else }` branch shape from `@object-ui/types`; this repo's spec never declared that shape — `ActionCondition` has 0 tracked files here and the only `condition:` key in the spec's UI zods is `view.zod.ts`'s `ExpressionInputSchema` predicate, which is untouched. (7) objectui `2d7304d8a` (objectui#4919) retires `MobileOverrides` / `mobileOverrides` (0 tracked files here) and (8) objectui `3ccd9e8cb` (objectui#5474) splits `StaticTableColumn` off the rich `TableColumn` (0 tracked files here) — both are objectui-side type surfaces with no spec correspondence. (9) objectui `72ffc3496` (objectui#5685) removes the SECOND `ActionParamDialog` from `@object-ui/components` and records app-shell's as the surviving implementation; every `ActionParamDialog` mention in this repo is prose or ledger evidence naming the app-shell file that survives (`packages/spec/liveness/action.json` cites `packages/app-shell/src/views/ActionParamDialog.tsx`), never an import. (10) objectui `065bba746` (objectui#5667) converges `CalendarViewSchema` on its renderer's read set (0 tracked files here). (11) objectui `c8da8b326` (objectui#5619) replaces the `useIsWorkspaceAdmin(): boolean` React hook with `useWorkspaceAdminStatus()`; this repo's single mention is a comment in `packages/plugins/plugin-auth/src/auth-manager.ts`, not an import. None of the eleven is reachable through `@objectstack/console` in any case, re-measured against `packages/console/package.json` at this HEAD: it publishes a frozen prebuilt SPA whose `files` list is `["dist", "README.md", "CHANGELOG.md"]` and whose sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types, props, hooks or components — and this workspace declares no `@object-ui/*` dependency in any `package.json` at all. This diff is `.objectui-sha` plus this changeset and nothing else (`packages/console/dist` is gitignored and build-time only) — no `packages/spec` schema, authorable metadata key or protocol surface changes in it — so there is no stored-metadata rewrite for `objectstack migrate meta` to prescribe and therefore no ADR-0087 ledger entry to write or to name from THIS bump. This bump adds no ledger entry and claims none. -->
369
+
370
+ objectui range: `190fbd01d061...9602dc820450`
371
+ - 83be460: Console (objectui) refreshed to `d8ec8d6d4f01`. Frontend changes in this range:
372
+
373
+ Derived from the changesets objectui declared over the range — 218 releasing of 315 changesets added across 339 non-merge commits; omitted: 97 release-nothing changesets, 25 commits carrying no changeset (they ship no package code).
374
+
375
+ - **minor** — A sankey with no positive flow says so, instead of rendering an empty div (objectui#7140). (objectui `0349555c7`)
376
+ - **minor** — `DataEmptyState` now declares `role="status"` by default, so an empty result is distinguishable from a failed one on every surface that renders it (objectui#7132). (objectui `d1842abcf`)
377
+ - **minor** — `FieldEditWidget` now delivers the NON-DOM half of the contract it declares (objectui#7008). (objectui `f08bcd9af`)
378
+ - **minor** — Dashboard/analytics widgets get a self-explaining DEFAULT empty state, stated once for the surface (objectui#7063). (objectui `220c18d05`)
379
+ - **minor** — **Behaviour change.** `record:details` no longer forces `hideEmpty` on the sections it synthesizes, so a sparse record keeps its section skeleton instead of collapsing. Applicatio… (objectui `eeb6c2f2b`)
380
+ - **minor** — Inline edit: a rejected save now says WHICH field the server refused, and why. (objectui `03380aa14`)
381
+ - **minor** — Gantt views no longer render on invented date field names (objectui#7070). (objectui `5f4514f7b`)
382
+ - **minor** — **BREAKING** — BREAKING (`@object-ui/core`): `ActionRunner`'s legacy `ActionDef.onSuccess` chained-callback channel is retired — `onSuccess` now has exactly the meaning the contract declares (ob… (objectui `2c3cd1b75`)
383
+ - **minor** — Renderers for the `app:launcher` and `nav:menu` page blocks (objectui#6661). Phase 1 of the 2026-08-26 maintainer ruling on objectstack#12183 — the two `PageComponentType` members… (objectui `969ba84f4`)
384
+ - **minor** — Declare the two consumed-but-undeclared field-metadata keys ruled on objectui#6140 / objectui#6153 (maintainer 2026-08-25, Option A), and de-cast the widget reads they legalize: (objectui `88e91092a`)
385
+ - **minor** — Calendar views no longer render on invented field names (objectui#7029; ruled on objectstack#13748, director batch #19, option A). (objectui `2a7ac324e`)
386
+ - **minor** — **Breaking for authored metadata:** `DashboardWidgetSchema` (the zod validator in `@object-ui/types/zod`) is now `.strict()` — an undeclared widget key REFUSES the parse with zod'… (objectui `7e19d0363`)
387
+ - **minor** — Auto-derived related lists consume the field-level `relatedListFilter` declaration — the list query AND-composed, the tab badge counting the same set (objectui#4664). (objectui `d796c8dde`)
388
+ - **minor** — One authority for `MarkdownSchema`, and for `KanbanCard` / `KanbanColumn` inside `@object-ui/plugin-kanban` (objectui#6172, folding in objectui#6155). (objectui `b3d562c02`)
389
+ - **minor** — Expression-bindable text keys: `statistic.value`, `card.title`, `button.label` and their siblings now evaluate `${...}` on the node (objectui#4795 Direction 1, maintainer ruling 2… (objectui `1b1d772a5`)
390
+ - **minor** — **Breaking for authored metadata:** a `data-table` column spelled `name` no longer resolves its cells. Use the declared `accessorKey`. (objectui `41725898c`)
391
+ - **minor** — **BREAKING** — Studio surfaces the runtime authoring gate's advisory findings after a **publish**, not only after a save (objectui `fd8dacecc`)
392
+ - **minor** — `DetailViewSection.headerColor` is now the closed six-token vocabulary on both halves of the contract — the TypeScript declaration and the `@object-ui/types/zod` mirror — instead… (objectui `7a5da1414`)
393
+ - **minor** — **BREAKING** — `ComponentConfig` now has one authority: `@object-ui/types` declares it, `@object-ui/core` re-exports it (objectui `8f1d995ef`)
394
+ - **minor** — Declare the 13 renderer-read keys that no shipped type declared (objectui#6150) (objectui `2c45966ff`)
395
+ - **minor** — Model `code-editor` and `bar-chart` in `AnyComponentSchema`, and repair three catalog fixtures (objectui `29754cf19`)
396
+ - **minor** — Retire `ComponentInput`'s four inert constraint keys — `min`, `max`, `step` and `placeholder` (objectui#5905, ADR-0049 enforce-or-remove). (objectui `453dbaad4`)
397
+ - **minor** — Three exported type names inside `@object-ui/types` had two authorities each; each now has one (objectui#6349, first batch — the three intra-package collisions from the 46-name ce… (objectui `b84dc1854`)
398
+ - **minor** — `ObjectGantt` and `ObjectTree` resolve a relationship target only from the two spellings a contract carries, dropping the third one no contract declares (objectui#6837, second sli… (objectui `e3d117ae1`)
399
+ - **minor** — feat(types): declare `renderCellEditor` and schema-level `cellClassName` on `DataTableSchema` (objectui `bf97b98c8`)
400
+ - **minor** — `RecordDetailDrawer` resolves a relationship target only from the two spellings a contract carries, dropping the two no contract declares (objectui#6837, first slice). (objectui `9409eb94d`)
401
+ - **minor** — Read `find()` answers as `QueryResult` declares them on two more seams: the related-count badge store no longer reads `count`, and `ObjectView`'s non-grid unwrap no longer reads `… (objectui `c18d0990c`)
402
+ - **minor** — **BREAKING** — `aggregate()`'s spec-shape branch now REFUSES an unlowered `where` instead of posting it (objectui#6825, maintainer ruling 2026-08-30 — option A). (objectui `f07b976ef`)
403
+ - **minor** — The shell's `sys_activity.type` reading stops calling every unrecognised type an update (objectui#6730). (objectui `dbd519450`)
404
+ - **minor** — The report authoring face declares what its own examples author (objectui#6121, maintainer ruling 2026-08-25, Option A — fix the type producer, not the docs). (objectui `ee851c32a`)
405
+ - **minor** — Parse a write-strip's `reason` against the spec enum at the boundary (objectui#4934). (objectui `993f312ce`)
406
+ - **minor** — Mint the `box` component type — the class-transparent neutral block container (objectui#3965, maintainer ruling 2026-08-29 方案 A). (objectui `a04d7c65c`)
407
+ - **minor** — `ObjectGridSchema`'s zod mirror declares `title`, the deprecated legacy caption/export-file-title fallback the interface has declared all along and `ObjectGrid` reads at both of i… (objectui `2c1c96735`)
408
+ - **minor** — `useOffline` auto-syncs mutations queued while already online (objectui#6818). (objectui `b87f15bbe`)
409
+ - **minor** — Seven more `find()` readers now read exactly what `QueryResult` declares — the `records` arm is removed from each (objectui#6726, following objectui#5945). (objectui `b97790aa0`)
410
+ - **minor** — Renderers for the `global:search` and `global:notifications` page blocks (objectui#6757). A page that declared either member drew the literal "Component Placeholder" scaffold: bot… (objectui `f99932a42`)
411
+ - **minor** — `surface` becomes authorable on the `chatbot-enhanced` node, so the capability the docs have been documenting is one an author can actually reach (objectui#6687, maintainer ruling… (objectui `7d8e5468f`)
412
+ - **minor** — Component deprecation is now DECLARED, not just warned about (objectui#6674). (objectui `7977ff9e2`)
413
+ - **minor** — `formType: 'tabbed'` now honours an authored section `visibleWhen` (objectui#6237). (objectui `2da6441b6`)
414
+ - **minor** — `provisionProductionEnvironment` now REFUSES a success payload whose `data` carries no `environment` row, instead of resolving best-effort (objectui#6707). (objectui `12295b664`)
415
+ - **minor** — fields: validate a STORED `location` value on an edit form (objectui#6744) (objectui `e552c3177`)
416
+ - **minor** — metadata-admin inspectors: name the "inactive values retained" state instead of rendering it as live configuration (objectui#6499). (objectui `6d6849129`)
417
+ - **minor** — A `type="number"` field no longer displays one value and stores another in silence (objectui#6780). (objectui `7b90231a0`)
418
+ - **minor** — `element:*` renderers stop re-reading a degenerate config bag as its own character indices — the third and last channel of the objectui#6752 / objectui#6760 hazard (objectui#6783). (objectui `26896c689`)
419
+ - **minor** — `BaseSchema` declares `bind`, the data-scope binding path, on both halves — the TypeScript interface and its Zod mirror (objectui#6357). (objectui `99a3c2db6`)
420
+ - **minor** — **BREAKING** — refactor(spec-bridge): retire the spec-bridge — `SpecBridge`, `bridgeListView`, `bridgeFormView` (#6366) (objectui `bf283414f`)
421
+ - **minor** — The spec's `dataSource` element binding is now DECLARED by the blocks that read it, so the html tier stops reporting the one working saved-view spelling as `unknown-prop` (objectu… (objectui `3beef6df0`)
422
+ - **minor** — `useSchemaPersistence` refuses to save a schema carrying function-valued keys (objectui#6658). (objectui `e321d5234`)
423
+ - **minor** — Retire the discovery-wire preview mode — the console no longer turns authentication off because a server said `mode: 'preview'` (objectui#6654). (objectui `dc4365c4b`)
424
+ - **minor** — Publish the create-payload rule from `@object-ui/plugin-form`'s entry, so a second form renderer can call it instead of composing it by hand (objectui#6059). (objectui `7a724222f`)
425
+ - **minor** — `@object-ui/app-shell` now publishes a precise `sideEffects` ARRAY. (objectui `faac0d935`)
426
+ - **minor** — One `sys_activity` row → `FeedItem` constructor, and the console record page stops dropping author-extended activity types in silence (objectui#5896). (objectui `4da510933`)
427
+ - **minor** — `asArray` in the two app-shell `find()` readers now reads exactly what `QueryResult` declares — the `records` and `items` arms are removed (objectui#5945). (objectui `d3d0ad3e9`)
428
+ - **minor** — `ui:breadcrumb` now reads the two declared keys it never referenced — `separator` and `maxItems` (objectui#6646). (objectui `9486ac672`)
429
+ - **minor** — One tombstone registry for the designer seam's retired field keys (objectui#6527). Three independently maintained `RETIRED_FIELD_KEYS` literals — the metadata-admin read door (`ob… (objectui `3e028c8d8`)
430
+ - **minor** — **`ObjectGanttSchema` now declares the `gantt` BLOCK face — and the spec's required trio enforces at validate/check time.** (objectui `713db46bf`)
431
+ - **minor** — Retire `FieldMeta.referenceTo` and withdraw the README line documenting it as an author-facing column override (objectui#6597, enforce-or-remove — withdraw branch). (objectui `8a6ecac01`)
432
+ - **minor** — `MenuItem` is now a discriminated union, and all three menu renderers read the keys it declares (objectui#6523, objectui#6346, maintainer ruling 2026-08-27 — "one answer for the w… (objectui `29cb85bcb`)
433
+ - **minor** — New export: `useSettledSchema` — the settled-schema RESOLUTION half shared by `ObjectKanban` / `ObjectView` / `ObjectCalendar`'s fetch-gate hand copies (objectui#6482, maintainer… (objectui `dba7d8443`)
434
+ - **minor** — `ChatbotSchema` names the `chatbot` node's local-display and legacy auto-response keys — a new, additive published surface (objectui#6169, the #6172 family ruling: every component… (objectui `52a43ded8`)
435
+ - **minor** — **Breaking (compile-time only):** `buildExpressionUser`'s PARAMETER is now the session contract — `ExpressionUserSession | null | undefined` instead of `unknown` — so every call s… (objectui `a4d39a814`)
436
+ - **minor** — `TableColumn` declares `fitContent`, the content-hugging flag `data-table` has honoured all along (objectui#6424, maintainer ruling 2026-08-28, Option A — the card's second key, i… (objectui `3190414d4`)
437
+ - **minor** — **BREAKING** — Retire the `timeScale` alias on the timeline node — `scale` is the only axis spelling (objectui#6355, maintainer ruling 2026-08-27). (objectui `9d86e1d79`)
438
+ - **minor** — Retire four undeclared authored column reads in `ObjectGrid.generateColumns()` (objectui#6458). (objectui `f55d6661b`)
439
+ - **minor** — html tier: braced attribute values now materialize the JS literal subset — single-quoted strings and unquoted identifier keys work (objectui#6614) (objectui `470365140`)
440
+ - **minor** — flow designer: the Start node's **Entry condition** now opens in the row-based condition builder, with raw CEL one click away as the escape hatch (objectui#6226). (objectui `f352a693a`)
441
+ - **minor** — **BREAKING (stored data): `LocationField` reads and writes the spec's `{ lat, lng }`** (objectui `8631c32ad`)
442
+ - **minor** — Retire 25 confirmed-dead locale keys from all ten packs — 250 translated strings with no reader anywhere in the repo (objectui#4730's key-level trim round; `calendar.agenda` close… (objectui `d3995fe23`)
443
+ - **minor** — `ConditionBuilder` now takes a caller-supplied **subject vocabulary** instead of hardcoding a record-scoped one (objectui#6296). (objectui `88b15fddc`)
444
+ - **minor** — Object-field visibility on the record form page and the console's global record-form modal now reads the keys `@objectstack/spec` DECLARES — the static `hidden` and the `visibleWh… (objectui `5af67c227`)
445
+ - **minor** — **BREAKING** — Retire the dead per-column `wrap` forward from `ObjectGrid`'s data-table emit (objectui#5453, ADR-0049 enforce-or-remove). (objectui `67a87d9d1`)
446
+ - **minor** — **BREAKING (in name only):** `MetadataService.saveObject(obj, existingFields)` now requires its second argument (objectui#6490). Calls that omitted it no longer compile. (objectui `2c26335a4`)
447
+ - **minor** — feat(plugin-grid): type the data-table schema slot ObjectGrid fills (objectui `f241a4df4`)
448
+ - **minor** — Retire `FieldMeta.decimals` and the now-unfed `BuildFieldMetaParams.overrides.decimals` from `plugin-dashboard`'s shared field-rendering helpers (objectui#6625, enforce-or-remove). (objectui `891a18864`)
449
+ - **minor** — Land objectui#6425's per-key ruling for `ObjectDataTable`'s authored column override keys (maintainer, 2026-08-27): (objectui `38a123cac`)
450
+ - **minor** — One composer for makers — the built-in `ask` folds into `build` for authoring principals (cloud#1674 maker convergence, Phase B). (objectui `2a23000f0`)
451
+ - **minor** — The tabbed arm of the grouping contract (objectui#6237, same maintainer ruling as objectui#6236): `FormFieldTab` gains the predicate slot the ruling named — `visibleWhen?: string… (objectui `46f0bb4f5`)
452
+ - **minor** — `TableColumn` declares `headerIcon`, the icon node `data-table` has rendered into the header cell all along (objectui#6424, maintainer ruling 2026-08-27, Option C per-key). (objectui `4e480f5c0`)
453
+ - **minor** — html tier: a braced attribute value that is not strict JSON now draws a `inert-expression` warning instead of vanishing silently (objectui#6598) (objectui `0db4fb36c`)
454
+ - **minor** — The section grouping contract (objectui#6236, maintainer ruling 2026-08-27): a `section-divider` row may now CLAIM its member fields — `FormField.fields: string[]`, the same membe… (objectui `5ef9c4f5f`)
455
+ - **minor** — **BREAKING** — Console error reporting is now configured entirely by the **server**: the DSN and every knob that travels with it arrive on `GET /api/v1/runtime/config`, and the build-time `VITE_… (objectui `14ef9f5f2`)
456
+ - **minor** — **Accept-set NARROWING on a published surface.** `SonnerSchema.buttonVariant` in the zod mirror (`@object-ui/types/zod`) was `z.string()`; it is now `z.enum(['default', 'secondary… (objectui `ce503e519`)
457
+ - **minor** — `ToastSchema` now declares the two trigger-button keys the `toast` renderer actually reads (objectui#6496, triage scope cut 2026-08-26 — the same declare-what-runs family as objec… (objectui `bf3a03c1d`)
458
+ - **minor** — ⚠️ **Behaviour change: `current_user` and `features` gates on an object field's `visible` that have been doing nothing on the record form page and in the console's record modal no… (objectui `08c3da900`)
459
+ - **minor** — The unresolvable-predicate diagnostic tells `hidden` / `hiddenOn` authors what actually happened to their node (objectui#6503). Those two legs are the only ones in `SchemaRenderer… (objectui `748494be6`)
460
+ - **minor** — **plugin-gantt: the `gantt` block now outranks the flat top-level spelling, and the losing face's keys are named instead of dropped.** (objectui `d7acad69d`)
461
+ - **minor** — A `disabled` / `disabledOn` predicate that cannot be evaluated is now reported on the console, in development **and** in production — and the message says what this gate's fail-so… (objectui `30c73cd25`)
462
+ - **minor** — **The unresolvable-visibility-predicate report now names the roots of the tier the predicate was actually evaluated against** (objectui#6487). An app-shell author whose nav, area… (objectui `c71e14d1c`)
463
+ - **minor** — The record page's approval band offers its **Recall** button to the approval's submitter only (objectui#6464). (objectui `830ed5803`)
464
+ - **minor** — `MetadataService`'s two delete methods no longer PUT a hand-written tombstone. They call the metadata API's own delete door instead, and the latent `enabled?: boolean` on `ObjectM… (objectui `622f33cb4`)
465
+ - **minor** — `ObjectGanttSchema` declares the flattened `GanttConfig` face `ObjectGantt` actually reads (objectui#6051). `getGanttConfig` has two branches: when `startDateField` and `endDateFi… (objectui `75bd83d6d`)
466
+ - **minor** — **BREAKING** — `isConcurrentUpdateError` no longer promises a `code` its runtime check knowingly accepts values without. (objectui `3777538d5`)
467
+ - **minor** — fix(plugin-grid): type ObjectGrid's column emit against the `TableColumn[]` slot it fills (objectui `beccf1c6b`)
468
+ - **minor** — **BREAKING** — The field metadata payload no longer emits `sortOrder`, the key `FieldSchema` refuses by name (objectui#6045). Field-level sibling of objectui#6223, same objectui#5761 family. (objectui `b0236259e`)
469
+ - **patch** — `ActivityTimeline` speaks the session locale — the other 18 literals (objectui#7149). (objectui `d8ec8d6d4`)
470
+ - **patch** — Parse a `droppedFields` wire entry's `fields` elements and its `object` at the write-warning boundary instead of asserting them. (objectui `f75810e7c`)
471
+ - **patch** — A sankey that drew only SOME of its rows now says how many (objectui#7148). (objectui `40c4711d6`)
472
+ - **patch** — A lookup cell in `ObjectGrid` now honours the author's `displayField` (objectui#6875). (objectui `9700dd94e`)
473
+ - **patch** — `ActivityTimeline`'s empty state speaks the session locale (objectui#7142). (objectui `854cba346`)
474
+ - **patch** — Studio Interfaces pillar: a canvas block selection no longer outlives the leaf it was made on (objectui#7137). (objectui `0101fabab`)
475
+ - …and 118 more releasing changesets in this range (list capped at 100; see the objectui range below).
476
+
477
+ ⚠️ 15 of these carry a breaking change: 15 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
478
+
479
+ **In this console build, declared nowhere** — objectui merged 25 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
480
+
481
+ - _(no changeset)_ docs(skills): correct 25 false facts in the published objectui skill package (#7098) (objectui `fd11e1644`)
482
+ - _(no changeset)_ chore(ci): slow both dependabot channels from weekly to monthly (#7040) (objectui `50afa361d`)
483
+ - _(no changeset)_ docs(agents): sync the governed-surface section to the shipped guard (#6984) (objectui `836e97971`)
484
+ - _(no changeset)_ feat(scripts): guard a package's published contract fields, not only its source (#6999) (objectui `8e9461b84`)
485
+ - _(no changeset)_ fix(devx): add a property-chain leg to check-i18n-dead-keys (#6995) (objectui `2878cede4`)
486
+ - _(no changeset)_ docs(skills): sever the X-Tenant-ID cause-and-effect in the auth guide (#6974) (objectui `4357ec754`)
487
+ - _(no changeset)_ feat(hooks): mirror the origin/main ENUMERATION guard, and record the incident here (#6908) (objectui `b28a2c5d0`)
488
+ - _(no changeset)_ docs(guide): correct layout guide's PageHeaderProps key list and registration inputs (#6082) (objectui `689ae3d13`)
489
+ - _(no changeset)_ docs(skills): mark the two non-canonical row-predicate spellings as deprecated (#6865) (objectui `335523906`)
490
+ - _(no changeset)_ chore(repo): enforce the declared node/pnpm floors at install time (#6351) (objectui `d06059f24`)
491
+ - _(no changeset)_ ci(governance): require pinned human approval for governed-surface merges (#6739) (objectui `ff8a25759`)
492
+ - _(no changeset)_ docs(skills): align data-integration guide with the real QueryParams/SortConfig/QueryResult contracts (#6737) (objectui `cf0c755a2`)
493
+ - _(no changeset)_ docs(skills): put the GanttConfig keys back under the gantt block (#6742) (objectui `4a4c6a61d`)
494
+ - _(no changeset)_ docs(skills): stop teaching the table renderer's retired column aliases (#6738) (objectui `3cef56290`)
495
+ - _(no changeset)_ chore(scripts): re-sync the ported sweeper to upstream's H32 board-independent specimens (#6691) (objectui `e0d83da62`)
496
+ - _(no changeset)_ perf(console): free the route views the app-shell barrel held in the eager closure (#6682) (objectui `3fa73bf49`)
497
+ - _(no changeset)_ fix(pm): re-sync the ported half-state sweeper and pin it against upstream (#6672) (objectui `5afc5faf4`)
498
+ - _(no changeset)_ docs(fields): teach the spec's `{ lat, lng }` as the stored location value (#6671) (objectui `ece688827`)
499
+ - _(no changeset)_ feat(pm): re-enable H22 behind a dated closure floor (#6641) (objectui `88726dd44`)
500
+ - _(no changeset)_ docs(plugin-form): document FormFieldTab.visibleWhen and its support boundary (#6628) (objectui `efdc6c626`)
501
+ - _(no changeset)_ docs(console): rewrite error-tracking guide for the two-key telemetry gate (#6601) (objectui `9363ad0e8`)
502
+ - _(no changeset)_ fix(examples): put `role` / `status` back in the two `plugin-form` entries (#6556) (objectui `9ae08eafc`)
503
+ - _(no changeset)_ test(examples): the catalog mirror declares the `select` options the host declares (#6539) (objectui `10725fbde`)
504
+ - _(no changeset)_ fix(examples): follow the declared `MenuItem` spellings in the menubar demo (#6525) (objectui `ecc2fadb3`)
505
+ - _(no changeset)_ fix(examples,docs): drop the `provider` key the toaster surface never declared (#6512) (objectui `50f987f9a`)
506
+
507
+ <!-- adr-0087: not-required (no-migration-prescription) All FIFTEEN declared-breaking entries in the range `9602dc820450...d8ec8d6d4f01` are judged ONE AT A TIME against their own upstream changeset rather than as a batch. Every one of them ships in an `@object-ui/*` package and none names an `@objectstack/*` package (measured from the digest's own per-entry `packages` field, not from the prose), and each is a TypeScript export, a React prop/hook, a component-registry member or objectui's own zod mirror. (1) objectui `2c3cd1b75` (objectui#5934) retires `ActionRunner`'s legacy `ActionDef.onSuccess` chained-callback channel inside `@object-ui/core`; this repo has 0 tracked imports of `ActionRunner`, every mention being prose in docs, a liveness audit or a published CHANGELOG. (2) objectui `7e19d0363` makes `DashboardWidgetSchema` in `@object-ui/types/zod` strict; this repo's own `DashboardWidgetSchema` (`packages/spec/src/ui/dashboard.zod.ts`) is a `strictObject` and has been since the ADR-0021 cutover, so objectui is CATCHING UP to a refusal this repo already enforces and no accepted ObjectStack key moves. (3) objectui `41725898c` stops resolving a `data-table` column spelled `name`; the spec declares no data-table column accessor named `name`, and its only two `accessorKey` mentions (`packages/spec/liveness/field.json`, `packages/spec/src/conversions/registry.ts`) are prose notes DESCRIBING objectui's `accessorKey || name` accessor, one of which records that the spec-canonical object form is refused at parse. (4) objectui `fd8dacecc` moves Studio's advisory findings from save to publish: a timing change in objectui's own app-shell surface, no key and no stored shape. (5) objectui `8f1d995ef` gives `ComponentConfig` one authority inside objectui's packages; 0 tracked references here. (6) objectui `f07b976ef` (objectui#6825) makes `aggregate()`'s spec-shape branch refuse an unlowered `where`; that is Key 1 of objectstack#12039, the consumer-first half of the maintainer's 2026-08-25 ruling, and the spec-side convergence is the ruled FOLLOW-UP (Key 2), which carries its own changeset and its own disposition. Nothing is prescribed from here. (7) objectui `bf283414f` (objectui#6366) retires the spec-bridge (`SpecBridge`, `bridgeListView`, `bridgeFormView`); 0 tracked imports here, the name appearing only in a liveness audit recording that nothing called it and in `packages/console/CHANGELOG.md` history. (8) objectui `a4d39a814` (objectui#6559) types `buildExpressionUser`'s parameter, breaking at compile time only; 0 tracked references here. (9) objectui `9d86e1d79` (objectui#6355) retires the `timeScale` alias on the timeline node; `timeScale` has 0 pre-existing tracked references anywhere in this repo and is no ObjectStack authorable key. (10) objectui `8631c32ad` makes `LocationField` read and write `{ lat, lng }`; `LocationValueSchema` (`packages/spec/src/data/field-value.zod.ts`) already declares `lat` and `lng`, so this is objectui converging on the stored shape this repo already enforces and the ACCEPTED ObjectStack shape does not move. (11) objectui `67a87d9d1` (objectui#5453) retires the dead per-column `wrap` forward from `ObjectGrid`'s own data-table emit. (12) objectui `2c26335a4` (objectui#6490) makes `MetadataService.saveObject`'s second argument required, breaking in name only on an objectui app-shell signature; 0 tracked call sites here. (13) objectui `14ef9f5f2` (objectui#5522) moves console error-reporting configuration onto `GET /api/v1/runtime/config` and retires the build-time `VITE_SENTRY_DSN`; the PRODUCER half of that already landed in THIS repo and was declared and disposed of there (`.changeset/runtime-config-client-error-reporting-dsn.md`, objectstack#12681), and this entry is objectui's consumer half catching up, adding no ObjectStack surface change. (14) objectui `3777538d5` narrows what `isConcurrentUpdateError` promises about a `code`; 0 tracked references here. (15) objectui `b0236259e` (objectui#6045) stops emitting `sortOrder` on the field metadata payload; this repo's `FieldSchema` (`packages/spec/src/data/field.zod.ts`) is a `strictObject` carrying no `sortOrder` member, so the key was never storable ObjectStack field metadata and none is retired. It is the field-level sibling of the object-level entry the PREVIOUS pin bump judged the same way. None of the fifteen is reachable through `@objectstack/console` in any case, re-measured against `packages/console/package.json` at this HEAD: it publishes a frozen prebuilt SPA whose `files` list is `["dist", "README.md", "CHANGELOG.md"]` and whose sole `exports` entry is `./package.json`, so it forwards no `@object-ui/*` module entry point and re-exports none of these types, props, hooks or components; and no `package.json` in this workspace declares an `@object-ui/*` dependency at all (0 files, re-measured). This diff is `.objectui-sha`, this changeset, and the regenerated `packages/sdui-parser/objectui-lockstep.json`, a one-sided vendored record of OBJECTUI's parser that carries no ObjectStack schema and no authorable key (`packages/console/dist` is gitignored and build-time only). No `packages/spec` schema, authorable metadata key or protocol surface changes in it, so there is no stored-metadata rewrite for `objectstack migrate meta` to prescribe and therefore no ADR-0087 ledger entry to write or to name from THIS bump. This bump adds no ledger entry and claims none. -->
508
+
509
+ objectui range: `9602dc820450...d8ec8d6d4f01`
510
+
511
+ ### Patch Changes
512
+
513
+ - daacc10: npm `description` no longer names the fabricated `@objectstack/framework`
514
+
515
+ `@objectstack/console`'s manifest `description` is what npm renders on the
516
+ package page, so it was the most-read of the three sites that named a package
517
+ nobody can install. The earlier pass corrected the other two — this package's
518
+ README and `packages/cli/src/utils/console.ts` — but left the manifest alone
519
+ because a published manifest was outside that change's declared file surface.
520
+ This is the third and last live site.
521
+
522
+ The correction is the same one the README took: the mechanism is real and only
523
+ the name was wrong. There is no umbrella `@objectstack/framework` package (404
524
+ on the public registry, and fabricated — nothing in this tree presents it as
525
+ enterprise or private, it is presented as the *default public* install). What
526
+ actually pins the two together is that `@objectstack/cli` declares
527
+ `@objectstack/console` as a dependency and both ship at one version from the
528
+ Changesets `fixed` group.
529
+
530
+ ```diff
531
+ -Prebuilt Console SPA pinned to this @objectstack/framework release. Source of truth: …
532
+ +Prebuilt Console SPA pinned to this framework release, installed as a dependency of @objectstack/cli. Source of truth: …
533
+ ```
534
+
535
+ "framework release" survives as the common noun the README already uses; what
536
+ is dropped is the `@objectstack/` scope that turned it into a package name. The
537
+ `@object-ui/console` source-of-truth half is unchanged — it was accurate.
538
+
539
+ Text only: no code, no exports, no behaviour change. It carries a changeset
540
+ rather than the publish-nothing exemption because the manifest `description`
541
+ ships inside the npm tarball and is a published artifact.
542
+ - cebef55: Correct the published `@objectstack/console` README's account of how the CLI
543
+ resolves the Console SPA (#11262). `README.md` is in this package's `files`
544
+ array, so it is the page npm renders.
545
+
546
+ The README claimed `resolveConsolePath()` "prefers `@objectstack/console` and
547
+ falls back to `@object-ui/console` when present — so cloud's Docker overlay
548
+ (which `cp -r`s its build over `node_modules/@object-ui/console`) keeps
549
+ working." Both halves are false against
550
+ `packages/cli/src/utils/console.ts`:
551
+
552
+ - There is no `node_modules` fallback to the `@object-ui/console` npm
553
+ package. Strategy 1 (`require.resolve('@objectstack/console/package.json')`
554
+ from the app and from the CLI itself) and strategy 2 (direct
555
+ `<cwd>/node_modules/@objectstack/console`) each require the resolved
556
+ `package.json` to be named `@objectstack/console`. The legacy package is
557
+ never consulted; the function's own header says so.
558
+ - `@object-ui/console` survives in exactly one branch — strategy 3, the
559
+ sibling-repo dev fallback, which matches the `name` field of a checked-out
560
+ `../objectui/apps/console` **source** tree. That is a source-checkout
561
+ probe, not a package resolution, and the corrected text keeps the two
562
+ apart.
563
+ - The trailing consequence was the load-bearing half: cloud and objectos
564
+ Docker images overlay into `@objectstack/console`'s `dist/`, so the README
565
+ was telling an operator their overlay works by a mechanism that no longer
566
+ exists. Replaced with the real overlay target.
567
+
568
+ Documentation only — no runtime, type or export change. The removal of the
569
+ npm-package fallback was deliberate and is not restored here.
570
+ - a2ec377: Stop naming a package nobody can install: `@objectstack/framework` is not a real
571
+ package, and the multi-org remedy now says it is not publicly obtainable
572
+
573
+ Four `@objectstack/` names appear in this repo's published docs and runtime text
574
+ without this repo building any of them. Measured against the public npm registry
575
+ (unauthenticated `GET https://registry.npmjs.org/@objectstack%2F<name>`, with
576
+ `@objectstack/spec` and `@objectstack/cli` as positive controls so a 404 is a
577
+ fact about the name and not about access), they are **not one population but
578
+ three**:
579
+
580
+ - `@objectstack/framework` — **404, and fabricated.** Unlike the others, nothing
581
+ in this tree describes it as enterprise, cloud, or private; it is presented as
582
+ the *default public* install. There is no umbrella package and there never was.
583
+ - `@objectstack/security-enterprise` (404) and `@objectstack/organizations`
584
+ (404) — **real, and deliberately not public.** This tree calls them
585
+ "closed-source" and "cloud-private" in a dozen places, and
586
+ `PLATFORM_CAPABILITY_PROVIDERS` declares `security-enterprise` with
587
+ `edition: 'enterprise'`. Their 404 is the caveat npm's API carries for any
588
+ private package, not evidence of fabrication.
589
+ - `@objectstack/service-tenant` — **published, at 4.1.0**, exactly as
590
+ `platform-object-names.ts` describes it. Untouched.
591
+
592
+ What changes:
593
+
594
+ - **`@objectstack/console`'s README** no longer opens with
595
+ `pnpm add @objectstack/framework`. The mechanism it described is real, just
596
+ misnamed: `@objectstack/cli` declares `@objectstack/console` as a dependency
597
+ and both ship at one version from the Changesets `fixed` group, so any app
598
+ that installs the CLI — every `npx create-objectstack` scaffold does — already
599
+ gets a version-matched Console. The instruction is corrected rather than
600
+ deleted, so the reader is left with something they can run.
601
+ - **`serve`'s multi-org fail-fast** kept telling an operator to add
602
+ `@objectstack/organizations` to their app without saying the runtime ships
603
+ only with an enterprise/cloud subscription. That is the un-followable "add it
604
+ to your dependencies" that framework#3366 exists to make legible. The remedy
605
+ now states it, so an operator without a licence can see that the two bullets
606
+ below it are their actual path. The declared-but-unresolvable branch is
607
+ unchanged — that operator does have the package.
608
+
609
+ No behaviour changes: boot outcomes, exit codes and the posture wall are
610
+ untouched, and `@objectstack/security-enterprise`'s install hint is deliberately
611
+ left alone — it already names its edition boundary, and the test pinning it is
612
+ strengthened to assert that it keeps doing so.
613
+
3
614
  ## 17.2.0
4
615
 
5
616
  ### Minor Changes