Skip to content

service: per-event sessions are never archived #1135

Description

@edwin-zvs

The per-event routing mode is documented as "per event a new session (session auto archived)". Nothing archives. Every request to a per-event service leaves a session behind permanently.

The archive primitive exists and works (construct archive <id> / the subagent + session archive MCP methods) — it terminates the adapter and hides the session while keeping its transcript and worktree. It is simply never called from the service path.

To decide:

  • When. Immediately on turn completion is wrong if the caller has not yet polled GET /svc/<name>/sessions/<id> for the result. Some grace period, or archive-on-result-read, is needed.
  • Keyed routing too? Keyed sessions are meant to stay warm for the next event, so they need an idle policy rather than a per-turn one.
  • Retention. The design accepts that service history accumulates and defers a retention policy; archiving does not delete, so accumulation on disk continues either way. That is accepted for now but should be stated where an operator will see it.

Related: without this, #1134 is worse, since unattributed sessions accumulate without bound.

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