Skip to content

Enable ChatGPT subscription Codex support end-to-end - #43

Merged
teknium1 merged 11 commits into
NousResearch:mainfrom
grp06:codex/align-codex-provider-conventions-mainrepo
Mar 1, 2026
Merged

Enable ChatGPT subscription Codex support end-to-end#43
teknium1 merged 11 commits into
NousResearch:mainfrom
grp06:codex/align-codex-provider-conventions-mainrepo

Conversation

@grp06

@grp06 grp06 commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

Purpose

Let Hermes use a ChatGPT/Codex subscription (via Codex CLI auth) reliably end-to-end, so subscribers can run Hermes with openai-codex without early stop/failure behavior.

What changed

  • Added OpenAI Codex provider/runtime wiring to use the Responses API path.
  • Fixed Responses tool-call ID parity (call_id + fc_* item ids) for replay compatibility.
  • Marked commentary-only Responses messages as continuations, not final answers.
  • Added a guarded continuation path for preamble-only ack messages ("I'll inspect...") so Hermes proceeds to tool execution.
  • Aligned Responses tool schema with Codex conventions (strict: false).

Result

Hermes now works with ChatGPT subscription-backed Codex auth in a full tool-calling loop, instead of stopping after the first intermediate message.

Verification

  • pytest -q tests/test_auth_codex_provider.py tests/test_runtime_provider_resolution.py tests/test_cli_provider_resolution.py tests/test_run_agent_codex_responses.py

@grp06
grp06 force-pushed the codex/align-codex-provider-conventions-mainrepo branch from 0b3ade2 to ce175d7 Compare February 26, 2026 02:21
@wakamex

wakamex commented Feb 26, 2026

Copy link
Copy Markdown

my testing in #45 found id is optional in responses API input items, only call_id is needed

@teknium1

teknium1 commented Mar 1, 2026

Copy link
Copy Markdown
Contributor

Okay - I am merging this and taking it from here - soon we'll all get codex in :)

@teknium1
teknium1 merged commit 86b1db0 into NousResearch:main Mar 1, 2026
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
…der-conventions-mainrepo

Enable ChatGPT subscription Codex support end-to-end
dizhaky referenced this pull request in dizhaky/hermes-agent Jun 23, 2026
…AN-1385) (#26)

baileys 7.0.0-rc.9->rc13 (clears #43 critical) + protobufjs 7.6.4 (#59,#58) in whatsapp-bridge; esbuild+tsx (#46,#61) in ui-tui; @babel/core (#84) in web; joi+http-proxy-middleware (#51,#89) in website. js-yaml #86 accepted (no in-range fix via gray-matter). Bridge startup verified. #93/#94 (code fixes) separate.

Co-Authored-By: Claude <noreply@anthropic.com>
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…der-conventions-mainrepo

Enable ChatGPT subscription Codex support end-to-end
gonggqing added a commit to gonggqing/hermes-agent that referenced this pull request Jul 14, 2026
…d-session catch-up)

A session missed while serve was down is otherwise skipped (the runner's
watermark = boot time). Add a human-triggered catch-up that runs the full
pipeline into a fresh approval window — without ever auto-placing orders
(Loop.md §4b, §3).

- dailyloop.py: run_session_now() runs monitor→decide (RiskEngine + P0.8
  dead-man's switch)→push into a confirmation window ANCHORED TO NOW (clamped so
  it never wraps past ET midnight), so an off-schedule publish isn't refused as
  WINDOW_CLOSED. finalize_session_now() is the off-schedule cutoff: places the
  human-APPROVED candidates, expires the rest. Neither auto-executes — approval
  stays per-candidate + human.
- api.py: POST /v1/session/run + /v1/session/finalize — human-gated (system
  surface / LLM actor → 403; loop not attached → 503); FinanceRuntime gains
  run_session/finalize_session.
- __main__.py: serve wires them to the US trading loop.

10 tests (now-anchored window incl. late-night no-wrap, finalize no-op, API
guards). Suite 962 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gonggqing added a commit to gonggqing/hermes-agent that referenced this pull request Jul 14, 2026
…ze buttons in the Queue

A human catch-up for a missed 11:30 session, in the Finance Action Queue on both
surfaces. "Run session now" runs monitor→decide→push into a fresh approval
window (does NOT place orders); the pushed candidates appear in the Queue for
approval; "Finalize & place approved" (confirm-gated) places the approved ones.

Desktop (apps/desktop): hermes.ts postFinanceSessionRun/Finalize (surface in
body); queue.tsx SessionControls card — Run (shows pushed/cutoff, dead-man's-
switch warning on entries_halted) + Finalize (ConfirmDialog). 403→human-only,
503→loop-not-attached localized. i18n t.finance.queue.session.* (en+zh).
Web (web): lib/api.ts financeSessionRun/Finalize (structured outcome, never
throws); ApprovalQueue SessionControls (Run + second-click-confirm Finalize) in
QueueView; i18n queue.session (en+zh).

Both human-only (X-Finance-Surface web/desktop + human actor); never auto-orders.
Desktop typecheck/build green; web typecheck/build + 88 tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Soju06 added a commit to Soju06/hermes-agent that referenced this pull request Jul 22, 2026
…resh restacked memory-chain SHAs; register 413-expectation pin

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Soju06 added a commit to Soju06/hermes-agent that referenced this pull request Jul 22, 2026
…tream (PR NousResearch#69209)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Soju06 added a commit to Soju06/hermes-agent that referenced this pull request Jul 27, 2026
…arch#43 route-repromote-hysteresis

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@zapabob zapabob mentioned this pull request Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants