Skip to content

[Hotfix] Cherry-pick to release-v0.179.3 - #1094

Merged
truefoundry-saas merged 6 commits into
release-v0.179.3from
cherry-pick/735ce6c7-5f21-475b-9b37-e1109508fa67/release-v0.179.3
Oct 19, 2026
Merged

truefoundry-saas merged 6 commits into
release-v0.179.3from
cherry-pick/735ce6c7-5f21-475b-9b37-e1109508fa67/release-v0.179.3

Conversation

@truefoundry-saas

@truefoundry-saas truefoundry-saas commented Oct 19, 2026 •

Copy link
Copy Markdown

Automated cherry-pick for release request 735ce6c7-5f21-475b-9b37-e1109508fa67.

Source PRs (merged to main):

Warning

This PR does not contain the fix yet. The cherry-pick conflicted, so
automation stopped at the first conflicting commit and left the rest out.
GitHub therefore shows this PR as mergeable, with no conflict to resolve —
it currently carries no changes at all (an empty placeholder commit).
Paste the prompt below into any coding agent that has this repository open.
It checks out this branch, applies the missing commits, and pushes.
Do not merge the PR. The release request checks every commit within a few
minutes (or use "Sync status" on it). The PR is merged when the request is
approved — or, if it is already approved, when a QA member or engineering
admin uses "Retry merge".

Agent prompt — copy from here:

Apply the missing cherry-pick commits onto this pull request. Work only in this repository. Do not merge the pull request and do not open a new one.

Repository: truefoundry/trueforge
Branch to check out and push to: cherry-pick/735ce6c7-5f21-475b-9b37-e1109508fa67/release-v0.179.3
Base branch (do not commit onto this directly): release-v0.179.3
The first commit conflicted in: packages/frontend/src/authSession.ts.

Commits still missing, in this order:
1. 7f2be59e6e8beaa91d67aa9e6338203a519beed7
2. 69f099012ee004b79c4bd9da0e7e5725b804cdc0
3. b037c92d91f64ea75665379062faf3c36551256c
4. 248e7683b4d3f96b5fd0bb54e875989ad1c148bc

Steps:
1. Fetch and check out the branch above.
2. For each missing commit, in the order listed, run `git cherry-pick -x <sha>`. Keep the `-x`: the release request confirms a commit from the "cherry picked from" line it writes.
3. If a cherry-pick conflicts, resolve it so that commit's changes land on this branch, then `git add` the resolved files and `git cherry-pick --continue`. Do not skip a commit and do not abort the sequence.
4. Push to the same branch. This pull request updates on its own.
5. Stop. Do not merge the pull request.

Conflicting file(s):

  • packages/frontend/src/authSession.ts

Commits still to apply (starting at the conflict):

  • 7f2be59e6e8beaa91d67aa9e6338203a519beed7
  • 69f099012ee004b79c4bd9da0e7e5725b804cdc0
  • b037c92d91f64ea75665379062faf3c36551256c
  • 248e7683b4d3f96b5fd0bb54e875989ad1c148bc

Do not merge manually — this PR is merged automatically when the release request is approved. If you do merge it yourself, use "Sync status" on the request so it stops showing as pending.


Note

Medium Risk
Changes the LLM request path and MCP tool-call handling for streaming/parsing, plus a behavioral change to model spec validation; analytics event names are a breaking rename for existing dashboards.

Overview
Release hotfix (0.179.2) bundling Anthropic tool streaming, analytics, session validation, and image build wiring.

Agent / LLM: For the TrueFoundry provider, outbound requests now send the anthropic-beta: fine-grained-tool-streaming-2025-05-14 header and always set Anthropic toolStreaming: true in provider options. Tool execution parses function.arguments before calling MCP tools; invalid or non-object JSON returns a structured parse error (no tool invoke) so the model can retry.

Session specs: model.params.reasoning_effort is checked against the model’s advertised efforts only when that list is non-empty—empty/missing lists no longer 422 specs that set an effort.

Analytics: Public AnalyticsEvents strings are prefixed with trueforge. for host sinks. The frontend wires PostHog via VITE_POSTHOG_* in the Docker/release build; hostAnalytics is created only for authenticated sessions and attaches tenant on each capture.

Reviewed by Cursor Bugbot for commit 168851d. Bugbot is set up for automated code reviews on this repo. Configure here.

@changeset-bot

changeset-bot Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 168851d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@truefoundry/trueforge-ui Patch
@truefoundry/trueforge Patch
@truefoundry/trueforge-core Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

harshil-2096 and others added 4 commits October 19, 2026 10:20
…de tenant id (#1036)

* chore: accept PostHog Vite build args in Dockerfile

Allow SaaS image builds to bake in analytics via --build-arg without affecting default OSS images.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: update analytics event names to include 'trueforge' namespace

* refactor: enhance analytics tracking with tenant ID and update session state structure

* feat: prefix AnalyticsEvents names with 'trueforge.' for better event namespacing

* refactor: simplify SessionState type definition for clarity

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 7f2be59)
* Wire posthog creds during build

* nit: env ordering

(cherry picked from commit 69f0990)
* refactor: remove reasoning effort validation from agent spec

* refactor: simplify reasoning effort validation logic in agent spec

* chore: add changeset for relaxed reasoning effort validation

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit b037c92)
* feat: fine-grained tool streaming via TFY beta header

TrueFoundry uses anthropic_beta instead of mutating tool defs; native
Anthropic keeps call-level toolStreaming.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: inline TFY fine-grained tool streaming beta string

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: use anthropic-beta header name for TFY tool streaming

Match Anthropic's wire header spelling instead of anthropic_beta.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: drop TFY beta header unit test; note deprecation

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: report invalid tool-arg JSON as a distinct parse error

Fine-grained streaming can leave incomplete arguments; surface parse_error
without echoing the raw payload.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 248e768)

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 168851d. Configure here.

const outboundHeaders =
provider.type === 'truefoundry'
? { ...headers, 'anthropic-beta': 'fine-grained-tool-streaming-2025-05-14' }
: headers;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Anthropic beta header on all models

Medium Severity

Every TrueFoundry request now gets anthropic-beta: fine-grained-tool-streaming-2025-05-14. In TrueFoundry mode all catalog models share provider.type === 'truefoundry', so GPT, Gemini, Bedrock, and other non-Anthropic models receive this Anthropic-only header. The header is also written last, so it replaces any existing anthropic-beta value instead of merging features. The native Anthropic path already uses toolStreaming; this obsolete beta is known to be rejected by some backends (for example Bedrock Claude), which can fail the whole model call.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 168851d. Configure here.

@truefoundry-saas
truefoundry-saas merged commit 5d868fc into release-v0.179.3 Oct 19, 2026
15 checks passed
@truefoundry-saas
truefoundry-saas deleted the cherry-pick/735ce6c7-5f21-475b-9b37-e1109508fa67/release-v0.179.3 branch October 19, 2026 10:34
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.

4 participants