[IN TESTING — self-hosted 0.16.6, Kimi-K2.5 via Synthetic Direct]
Four independent fixes that landed together on this stack:
helpers.py — skip PendingApprovalError when the associated run is already
cancelled or failed. Stale approvals from interrupted runs were blocking all
subsequent messages on that conversation. Now checks run status before raising;
falls back to raising on lookup failure (conservative).
letta_agent_v3.py — use prompt_tokens not total_tokens for context window
estimate. total_tokens inflated the estimate by including completion tokens,
triggering premature compaction. This was causing context window resets mid-
conversation and is the root of the token inflation bug (see #3242).
openai_client.py (both build_request_data paths) — strip reasoning_content,
reasoning_content_signature, redacted_reasoning_content, omitted_reasoning_content
from message history before sending to inference backends. Fireworks and Synthetic
Direct reject these fields with 422/400 errors. exclude_none handles None values
but not actual text content from previous assistant turns.
block_manager_git.py — skip DB write when block value is unchanged. Reduces
unnecessary write amplification on every memfs sync cycle.
memfs_client_base.py — remove redis_client= kwarg from GitOperations init.
Dependency was removed upstream but the call site wasn't updated.
Dockerfile / compose files — context window and config updates for 220k limit.
* remove enable cache
* trigger CI
* remove extra with paramters which I believe to be unecessary
* try installing uv manuallly to avoid post install step
* should be fixed by manually installing and not using the action
* remove apps/core and apps/fern
* fix precommit
* add submodule updates in workflows
* submodule
* remove core tests
* update core revision
* Add submodules: true to all GitHub workflows
- Ensure all workflows can access git submodules
- Add submodules support to deployment, test, and CI workflows
- Fix YAML syntax issues in workflow files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* remove core-lint
* upgrade core with latest main of oss
---------
Co-authored-by: Claude <noreply@anthropic.com>
* uv migration
smaller runners, freeze test runs, remove dev, ruff,hatchling, previw,
poetry, generates wheel, installs wheel, docker
* fix tests and dependency groups
* test fixes
* test fixing and main
* resolve merge conflict
* dev + test dependency group
* Test
* trigger CI
* trigger CI
* add debugging info
* trigger CI
* uv for reusable and sdk preview
* resolve mc and reformat black
* staged-api
* mypy
* fix fern
* prod Dockerfile
* model sweep, and project.toml and uvlock
* --group test -> --extra dev
* remove redundant --extra dev and rename tests to dev
* sdk backwards compat install sqlite
* install sqlite group for sdk-backwards-compat
* install uv on gh runner for cloud-api-integration-tests
* stage+publish
* pytest asyncio
* bug causing pytest package to get removed
* try to fix async event loop issues
* migrate to --with google-cloud-secret-manager
---------
Co-authored-by: Kian Jones <kian@letta.com>