Skip to content

chore: upgrade carried Hermes runtime to v2026.7.30 - #4

Merged
solovision24 merged 9 commits into
stable/v2026.7.30from
dev/hermes-upgrade-t_16bbffad
Aug 2, 2026
Merged

chore: upgrade carried Hermes runtime to v2026.7.30#4
solovision24 merged 9 commits into
stable/v2026.7.30from
dev/hermes-upgrade-t_16bbffad

Conversation

@solovision24

Copy link
Copy Markdown
Owner

Summary

Verification

  • 372 focused carried-change tests passed
  • 2 component-health rollup tests passed
  • git diff --check passed

Deployment

This PR is the review artifact for local runtime promotion tracked by Kanban t_16bbffad.

solovision24 and others added 4 commits July 31, 2026 08:14
…026.7.20 upgrade

- agent/conversation_loop.py: prioritise structured reasoning fields over
  inline-think content for tool_progress_callback relay
- ui-tui appLayout.tsx: drop stale inputHeight box sizing (auto-size from
  rendered content instead)
- ui-tui textInput.tsx: cancel pending fast-echo parent update on submit

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2ad344803f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread hermes_cli/auth.py
Comment on lines +1580 to +1583
target_path = (
global_path
if provider_id == "openai-codex" and global_path is not None
else _auth_file_path()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep Codex removal state in the same auth store

When a named profile runs hermes auth remove openai-codex ..., pool.remove_index() now removes the shared root pool row here, but _remove_codex_device_code() still clears and suppresses the source in the profile-local auth.json. The root singleton therefore remains available and another profile or the default profile can reseed the shared row; the originating profile then reads that row again and the removed credential reappears, while the initial removal also transiently affects every other profile. Persist the pool, singleton cleanup, and suppression in one owning store, or keep the pool profile-scoped.

AGENTS.md reference: AGENTS.md:L147-L154

Useful? React with 👍 / 👎.

Comment thread hermes_cli/auth.py
Comment on lines +1579 to +1583
global_path = _global_auth_file_path()
target_path = (
global_path
if provider_id == "openai-codex" and global_path is not None
else _auth_file_path()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Guard the global auth path before writing Codex pools

Under pytest, a profile context beneath the real ~/.hermes/profiles/... makes _global_auth_file_path() return the real ~/.hermes/auth.json; that helper explicitly has no pytest seat belt because it was previously read-only. Selecting it as target_path here bypasses the guard in _auth_file_path(), so any Codex pool mutation in such a test can overwrite the developer's real credentials. Apply the same real-auth-store refusal before using this path as a write target.

Useful? React with 👍 / 👎.

Comment thread agent/prompt_builder.py
Comment on lines +2037 to +2039
try:
if profile_home.resolve() == root_home.resolve():
return None

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Apply the universal policy to the default profile

When the active profile is the default profile, this unconditional return prevents ~/.hermes/AGENTS.md from entering the new universal-policy slot. The ordinary AGENTS loader only examines the conversation cwd, and CLI/TUI sessions normally start in the user's project rather than ~/.hermes, so the purported universal policy applies to named profiles but silently disappears from the default profile. Load it for the default profile as well and let the existing context-body deduplication handle the uncommon root-cwd case.

Useful? React with 👍 / 👎.

SoLo and others added 5 commits August 1, 2026 07:03
Merged after independent verification: 54 focused lifecycle/tool/core tests passed, compileall and git diff --check passed, and the PR is limited to the upstream-compatible Hermes baseline.
* fix(kanban): allow requeued review workers past PR guard

* fix(kanban): preserve review routing after crash requeue

* fix(kanban): preserve native review lane on crash

* fix(kanban): apply retry guards to native reviews

* fix(kanban): guard native review respawns during cooldown

---------

Co-authored-by: SoLo <solo@SoLoBot>
Co-authored-by: SoLo <solo@SoLoBot>
* fix(kanban): restore native GitHub PR ingest

* fix(kanban): restore GitHub PR lifecycle safeguards

---------

Co-authored-by: SoLo <solo@SoLoBot>
@solovision24
solovision24 merged commit 4860936 into stable/v2026.7.30 Aug 2, 2026
2 checks passed
solovision24 pushed a commit that referenced this pull request Aug 3, 2026
…e-review #4)

The compression heartbeat's terminal 'context compression completed'
stamp force-persists against the PARENT session id (agent.session_id at
stamp time). After the out-of-place rotation the parent is archived but
kept advertising a fresh last_activity_at + terminal label forever.
Clear the parent row's activity labels best-effort after a committed
rotation (keeps last_activity_at so idle clocks stay continuous; the
child carries live labels). Regression asserts the archived parent's
labels are cleared while the child's lineage is intact
(sabotage-verified).
solovision24 pushed a commit that referenced this pull request Aug 18, 2026
refactor(relay): centralize protocol descriptors
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.

1 participant