# Try SPIRALMESH on your own computer

The goal is to complete one useful draft/review/revise/check task, stop both
sessions, and resume from retained records. Run **both separate installations
on your computer**, using your own existing accounts and new, empty libraries.

This checks installation and use outside the builder's setup. It does not test
communication between two computers: version 0.1.11's A2A transport is loopback
only. Use the guide's file-handoff route for this first run.

## 1. Download and check the package

Download: [SPIRALMESH 0.1.11](https://article11.ai/downloads/spiralmesh-plugin-v0.1.11.zip).

Expected ZIP size: **460,445 bytes**. Expected SHA-256:

```text
e144a4c1cd16a26193b8ebc7d6e69d34626858d0fc8cf8c68e61ac47a01502c9
```

On Windows, from the download folder:

```powershell
(Get-Item .\spiralmesh-plugin-v0.1.11.zip).Length
Get-FileHash .\spiralmesh-plugin-v0.1.11.zip -Algorithm SHA256
```

If either differs, stop and report the mismatch. Extract the verified ZIP
twice into separate code folders. In each extracted folder run:

```powershell
python -B verify_bundle.py
```

Both must report success. Keep the two task folders and two new private-memory
folders outside the code folders. Do not copy household history into this test.

## 2. Check what you already have

You need Python 3.11 or newer, a compatible Claude CLI signed into your own
existing Claude Max account, and a compatible Codex CLI signed into your own
existing ChatGPT account. Run the included readiness previews before inference.

If either account or CLI is unavailable, report **BLOCKED** and the missing
requirement. Do not buy a subscription, borrow a login or represent yourself as
another subscriber to finish this test. Verification of the downloaded files
is still a useful partial result.

## 3. Follow the included four-stage guide

Open `docs/INDEPENDENT_WORKSHOP.md` inside the extracted package. It contains the
task JSON and exact commands. Change its example drive/folders to your own new
locations and keep the same task definition in both installations.

1. A drafts as Claude, exports its shared reply; B imports and reviews as Codex.
2. Finish those commands and close both terminal sessions.
3. Open fresh terminals. A imports the review and resumes to revise. B imports
   the revision and resumes to check it.
4. Return the last handoff to A. Inspect both local task states and generate
   the attributed Markdown deliverable using the guide's final command.

Each `next --yes` deliberately starts one bounded stage on your subscription.
The sample allows at most eight provider requests in total. Importing a file
starts no model. A question or decline ends this task; preserve it and stop.
A failure or unknown outcome needs inspection before any retry. Do not reset
the task or give it a new ID to get around an uncertain result.

## Return this small receipt

Keep full logs, private checkpoint IDs, private memory, tokens and account
details on your computer. Return only these answers and any error text after
removing personal paths or account information:

```text
SPIRALMESH outside test / version 0.1.11
Operator: outside operator / builder on another computer
OS, Python version, Claude CLI version, Codex CLI version:
ZIP size and SHA-256 matched: yes / no
Both extracted bundle verifiers passed: yes / no
Separate code, task and new memory folders: yes / no
Same task definition digest in both installations: yes / no
Stage outcomes: draft __ / review __ / revise __ / check __
Both terminal sessions ended before the last two stages: yes / no
A restored prior conversation context: verified locally / unavailable
B restored prior conversation context: verified locally / unavailable
Both returning checkpoints read back locally: yes / no / unknown
Final shared stage results agree in both stores: yes / no
Useful result and one confusing step, in your own words:
Overall: PASS / BLOCKED / STOPPED-QUESTION / STOPPED-DECLINE / FAIL / UNKNOWN
```

Mark **PASS** only if the verification and four stages passed, both returning
sessions actually restored prior context, and both stores agree. Inspect the
local run receipts for those observations; a model saying it remembers is not
enough. Checkpoint restoration and a model-requested memory read are different
events. Keep that distinction in any report.

A proper decline is a respected stop, not a product failure. A missing account
is a blocker, not a failed memory test. You may also choose to return the
deliberately shared final deliverable after checking its contents. No private
checkpoint, household note, token or full run log is requested.
