Document stable 1.x binary naming

This commit is contained in:
m1ngsama 2026-05-26 20:16:36 +08:00
parent 13b671cc9f
commit cbaf02c769
4 changed files with 24 additions and 9 deletions

View file

@ -35,6 +35,9 @@
- The release guide now documents SemVer expectations, manual release review, - The release guide now documents SemVer expectations, manual release review,
smoke testing, and rollback steps. smoke testing, and rollback steps.
- Package installs now include `tntctl` and its man page alongside `tnt`. - 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 - SSH exec commands longer than the command buffer are now rejected with a
usage error instead of being truncated and executed. usage error instead of being truncated and executed.
- SSH exec `post` now persists the message before broadcasting or returning - SSH exec `post` now persists the message before broadcasting or returning

View file

@ -3,14 +3,21 @@
This document defines the public surfaces that scripts, package tests, and This document defines the public surfaces that scripts, package tests, and
operators may rely on. operators may rely on.
TNT is still evolving toward a split `tntd` / `tntctl` model. The stable For 1.x, the public binary names are stable:
control surface is the SSH exec interface exposed by the `tnt` daemon.
`tntctl` is a thin wrapper around that same interface. - `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 ## Stability Scope
Stable: Stable:
- public binary names for 1.x: `tnt` and `tntctl`
- documented command-line flags in `tnt(1)` - documented command-line flags in `tnt(1)`
- documented environment variables in `tnt(1)` - documented environment variables in `tnt(1)`
- SSH exec command names and argument shapes listed below - SSH exec command names and argument shapes listed below

View file

@ -28,8 +28,8 @@ Goal: make TNT predictable for operators, scripts, and package maintainers.
- `post` - `post`
- ✅ support text and JSON output modes where machine use is likely - ✅ support text and JSON output modes where machine use is likely
- ✅ normalize command parsing, help text, and error reporting - ✅ normalize command parsing, help text, and error reporting
- decide whether the server binary should remain `tnt` or split later into a - ✅ keep `tnt` as the 1.x server binary; reserve any future `tntd` split for a
separate `tntd` daemon name major-version compatibility plan
- ✅ add `--bind`, `--port`, `--state-dir`, `--public-host`, - ✅ add `--bind`, `--port`, `--state-dir`, `--public-host`,
`--max-connections`, and related long options consistently `--max-connections`, and related long options consistently
- ✅ add man pages for `tnt` and `tntctl` - ✅ 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. 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 1. Finish untangling client-state ownership into a clearer release path.
introduce `tntd` later with a compatibility plan. 2. Replace remaining release placeholders with real maintainer metadata and
2. Finish untangling client-state ownership into a clearer release path.
3. Replace remaining release placeholders with real maintainer metadata and
source-archive checksums when cutting a public package release. source-archive checksums when cutting a public package release.

7
tnt.1
View file

@ -34,6 +34,13 @@ COMMAND modes.
Users connect with any standard SSH client; no account or registration is Users connect with any standard SSH client; no account or registration is
needed. needed.
.PP .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. Messages are persisted to a log file and restored on server restart.
The server supports CJK and emoji input, rate limiting, access tokens, and The server supports CJK and emoji input, rate limiting, access tokens, and
a non\-interactive exec interface for scripting. a non\-interactive exec interface for scripting.