Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions docs/src/relationship-to-shepherd.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,18 @@ ownership:
shepherd user. Shepherd owns the workspace-membership story,
the resumable session ID model, and the persistent state.

## What shepherd will pull from mosey
## What shepherd pulls from mosey

In its current form, shepherd vendors a copy of these primitives.
The migration path is to swap the vendored copy for a direct
dependency on `github.com/firefly-engineering/mosey` once the
v0.1 surface is stable enough to commit to.
Shepherd already depends on `github.com/firefly-engineering/mosey`
directly — it no longer vendors a copy. This list is therefore the
authoritative *committed surface*: the exported API mosey keeps
stable for shepherd. Anything exported but absent from this list and
unused inside mosey is a deletion candidate before the v0.1 surface
freezes.

Specifically, shepherd needs:
Specifically, shepherd imports:

- `api` for the wire protocol IDs and message types.
- `transport.Transport` + libp2p backend for cross-host attaches.
- `auth.Wrap` + cert authenticator for workspace membership.
- `vterm.Session` for the agent-side process under PTY.
Expand Down
119 changes: 0 additions & 119 deletions screen/screen.go

This file was deleted.

115 changes: 0 additions & 115 deletions screen/screen_test.go

This file was deleted.

11 changes: 4 additions & 7 deletions streambuf/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,19 @@
// uses for disconnection tolerance, per
// docs/src/internals/process-model.md "Disconnection tolerance".
//
// Two types live here:
// One type lives here:
//
// - [OutputRing] — a sequence-numbered ring buffer of agent → pane
// output bytes. Owned by shepherd-d for as long as the agent is
// running; replayed on reattach so a brief network blip or a
// daemon-side relay restart doesn't lose rendered output.
// - [InputQueue] — a bounded FIFO of pane → agent input chunks the
// stream-agent holds across a disconnect. Drained back into the
// stream once a fresh AttachAgent is open.
//
// The wire format that resumes a session (PaneAttach.resume_seq plus
// AgentReady.first_seq / next_seq) lives in
// internal/api/v1/shepherd.proto; the relay glue that actually pumps
// bytes through these buffers is added by shep-d3f.7 (libp2p relay) on
// top of the v0.2 attach skeleton (shep-d3f.3). The types themselves
// are kept self-contained and unit-testable so the wiring layer is a
// bytes through this buffer is added by shep-d3f.7 (libp2p relay) on
// top of the v0.2 attach skeleton (shep-d3f.3). The type itself
// is kept self-contained and unit-testable so the wiring layer is a
// thin straightforward addition rather than a redesign.
//
// Defaults are documented on the constructors and exported as
Expand Down
Loading