Skip to content

fix(deps): repoint vendor/tinyagents to 27a3f39 for gpt-5 max_completion_tokens (release hotfix, #5498) - #5511

Closed
YellowSnnowmann wants to merge 1 commit into
tinyhumansai:releasefrom
YellowSnnowmann:fix/5498-release-tinyagents-gpt5
Closed

YellowSnnowmann wants to merge 1 commit into
tinyhumansai:releasefrom
YellowSnnowmann:fix/5498-release-tinyagents-gpt5

Conversation

@YellowSnnowmann

Copy link
Copy Markdown
Collaborator

Summary

Problem

release (v0.63.7, what production DMGs build from) pins tinyagents 3e1dbea, whose is_reasoning_model matches only o1/o3/o4. gpt-5.x models reject max_tokens and require max_completion_tokens, so every chat turn on gpt-5.4-mini / gpt-5.6-luna fails before producing output:

tinyagents harness run failed: model error: openai returned HTTP 400
(unsupported_parameter): Unsupported parameter: 'max_tokens' is not supported with
this model. Use 'max_completion_tokens' instead.

main already ships the fix (tinyagents 27a3f39 folds is_gpt5_family into is_reasoning_model, routing the cap to max_completion_tokens; verified — the wire-level gpt5_sends_max_completion_tokens_not_max_tokens test and the o-series / classic tests pass, max_tokens is omitted from the body, not sent as null). It has not reached release.

Solution

  • Repoint the submodule to 27a3f39, matching main. No openhuman source changes.
  • Tradeoff / risk (needs reviewer + CI judgement): 27a3f39 is ~188 tinyagents commits ahead of 3e1dbea (the LangChain-parity audit + the session_store → top-level session module move), and release does not carry the openhuman-side adaptation that paired with that move on main (feat(memory): make memory a pluggable subsystem behind a versioned driver contract #5446agent/session_db still lives in-repo here). release's CI Full Gate builds + tests on all three OSes and is the gate for whether this compiles/works against the older release tree. Draft until that is green.
  • Two cleaner alternatives the maintainer may prefer over this bump:
    1. Promote mainrelease — carries the tinyagents bump and the matching openhuman-side changes together (no divergence). This is the designed path and needs no PR.
    2. Minimal backport — put only the gpt-5 detection onto the release-pinned tinyagents line (is_gpt5_family added to is_reasoning_model, ~35 lines, no API changes) and pin to that instead. Prepared + verified on YellowSnnowmann/tinyagents fix/5498-gpt5-max-completion (e742a25); needs a maintainer to land it in tinyhumansai/tinyagents (no push access here), after which this PR can repoint to that SHA for a minimal-blast-radius hotfix.

Submission Checklist

  • Tests added or updated — N/A: submodule-pin change only; the behavioural fix and its tests (routes_max_tokens_to_max_completion_tokens_for_gpt5, wire-level gpt5_sends_max_completion_tokens_not_max_tokens, o-series, classic) live in tinyagents and pass.
  • Diff coverage ≥ 80%N/A: no openhuman source lines changed (one gitlink SHA).
  • Coverage matrix updated — N/A: dependency-pin change, no feature rows affected.
  • All affected feature IDs listed under ## RelatedN/A: none.
  • No new external network dependencies — confirmed (pin bump only).
  • Manual smoke checklist — N/A: no openhuman release-surface code change; the fix is in the vendored harness.
  • Linked issue closed via Closes #NNN — see ## Related.

Impact

  • Runtime/platform: desktop (macOS/Windows/Linux) — restores gpt-5.x as a usable main model. No behaviour change for classic models (gpt-4o / gpt-4-turbo keep max_tokens).
  • Compatibility: the pin carries the full tinyagents delta between the two pins — see the risk note; CI Full Gate is the arbiter.

Related


AI Authored PR Metadata (required for Codex/Linear PRs)

N/A — not a Codex/Linear-authored PR.

…ion_tokens

release (v0.63.7) pins tinyagents 3e1dbea, whose is_reasoning_model matches
only o1/o3/o4, so gpt-5.x chat turns fail with HTTP 400 (unsupported_parameter:
'max_tokens' ... use 'max_completion_tokens'). 27a3f39 - already pinned on main -
adds gpt-5 family detection (is_gpt5_family) so the OpenAI request builder emits
max_completion_tokens for the gpt-5 family. Advances release's submodule pin to it.

Closes tinyhumansai#5498
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0ebcfafd-da2e-4235-ac70-1237b7a46bae

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@YellowSnnowmann
YellowSnnowmann marked this pull request as ready for review August 12, 2026 07:45
@YellowSnnowmann

Copy link
Copy Markdown
Collaborator Author

Closing — CI Full Gate proves this pin-bump can't ship as an isolated hotfix.

Bumping vendor/tinyagents 3e1dbea27a3f39 fails the release build: 27a3f39 added struct fields that release's openhuman code (which predates the paired main-side updates in #5446) doesn't set, so openhuman (lib) won't compile:

error[E0063]: missing field `artifact` in initializer of `ToolMessage`
error[E0063]: missing field `served_from_cache` in initializer of `ModelResponse`
error[E0063]: missing fields `max_retry_after_ms` and `retry_on` in initializer of `tinyagents::harness::retry::RetryPolicy`
error: could not compile `openhuman` (lib) due to 3 previous errors

So the 188-commit jump needs its matching openhuman-side changes — which is exactly what a mainrelease promotion carries. It can't go in as a submodule bump alone.

Paths that do work for #5498:

  1. Promote mainrelease — brings the tinyagents bump and the struct updates together. Self-heals, no PR needed.
  2. Minimal backportis_gpt5_family onto the release-pinned tinyagents (3e1dbea + ~35 lines, no struct/API changes, so it compiles against release). Prepared + verified on YellowSnnowmann/tinyagents fix/5498-gpt5-max-completion (e742a25); needs a maintainer to land it in tinyhumansai/tinyagents, after which release's pin advances to it.

Closing in favor of one of those.

@tinysweeper tinysweeper 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.

tinysweeper found nothing blocking. Approving.

$0.0066 · 16,900 in / 606 out · 12,370 cached (73%) · z-ai/glm-5.2

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant