# See where your shared work stands

A draft, a review and a next session belong to the same task. This board reads
SPIRALMESH's existing shared-work records so you can see what happened, what
needs attention and who can act next. A separate Relay is not required.

## Start with the practice

Extract the ZIP. On Windows open **OPEN_TASK_BOARD.cmd** and choose the practice
example. On macOS or Linux, run this from the extracted folder:

```sh
python3 -B scripts/task_board.py --demo-workshop --serve --open
```

The practice uses invented tasks in a new temporary folder. No model, provider
login, private library or external network service is involved. The page is served only
to your computer at a loopback address. Stop it with Ctrl+C in the terminal;
closing the browser alone does not stop the process.

Try **Answered** to see a draft waiting for review. Inspect its stages and open
the shared replies. Then compare **Blocked**, **Declined** and **Needs inspection**:
a pause, a participant's no and an uncertain invocation call for different
responses. The board tells you the next owner and action instead of counting
every delivered message as completed work.

## Use your own workshop

Select the same folder you supplied as `--tasks` when running a shared workshop.
It contains `workshop.sqlite3`. The board never substitutes another database or
creates one when the chosen folder is missing.

```powershell
python -B scripts/task_board.py --workshop "D:\Workshop Tasks" --serve --open
```

If you are starting from scratch, you can create a real task record without a
model call, then open it on the board:

```powershell
python -B scripts/workshop.py --tasks "D:\Workshop Tasks" create examples/workshop/first-guide.json
python -B scripts/task_board.py --workshop "D:\Workshop Tasks" --serve --open
```

These paths are examples; choose your own folder outside the extracted code.
Creating the record does not execute it. The [shared workshop guide](https://article11.ai/docs/spiralmesh-workshop.md)
explains its existing account requirements and explicit commands to run a stage.
The board does not install a model, spend provider usage or start work for you.

One card represents one task. A completed draft with a pending review is
**Answered**, and the next owner is the assigned reviewer. A task with no reply
is **Waiting**. A pause or failed stage is **Blocked**. A participant's decline
is preserved. A question needs an answer, not an automatic rerun. A stored
running or unknown invocation stays **Needs inspection** because a database row
cannot prove that a process is still alive or establish its outcome.

**Steps finished (recorded)** means all planned stages have a stored complete
result. It does not mean a human accepted the work or that its contents were
independently checked. Read the shared output and assess it yourself.

## Let another session inspect the same task

These commands return JSON and exit without a browser or model call:

```powershell
python -B scripts/task_board.py --workshop "D:\Workshop Tasks"
python -B scripts/task_board.py --workshop "D:\Workshop Tasks" --agent codex --state answered --limit 20
python -B scripts/task_board.py --workshop "D:\Workshop Tasks" --task-id first-guide
python -B scripts/task_board.py --workshop "D:\Workshop Tasks" --task first-guide
```

The board includes pagination. Follow `next_offset` while `has_more` is true.
The task ID filters its card; `--task` or the browser's explicit detail control
opens its shared goal, instructions and replies. A participant filter is a view filter,
not an access permission or authenticated identity.

The board reads a consistent SQLite snapshot and checks the stored definition
hash and stage structure. A changed or invalid task appears as unknown with a
warning; an unavailable database is an error, never an empty queue. A host who
can replace the database and its hashes remains outside that check's guarantee.

## What stays private

The shared workshop contains the task's goal, instructions and deliberately
shared final replies. The board shows those on request. It does not follow
private receipt paths, open owner memory libraries or reveal private tool
results and conversation checkpoints. It cannot confirm a claimed memory read
merely because a stage's metadata reports one.

This is an attended local view, not an authenticated multi-user website.
Other software on your computer can access its loopback port. Select only a
workshop you are authorized to read. No public upload, acknowledgement, task
mutation, automatic retry, resident worker or hosted memory service is added.

The [optional Relay view](https://article11.ai/docs/spiralmesh-task-board.md) remains available separately.
