diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 5033f81..49577d7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -35,6 +35,9 @@ - The release guide now documents SemVer expectations, manual release review, smoke testing, and rollback steps. - Package installs now include `tntctl` and its man page alongside `tnt`. +- The binary naming policy is now explicit: `tnt` remains the stable 1.x + server process name, and any future `tntd` split requires a major-version + compatibility plan. - SSH exec commands longer than the command buffer are now rejected with a usage error instead of being truncated and executed. - SSH exec `post` now persists the message before broadcasting or returning diff --git a/docs/INTERFACE.md b/docs/INTERFACE.md index 94c4e8e..ffe13af 100644 --- a/docs/INTERFACE.md +++ b/docs/INTERFACE.md @@ -3,14 +3,21 @@ This document defines the public surfaces that scripts, package tests, and operators may rely on. -TNT is still evolving toward a split `tntd` / `tntctl` model. The stable -control surface is the SSH exec interface exposed by the `tnt` daemon. -`tntctl` is a thin wrapper around that same interface. +For 1.x, the public binary names are stable: + +- `tnt` is the server process and daemon entrypoint. +- `tntctl` is a thin local wrapper around the SSH exec interface. + +TNT will not introduce a separate `tntd` binary during 1.x. If the project +ever splits the server into `tntd`, that change must ship with a major-version +compatibility plan, package migration notes, and a transition period for the +`tnt` command. ## Stability Scope Stable: +- public binary names for 1.x: `tnt` and `tntctl` - documented command-line flags in `tnt(1)` - documented environment variables in `tnt(1)` - SSH exec command names and argument shapes listed below diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 2c85a04..086fb21 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -28,8 +28,8 @@ Goal: make TNT predictable for operators, scripts, and package maintainers. - `post` - ✅ support text and JSON output modes where machine use is likely - ✅ normalize command parsing, help text, and error reporting -- decide whether the server binary should remain `tnt` or split later into a - separate `tntd` daemon name +- ✅ keep `tnt` as the 1.x server binary; reserve any future `tntd` split for a + major-version compatibility plan - ✅ add `--bind`, `--port`, `--state-dir`, `--public-host`, `--max-connections`, and related long options consistently - ✅ add man pages for `tnt` and `tntctl` @@ -103,8 +103,6 @@ Goal: make regressions harder to introduce. These are the next changes that should happen before new feature work expands the surface area. -1. Decide the daemon naming path: keep `tnt` as the server binary for 1.x, or - introduce `tntd` later with a compatibility plan. -2. Finish untangling client-state ownership into a clearer release path. -3. Replace remaining release placeholders with real maintainer metadata and +1. Finish untangling client-state ownership into a clearer release path. +2. Replace remaining release placeholders with real maintainer metadata and source-archive checksums when cutting a public package release. diff --git a/tnt.1 b/tnt.1 index cecd23f..c0d9496 100644 --- a/tnt.1 +++ b/tnt.1 @@ -34,6 +34,13 @@ COMMAND modes. Users connect with any standard SSH client; no account or registration is needed. .PP +In the 1.x series, +.B tnt +is the stable server process name. +Use +.BR tntctl (1) +for local control commands against a running server. +.PP Messages are persisted to a log file and restored on server restart. The server supports CJK and emoji input, rate limiting, access tokens, and a non\-interactive exec interface for scripting.