@shivaedev/work-board 0.13.0 → 0.14.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 (1439) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/README.md +80 -36
  3. package/assets/native.js +25 -25
  4. package/assets/react.css +1 -1
  5. package/assets/react.js +36 -34
  6. package/dist/browser/Navigation.d.ts +16 -0
  7. package/dist/browser/Navigation.d.ts.map +1 -0
  8. package/dist/browser/Navigation.js +7 -0
  9. package/dist/browser/Navigation.js.map +1 -0
  10. package/dist/browser/document/ReadingContext.d.ts +2 -0
  11. package/dist/browser/document/ReadingContext.d.ts.map +1 -1
  12. package/dist/browser/document/ReadingContext.js +7 -1
  13. package/dist/browser/document/ReadingContext.js.map +1 -1
  14. package/dist/browser/document/schema.d.ts +21 -1
  15. package/dist/browser/document/schema.d.ts.map +1 -1
  16. package/dist/browser/document/schema.js +5 -0
  17. package/dist/browser/document/schema.js.map +1 -1
  18. package/dist/browser/document/sourceGroups.d.ts +14 -0
  19. package/dist/browser/document/sourceGroups.d.ts.map +1 -0
  20. package/dist/browser/document/sourceGroups.js +43 -0
  21. package/dist/browser/document/sourceGroups.js.map +1 -0
  22. package/dist/browser/navigation/library.d.ts +36 -0
  23. package/dist/browser/navigation/library.d.ts.map +1 -0
  24. package/dist/browser/navigation/library.js +23 -0
  25. package/dist/browser/navigation/library.js.map +1 -0
  26. package/dist/browser/responses/cardContext.d.ts +10 -0
  27. package/dist/browser/responses/cardContext.d.ts.map +1 -0
  28. package/dist/browser/responses/cardContext.js +47 -0
  29. package/dist/browser/responses/cardContext.js.map +1 -0
  30. package/dist/browser/responses/reasonMarkdown.d.ts +2 -0
  31. package/dist/browser/responses/reasonMarkdown.d.ts.map +1 -0
  32. package/dist/browser/responses/reasonMarkdown.js +6 -0
  33. package/dist/browser/responses/reasonMarkdown.js.map +1 -0
  34. package/dist/browser/views/FleetItemsProjection.d.ts +220 -0
  35. package/dist/browser/views/FleetItemsProjection.d.ts.map +1 -0
  36. package/dist/browser/views/FleetItemsProjection.js +13 -0
  37. package/dist/browser/views/FleetItemsProjection.js.map +1 -0
  38. package/dist/browser/views/GoalsProjection.d.ts +157 -0
  39. package/dist/browser/views/GoalsProjection.d.ts.map +1 -0
  40. package/dist/browser/views/GoalsProjection.js +22 -0
  41. package/dist/browser/views/GoalsProjection.js.map +1 -0
  42. package/dist/browser/views/ResultProjection.d.ts +14 -1
  43. package/dist/browser/views/ResultProjection.d.ts.map +1 -1
  44. package/dist/browser/views/goalWorkState.d.ts +6 -0
  45. package/dist/browser/views/goalWorkState.d.ts.map +1 -0
  46. package/dist/browser/views/goalWorkState.js +15 -0
  47. package/dist/browser/views/goalWorkState.js.map +1 -0
  48. package/dist/browser/views/now.d.ts +13 -0
  49. package/dist/browser/views/now.d.ts.map +1 -0
  50. package/dist/browser/views/now.js +82 -0
  51. package/dist/browser/views/now.js.map +1 -0
  52. package/dist/browser/views/remaining.d.ts +21 -1
  53. package/dist/browser/views/remaining.d.ts.map +1 -1
  54. package/dist/browser/views/schema.d.ts +180 -26
  55. package/dist/browser/views/schema.d.ts.map +1 -1
  56. package/dist/browser/views/schema.js +19 -29
  57. package/dist/browser/views/schema.js.map +1 -1
  58. package/dist/browser/views/state.d.ts +1 -1
  59. package/dist/browser/views/state.js +2 -2
  60. package/dist/browser/views/state.js.map +1 -1
  61. package/dist/client/document/Mermaid.d.ts.map +1 -1
  62. package/dist/client/document/Mermaid.js +4 -3
  63. package/dist/client/document/Mermaid.js.map +1 -1
  64. package/dist/client/document/View.d.ts +4 -1
  65. package/dist/client/document/View.d.ts.map +1 -1
  66. package/dist/client/document/View.js +18 -8
  67. package/dist/client/document/View.js.map +1 -1
  68. package/dist/client/document/boardLayout.d.ts +1 -1
  69. package/dist/client/document/boardLayout.d.ts.map +1 -1
  70. package/dist/client/document/boardLayout.js +3 -3
  71. package/dist/client/document/boardLayout.js.map +1 -1
  72. package/dist/client/document/layout.js +1 -1
  73. package/dist/client/document/layout.js.map +1 -1
  74. package/dist/client/document/mermaidColor.d.ts +2 -0
  75. package/dist/client/document/mermaidColor.d.ts.map +1 -0
  76. package/dist/client/document/mermaidColor.js +20 -0
  77. package/dist/client/document/mermaidColor.js.map +1 -0
  78. package/dist/client/formFocus.d.ts +1 -1
  79. package/dist/client/formFocus.d.ts.map +1 -1
  80. package/dist/client/formFocus.js +1 -2
  81. package/dist/client/formFocus.js.map +1 -1
  82. package/dist/client/page/routeQuery.d.ts +31 -1
  83. package/dist/client/page/routeQuery.d.ts.map +1 -1
  84. package/dist/client/page/routeQuery.js +3 -0
  85. package/dist/client/page/routeQuery.js.map +1 -1
  86. package/dist/client/react/Age.d.ts.map +1 -1
  87. package/dist/client/react/Age.js +3 -1
  88. package/dist/client/react/Age.js.map +1 -1
  89. package/dist/client/react/AnswerContext.d.ts +5 -0
  90. package/dist/client/react/AnswerContext.d.ts.map +1 -0
  91. package/dist/client/react/AnswerContext.js +8 -0
  92. package/dist/client/react/AnswerContext.js.map +1 -0
  93. package/dist/client/react/AnswerForm.d.ts.map +1 -1
  94. package/dist/client/react/AnswerForm.js +19 -6
  95. package/dist/client/react/AnswerForm.js.map +1 -1
  96. package/dist/client/react/AnswerMore.d.ts +10 -0
  97. package/dist/client/react/AnswerMore.d.ts.map +1 -0
  98. package/dist/client/react/AnswerMore.js +7 -0
  99. package/dist/client/react/AnswerMore.js.map +1 -0
  100. package/dist/client/react/AnswerPanel.d.ts +1 -1
  101. package/dist/client/react/AnswerPanel.d.ts.map +1 -1
  102. package/dist/client/react/AnswerPanel.js +21 -12
  103. package/dist/client/react/AnswerPanel.js.map +1 -1
  104. package/dist/client/react/AnswerPrompts.d.ts +1 -0
  105. package/dist/client/react/AnswerPrompts.d.ts.map +1 -1
  106. package/dist/client/react/AnswerPrompts.js +6 -4
  107. package/dist/client/react/AnswerPrompts.js.map +1 -1
  108. package/dist/client/react/BoardMain.d.ts +1 -1
  109. package/dist/client/react/BoardMain.d.ts.map +1 -1
  110. package/dist/client/react/BoardShell.d.ts +0 -1
  111. package/dist/client/react/BoardShell.d.ts.map +1 -1
  112. package/dist/client/react/BoardShell.js +12 -18
  113. package/dist/client/react/BoardShell.js.map +1 -1
  114. package/dist/client/react/DocumentAttention.d.ts.map +1 -1
  115. package/dist/client/react/DocumentAttention.js +6 -2
  116. package/dist/client/react/DocumentAttention.js.map +1 -1
  117. package/dist/client/react/DocumentClaims.d.ts.map +1 -1
  118. package/dist/client/react/DocumentClaims.js +3 -3
  119. package/dist/client/react/DocumentClaims.js.map +1 -1
  120. package/dist/client/react/DocumentContext.d.ts.map +1 -1
  121. package/dist/client/react/DocumentContext.js +21 -13
  122. package/dist/client/react/DocumentContext.js.map +1 -1
  123. package/dist/client/react/DocumentCriteria.d.ts +5 -0
  124. package/dist/client/react/DocumentCriteria.d.ts.map +1 -1
  125. package/dist/client/react/DocumentCriteria.js +11 -9
  126. package/dist/client/react/DocumentCriteria.js.map +1 -1
  127. package/dist/client/react/DocumentEvidence.d.ts.map +1 -1
  128. package/dist/client/react/DocumentEvidence.js +1 -2
  129. package/dist/client/react/DocumentEvidence.js.map +1 -1
  130. package/dist/client/react/DocumentMain.js +7 -4
  131. package/dist/client/react/DocumentMain.js.map +1 -1
  132. package/dist/client/react/DocumentMetadata.d.ts.map +1 -1
  133. package/dist/client/react/DocumentMetadata.js +5 -4
  134. package/dist/client/react/DocumentMetadata.js.map +1 -1
  135. package/dist/client/react/DocumentPage.d.ts +3 -1
  136. package/dist/client/react/DocumentPage.d.ts.map +1 -1
  137. package/dist/client/react/DocumentPage.js +8 -9
  138. package/dist/client/react/DocumentPage.js.map +1 -1
  139. package/dist/client/react/DocumentRecords.js +1 -1
  140. package/dist/client/react/DocumentRecords.js.map +1 -1
  141. package/dist/client/react/DocumentRelationships.d.ts +5 -0
  142. package/dist/client/react/DocumentRelationships.d.ts.map +1 -0
  143. package/dist/client/react/DocumentRelationships.js +26 -0
  144. package/dist/client/react/DocumentRelationships.js.map +1 -0
  145. package/dist/client/react/DocumentSource.d.ts +5 -0
  146. package/dist/client/react/DocumentSource.d.ts.map +1 -0
  147. package/dist/client/react/DocumentSource.js +9 -0
  148. package/dist/client/react/DocumentSource.js.map +1 -0
  149. package/dist/client/react/DocumentWorkMetadata.d.ts.map +1 -1
  150. package/dist/client/react/DocumentWorkMetadata.js +4 -23
  151. package/dist/client/react/DocumentWorkMetadata.js.map +1 -1
  152. package/dist/client/react/FleetItemsContext.d.ts +194 -0
  153. package/dist/client/react/FleetItemsContext.d.ts.map +1 -0
  154. package/dist/client/react/FleetItemsContext.js +3 -0
  155. package/dist/client/react/FleetItemsContext.js.map +1 -0
  156. package/dist/client/react/FleetMain.d.ts +4 -0
  157. package/dist/client/react/FleetMain.d.ts.map +1 -0
  158. package/dist/client/react/FleetMain.js +10 -0
  159. package/dist/client/react/FleetMain.js.map +1 -0
  160. package/dist/client/react/FormField.d.ts +2 -1
  161. package/dist/client/react/FormField.d.ts.map +1 -1
  162. package/dist/client/react/FormField.js +5 -3
  163. package/dist/client/react/FormField.js.map +1 -1
  164. package/dist/client/react/GoalCriteria.d.ts +11 -0
  165. package/dist/client/react/GoalCriteria.d.ts.map +1 -0
  166. package/dist/client/react/GoalCriteria.js +30 -0
  167. package/dist/client/react/GoalCriteria.js.map +1 -0
  168. package/dist/client/react/GoalOverviewCard.d.ts +5 -0
  169. package/dist/client/react/GoalOverviewCard.d.ts.map +1 -0
  170. package/dist/client/react/GoalOverviewCard.js +10 -0
  171. package/dist/client/react/GoalOverviewCard.js.map +1 -0
  172. package/dist/client/react/GoalPage.d.ts +7 -0
  173. package/dist/client/react/GoalPage.d.ts.map +1 -0
  174. package/dist/client/react/GoalPage.js +15 -0
  175. package/dist/client/react/GoalPage.js.map +1 -0
  176. package/dist/client/react/GoalProgress.d.ts +6 -0
  177. package/dist/client/react/GoalProgress.d.ts.map +1 -0
  178. package/dist/client/react/GoalProgress.js +32 -0
  179. package/dist/client/react/GoalProgress.js.map +1 -0
  180. package/dist/client/react/GoalProgressHeader.d.ts +7 -0
  181. package/dist/client/react/GoalProgressHeader.d.ts.map +1 -0
  182. package/dist/client/react/GoalProgressHeader.js +14 -0
  183. package/dist/client/react/GoalProgressHeader.js.map +1 -0
  184. package/dist/client/react/GoalProgressSummary.d.ts +5 -0
  185. package/dist/client/react/GoalProgressSummary.d.ts.map +1 -0
  186. package/dist/client/react/GoalProgressSummary.js +8 -0
  187. package/dist/client/react/GoalProgressSummary.js.map +1 -0
  188. package/dist/client/react/GoalWorkTable.d.ts +11 -0
  189. package/dist/client/react/GoalWorkTable.d.ts.map +1 -0
  190. package/dist/client/react/GoalWorkTable.js +36 -0
  191. package/dist/client/react/GoalWorkTable.js.map +1 -0
  192. package/dist/client/react/GoalsPage.d.ts +5 -0
  193. package/dist/client/react/GoalsPage.d.ts.map +1 -0
  194. package/dist/client/react/GoalsPage.js +9 -0
  195. package/dist/client/react/GoalsPage.js.map +1 -0
  196. package/dist/client/react/HandoffForm.d.ts.map +1 -1
  197. package/dist/client/react/HandoffForm.js +3 -2
  198. package/dist/client/react/HandoffForm.js.map +1 -1
  199. package/dist/client/react/HandoffPage.d.ts.map +1 -1
  200. package/dist/client/react/HandoffPage.js +3 -2
  201. package/dist/client/react/HandoffPage.js.map +1 -1
  202. package/dist/client/react/HandoffPrompt.d.ts.map +1 -1
  203. package/dist/client/react/HandoffPrompt.js +2 -1
  204. package/dist/client/react/HandoffPrompt.js.map +1 -1
  205. package/dist/client/react/Header.d.ts.map +1 -1
  206. package/dist/client/react/Header.js +11 -4
  207. package/dist/client/react/Header.js.map +1 -1
  208. package/dist/client/react/HomeBoard.d.ts.map +1 -1
  209. package/dist/client/react/HomeBoard.js +3 -2
  210. package/dist/client/react/HomeBoard.js.map +1 -1
  211. package/dist/client/react/ItemSummary.d.ts +5 -0
  212. package/dist/client/react/ItemSummary.d.ts.map +1 -0
  213. package/dist/client/react/ItemSummary.js +42 -0
  214. package/dist/client/react/ItemSummary.js.map +1 -0
  215. package/dist/client/react/KeyboardHints.d.ts +5 -0
  216. package/dist/client/react/KeyboardHints.d.ts.map +1 -0
  217. package/dist/client/react/KeyboardHints.js +6 -0
  218. package/dist/client/react/KeyboardHints.js.map +1 -0
  219. package/dist/client/react/LibraryContents.d.ts +15 -0
  220. package/dist/client/react/LibraryContents.d.ts.map +1 -0
  221. package/dist/client/react/LibraryContents.js +28 -0
  222. package/dist/client/react/LibraryContents.js.map +1 -0
  223. package/dist/client/react/LibraryMain.d.ts +8 -0
  224. package/dist/client/react/LibraryMain.d.ts.map +1 -0
  225. package/dist/client/react/LibraryMain.js +8 -0
  226. package/dist/client/react/LibraryMain.js.map +1 -0
  227. package/dist/client/react/LibraryPage.d.ts +6 -0
  228. package/dist/client/react/LibraryPage.d.ts.map +1 -0
  229. package/dist/client/react/LibraryPage.js +34 -0
  230. package/dist/client/react/LibraryPage.js.map +1 -0
  231. package/dist/client/react/LiveControls.d.ts.map +1 -1
  232. package/dist/client/react/LiveControls.js +2 -3
  233. package/dist/client/react/LiveControls.js.map +1 -1
  234. package/dist/client/react/Modal.d.ts +2 -1
  235. package/dist/client/react/Modal.d.ts.map +1 -1
  236. package/dist/client/react/Modal.js +2 -2
  237. package/dist/client/react/Modal.js.map +1 -1
  238. package/dist/client/react/PhoneNavigation.d.ts +6 -0
  239. package/dist/client/react/PhoneNavigation.d.ts.map +1 -0
  240. package/dist/client/react/PhoneNavigation.js +31 -0
  241. package/dist/client/react/PhoneNavigation.js.map +1 -0
  242. package/dist/client/react/PrChip.d.ts +4 -0
  243. package/dist/client/react/PrChip.d.ts.map +1 -0
  244. package/dist/client/react/PrChip.js +7 -0
  245. package/dist/client/react/PrChip.js.map +1 -0
  246. package/dist/client/react/ProjectionFrame.d.ts.map +1 -1
  247. package/dist/client/react/ProjectionFrame.js +10 -18
  248. package/dist/client/react/ProjectionFrame.js.map +1 -1
  249. package/dist/client/react/ProjectionMain.d.ts.map +1 -1
  250. package/dist/client/react/ProjectionMain.js +4 -7
  251. package/dist/client/react/ProjectionMain.js.map +1 -1
  252. package/dist/client/react/PromptOption.d.ts +1 -2
  253. package/dist/client/react/PromptOption.d.ts.map +1 -1
  254. package/dist/client/react/PromptOption.js +7 -4
  255. package/dist/client/react/PromptOption.js.map +1 -1
  256. package/dist/client/react/ReadingHistory.d.ts +10 -0
  257. package/dist/client/react/ReadingHistory.d.ts.map +1 -0
  258. package/dist/client/react/ReadingHistory.js +21 -0
  259. package/dist/client/react/ReadingHistory.js.map +1 -0
  260. package/dist/client/react/ReadingLibrary.d.ts +3 -3
  261. package/dist/client/react/ReadingLibrary.d.ts.map +1 -1
  262. package/dist/client/react/ReadingLibrary.js +5 -22
  263. package/dist/client/react/ReadingLibrary.js.map +1 -1
  264. package/dist/client/react/ReadingPanel.d.ts +3 -0
  265. package/dist/client/react/ReadingPanel.d.ts.map +1 -0
  266. package/dist/client/react/ReadingPanel.js +6 -0
  267. package/dist/client/react/ReadingPanel.js.map +1 -0
  268. package/dist/client/react/Reference.d.ts.map +1 -1
  269. package/dist/client/react/Reference.js +3 -1
  270. package/dist/client/react/Reference.js.map +1 -1
  271. package/dist/client/react/RemainingMain.d.ts.map +1 -1
  272. package/dist/client/react/RemainingMain.js +9 -6
  273. package/dist/client/react/RemainingMain.js.map +1 -1
  274. package/dist/client/react/RespondPage.d.ts +1 -1
  275. package/dist/client/react/RespondPage.d.ts.map +1 -1
  276. package/dist/client/react/RespondPage.js +3 -14
  277. package/dist/client/react/RespondPage.js.map +1 -1
  278. package/dist/client/react/ResponseHistory.d.ts +2 -1
  279. package/dist/client/react/ResponseHistory.d.ts.map +1 -1
  280. package/dist/client/react/ResponseHistory.js +2 -2
  281. package/dist/client/react/ResponseHistory.js.map +1 -1
  282. package/dist/client/react/ResultCriteria.d.ts.map +1 -1
  283. package/dist/client/react/ResultCriteria.js +5 -5
  284. package/dist/client/react/ResultCriteria.js.map +1 -1
  285. package/dist/client/react/ResultPage.d.ts.map +1 -1
  286. package/dist/client/react/ResultPage.js +2 -1
  287. package/dist/client/react/ResultPage.js.map +1 -1
  288. package/dist/client/react/SearchDialog.d.ts.map +1 -1
  289. package/dist/client/react/SearchDialog.js +4 -61
  290. package/dist/client/react/SearchDialog.js.map +1 -1
  291. package/dist/client/react/SearchPalette.d.ts +11 -0
  292. package/dist/client/react/SearchPalette.d.ts.map +1 -0
  293. package/dist/client/react/SearchPalette.js +80 -0
  294. package/dist/client/react/SearchPalette.js.map +1 -0
  295. package/dist/client/react/SearchResults.d.ts.map +1 -1
  296. package/dist/client/react/SearchResults.js +3 -2
  297. package/dist/client/react/SearchResults.js.map +1 -1
  298. package/dist/client/react/SettingsPopover.d.ts +7 -0
  299. package/dist/client/react/SettingsPopover.d.ts.map +1 -0
  300. package/dist/client/react/SettingsPopover.js +8 -0
  301. package/dist/client/react/SettingsPopover.js.map +1 -0
  302. package/dist/client/react/ShellApi.d.ts +3 -2
  303. package/dist/client/react/ShellApi.d.ts.map +1 -1
  304. package/dist/client/react/Sidebar.d.ts +6 -4
  305. package/dist/client/react/Sidebar.d.ts.map +1 -1
  306. package/dist/client/react/Sidebar.js +26 -38
  307. package/dist/client/react/Sidebar.js.map +1 -1
  308. package/dist/client/react/SourceList.d.ts +5 -0
  309. package/dist/client/react/SourceList.d.ts.map +1 -0
  310. package/dist/client/react/SourceList.js +19 -0
  311. package/dist/client/react/SourceList.js.map +1 -0
  312. package/dist/client/react/StartPage.d.ts.map +1 -1
  313. package/dist/client/react/StartPage.js +2 -1
  314. package/dist/client/react/StartPage.js.map +1 -1
  315. package/dist/client/react/SystemFleetLane.d.ts +5 -0
  316. package/dist/client/react/SystemFleetLane.d.ts.map +1 -0
  317. package/dist/client/react/SystemFleetLane.js +12 -0
  318. package/dist/client/react/SystemFleetLane.js.map +1 -0
  319. package/dist/client/react/SystemHealth.d.ts +6 -0
  320. package/dist/client/react/SystemHealth.d.ts.map +1 -0
  321. package/dist/client/react/SystemHealth.js +16 -0
  322. package/dist/client/react/SystemHealth.js.map +1 -0
  323. package/dist/client/react/SystemMain.d.ts +8 -0
  324. package/dist/client/react/SystemMain.d.ts.map +1 -0
  325. package/dist/client/react/SystemMain.js +11 -0
  326. package/dist/client/react/SystemMain.js.map +1 -0
  327. package/dist/client/react/SystemPage.d.ts +5 -0
  328. package/dist/client/react/SystemPage.d.ts.map +1 -0
  329. package/dist/client/react/SystemPage.js +28 -0
  330. package/dist/client/react/SystemPage.js.map +1 -0
  331. package/dist/client/react/TodayGoals.d.ts +5 -0
  332. package/dist/client/react/TodayGoals.d.ts.map +1 -0
  333. package/dist/client/react/TodayGoals.js +12 -0
  334. package/dist/client/react/TodayGoals.js.map +1 -0
  335. package/dist/client/react/TodayNeeds.d.ts +7 -0
  336. package/dist/client/react/TodayNeeds.d.ts.map +1 -0
  337. package/dist/client/react/TodayNeeds.js +14 -0
  338. package/dist/client/react/TodayNeeds.js.map +1 -0
  339. package/dist/client/react/TodayOptions.d.ts +7 -0
  340. package/dist/client/react/TodayOptions.d.ts.map +1 -0
  341. package/dist/client/react/TodayOptions.js +64 -0
  342. package/dist/client/react/TodayOptions.js.map +1 -0
  343. package/dist/client/react/TodayPage.d.ts +7 -0
  344. package/dist/client/react/TodayPage.d.ts.map +1 -0
  345. package/dist/client/react/TodayPage.js +24 -0
  346. package/dist/client/react/TodayPage.js.map +1 -0
  347. package/dist/client/react/TodayProgress.d.ts +6 -0
  348. package/dist/client/react/TodayProgress.d.ts.map +1 -0
  349. package/dist/client/react/TodayProgress.js +18 -0
  350. package/dist/client/react/TodayProgress.js.map +1 -0
  351. package/dist/client/react/UpdatesToggle.d.ts +3 -1
  352. package/dist/client/react/UpdatesToggle.d.ts.map +1 -1
  353. package/dist/client/react/UpdatesToggle.js +4 -2
  354. package/dist/client/react/UpdatesToggle.js.map +1 -1
  355. package/dist/client/react/VisualViewer.d.ts.map +1 -1
  356. package/dist/client/react/VisualViewer.js +2 -1
  357. package/dist/client/react/VisualViewer.js.map +1 -1
  358. package/dist/client/react/WorkCard.d.ts +9 -0
  359. package/dist/client/react/WorkCard.d.ts.map +1 -0
  360. package/dist/client/react/WorkCard.js +12 -0
  361. package/dist/client/react/WorkCard.js.map +1 -0
  362. package/dist/client/react/WorkCardList.d.ts +10 -0
  363. package/dist/client/react/WorkCardList.d.ts.map +1 -0
  364. package/dist/client/react/WorkCardList.js +8 -0
  365. package/dist/client/react/WorkCardList.js.map +1 -0
  366. package/dist/client/react/WorkCards.d.ts.map +1 -1
  367. package/dist/client/react/WorkCards.js +9 -9
  368. package/dist/client/react/WorkCards.js.map +1 -1
  369. package/dist/client/react/WorkControls.d.ts.map +1 -1
  370. package/dist/client/react/WorkControls.js +1 -1
  371. package/dist/client/react/WorkControls.js.map +1 -1
  372. package/dist/client/react/WorkDetail.d.ts +3 -1
  373. package/dist/client/react/WorkDetail.d.ts.map +1 -1
  374. package/dist/client/react/WorkDetail.js +2 -2
  375. package/dist/client/react/WorkDetail.js.map +1 -1
  376. package/dist/client/react/WorkLane.d.ts +12 -0
  377. package/dist/client/react/WorkLane.d.ts.map +1 -0
  378. package/dist/client/react/WorkLane.js +9 -0
  379. package/dist/client/react/WorkLane.js.map +1 -0
  380. package/dist/client/react/WorkNow.d.ts +5 -0
  381. package/dist/client/react/WorkNow.d.ts.map +1 -0
  382. package/dist/client/react/WorkNow.js +20 -0
  383. package/dist/client/react/WorkNow.js.map +1 -0
  384. package/dist/client/react/WorkPage.d.ts +3 -1
  385. package/dist/client/react/WorkPage.d.ts.map +1 -1
  386. package/dist/client/react/WorkPage.js +10 -9
  387. package/dist/client/react/WorkPage.js.map +1 -1
  388. package/dist/client/react/WorkResults.d.ts.map +1 -1
  389. package/dist/client/react/WorkResults.js +4 -0
  390. package/dist/client/react/WorkResults.js.map +1 -1
  391. package/dist/client/react/WorkTable.d.ts.map +1 -1
  392. package/dist/client/react/WorkTable.js +7 -3
  393. package/dist/client/react/WorkTable.js.map +1 -1
  394. package/dist/client/react/WorkTools.d.ts.map +1 -1
  395. package/dist/client/react/WorkTools.js +3 -3
  396. package/dist/client/react/WorkTools.js.map +1 -1
  397. package/dist/client/react/activeRead.d.ts +2 -2
  398. package/dist/client/react/activeRead.d.ts.map +1 -1
  399. package/dist/client/react/activeRead.js +7 -3
  400. package/dist/client/react/activeRead.js.map +1 -1
  401. package/dist/client/react/components/ui/Badge.d.ts +8 -0
  402. package/dist/client/react/components/ui/Badge.d.ts.map +1 -0
  403. package/dist/client/react/components/ui/Badge.js +11 -0
  404. package/dist/client/react/components/ui/Badge.js.map +1 -0
  405. package/dist/client/react/components/ui/Button.d.ts +5 -0
  406. package/dist/client/react/components/ui/Button.d.ts.map +1 -0
  407. package/dist/client/react/components/ui/Button.js +7 -0
  408. package/dist/client/react/components/ui/Button.js.map +1 -0
  409. package/dist/client/react/components/ui/Card.d.ts +3 -0
  410. package/dist/client/react/components/ui/Card.d.ts.map +1 -0
  411. package/dist/client/react/components/ui/Card.js +6 -0
  412. package/dist/client/react/components/ui/Card.js.map +1 -0
  413. package/dist/client/react/components/ui/Command.d.ts +9 -0
  414. package/dist/client/react/components/ui/Command.d.ts.map +1 -0
  415. package/dist/client/react/components/ui/Command.js +24 -0
  416. package/dist/client/react/components/ui/Command.js.map +1 -0
  417. package/dist/client/react/components/ui/Popover.d.ts +10 -0
  418. package/dist/client/react/components/ui/Popover.d.ts.map +1 -0
  419. package/dist/client/react/components/ui/Popover.js +44 -0
  420. package/dist/client/react/components/ui/Popover.js.map +1 -0
  421. package/dist/client/react/components/ui/SegmentedBar.d.ts +17 -0
  422. package/dist/client/react/components/ui/SegmentedBar.d.ts.map +1 -0
  423. package/dist/client/react/components/ui/SegmentedBar.js +11 -0
  424. package/dist/client/react/components/ui/SegmentedBar.js.map +1 -0
  425. package/dist/client/react/components/ui/Sheet.d.ts +4 -0
  426. package/dist/client/react/components/ui/Sheet.d.ts.map +1 -0
  427. package/dist/client/react/components/ui/Sheet.js +7 -0
  428. package/dist/client/react/components/ui/Sheet.js.map +1 -0
  429. package/dist/client/react/components/ui/StatusChip.d.ts +5 -0
  430. package/dist/client/react/components/ui/StatusChip.d.ts.map +1 -0
  431. package/dist/client/react/components/ui/StatusChip.js +26 -0
  432. package/dist/client/react/components/ui/StatusChip.js.map +1 -0
  433. package/dist/client/react/components/ui/StatusSegments.d.ts +6 -0
  434. package/dist/client/react/components/ui/StatusSegments.d.ts.map +1 -0
  435. package/dist/client/react/components/ui/StatusSegments.js +19 -0
  436. package/dist/client/react/components/ui/StatusSegments.js.map +1 -0
  437. package/dist/client/react/components/ui/Tabs.d.ts +12 -0
  438. package/dist/client/react/components/ui/Tabs.d.ts.map +1 -0
  439. package/dist/client/react/components/ui/Tabs.js +28 -0
  440. package/dist/client/react/components/ui/Tabs.js.map +1 -0
  441. package/dist/client/react/components/ui/Tooltip.d.ts +8 -0
  442. package/dist/client/react/components/ui/Tooltip.d.ts.map +1 -0
  443. package/dist/client/react/components/ui/Tooltip.js +7 -0
  444. package/dist/client/react/components/ui/Tooltip.js.map +1 -0
  445. package/dist/client/react/components/ui/buttonVariants.d.ts +5 -0
  446. package/dist/client/react/components/ui/buttonVariants.d.ts.map +1 -0
  447. package/dist/client/react/components/ui/buttonVariants.js +14 -0
  448. package/dist/client/react/components/ui/buttonVariants.js.map +1 -0
  449. package/dist/client/react/components/ui/statusPresentation.d.ts +20 -0
  450. package/dist/client/react/components/ui/statusPresentation.d.ts.map +1 -0
  451. package/dist/client/react/components/ui/statusPresentation.js +32 -0
  452. package/dist/client/react/components/ui/statusPresentation.js.map +1 -0
  453. package/dist/client/react/diagnosticsValues.js +2 -2
  454. package/dist/client/react/diagnosticsValues.js.map +1 -1
  455. package/dist/client/react/documentRoute.d.ts +1 -1
  456. package/dist/client/react/documentRoute.d.ts.map +1 -1
  457. package/dist/client/react/documentRoute.js +2 -2
  458. package/dist/client/react/documentRoute.js.map +1 -1
  459. package/dist/client/react/entry.js +3 -7
  460. package/dist/client/react/entry.js.map +1 -1
  461. package/dist/client/react/goalWork.d.ts +13 -0
  462. package/dist/client/react/goalWork.d.ts.map +1 -0
  463. package/dist/client/react/goalWork.js +12 -0
  464. package/dist/client/react/goalWork.js.map +1 -0
  465. package/dist/client/react/inProgressItems.d.ts +95 -0
  466. package/dist/client/react/inProgressItems.d.ts.map +1 -0
  467. package/dist/client/react/inProgressItems.js +4 -0
  468. package/dist/client/react/inProgressItems.js.map +1 -0
  469. package/dist/client/react/loadBoardPage.d.ts +1 -1
  470. package/dist/client/react/loadBoardPage.d.ts.map +1 -1
  471. package/dist/client/react/loadBoardPage.js +31 -3
  472. package/dist/client/react/loadBoardPage.js.map +1 -1
  473. package/dist/client/react/loadProjection.d.ts +158 -161
  474. package/dist/client/react/loadProjection.d.ts.map +1 -1
  475. package/dist/client/react/loadProjection.js +3 -4
  476. package/dist/client/react/loadProjection.js.map +1 -1
  477. package/dist/client/react/loadRemaining.d.ts +454 -67
  478. package/dist/client/react/loadRemaining.d.ts.map +1 -1
  479. package/dist/client/react/loadRemaining.js +9 -4
  480. package/dist/client/react/loadRemaining.js.map +1 -1
  481. package/dist/client/react/mainLocation.d.ts +3 -1
  482. package/dist/client/react/mainLocation.d.ts.map +1 -1
  483. package/dist/client/react/mainLocation.js +7 -7
  484. package/dist/client/react/mainLocation.js.map +1 -1
  485. package/dist/client/react/pageQueries.d.ts +5 -0
  486. package/dist/client/react/pageQueries.d.ts.map +1 -0
  487. package/dist/client/react/pageQueries.js +39 -0
  488. package/dist/client/react/pageQueries.js.map +1 -0
  489. package/dist/client/react/projectionChanges.d.ts.map +1 -1
  490. package/dist/client/react/projectionChanges.js +3 -1
  491. package/dist/client/react/projectionChanges.js.map +1 -1
  492. package/dist/client/react/projectionRoute.d.ts +2 -2
  493. package/dist/client/react/projectionRoute.d.ts.map +1 -1
  494. package/dist/client/react/projectionRoute.js +4 -7
  495. package/dist/client/react/projectionRoute.js.map +1 -1
  496. package/dist/client/react/readerLink.js +1 -1
  497. package/dist/client/react/readerLink.js.map +1 -1
  498. package/dist/client/react/readingLibrary.d.ts +1 -0
  499. package/dist/client/react/readingLibrary.d.ts.map +1 -1
  500. package/dist/client/react/readingLibrary.js +1 -1
  501. package/dist/client/react/readingLibrary.js.map +1 -1
  502. package/dist/client/react/readingPassage.d.ts +4 -0
  503. package/dist/client/react/readingPassage.d.ts.map +1 -0
  504. package/dist/client/react/readingPassage.js +41 -0
  505. package/dist/client/react/readingPassage.js.map +1 -0
  506. package/dist/client/react/readingState.d.ts +0 -2
  507. package/dist/client/react/readingState.d.ts.map +1 -1
  508. package/dist/client/react/readingState.js +1 -31
  509. package/dist/client/react/readingState.js.map +1 -1
  510. package/dist/client/react/remainingRoute.d.ts +1 -1
  511. package/dist/client/react/remainingRoute.d.ts.map +1 -1
  512. package/dist/client/react/remainingRoute.js +6 -4
  513. package/dist/client/react/remainingRoute.js.map +1 -1
  514. package/dist/client/react/retryPage.d.ts +4 -0
  515. package/dist/client/react/retryPage.d.ts.map +1 -0
  516. package/dist/client/react/retryPage.js +13 -0
  517. package/dist/client/react/retryPage.js.map +1 -0
  518. package/dist/client/react/scheduleReading.d.ts +1 -1
  519. package/dist/client/react/scheduleReading.d.ts.map +1 -1
  520. package/dist/client/react/scheduleReading.js +16 -11
  521. package/dist/client/react/scheduleReading.js.map +1 -1
  522. package/dist/client/react/searchCommands.d.ts +6 -0
  523. package/dist/client/react/searchCommands.d.ts.map +1 -1
  524. package/dist/client/react/searchCommands.js +20 -1
  525. package/dist/client/react/searchCommands.js.map +1 -1
  526. package/dist/client/react/shellIds.d.ts +2 -4
  527. package/dist/client/react/shellIds.d.ts.map +1 -1
  528. package/dist/client/react/shellIds.js +2 -4
  529. package/dist/client/react/shellIds.js.map +1 -1
  530. package/dist/client/react/useAppearance.d.ts.map +1 -1
  531. package/dist/client/react/useAppearance.js +1 -0
  532. package/dist/client/react/useAppearance.js.map +1 -1
  533. package/dist/client/react/useBoardNavigation.d.ts.map +1 -1
  534. package/dist/client/react/useBoardNavigation.js +11 -9
  535. package/dist/client/react/useBoardNavigation.js.map +1 -1
  536. package/dist/client/react/useDiagnosticsPolling.d.ts +1 -1
  537. package/dist/client/react/useDiagnosticsPolling.d.ts.map +1 -1
  538. package/dist/client/react/useDiagnosticsPolling.js +5 -2
  539. package/dist/client/react/useDiagnosticsPolling.js.map +1 -1
  540. package/dist/client/react/useDocumentPage.d.ts +1 -1
  541. package/dist/client/react/useDocumentPage.d.ts.map +1 -1
  542. package/dist/client/react/useDocumentPage.js +5 -1
  543. package/dist/client/react/useDocumentPage.js.map +1 -1
  544. package/dist/client/react/useFormFocus.d.ts +2 -0
  545. package/dist/client/react/useFormFocus.d.ts.map +1 -1
  546. package/dist/client/react/useFormFocus.js +8 -5
  547. package/dist/client/react/useFormFocus.js.map +1 -1
  548. package/dist/client/react/useProjectionData.d.ts +15 -0
  549. package/dist/client/react/useProjectionData.d.ts.map +1 -0
  550. package/dist/client/react/useProjectionData.js +21 -0
  551. package/dist/client/react/useProjectionData.js.map +1 -0
  552. package/dist/client/react/useResponseForm.d.ts +2 -1
  553. package/dist/client/react/useResponseForm.d.ts.map +1 -1
  554. package/dist/client/react/useResponseForm.js +20 -22
  555. package/dist/client/react/useResponseForm.js.map +1 -1
  556. package/dist/client/react/useVirtualRows.d.ts +9 -0
  557. package/dist/client/react/useVirtualRows.d.ts.map +1 -0
  558. package/dist/client/react/useVirtualRows.js +14 -0
  559. package/dist/client/react/useVirtualRows.js.map +1 -0
  560. package/dist/client/react/workspaceDestinations.d.ts +27 -0
  561. package/dist/client/react/workspaceDestinations.d.ts.map +1 -0
  562. package/dist/client/react/workspaceDestinations.js +8 -0
  563. package/dist/client/react/workspaceDestinations.js.map +1 -0
  564. package/dist/client/responses/summary.d.ts +2 -2
  565. package/dist/client/responses/summary.d.ts.map +1 -1
  566. package/dist/client/responses/summary.js +6 -6
  567. package/dist/client/responses/summary.js.map +1 -1
  568. package/dist/diagnostics/daemonContract.d.ts +36 -0
  569. package/dist/diagnostics/daemonContract.d.ts.map +1 -1
  570. package/dist/diagnostics/daemonContract.js +5 -1
  571. package/dist/diagnostics/daemonContract.js.map +1 -1
  572. package/dist/diagnostics/fleetItems.d.ts +41 -0
  573. package/dist/diagnostics/fleetItems.d.ts.map +1 -0
  574. package/dist/diagnostics/fleetItems.js +25 -0
  575. package/dist/diagnostics/fleetItems.js.map +1 -0
  576. package/dist/metadata/schema.d.ts +1 -1
  577. package/dist/metadata/schema.d.ts.map +1 -1
  578. package/dist/metadata/schema.js +1 -1
  579. package/dist/metadata/schema.js.map +1 -1
  580. package/dist/render/visual.d.ts.map +1 -1
  581. package/dist/render/visual.js +7 -5
  582. package/dist/render/visual.js.map +1 -1
  583. package/dist/rpc/PageUrl.d.ts +3 -0
  584. package/dist/rpc/PageUrl.d.ts.map +1 -0
  585. package/dist/rpc/PageUrl.js +28 -0
  586. package/dist/rpc/PageUrl.js.map +1 -0
  587. package/dist/rpc/Server.d.ts +6 -0
  588. package/dist/rpc/Server.d.ts.map +1 -0
  589. package/dist/rpc/Server.js +3 -0
  590. package/dist/rpc/Server.js.map +1 -0
  591. package/dist/rpc/contract.d.ts +3195 -1786
  592. package/dist/rpc/contract.d.ts.map +1 -1
  593. package/dist/rpc/contract.js +25 -44
  594. package/dist/rpc/contract.js.map +1 -1
  595. package/dist/rpc/handoffContract.d.ts +33 -33
  596. package/dist/rpc/pageKeys.js +1 -1
  597. package/dist/rpc/pageKeys.js.map +1 -1
  598. package/dist/rpc/responseContract.d.ts +51 -51
  599. package/dist/server/attention/inbox.d.ts +15 -2
  600. package/dist/server/attention/inbox.d.ts.map +1 -1
  601. package/dist/server/attention/inbox.js +21 -26
  602. package/dist/server/attention/inbox.js.map +1 -1
  603. package/dist/server/attention/managedRequestReceipt.d.ts.map +1 -1
  604. package/dist/server/attention/managedRequestReceipt.js +16 -11
  605. package/dist/server/attention/managedRequestReceipt.js.map +1 -1
  606. package/dist/server/attention/projection.d.ts +4 -0
  607. package/dist/server/attention/projection.d.ts.map +1 -0
  608. package/dist/server/attention/projection.js +29 -0
  609. package/dist/server/attention/projection.js.map +1 -0
  610. package/dist/server/attention/questionState.d.ts +1 -1
  611. package/dist/server/attention/questionState.d.ts.map +1 -1
  612. package/dist/server/attention/questionState.js +13 -23
  613. package/dist/server/attention/questionState.js.map +1 -1
  614. package/dist/server/attention/requestInbox.d.ts +41 -0
  615. package/dist/server/attention/requestInbox.d.ts.map +1 -0
  616. package/dist/server/attention/requestInbox.js +56 -0
  617. package/dist/server/attention/requestInbox.js.map +1 -0
  618. package/dist/server/attention/requests.d.ts +4 -2
  619. package/dist/server/attention/requests.d.ts.map +1 -1
  620. package/dist/server/attention/requests.js +10 -1
  621. package/dist/server/attention/requests.js.map +1 -1
  622. package/dist/server/attention/status.d.ts +4 -0
  623. package/dist/server/attention/status.d.ts.map +1 -0
  624. package/dist/server/attention/status.js +11 -0
  625. package/dist/server/attention/status.js.map +1 -0
  626. package/dist/server/board.d.ts +1 -1
  627. package/dist/server/board.d.ts.map +1 -1
  628. package/dist/server/boardRuntime.d.ts +5 -2
  629. package/dist/server/boardRuntime.d.ts.map +1 -1
  630. package/dist/server/boardRuntime.js +3 -1
  631. package/dist/server/boardRuntime.js.map +1 -1
  632. package/dist/server/boardSocket.d.ts +3 -0
  633. package/dist/server/boardSocket.d.ts.map +1 -0
  634. package/dist/server/boardSocket.js +65 -0
  635. package/dist/server/boardSocket.js.map +1 -0
  636. package/dist/server/cli.js +5 -1
  637. package/dist/server/cli.js.map +1 -1
  638. package/dist/server/currentDocument.d.ts +9 -0
  639. package/dist/server/currentDocument.d.ts.map +1 -0
  640. package/dist/server/currentDocument.js +16 -0
  641. package/dist/server/currentDocument.js.map +1 -0
  642. package/dist/server/diagnostics/daemon.d.ts +93 -1
  643. package/dist/server/diagnostics/daemon.d.ts.map +1 -1
  644. package/dist/server/diagnostics/daemon.js +28 -14
  645. package/dist/server/diagnostics/daemon.js.map +1 -1
  646. package/dist/server/document/answerBody.d.ts +4 -0
  647. package/dist/server/document/answerBody.d.ts.map +1 -0
  648. package/dist/server/document/answerBody.js +84 -0
  649. package/dist/server/document/answerBody.js.map +1 -0
  650. package/dist/server/document/read.d.ts +17 -2
  651. package/dist/server/document/read.d.ts.map +1 -1
  652. package/dist/server/document/read.js +20 -12
  653. package/dist/server/document/read.js.map +1 -1
  654. package/dist/server/document/readingContext.d.ts +4 -2
  655. package/dist/server/document/readingContext.d.ts.map +1 -1
  656. package/dist/server/document/readingContext.js +12 -4
  657. package/dist/server/document/readingContext.js.map +1 -1
  658. package/dist/server/document/requestTitle.d.ts +4 -0
  659. package/dist/server/document/requestTitle.d.ts.map +1 -0
  660. package/dist/server/document/requestTitle.js +8 -0
  661. package/dist/server/document/requestTitle.js.map +1 -0
  662. package/dist/server/document/requests.d.ts.map +1 -1
  663. package/dist/server/document/requests.js +43 -3
  664. package/dist/server/document/requests.js.map +1 -1
  665. package/dist/server/files/watchDirectories.d.ts.map +1 -1
  666. package/dist/server/files/watchDirectories.js +1 -1
  667. package/dist/server/files/watchDirectories.js.map +1 -1
  668. package/dist/server/http/assets.d.ts.map +1 -1
  669. package/dist/server/http/assets.js +2 -2
  670. package/dist/server/http/assets.js.map +1 -1
  671. package/dist/server/http/boardRoutes.d.ts.map +1 -1
  672. package/dist/server/http/boardRoutes.js +20 -18
  673. package/dist/server/http/boardRoutes.js.map +1 -1
  674. package/dist/server/http/identity.d.ts +1 -1
  675. package/dist/server/http/identity.d.ts.map +1 -1
  676. package/dist/server/http/identity.js +16 -25
  677. package/dist/server/http/identity.js.map +1 -1
  678. package/dist/server/http/page.d.ts +1 -1
  679. package/dist/server/http/page.d.ts.map +1 -1
  680. package/dist/server/http/page.js +25 -61
  681. package/dist/server/http/page.js.map +1 -1
  682. package/dist/server/http/rpcPolicy.d.ts +1 -0
  683. package/dist/server/http/rpcPolicy.d.ts.map +1 -1
  684. package/dist/server/http/rpcPolicy.js +1 -0
  685. package/dist/server/http/rpcPolicy.js.map +1 -1
  686. package/dist/server/integration/attention.d.ts +4 -0
  687. package/dist/server/integration/attention.d.ts.map +1 -1
  688. package/dist/server/integration/attention.js +2 -0
  689. package/dist/server/integration/attention.js.map +1 -1
  690. package/dist/server/integration/diagnostics.d.ts +38 -0
  691. package/dist/server/integration/diagnostics.d.ts.map +1 -1
  692. package/dist/server/integration/diagnostics.js +3 -0
  693. package/dist/server/integration/diagnostics.js.map +1 -1
  694. package/dist/server/mcp/client.d.ts +2022 -0
  695. package/dist/server/mcp/client.d.ts.map +1 -0
  696. package/dist/server/mcp/client.js +33 -0
  697. package/dist/server/mcp/client.js.map +1 -0
  698. package/dist/server/mcp/queries.d.ts +6415 -0
  699. package/dist/server/mcp/queries.d.ts.map +1 -0
  700. package/dist/server/mcp/queries.js +50 -0
  701. package/dist/server/mcp/queries.js.map +1 -0
  702. package/dist/server/mcp/run.d.ts +2 -0
  703. package/dist/server/mcp/run.d.ts.map +1 -0
  704. package/dist/server/mcp/run.js +21 -0
  705. package/dist/server/mcp/run.js.map +1 -0
  706. package/dist/server/mcp/schema.d.ts +315 -0
  707. package/dist/server/mcp/schema.d.ts.map +1 -0
  708. package/dist/server/mcp/schema.js +42 -0
  709. package/dist/server/mcp/schema.js.map +1 -0
  710. package/dist/server/mcp/tools.d.ts +3 -0
  711. package/dist/server/mcp/tools.d.ts.map +1 -0
  712. package/dist/server/mcp/tools.js +28 -0
  713. package/dist/server/mcp/tools.js.map +1 -0
  714. package/dist/server/metadata/backlinks.d.ts.map +1 -1
  715. package/dist/server/metadata/backlinks.js +21 -5
  716. package/dist/server/metadata/backlinks.js.map +1 -1
  717. package/dist/server/metadata/fields.d.ts +1 -1
  718. package/dist/server/metadata/fields.d.ts.map +1 -1
  719. package/dist/server/metadata/fields.js +7 -0
  720. package/dist/server/metadata/fields.js.map +1 -1
  721. package/dist/server/metadata/sourceLinks.js +2 -2
  722. package/dist/server/metadata/sourceLinks.js.map +1 -1
  723. package/dist/server/navigation/libraryData.d.ts +6 -0
  724. package/dist/server/navigation/libraryData.d.ts.map +1 -0
  725. package/dist/server/navigation/libraryData.js +36 -0
  726. package/dist/server/navigation/libraryData.js.map +1 -0
  727. package/dist/server/navigation/model.d.ts +2 -2
  728. package/dist/server/navigation/model.d.ts.map +1 -1
  729. package/dist/server/navigation/model.js +13 -55
  730. package/dist/server/navigation/model.js.map +1 -1
  731. package/dist/server/packageInfo.d.ts +3 -0
  732. package/dist/server/packageInfo.d.ts.map +1 -0
  733. package/dist/server/packageInfo.js +3 -0
  734. package/dist/server/packageInfo.js.map +1 -0
  735. package/dist/server/page/initialTheme.d.ts +3 -0
  736. package/dist/server/page/initialTheme.d.ts.map +1 -0
  737. package/dist/server/page/initialTheme.js +14 -0
  738. package/dist/server/page/initialTheme.js.map +1 -0
  739. package/dist/server/page/shell.d.ts +1 -2
  740. package/dist/server/page/shell.d.ts.map +1 -1
  741. package/dist/server/page/shell.js +5 -32
  742. package/dist/server/page/shell.js.map +1 -1
  743. package/dist/server/page/startTemplates.d.ts +3 -3
  744. package/dist/server/page/startTemplates.js +3 -3
  745. package/dist/server/responseIndex.d.ts +20 -0
  746. package/dist/server/responseIndex.d.ts.map +1 -0
  747. package/dist/server/responseIndex.js +73 -0
  748. package/dist/server/responseIndex.js.map +1 -0
  749. package/dist/server/responses/history.d.ts.map +1 -1
  750. package/dist/server/responses/history.js +5 -7
  751. package/dist/server/responses/history.js.map +1 -1
  752. package/dist/server/responses/locate.d.ts.map +1 -1
  753. package/dist/server/responses/locate.js +3 -6
  754. package/dist/server/responses/locate.js.map +1 -1
  755. package/dist/server/responses/optionPrompt.js +1 -1
  756. package/dist/server/responses/optionPrompt.js.map +1 -1
  757. package/dist/server/responses/read.d.ts.map +1 -1
  758. package/dist/server/responses/read.js +7 -6
  759. package/dist/server/responses/read.js.map +1 -1
  760. package/dist/server/rpc/HandlerOptions.d.ts +4 -0
  761. package/dist/server/rpc/HandlerOptions.d.ts.map +1 -1
  762. package/dist/server/rpc/handlers.d.ts +1 -1
  763. package/dist/server/rpc/handlers.d.ts.map +1 -1
  764. package/dist/server/rpc/handlers.js +15 -10
  765. package/dist/server/rpc/handlers.js.map +1 -1
  766. package/dist/server/search/entries.d.ts +5 -0
  767. package/dist/server/search/entries.d.ts.map +1 -1
  768. package/dist/server/search/entries.js.map +1 -1
  769. package/dist/server/search/match.d.ts +6 -1
  770. package/dist/server/search/match.d.ts.map +1 -1
  771. package/dist/server/search/match.js +41 -11
  772. package/dist/server/search/match.js.map +1 -1
  773. package/dist/server/search/metadataEntries.d.ts +1 -1
  774. package/dist/server/search/metadataEntries.d.ts.map +1 -1
  775. package/dist/server/search/metadataEntries.js +23 -5
  776. package/dist/server/search/metadataEntries.js.map +1 -1
  777. package/dist/server/search/snippet.d.ts +2 -0
  778. package/dist/server/search/snippet.d.ts.map +1 -0
  779. package/dist/server/search/snippet.js +10 -0
  780. package/dist/server/search/snippet.js.map +1 -0
  781. package/dist/server/search/updateEntries.d.ts.map +1 -1
  782. package/dist/server/search/updateEntries.js +6 -2
  783. package/dist/server/search/updateEntries.js.map +1 -1
  784. package/dist/server/serve-cli.d.ts.map +1 -1
  785. package/dist/server/serve-cli.js +1 -1
  786. package/dist/server/serve-cli.js.map +1 -1
  787. package/dist/server/serve.d.ts +3 -2
  788. package/dist/server/serve.d.ts.map +1 -1
  789. package/dist/server/serve.js +19 -7
  790. package/dist/server/serve.js.map +1 -1
  791. package/dist/server/views/fleetApproval.d.ts +3 -0
  792. package/dist/server/views/fleetApproval.d.ts.map +1 -0
  793. package/dist/server/views/fleetApproval.js +11 -0
  794. package/dist/server/views/fleetApproval.js.map +1 -0
  795. package/dist/server/views/fleetItems.d.ts +5 -0
  796. package/dist/server/views/fleetItems.d.ts.map +1 -0
  797. package/dist/server/views/fleetItems.js +24 -0
  798. package/dist/server/views/fleetItems.js.map +1 -0
  799. package/dist/server/views/goals.d.ts +5 -0
  800. package/dist/server/views/goals.d.ts.map +1 -0
  801. package/dist/server/views/goals.js +53 -0
  802. package/dist/server/views/goals.js.map +1 -0
  803. package/dist/server/views/projection.d.ts.map +1 -1
  804. package/dist/server/views/projection.js +3 -2
  805. package/dist/server/views/projection.js.map +1 -1
  806. package/dist/server/views/projectionQueries.d.ts +83 -24
  807. package/dist/server/views/projectionQueries.d.ts.map +1 -1
  808. package/dist/server/views/projectionQueries.js +12 -29
  809. package/dist/server/views/projectionQueries.js.map +1 -1
  810. package/dist/server/views/remainingQueries.d.ts +42 -5
  811. package/dist/server/views/remainingQueries.d.ts.map +1 -1
  812. package/dist/server/views/resultProjection.d.ts +32 -2
  813. package/dist/server/views/resultProjection.d.ts.map +1 -1
  814. package/dist/server/views/state.d.ts +1 -1
  815. package/docs/delivery/attention-examples.md +4 -4
  816. package/docs/delivery/browser-acceptance.md +15 -43
  817. package/docs/delivery/handoff-examples.md +1 -1
  818. package/docs/delivery/reading-review.md +1 -1
  819. package/docs/delivery/response-write-examples.md +1 -1
  820. package/docs/delivery/source-examples.md +2 -2
  821. package/docs/delivery/visual-document-examples.md +2 -2
  822. package/docs/delivery/wave1.md +3 -8
  823. package/docs/images/answer-card/desktop.png +0 -0
  824. package/docs/images/answer-card/mobile.png +0 -0
  825. package/docs/images/command-palette/commands-1440.png +0 -0
  826. package/docs/images/command-palette/commands-390.png +0 -0
  827. package/docs/images/command-palette/goal-id-1440.png +0 -0
  828. package/docs/images/command-palette/goal-id-390.png +0 -0
  829. package/docs/images/command-palette/goal-title-1440.png +0 -0
  830. package/docs/images/command-palette/goal-title-390.png +0 -0
  831. package/docs/images/command-palette/identity-1440.png +0 -0
  832. package/docs/images/command-palette/identity-390.png +0 -0
  833. package/docs/images/command-palette/inbox-1440.png +0 -0
  834. package/docs/images/command-palette/inbox-390.png +0 -0
  835. package/docs/images/command-palette/record-items-1440.png +0 -0
  836. package/docs/images/command-palette/record-items-390.png +0 -0
  837. package/docs/images/command-palette/records-1440.png +0 -0
  838. package/docs/images/command-palette/records-390.png +0 -0
  839. package/docs/images/command-palette/watch-1440.png +0 -0
  840. package/docs/images/command-palette/watch-390.png +0 -0
  841. package/docs/images/command-palette/watch-records-1440.png +0 -0
  842. package/docs/images/command-palette/watch-records-390.png +0 -0
  843. package/docs/images/current-views/handoff-1440.png +0 -0
  844. package/docs/images/current-views/handoff-390.png +0 -0
  845. package/docs/images/current-views/result-1440.png +0 -0
  846. package/docs/images/current-views/result-390.png +0 -0
  847. package/docs/images/current-views/start-1440.png +0 -0
  848. package/docs/images/current-views/start-390.png +0 -0
  849. package/docs/images/current-views/system-1440.png +0 -0
  850. package/docs/images/current-views/system-390.png +0 -0
  851. package/docs/images/goal-page/desktop.png +0 -0
  852. package/docs/images/goal-page/narrow.png +0 -0
  853. package/docs/images/item-overview/goal-1440.png +0 -0
  854. package/docs/images/item-overview/goal-390.png +0 -0
  855. package/docs/images/item-overview/plain-1440.png +0 -0
  856. package/docs/images/item-overview/plain-390.png +0 -0
  857. package/docs/images/item-overview/report-1440.png +0 -0
  858. package/docs/images/item-overview/report-390.png +0 -0
  859. package/docs/images/item-overview/task-1440.png +0 -0
  860. package/docs/images/item-overview/task-390.png +0 -0
  861. package/docs/images/library-1440.png +0 -0
  862. package/docs/images/library-390.png +0 -0
  863. package/docs/images/now-desktop.png +0 -0
  864. package/docs/images/now-mobile.png +0 -0
  865. package/docs/images/print-full-width.png +0 -0
  866. package/docs/images/shell-1440-dark.png +0 -0
  867. package/docs/images/shell-1440-light.png +0 -0
  868. package/docs/images/shell-390-dark.png +0 -0
  869. package/docs/images/shell-390-light.png +0 -0
  870. package/docs/images/sidebar-1440.png +0 -0
  871. package/docs/images/sidebar-390-dark.png +0 -0
  872. package/docs/images/sidebar-390-light.png +0 -0
  873. package/docs/images/sidebar-390.png +0 -0
  874. package/docs/north-star.md +5 -1
  875. package/docs/roadmap.md +9 -31
  876. package/docs/screenshots/today-1440.png +0 -0
  877. package/docs/screenshots/today-390.png +0 -0
  878. package/package.json +29 -39
  879. package/src/browser/Navigation.ts +8 -0
  880. package/src/browser/document/ReadingContext.ts +9 -1
  881. package/src/browser/document/schema.ts +5 -0
  882. package/src/browser/document/sourceGroups.ts +52 -0
  883. package/src/browser/navigation/library.ts +25 -0
  884. package/src/browser/responses/cardContext.ts +50 -0
  885. package/src/browser/responses/reasonMarkdown.ts +5 -0
  886. package/src/browser/views/FleetItemsProjection.ts +14 -0
  887. package/src/browser/views/GoalsProjection.ts +23 -0
  888. package/src/browser/views/goalWorkState.ts +17 -0
  889. package/src/browser/views/now.ts +93 -0
  890. package/src/browser/views/schema.ts +19 -34
  891. package/src/browser/views/state.ts +2 -2
  892. package/src/client/document/Mermaid.ts +4 -3
  893. package/src/client/document/View.ts +38 -10
  894. package/src/client/document/boardLayout.ts +9 -3
  895. package/src/client/document/layout.ts +1 -1
  896. package/src/client/document/mermaidColor.ts +19 -0
  897. package/src/client/formFocus.ts +1 -2
  898. package/src/client/page/routeQuery.ts +4 -0
  899. package/src/client/react/Age.tsx +8 -1
  900. package/src/client/react/AnswerContext.tsx +29 -0
  901. package/src/client/react/AnswerForm.tsx +33 -49
  902. package/src/client/react/AnswerMore.tsx +67 -0
  903. package/src/client/react/AnswerPanel.tsx +56 -28
  904. package/src/client/react/AnswerPrompts.tsx +16 -6
  905. package/src/client/react/BoardMain.tsx +1 -1
  906. package/src/client/react/BoardShell.tsx +24 -29
  907. package/src/client/react/DocumentAttention.tsx +9 -8
  908. package/src/client/react/DocumentClaims.tsx +10 -10
  909. package/src/client/react/DocumentContext.tsx +36 -25
  910. package/src/client/react/DocumentCriteria.tsx +18 -10
  911. package/src/client/react/DocumentEvidence.tsx +1 -3
  912. package/src/client/react/DocumentMain.tsx +8 -5
  913. package/src/client/react/DocumentMetadata.tsx +13 -11
  914. package/src/client/react/DocumentPage.tsx +15 -21
  915. package/src/client/react/DocumentRecords.tsx +1 -1
  916. package/src/client/react/DocumentRelationships.tsx +59 -0
  917. package/src/client/react/DocumentSource.tsx +30 -0
  918. package/src/client/react/DocumentWorkMetadata.tsx +9 -91
  919. package/src/client/react/FleetItemsContext.ts +3 -0
  920. package/src/client/react/FleetMain.tsx +13 -0
  921. package/src/client/react/FormField.tsx +7 -3
  922. package/src/client/react/GoalCriteria.tsx +59 -0
  923. package/src/client/react/GoalOverviewCard.tsx +48 -0
  924. package/src/client/react/GoalPage.tsx +22 -0
  925. package/src/client/react/GoalProgress.tsx +45 -0
  926. package/src/client/react/GoalProgressHeader.tsx +35 -0
  927. package/src/client/react/GoalProgressSummary.tsx +13 -0
  928. package/src/client/react/GoalWorkTable.tsx +82 -0
  929. package/src/client/react/GoalsPage.tsx +30 -0
  930. package/src/client/react/HandoffForm.tsx +8 -6
  931. package/src/client/react/HandoffPage.tsx +6 -5
  932. package/src/client/react/HandoffPrompt.tsx +11 -3
  933. package/src/client/react/Header.tsx +71 -45
  934. package/src/client/react/HomeBoard.tsx +8 -7
  935. package/src/client/react/ItemSummary.tsx +80 -0
  936. package/src/client/react/KeyboardHints.tsx +7 -0
  937. package/src/client/react/LibraryContents.tsx +82 -0
  938. package/src/client/react/LibraryMain.tsx +25 -0
  939. package/src/client/react/LibraryPage.tsx +74 -0
  940. package/src/client/react/LiveControls.tsx +8 -4
  941. package/src/client/react/Modal.tsx +3 -0
  942. package/src/client/react/PhoneNavigation.tsx +84 -0
  943. package/src/client/react/PrChip.tsx +13 -0
  944. package/src/client/react/ProjectionFrame.tsx +14 -21
  945. package/src/client/react/ProjectionMain.tsx +11 -21
  946. package/src/client/react/PromptOption.tsx +17 -17
  947. package/src/client/react/ReadingHistory.tsx +72 -0
  948. package/src/client/react/ReadingLibrary.tsx +9 -57
  949. package/src/client/react/ReadingPanel.tsx +14 -0
  950. package/src/client/react/Reference.tsx +13 -1
  951. package/src/client/react/RemainingMain.tsx +16 -6
  952. package/src/client/react/RespondPage.tsx +4 -37
  953. package/src/client/react/ResponseHistory.tsx +8 -2
  954. package/src/client/react/ResultCriteria.tsx +10 -11
  955. package/src/client/react/ResultPage.tsx +6 -4
  956. package/src/client/react/SearchDialog.tsx +14 -105
  957. package/src/client/react/SearchPalette.tsx +129 -0
  958. package/src/client/react/SearchResults.tsx +6 -3
  959. package/src/client/react/SettingsPopover.tsx +43 -0
  960. package/src/client/react/ShellApi.ts +3 -2
  961. package/src/client/react/Sidebar.tsx +83 -63
  962. package/src/client/react/SourceList.tsx +44 -0
  963. package/src/client/react/StartPage.tsx +13 -5
  964. package/src/client/react/SystemFleetLane.tsx +40 -0
  965. package/src/client/react/SystemHealth.tsx +64 -0
  966. package/src/client/react/SystemMain.tsx +29 -0
  967. package/src/client/react/SystemPage.tsx +89 -0
  968. package/src/client/react/TodayGoals.tsx +52 -0
  969. package/src/client/react/TodayNeeds.tsx +54 -0
  970. package/src/client/react/TodayOptions.tsx +116 -0
  971. package/src/client/react/TodayPage.tsx +69 -0
  972. package/src/client/react/TodayProgress.tsx +58 -0
  973. package/src/client/react/UpdatesToggle.tsx +6 -3
  974. package/src/client/react/VisualViewer.tsx +3 -1
  975. package/src/client/react/WorkCard.tsx +38 -0
  976. package/src/client/react/WorkCardList.tsx +30 -0
  977. package/src/client/react/WorkCards.tsx +21 -33
  978. package/src/client/react/WorkControls.tsx +1 -3
  979. package/src/client/react/WorkDetail.tsx +3 -2
  980. package/src/client/react/WorkLane.tsx +39 -0
  981. package/src/client/react/WorkNow.tsx +35 -0
  982. package/src/client/react/WorkPage.tsx +24 -17
  983. package/src/client/react/WorkResults.tsx +4 -0
  984. package/src/client/react/WorkTable.tsx +37 -11
  985. package/src/client/react/WorkTools.tsx +13 -11
  986. package/src/client/react/activeRead.ts +8 -4
  987. package/src/client/react/command-palette.css +59 -0
  988. package/src/client/react/components/ui/Badge.tsx +11 -0
  989. package/src/client/react/components/ui/Button.tsx +8 -0
  990. package/src/client/react/components/ui/Card.tsx +5 -0
  991. package/src/client/react/components/ui/Command.tsx +64 -0
  992. package/src/client/react/components/ui/Popover.tsx +87 -0
  993. package/src/client/react/components/ui/SegmentedBar.tsx +40 -0
  994. package/src/client/react/components/ui/Sheet.tsx +14 -0
  995. package/src/client/react/components/ui/StatusChip.tsx +31 -0
  996. package/src/client/react/components/ui/StatusSegments.tsx +56 -0
  997. package/src/client/react/components/ui/Tabs.tsx +70 -0
  998. package/src/client/react/components/ui/Tooltip.tsx +17 -0
  999. package/src/client/react/components/ui/buttonVariants.ts +16 -0
  1000. package/src/client/react/components/ui/statusPresentation.ts +32 -0
  1001. package/src/client/react/diagnosticsValues.tsx +3 -3
  1002. package/src/client/react/documentRoute.ts +3 -3
  1003. package/src/client/react/entry.css +239 -22
  1004. package/src/client/react/entry.tsx +3 -7
  1005. package/src/client/react/goalWork.ts +21 -0
  1006. package/src/client/react/inProgressItems.ts +5 -0
  1007. package/src/client/react/loadBoardPage.ts +34 -4
  1008. package/src/client/react/loadProjection.ts +3 -4
  1009. package/src/client/react/loadRemaining.ts +9 -4
  1010. package/src/client/react/mainLocation.ts +8 -7
  1011. package/src/client/react/pageQueries.ts +42 -0
  1012. package/src/client/react/projectionChanges.ts +5 -3
  1013. package/src/client/react/projectionRoute.ts +5 -8
  1014. package/src/client/react/readerLink.ts +1 -1
  1015. package/src/client/react/readingLibrary.ts +2 -1
  1016. package/src/client/react/readingPassage.ts +40 -0
  1017. package/src/client/react/readingState.ts +1 -30
  1018. package/src/client/react/remainingRoute.ts +6 -4
  1019. package/src/client/react/retryPage.ts +15 -0
  1020. package/src/client/react/scheduleReading.ts +15 -10
  1021. package/src/client/react/searchCommands.ts +26 -1
  1022. package/src/client/react/shellIds.ts +2 -4
  1023. package/src/client/react/useAppearance.ts +1 -0
  1024. package/src/client/react/useBoardNavigation.ts +11 -16
  1025. package/src/client/react/useDiagnosticsPolling.ts +5 -2
  1026. package/src/client/react/useDocumentPage.ts +5 -2
  1027. package/src/client/react/useFormFocus.ts +22 -16
  1028. package/src/client/react/useProjectionData.ts +26 -0
  1029. package/src/client/react/useResponseForm.ts +20 -22
  1030. package/src/client/react/useVirtualRows.ts +14 -0
  1031. package/src/client/react/workspaceDestinations.ts +7 -0
  1032. package/src/client/responses/summary.ts +6 -6
  1033. package/src/diagnostics/daemonContract.ts +5 -1
  1034. package/src/diagnostics/fleetItems.ts +26 -0
  1035. package/src/metadata/schema.ts +3 -1
  1036. package/src/render/visual.ts +7 -5
  1037. package/src/rpc/PageUrl.ts +32 -0
  1038. package/src/rpc/Server.ts +3 -0
  1039. package/src/rpc/contract.ts +25 -48
  1040. package/src/rpc/pageKeys.ts +1 -1
  1041. package/src/server/attention/inbox.ts +21 -31
  1042. package/src/server/attention/managedRequestReceipt.ts +17 -15
  1043. package/src/server/attention/projection.ts +32 -0
  1044. package/src/server/attention/questionState.ts +15 -26
  1045. package/src/server/attention/requestInbox.ts +61 -0
  1046. package/src/server/attention/requests.ts +18 -1
  1047. package/src/server/attention/status.ts +15 -0
  1048. package/src/server/board.ts +1 -1
  1049. package/src/server/boardRuntime.ts +4 -1
  1050. package/src/server/boardSocket.ts +81 -0
  1051. package/src/server/cli.ts +4 -1
  1052. package/src/server/currentDocument.ts +23 -0
  1053. package/src/server/diagnostics/daemon.ts +34 -14
  1054. package/src/server/document/answerBody.ts +96 -0
  1055. package/src/server/document/read.ts +26 -16
  1056. package/src/server/document/readingContext.ts +18 -7
  1057. package/src/server/document/requestTitle.ts +10 -0
  1058. package/src/server/document/requests.ts +46 -3
  1059. package/src/server/files/watchDirectories.ts +3 -0
  1060. package/src/server/http/assets.ts +2 -2
  1061. package/src/server/http/boardRoutes.ts +22 -21
  1062. package/src/server/http/identity.ts +15 -54
  1063. package/src/server/http/page.ts +25 -81
  1064. package/src/server/http/rpcPolicy.ts +2 -0
  1065. package/src/server/integration/attention.ts +5 -0
  1066. package/src/server/integration/diagnostics.ts +3 -0
  1067. package/src/server/mcp/client.ts +43 -0
  1068. package/src/server/mcp/queries.ts +60 -0
  1069. package/src/server/mcp/run.ts +37 -0
  1070. package/src/server/mcp/schema.ts +46 -0
  1071. package/src/server/mcp/tools.ts +37 -0
  1072. package/src/server/metadata/backlinks.ts +23 -7
  1073. package/src/server/metadata/fields.ts +7 -0
  1074. package/src/server/metadata/sourceLinks.ts +2 -2
  1075. package/src/server/navigation/libraryData.ts +43 -0
  1076. package/src/server/navigation/model.ts +14 -69
  1077. package/src/server/packageInfo.ts +2 -0
  1078. package/src/server/page/initialTheme.ts +13 -0
  1079. package/src/server/page/shell.ts +5 -43
  1080. package/src/server/page/startTemplates.ts +3 -3
  1081. package/src/server/responseIndex.ts +97 -0
  1082. package/src/server/responses/history.ts +5 -7
  1083. package/src/server/responses/locate.ts +3 -6
  1084. package/src/server/responses/optionPrompt.ts +1 -1
  1085. package/src/server/responses/read.ts +12 -7
  1086. package/src/server/rpc/HandlerOptions.ts +4 -0
  1087. package/src/server/rpc/handlers.ts +18 -10
  1088. package/src/server/search/entries.ts +5 -0
  1089. package/src/server/search/match.ts +46 -11
  1090. package/src/server/search/metadataEntries.ts +30 -5
  1091. package/src/server/search/snippet.ts +9 -0
  1092. package/src/server/search/updateEntries.ts +6 -2
  1093. package/src/server/serve-cli.ts +1 -2
  1094. package/src/server/serve.ts +28 -13
  1095. package/src/server/views/fleetApproval.ts +12 -0
  1096. package/src/server/views/fleetItems.ts +28 -0
  1097. package/src/server/views/goals.ts +63 -0
  1098. package/src/server/views/projection.ts +3 -2
  1099. package/src/server/views/projectionQueries.ts +13 -31
  1100. package/dist/browser/navigation/html.d.ts +0 -3
  1101. package/dist/browser/navigation/html.d.ts.map +0 -1
  1102. package/dist/browser/navigation/html.js +0 -25
  1103. package/dist/browser/navigation/html.js.map +0 -1
  1104. package/dist/browser/navigation/schema.d.ts +0 -47
  1105. package/dist/browser/navigation/schema.d.ts.map +0 -1
  1106. package/dist/browser/navigation/schema.js +0 -24
  1107. package/dist/browser/navigation/schema.js.map +0 -1
  1108. package/dist/client/mockups/app.d.ts +0 -2
  1109. package/dist/client/mockups/app.d.ts.map +0 -1
  1110. package/dist/client/mockups/app.js +0 -111
  1111. package/dist/client/mockups/app.js.map +0 -1
  1112. package/dist/client/mockups/element.d.ts +0 -2
  1113. package/dist/client/mockups/element.d.ts.map +0 -1
  1114. package/dist/client/mockups/element.js +0 -8
  1115. package/dist/client/mockups/element.js.map +0 -1
  1116. package/dist/client/mockups/sampleData.d.ts +0 -20
  1117. package/dist/client/mockups/sampleData.d.ts.map +0 -1
  1118. package/dist/client/mockups/sampleData.js +0 -82
  1119. package/dist/client/mockups/sampleData.js.map +0 -1
  1120. package/dist/client/mockups/work.d.ts +0 -3
  1121. package/dist/client/mockups/work.d.ts.map +0 -1
  1122. package/dist/client/mockups/work.js +0 -84
  1123. package/dist/client/mockups/work.js.map +0 -1
  1124. package/dist/client/react/ChangesMain.d.ts +0 -8
  1125. package/dist/client/react/ChangesMain.d.ts.map +0 -1
  1126. package/dist/client/react/ChangesMain.js +0 -24
  1127. package/dist/client/react/ChangesMain.js.map +0 -1
  1128. package/dist/client/react/DiagnosticsFleet.d.ts +0 -6
  1129. package/dist/client/react/DiagnosticsFleet.d.ts.map +0 -1
  1130. package/dist/client/react/DiagnosticsFleet.js +0 -16
  1131. package/dist/client/react/DiagnosticsFleet.js.map +0 -1
  1132. package/dist/client/react/DiagnosticsMain.d.ts +0 -8
  1133. package/dist/client/react/DiagnosticsMain.d.ts.map +0 -1
  1134. package/dist/client/react/DiagnosticsMain.js +0 -11
  1135. package/dist/client/react/DiagnosticsMain.js.map +0 -1
  1136. package/dist/client/react/DiagnosticsPage.d.ts +0 -5
  1137. package/dist/client/react/DiagnosticsPage.d.ts.map +0 -1
  1138. package/dist/client/react/DiagnosticsPage.js +0 -23
  1139. package/dist/client/react/DiagnosticsPage.js.map +0 -1
  1140. package/dist/client/react/HistoryComparison.d.ts +0 -5
  1141. package/dist/client/react/HistoryComparison.d.ts.map +0 -1
  1142. package/dist/client/react/HistoryComparison.js +0 -14
  1143. package/dist/client/react/HistoryComparison.js.map +0 -1
  1144. package/dist/client/react/HistoryRetention.d.ts +0 -5
  1145. package/dist/client/react/HistoryRetention.d.ts.map +0 -1
  1146. package/dist/client/react/HistoryRetention.js +0 -28
  1147. package/dist/client/react/HistoryRetention.js.map +0 -1
  1148. package/dist/client/react/InboxPage.d.ts +0 -5
  1149. package/dist/client/react/InboxPage.d.ts.map +0 -1
  1150. package/dist/client/react/InboxPage.js +0 -18
  1151. package/dist/client/react/InboxPage.js.map +0 -1
  1152. package/dist/client/react/NavigationTree.d.ts +0 -6
  1153. package/dist/client/react/NavigationTree.d.ts.map +0 -1
  1154. package/dist/client/react/NavigationTree.js +0 -29
  1155. package/dist/client/react/NavigationTree.js.map +0 -1
  1156. package/dist/client/react/OverviewGroups.d.ts +0 -5
  1157. package/dist/client/react/OverviewGroups.d.ts.map +0 -1
  1158. package/dist/client/react/OverviewGroups.js +0 -18
  1159. package/dist/client/react/OverviewGroups.js.map +0 -1
  1160. package/dist/client/react/OverviewPage.d.ts +0 -5
  1161. package/dist/client/react/OverviewPage.d.ts.map +0 -1
  1162. package/dist/client/react/OverviewPage.js +0 -16
  1163. package/dist/client/react/OverviewPage.js.map +0 -1
  1164. package/dist/client/react/historyStore.d.ts +0 -7
  1165. package/dist/client/react/historyStore.d.ts.map +0 -1
  1166. package/dist/client/react/historyStore.js +0 -61
  1167. package/dist/client/react/historyStore.js.map +0 -1
  1168. package/dist/client/react/pageQuery.d.ts +0 -5
  1169. package/dist/client/react/pageQuery.d.ts.map +0 -1
  1170. package/dist/client/react/pageQuery.js +0 -35
  1171. package/dist/client/react/pageQuery.js.map +0 -1
  1172. package/dist/client/react/useHistoryComparison.d.ts +0 -33
  1173. package/dist/client/react/useHistoryComparison.d.ts.map +0 -1
  1174. package/dist/client/react/useHistoryComparison.js +0 -146
  1175. package/dist/client/react/useHistoryComparison.js.map +0 -1
  1176. package/dist/history/schema.d.ts +0 -57
  1177. package/dist/history/schema.d.ts.map +0 -1
  1178. package/dist/history/schema.js +0 -31
  1179. package/dist/history/schema.js.map +0 -1
  1180. package/dist/server/attention/inboxHtml.d.ts +0 -4
  1181. package/dist/server/attention/inboxHtml.d.ts.map +0 -1
  1182. package/dist/server/attention/inboxHtml.js +0 -48
  1183. package/dist/server/attention/inboxHtml.js.map +0 -1
  1184. package/dist/server/attention/overviewHtml.d.ts +0 -3
  1185. package/dist/server/attention/overviewHtml.d.ts.map +0 -1
  1186. package/dist/server/attention/overviewHtml.js +0 -43
  1187. package/dist/server/attention/overviewHtml.js.map +0 -1
  1188. package/dist/server/attention/style.d.ts +0 -2
  1189. package/dist/server/attention/style.d.ts.map +0 -1
  1190. package/dist/server/attention/style.js +0 -10
  1191. package/dist/server/attention/style.js.map +0 -1
  1192. package/dist/server/diagnostics/style.d.ts +0 -2
  1193. package/dist/server/diagnostics/style.d.ts.map +0 -1
  1194. package/dist/server/diagnostics/style.js +0 -20
  1195. package/dist/server/diagnostics/style.js.map +0 -1
  1196. package/dist/server/history/baseline.d.ts +0 -19
  1197. package/dist/server/history/baseline.d.ts.map +0 -1
  1198. package/dist/server/history/baseline.js +0 -40
  1199. package/dist/server/history/baseline.js.map +0 -1
  1200. package/dist/server/history/compare.d.ts +0 -14
  1201. package/dist/server/history/compare.d.ts.map +0 -1
  1202. package/dist/server/history/compare.js +0 -47
  1203. package/dist/server/history/compare.js.map +0 -1
  1204. package/dist/server/history/documents.d.ts +0 -10
  1205. package/dist/server/history/documents.d.ts.map +0 -1
  1206. package/dist/server/history/documents.js +0 -15
  1207. package/dist/server/history/documents.js.map +0 -1
  1208. package/dist/server/history/fields.d.ts +0 -3
  1209. package/dist/server/history/fields.d.ts.map +0 -1
  1210. package/dist/server/history/fields.js +0 -27
  1211. package/dist/server/history/fields.js.map +0 -1
  1212. package/dist/server/history/html.d.ts +0 -3
  1213. package/dist/server/history/html.d.ts.map +0 -1
  1214. package/dist/server/history/html.js +0 -19
  1215. package/dist/server/history/html.js.map +0 -1
  1216. package/dist/server/history/limits.d.ts +0 -3
  1217. package/dist/server/history/limits.d.ts.map +0 -1
  1218. package/dist/server/history/limits.js +0 -3
  1219. package/dist/server/history/limits.js.map +0 -1
  1220. package/dist/server/history/response.d.ts +0 -4
  1221. package/dist/server/history/response.d.ts.map +0 -1
  1222. package/dist/server/history/response.js +0 -33
  1223. package/dist/server/history/response.js.map +0 -1
  1224. package/dist/server/http/inbox.d.ts +0 -5
  1225. package/dist/server/http/inbox.d.ts.map +0 -1
  1226. package/dist/server/http/inbox.js +0 -12
  1227. package/dist/server/http/inbox.js.map +0 -1
  1228. package/dist/server/http/overview.d.ts +0 -5
  1229. package/dist/server/http/overview.d.ts.map +0 -1
  1230. package/dist/server/http/overview.js +0 -13
  1231. package/dist/server/http/overview.js.map +0 -1
  1232. package/dist/server/http/work.d.ts +0 -6
  1233. package/dist/server/http/work.d.ts.map +0 -1
  1234. package/dist/server/http/work.js +0 -22
  1235. package/dist/server/http/work.js.map +0 -1
  1236. package/dist/server/page/attentionDetails.d.ts +0 -4
  1237. package/dist/server/page/attentionDetails.d.ts.map +0 -1
  1238. package/dist/server/page/attentionDetails.js +0 -24
  1239. package/dist/server/page/attentionDetails.js.map +0 -1
  1240. package/dist/server/page/backlinksHtml.d.ts +0 -3
  1241. package/dist/server/page/backlinksHtml.d.ts.map +0 -1
  1242. package/dist/server/page/backlinksHtml.js +0 -16
  1243. package/dist/server/page/backlinksHtml.js.map +0 -1
  1244. package/dist/server/page/boardHtml.d.ts +0 -4
  1245. package/dist/server/page/boardHtml.d.ts.map +0 -1
  1246. package/dist/server/page/boardHtml.js +0 -45
  1247. package/dist/server/page/boardHtml.js.map +0 -1
  1248. package/dist/server/page/criteriaEvidence.d.ts +0 -4
  1249. package/dist/server/page/criteriaEvidence.d.ts.map +0 -1
  1250. package/dist/server/page/criteriaEvidence.js +0 -27
  1251. package/dist/server/page/criteriaEvidence.js.map +0 -1
  1252. package/dist/server/page/documentHtml.d.ts +0 -4
  1253. package/dist/server/page/documentHtml.d.ts.map +0 -1
  1254. package/dist/server/page/documentHtml.js +0 -16
  1255. package/dist/server/page/documentHtml.js.map +0 -1
  1256. package/dist/server/page/itemIntroduction.d.ts +0 -3
  1257. package/dist/server/page/itemIntroduction.d.ts.map +0 -1
  1258. package/dist/server/page/itemIntroduction.js +0 -9
  1259. package/dist/server/page/itemIntroduction.js.map +0 -1
  1260. package/dist/server/page/itemStyles.d.ts +0 -2
  1261. package/dist/server/page/itemStyles.d.ts.map +0 -1
  1262. package/dist/server/page/itemStyles.js +0 -30
  1263. package/dist/server/page/itemStyles.js.map +0 -1
  1264. package/dist/server/page/metadata.d.ts +0 -5
  1265. package/dist/server/page/metadata.d.ts.map +0 -1
  1266. package/dist/server/page/metadata.js +0 -49
  1267. package/dist/server/page/metadata.js.map +0 -1
  1268. package/dist/server/page/metadataDetails.d.ts +0 -4
  1269. package/dist/server/page/metadataDetails.d.ts.map +0 -1
  1270. package/dist/server/page/metadataDetails.js +0 -35
  1271. package/dist/server/page/metadataDetails.js.map +0 -1
  1272. package/dist/server/page/metadataLinks.d.ts +0 -6
  1273. package/dist/server/page/metadataLinks.d.ts.map +0 -1
  1274. package/dist/server/page/metadataLinks.js +0 -31
  1275. package/dist/server/page/metadataLinks.js.map +0 -1
  1276. package/dist/server/page/nav.d.ts +0 -5
  1277. package/dist/server/page/nav.d.ts.map +0 -1
  1278. package/dist/server/page/nav.js +0 -9
  1279. package/dist/server/page/nav.js.map +0 -1
  1280. package/dist/server/page/readingStyles.d.ts +0 -2
  1281. package/dist/server/page/readingStyles.d.ts.map +0 -1
  1282. package/dist/server/page/readingStyles.js +0 -32
  1283. package/dist/server/page/readingStyles.js.map +0 -1
  1284. package/dist/server/page/readingTools.d.ts +0 -3
  1285. package/dist/server/page/readingTools.d.ts.map +0 -1
  1286. package/dist/server/page/readingTools.js +0 -10
  1287. package/dist/server/page/readingTools.js.map +0 -1
  1288. package/dist/server/page/recordedEvidence.d.ts +0 -4
  1289. package/dist/server/page/recordedEvidence.d.ts.map +0 -1
  1290. package/dist/server/page/recordedEvidence.js +0 -10
  1291. package/dist/server/page/recordedEvidence.js.map +0 -1
  1292. package/dist/server/page/searchDialog.d.ts +0 -3
  1293. package/dist/server/page/searchDialog.d.ts.map +0 -1
  1294. package/dist/server/page/searchDialog.js +0 -16
  1295. package/dist/server/page/searchDialog.js.map +0 -1
  1296. package/dist/server/page/style.d.ts +0 -2
  1297. package/dist/server/page/style.d.ts.map +0 -1
  1298. package/dist/server/page/style.js +0 -111
  1299. package/dist/server/page/style.js.map +0 -1
  1300. package/dist/server/page/updated.d.ts +0 -2
  1301. package/dist/server/page/updated.d.ts.map +0 -1
  1302. package/dist/server/page/updated.js +0 -4
  1303. package/dist/server/page/updated.js.map +0 -1
  1304. package/dist/server/page/visualDialog.d.ts +0 -3
  1305. package/dist/server/page/visualDialog.d.ts.map +0 -1
  1306. package/dist/server/page/visualDialog.js +0 -25
  1307. package/dist/server/page/visualDialog.js.map +0 -1
  1308. package/dist/server/page/workspaceStyles.d.ts +0 -3
  1309. package/dist/server/page/workspaceStyles.d.ts.map +0 -1
  1310. package/dist/server/page/workspaceStyles.js +0 -89
  1311. package/dist/server/page/workspaceStyles.js.map +0 -1
  1312. package/dist/server/responses/authoredQuestionHtml.d.ts +0 -4
  1313. package/dist/server/responses/authoredQuestionHtml.d.ts.map +0 -1
  1314. package/dist/server/responses/authoredQuestionHtml.js +0 -30
  1315. package/dist/server/responses/authoredQuestionHtml.js.map +0 -1
  1316. package/dist/server/responses/composerHtml.d.ts +0 -27
  1317. package/dist/server/responses/composerHtml.d.ts.map +0 -1
  1318. package/dist/server/responses/composerHtml.js +0 -17
  1319. package/dist/server/responses/composerHtml.js.map +0 -1
  1320. package/dist/server/responses/historyHtml.d.ts +0 -28
  1321. package/dist/server/responses/historyHtml.d.ts.map +0 -1
  1322. package/dist/server/responses/historyHtml.js +0 -8
  1323. package/dist/server/responses/historyHtml.js.map +0 -1
  1324. package/dist/server/responses/optionControls.d.ts +0 -4
  1325. package/dist/server/responses/optionControls.d.ts.map +0 -1
  1326. package/dist/server/responses/optionControls.js +0 -11
  1327. package/dist/server/responses/optionControls.js.map +0 -1
  1328. package/dist/server/responses/templateHtml.d.ts +0 -8
  1329. package/dist/server/responses/templateHtml.d.ts.map +0 -1
  1330. package/dist/server/responses/templateHtml.js +0 -26
  1331. package/dist/server/responses/templateHtml.js.map +0 -1
  1332. package/dist/server/views/tools.d.ts +0 -3
  1333. package/dist/server/views/tools.d.ts.map +0 -1
  1334. package/dist/server/views/tools.js +0 -11
  1335. package/dist/server/views/tools.js.map +0 -1
  1336. package/dist/server/views/workCards.d.ts +0 -4
  1337. package/dist/server/views/workCards.d.ts.map +0 -1
  1338. package/dist/server/views/workCards.js +0 -24
  1339. package/dist/server/views/workCards.js.map +0 -1
  1340. package/dist/server/views/workControls.d.ts +0 -4
  1341. package/dist/server/views/workControls.d.ts.map +0 -1
  1342. package/dist/server/views/workControls.js +0 -32
  1343. package/dist/server/views/workControls.js.map +0 -1
  1344. package/dist/server/views/workDetail.d.ts +0 -13
  1345. package/dist/server/views/workDetail.d.ts.map +0 -1
  1346. package/dist/server/views/workDetail.js +0 -26
  1347. package/dist/server/views/workDetail.js.map +0 -1
  1348. package/dist/server/views/workHtml.d.ts +0 -15
  1349. package/dist/server/views/workHtml.d.ts.map +0 -1
  1350. package/dist/server/views/workHtml.js +0 -39
  1351. package/dist/server/views/workHtml.js.map +0 -1
  1352. package/dist/server/views/workStyle.d.ts +0 -2
  1353. package/dist/server/views/workStyle.d.ts.map +0 -1
  1354. package/dist/server/views/workStyle.js +0 -19
  1355. package/dist/server/views/workStyle.js.map +0 -1
  1356. package/dist/server/views/workTable.d.ts +0 -4
  1357. package/dist/server/views/workTable.d.ts.map +0 -1
  1358. package/dist/server/views/workTable.js +0 -24
  1359. package/dist/server/views/workTable.js.map +0 -1
  1360. package/docs/delivery/change-history-examples.md +0 -46
  1361. package/docs/experience.md +0 -89
  1362. package/docs/mockups/images/brief-mobile.png +0 -0
  1363. package/docs/mockups/images/brief.png +0 -0
  1364. package/docs/mockups/images/decision-mobile.png +0 -0
  1365. package/docs/mockups/images/decision.png +0 -0
  1366. package/docs/mockups/images/evidence-mobile.png +0 -0
  1367. package/docs/mockups/images/evidence.png +0 -0
  1368. package/docs/mockups/images/overview-mobile.png +0 -0
  1369. package/docs/mockups/images/overview.png +0 -0
  1370. package/docs/mockups/images/vision-board.png +0 -0
  1371. package/docs/mockups/images/work-mobile.png +0 -0
  1372. package/docs/mockups/images/work.png +0 -0
  1373. package/docs/mockups/index.html +0 -458
  1374. package/docs/mockups/style.css +0 -1709
  1375. package/src/browser/navigation/html.ts +0 -29
  1376. package/src/browser/navigation/schema.ts +0 -27
  1377. package/src/client/mockups/app.ts +0 -114
  1378. package/src/client/mockups/element.ts +0 -7
  1379. package/src/client/mockups/sampleData.ts +0 -92
  1380. package/src/client/mockups/work.ts +0 -84
  1381. package/src/client/react/ChangesMain.tsx +0 -68
  1382. package/src/client/react/DiagnosticsFleet.tsx +0 -64
  1383. package/src/client/react/DiagnosticsMain.tsx +0 -29
  1384. package/src/client/react/DiagnosticsPage.tsx +0 -77
  1385. package/src/client/react/HistoryComparison.tsx +0 -60
  1386. package/src/client/react/HistoryRetention.tsx +0 -29
  1387. package/src/client/react/InboxPage.tsx +0 -51
  1388. package/src/client/react/NavigationTree.tsx +0 -64
  1389. package/src/client/react/OverviewGroups.tsx +0 -61
  1390. package/src/client/react/OverviewPage.tsx +0 -68
  1391. package/src/client/react/historyStore.ts +0 -56
  1392. package/src/client/react/pageQuery.ts +0 -38
  1393. package/src/client/react/useHistoryComparison.ts +0 -142
  1394. package/src/history/schema.ts +0 -51
  1395. package/src/server/attention/inboxHtml.ts +0 -56
  1396. package/src/server/attention/overviewHtml.ts +0 -46
  1397. package/src/server/attention/style.ts +0 -9
  1398. package/src/server/diagnostics/style.ts +0 -19
  1399. package/src/server/history/baseline.ts +0 -43
  1400. package/src/server/history/compare.ts +0 -54
  1401. package/src/server/history/documents.ts +0 -21
  1402. package/src/server/history/fields.ts +0 -32
  1403. package/src/server/history/html.ts +0 -20
  1404. package/src/server/history/limits.ts +0 -2
  1405. package/src/server/history/response.ts +0 -37
  1406. package/src/server/http/inbox.ts +0 -27
  1407. package/src/server/http/overview.ts +0 -19
  1408. package/src/server/http/work.ts +0 -42
  1409. package/src/server/page/attentionDetails.ts +0 -26
  1410. package/src/server/page/backlinksHtml.ts +0 -18
  1411. package/src/server/page/boardHtml.ts +0 -55
  1412. package/src/server/page/criteriaEvidence.ts +0 -36
  1413. package/src/server/page/documentHtml.ts +0 -23
  1414. package/src/server/page/itemIntroduction.ts +0 -10
  1415. package/src/server/page/itemStyles.ts +0 -29
  1416. package/src/server/page/metadata.ts +0 -58
  1417. package/src/server/page/metadataDetails.ts +0 -38
  1418. package/src/server/page/metadataLinks.ts +0 -35
  1419. package/src/server/page/nav.ts +0 -12
  1420. package/src/server/page/readingStyles.ts +0 -31
  1421. package/src/server/page/readingTools.ts +0 -12
  1422. package/src/server/page/recordedEvidence.ts +0 -12
  1423. package/src/server/page/searchDialog.ts +0 -16
  1424. package/src/server/page/style.ts +0 -117
  1425. package/src/server/page/updated.ts +0 -3
  1426. package/src/server/page/visualDialog.ts +0 -25
  1427. package/src/server/page/workspaceStyles.ts +0 -89
  1428. package/src/server/responses/authoredQuestionHtml.ts +0 -46
  1429. package/src/server/responses/composerHtml.ts +0 -25
  1430. package/src/server/responses/historyHtml.ts +0 -20
  1431. package/src/server/responses/optionControls.ts +0 -13
  1432. package/src/server/responses/templateHtml.ts +0 -34
  1433. package/src/server/views/tools.ts +0 -11
  1434. package/src/server/views/workCards.ts +0 -27
  1435. package/src/server/views/workControls.ts +0 -38
  1436. package/src/server/views/workDetail.ts +0 -28
  1437. package/src/server/views/workHtml.ts +0 -45
  1438. package/src/server/views/workStyle.ts +0 -18
  1439. package/src/server/views/workTable.ts +0 -26
package/CHANGELOG.md CHANGED
@@ -1,5 +1,125 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.14.0 - 2026-10-16
4
+
5
+ ### Added
6
+
7
+ - The typed Inbox query and headless `attention.projection(snapshot)` expose `you`, `agents`, `resolved` and `parked` lanes, with audience labels and separate source diagnostics.
8
+ - `work-board mcp <dir>` serves the read-only `board_overview`, `needs_you` and `item` tools over stdio using Effect's MCP server. Tools query the running board's Unix socket for the same computed state as the browser and explain how to start a board when none answers.
9
+ - Serve the same NDJSON RPC over `<dir>/board.sock` alongside the browser's TCP listener. Each directory has its own socket with owner-only access from creation; serialized startup replaces stale sockets and refuses a live or starting board, and shutdown removes the socket, including SIGINT and SIGTERM. Private bind paths use no more pathname bytes than the public socket path.
10
+ - Add the `work-board.server` query returning `{ url, directory }` with the board's browser URL and absolute board directory on both transports. Export its `Server` schema from `@shivaedev/work-board/rpc/Server.ts`.
11
+ - The typed `fleetItems` Board query reads current Fleet stages, waiting owners, PR URLs and persisted times through the Diagnostics daemon client, joins unique Board documents by ID, and returns `unavailable` with a reason for failed reads or a disabled (`fleetPort: null`) daemon. The shared `DiagnosticsContract` adds `daemon.fleetItems`, backed by `FleetItem`, `CompletedFleetItem` and `FleetItems` schemas. `FleetStage` and `FleetTimestamp` are also available through the diagnostics integration. Legacy stage entry and completion times remain unknown until an observed transition.
12
+ - `FleetItemsProjection` describes the Board result. The shared `readDaemon(port, read)` transport and `daemonUnavailableReason(error, port)` explanation are available from `diagnostics/daemon.ts`.
13
+ - The typed `goals` query returns open projects with counts of linked work by authored status, criterion-level work and recorded evidence counts, and open ask counts. Missing statuses stay not recorded and unlinked goals are explicit; progress has no computed completion percentage or overall success flag.
14
+ - Project pages open with the goals query's done, in progress and planned counts and Inbox-aligned open-ask count before answer cards, followed by criteria with progress, linked work and recorded evidence before authored Markdown. Empty work groups, untargeted criteria labels and absent evidence stay quiet. Each work row has one held Fleet stage or authored status chip; missing status and PR stay blank.
15
+ - The document query's optional `referenceDetails` record supplies each resolved reference's title and recorded status alongside the existing reference URLs.
16
+ - Recognize `goal` and `report` item kinds in frontmatter and the portable metadata schema.
17
+ - Document reading-context backlinks include optional `title` and `status` fields for consumers that render source references.
18
+ - The command palette offers navigation to Today, Goals, Now, Library, System and active goals alongside appearance commands. Search results show item IDs, kinds and status chips.
19
+
20
+ ### Changed
21
+
22
+ - Open requests show an answer card directly below the item header, using the existing response form and retained drafts. The separate respond link opens and focuses that card.
23
+ - Managed decisions use the unblocked item's title, render their reason as Markdown, and show the complete question once, including unfenced multi-paragraph reasons. Page and card headings name the unblocked item. Generated identities stay in Source instead of the item header.
24
+ - Decisions can use frontmatter options and a recommended choice. Answer cards lead with the recommendation and relevant PR actions, and directive choices use human labels. Decision and question headers show request state and omit missing fields. Response validation waits for an attempt, with the last saved local author label prefilled.
25
+ - Typed document requests include optional `title` and `sourceOpen` fields; `DocumentViewProps` accepts an optional `answer` node below the header.
26
+ - `documentHtml` accepts optional answer-card HTML, and `composerHtml` accepts an optional card title.
27
+ - Open requests also show their answer cards under the headers of the items they unblock, preserving the request's reviewed source and choices.
28
+ - Answer cards record with one action and keep author labels, draft tools and response details under More. Read-only cards show one line explaining how to enable answers.
29
+ - The workspace has five views: Today, Goals, Now, Library and System. Retired destinations redirect to their current view; System lists running and waiting Fleet items by title, stage and PR beside provider limits.
30
+ - Browser pages use Tailwind and shared React primitives and require JavaScript.
31
+ - Goal and criterion `counts` now always contain `done`, `"in progress"` and `planned`, including zeros. Held Fleet stages override authored status; released stages fall back to authored status. Deferred and unrecorded work count as planned. `goals(snapshot, fleet?)` accepts an optional Fleet projection. Internal Inbox rows retain their `unblocks` targets for goal-specific counts; browser Inbox projections keep their existing shape.
32
+ - Goals shows compact progress cards with next actions, positive open-ask counts and single-line done/total rows for linked criteria. Zero-count metadata stays quiet, and closed goals sit in one collapsed section.
33
+ - Identified documents open with a sticky title, kind icon, status, owner, next action and header actions. Known Fleet items show their execution stage and PR link. Criteria, target titles and statuses, and backlinks grouped by kind appear in an open responsive rail; source location and raw frontmatter have a Source tab. Markdown uses a 68ch reading column with 16px prose.
34
+ - Use a neutral light and dark Board shell, shared status chips with icons and semantic colours, and a single header settings popover for theme, density and live-update preferences.
35
+ - Open Work on a Now board with fixed Fleet stage lanes, tasks only, one Fleet-derived state chip, and holder, PR and time in stage only when known. Disclose authored-status fallback when Fleet is unavailable; keep All work and Table as explicit choices. Queue Fleet-prepared or authored approved waiting tasks, use authored status only without a matching Fleet item, and collapse saved views and filters behind Filter on Now.
36
+ - Exclude decision, question, response, result and request receipt records from Work lists. Keep status column order independent of row sorting and virtualize lists over 200 rows in bounded scrolling containers.
37
+ - Keep Today, Goals, Now and Search in a bottom phone navigation bar, with Library and System in a More sheet. Use a compact sticky phone header and omit keyboard hints on touch devices.
38
+ - Replace the sidebar file tree with counted destinations, pinned documents, active goal status bars and five recent documents. Browse document titles, kind/status filters, lazy folders and modification order in Library; generated Fleet records stay hidden until requested.
39
+ - Open on Today with human asks, compact ask rows with option answers in popovers, compact goal progress with next actions clamped to two lines and collapsed criteria, and up to eight Fleet-held items with their stages and PR links. Keep configured home Markdown reachable as Workspace notes.
40
+
41
+ ### Fixed
42
+
43
+ - Inbox, Overview and navigation badges share the maintainer lane count. Open requests for other labels remain visible under Waiting on agents, including requests without a registered question. Invalid managed requests remain source diagnostics rather than counted asks.
44
+ - Share the navigation query between route loaders and the React shell instead of requesting the workspace tree again for each selected file. Document navigation shows the new document or a loading message as the URL changes, and returning before a read completes cannot display that late result over the returned page or overwrite its saved reading details.
45
+ - Opening unchanged indexed documents reuses their parsed metadata and workspace model. Backlinks are resolved once per model instead of scanning every document's links on each open; the selected source is still read to detect edits before watcher notification.
46
+ - Inbox and navigation counts reuse revision-scoped question, response and receipt indexes, instead of validating every response again for every question and document request. Source changes refresh those indexes and counts while preserving ambiguous and malformed history outcomes.
47
+ - Goal criteria and linked-work tables include every identified implementing item, including results, decisions, questions and responses. The goals query returns these items alongside its counts, including links to closed projects.
48
+ - Completed and closed project pages show query-derived progress bars and criterion counts. The goals query adds `closedGoals` with the same fields as active `goals`; active-goal navigation remains filtered to open projects.
49
+ - Keep managed asks for closed or deferred target work in collapsed Inbox groups, group repeated active managed or registered asks by target item, and count only main-list rows in the Inbox badges without editing sources.
50
+ - Add `resolved` and `parked` arrays and per-row `earlierAsks` to the Inbox query projection.
51
+ - Criterion and recorded-evidence passage links leave their targets visible below the sticky item header.
52
+ - Item backlinks show source titles and status, with file locations in tooltips. Criteria use one recorded-evidence count instead of repeating missing-evidence notices.
53
+ - Source diagnostics recognize Fleet-owned frontmatter fields while continuing to report unowned fields.
54
+ - Item links open the same document with or without a trailing slash on direct loads and in-app navigation, including IDs ending in `.md` and IDs that collide with a Markdown file path. Item URLs select identities rather than colliding files; unknown IDs show an explicit missing-item message.
55
+ - Keep Files and Inbox controls named for assistive technology when their visible labels are hidden on narrow screens.
56
+ - Print documents at full width when the Files sidebar is open.
57
+ - Recognize planned, active and received statuses with neutral, working and recorded-response icons.
58
+ - Restore the theme before the first paint and apply its background to the page root as well as the body.
59
+ - Let every available Fleet stage decide the task lane despite inactive authored statuses, including prepared and human-waiting work. Keep Done limited to known completions in the last seven days.
60
+ - Keep approved waiting tasks queued when Fleet addon fields are recognized without diagnostics.
61
+ - Missing authored values stay blank across reading and work views, including PR links in System’s Fleet work. Provenance explanations use tooltips or Source records in the React views. Attention-request passage links reveal the Source tab before scrolling and focusing the record, including direct, search, same-document and Back navigation. Repeated source titles expand from one counted line, and each backlink source appears under its most specific kind.
62
+ - Managed answer cards use the Inbox’s active request eligibility. Answer cards and needs-you summary chips stay hidden on closed work, even when a question retains an explicit open attention request.
63
+ - Sidebar goal bars name their done count for assistive technology and hover; only Today and Now show navigation counts. Now lanes keep equal widths and single-line headers. Today’s in-progress work follows its human asks without a gap from the goals column, and one open ask uses the singular.
64
+ - Track Today health through its Inbox, Goals and Fleet queries, and retry failed reads when reopening Today.
65
+ - Search ranks items before headings and passages, open work before closed and deferred work, then title and ID matches before body matches and recently changed sources before older ones. Fleet records, including `fleet/status.md` and `responses/fleet-report.*`, require `records:`. Snippets omit structured metadata, each anchor appears once, and rows without a recorded status omit the status chip.
66
+ - With `records:`, Fleet and ordinary item results share the same status, relevance and recency ordering before every heading and passage hit, including when only the item's body matches. Matching go-to commands replace item results with the same destination.
67
+
68
+ ### Breaking
69
+
70
+ - Removed the browser-local comparison API: `workContract.queries.history`, `workContract.queries.overview`, `HistoryInput`, `HistoryOutput`, `OverviewProjection` and the `history/` entry points. The `page/board.ts` and `page/document.ts` server HTML entry points are removed.
71
+ - `page/shell.ts` now exports `shell(title, workspace)` for the React bootstrap only. Removed the superseded server rendering and style exports listed below:
72
+ - `history/schema.ts`: `Baseline`, `HistoryInput`, `HistoryComparison`, `HistoryOutput`.
73
+ - `server/attention/inboxHtml.ts`: `inboxHtml`, `inboxStyle`.
74
+ - `server/attention/overviewHtml.ts`: `overviewHtml`.
75
+ - `server/attention/style.ts`: `attentionStyle`.
76
+ - `server/diagnostics/style.ts`: `diagnosticsStyle`.
77
+ - `server/document/answerCardsHtml.ts`: `answerCardsHtml`.
78
+ - `server/history/baseline.ts`: `readBaseline`, `observeBaseline`.
79
+ - `server/history/compare.ts`: `SourceChange`, `compareHistory`.
80
+ - `server/history/documents.ts`: `HistoryDocument`, `historyDocuments`, `historyIdentities`.
81
+ - `server/history/fields.ts`: `historyFields`.
82
+ - `server/history/html.ts`: `historyHtml`.
83
+ - `server/history/limits.ts`: `MAX_BYTES`, `MAX_AGE`.
84
+ - `server/history/response.ts`: `historyResponse`.
85
+ - `server/http/inbox.ts`: `inbox`.
86
+ - `server/http/overview.ts`: `overview`.
87
+ - `server/http/work.ts`: `work`.
88
+ - `server/page/attentionDetails.ts`: `attentionDetails`.
89
+ - `server/page/backlinksHtml.ts`: `backlinksHtml`.
90
+ - `server/page/boardHtml.ts`: `boardHtml`.
91
+ - `server/page/criteriaEvidence.ts`: `criteriaEvidence`.
92
+ - `server/page/documentHtml.ts`: `documentHtml`.
93
+ - `server/page/itemIntroduction.ts`: `itemIntroduction`.
94
+ - `server/page/itemStyles.ts`: `itemStyles`.
95
+ - `server/page/metadata.ts`: `metadataHtml`, `metadataStyles`.
96
+ - `server/page/metadataDetails.ts`: `metadataDetails`.
97
+ - `server/page/metadataLinks.ts`: `referenceHtml`, `sourceHtml`, `documentReference`, `valueHtml`.
98
+ - `server/page/nav.ts`: `navHtml`, `inboxCount`.
99
+ - `server/page/readingStyles.ts`: `readingStyles`.
100
+ - `server/page/readingTools.ts`: `readingTools`.
101
+ - `server/page/recordedEvidence.ts`: `recordedEvidence`.
102
+ - `server/page/searchDialog.ts`: `searchDialog`, `searchStyles`.
103
+ - `server/page/style.ts`: `style`.
104
+ - `server/page/updated.ts`: `updated`.
105
+ - `server/page/visualDialog.ts`: `visualDialog`, `visualStyles`.
106
+ - `server/page/workspaceStyles.ts`: `layout`, `theme`.
107
+ - `server/responses/authoredQuestionHtml.ts`: `authoredQuestionHtml`.
108
+ - `server/responses/composerHtml.ts`: `composerHtml`.
109
+ - `server/responses/optionControls.ts`: `optionControls`.
110
+ - `server/responses/templateHtml.ts`: `templateHtml`.
111
+ - `server/views/tools.ts`: `viewTools`.
112
+ - `server/views/workCards.ts`: `workCards`.
113
+ - `server/views/workControls.ts`: `workControls`.
114
+ - `server/views/workDetail.ts`: `workDetail`.
115
+ - `server/views/workHtml.ts`: `workHtml`.
116
+ - `server/views/workListStyle.ts`: `workListStyle`.
117
+ - `server/views/workStyle.ts`: `workStyle`.
118
+ - `server/views/workTable.ts`: `workTable`.
119
+ - `browser/navigation/html.ts`: `navigationHtml`.
120
+ - `server/responses/historyHtml.ts`: `historyHtml`.
121
+ - The navigation query returns destination counts instead of `tree` and `records`; `NavigationFile` and `NavigationFolder` schemas are removed. The `Navigation` import at `browser/navigation/schema.ts` remains available. The Library query provides filtered documents and immediate folder children on demand.
122
+
3
123
  ## 0.13.0 - 2026-10-13
4
124
 
5
125
  ### Added
package/README.md CHANGED
@@ -26,6 +26,10 @@ A **workspace** is a folder of Markdown files. Those files are authoritative: pl
26
26
 
27
27
  During normal watching, each settled batch re-reads changed Markdown paths and retains unchanged parsed documents and search entries. Adds, deletes and renames update the same index. Watcher recovery checks source bytes and reuses unchanged parses. The synthetic 2,000-item benchmark runs with `node --conditions=source packages/work-board/src/test-support/indexBenchmark.ts` from the repository root; it records index time, files read and files parsed for cold start, edit, add, delete and rename.
28
28
 
29
+ Identified documents open with a sticky title, kind icon, recorded status, owner and next action. Favorite and handoff controls sit in the header. Known Fleet items also show their stage and PR. An open rail shows criteria, relationships with target titles and statuses, and backlinks grouped by kind; membership and Markdown links keep their own groups. At 1024px the rail sits beside the 68ch Markdown column; on smaller screens it follows the introduction. The Source tab holds the file location, original frontmatter and recorded handoff, question, response and request-receipt details. Passage links into Source reveal the tab before scrolling and focusing the record.
30
+
31
+ Open requests place an answer card directly below their source header and the headers of the items they unblock. The card renders the reason as Markdown, offers the recorded options with the recommendation marked, and retains response drafts through live reads. Record saves the answer against the request’s reviewed source. More holds the author label, optional Markdown preview, draft tools and response details; the default author is maintainer when no saved label exists. Managed decisions use the title of the work they unblock; generated identities remain in Source. Legacy response URLs redirect to the item and focus its card.
32
+
29
33
  A file can declare an optional **item ID**. That ID connects it to other files, criteria and boards without tying the connection to its filename. A **criterion** is an explicitly named requirement; an **evidence record** is an author's claim about an observation. The board displays that claim and its provenance; it does not run the check or establish acceptance.
30
34
 
31
35
  An **attention request** explicitly asks for a decision, review or help with a blocker. It is separate from an item's status. A **question** asks for a person's answer. It can be authored as a standalone item or captured from an attention request with its exact source text, source path and reviewed SHA-256. A **response** is an independent Markdown record of a person's answer, clarification or deferral. Responses retain their reviewed context; they do not close requests, change task status or start an agent. An optional execution integration can acknowledge a managed decision through a separate immutable request receipt. That receipt is distinct from a handoff receipt, execution or acceptance.
@@ -34,7 +38,7 @@ A **handoff** captures direction and the exact source the person reviewed in ano
34
38
 
35
39
  A **result** is an author's report linked explicitly to work and criteria. Its recorded status does not change the linked task's status. A result review presents the report, its claims and limitations with human feedback pinned to the reviewed source bytes and path. Choosing an authored acceptance option does not supply missing criterion evidence.
36
40
 
37
- Browser preferences, drafts and the explicit **seen baseline** are personal state, scoped to the workspace and server origin. They do not change project meaning. Agents own normal project-file edits. Work Board owns the human response content it records. An agent's run completion, a recorded answer and an accepted result remain separate facts.
41
+ Browser preferences and drafts are personal state, scoped to the workspace and server origin. They do not change project meaning. Agents own normal project-file edits. Work Board owns the human response content it records. An agent's run completion, a recorded answer and an accepted result remain separate facts.
38
42
 
39
43
  The work has three parts: choose a workspace once, author useful files per feature, and read or respond as the work changes.
40
44
 
@@ -44,11 +48,11 @@ The work has three parts: choose a workspace once, author useful files per featu
44
48
  work-board ./project-notes --home plan.md
45
49
  ```
46
50
 
47
- This serves the existing folder on `http://127.0.0.1:4747`. The optional home file is resolved from that folder and rendered as a heading board at `/`; other files are documents. Without a home, `/` shows the first listed document. An empty workspace opens getting-started guidance. **Getting started** remains available at `/_board/start`, with copyable project, investigation and agent-result templates. Save them through your editor or agent tool; the reader does not create files.
51
+ This serves the existing folder on `http://127.0.0.1:4747`. The first screen at `/` is **Today**: a linked summary, **Needs you**, **In progress** and **Goals**. Human asks come from the shared attention projection. Needs-you entries stay within 48px. For questions with one-choice options, Answer opens a popover with buttons that record an answer against the current reviewed context. In progress shows up to eight items Fleet holds in executing, reviewing, repairing or adopting, with their stage and recorded PR link; **All in Now →** opens the full work view. Its summary counts all held items, including those beyond the preview. An unavailable Fleet source shows an unknown count. Goal cards show the next action clamped to two lines and done, in-progress and planned work with an **N of M done** count; criteria and their evidence counts sit behind a closed **Criteria** disclosure. These counts describe recorded source, not verified success. The optional home file remains a heading board through **Workspace notes**; other files remain documents. An empty Today links to getting-started guidance. **Getting started** remains available at `/_board/start`, with copyable project, investigation and agent-result templates. Save them through your editor or agent tool; the reader does not create files.
48
52
 
49
53
  A heading board uses `#` for its title, text before the first `##` for its intro, `##` for sections and `###` for cards. A section without cards shows its text. A `---` after the last heading starts the footer; a divider inside a card before another heading stays in that card. Code spans, reference links, footnotes and `<details>` can stay in the Markdown body. Leave a blank line after `<summary>` and before `</details>` when its content is Markdown.
50
54
 
51
- The sidebar starts with fixed Home, Inbox, Overview, Work, Changes and Diagnostics rows. Project files scroll independently, and opening a document reveals its highlighted file. Below 768px, Files in the top bar opens an overlay drawer; Escape or a tap outside closes it and returns focus to Files. The sidebar groups Markdown into nested folders and keeps the home file first. Folder expansion choices survive live file changes; opening a document expands its ancestors. Empty folders without indexed Markdown stay out of the tree. File links keep their logical workspace paths, including reference-directory aliases.
55
+ The sidebar shows Today, Goals, Now, Library and System, with counts only on Today and Now, followed by pinned documents, active goals with linked-work status bars and quiet done/total figures, and at most five recent documents. Today counts waiting human actions and Now counts open tasks. Each active-goal bar names its done count for assistive technology and shows the same count on hover. Below 768px, Files in the top bar opens an overlay drawer; Escape or a tap outside closes it and returns focus to Files. Library lists document titles with kind and status filters, a folder view that loads immediate children on expansion, and a Recently changed view sorted by file modification time. Links preserve logical workspace paths, including reference-directory aliases.
52
56
 
53
57
  Directory links can include reference Markdown without copying it:
54
58
 
@@ -103,7 +107,7 @@ items: [work.search]
103
107
  Inspect the selected work and its source before giving direction.
104
108
  ```
105
109
 
106
- Open **Work** to switch between boards and tables. The same item may belong to several boards; a board definition is excluded from All work. Columns use exact recorded status, with missing status disclosed separately. Filters use status, owner and work text; sorting uses title, owner or status, with missing values last. The URL carries board, filters, layout, sort and selected item. Board and table share the projection and source detail; native links and GET filters work without JavaScript. Missing, repeated and ambiguous members are disclosed.
110
+ Open **Work** on Now, or choose All work and Table. The same item may belong to several boards; a board definition is excluded from All work. All work columns use exact recorded status; missing status stays blank. Filters use status, owner and work text; sorting uses title, owner or status, with missing values last. The URL carries board, filters, layout, sort and selected item. Board and table render the same projection and source detail in React. Missing, repeated and ambiguous members are disclosed.
107
111
 
108
112
  Use `relationships` for `implements`, `informs`, `depends_on` or `relates_to` links to an item or `item#criterion`. A result can record evidence against the criterion. Save this as `result.md`:
109
113
 
@@ -127,17 +131,17 @@ The recorded check is a source claim. Review its evidence before accepting it.
127
131
 
128
132
  Record an outcome only after an actual observation, and save its supporting `evidence.md`; omit evidence until that check exists.
129
133
 
130
- `source` is required for an evidence record; `criterion`, `checked_revision`, `observed_at`, `method` and `outcome` are optional. This example has no checked revision or observation time, so both stay **Not recorded**. When known, record a full 40- or 64-digit hexadecimal revision and an ISO timestamp with a timezone. Source paths resolve from the file holding the claim.
134
+ `source` is required for an evidence record; `criterion`, `checked_revision`, `observed_at`, `method` and `outcome` are optional. This example has no checked revision or observation time, so both stay blank. When known, record a full 40- or 64-digit hexadecimal revision and an ISO timestamp with a timezone. Source paths resolve from the file holding the claim.
131
135
 
132
- Criteria collect explicitly linked claims across files. **Referenced by** also shows incoming relationships, board membership, evidence sources and ordinary Markdown links. Decisions keep their options and rationale in body Markdown. Old recorded revisions remain visible; the viewer does not compare them with current Git state or infer human acceptance. See the [source field reference](docs/delivery/source-examples.md) and [attention field reference](docs/delivery/attention-examples.md) for complete shapes.
136
+ Criteria collect explicitly linked claims across files. **Referenced by** also shows incoming relationships, board membership, evidence sources and ordinary Markdown links. Each source appears under its most specific kind. Repeated source titles collapse into a count that expands to the individual links. Decisions keep their options and rationale in body Markdown. Old recorded revisions remain visible; the viewer does not compare them with current Git state or infer human acceptance. See the [source field reference](docs/delivery/source-examples.md) and [attention field reference](docs/delivery/attention-examples.md) for complete shapes.
133
137
 
134
138
  #### Richer reading in ordinary documents
135
139
 
136
- Tables, task lists, footnotes, raw-HTML details and highlighted fenced code render on the server. Heading passage links and an **On this page** outline distinguish duplicate headings. Relative document links resolve from their source file, including a nested home served at `/`.
140
+ `DocumentView` renders tables, task lists, footnotes, raw-HTML details and highlighted fenced code in the browser from typed document-query data. The server delivers the React shell rather than document HTML. Heading passage links and an **On this page** outline distinguish duplicate headings. Relative document links resolve from their source file, including a nested home served at `/`.
137
141
 
138
- Document content starts with its title and, for frontmatter documents, source status and next action. Missing authored values say **Not recorded**. **Context and tools** follows the introduction in document order and contains source provenance, backlinks, the outline and the favorite control. DOM fixtures check this order, the disclosure's desktop/narrow media-query defaults, and a CSS upper bound on title placement using the viewport height and capped page controls. They also check the question form's text-column width and margins and the desktop grid's row allocation. These checks do not measure browser layout or establish physical-device behavior.
142
+ Document content starts with its title and, for frontmatter documents, source status and next action. Missing authored values render nothing. **Context and tools** follows the introduction in document order and contains source provenance, backlinks, the outline and the favorite control. DOM fixtures check this order, the disclosure's desktop/narrow media-query defaults, and a CSS upper bound on title placement using the viewport height and capped page controls. They also check the question form's text-column width and margins and the desktop grid's row allocation. These checks do not measure browser layout or establish physical-device behavior.
139
143
 
140
- `mermaid` fences draw locally in the browser. Diagrams follow the theme and keep unchanged drawings during refresh. A parse failure exposes its source and error; without JavaScript the source remains readable.
144
+ `mermaid` fences draw locally in the browser. Diagrams follow the theme and keep unchanged drawings during refresh. A parse failure exposes its source and error in the React document view.
141
145
 
142
146
  Metrics and progress use fixed directives with a label and a source:
143
147
 
@@ -153,29 +157,31 @@ The component shows the authored tally. Unknown or zero-total counts do not fabr
153
157
 
154
158
  Use ordinary image Markdown for source-relative PNG, JPEG, GIF or WebP files. The image route serves at most 16 MiB per file inside the real workspace; images in outside reference folders must be copied inside that boundary. The image gallery and **Inspect diagram** provide zoom and keyboard dismissal. Local image downloads and SVG downloads of a rendered diagram use the browser. A source update marks an already-open preview as older and requires reopening before saving. These actions do not write source or establish acceptance.
155
159
 
156
- ### 3. Every day: read, compare and give direction
160
+ ### 3. Every day: read and give direction
157
161
 
158
- **Search** or Ctrl/Cmd+K finds document titles/paths, headings, passages and recorded work fields. Matching uses the first 200 query characters and up to eight terms; each of those terms must occur in a block, ignoring case. Titles rank before headings, then passages. At most 40 results are shown with the full match count. Arrow keys choose, Enter opens, and Escape closes. Incomplete reads are disclosed, and older requests cannot replace a newer query. Search requires JavaScript.
162
+ **Search** or Ctrl/Cmd+K opens the command palette. Go-to commands open Today, Goals, Now, Library, System and each open goal from the goals query. Appearance commands toggle the file sidebar, density and theme. Results update as you type; matching commands come first. Search finds document titles/paths, IDs, headings, passages and recorded work fields. Matching uses the first 200 query characters and up to eight terms; each term must occur in a block, ignoring case. Item results rank before headings and passages. Within items, open work ranks before closed and deferred work, title and ID matches rank before body matches, then the most recently changed sources come first. Body matches also return the item itself. Each anchor appears once, retaining its best match before the result limit and count. Item results show their ID, kind and authored status; rows without a recorded status omit the chip. Fleet decisions, captured questions, responses, application receipts, `fleet/status.md` and `responses/fleet-report.*` appear only when the query starts with `records:`. Snippets omit structured metadata. At most 40 source results are shown with the full match count. Arrow keys choose, Enter opens, and Escape closes. Incomplete reads are disclosed, and older requests cannot replace a newer query. Search requires JavaScript. `src/server/search/palette.spec.ts`, `src/server/search/ranking.spec.ts`, `src/client/react/palette.dom.spec.tsx` and `src/client/react/searchRanking.dom.spec.tsx` and `src/client/react/fleetSearch.dom.spec.tsx` cover record filtering, ranking, snippets and commands with fixtures.
159
163
 
160
- Back restores selected text and expanded details. Recent documents opens a bounded reading-history dialog with favorites and up to ten unique recents. Favorites and recents belong to the workspace/origin; deleted favorites remain labeled missing. Save up to ten named Work views with the applied board, filters, sort and layout. Selection stays in the URL, and saving the same name updates it. At capacity, remove or update a view; none is silently evicted. Unavailable storage is disclosed, with controls usable for the current page.
164
+ Back restores selected text and expanded details. Reading history opens a bounded dialog with favorites and up to ten unique recents. Favorites and recents belong to the workspace/origin; deleted favorites remain labeled missing. Save up to ten named Work views with the applied board, filters, sort and layout. Selection stays in the URL, and saving the same name updates it. At capacity, remove or update a view; none is silently evicted. Unavailable storage is disclosed, with controls usable for the current page.
161
165
 
162
- **Overview** groups explicit open decision, review and blocker requests. Status, owner, file edits and finished runs do not imply a request. Each entry links its reason, recipients, targets and source context. Closed requests remain readable without asserting a recorded answer or acceptance. Invalid or ambiguous requests stay outside the queue with diagnostics; incomplete indexes withhold counts.
166
+ **Work** opens on **Now**: fixed Queued, Executing, Reviewing, Delivering, Waiting on a person, and collapsed Done in the last 7 days lanes. Fleet stages set the lane even when the source still says `planned`; reviewing, repairing and validating share Reviewing. Lanes hold tasks only. Every available Fleet stage takes precedence over authored status, including prepared and human-waiting work whose source is inactive. Without a matching Fleet item, authored superseded, deferred, cancelled, done and completed items stay outside Now. Done includes only recent Fleet completions. Queued holds prepared tasks or approved tasks waiting to start, never unapproved planned work. Cards show one Fleet-derived StatusChip and show the holder, PR link and time in stage only when known. When Fleet is unavailable, lanes use authored status and disclose the fallback. Saved views and filters sit behind **Filter**, collapsed by default on Now. Completed work with no known completion time is available through **All work**. All work keeps status columns in a fixed order; **Table** uses the chosen row sort. Decisions, questions, responses, results and request receipts remain readable in their source views and stay outside these work lists. Lists over 200 rows render a moving window inside bounded scrolling lanes or a table. `src/client/react/WorkNow.dom.test.tsx`, `workRecords.dom.spec.tsx` and `workScale.dom.spec.tsx` cover these projections and the rendered row bound with a 1,500-item fixture.
163
167
 
164
- **Diagnostics** in the sidebar reads Codex usage windows labelled by duration, GitHub REST and GraphQL rate limits, and Fleet health through the Fleet daemon's `daemon.diagnostics` HTTP RPC query at `127.0.0.1:3457`. Set `--fleet-port <port>` or `BoardOptions.fleetPort` to select another daemon port. A stopped daemon leaves Diagnostics available with an explicit unavailable state and a start command; the next refresh retries. Board does not start provider commands or read Fleet's database or health file. The daemon reads Codex and GitHub with its existing CLI authentication, caches rate-limit observations for one minute across Board clients and reports each source's missing configuration or error independently.
168
+ **System** in the sidebar reads Codex usage windows labelled by duration, GitHub REST and GraphQL rate limits, and Fleet health through the Fleet daemon's `daemon.diagnostics` HTTP RPC query at `127.0.0.1:3457`. Set `--fleet-port <port>` or `BoardOptions.fleetPort` to select another daemon port. A stopped daemon leaves System available with an explicit unavailable state and a start command; the next refresh retries. Board does not start provider commands or read Fleet's database or health file. The daemon reads Codex and GitHub with its existing CLI authentication, caches rate-limit observations for one minute across Board clients and reports each source's missing configuration or error independently.
165
169
 
166
- The view refreshes through `client.api.diagnostics.query()` every 15 seconds while visible. Pause updates holds the displayed state; resume and returning to a visible tab refresh it. The shared `DiagnosticsContract` and `DiagnosticsSnapshot` schemas live in `@shivaedev/work-board/diagnostics/daemonContract.ts`; the version 2 `FleetHealth` schema lives in `@shivaedev/work-board/diagnostics/health.ts`. The page shows the publisher's observation time, freshness, running and queued counts and waiting counts for maintainer, orchestrator and automation, concurrency cap, last scheduler pass and last observed provider capacity rejection. Stale snapshots show a Stale badge and dimmed counts. Reset times show relative time and the browser’s local clock; the Diagnostics view requires JavaScript. Communication failures and API-key accounts explain why their data is unavailable. A publisher clock ahead of Board is disclosed; absent scheduler/rejection observations remain unknown or unobserved.
170
+ The view refreshes through `client.api.diagnostics.query()` every 15 seconds while visible. Pause updates holds the displayed state; resume and returning to a visible tab refresh it. The shared `DiagnosticsContract` and `DiagnosticsSnapshot` schemas live in `@shivaedev/work-board/diagnostics/daemonContract.ts`; the version 2 `FleetHealth` schema lives in `@shivaedev/work-board/diagnostics/health.ts`. The Fleet lane lists every running or waiting item from `client.api.fleetItems.query()` by source title, stage and recorded PR, with explicit loading, unavailable and empty states. Items without readable source retain their work ID; missing PRs remain explicit. The page also shows the publisher's observation time, freshness, running and queued counts and waiting counts for maintainer, orchestrator and automation, concurrency cap, last scheduler pass and last observed provider capacity rejection. Stale snapshots show a Stale badge. Reset times show relative time and the browser’s local clock; System requires JavaScript. Communication failures and API-key accounts explain why their data is unavailable. A publisher clock ahead of Board is disclosed; absent scheduler/rejection observations remain unknown or unobserved.
167
171
 
168
- **Changes** starts remembering only through **Start remembering changes**. After review, **Mark current workspace seen** replaces the baseline; **Clear remembered history** turns it off. Opening a view and receiving live updates never mark it seen. Compare additions, removals, fields and source text against that one browser-local baseline. Unique IDs match moved items; plain-file renames are removed/added paths. The baseline is bounded to 2 MiB and 30 days, with expiry, corruption, incomplete reads and oversized workspaces disclosed. It holds Markdown, not image bytes.
172
+ `client.api.fleetItems.run(undefined)` reads per-item execution through the same daemon client. A `ready` result has `items` for every stage except `completed` and `released`, and `completed` for current records completed within the last seven days, including the boundary. Each item carries `workId`, `stage`, a waiting `attentionOwner` when present, `prUrl` when known, and millisecond `stageEnteredAt` and `updatedAt`; completions also carry `completedAt`. Board joins each unique matching ID to `document: { file, title, metadata }`; missing or duplicate IDs keep the Fleet item with `document: null`. For legacy records, stage entry and completion times remain unknown until an observed stage transition; `updatedAt` becomes known on the next write. A stopped daemon, communication failure or Board index failure returns `{ state: "unavailable", reason }`. Set `BoardOptions.fleetPort: null` to disable the item integration. `src/server/views/fleetItems.test.ts` covers these reads through HTTP RPC with a synthetic daemon.
169
173
 
170
174
  **Pause updates** holds the displayed reading state while counting observed hints, bounded at **256+**. Resume and reconnect reconcile the workspace. Unrelated source edits retain mounted document reads; relevant updates retain unchanged reading blocks. A failed read keeps visible source and says **refresh failed**. Connection or watcher loss says **reconnecting**. These are reconciliation hints, not a durable event journal or a count of completed work.
171
175
 
172
176
  #### Find what waits on you
173
177
 
174
- The sidebar and top bar offer **Inbox** with a live count, including on narrow screens. It lists open human-owned next actions, unaddressed standalone questions, and work whose status is `needs-human`. Addressed questions, including registered questions on ordinary attention sources and Fleet's open managed decisions, enter the Inbox only when their attention request's `response_from` includes the maintainer label. The default label is `maintainer`; set `--maintainer <name>` to use another literal, case-sensitive label. Questions for other responders remain reachable through their item, Responses and the Work board/table. Boards without addressed questions keep the same Inbox membership. Managed decisions leave the Inbox when their exact-context acknowledgement retires them. Question and managed-request rows open the response form directly; other rows link to the source. Each row shows the reason and time since the source last changed. Overview links to an Inbox count summary. The Work board/table mark the same items as **Waiting on you** while keeping every card in its recorded status column. Missing or duplicated item IDs remain listed with a visible problem and a link to each source. Ages of 48 hours or more use days.
178
+ **Today** and its navigation badges count human asks from the shared attention projection. They include human-owned next actions, unaddressed standalone questions, `needs-human` work, and validated open attention requests addressed to the maintainer label. Set `--maintainer <name>` to select another literal, case-sensitive label. The default is `maintainer`. Questions open an answer card; other rows open their source. Each row shows its reason and age. Missing or duplicated identities stay visible with a problem and source link. Incomplete indexes withhold membership and counts.
179
+
180
+ A recorded answer to a uniquely registered ordinary request retires that ask only for the reviewed source bytes and path. Managed decisions retire after an exact-context acknowledgement or when all their targets are closed or deferred. Active asks for the same target set share one row, using the newest reason and response link. Agent-only asks remain available through the typed attention projection. Source diagnostics never create human asks. Work cards show Fleet state, or **needs-you** for an authored ask when Fleet has no item state. These projections do not edit source status.
175
181
 
176
- Owner labels are local conventions: `codex`, `claude`, `fleet`, `agent`, `automation`, `bot` and `copilot`, including labels beginning with those names followed by a dash, underscore, dot, space or slash, denote automation. Other nonblank owner labels denote people. A human owner needs a nonblank `next_action` to enter the Inbox. Statuses `closed`, `done`, `completed`, `cancelled`, `canceled`, `resolved` and `released` leave the queue. These rules classify waiting work; they do not edit the recorded status.
182
+ Owner labels are local conventions: `codex`, `claude`, `fleet`, `orchestrator`, `agent`, `automation`, `bot` and `copilot`, including labels beginning with those names followed by a dash, underscore, dot, space or slash, denote automation. Other nonblank owner labels denote people. A human owner needs a nonblank `next_action` to enter Today. Statuses `closed`, `done`, `superseded`, `completed`, `cancelled`, `canceled`, `resolved` and `released` leave the queue. These rules classify waiting work; they do not edit the recorded status.
177
183
 
178
- Fleet decision sources, captured questions and their answers are grouped under a collapsed **Fleet records** section in the sidebar. Ordinary human questions and answers remain in their source folders. Opening a grouped source reveals its group; the underlying files remain readable and searchable.
184
+ Fleet decision sources, captured questions, their answers and request receipts are hidden by default in Library. **Show Fleet records (N)** includes them in the current view. Ordinary authored questions remain visible, and all underlying files remain readable and searchable with the `records:` query prefix.
179
185
 
180
186
  An agent can ask a standalone question with frontmatter:
181
187
 
@@ -198,7 +204,7 @@ Choose where the project keeps its readable source.
198
204
 
199
205
  `options` is optional and accepts up to 32 entries with unique nonblank labels and descriptions. `recommended` names an option label. The item page presents buttons, marks the recommendation without selecting it, and accepts another answer as free text. Omit `options` for a text-only question. Use frontmatter options or a Markdown question packet on a question, rather than both.
200
206
 
201
- Start with `--responses` to enable saving. Preview and record the answer on the item page with a local author label. The browser remembers that label for the workspace. The required author label stays visible; response kind and superseding controls sit in a collapsed details section; option questions show a choice and one answer box by default. Closed questions and invalid options keep recorded answers readable, with a clear message when another answer is unavailable. The existing publisher captures the reviewed source as a `kind: question` record in `responses/`, then writes a `kind: response` that links to that capture. Its `question.item` links back to the authored question. An `answer` removes the authored question from the Inbox for those exact source bytes and path; clarification and deferral keep it waiting. An edited question needs another answer. The original source file stays unchanged, and the answer does not establish acceptance or start an agent.
207
+ Start with `--responses` to enable saving. Preview and record the answer on the item page with a local author label. The browser remembers that label for the workspace. The required author label stays visible; response kind and superseding controls sit in a collapsed details section; option questions show a choice and one answer box by default. Closed questions and invalid options keep recorded answers readable, with a clear message when another answer is unavailable. The existing publisher captures the reviewed source as a `kind: question` record in `responses/`, then writes a `kind: response` that links to that capture. Its `question.item` links back to the authored question. An `answer` removes the authored question from Today for those exact source bytes and path; clarification and deferral keep it waiting. An edited question needs another answer. The original source file stays unchanged, and the answer does not establish acceptance or start an agent.
202
208
 
203
209
  #### Record a human response
204
210
 
@@ -206,13 +212,13 @@ Start with `--responses` to enable saving. Preview and record the answer on the
206
212
  work-board ./project-notes --responses
207
213
  ```
208
214
 
209
- Explicit opt-in enables writes. Open question packets offer **Answer these questions** once per packet, leading to the response form. Static options are reading text. For other requests, open the request in **Work details and source**, choose **Respond to this request**, inspect the exact source and reviewed SHA-256, enter a local author label, then preview and record the Markdown. **Answer** may say no; **Ask back / clarify** and **Not now** are separate reply kinds. Author labels provide local attribution, not authentication.
215
+ Explicit opt-in enables writes. Open the item’s answer card, read the request reason, and inspect the original source in **Source**. Enter a local author label, choose an option or write an answer, then preview and record the Markdown. Questions and decisions can declare frontmatter options and a recommendation; the recommendation is marked but never selected for you. Requests with Markdown question directives keep their prompts and controls together in the card. **Answer** may say no; **Ask back / clarify** and **Not now** are separate reply kinds. Author labels provide local attribution, not authentication.
210
216
 
211
217
  Registration captures one question generation in `responses/`; submission creates an independent response file there. Original source bytes stay unchanged. Source edits or moves require a fresh review/preview; historical replies still identify the old context. Same-identity/content retries reconcile, conflicting contributions are rejected, and uncertain publication is reported explicitly.
212
218
 
213
- An execution integration may mark a generated `kind: decision` request with `attention[].managed: true`. A separate immutable `kind: result` document records `request_receipt` with the registered question ID, its `reviewedRevision`, `recordedAt` and disposition `applied` or `superseded`. An applied receipt names the unique current `answer`; clarification and deferral cannot acknowledge it. Supersession retires the request without inventing an answer. Only an unambiguous receipt matching the exact current source path and bytes removes the managed request from the overview and response surface. `currentResponses(responses)` from `@shivaedev/work-board/responses/current.ts` selects the latest response per author, ordered by recorded time and then response ID, and removes explicitly superseded responses. Managed acknowledgements use this selection; different authors remain competing, and superseding an author’s latest response does not revive an earlier answer. `src/responses/current.test.ts` and Fleet’s PostgreSQL question tests cover this rule. The source remains unchanged and readable. Ordinary authored requests remain source-driven; receipts grant no execution, acceptance or delivery authority.
219
+ An execution integration may mark a generated `kind: decision` request with `attention[].managed: true`. A separate immutable `kind: result` document records `request_receipt` with the registered question ID, its `reviewedRevision`, `recordedAt` and disposition `applied` or `superseded`. An applied receipt names the unique current `answer`; clarification and deferral cannot acknowledge it. Supersession retires the request without inventing an answer. Only an unambiguous receipt matching the exact current source path and bytes removes the managed request from Today and the item's answer cards. `currentResponses(responses)` from `@shivaedev/work-board/responses/current.ts` selects the latest response per author, ordered by recorded time and then response ID, and removes explicitly superseded responses. Managed acknowledgements use this selection; different authors remain competing, and superseding an author’s latest response does not revive an earlier answer. `src/responses/current.test.ts` and Fleet’s PostgreSQL question tests cover this rule. The source remains unchanged and readable. Ordinary authored requests remain source-driven; receipts grant no execution, acceptance or delivery authority.
214
220
 
215
- Browser drafts use effect-form’s persisted drafts, keyed by workspace, item and request, with a 256 KiB limit per draft and a seven-day lifetime after the last edit. Navigation, reload and source refresh retain them; text edited while an earlier save completes remains an unsaved draft with a fresh identity. Malformed or expired drafts are discarded; unavailable storage leaves the form usable. **Clear draft** restores the current form’s initial values without changing saved records or the seen baseline.
221
+ Browser drafts use effect-form’s persisted drafts, keyed by workspace, item and request, with a 256 KiB limit per draft and a seven-day lifetime after the last edit. Navigation, reload and source refresh retain them; text edited while an earlier save completes remains an unsaved draft with a fresh identity. Malformed or expired drafts are discarded; unavailable storage leaves the form usable. **Clear draft** restores the current form’s initial values without changing saved records or saved responses.
216
222
 
217
223
  #### Wait for an attributable reply
218
224
 
@@ -298,13 +304,14 @@ Import the module that defines a name. The package has no root entry; its manife
298
304
  | `browser/document/schema.ts`, `browser/document/View.ts` | `Document`, `DocumentRequest`, `DocumentView`, `DocumentViewProps`: source query data and React document rendering |
299
305
  | `rpc/responseContract.ts` | `responseContract`: question/read/wait queries and register/record commands |
300
306
  | `rpc/handoffContract.ts` | `handoffContract`: source/history queries and reviewed preparation command |
301
- | `browser/navigation/schema.ts` | `Navigation`, `NavigationFolder`, `NavigationFile`: native navigation result schemas/types |
307
+ | `browser/navigation/schema.ts` | `Navigation`: compact navigation result schema/type |
308
+ | `browser/navigation/library.ts` | `Library`, `LibraryFile`, `LibraryInput`: titled document and folder query schemas |
302
309
  | `browser/responses/schema.ts` | Question, response, answer and draft schemas/types |
303
310
  | `rpc/rejections.ts` | `documentRejections`, `DocumentRejection`, `responseRejections`, `ResponseRejection`: declared taxonomy and application errors; `PublicationUncertain` and `Unanswered` |
304
311
  | `browser/handoffs/schema.ts` | Handoff record, input, reading and source-preview schemas/types |
305
312
  | `metadata/schema.ts`, `metadata/parse.ts`, `metadata/model.ts` | Source schemas, parsed fields/diagnostics and explicit identity/reference model |
306
313
 
307
- Other defining modules are also exposed by the wildcard. Their [source directory](https://github.com/ShivaeDev/platform/tree/main/packages/work-board/src) contains file/watch, HTTP, rendering, search, views, history and result-review helpers. Compose `boardLayer` to retain the package's source policy and request guards.
314
+ Other defining modules are also exposed by the wildcard. Their [source directory](https://github.com/ShivaeDev/platform/tree/main/packages/work-board/src) contains file/watch, HTTP, rendering, search, views and result-review helpers. Compose `boardLayer` to retain the package's source policy and request guards.
308
315
 
309
316
  #### Embed the workspace
310
317
 
@@ -328,7 +335,7 @@ try {
328
335
  }
329
336
  ```
330
337
 
331
- `boardLayer` needs `FileSystem`, `Path` and the HTTP router services; `NodeServices` provides the filesystem/path implementation here. `root` is required, `home` is optional, `maintainer` selects the Inbox responder label (default `maintainer`), and `responses: true` explicitly opts into publication. `HttpRouter.serve` can compose it beside application routes in a scoped Effect HTTP server. Requests still require a loopback `Host`; a missing/non-loopback host is refused, as is a known non-loopback remote address. The embedding host owns its trust boundary.
338
+ `boardLayer` needs `FileSystem`, `Path` and the HTTP router services; `NodeServices` provides the filesystem/path implementation here. `root` is required, `home` is optional, `maintainer` selects the human responder label (default `maintainer`), and `responses: true` explicitly opts into publication. `HttpRouter.serve` can compose it beside application routes in a scoped Effect HTTP server. Requests still require a loopback `Host`; a missing/non-loopback host is refused, as is a known non-loopback remote address. The embedding host owns its trust boundary.
332
339
 
333
340
  #### Read and wait from a Node agent
334
341
 
@@ -398,7 +405,13 @@ export async function registerReviewedQuestion(url: string, revision: string) {
398
405
 
399
406
  Call this function with a revision whose source/context you have reviewed and a server started with `--responses`. `api` binds reading operations; `responses` binds question and response operations. `read` resolves a query atom, `run` executes a query Effect, and `mutate` executes a command with its invalidation service. `handoffs` binds source/history queries and the preparation command. The client also exposes `registry` and `updates`; dispose the registry when its owner ends.
400
407
 
401
- `client.api.navigation.query({ current: "notes/topic.md" })` returns navigation data rather than HTML. Pass the selected document's relative path, or `""` for a workspace view. `tree` contains ordered `files` and recursive `folders`, each with a descendant file `count` and an `active` flag. Files include their path, encoded href, display name, modification time and `current` flag. `records` holds the Fleet records separately with its count and active flag; `inboxCount` is a number or `null` when the index is unavailable. Optional `home` identifies the configured home board file and its unique identity. The React sidebar renders this query through `effect-react`, marks the selected file and retains the tree while a route change loads its next query.
408
+ `client.api.navigation.query({ current: "" })` returns compact destination `counts`, `inboxCount` (a number or `null` when the index is unavailable), and optional `home` with the configured home file and its unique identity. It contains no file tree. `client.api.library.query({})` loads document metadata on demand: `files` contain `path`, encoded `href`, `title`, `modified`, `kind` and `status`; `kinds` and `statuses` populate filters, and `fleetCount` counts hidden generated records. Optional `kind`, `status` and `showFleet` filter the files. Passing `folder: ""` lists root files and immediate folder descriptors; passing a folder path loads its direct files and immediate child folders. Folder descriptors contain `path`, `name` and descendant `count`. The shell reads active goal status counts from `client.api.goals.query()`; opening Library loads its own query.
409
+
410
+ A `kind: project` page puts goal progress before its authored Markdown: a large segmented bar with the goals query's **done / in progress / planned** counts and its goal-specific open-ask count, including zero. The progress header sits immediately below the item header, before open answer cards. Criteria, linked work and prose follow the answer cards. The header and each criterion render query counts directly, including Fleet-held work as in progress. These are work counts, never an overall success state or percentage. The open-ask count uses the same eligible, active, grouped rows as the maintainer's Today attention list; resolved, parked and earlier grouped asks do not add to it.
411
+
412
+ Each criterion shows its progress split in one small line, targeting items and recorded evidence when present. Untargeted criteria retain their text without an extra label; absent evidence stays quiet. The table shows each implementing item once under nonempty In progress, Planned, Done (collapsed) or Deferred groups. Each row and criterion link has one state chip: the Fleet stage while held, otherwise the authored status. A released stage falls back to authored status; missing status and missing PR leave blank cells. Items without status belong to Planned. The outline rail remains beside the prose on wide screens and follows it on narrow screens. Closed projects show the same goal and criterion counts as open projects while staying outside active-goal navigation.
413
+
414
+ `client.api.goals.query()` returns `{ closedGoals, goals, items }`. `items` contains every uniquely identified implementing document, including results, decisions, questions, responses and work targeting closed projects, with `file`, `id`, `title` and `metadata`. Goal criteria and work tables select from this same set used for counts. `goals` contains uniquely identified `kind: project` documents with an open status, using the attention projection's open-item convention. `closedGoals` contains the remaining identified projects with the same progress and criterion fields. Project pages read both lists; the sidebar and navigation count use only `goals`. The Goals view shows active goals as compact cards with next actions, linked-work progress and positive open-ask counts. Only criteria with linked work appear, as single-line links with done/total counts. Empty progress and zero-count metadata render nothing. Closed goals sit below the active cards in one disclosure, closed by default. Each goal includes `id`, `title`, optional authored `status`, `owner` and `nextAction`, and `criteria`. `linked` counts distinct identified items with an `implements` relationship targeting the goal or a criterion anchor. `counts` always has `done`, `"in progress"` and `planned` numbers, including zeros. Fleet-held stages override authored status: completed is done, prepared is planned and other held stages are in progress. Released stages and unavailable Fleet fall back to authored status: closed statuses are done, planned, deferred and missing statuses are planned, and other statuses are in progress. Deferred work keeps its own table group but contributes to planned progress. Multiple matching relationships on one item count once. Each criterion includes its `id`, `text`, `linked`, `counts` and `evidence`, the number of recorded claims targeting that exact criterion across indexed documents. `openAsks` counts eligible active attention rows whose targets include the goal, its criteria or a linked item, once per grouped row; it cannot exceed the attention count. A goal without linked items has zero counts, `linked: 0` and `unlinked: true`; an untargeted criterion has `linked: 0`. The query returns no completion percentage or overall success flag. Mounted queries refresh when indexed source changes.
402
415
 
403
416
  For a handoff, first read the preview with `client.run(client.handoffs.handoffSource.run({ item: "work.search" }))` and inspect its `context`. This complete program takes that reviewed path and revision as inputs:
404
417
 
@@ -420,7 +433,7 @@ export async function prepareReviewedHandoff(
420
433
  revision,
421
434
  recipient: "agent-navigation",
422
435
  goal: "Fix keyboard focus",
423
- constraints: "Preserve no-JavaScript links.",
436
+ constraints: "Preserve keyboard navigation.",
424
437
  nextAction: "Inspect the current source and report browser evidence.",
425
438
  }),
426
439
  );
@@ -463,7 +476,7 @@ RPC rejections use Platform taxonomy classes: `Forbidden` for disabled writes, `
463
476
 
464
477
  Read `client.api.document.run({ url: "/notes.md" })` to get Markdown body source, metadata and diagnostics, resolved links and references, file information, resolved question actions and request previews with response history. Identity URLs and `/` use the same document query. Missing and duplicate identities reject with `NotFound` and `Conflict`; incomplete history stays explicitly unavailable. The query sends no rendered HTML or syntax tree.
465
478
 
466
- Pass that data as the `document` prop of `DocumentView` from `@shivaedev/work-board/browser/document/View.ts`. The view uses the Board's GFM, directive, heading and footnote plugins with raw HTML, browser-side Shiki and a Mermaid code override. `idPrefix` scopes footnotes when a host displays several documents. The Board shell is a React app with TanStack Router. Its route loaders read document and projection contract queries through `effect-react` in the shell's native registry; preloading and navigation share those reads. Document and item pages mount `DocumentView` from the typed document query; the configured home board, Work board/table and selected detail, Overview and Inbox render typed projection queries in React. Changes, Diagnostics, Start, Respond, Handoff and Result also render typed query data in React. Their direct URLs load the shell and require JavaScript. The HTML page RPC is removed. The optional `reading` data supplies source context, backlinks, criterion claims and managed receipts; request `prompts` supply answer controls. Hosts can mount `DocumentView` directly from source-query data, or pass `context` and `introduction` React nodes for its document layout.
479
+ Pass that data as the `document` prop of `DocumentView` from `@shivaedev/work-board/browser/document/View.ts`. The view uses the Board's GFM, directive, heading and footnote plugins with raw HTML, browser-side Shiki and a Mermaid code override. `idPrefix` scopes footnotes when a host displays several documents. The Board shell is a React app with TanStack Router. Its route loaders read document and projection contract queries through `effect-react` in the shell's native registry; preloading and navigation share those reads. Document and item pages mount `DocumentView` from the typed document query; Today, Goals, Now, Library and System render typed projection queries in React, as do Workspace notes, Start, Respond, Handoff and Result. Their direct URLs load the shell and require JavaScript. The HTML page RPC is removed. The optional `reading` data supplies source context, backlinks, criterion claims and managed receipts; request `prompts` supply answer controls. Hosts can mount `DocumentView` directly from source-query data, or pass `context` and `introduction` React nodes for its document layout.
467
480
 
468
481
  #### Headless addon API
469
482
 
@@ -474,7 +487,7 @@ Work Fleet uses five server entry points and one portable metadata type entry po
474
487
  | `integration/board.ts` | `board`: `metadataParse`, `metadataModel`, `listMarkdown`, `markdownPath`, `watchChanges`, `searchSnapshot`; exported types `Diagnostic`, `ParsedMetadata`, `MetadataDocument`, `MetadataModel`, `MarkdownFile`, `Changes`, `Snapshot` |
475
488
  | `integration/metadata.ts` | Portable types `Diagnostic`, `ParsedMetadata`, `MetadataDocument`, `MetadataModel`, also available through `integration/board.ts` |
476
489
  | `integration/responses.ts` | `responses`: `Responses`, `ResponseConfig`, `readResponses`, `currentResponses`, `makeResponse`, `publish`, `revisionOf`, `questionId`, `questionFrom`, `questionMarkdown`, `responseMarkdown`, `DraftInput`, `Question`, `Reading`, `RecordedResponse`; exported types `DraftInput`, `Question`, `Reading`, `RecordedResponse`, `ResponseOptions` |
477
- | `integration/attention.ts` | `attention`: `RequestReceipt`, `managedRequestReceipt`; exported type `RequestReceipt` |
490
+ | `integration/attention.ts` | `attention`: `RequestReceipt`, `managedRequestReceipt`, `projection(snapshot)`; exported types `RequestReceipt`, `AttentionProjection` |
478
491
  | `integration/diagnostics.ts` | `diagnostics`: `FleetHealth`, `CapacityRejection`, `FLEET_HEALTH_NAME`, `fleetHealth`, `DiagnosticsContract`, `DAEMON_PORT`, `DAEMON_RPC_PATH`, `DiagnosticsSources`, `SourceFailure`, `diagnostics`, `codexRateLimits`, `codexLimits`, `githubLimits`; exported types `FleetHealth`, `CapacityRejection`, `SourceFailure` |
479
492
  | `integration/publication.ts` | `publication`: `directoryPath`, `validateDirectory` for addons that publish their own records through open directory handles |
480
493
 
@@ -490,17 +503,36 @@ const read = Effect.scoped(Effect.gen(function* () {
490
503
  })).pipe(Effect.provide(NodeServices.layer));
491
504
  ```
492
505
 
493
- The snapshot retains parsed documents, identity diagnostics and unavailable paths. Compose `responses.Responses.layer` with `responses.ResponseConfig` containing that index, the same watcher, workspace root and explicit `enabled` write choice. Use the service to register reviewed questions and record answers; `responses.publish` writes an immutable record under `responses/` (or `handoffs/` when selected), and the record helpers preserve exact reviewed bytes and source path. Agent-owned items remain ordinary Markdown edits. `attention.managedRequestReceipt` qualifies an acknowledgement against those records; it does not confer execution or acceptance authority. The publication helpers retain the filesystem limits below.
506
+ The snapshot retains parsed documents, identity diagnostics and unavailable paths. Compose `responses.Responses.layer` with `responses.ResponseConfig` containing that index, the same watcher, workspace root and explicit `enabled` write choice. Use the service to register reviewed questions and record answers; `responses.publish` writes an immutable record under `responses/` (or `handoffs/` when selected), and the record helpers preserve exact reviewed bytes and source path. Agent-owned items remain ordinary Markdown edits. `attention.projection(snapshot)` returns the typed attention projection: `you`, `agents`, `resolved`, `parked`, `issues` and `complete`, with `items` retaining the same rows as `you` for existing clients. `attention.managedRequestReceipt` qualifies an acknowledgement against those records; it does not confer execution or acceptance authority. The publication helpers retain the filesystem limits below.
494
507
 
495
508
  Fleet's production imports are fenced to these six entry points by `pnpm lint`; its test fixtures may still use Board modules directly. The packed-package consumer exercises the headless read, response and receipt path through these exports.
496
509
 
510
+ #### Read the running board through MCP
511
+
512
+ Start the board with `work-board /absolute/path/to/notes`. Register its read-only stdio MCP server with Claude Code or Codex:
513
+
514
+ ```sh
515
+ claude mcp add --transport stdio work-board -- work-board mcp /absolute/path/to/notes
516
+ codex mcp add work-board -- work-board mcp /absolute/path/to/notes
517
+ ```
518
+
519
+ Both commands require `work-board` on the client's PATH. `work-board mcp <dir>` reads the running board through `<dir>/board.sock`; it uses the same computed queries as the browser. If no board answers, every tool returns one error naming the directory and the `work-board <dir>` command to start it.
520
+
521
+ | Tool | Returns |
522
+ | --- | --- |
523
+ | `board_overview` | Needs-you count and items, in-flight Fleet items with stage and PR, and active and closed goal progress counts |
524
+ | `needs_you` | The `you` lane with reason, frontmatter options, computed question prompts and their choices, recommendation, and `ageMs` since the source's last modification (`null` when unknown) |
525
+ | `item` with `{ "id": "task.example" }` | Computed status, owner, criteria, relationships, Fleet stage and open decisions |
526
+
527
+ Fleet unavailability stays explicit in results. These tools read state without changing files or starting a board.
528
+
497
529
  #### CLI reference
498
530
 
499
531
  | Server argument | Default | Meaning |
500
532
  | --- | --- | --- |
501
533
  | `<dir>` | Required | Existing folder to read |
502
- | `--home <file>` | None | Listed Markdown file rendered as a board at `/`; a missing file prevents startup |
503
- | `--maintainer <name>` | `maintainer` | Literal `response_from` label for Inbox questions; unaddressed standalone questions remain included |
534
+ | `--home <file>` | None | Listed Markdown heading board linked as Workspace notes; a missing file prevents startup |
535
+ | `--maintainer <name>` | `maintainer` | Literal `response_from` label for human questions; unaddressed standalone questions remain included |
504
536
  | `--port <number>` | `4747` | Loopback server port; `0` asks for a free port |
505
537
  | `--responses` | Off | Enable local question/response/handoff publication |
506
538
 
@@ -513,7 +545,19 @@ Fleet's production imports are fenced to these six entry points by `pnpm lint`;
513
545
  | `--port <number>` | Select the shared server's port; default `4747` |
514
546
  | `--url <origin>` | Select an HTTP loopback origin instead of `--port` |
515
547
 
516
- The browser uses local NDJSON RPC at `POST /_board/rpc`. Ordinary document GETs, `/_board/start`, `/_board/work`, `/_board/overview`, `/_board/changes`, `/_board/respond`, `/_board/handoff`, `/_board/result`, and identity links remain available alongside it. Search, retained-source history and live subscriptions use the same RPC route. There is no automatic workspace discovery or server launch in agent commands.
548
+ The browser uses local NDJSON RPC at `POST /_board/rpc`. Ordinary document GETs, `/_board/start`, `/_board/goals`, `/_board/work`, `/_board/library`, `/_board/system`, `/_board/respond`, `/_board/handoff`, `/_board/result`, and identity links load the React shell. Search and live subscriptions use the same RPC route. There is no automatic workspace discovery or server launch in agent commands.
549
+
550
+ A running `work-board <dir>` also serves that NDJSON RPC at `POST /_board/rpc` over the Unix socket `<dir>/board.sock`, using the same handlers and services as TCP. Tools can read `work-board.inbox`, `work-board.fleetItems` and `work-board.goals` from the board directory without knowing its port. Each board directory has its own socket. For example:
551
+
552
+ ```sh
553
+ printf '%s\n' '{"_tag":"Request","id":"1","tag":"work-board.server","payload":null,"headers":[]}' |
554
+ curl --unix-socket ./notes/board.sock http://localhost/_board/rpc \
555
+ -H 'Content-Type: application/ndjson' --data-binary @-
556
+ ```
557
+
558
+ The `work-board.server` query takes no payload and returns `{ url, directory }`, for example `{ "url": "http://127.0.0.1:4747/", "directory": "/home/me/project/notes" }`. It is available over both TCP and the socket; `url` uses the actual browser port, including when `--port 0` selects a free port. Its `Server` schema is exported from `@shivaedev/work-board/rpc/Server.ts`.
559
+
560
+ The socket has owner-only access from creation: startup binds inside a private sibling directory at `.sXXXXXX/s`, applies mode `0600`, then publishes `board.sock`. The private socket pathname is no longer than the public pathname, so staging does not reduce the directory lengths that Unix sockets support. These permissions provide its access boundary because Unix connections have no TCP remote address. Requests to `http://localhost/_board/rpc` with `Host: localhost` work over the socket; TCP retains its loopback Host and remote-address checks. Startup removes an unanswered stale socket and refuses to start when another board already answers there. A temporary `.board.sock.starting/` directory serializes stale removal and publication across processes. It is removed when startup completes or its scope closes. The private staging directory is also removed when startup completes or its scope closes. If a process is forcibly killed during startup, the error identifies the lock directory; remove abandoned startup directories only after confirming that startup is no longer running. Closing the board removes its socket, including on SIGINT and SIGTERM. If the board directory is committed, add `board.sock` and `.board.sock.starting/` to that directory's ignore rules.
517
561
 
518
562
  ### Install and limits
519
563
 
@@ -529,6 +573,6 @@ Files/folders below the root beginning with a dot, and `node_modules`, are skipp
529
573
 
530
574
  Publication runs on Linux and macOS and needs a real workspace directory, hard links and directory synchronization. Linux anchors each step to open directory descriptors through `/proc/self/fd`. macOS has no such anchor in Node, so it uses canonical paths and checks the directories' device/inode identity before and after publishing; a directory or ancestor swapped between two checks is not detected, so keep write boundaries under trusted local ownership. Node's `fsync` on macOS does not issue `F_FULLFSYNC`, so a successful save is not a power-loss guarantee there. Read mode remains separate. No-replace publication and retry reconciliation protect recorded contributions; agents edit handoff receipt through ordinary files. An unrelated editor can still change source after preflight. Records retain the exact reviewed context, rather than claiming an atomic transaction with that editor. Moved directories or synchronization failures can produce an uncertain outcome.
531
575
 
532
- JavaScript enables live updates, search, draft/response/handoff controls and diagram inspection. Server-rendered documents, source details, native Work/Overview links, copyable templates and saved feedback remain readable without it. Image routes exclude SVG, HTML, PDF and arbitrary attachments. The board does not launch agents, verify recorded evidence or generate exported document packets.
576
+ The browser workspace requires JavaScript. Tailwind and shared React primitives style its views; project Markdown remains readable in an editor independently of the browser. Image routes exclude SVG, HTML, PDF and arbitrary attachments. The board does not launch agents, verify recorded evidence or generate exported document packets.
533
577
 
534
- The [north star](docs/north-star.md) explains design priorities. The [roadmap](docs/roadmap.md) owns implementation status and unresolved decisions. [Experience designs and mockups](docs/experience.md) illustrate the product direction with fictional data.
578
+ The [north star](docs/north-star.md) explains design priorities. The [roadmap](docs/roadmap.md) owns implementation status and unresolved decisions.