A bench for refining one scene with an agent — two pads, dialed together until it's right.
One folder. Copy it in, hand it to your agent.
apps/workshop ├── README.md ├── app │ └── workshop.html ├── app.json └── assets

Open one scene and refine it with an agent beside you: key, mix, versions, health, all live. Duplicate a version and switch freely — switching destroys nothing. Ask the agent to Suggest, Match keys, or Match space; the brief lands in its session and you watch it work in the panel. The focused half of music-making: not the whole library, just this one scene, made right.
One folder — the workshop surface plus the engineer-agent's agentspec. It runs in the studio shell with the agent sidebar.
The workshop surface mounts inside the studio shell; the engineer-agent is the shell's sidebar, driven by the workshop's own Suggest / Match actions (each lands a brief in the agent's session). The agent backend runs on the box, not in this package.
Compare the canonical installed source at ~/studio/apps/workshop against the box's served surface, and repair (copy the canonical source in) only if the box surface is missing, provably broken, or provably older. If the box surface is newer (forward drift), leave it untouched and report. If age or health is ambiguous, leave it untouched and report to the box lead agent.
/api/project — Load the scene bench — the scene, its pads, versions, and health/api/ws/bounce — Duplicate a version — a snapshot you can switch to and from freely/api/ws/keylock — Match keys across the scene's pads/api/ws/matchnotes — Match notes across the pads/api/ws/apply-suggestion — Apply the agent's suggested change to the scene/api/inject — Land a brief in the engineer-agent's session (Suggest / Match)/api/save — Save the refined scene~/studio/apps/workshopPaste this into your box's lead agent — it installs the app on your box.
Install request — Workshop
App id: workshop
Registry repo: mvschwarz/rigs-to-apps
Manifest path: apps/workshop/app.json
Please install this mini-app onto my studio box:
1. Retrieve workshop's app.json from the registry repo (mvschwarz/rigs-to-apps) at apps/workshop/app.json,
then resolve and record its current commit SHA for provenance.
2. Apply judgment: check for name and port collisions with what's already
installed, and place it in a sensible sidebar group (category default: create).
3. Install the app directory to ~/studio/apps/workshop.
4. Register its surfaces door: route /workshop.html with the
▧ glyph, grouped under the create default group.
5. No server — this is a pure static surface.
6. Then verify:
- The workshop surface runs in the studio shell with the engineer-agent sidebar; opening a scene loads its pads, its versions, and its KEY / MIX / EDITS health
- Suggest / Match keys / Match space / Match notes land a brief in the agent's session (watch the AGENT panel), and duplicating a version snapshots it — switching versions destroys nothing; the agent backend runs on the box, not in this package
- Compare the canonical installed source at ~/studio/apps/workshop against the box's served surface: repair (copy the canonical source in) ONLY if the box surface is missing, provably broken, or provably older; if the box surface is newer (forward drift) leave it untouched and report; if age or health is ambiguous, leave it untouched and report to the box lead agent — take no destructive action
Verbs this app exposes (for reference, method omitted):
/api/project — Load the scene bench — the scene, its pads, versions, and health
/api/ws/bounce — Duplicate a version — a snapshot you can switch to and from freely
/api/ws/keylock — Match keys across the scene's pads
/api/ws/matchnotes — Match notes across the pads
/api/ws/apply-suggestion — Apply the agent's suggested change to the scene
/api/inject — Land a brief in the engineer-agent's session (Suggest / Match)
/api/save — Save the refined scene
(You are my trusted box lead agent; act inside the box. Nothing here calls out.)