@shivaedev/work-board 0.7.2 → 0.9.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.
- package/CHANGELOG.md +44 -0
- package/README.md +110 -2
- package/assets/agent.js +37 -0
- package/assets/native.js +54 -25
- package/dist/board.d.ts +1 -0
- package/dist/board.d.ts.map +1 -1
- package/dist/board.js +15 -2
- package/dist/board.js.map +1 -1
- package/dist/browser/client.d.ts +19 -79
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/client.js +12 -1
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/entry.d.ts +3 -0
- package/dist/browser/entry.d.ts.map +1 -0
- package/dist/browser/entry.js +7 -0
- package/dist/browser/entry.js.map +1 -0
- package/dist/browser/responses/Prompt.d.ts +10 -0
- package/dist/browser/responses/Prompt.d.ts.map +1 -0
- package/dist/browser/responses/Prompt.js +2 -0
- package/dist/browser/responses/Prompt.js.map +1 -0
- package/dist/browser/responses/answerBody.d.ts +4 -0
- package/dist/browser/responses/answerBody.d.ts.map +1 -0
- package/dist/browser/responses/answerBody.js +9 -0
- package/dist/browser/responses/answerBody.js.map +1 -0
- package/dist/browser/responses/draftSession.d.ts +8 -0
- package/dist/browser/responses/draftSession.d.ts.map +1 -0
- package/dist/browser/responses/draftSession.js +105 -0
- package/dist/browser/responses/draftSession.js.map +1 -0
- package/dist/browser/responses/drafts.d.ts +21 -0
- package/dist/browser/responses/drafts.d.ts.map +1 -0
- package/dist/browser/responses/drafts.js +68 -0
- package/dist/browser/responses/drafts.js.map +1 -0
- package/dist/browser/responses/preview.d.ts +4 -0
- package/dist/browser/responses/preview.d.ts.map +1 -0
- package/dist/browser/responses/preview.js +5 -0
- package/dist/browser/responses/preview.js.map +1 -0
- package/dist/browser/responses/questionnaireControls.d.ts +10 -0
- package/dist/browser/responses/questionnaireControls.d.ts.map +1 -0
- package/dist/browser/responses/questionnaireControls.js +68 -0
- package/dist/browser/responses/questionnaireControls.js.map +1 -0
- package/dist/browser/responses/schema.d.ts +168 -0
- package/dist/browser/responses/schema.d.ts.map +1 -0
- package/dist/browser/responses/schema.js +57 -0
- package/dist/browser/responses/schema.js.map +1 -0
- package/dist/browser/responses/setup.d.ts +2 -0
- package/dist/browser/responses/setup.d.ts.map +1 -0
- package/dist/browser/responses/setup.js +129 -0
- package/dist/browser/responses/setup.js.map +1 -0
- package/dist/browser/responses/submissionFields.d.ts +15 -0
- package/dist/browser/responses/submissionFields.d.ts.map +1 -0
- package/dist/browser/responses/submissionFields.js +14 -0
- package/dist/browser/responses/submissionFields.js.map +1 -0
- package/dist/browser/responses/submit.d.ts +4 -0
- package/dist/browser/responses/submit.d.ts.map +1 -0
- package/dist/browser/responses/submit.js +30 -0
- package/dist/browser/responses/submit.js.map +1 -0
- package/dist/browser/session.d.ts +1 -79
- package/dist/browser/session.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +24 -15
- package/dist/cli.js.map +1 -1
- package/dist/files/changes.d.ts +1 -0
- package/dist/files/changes.d.ts.map +1 -1
- package/dist/files/changes.js +1 -1
- package/dist/files/changes.js.map +1 -1
- package/dist/http/respond.d.ts.map +1 -1
- package/dist/http/respond.js +2 -0
- package/dist/http/respond.js.map +1 -1
- package/dist/metadata/backlinks.d.ts.map +1 -1
- package/dist/metadata/backlinks.js +5 -0
- package/dist/metadata/backlinks.js.map +1 -1
- package/dist/metadata/fields.d.ts +23 -1
- package/dist/metadata/fields.d.ts.map +1 -1
- package/dist/metadata/problems.d.ts.map +1 -1
- package/dist/metadata/problems.js +3 -0
- package/dist/metadata/problems.js.map +1 -1
- package/dist/metadata/schema.d.ts +23 -1
- package/dist/metadata/schema.d.ts.map +1 -1
- package/dist/metadata/schema.js +6 -2
- package/dist/metadata/schema.js.map +1 -1
- package/dist/page/attentionDetails.d.ts.map +1 -1
- package/dist/page/attentionDetails.js +2 -1
- package/dist/page/attentionDetails.js.map +1 -1
- package/dist/page/metadataDetails.d.ts.map +1 -1
- package/dist/page/metadataDetails.js +6 -0
- package/dist/page/metadataDetails.js.map +1 -1
- package/dist/page/navigationScript.js +1 -1
- package/dist/page/shell.d.ts +1 -1
- package/dist/page/shell.d.ts.map +1 -1
- package/dist/page/shell.js.map +1 -1
- package/dist/page/style.d.ts.map +1 -1
- package/dist/page/style.js +3 -1
- package/dist/page/style.js.map +1 -1
- package/dist/page/swap.d.ts +1 -1
- package/dist/page/swap.d.ts.map +1 -1
- package/dist/page/swap.js +3 -0
- package/dist/page/swap.js.map +1 -1
- package/dist/path/Identity.d.ts +3 -0
- package/dist/path/Identity.d.ts.map +1 -0
- package/dist/path/Identity.js +3 -0
- package/dist/path/Identity.js.map +1 -0
- package/dist/render/markdown.d.ts +1 -0
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +4 -2
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/questionnaireDocuments.d.ts +3 -0
- package/dist/render/questionnaireDocuments.d.ts.map +1 -0
- package/dist/render/questionnaireDocuments.js +11 -0
- package/dist/render/questionnaireDocuments.js.map +1 -0
- package/dist/render/visualDocuments.d.ts.map +1 -1
- package/dist/render/visualDocuments.js +3 -0
- package/dist/render/visualDocuments.js.map +1 -1
- package/dist/responses/agent-cli.d.ts +2 -0
- package/dist/responses/agent-cli.d.ts.map +1 -0
- package/dist/responses/agent-cli.js +31 -0
- package/dist/responses/agent-cli.js.map +1 -0
- package/dist/responses/agent.d.ts +80 -0
- package/dist/responses/agent.d.ts.map +1 -0
- package/dist/responses/agent.js +49 -0
- package/dist/responses/agent.js.map +1 -0
- package/dist/responses/await.d.ts +39 -0
- package/dist/responses/await.d.ts.map +1 -0
- package/dist/responses/await.js +21 -0
- package/dist/responses/await.js.map +1 -0
- package/dist/responses/composerHtml.d.ts +27 -0
- package/dist/responses/composerHtml.d.ts.map +1 -0
- package/dist/responses/composerHtml.js +14 -0
- package/dist/responses/composerHtml.js.map +1 -0
- package/dist/responses/flags.d.ts +6 -0
- package/dist/responses/flags.d.ts.map +1 -0
- package/dist/responses/flags.js +23 -0
- package/dist/responses/flags.js.map +1 -0
- package/dist/responses/history.d.ts +20 -0
- package/dist/responses/history.d.ts.map +1 -0
- package/dist/responses/history.js +16 -0
- package/dist/responses/history.js.map +1 -0
- package/dist/responses/locate.d.ts +13 -0
- package/dist/responses/locate.d.ts.map +1 -0
- package/dist/responses/locate.js +55 -0
- package/dist/responses/locate.js.map +1 -0
- package/dist/responses/make.d.ts +3 -0
- package/dist/responses/make.d.ts.map +1 -0
- package/dist/responses/make.js +16 -0
- package/dist/responses/make.js.map +1 -0
- package/dist/responses/outcome.d.ts +71 -0
- package/dist/responses/outcome.d.ts.map +1 -0
- package/dist/responses/outcome.js +14 -0
- package/dist/responses/outcome.js.map +1 -0
- package/dist/responses/page.d.ts +6 -0
- package/dist/responses/page.d.ts.map +1 -0
- package/dist/responses/page.js +22 -0
- package/dist/responses/page.js.map +1 -0
- package/dist/responses/publish.d.ts +4 -0
- package/dist/responses/publish.d.ts.map +1 -0
- package/dist/responses/publish.js +56 -0
- package/dist/responses/publish.js.map +1 -0
- package/dist/responses/publishIn.d.ts +3 -0
- package/dist/responses/publishIn.d.ts.map +1 -0
- package/dist/responses/publishIn.js +69 -0
- package/dist/responses/publishIn.js.map +1 -0
- package/dist/responses/read.d.ts +36 -0
- package/dist/responses/read.d.ts.map +1 -0
- package/dist/responses/read.js +43 -0
- package/dist/responses/read.js.map +1 -0
- package/dist/responses/records.d.ts +12 -0
- package/dist/responses/records.d.ts.map +1 -0
- package/dist/responses/records.js +49 -0
- package/dist/responses/records.js.map +1 -0
- package/dist/responses/retry.d.ts +34 -0
- package/dist/responses/retry.d.ts.map +1 -0
- package/dist/responses/retry.js +14 -0
- package/dist/responses/retry.js.map +1 -0
- package/dist/responses/service.d.ts +142 -0
- package/dist/responses/service.d.ts.map +1 -0
- package/dist/responses/service.js +95 -0
- package/dist/responses/service.js.map +1 -0
- package/dist/responses/template.d.ts +7 -0
- package/dist/responses/template.d.ts.map +1 -0
- package/dist/responses/template.js +58 -0
- package/dist/responses/template.js.map +1 -0
- package/dist/responses/templateHtml.d.ts +7 -0
- package/dist/responses/templateHtml.d.ts.map +1 -0
- package/dist/responses/templateHtml.js +18 -0
- package/dist/responses/templateHtml.js.map +1 -0
- package/dist/responses/templateLinks.d.ts +3 -0
- package/dist/responses/templateLinks.d.ts.map +1 -0
- package/dist/responses/templateLinks.js +45 -0
- package/dist/responses/templateLinks.js.map +1 -0
- package/dist/responses/templateNodes.d.ts +17 -0
- package/dist/responses/templateNodes.d.ts.map +1 -0
- package/dist/responses/templateNodes.js +47 -0
- package/dist/responses/templateNodes.js.map +1 -0
- package/dist/responses/validateSupersedes.d.ts +5 -0
- package/dist/responses/validateSupersedes.d.ts.map +1 -0
- package/dist/responses/validateSupersedes.js +21 -0
- package/dist/responses/validateSupersedes.js.map +1 -0
- package/dist/responses/validatedInput.d.ts +3 -0
- package/dist/responses/validatedInput.d.ts.map +1 -0
- package/dist/responses/validatedInput.js +43 -0
- package/dist/responses/validatedInput.js.map +1 -0
- package/dist/responses/waitFor.d.ts +37 -0
- package/dist/responses/waitFor.d.ts.map +1 -0
- package/dist/responses/waitFor.js +47 -0
- package/dist/responses/waitFor.js.map +1 -0
- package/dist/rpc/contract.d.ts +125 -2
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/rpc/contract.js +3 -2
- package/dist/rpc/contract.js.map +1 -1
- package/dist/rpc/responseContract.d.ts +260 -0
- package/dist/rpc/responseContract.d.ts.map +1 -0
- package/dist/rpc/responseContract.js +37 -0
- package/dist/rpc/responseContract.js.map +1 -0
- package/dist/rpc/server.d.ts +3 -1
- package/dist/rpc/server.d.ts.map +1 -1
- package/dist/rpc/server.js +6 -1
- package/dist/rpc/server.js.map +1 -1
- package/dist/serve-cli.d.ts +3 -0
- package/dist/serve-cli.d.ts.map +1 -0
- package/dist/serve-cli.js +20 -0
- package/dist/serve-cli.js.map +1 -0
- package/package.json +3 -3
- package/src/board.ts +16 -2
- package/src/browser/client.ts +30 -4
- package/src/browser/entry.ts +9 -0
- package/src/browser/responses/Prompt.ts +6 -0
- package/src/browser/responses/answerBody.ts +11 -0
- package/src/browser/responses/draftSession.ts +101 -0
- package/src/browser/responses/drafts.ts +82 -0
- package/src/browser/responses/preview.ts +7 -0
- package/src/browser/responses/questionnaireControls.ts +74 -0
- package/src/browser/responses/schema.ts +63 -0
- package/src/browser/responses/setup.ts +132 -0
- package/src/browser/responses/submissionFields.ts +15 -0
- package/src/browser/responses/submit.ts +33 -0
- package/src/cli.ts +14 -22
- package/src/files/changes.ts +2 -1
- package/src/http/respond.ts +2 -0
- package/src/metadata/backlinks.ts +5 -0
- package/src/metadata/problems.ts +3 -0
- package/src/metadata/schema.ts +6 -2
- package/src/page/attentionDetails.ts +2 -1
- package/src/page/metadataDetails.ts +6 -0
- package/src/page/navigationScript.ts +1 -1
- package/src/page/shell.ts +1 -1
- package/src/page/style.ts +3 -1
- package/src/page/swap.ts +3 -0
- package/src/path/Identity.ts +3 -0
- package/src/render/markdown.ts +5 -2
- package/src/render/questionnaireDocuments.ts +12 -0
- package/src/render/visualDocuments.ts +3 -0
- package/src/responses/agent-cli.ts +35 -0
- package/src/responses/agent.ts +59 -0
- package/src/responses/await.ts +21 -0
- package/src/responses/composerHtml.ts +28 -0
- package/src/responses/flags.ts +22 -0
- package/src/responses/history.ts +18 -0
- package/src/responses/locate.ts +60 -0
- package/src/responses/make.ts +17 -0
- package/src/responses/outcome.ts +15 -0
- package/src/responses/page.ts +30 -0
- package/src/responses/publish.ts +53 -0
- package/src/responses/publishIn.ts +64 -0
- package/src/responses/read.ts +45 -0
- package/src/responses/records.ts +55 -0
- package/src/responses/retry.ts +23 -0
- package/src/responses/service.ts +117 -0
- package/src/responses/template.ts +72 -0
- package/src/responses/templateHtml.ts +26 -0
- package/src/responses/templateLinks.ts +43 -0
- package/src/responses/templateNodes.ts +55 -0
- package/src/responses/validateSupersedes.ts +24 -0
- package/src/responses/validatedInput.ts +45 -0
- package/src/responses/waitFor.ts +58 -0
- package/src/rpc/contract.ts +3 -2
- package/src/rpc/responseContract.ts +46 -0
- package/src/rpc/server.ts +8 -1
- package/src/serve-cli.ts +37 -0
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,50 @@
|
|
|
8
8
|
and delivery scope. Keep onboarding/report templates and linked in-app review.
|
|
9
9
|
- 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
10
|
|
|
11
|
+
## 0.9.0 - 2026-10-06
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Agent-authored question directives with rich Markdown/Mermaid context, single-
|
|
16
|
+
and multiple-choice controls, open-text prompts and additional human text.
|
|
17
|
+
Submit one validated packet through the existing native response/wait path;
|
|
18
|
+
record optional typed answers alongside a readable Markdown account.
|
|
19
|
+
- Explicit superseding responses with linked immutable history. Qualify earlier
|
|
20
|
+
reviewed contexts and preserve draft text/recovery while clearing selections
|
|
21
|
+
after a source edit or move. Keep legacy question/response files valid.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- Render response context and history through the existing Markdown pipeline with
|
|
26
|
+
raw HTML disabled, retaining local strict Mermaid and no-JavaScript source
|
|
27
|
+
fallback. Resolve template links against the source before recording answers.
|
|
28
|
+
- Scope in-memory drafts and their clearing to the workspace as well as persisted
|
|
29
|
+
storage. Keep existing retention, write opt-in, Linux publisher and wait limits.
|
|
30
|
+
|
|
31
|
+
## 0.8.0 - 2026-10-06
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- Explicit `--responses` / embedding opt-in for anchored local feedback with
|
|
36
|
+
separate immutable question/context and response Markdown records. Preserve
|
|
37
|
+
reviewed revisions and original source bytes; reject stale/conflicting writes
|
|
38
|
+
and distinguish pending, saved, rejected and uncertain outcomes.
|
|
39
|
+
- Browser-local response drafts with a separate 2 MiB workspace bound, 30-day
|
|
40
|
+
retention since edit, explicit clearing and unavailable/expiry disclosure.
|
|
41
|
+
- Native RPC `question`, `response` and per-question `wait` CLI commands, with
|
|
42
|
+
durable 48-hour registration deadlines, clarification/deferral, late replies,
|
|
43
|
+
nondestructive reattachment and an explicit next-response cursor. The waiter
|
|
44
|
+
bundle excludes server/rendering/watchers and transfers only the next reply.
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- Keep the default server read-only. The first safe publisher requires Linux
|
|
49
|
+
directory descriptors, hard-link publication and directory synchronization;
|
|
50
|
+
other platforms retain reading support. Reference symlinks do not grant writes.
|
|
51
|
+
- Block source form actions/frames at the content-security boundary and require
|
|
52
|
+
native NDJSON for the opted-in command route. Existing readable Markdown,
|
|
53
|
+
static raw HTML, local visuals and no-JavaScript reading remain supported.
|
|
54
|
+
|
|
11
55
|
## 0.7.2 - 2026-10-06
|
|
12
56
|
|
|
13
57
|
### Changed
|
package/README.md
CHANGED
|
@@ -14,8 +14,7 @@ getting-started guidance at `/`. **Getting started** in the
|
|
|
14
14
|
sidebar remains available at `/_board/start`, with copyable project, investigation
|
|
15
15
|
and agent-result Markdown templates. Focus a template text area, select all and
|
|
16
16
|
copy; save through your editor or agent tool. Replace example IDs and matching
|
|
17
|
-
references, and record evidence only after an actual observation.
|
|
18
|
-
does not create project files. Templates and links also work without JavaScript.
|
|
17
|
+
references, and record evidence only after an actual observation. Read-only mode does not create project files. Templates and links also work without JavaScript.
|
|
19
18
|
Browser print focuses on the document; document export is outside product scope.
|
|
20
19
|
|
|
21
20
|
It listens on `127.0.0.1` only and answers only requests addressed to a loopback
|
|
@@ -63,8 +62,101 @@ preference says otherwise. A keyboard skip link moves directly to the content.
|
|
|
63
62
|
| --- | --- | --- |
|
|
64
63
|
| `<dir>` | required | The folder to serve. |
|
|
65
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. |
|
|
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
|
+
## Local responses and one logical wait per question
|
|
69
|
+
|
|
70
|
+
Start one shared server with explicit write opt-in:
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
work-board ./project-notes --responses --port 4747
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Use an existing explicit open attention request. In its **Work details and source**,
|
|
77
|
+
choose **Respond to this request**, review the exact source and SHA-256, enter a
|
|
78
|
+
local author label, and preview the Markdown before recording it. An answer may
|
|
79
|
+
say no; **Ask back / clarify** and **Not now** are separate reply kinds. These
|
|
80
|
+
labels are not authenticated identities. Recording a reply never changes source
|
|
81
|
+
status, closes an attention request, executes an agent or establishes acceptance.
|
|
82
|
+
|
|
83
|
+
The app creates immutable question/context and response Markdown files in
|
|
84
|
+
`responses/`. Original documents remain untouched. Questions identify the item,
|
|
85
|
+
request, source path and exact bytes reviewed; changing either the source bytes or
|
|
86
|
+
path creates a different generation. A stale save retains the draft and requires
|
|
87
|
+
review/preview again. The preview names both files and all authored fields; the
|
|
88
|
+
server assigns registration and recorded timestamps when saving.
|
|
89
|
+
|
|
90
|
+
Drafts use separate browser-local storage per workspace/origin: 2 MiB total and
|
|
91
|
+
30 days since the last edit. **Clear workspace drafts** affects drafts, not saved
|
|
92
|
+
source or Mark seen history. Expiry, corrupt/unavailable storage and quota failures
|
|
93
|
+
are disclosed. Text remains in the current window after a storage/save failure.
|
|
94
|
+
Navigation, reload and live source refresh preserve retained drafts; changed
|
|
95
|
+
context must be previewed again. Another unsaved edit made during submission is
|
|
96
|
+
retained. Saved feedback also remains readable without JavaScript.
|
|
97
|
+
|
|
98
|
+
An agent uses these short command names against the shared server:
|
|
99
|
+
|
|
100
|
+
```sh
|
|
101
|
+
# Read the exact current question/context and its reviewedRevision (no write).
|
|
102
|
+
work-board question investigation.model/review-model
|
|
103
|
+
|
|
104
|
+
# Register that reviewed generation and wait for one attributable reply.
|
|
105
|
+
work-board wait investigation.model/review-model --revision <reviewedRevision>
|
|
106
|
+
|
|
107
|
+
# After registration, repeat this same wait after a killed shell or restart.
|
|
108
|
+
work-board wait <question-id>
|
|
109
|
+
|
|
110
|
+
# Retrieve the saved conversation without waiting or consuming any reply.
|
|
111
|
+
work-board response <question-id>
|
|
112
|
+
|
|
113
|
+
# After a clarification/deferral, wait for the next response explicitly.
|
|
114
|
+
work-board wait <question-id> --after <response-id>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`--port` selects another local workspace/server; `--url` accepts only an HTTP
|
|
118
|
+
loopback origin. There is no hidden workspace discovery or automatic server launch.
|
|
119
|
+
Register-and-wait reports its stable question ID and deadline on stderr. Its stdout
|
|
120
|
+
is one JSON result containing the attributable question/context and response;
|
|
121
|
+
exit 0 means a recorded reply, including no/clarification/deferral, not approval.
|
|
122
|
+
Exit 2 reports an unanswered 48-hour deadline; other failures exit nonzero with
|
|
123
|
+
stderr diagnostics. `question` and `response` are explicit read commands.
|
|
124
|
+
|
|
125
|
+
The human deadline starts at first durable registration and does not reset when
|
|
126
|
+
rearming, revisiting a page or previewing. A deadline never deletes/cancels the
|
|
127
|
+
question. Late replies remain readable and take precedence over an old timeout.
|
|
128
|
+
A missing cursor fails explicitly. Replies can be read repeatedly; this provides
|
|
129
|
+
recovery, not exactly-once agent action. The server's 30-second request leases and
|
|
130
|
+
one-second reconciliation checks are distinct from the human's 48-hour deadline.
|
|
131
|
+
During a transport/index outage, waits retry the same question; at the deadline,
|
|
132
|
+
an unavailable service is reported as unavailable rather than falsely unanswered.
|
|
133
|
+
|
|
134
|
+
The client uses bundled native Effect RPC over the existing local command path.
|
|
135
|
+
Serving imports are loaded only for the server command. Each waiter has no
|
|
136
|
+
renderer, Mermaid, filesystem watcher, AtomRegistry or daemon. A pending lease
|
|
137
|
+
returns only its question and next reply, not the entire conversation history.
|
|
138
|
+
Harnesses own model wakeup and shell lifetime: completion is not a universal
|
|
139
|
+
promise of autonomous agent continuation. Re-read/reattach when your harness does
|
|
140
|
+
not inject a completed shell result.
|
|
141
|
+
|
|
142
|
+
Publication holds Linux directory descriptors, writes and synchronizes a private
|
|
143
|
+
temporary file, publishes with a no-replace hard link, then synchronizes the
|
|
144
|
+
response directory. Retries reconcile the same identity/content and never replace
|
|
145
|
+
another contribution; a moved/duplicated/conflicting identity is rejected.
|
|
146
|
+
Symlinked reference folders grant read access only. Changed/moved directories,
|
|
147
|
+
permissions, unsupported filesystem capabilities and uncertain outcomes remain
|
|
148
|
+
explicit. An unrelated editor can change the reviewed source after a preflight
|
|
149
|
+
check; immutable replies still identify the exact reviewed bytes and never claim
|
|
150
|
+
an atomic transaction with that editor. Directory moves after publication can
|
|
151
|
+
produce an uncertain result; reconcile saved source before retrying.
|
|
152
|
+
|
|
153
|
+
Source HTML cannot submit write forms: CSP disables form actions/frames, the
|
|
154
|
+
native route requires same-origin/loopback and NDJSON when writes are enabled,
|
|
155
|
+
and the official response surface renders reviewed context with raw HTML disabled,
|
|
156
|
+
with an escaped exact-source disclosure. Embedded apps must
|
|
157
|
+
explicitly opt in with `boardLayer({ root, responses: true })` and own the trusted
|
|
158
|
+
host boundary. There is no write endpoint for arbitrary paths or source rewriting.
|
|
159
|
+
|
|
68
160
|
## Local visual evidence
|
|
69
161
|
|
|
70
162
|
Use ordinary Markdown such as `` or
|
|
@@ -421,3 +513,19 @@ unknown, invalid components retain their source with a diagnostic, and timelines
|
|
|
421
513
|
preserve authored order. Recorded values do not establish verified acceptance.
|
|
422
514
|
See [the complete source conventions](./docs/vision/delivery/visual-document-examples.md).
|
|
423
515
|
GitHub alert blockquotes render as callouts; comparisons remain ordinary GFM tables.
|
|
516
|
+
|
|
517
|
+
## Rich question packets
|
|
518
|
+
|
|
519
|
+
Agents can prepare Markdown context with `question`/`option` directives and local
|
|
520
|
+
Mermaid diagrams. People select options, always add text, and submit the whole
|
|
521
|
+
packet once. Use `select="one"`, `select="many"` or `select="text"`; choices start
|
|
522
|
+
unselected and a text-only answer can reject the framing. Preview the complete
|
|
523
|
+
record before saving. The existing wait returns typed prompt/option IDs and human
|
|
524
|
+
text with the readable Markdown and exact reviewed context.
|
|
525
|
+
|
|
526
|
+
See [the full source example and contract](docs/vision/delivery/decision-write-examples.md).
|
|
527
|
+
Ordinary Markdown and older response files still work. Decisions are authored
|
|
528
|
+
feedback; superseding direction is explicit and does not establish acceptance or
|
|
529
|
+
change tasks. Response-page raw HTML is disabled. Local strict Mermaid and
|
|
530
|
+
no-JavaScript readable history/source fallback use the existing renderer; recording
|
|
531
|
+
requires JavaScript and `--responses`. Linux-only write support is unchanged.
|