docs(m1): answer the Cowork probe - Step 1 Verify now exits 0
All four bullets answered by the operator in a live Cowork session. The step's Verify goes from exit 1 to exit 0, which is the whole point of having written it as a `test` rather than a count-and-eyeball: it was red for a reason and is now green for a reason. - Sesjonsmodus: sky - Host-MCP: ja - python3: ja 3.11.15 - CLAUDE_PLUGIN_ROOT: ja Host-MCP is `ja` on both halves of the rule, not just the first. The connector was listed AND `probe_ping` returned `probe-tools 0.0.1, python 3.14.0 @ /usr/local/bin/python3` -- a macOS path and the host interpreter, against the sandbox's 3.11.15 [GCC 13.3.0]. The call crossed from the cloud session to this Mac. That was the prediction stated before the call, so the test could have falsified it. Consequence recorded alongside the capability, because it is a cost: a plugin-declared MCP tool in Cowork needs this machine awake, connected and carrying the right Python. A cloud session elsewhere reaches nothing. The degradation branch is therefore also the answer to "this Mac is asleep" -- a routine state, not an exceptional one. Run 2 of the two-run record was dropped rather than quietly skipped. It was designed on the expectation that the off run would fail; it did not, and the default configuration already gives a working host-side server. Confirming that local mode also works has low value against its cost, so it is deferred with the reason stated and named as the first thing to try if the cloud path breaks. One negative result worth keeping: an individual tools/call does NOT reach main.log. `grep -c probe_ping main.log` returned 0 both before and after a successful call. The check script already refused to read that absence as an answer; this records why that caution was correct. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
41854ae01a
commit
8f0c2fa360
1 changed files with 26 additions and 10 deletions
|
|
@ -27,17 +27,17 @@ Overwrite `ubesvart` with one of the allowed answers, and put the date of the
|
|||
measurement in the Measured column. A `nei` is a result, not a failure — it
|
||||
selects the degradation branch below.
|
||||
|
||||
- Sesjonsmodus: ubesvart
|
||||
- Host-MCP: ubesvart
|
||||
- python3: ubesvart
|
||||
- CLAUDE_PLUGIN_ROOT: ubesvart
|
||||
- Sesjonsmodus: sky
|
||||
- Host-MCP: ja
|
||||
- python3: ja 3.11.15
|
||||
- CLAUDE_PLUGIN_ROOT: ja
|
||||
|
||||
| Bullet | What the operator does in Cowork | Allowed answer | Measured |
|
||||
|---|---|---|---|
|
||||
| `- Sesjonsmodus:` | Open a Cowork session and read whether it is a local VM or cloud | `lokal VM` or `sky` | |
|
||||
| `- Host-MCP:` | Upload `jobbsok-probe.plugin` via Customize -> Plugins; does `probe-tools` appear as a connector, and does `probe_ping` return? | `ja` or `nei` | |
|
||||
| `- python3:` | Run the `probe-versjon` skill; does it succeed in invoking `python3`, and which version does it report? | `ja` or `nei`, followed by the reported version | |
|
||||
| `- CLAUDE_PLUGIN_ROOT:` | Run `probe-versjon`; does it print a resolved absolute path, or the literal variable name? | `ja` or `nei` | |
|
||||
| `- Sesjonsmodus:` | Open a Cowork session and read whether it is a local VM or cloud | `lokal VM` or `sky` | 2026-09-04 -- read off the measurement, not the settings screen: the sandbox reports `/root/...` paths and `[GCC 13.3.0]` |
|
||||
| `- Host-MCP:` | Upload `jobbsok-probe.plugin` via Customize -> Plugins; does `probe-tools` appear as a connector, and does `probe_ping` return? | `ja` or `nei` | 2026-09-04 -- both halves hold: connected per `main.log`, and `probe_ping` returned `probe-tools 0.0.1, python 3.14.0 @ /usr/local/bin/python3` |
|
||||
| `- python3:` | Run the `probe-versjon` skill; does it succeed in invoking `python3`, and which version does it report? | `ja` or `nei`, followed by the reported version | 2026-09-04 -- `3.11.15 (main, Mar 3 2026) [GCC 13.3.0]`, the SANDBOX interpreter, not the host's |
|
||||
| `- CLAUDE_PLUGIN_ROOT:` | Run `probe-versjon`; does it print a resolved absolute path, or the literal variable name? | `ja` or `nei` | 2026-09-04 -- `/root/.claude/plugins/synced/<session>_<account>/jobbsok-probe`, and the path exists |
|
||||
|
||||
### Two-run record: is the session-location setting the lever?
|
||||
|
||||
|
|
@ -53,8 +53,8 @@ cheap one to lose: it is the current default, and a fresh install returns to it.
|
|||
|
||||
| Run | `Only on this computer` | `probe-tools` listed? | `probe_ping` answers? | Manifest version | Date |
|
||||
|---|---|---|---|---|---|
|
||||
| 1 | off (current default) | | | | |
|
||||
| 2 | on | | | | |
|
||||
| 1 | off (current default) | yes | yes -- returned host Python 3.14.0 | 0.0.1 | 2026-09-04 |
|
||||
| 2 | on | not run -- see below | | | |
|
||||
|
||||
How to read the pair:
|
||||
|
||||
|
|
@ -277,6 +277,22 @@ client's `protocolVersion` rather than asserting its own default. The client
|
|||
asked for `2025-11-25`, which is newer than the server's fallback; a hardcoded
|
||||
version would have made this handshake a different and worse story.
|
||||
|
||||
**The consequence, which is a cost and not only a capability.** Because the
|
||||
server runs on the Mac and is bridged in, a plugin-declared MCP tool in Cowork
|
||||
depends on this machine being awake, connected, and carrying the right Python
|
||||
environment. A cloud session on a phone or another laptop reaches nothing. That
|
||||
is the honest shape of operator decision 7: it buys real host access -- the
|
||||
guard, the workspace, the filesystem -- at the price of tying the Cowork surface
|
||||
to one machine. The degradation branch below is therefore not only the answer to
|
||||
a `nei`; it is also the answer to "this Mac is asleep", which is a state that
|
||||
will occur routinely rather than exceptionally.
|
||||
|
||||
Also worth recording, because it shaped this script's own check: an individual
|
||||
`tools/call` does **not** appear in `main.log`. The connection lifecycle does.
|
||||
`grep -c probe_ping main.log` returned 0 both before and after a successful
|
||||
call, so the absence of that line proves nothing -- which is why the check
|
||||
script says so instead of reading it as an answer.
|
||||
|
||||
### O2. The sandbox and the host are two different interpreters
|
||||
|
||||
| Where | Interpreter | Evidence |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue