paseo-room 0.9.0 → 0.10.0

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.
Files changed (35) hide show
  1. package/README.md +22 -13
  2. package/dist/index.js +279 -169
  3. package/dist/index.js.map +1 -1
  4. package/dist/plugin-assets/paseo-plugin.json +1 -1
  5. package/dist/prompts/contract/supervisor.md +22 -1
  6. package/dist/prompts/runtime/handoff-request.md +5 -4
  7. package/dist/prompts/runtime/successor-kickoff.md +3 -2
  8. package/dist/runtime-plugin/client/kit.tsx +3 -1
  9. package/dist/runtime-plugin/client/model.ts +24 -4
  10. package/dist/runtime-plugin/client/pills.ts +3 -1
  11. package/dist/runtime-plugin/client/room.tsx +8 -1
  12. package/dist/runtime-plugin/paseo-plugin.json +1 -1
  13. package/dist/runtime-plugin/server/attention/delivery.ts +21 -6
  14. package/dist/runtime-plugin/server/attention/engine.ts +28 -8
  15. package/dist/runtime-plugin/server/attention/observer.ts +42 -10
  16. package/dist/runtime-plugin/server/attention/succession-store.ts +8 -2
  17. package/dist/runtime-plugin/server/attention/succession.ts +87 -17
  18. package/dist/runtime-plugin/server/brief.ts +8 -0
  19. package/dist/runtime-plugin/server/context.ts +2 -1
  20. package/dist/runtime-plugin/server/contracts/actions.ts +11 -4
  21. package/dist/runtime-plugin/server/controller.ts +29 -14
  22. package/dist/runtime-plugin/server/domain/state.ts +5 -2
  23. package/dist/runtime-plugin/server/events/schema.ts +3 -0
  24. package/dist/runtime-plugin/server/git.ts +8 -4
  25. package/dist/runtime-plugin/server/handlers/actions.ts +27 -8
  26. package/dist/runtime-plugin/server/notices.ts +136 -50
  27. package/dist/runtime-plugin/server/paseo-port.ts +23 -0
  28. package/dist/runtime-plugin/server/recovery.ts +2 -5
  29. package/dist/runtime-plugin/server/store/project.ts +29 -10
  30. package/dist/runtime-plugin/server/tools.ts +7 -3
  31. package/dist/runtime-plugin/shared/identity.ts +31 -10
  32. package/dist/runtime-plugin/shared/policy.ts +5 -1
  33. package/dist/runtime-plugin/shared/rpc-contracts.ts +1 -1
  34. package/dist/runtime-plugin/shared/seat-context.ts +4 -0
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -73,9 +73,9 @@ starts, its exit code is preserved; a signal is returned using the conventional
73
73
  - A running Paseo daemon with CLI and daemon on the same version. Codex requires
74
74
  **0.8.0-beta.1 or newer**; any selection containing Claude or Pi requires **0.8.0 or newer**.
75
75
  Claude also requires Paseo plugins to be enabled explicitly: the generated trusted server plugin
76
- is the strong contract carrier, and `paseo-room` never enables plugins for you. The plugin is
77
- version-bounded to `>=0.8.0 <0.10.0`. `paseo-room` checks compatibility before touching anything,
78
- and never installs or upgrades Paseo.
76
+ is the strong contract carrier, and `paseo-room` never enables plugins for you. The plugin
77
+ requires Paseo `>=0.8.0` and has no upper bound. `paseo-room` checks compatibility before
78
+ touching anything, and never installs or upgrades Paseo.
79
79
  - An initialised Codex home (`~/.codex/config.toml`) and/or Claude Code home (`~/.claude`).
80
80
  Codex must be new enough for `codex debug models` to print its JSON model catalog: the room
81
81
  seats Codex only if it can generate the scrubbed catalog copy.
@@ -98,7 +98,7 @@ starts, its exit code is preserved; a signal is returned using the conventional
98
98
  SKILL.md, references/ # procedure plus a scaffold loaded only when the skill runs
99
99
  room/skill-projections/<agent>/lead/ # exact Lead skill aggregate for each seated agent
100
100
  plugin/ # Claude only: trusted creation-time system-prompt append carrier
101
- paseo-plugin.json # accepts Paseo >=0.8.0 <0.10.0
101
+ paseo-plugin.json # accepts Paseo >=0.8.0
102
102
  index.server.ts, server/ # exact provider map + generated role contracts
103
103
  roles/codex/<role>/
104
104
  config.toml # your config.toml + the room's overrides
@@ -620,9 +620,10 @@ npx paseo-room verify
620
620
  - **Trust.** Like the carrier, the runtime is trusted, unsandboxed code running in your daemon.
621
621
  Enable Paseo plugins yourself; `paseo-room` never does. It is not an operating-system sandbox and
622
622
  cannot stop a process running as your user.
623
- - **Range.** Runtime requires Paseo `>=0.8.0 <0.10.0`. `0.8.0` and `0.9.1` are both live-qualified
624
- points, so a daemon outside that range is refused for runtime while the baseline room keeps
625
- working.
623
+ - **Range.** Runtime requires Paseo `>=0.8.0`, with no upper bound: Paseo releases faster than each
624
+ release could be checked first, so a newer one is accepted unread. `0.8.0` and `0.9.1` are
625
+ live-qualified, and `0.10.1` was compared file by file with `0.9.2`. If a release breaks the
626
+ plugin, Paseo reports it `failed` and `verify` fails with the load error.
626
627
  - **Lead** gains room tools such as `assignment_create`, `assignment_dispatch`, `assignment_answer`,
627
628
  `assignment_accept`, `gate_run`, and for isolated writers `workspace_close` and `lease_reclaim`.
628
629
  `assignment_create` refuses a base that is not a commit of the repository (`base_unknown`).
@@ -648,6 +649,8 @@ npx paseo-room verify
648
649
  Room seats › Seat context** sets marks per role, as a share of each seat's own model window:
649
650
  - *Lead · report at* (30%): past it, the Lead's Supervisor gets one fact line and the panel shows
650
651
  it with **Replace Lead…**, so you can hand over to a fresh Lead rather than let this one compact.
652
+ The Supervisor may then replace that Lead itself, as below. Turning the mark off leaves
653
+ replacing a Lead to you alone.
651
654
  - *compact at* (Lead 50%, Supervisor and Peer off): a room Claude seat gets
652
655
  `CLAUDE_CODE_AUTO_COMPACT_WINDOW` when its session opens, at creation or on a resume after a
653
656
  daemon restart, so Claude compacts at that share instead of near the end of a 1M window. An open
@@ -670,8 +673,8 @@ npx paseo-room verify
670
673
  puts what needs you first. Below that come your projects, ordered by status, then your
671
674
  Supervisors.
672
675
  - A project shows its Supervisor, its Lead and Peer seats (each opens its agent in Paseo, and
673
- shows the model and thinking option it runs with) and its runtime record: assignments, isolated
674
- writers, findings and recovery.
676
+ shows the model and thinking option it runs with, and the worktree or main checkout it works in
677
+ with its branch) and its runtime record: assignments, isolated writers, findings and recovery.
675
678
  - Starting a Supervisor, adding a repository, starting a Lead for a project that has none, and
676
679
  assigning a Supervisor are guided forms.
677
680
  - The design notes are in [docs/design/runtime-panel-ux.md](docs/design/runtime-panel-ux.md).
@@ -734,6 +737,12 @@ learn only when you ask it to check.
734
737
  before the archive stays on the project's screen for a day, with the reason.
735
738
  - Paseo archives the seats in the Lead's workspace with it; the runtime archives them too when the
736
739
  Lead is not running, when Paseo would take none.
740
+ - **The Supervisor may do the same**, but only for a Lead of its own project that is past its
741
+ rotation mark, through the runtime's `lead_replace_*` tools. The runtime refuses a Lead below
742
+ the mark and applies the same quiet-point checks. The Supervisor reviews the handoff against the
743
+ repository, confirms it, and tells you which Lead now owns the project. The panel shows a
744
+ replacement the Supervisor started, and you may cancel it until it completes. Any other reason to
745
+ replace a Lead stays yours.
737
746
  - **Settings › Room attention.** Here you turn letters on or off, change their thresholds, and
738
747
  configure the optional **attention sensor**.
739
748
  - The sensor speaks the System One HTTP shape, with [TypeSafe Jev](https://docs.typesafe.ai/)
@@ -766,7 +775,7 @@ and the refusal is final for that dispatch — narrow or sequence the work:
766
775
 
767
776
  | Code | Why |
768
777
  |---|---|
769
- | `worktree_unqualified` | the daemon's version has not passed live qualification for worktree dispatch |
778
+ | `worktree_unqualified` | the daemon is older than `0.9.1`, the first Paseo release worktree dispatch was qualified on, or runs a prerelease |
770
779
  | `worktree_setup_unobservable` | `paseo.json` at the base declares `worktree.setup`, which Paseo runs where the runtime cannot see it finish |
771
780
  | `scope_not_canonical` | a `writeScope` or `serialOnly` item is not a repository-relative path or `*`/`?`/`**` glob |
772
781
  | `writer_exclusive` | a writer is still active in Lead's workspace (or, the other way round, isolated writers are active) |
@@ -789,9 +798,9 @@ the same worktree at the next lease epoch; the old Peer's late reports are refus
789
798
  the Human form of both, only where the runtime would accept it, and asks twice before discarding
790
799
  work.
791
800
 
792
- Worktree dispatch is enabled per daemon version, only after the live qualification in the Phase 2
793
- delta §9 passes on that version; `0.9.1` is qualified. On any other version the runtime refuses
794
- `worktree_unqualified` and dispatch without isolation still works.
801
+ Worktree dispatch is enabled on every Paseo release the runtime accepts from `0.9.1`, the release
802
+ that passed the live qualification in the Phase 2 delta §9. An earlier release, or a prerelease or
803
+ build-stamped version, refuses `worktree_unqualified`, and dispatch without isolation still works.
795
804
 
796
805
  To stop using it, finish, close or abandon the recorded work, then run setup **without**
797
806
  `--runtime`. Setup refuses while anything is still active or uncertain — including an isolated