Skip to content

FDR-0017: remaining spinclass-side work (Piece 1 mux-defaults removal + presence-consume) #175

@friedenberg

Description

@friedenberg

Resume point for the remaining FDR-0017 spinclass-side work. The chat cutover (Piece 4) is shipped + verified live, and the conformist full-coverage sequence is done; this tracks what's left. Canonical design: docs/features/0017-clown-session-attach-grouping-chat-rescope.md (+ clown RFC-0013).

1. Piece 1 — drop the [session-entry] mux defaults ← START HERE (unblocked)

clown's [attach] landed (clown#145, RFC-0013 §1.3 amended to the full mux layer), so clown now drives the multiplexer attach from the clownfile. spinclass should stop shipping its [session-entry] multiplexer templates.

  • Move out (clown owns now): spawn, start, resume, spawn-entry, spawn-window templates + the multiplexer choice, and resume-title (clown drives resume attach).
  • Stays spinclass (the seam): liveness-probe, tombstone-retention, worktree creation + SPINCLASS_SESSION_ID/identity-env, and remote attach (internal/remote/FDR-0011 — decided "not now").
  • Files: internal/sweatfile/sweatfile.go (the [session-entry] defaults: GetDefault, SessionSpawn/Start/Resume/SpawnEntry/SpawnWindow/ResumeTitle), and the apply sites in internal/executor/session.go + internal/spawn/.
  • Care: confirm sc spawn/fork/resume still work once the templates are gone — clown reads the clownfile [attach] and wraps itself in the mux; spinclass just creates the worktree + sets identity env. Coordinate the exact [attach] schema with clown (clown#145).

2. Presence-consume in sc list (clown#137)

Have sc list read clown's presence index to surface the clowns-running-per-worktree (1-to-many display). clown exposes presence via clown chat list (the MCP chat_list returns {sessionKey, channelId, decoration, description, lastSeen}). Files: cmd/spinclass/commands_query.go (the list rendering). Tracked clown-side as clown#137.

3. SPINCLASS_DESCRIPTION launch-time staleness (refinement)

A mid-session update-this-session-description rename doesn't reach clown's presence label — the description is captured in the env at launch and env can't be mutated. Adjacent to #93. Needs a non-env channel (clown reads spinclass session state, or a push) if live labels are wanted. Optional/minor.

4. Promotion to testing

FDR-0017 experimental → testing: a message addressed to a whole spinclass session reaches every clown under it (a multi-clown group-send), and a per-clown directed message reaches exactly one, for ~1 week with no #118-class sender-flip.


References: FDR-0017, clown RFC-0013, clown#145 ([attach] landed), clown#137 (presence), clown#140 (system-prompt appends, would help inject session id), #93 (auto-update descriptions).


:clown: filed by Clown 0.4.1+5123117

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriageNeeds investigation to determine validity, scope, or current behavior

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions