Skip to content

Releases: caty-ai/caty-gateway

v0.2.0 — GET /filler?kind=<kind>: per-kind filler clips for the CatyPhone 安心発話ラダー (#52)

Choose a tag to compare

@shojikumaru shojikumaru released this 07 Sep 18:06
bd39326

v0.2.0 — GET /filler?kind=: per-kind filler clips for the CatyPhone 安心発話ラダー (#52)

GET /filler accepts ?kind=thinking|wait|large|alive|fail|announce and draws one
clip from that kind only. No query keeps the previous pooled draw byte-for-byte;
unexpected query keys and unknown / empty / repeated kinds are 404 before any
config or registry access; a valid kind with no clips, a stale / tampered /
unpublished pack, or a legacy install never falls back to another kind or the
flat pool. Pack format unchanged. pyproject 0.2.0.

Evidence: PR #53 completion record (L1-7) with the 5-seat review
#53 — CI at 580d524:
https://github.com/caty-ai/caty-gateway/pull/53/checks

v0.1.6 — Linux setup writes a unit systemd accepts; __version__ from package metadata

Choose a tag to compare

@shojikumaru shojikumaru released this 07 Sep 11:14
8c8fd6d

Fixed

  • Linux: setup now renders a unit systemd accepts (#38, PR #44). 0.1.4 and 0.1.5 wrote WorkingDirectory="…" / EnvironmentFile="…" with literal double quotes; systemd does not strip quotes on path directives and refused the unit (path is not absolute), so every Linux install failed at the health phase. Both directives are now rendered as the bare absolute path (only % escaped as %%; homes with spaces are supported). Paths that cannot be written into a unit file (newline, leading/trailing whitespace, trailing backslash) fail in preflight with an explicit message. macOS / launchd is unchanged.
  • Upgrade from a failed 0.1.4/0.1.5 install: after pip install -U caty-gateway, re-run the same caty-gateway setup --member <id> …. While the resume state is alive the stale unit is re-rendered automatically (only when the member's env file is provably ours). After --reset or once the resume TTL has passed, the printed messages name the file to move aside.

Hygiene

  • caty_gateway.__version__ is now read from the installed distribution metadata (falls back to 0+unknown in a bare source checkout) instead of a hard-coded 0.1.0 (#42, PR #46). A test pins it to pyproject.toml.

Verification

  • Full suite on main (8c8fd6d): 1218 passed, 252 subtests; env inventory no drift; publication gate OK.
  • Review: 3 heterogeneous seats (Kimi K3 / Muse Spark 1.3 / Gemini 3.8 Flash), two rounds per PR, all GO; writer Codex GPT-6 Astra.

Full changelog: v0.1.5...v0.1.6

v0.1.5 — status --member no longer shows the Detail: line of an earlier failed attempt

Choose a tag to compare

@shojikumaru shojikumaru released this 07 Sep 03:45
e114ad3

Fixed

  • caty-gateway status --member <id> no longer shows the Detail: line of an earlier failed attempt under a later succeeded status. The orchestrator now clears the status message when a new run starts and writes setup completed on success, matching the supervised path. Regression test: fail → succeed → no stale Detail:. (#35, PR #40)

Docs

  • Quick Start (EN/JA), the CLI reference table and the four READMEs now say that non-interactive runs (ssh, scripts) need --yes, and that CATY_QR_DELIVERY=tty keeps the final QR as text instead of waiting in the URL mode: CATY_QR_DELIVERY=tty caty-gateway setup --member <id> --backend <b> --yes. (#34, PR #37)
  • docs/smoke/: layer-A records from a Hetzner VPS (Ollama PARTIAL → #38, Hermes NOT RUN). (#2, PR #41)

Both findings came from the #31 layer-A smoke on a real second host. Package version 0.1.5; PyPI: https://pypi.org/project/caty-gateway/0.1.5/ (published from this tag via publish.yml).

Full changelog: v0.1.4...v0.1.5

v0.1.4 — caty-gateway qr no longer blocks in socket.getfqdn before printing the QR URL

Choose a tag to compare

@github-actions github-actions released this 06 Sep 05:06
f7798ef

v0.1.4 — caty-gateway qr no longer blocks in socket.getfqdn before printing the QR URL; shared no-reverse-DNS bind mixin for both servers

v0.1.3 — gateway startup no longer blocks in socket.getfqdn on hosts with slow reverse DNS

Choose a tag to compare

@github-actions github-actions released this 06 Sep 04:13
5b7d305

v0.1.3 — gateway startup no longer blocks in socket.getfqdn on hosts with slow reverse DNS

Runtime fix (Issue #19, follow-up of #13 / PR #18). The gateway's HTTP server now binds through a ThreadingHTTPServer subclass whose server_bind skips socket.getfqdn; on hosts without a fast reverse-DNS path (hosted GitHub macOS runners measured ~36 s per start) the service is reachable immediately after launch. Behaviour otherwise unchanged. Package version 0.1.3.

Evidence:

v0.1.2 — README links caty.talk, one-command install first, PyPI-ready absolute URLs; package version 0.1.2

Choose a tag to compare

@github-actions github-actions released this 06 Sep 03:51
320a083

v0.1.2 — README links caty.talk, one-command install first, PyPI-ready absolute URLs; package version 0.1.2

Docs + packaging release (Issue #11). README x4 (en / ja / zh / th) link the product page https://caty.talk, lead the install section with the one-command installer (marked "coming with the PyPI release"), use absolute URLs so the PyPI-rendered README works, and carry the live PyPI badge. docs/engineering.{md,ja.md} mirror the install order. pyproject.toml version 0.1.0 -> 0.1.2 so this tag and the package agree; #9 publishes to PyPI from this tag.

Evidence:

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 18:52
2ae51ef

caty-gateway v0.1.1 — qr --member loads the installed service environment; help strings for setup and doctor (#6, PR #10)

caty-gateway v0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:41
e4d1845

caty-gateway v0.1.0

First public release of caty-gateway — the PC-side gateway that lets CatyPhone talk, by voice, to the AI agent running on your own machine (Claude Code, Codex CLI, OpenClaw, Hermes, or any OpenAI-compatible server such as Ollama / LM Studio).

Highlights

  • One install command, then caty-gateway setup shows a QR code; scan it with CatyPhone to pair over your Tailscale network.
  • Five backends with a passive doctor preflight; serve is fail-closed (non-loopback needs a token).
  • Conversations travel only between your PC and your phone; history stays on your PC.
  • Attachments are metadata-only in this release (no backend receives original files yet).

Repository

  • Fresh history, MIT license, README in English / 日本語 / 简体中文 / ไทย, docs in three layers, contributing guide.
  • CI gates: test + lint with suite reconciliation, gitleaks, history check, PR size, risk-review labels; macOS lane runs on hosted runners now that the repository is public.

Not in this release

  • PyPI package (tracked separately); real-conversation smoke records for every backend (issue #2); the ACP attachment path.

Previous release: none (first release).