# Cursor workbench

The Workbench is a local intent notebook and safe handoff point. It can hold questions about the selected world, cursor, source, trace, configuration, or guide without silently sending them anywhere.

## What works now

- operator intents are kept in a bounded local transcript;
- **Copy ChatGPT context** prepares a public/non-secret capsule;
- **Open ChatGPT** opens `chatgpt.com` in a separate tab after preparing that capsule;
- no model, Cloudflare Worker, repository, or deployment is contacted automatically;
- the page never asks for an OpenAI API key or GitHub token.

This is the only safe browser-side ChatGPT boundary currently shipped. OpenAI API keys are server credentials and cannot be placed in an arbitrary static page. Read [Collaborating with ChatGPT safely](chatgpt-collaboration.md).

## Conversation at every exchange level

Every inspectable world, plane, directory, swarm, body, source, wire, mailbox, fabric, pointer, and store has a curve-scoped local conversation channel. Open a thing to see:

- what it holds;
- what it may exchange;
- current observation evidence;
- a subject-specific message channel;
- a bounded local transcript.

If a local Self is unlocked, a new envelope is signed as `CURSORS-CHAT/1` with that mailbox key before it is stored. If no Self is unlocked, it remains an explicit unsigned local envelope. In both cases delivery is device-local; a signature does not create a remote path.

## Future ChatGPT App or MCP tools

A trusted ChatGPT-side integration may eventually expose narrow capabilities:

1. read selected public cockpit context;
2. draft a signed proposal envelope;
3. apply a patch in an isolated repository runner;
4. run tests and publish a preview;
5. create a branch and draft pull request;
6. return checks and review receipts.

It cannot merge its own work, push directly to `main`, weaken protection, mint its own authority, or expose provider credentials. The browser receives no broad repository token.

## A local signed envelope

```json
{
  "id": "local:...",
  "channel": "cursor.exchange.chat:/curso.rs/:plane:history@curve:local:...",
  "subject": "plane:history",
  "parentIds": [],
  "author": "mbx:ed25519:...",
  "message": "What can resume here?",
  "utc": 1786920000000,
  "delivery": "local-signed",
  "signatureProfile": "CURSORS-CHAT/1",
  "signature": "..."
}
```

The signature proves control of the mailbox key over that exact local envelope. It does not prove human identity, remote delivery, Cloudflare admission, durable replication, or authority to continue a cursor.

Two outer choices remain open:

1. whether each durable message becomes a cursor or batches checkpoint into cursor history;
2. which admitted carrier may deliver a signed envelope to another mailbox without turning a public address into write authority.
