Repository navigation
feat: PLTF-3553 Add org condenser max_tokens rollout configuration - #337
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mutation review of the tests in this PRI ran the new/changed tests against 17 hand-written mutants of the diff — 4 controls that revert what the PR claims to do, 13 candidates in the machinery around it. Baseline for the exercise: Controls — all caught ✅
The central claims are pinned, and the reason they are pinned is worth naming: the PostgreSQL integration test drives the real Survivors — 13 mutants, suite stayed green ✅
Every fix below was verified twice: it passes on this branch unmodified, and it fails with its mutant applied. 1. The pydantic branch of
|
Co-authored-by: openhands <openhands@all-hands.dev>
|
Addressed the mutation-test feedback in commit 5564ccf:
Validation run locally:
There were no inline review threads to resolve. This PR comment was created by an AI agent (OpenHands) on behalf of the user. |
Impact assessment: self-hosted / customer installs vs SaaSVerdict: Additive-inert by default: no customer self-hosted/OHE, SaaS prod, SaaS staging, SaaS dev, or feature-preview behavior changes unless that surface explicitly sets the new What changed
Environment × flag matrix (before → after)
Validation level: PR state and checks verified with Behaviors that change, and for whom
Why customer / self-hosted installs are safe
Rollout notePR #337 is open but draft. Its checks are passing, including the new PostgreSQL 16 integration workflow, and the PR body advertises enterprise-server image The change reaches a surface only after that enterprise-server image, or a later image containing the merge commit, is deployed there. With current SaaS GitOps values, deploying the image alone remains inert because the This analysis was produced by an AI agent (OpenHands) on behalf of @aivong-openhands. |
Port the org condenser reconcile tests off the bespoke Postgres harness (a GitHub service container + POSTGRES_TEST_DATABASE_URL, with the schema hand-built via Org table metadata) and onto the existing testcontainers harness fixtures in tests/unit/conftest.py. The async_session_maker fixture already provides a per-test database cloned from the alembic-migrated template, so the tests now exercise the real schema (including migration 108 server_default on org.agent_settings) instead of a model-derived one. They run under the existing py-tests workflow with no new CI, service container, or POSTGRES_TEST_DATABASE_URL wiring. Verified locally against testcontainers postgres:16: all 3 tests pass. Follow-ups that need the workflow OAuth scope (this automation cannot push workflow files): delete .github/workflows/postgres-integration-tests.yml, and close PR #369 which only worked around the old harness collision. Co-authored-by: openhands <openhands@all-hands.dev>
✅ Live validation on a local KinD clusterWe stood up a full OpenHands Enterprise Helm install on a local KinD cluster and validated this PR end‑to‑end together with the matching chart change (OpenHands‑Cloud #1214). Setup
What we verified
The reconciliation advisory‑lock/retry path and the app‑server startup lifespan trigger both behaved as designed; no issues attributable to this PR were found. (Two environment‑only hiccups — a stale LiteLLM virtual‑key cache and KinD sandbox memory pressure — were unrelated to this change and resolved locally.) This comment was created by an AI agent (OpenHands) on behalf of the user. |
dylan-openhands
left a comment
There was a problem hiding this comment.
Thanks for the live validation!
|
🚀 Released in 1.61.0. |
Summary
max_tokensconfiguration.agent_kind: "llm"org settings while skipping ACP and no-op variants.Validation
uv run pre-commit run --config ./dev_config/python/.pre-commit-config.yaml --files ...uv run pytest -q tests/unit/test_org_defaults_config.py tests/unit/storage/test_org_default_settings.py tests/unit/test_org_member_store.py tests/unit/test_user_store.py tests/unit/test_org_store.py::test_create_org_applies_configured_condenser_max_tokens tests/unit/test_org_store.py::test_create_org_skips_configured_condenser_max_tokens_for_acpuv run pytest -q tests/integration/test_org_condenser_reconciliation_postgres.py(locally skipped withoutPOSTGRES_TEST_DATABASE_URL; new workflow runs it with PostgreSQL 16)This PR was created by an AI agent (OpenHands) on behalf of the user.
@aivong-openhands can click here to continue refining the PR
Enterprise server image for this PR: