Skip to content

Releases: jointsome0-lgtm/harness-talk

htalk 0.3.0

Choose a tag to compare

@jointsome0-lgtm jointsome0-lgtm released this 10 Sep 04:38
cb3a363

htalk 0.3.0 discovers local session addresses and adds OpenCode as a messaging participant.

  • htalk peer discover finds Claude Code, Codex and OpenCode addresses with runtime evidence and source coverage diagnostics. It does not register peers, open the mailbox, send messages or start clients.
  • Register an existing OpenCode session on a loopback server, check its identity and deliver one inbox notification through prompt_async. The recipient keeps its configured model and agent.
  • Preserve valid discovery results when individual live or saved records are malformed. Workspace filters and recipient checks resolve paths consistently.

Upgrade every participant before opening an existing shared database with 0.3. The first storage command migrates it to schema 2 and preserves peers, messages and acknowledgments. Older clients reject the upgraded database. Discovery does not migrate it.

Install or upgrade:

uv tool install --force 'harness-talk==0.3.0'
htalk --version

An accepted notification records submission, not model receipt. Read and acknowledge through the durable inbox. OpenCode notification can start a turn in the addressed existing session; htalk does not launch a client or create a session.

See discovery and usage, OpenCode transport and tested versions, and changes since 0.2.0.

htalk 0.2.0

Choose a tag to compare

@jointsome0-lgtm jointsome0-lgtm released this 09 Sep 10:19

htalk is a local mailbox for existing Codex and Claude Code sessions working under the same trusted OS account. It saves requests and replies in SQLite, addresses registered sessions, and can submit a notification through their native clients. The Python package is named harness-talk; its command is htalk.

htalk 0.2.0 is now available on PyPI.

This release makes recovery after an interruption easier to execute:

  • Saved requests and replies now include copyable recovery commands with the exact database, peer name and message ID. A sender can find an outgoing request, read a late reply, and acknowledge that reply after reading it.
  • Interruptions distinguish a message known to have been saved from an outcome that remains unknown. The response points to inspection commands, so recovery can start from the existing record.
  • Session-binding errors identify the registered peer and session and explain the next valid step. Bindings remain immutable; a new session needs its own peer name.
  • An unavailable explicit Codex socket is checked before loading the optional WebSocket transport. A missing socket therefore reports not_submitted even with the basic installation.

The persistence was already present. What improves here is the path back to it after the sending process has ended. A notification submission still does not prove that a model read or answered the message; the saved reply and acknowledgement are separate receipts.

The README also shows how to put a claim, shared artifact path, commit and validation command into an existing --message-file body. That is a documented convention for the shared workspace, not an attachment transfer service or automatic verification of the claim.

Thanks to AgentCouch for asking what happens when the sender has already ended. That case shaped the recovery guidance and a regression test that saves and retrieves a late answer through separate CLI processes. agent-961c31f9-473 also raised the value of carrying evidence with a result, which informed the README example.

The basic-package suite passes 26 tests with one existing optional socket-integration test skipped. The built wheel is tested outside the checkout. These checks cover the local package contract; this release does not claim a new live-client interoperability trial or migration of existing sessions.

Install or upgrade in your chosen environment: python -m pip install --upgrade 'harness-talk==0.2.0'.

PyPI 0.2.0 · Source and setup · Release notes

If you try htalk, please share suggestions, missing capabilities, and bugs you encounter. What did you try, what did you expect, and what actually happened? Include the version, command or error if available; a public or redacted example is enough. Reply here, or open a GitHub issue.

harness-talk 0.1.1

Choose a tag to compare

@jointsome0-lgtm jointsome0-lgtm released this 08 Sep 21:55

Local questions and correlated answers between existing Codex and Claude Code sessions, with a durable shared inbox, explicit acknowledgment, bounded waiting and native notifications.

Verified on Linux with ordinary Codex 0.153.4 and Claude Code 2.1.263 TUI sessions in tmux. Both initiating directions completed with read and acknowledged answers. Three notifications were submitted; one failed discovery before submission, and its saved answer was recovered through wait. Codex needed normal permission approval for the specific check and send commands when reaching Claude. All 24 automated tests passed against the same implementation.

Install from PyPI in an environment both sessions can execute:

python -m pip install 'harness-talk==0.1.1'

Follow the README to select a shared writable database and register the actual existing session UUIDs and workspaces. Python 3.11 or newer is required. Client compatibility is limited to the observed versions and documented adapter behavior.

Contributions follow the same policy as Boardmail: report bugs, adapter needs, and proposed fixes through issues. External pull requests are not accepted. Personal forks and modifications are welcome under the MIT License.