paseo-room 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -3
- package/dist/index.js +1745 -197
- package/dist/index.js.map +1 -1
- package/dist/plugin-assets/paseo-plugin.json +1 -1
- package/dist/prompts/contract/peer.md +12 -0
- package/dist/runtime-plugin/client/data.ts +67 -0
- package/dist/runtime-plugin/client/views.tsx +176 -0
- package/dist/runtime-plugin/index.client.tsx +21 -0
- package/dist/runtime-plugin/index.server.ts +53 -0
- package/dist/runtime-plugin/package.json +5 -0
- package/dist/runtime-plugin/paseo-plugin.json +4 -0
- package/dist/runtime-plugin/server/bridge/bridge.mjs +146 -0
- package/dist/runtime-plugin/server/brief.ts +39 -0
- package/dist/runtime-plugin/server/capabilities.ts +45 -0
- package/dist/runtime-plugin/server/context.ts +80 -0
- package/dist/runtime-plugin/server/contracts/actions.ts +39 -0
- package/dist/runtime-plugin/server/contracts/assignment.ts +51 -0
- package/dist/runtime-plugin/server/contracts/envelope.ts +26 -0
- package/dist/runtime-plugin/server/contracts/peer.ts +112 -0
- package/dist/runtime-plugin/server/controller.ts +559 -0
- package/dist/runtime-plugin/server/correlations.ts +157 -0
- package/dist/runtime-plugin/server/domain/acceptance.ts +69 -0
- package/dist/runtime-plugin/server/domain/authorize.ts +37 -0
- package/dist/runtime-plugin/server/domain/receipts.ts +73 -0
- package/dist/runtime-plugin/server/domain/state.ts +413 -0
- package/dist/runtime-plugin/server/domain/validate.ts +69 -0
- package/dist/runtime-plugin/server/domain/views.ts +233 -0
- package/dist/runtime-plugin/server/events/schema.ts +214 -0
- package/dist/runtime-plugin/server/gate.ts +233 -0
- package/dist/runtime-plugin/server/generated/location.ts +11 -0
- package/dist/runtime-plugin/server/git.ts +158 -0
- package/dist/runtime-plugin/server/handlers/actions.ts +130 -0
- package/dist/runtime-plugin/server/handlers/peer.ts +183 -0
- package/dist/runtime-plugin/server/handlers/turns.ts +113 -0
- package/dist/runtime-plugin/server/hooks.ts +73 -0
- package/dist/runtime-plugin/server/lifecycle.ts +60 -0
- package/dist/runtime-plugin/server/notices.ts +103 -0
- package/dist/runtime-plugin/server/ownership.ts +63 -0
- package/dist/runtime-plugin/server/paseo-port.ts +217 -0
- package/dist/runtime-plugin/server/recognition.ts +80 -0
- package/dist/runtime-plugin/server/recovery.ts +166 -0
- package/dist/runtime-plugin/server/rpc.ts +169 -0
- package/dist/runtime-plugin/server/spool.ts +143 -0
- package/dist/runtime-plugin/server/store/project.ts +228 -0
- package/dist/runtime-plugin/server/store/publish.ts +142 -0
- package/dist/runtime-plugin/server/tools.ts +91 -0
- package/dist/runtime-plugin/shared/identity.ts +16 -0
- package/dist/runtime-plugin/shared/limits.ts +40 -0
- package/dist/runtime-plugin/shared/manifest.ts +51 -0
- package/dist/runtime-plugin/shared/policy.ts +61 -0
- package/dist/runtime-plugin/shared/rpc-contracts.ts +66 -0
- package/dist/runtime-plugin/shared/rpc.ts +34 -0
- package/dist/runtime-plugin/tsconfig.json +22 -0
- package/package.json +9 -4
package/README.md
CHANGED
|
@@ -30,9 +30,11 @@ npx paseo-room auth login codex lead # interactive login for exact
|
|
|
30
30
|
npx paseo-room auth login claude peer
|
|
31
31
|
npx paseo-room auth login pi supervisor # minimal Pi login session; run /login, then exit
|
|
32
32
|
npx paseo-room remove --apply # delete ~/.paseo-room (including role credentials) and providers
|
|
33
|
+
npx paseo-room setup --runtime --apply # opt in to runtime coordination (preview)
|
|
34
|
+
npx paseo-room export --apply # copy runtime state out for review; no daemon needed
|
|
33
35
|
```
|
|
34
36
|
|
|
35
|
-
`setup` and `
|
|
37
|
+
`setup`, `remove` and `export` are dry runs unless you pass `--apply`. Running with no arguments in a
|
|
36
38
|
terminal starts a short wizard: pick an action, pick the agents, review the plan, confirm.
|
|
37
39
|
Setup and the wizard never start login. `auth login` is a separate explicit action, requires
|
|
38
40
|
interactive stdin/stdout/stderr, and targets exactly one selected agent and role; it has no
|
|
@@ -46,6 +48,9 @@ interactive stdin/stdout/stderr, and targets exactly one selected agent and role
|
|
|
46
48
|
| `--apply` | off | Actually write setup/remove changes; `auth login` does not use it. |
|
|
47
49
|
| `--json` | off | One machine-readable document instead of text. |
|
|
48
50
|
| `--no-claude-memory-contract` | off | Omit the role contract from Claude role `CLAUDE.md` files, leaving the room plugin as the only Claude carrier. Your global memory is still carried. `setup` only. |
|
|
51
|
+
| `--runtime` | off | Opt in to [runtime coordination](#runtime-coordination-preview) (preview). A per-run `setup` choice recorded in the room marker; running setup without it deselects runtime. |
|
|
52
|
+
| `--out <dir>` | a new directory under `~/.paseo-room/runtime/v1/exports` | `export` only: where to write the export. Must be new or empty. |
|
|
53
|
+
| `--include-gate-output` | off | `export` only: also copy the bounded, best-effort-masked gate output tails. |
|
|
49
54
|
| `--room-home <path>` | `~/.paseo-room` | Where role homes are written. |
|
|
50
55
|
| `--codex-home <path>` | `~/.codex` | Source Codex configuration. |
|
|
51
56
|
| `--claude-home <path>` | `~/.claude` | Source Claude Code configuration. |
|
|
@@ -69,7 +74,7 @@ starts, its exit code is preserved; a signal is returned using the conventional
|
|
|
69
74
|
**0.8.0-beta.1 or newer**; any selection containing Claude or Pi requires **0.8.0 or newer**.
|
|
70
75
|
Claude also requires Paseo plugins to be enabled explicitly: the generated trusted server plugin
|
|
71
76
|
is the strong contract carrier, and `paseo-room` never enables plugins for you. The plugin is
|
|
72
|
-
version-bounded to `>=0.8.0 <0.
|
|
77
|
+
version-bounded to `>=0.8.0 <0.10.0`. `paseo-room` checks compatibility before touching anything,
|
|
73
78
|
and never installs or upgrades Paseo.
|
|
74
79
|
- An initialised Codex home (`~/.codex/config.toml`) and/or Claude Code home (`~/.claude`).
|
|
75
80
|
Codex must be new enough for `codex debug models` to print its JSON model catalog: the room
|
|
@@ -93,7 +98,7 @@ starts, its exit code is preserved; a signal is returned using the conventional
|
|
|
93
98
|
SKILL.md, references/ # procedure plus a scaffold loaded only when the skill runs
|
|
94
99
|
room/skill-projections/<agent>/lead/ # exact Lead skill aggregate for each seated agent
|
|
95
100
|
plugin/ # Claude only: trusted creation-time system-prompt append carrier
|
|
96
|
-
paseo-plugin.json # accepts Paseo >=0.8.0 <0.
|
|
101
|
+
paseo-plugin.json # accepts Paseo >=0.8.0 <0.10.0
|
|
97
102
|
index.server.ts, server/ # exact provider map + generated role contracts
|
|
98
103
|
roles/codex/<role>/
|
|
99
104
|
config.toml # your config.toml + the room's overrides
|
|
@@ -591,6 +596,50 @@ reading a candidate is more independent than a fresh session of the family that
|
|
|
591
596
|
one project on one family and keep the other for the review seat. Ask the existing Lead for
|
|
592
597
|
that review; Supervisor must route the request to Lead rather than opening a fresh Lead.
|
|
593
598
|
|
|
599
|
+
## Runtime coordination (preview)
|
|
600
|
+
|
|
601
|
+
An opt-in second plugin, `paseo-room-runtime`, gives the room a durable record of delegated work:
|
|
602
|
+
typed assignments, one writer at a time, Peer questions and handoffs, commit-bound candidates, an
|
|
603
|
+
optional independent gate rerun and Lead's acceptance — kept across daemon and plugin restarts.
|
|
604
|
+
It is separate from the Claude contract carrier; a runtime fault never touches that plugin.
|
|
605
|
+
|
|
606
|
+
```bash
|
|
607
|
+
npx paseo-room setup --agent codex --agent claude --runtime # dry run first
|
|
608
|
+
npx paseo-room setup --agent codex --agent claude --runtime --apply
|
|
609
|
+
npx paseo-room verify
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
- **Trust.** Like the carrier, the runtime is trusted, unsandboxed code running in your daemon.
|
|
613
|
+
Enable Paseo plugins yourself; `paseo-room` never does. It is not an operating-system sandbox and
|
|
614
|
+
cannot stop a process running as your user.
|
|
615
|
+
- **Range.** Runtime requires Paseo `>=0.8.0 <0.10.0`. `0.8.0` and `0.9.1` are both live-qualified
|
|
616
|
+
points, so a daemon outside that range is refused for runtime while the baseline room keeps
|
|
617
|
+
working.
|
|
618
|
+
- **Lead** gains room tools such as `assignment_create`, `assignment_dispatch`, `assignment_answer`,
|
|
619
|
+
`assignment_accept` and `gate_run`. **Supervisor** gains `room_status`, `runtime_findings` and
|
|
620
|
+
`message_lead`, and cannot change an assignment.
|
|
621
|
+
- **A runtime-dispatched Peer** gets exactly two tools, `ask` and `handoff`, for its own assignment,
|
|
622
|
+
and still no Paseo room tools. A report exists only once one of those calls is accepted; its
|
|
623
|
+
final message is never read as a report. Claude asks for permission before a Peer's first call
|
|
624
|
+
to `mcp__paseo_room__ask` or `mcp__paseo_room__handoff`: approve it in Paseo, since the runtime
|
|
625
|
+
never answers a permission for a seat. Codex and Pi Peers do not ask.
|
|
626
|
+
- **A Peer that Lead opens directly** with Paseo's own tools is not runtime-managed: it gets no
|
|
627
|
+
reporting tools and appears in no assignment. That is allowed; it is simply outside the record.
|
|
628
|
+
- **Writable work** starts from a clean workspace at an exact base commit and is handed back as an
|
|
629
|
+
immutable commit. The runtime reads the commit and changed paths itself, never merges, resets,
|
|
630
|
+
cleans or stashes, and releases a writer only after Paseo proves the Peer archived.
|
|
631
|
+
- **State** lives under `~/.paseo-room/runtime/v1` as append-only event files. Setup never edits it.
|
|
632
|
+
The **Room runtime** sidebar item and workspace panel show projects, assignments, writer
|
|
633
|
+
ownership and findings, each labelled with how it is known (enforced, detected, procedural,
|
|
634
|
+
unverifiable).
|
|
635
|
+
|
|
636
|
+
To stop using it, finish, close or abandon the recorded work, then run setup **without**
|
|
637
|
+
`--runtime`. Setup refuses while anything is still active or uncertain, and keeps the recorded
|
|
638
|
+
state once it proceeds. `npx paseo-room export --apply` copies that state out; the export omits gate
|
|
639
|
+
output unless you add `--include-gate-output`, and briefs or commands written by a seat cannot be
|
|
640
|
+
proven secret-free. `remove --apply` warns about runtime history and then deletes it with the rest
|
|
641
|
+
of the room.
|
|
642
|
+
|
|
594
643
|
## Documentation
|
|
595
644
|
|
|
596
645
|
- [docs/demonthorn-agent-orchestration-deep-dive.md](docs/demonthorn-agent-orchestration-deep-dive.md)
|
|
@@ -599,6 +648,10 @@ that review; Supervisor must route the request to Lead rather than opening a fre
|
|
|
599
648
|
- [docs/design.md](docs/design.md) — how and why this tool implements that model, and what
|
|
600
649
|
it deliberately does not do. Read this before changing an override.
|
|
601
650
|
- [AGENTS.md](AGENTS.md) — working rules for contributors and coding agents.
|
|
651
|
+
- [docs/product/runtime-coordination-prd.md](docs/product/runtime-coordination-prd.md),
|
|
652
|
+
[docs/design/runtime-coordination.md](docs/design/runtime-coordination.md) and
|
|
653
|
+
[docs/plans/runtime-coordination-phase1-implementation-plan.md](docs/plans/runtime-coordination-phase1-implementation-plan.md)
|
|
654
|
+
— the runtime coordination preview: requirements, technical design and Phase 1 plan.
|
|
602
655
|
- [docs/product/paseo-room-prd.md](docs/product/paseo-room-prd.md) — the original PRD, kept
|
|
603
656
|
for history; the transactional-installer requirements in it were deliberately dropped.
|
|
604
657
|
|