Release v0.1.19¶
Overview¶
G-Agent v0.1.19 is a runtime reliability release for live Telegram operation, stuck-session recovery, approval continuations, and visual identity/selfie generation through the current OmniRoute Codex image path.
This release keeps the existing local-first architecture intact and focuses on bugs observed in real channel logs: PAP/selfie requests being routed as normal chat, Telegram slash commands being swallowed, /new not clearing runtime checkpoints, approval follow-ups being blocked by the busy-session guard, and OpenAI-compatible image generation using stale image-model assumptions.
Highlights¶
- Deterministic PAP/selfie routing: explicit Indonesian PAP/selfie/photo requests now execute the
selfietool before normal LLM routing, so messages such aspap,minta pap,PAP!!!!, andpappppno longer depend on model interpretation. - Telegram command recovery: Telegram slash commands now await the shared async dispatcher and the Telegram command menu is generated from the router registry instead of a stale hardcoded list.
- Busy-session repair: stale
runningcheckpoints are marked stale, approval follow-ups can continue blocked tasks, and/new//resetcancel running task checkpoints in addition to archiving chat history. - Codex image model alignment: OpenAI-compatible image generation now supports the current Codex image-capable model IDs:
cx/gpt-5.5,cx/gpt-5.4, andcx/gpt-5.3-codex. - Image endpoint hardening: OpenAI-compatible image endpoints are normalized for
/v1,/api/v1, full/images/generations, and trailing-slash base URLs. - Actionable image errors: image API HTTP failures now include the provider response body with secret redaction, making runtime failures diagnosable from checkpoints/logs.
Fixes and hardening¶
- Fixed deterministic selfie/PAP intent detection with false-positive filters for unrelated words such as
paper,paprika,papua, andpapa. - Fixed selfie delivery flow so successful tool delivery suppresses redundant follow-up LLM text.
- Fixed runtime busy checks so resume and approval intents are evaluated before rejecting a message as busy.
- Fixed approval resolution so successful approval continuations complete the previous blocking checkpoint.
- Fixed stale checkpoint handling with bounded stale detection based on task timestamps.
- Fixed
/newand/resetto report how many running runtime tasks were cleared. - Fixed Telegram callback/message slash command paths by awaiting
SlashCommandDispatcher.try_handle(). - Fixed Telegram bot command registration to include the current router command set.
- Fixed OpenAI-compatible image payload selection so
cx/*andcodex/*models use OpenAI Imagesresponse_format: b64_jsonandsize: 1024x1024, not SDXL-style width/height/step fields. - Fixed stale visual documentation and roadmap wording that still presented
gpt-image-2as the active proxy example.
Documentation¶
- Updated visual identity configuration docs to show
cx/gpt-5.5with the local OpenAI-compatible proxy URL. - Updated roadmap wording to refer to current Codex image proxy models instead of stale
gpt-image-2proxy setup. - Updated the Clawra reference archive so historical provider notes do not read as current runtime guidance.
- Added this release note and changelog entry for
v0.1.19.
Verification¶
backend/agent/.venv/bin/python -m pytest -q backend/agent/tests/test_selfie_tool.pypassed with 34 tests.backend/agent/.venv/bin/python -m pytest -q backend/agent/testspassed with 468 tests.backend/agent/.venv/bin/python -m ruff check backend/agent/g_agent backend/agent/tests --select Fpassed.mkdocs build --strictpassed.- Runtime config check showed
visual.image_gen.model = cx/gpt-5.5andvisual.image_gen.api_base = http://localhost:20128/v1.
Runtime notes¶
A fresh runtime log confirms the fixed image path uses the configured physical description and cx/gpt-5.5 payload, then delivers the selfie and suppresses the follow-up LLM call. Reference-image vision extraction is not expected on every request when visual.physicalDescription is already cached in config.