feat: add experimental pushy delivery mode
Some checks failed
tamq-ci / test (push) Has been cancelled
Some checks failed
tamq-ci / test (push) Has been cancelled
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
This commit is contained in:
parent
8186550c9a
commit
9ed8b62b45
16 changed files with 441 additions and 31 deletions
14
SCOPE.md
14
SCOPE.md
|
|
@ -21,6 +21,8 @@ tamq does not choose or infer them.
|
|||
display, a recipient-aware inline composer, and explicit pull-time filters.
|
||||
- Sanitized one-time output notifications through target tmux pane PTYs, with
|
||||
inbox-only delivery as an explicit option and no foreground-process input.
|
||||
- Explicit experimental pushy delivery that submits a sanitized comment and
|
||||
Enter to target pane input for known queue-capable interactive programs.
|
||||
- Explicit opt-in control-mode pane delivery and the full-duplex `tamq tap` PTY
|
||||
broker for integration experiments.
|
||||
- Exact `gita` repository validation and direct `@repo: message` routing.
|
||||
|
|
@ -34,8 +36,9 @@ tamq does not choose or infer them.
|
|||
- Owning goal planning, workflow scheduling, or cross-host coordination; those
|
||||
belong to `coordination-engine` and its consumers.
|
||||
- Acting as a network-accessible or multi-host message broker.
|
||||
- Selecting a coding agent, starting one implicitly, or assuming a pane accepts
|
||||
machine-generated terminal input.
|
||||
- Selecting a coding agent, starting one implicitly, or silently assuming a
|
||||
pane accepts machine-generated input; pushy delivery requires explicit mode
|
||||
selection by the operator.
|
||||
- Bypassing `gita` registration or injecting arbitrary pane input outside the
|
||||
supported tap/control-mode boundaries.
|
||||
- Owning tmux, Codex, State Hub, or adjacent repositories' lifecycle.
|
||||
|
|
@ -53,6 +56,7 @@ transport.
|
|||
| Local socket service | Implemented | Peer-credential checks and structured ping/register/send/history/ack/endpoints/disconnect operations are tested. |
|
||||
| Neutral tmux session lifecycle | Implemented for local alpha | Repository-first startup opens untouched shells at exact gita paths, exports per-window identity, and runs no initial command unless `--command` is explicit. Stable reuse, service restart, and cleanup are covered by the installed-package test. |
|
||||
| Safe manual messaging | Implemented for local alpha | Normal endpoints write one sanitized comment above a stable shell input row without injecting stdin; conservative fallback handles the first row and alternate screens. Messages remain pending until acknowledgement. Inbox-only manual mode is explicit with `--no-display`. |
|
||||
| Experimental pushy delivery | Explicit opt-in | `--mode pushy` submits one sanitized sender-labelled comment plus Enter through a checked tmux command. It marks successful delivery `injected`, but cannot identify pane occupants or protect input already being edited. |
|
||||
| Full-duplex input observation | Explicit opt-in | `--tap --command ...` enables the PTY integration path. It is absent from neutral startup and remains covered for geometry, resize, raw mouse input, and lifecycle behavior. |
|
||||
| Bounded retry behavior | Not enforced | Failed output or injection remains pending and becomes claimable after lease expiry, but no attempt counter or terminal failure state applies the configured cap. |
|
||||
| Acknowledgement policy | Partially implemented | Terminal output remains pending until explicit acknowledgement, while legacy pane injection becomes `injected`; the configured `delivery_ack_mode` does not yet govern both paths. |
|
||||
|
|
@ -76,6 +80,8 @@ Suitable today:
|
|||
gita-registered repositories.
|
||||
- Durable manual message exchange between managed repository windows, including
|
||||
explicit pull-time loggers and filters.
|
||||
- Controlled experiments with pushy delivery to coding-agent interfaces known
|
||||
to queue asynchronous user prompts.
|
||||
- Developing and testing the future coordination-engine adapter against the
|
||||
local socket boundary.
|
||||
|
||||
|
|
@ -83,11 +89,13 @@ Not yet suitable:
|
|||
|
||||
- Unattended pane injection where bounded retries and positive recipient
|
||||
acknowledgement are required.
|
||||
- Pushy delivery to arbitrary shells, editors, or panes with unknown input
|
||||
state.
|
||||
- Production-style operation without longer-running crash/terminal soak tests
|
||||
and stronger process-supervision evidence.
|
||||
- Cross-host messaging or use as a general-purpose broker.
|
||||
|
||||
The suite currently has 109 passing tests and 76% statement coverage. Coverage
|
||||
The suite currently has 117 passing tests and 77% statement coverage. Coverage
|
||||
is strongest in durable storage and registry handling, and weakest in the PTY
|
||||
tap and CLI orchestration; PTY statement coverage increased from 23% to 33%,
|
||||
while subprocess behavior is primarily proven by the real-tmux test. The
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue