@shivaedev/work-board 0.9.1 → 0.11.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 (186) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +49 -1
  3. package/assets/native.js +35 -29
  4. package/dist/board.d.ts.map +1 -1
  5. package/dist/board.js +20 -1
  6. package/dist/board.js.map +1 -1
  7. package/dist/browser/client.d.ts +2 -0
  8. package/dist/browser/client.d.ts.map +1 -1
  9. package/dist/browser/client.js +2 -1
  10. package/dist/browser/client.js.map +1 -1
  11. package/dist/browser/entry.d.ts.map +1 -1
  12. package/dist/browser/entry.js +2 -0
  13. package/dist/browser/entry.js.map +1 -1
  14. package/dist/browser/handoffs/copy.d.ts +3 -0
  15. package/dist/browser/handoffs/copy.d.ts.map +1 -0
  16. package/dist/browser/handoffs/copy.js +47 -0
  17. package/dist/browser/handoffs/copy.js.map +1 -0
  18. package/dist/browser/handoffs/fields.d.ts +11 -0
  19. package/dist/browser/handoffs/fields.d.ts.map +1 -0
  20. package/dist/browser/handoffs/fields.js +45 -0
  21. package/dist/browser/handoffs/fields.js.map +1 -0
  22. package/dist/browser/handoffs/schema.d.ts +89 -0
  23. package/dist/browser/handoffs/schema.d.ts.map +1 -0
  24. package/dist/browser/handoffs/schema.js +38 -0
  25. package/dist/browser/handoffs/schema.js.map +1 -0
  26. package/dist/browser/handoffs/setup.d.ts +2 -0
  27. package/dist/browser/handoffs/setup.d.ts.map +1 -0
  28. package/dist/browser/handoffs/setup.js +108 -0
  29. package/dist/browser/handoffs/setup.js.map +1 -0
  30. package/dist/browser/responses/draftSession.d.ts +1 -1
  31. package/dist/browser/responses/draftSession.d.ts.map +1 -1
  32. package/dist/browser/responses/draftSession.js +4 -4
  33. package/dist/browser/responses/draftSession.js.map +1 -1
  34. package/dist/browser/responses/preview.js.map +1 -1
  35. package/dist/cli.js.map +1 -1
  36. package/dist/files/list.d.ts.map +1 -1
  37. package/dist/handoffs/html.d.ts +37 -0
  38. package/dist/handoffs/html.d.ts.map +1 -0
  39. package/dist/handoffs/html.js +31 -0
  40. package/dist/handoffs/html.js.map +1 -0
  41. package/dist/handoffs/page.d.ts +7 -0
  42. package/dist/handoffs/page.d.ts.map +1 -0
  43. package/dist/handoffs/page.js +31 -0
  44. package/dist/handoffs/page.js.map +1 -0
  45. package/dist/handoffs/records.d.ts +7 -0
  46. package/dist/handoffs/records.d.ts.map +1 -0
  47. package/dist/handoffs/records.js +30 -0
  48. package/dist/handoffs/records.js.map +1 -0
  49. package/dist/handoffs/service.d.ts +55 -0
  50. package/dist/handoffs/service.d.ts.map +1 -0
  51. package/dist/handoffs/service.js +82 -0
  52. package/dist/handoffs/service.js.map +1 -0
  53. package/dist/handoffs/source.d.ts +11 -0
  54. package/dist/handoffs/source.d.ts.map +1 -0
  55. package/dist/handoffs/source.js +31 -0
  56. package/dist/handoffs/source.js.map +1 -0
  57. package/dist/http/assets.d.ts.map +1 -1
  58. package/dist/http/assets.js.map +1 -1
  59. package/dist/http/events.d.ts.map +1 -1
  60. package/dist/http/loopback.d.ts.map +1 -1
  61. package/dist/http/page.d.ts.map +1 -1
  62. package/dist/http/respond.d.ts.map +1 -1
  63. package/dist/metadata/backlinks.d.ts.map +1 -1
  64. package/dist/metadata/backlinks.js +1 -0
  65. package/dist/metadata/backlinks.js.map +1 -1
  66. package/dist/metadata/fields.d.ts +14 -1
  67. package/dist/metadata/fields.d.ts.map +1 -1
  68. package/dist/metadata/model.js.map +1 -1
  69. package/dist/metadata/problems.d.ts.map +1 -1
  70. package/dist/metadata/problems.js +1 -0
  71. package/dist/metadata/problems.js.map +1 -1
  72. package/dist/metadata/schema.d.ts +18 -1
  73. package/dist/metadata/schema.d.ts.map +1 -1
  74. package/dist/metadata/schema.js +3 -1
  75. package/dist/metadata/schema.js.map +1 -1
  76. package/dist/page/escape.d.ts.map +1 -1
  77. package/dist/page/metadata.d.ts.map +1 -1
  78. package/dist/page/metadata.js +12 -4
  79. package/dist/page/metadata.js.map +1 -1
  80. package/dist/page/metadataDetails.d.ts.map +1 -1
  81. package/dist/page/metadataDetails.js +3 -0
  82. package/dist/page/metadataDetails.js.map +1 -1
  83. package/dist/page/nav.d.ts.map +1 -1
  84. package/dist/page/navigationScript.js +1 -1
  85. package/dist/page/shell.d.ts +1 -1
  86. package/dist/page/shell.d.ts.map +1 -1
  87. package/dist/page/shell.js.map +1 -1
  88. package/dist/page/startTemplates.d.ts +109 -3
  89. package/dist/page/startTemplates.d.ts.map +1 -1
  90. package/dist/page/startTemplates.js +20 -0
  91. package/dist/page/startTemplates.js.map +1 -1
  92. package/dist/page/style.d.ts.map +1 -1
  93. package/dist/page/style.js +6 -5
  94. package/dist/page/style.js.map +1 -1
  95. package/dist/page/swap.d.ts +1 -1
  96. package/dist/page/swap.d.ts.map +1 -1
  97. package/dist/page/swap.js +2 -2
  98. package/dist/page/updated.d.ts.map +1 -1
  99. package/dist/render/board.d.ts.map +1 -1
  100. package/dist/render/callouts.d.ts.map +1 -1
  101. package/dist/render/code.d.ts.map +1 -1
  102. package/dist/render/documentHeadings.d.ts.map +1 -1
  103. package/dist/render/documentLinks.d.ts.map +1 -1
  104. package/dist/render/footnotes.d.ts.map +1 -1
  105. package/dist/render/highlighter.d.ts.map +1 -1
  106. package/dist/render/highlighter.js.map +1 -1
  107. package/dist/render/markdown.js.map +1 -1
  108. package/dist/render/questionnaireDocuments.d.ts.map +1 -1
  109. package/dist/render/visualDocuments.d.ts.map +1 -1
  110. package/dist/responses/agent.d.ts +8 -8
  111. package/dist/responses/agent.js.map +1 -1
  112. package/dist/responses/flags.d.ts.map +1 -1
  113. package/dist/responses/outcome.d.ts.map +1 -1
  114. package/dist/responses/publish.d.ts +1 -1
  115. package/dist/responses/publish.d.ts.map +1 -1
  116. package/dist/responses/publish.js +7 -7
  117. package/dist/responses/publish.js.map +1 -1
  118. package/dist/responses/publishIn.d.ts +1 -1
  119. package/dist/responses/publishIn.d.ts.map +1 -1
  120. package/dist/responses/publishIn.js +3 -3
  121. package/dist/responses/publishIn.js.map +1 -1
  122. package/dist/responses/waitFor.d.ts.map +1 -1
  123. package/dist/results/criteria.d.ts +3 -0
  124. package/dist/results/criteria.d.ts.map +1 -0
  125. package/dist/results/criteria.js +34 -0
  126. package/dist/results/criteria.js.map +1 -0
  127. package/dist/results/feedback.d.ts +7 -0
  128. package/dist/results/feedback.d.ts.map +1 -0
  129. package/dist/results/feedback.js +32 -0
  130. package/dist/results/feedback.js.map +1 -0
  131. package/dist/results/page.d.ts +7 -0
  132. package/dist/results/page.d.ts.map +1 -0
  133. package/dist/results/page.js +40 -0
  134. package/dist/results/page.js.map +1 -0
  135. package/dist/rpc/contract.d.ts +67 -1
  136. package/dist/rpc/contract.d.ts.map +1 -1
  137. package/dist/rpc/contract.js +3 -2
  138. package/dist/rpc/contract.js.map +1 -1
  139. package/dist/rpc/handoffContract.d.ts +142 -0
  140. package/dist/rpc/handoffContract.d.ts.map +1 -0
  141. package/dist/rpc/handoffContract.js +26 -0
  142. package/dist/rpc/handoffContract.js.map +1 -0
  143. package/dist/rpc/server.d.ts +2 -0
  144. package/dist/rpc/server.d.ts.map +1 -1
  145. package/dist/rpc/server.js +4 -1
  146. package/dist/rpc/server.js.map +1 -1
  147. package/dist/search/collector.d.ts.map +1 -1
  148. package/dist/search/entries.js.map +1 -1
  149. package/dist/search/linkCollector.d.ts.map +1 -1
  150. package/dist/serve-cli.js +2 -2
  151. package/dist/serve-cli.js.map +1 -1
  152. package/dist/serve.d.ts.map +1 -1
  153. package/dist/views/state.js.map +1 -1
  154. package/package.json +3 -3
  155. package/src/board.ts +20 -1
  156. package/src/browser/client.ts +3 -1
  157. package/src/browser/entry.ts +2 -0
  158. package/src/browser/handoffs/copy.ts +45 -0
  159. package/src/browser/handoffs/fields.ts +50 -0
  160. package/src/browser/handoffs/schema.ts +44 -0
  161. package/src/browser/handoffs/setup.ts +113 -0
  162. package/src/browser/responses/draftSession.ts +11 -4
  163. package/src/handoffs/html.ts +42 -0
  164. package/src/handoffs/page.ts +45 -0
  165. package/src/handoffs/records.ts +34 -0
  166. package/src/handoffs/service.ts +103 -0
  167. package/src/handoffs/source.ts +35 -0
  168. package/src/metadata/backlinks.ts +1 -0
  169. package/src/metadata/problems.ts +1 -0
  170. package/src/metadata/schema.ts +3 -1
  171. package/src/page/metadata.ts +14 -4
  172. package/src/page/metadataDetails.ts +3 -0
  173. package/src/page/navigationScript.ts +1 -1
  174. package/src/page/shell.ts +1 -1
  175. package/src/page/startTemplates.ts +20 -0
  176. package/src/page/style.ts +6 -5
  177. package/src/page/swap.ts +2 -2
  178. package/src/responses/publish.ts +7 -7
  179. package/src/responses/publishIn.ts +10 -3
  180. package/src/results/criteria.ts +37 -0
  181. package/src/results/feedback.ts +44 -0
  182. package/src/results/page.ts +58 -0
  183. package/src/rpc/contract.ts +5 -2
  184. package/src/rpc/handoffContract.ts +26 -0
  185. package/src/rpc/server.ts +6 -1
  186. package/src/serve-cli.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -4,10 +4,39 @@
4
4
 
5
5
  ### Changed
6
6
 
7
+ - Record agent-owned project editing and human-owned response content, practical
8
+ best-effort conflict handling, and deferred direct editing/undo in the delivery
9
+ plan. Ordinary file editing remains sufficient for agents; the approved D3
10
+ handoff convention is delivered in 0.10.0 below.
11
+ - Build package JavaScript, declarations and source maps with TypeScript 7.
7
12
  - Remove document export and shareable artifact/packet generation from the vision
8
13
  and delivery scope. Keep onboarding/report templates and linked in-app review.
9
14
  - Record the approved Platform-first live client direction and its actual shared HTTP/browser fixture evidence; Work Board adopts that foundation in 0.5.0 below.
10
15
 
16
+ ## 0.11.0 - 2026-10-06
17
+
18
+ ### Added
19
+
20
+ - Returned-result review combines explicitly linked work/criteria, reported status,
21
+ evidence and limitations with version-pinned human feedback. Request revision or
22
+ accept an exact report using existing attention/question directives and immutable
23
+ responses; no new source schema or writer.
24
+ - Native navigation/live review, safe Markdown/Mermaid context and no-JavaScript
25
+ reading. Changed or moved reports qualify earlier feedback; missing evidence and
26
+ ambiguous history remain explicit. Recorded Git revisions are not compared with
27
+ the checkout and authored choices do not establish verified criteria.
28
+
29
+ ## 0.10.0 - 2026-10-06
30
+
31
+ ### Added
32
+
33
+ - Local Markdown handoffs with reviewed source snapshots, explicit receipt states
34
+ and a copyable prompt for an existing agent session. Agents acknowledge using
35
+ ordinary file edits; preparing a handoff does not launch or wake an agent.
36
+ - Native RPC preparation/history, draft persistence, safe rich context rendering,
37
+ no-JavaScript reading and native navigation. Reuse the opt-in Linux file
38
+ publisher; retries retain receipt rather than creating duplicate direction.
39
+
11
40
  ## 0.9.1 - 2026-10-06
12
41
 
13
42
  ### Fixed
package/README.md CHANGED
@@ -62,9 +62,57 @@ preference says otherwise. A keyboard skip link moves directly to the content.
62
62
  | --- | --- | --- |
63
63
  | `<dir>` | required | The folder to serve. |
64
64
  | `--port` | `4747` | The port on `127.0.0.1`. `0` picks a free one. |
65
- | `--responses` | `false` | Explicitly enable local question/response writes. The first writer requires Linux, a real workspace directory, `/proc/self/fd`, hard links and directory synchronization. Reading remains available on other supported Node platforms. |
65
+ | `--responses` | `false` | Explicitly enable local question/response/handoff writes. The first writer requires Linux, a real workspace directory, `/proc/self/fd`, hard links and directory synchronization. Reading remains available on other supported Node platforms. |
66
66
  | `--home` | none | The file shown at `/` as a board, relative to the folder. The command stops with an error unless it leads to one of the markdown files listed from the folder. Without it, `/` shows the first file as a document. |
67
67
 
68
+ ### Reviewing a returned result
69
+
70
+ A file with `kind: result` and a unique stable ID offers **Review returned result**.
71
+ The review page keeps its supplied result status separate from explicitly linked
72
+ work status, lists this report's criterion-level claims and missing provenance,
73
+ and shows the report, limitations and recorded human feedback together. The same
74
+ page is available through a normal GET link without JavaScript.
75
+
76
+ The agent declares an open attention request of kind `review` and can provide a
77
+ rich Markdown question packet with choices such as request revision or accept
78
+ this exact report. The human uses the existing response surface, previews and
79
+ submits together. Choices and rationale are durable authored feedback pinned to
80
+ that report's exact source SHA-256/path. Changed or moved reports qualify earlier
81
+ feedback; malformed or duplicate records leave history unknown. Feedback does
82
+ not automatically change work status or make missing criterion evidence pass.
83
+
84
+ `evidence.checked_revision` remains a reported Git revision. This local reader
85
+ does not compare it with the current checkout, so evidence freshness is unknown.
86
+ See the [ordinary-file walkthrough](https://github.com/ShivaeDev/platform/blob/main/packages/work-board/docs/vision/delivery/result-review-examples.md).
87
+
88
+ ## Hand a task to an existing agent session
89
+
90
+ Open a uniquely identified project item and choose **Prepare an agent handoff**.
91
+ Review the current Markdown/Mermaid context, enter a local recipient label, goal,
92
+ constraints and next action, then preview and prepare. The existing `--responses`
93
+ opt-in also enables this writer. Work Board creates `handoffs/<id>.md` with a stable
94
+ ID, direction, original source path/revision and the exact reviewed source below
95
+ its frontmatter, including declared criteria. Context is limited to 256 KiB.
96
+
97
+ **Copy tiny prompt** gives you a short instruction containing the absolute file
98
+ path. Paste it into the agent session you already use. Preparing a file records
99
+ `requested`; it does not wake or launch an agent. Without clipboard permission,
100
+ the prompt is selected for manual copying. Saved handoffs remain readable without
101
+ JavaScript; preparing them requires JavaScript and the existing Linux writer.
102
+
103
+ The agent reads the file and edits `handoff.state` to `acknowledged`, `rejected`
104
+ or `unavailable`, with optional `handoff.by` and `handoff.note`. These are literal
105
+ local labels and receipt, independent of task status, execution or human
106
+ acceptance. Agents can keep using the existing question poll/wait commands for
107
+ human answers. No acknowledgment command or special project editor is required.
108
+
109
+ Retries using the same handoff ID preserve the agent's receipt and extra metadata;
110
+ conflicting direction, moved/duplicate IDs and a changed source before initial
111
+ preparation are rejected. A missing receipt remains unconfirmed, including after
112
+ restart. Saved context remains inspectable if the source disappears or changes.
113
+ Drafts share the existing browser-local workspace store and its 30-day/2-MiB
114
+ bounds; clearing that store clears response and handoff drafts together.
115
+
68
116
  ## Local responses and one logical wait per question
69
117
 
70
118
  Start one shared server with explicit write opt-in: