@@ -140,14 +140,19 @@ Claimed cards reject agent-tool mutations from other agents unless the caller
|
140 | 140 | has the claim token returned by `workboard_claim`. Dashboard operators still use |
141 | 141 | the normal Gateway RPC surface and can recover or reassign cards. |
142 | 142 | |
143 | | -Workboard stores all durable board data through the plugin SQLite key-value |
144 | | -store. Cards live in `workboard.cards`, board metadata in `workboard.boards`, |
145 | | -notification subscriptions in `workboard.notify`, and attachment blobs in |
146 | | -`workboard.attachments`. Run history, comments, proof, artifact references, |
147 | | -attachment indexes, diagnostics, dependencies, lifecycle events, worker logs, |
148 | | -protocol state, and automation metadata stay on the card record so a card export |
149 | | -preserves the board narrative without inlining attachment blob contents. Each |
150 | | -attachment blob must fit one 64 KiB plugin state value after JSON serialization. |
| 143 | +Workboard stores durable board data in a plugin-owned relational SQLite database |
| 144 | +under the OpenClaw state directory. Boards, cards, labels, lifecycle events, |
| 145 | +run attempts, comments, dependency links, proof, artifact references, |
| 146 | +attachment metadata and blobs, diagnostics, notifications, worker logs, |
| 147 | +protocol state, and subscriptions are persisted in Workboard tables instead of |
| 148 | +plugin key-value entries. A card export still preserves the board narrative |
| 149 | +without inlining attachment blob contents. |
| 150 | + |
| 151 | +Installations that used Workboard in the `.28` release can run |
| 152 | +`openclaw doctor --fix` to migrate the shipped legacy plugin-state namespaces |
| 153 | +(`workboard.cards`, `workboard.boards`, and `workboard.notify`) into the |
| 154 | +relational database. If a legacy `workboard.attachments` namespace is present, |
| 155 | +doctor migrates those attachment blobs too. |
151 | 156 | |
152 | 157 | Workboard diagnostics are computed from local card metadata. The built-in checks |
153 | 158 | flag assigned cards that wait too long, running cards without recent heartbeat, |
|