Skip to content

service: sessions are not stamped with their definition version, and no recycle offer after an edit #1139

Description

@edwin-zvs

Definitions apply without a restart (#1119 / spec 0173), and each field's propagation class is published as shared data so the schedule shown beside a field is the one the daemon obeys. Two honesty gaps remain on top of that.

Sessions are not stamped with the definition version that created them. Instruction, harness, model, working directory, and sandbox are all next-session, so a live conversation is running the definition as it stood when it started — which may no longer be what any client displays. There is currently no way to tell which, other than inferring from when the session started. This touches SessionSummary.

There is no offer to recycle idle sessions after an edit. When an operator changes an instruction, keyed sessions keep the old one indefinitely — potentially forever, since a keyed session lives as long as its key keeps being used. The design deliberately keeps recycling explicit ("recycling is always explicit"), which is right for a session mid-conversation, but explicit should mean offered, not impossible.

The two go together: stamping is what lets a client show which sessions are stale, and staleness is what makes a recycle offer actionable. Neither changes daemon behavior, which is why they were split out of #1119.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions