ssctl 0.2.3

Rust CLI for orchestrating Superset terminal-backed agent sessions
Documentation
# Changelog

All notable changes to this project will be documented in this file.

## [0.2.3] - 2026-06-10

### Fixed

- Changed `ssctl close` to use Superset host-service `terminal.killSession`
  for the default close path so terminal sessions are disposed in the App, not
  only killed in the pty-daemon.
- Explicit close signals still use the pty-daemon signal first, then call the
  host-service lifecycle to dispose the App-side terminal state.
- Registered roles are removed from `.ssctl/registry.json` only after the close
  lifecycle succeeds.

### Security

- Hardened host-service manifest endpoint validation so host-service
  `authToken` values are sent only to loopback HTTP endpoints without URL
  credentials.

## [0.2.2] - 2026-06-09

### Fixed

- Fixed parallel `spawn` failures caused by holding `.ssctl/registry.lock`
  while running slow external Superset operations.
- Added in-registry `pendingSpawns` reservations so duplicate role spawns are
  rejected without creating extra Superset sessions.
- Verified Superset CLI session ids against pty-daemon sessions before updating
  the role registry, avoiding unsafe fallback correlation when the CLI reports a
  session id that cannot be found.

### Changed

- Limited `.ssctl/registry.lock` to short registry read-modify-write sections
  for spawn, send, and close flows.
- Updated README and Agent Skill state-file documentation to describe
  `pendingSpawns` and the narrowed registry lock purpose.

## [0.2.1] - 2026-06-08

### Added

- Added the `ssctl` Agent Skill under `skills/ssctl/` so it can be installed
  from this public repository with `npx skills`.

### Changed

- Refined README content and removed links to local-only architecture notes.

## [0.2.0] - 2026-06-08

### Added

- Added `ssctl close` for closing registered roles or explicitly verified
  sessions through the Superset pty-daemon.
- Added close dry-run and JSON output, with support for `SIGHUP`, `SIGINT`,
  `SIGTERM`, and `SIGKILL`.
- Added Superset pty-daemon protocol v2 runtime integration and host DB metadata
  joins for session inspection.
- Added pty-daemon diagnostics to `ssctl status`.

### Changed

- Moved existing-session inspection, sends, spawn verification, and close support
  onto the Superset pty-daemon runtime path.

## [0.1.0] - 2026-06-08

### Added

- Initial `ssctl` Rust CLI for Superset terminal-backed agent orchestration.
- Commands for status inspection, agent listing, session listing, spawning, sending, handoff, and reporting.
- Local role registry with stale-session cleanup, file locking, atomic writes, and audit logging for forced unregistered sends.
- Structured message transport with bracketed paste wrapping and oversized payload pointerization.
- Superset public CLI adapter and terminal-host protocol v2 client for session inspection and writes.

[0.2.3]: https://github.com/fpdy/ssctl/compare/v0.2.2...v0.2.3
[0.2.2]: https://github.com/fpdy/ssctl/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/fpdy/ssctl/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/fpdy/ssctl/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/fpdy/ssctl/releases/tag/v0.1.0