Skip to content

Release v1.1.7 - #69

Merged
Chen-ROE merged 1 commit into
mainfrom
release-sdk-python-1-0-91
Aug 7, 2026
Merged

Release v1.1.7#69
Chen-ROE merged 1 commit into
mainfrom
release-sdk-python-1-0-91

Conversation

@roeai-release-bot

@roeai-release-bot roeai-release-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

This PR updates the Python SDK for release 1.1.7.

Generated from:

  • roe-main release branch 1-0-91
  • roe-main commit 52d983a0c8ce72b6704d039d0b089f386a02a6e8

@greptile-apps

greptile-apps Bot commented Aug 1, 2026

Copy link
Copy Markdown

Greptile Summary

This release adds connection-list ordering, exposes credential-configuration state on connection models, and updates the SDK release metadata. Two issues need correction before merging: the focused create, update, and replace transport tests fail because their shared response fixture omits the newly required credentials_configured field, and the public ConnectionsAPI.list() method does not expose the new ordering option.

Validation reproduced all three response-parsing failures and confirmed that the generated endpoint sends ordering=name successfully while the public SDK method rejects the same argument before making a request.

Confidence Score: 3/5

Not safe to merge until the broken connection-response test fixtures and missing public ordering parameter are corrected.

Two independent user-visible problems were reproduced: three core connection mutation test paths fail while parsing their response fixture, and the newly added ordering capability is inaccessible through the public SDK facade.

Files Needing Attention: tests/unit/test_connections_wrapper_transport.py needs its shared response fixture updated; src/roe/api/connections.py needs to accept and forward ordering. src/roe/_generated/models/connection.py defines the required field that triggers the fixture parsing failure.

T-Rex T-Rex Logs

What T-Rex did

  • Reviewed a posted P1 finding that reports focused connection wrapper test failures when credentials_configured is absent, supported by the focused connection wrapper test log.
  • Inspected the focused public connections ordering contract check source and the runtime output showing the rejected ordering argument and the generated ordered request.
  • Validated another P1 finding with no artifacts attached.
  • Reviewed the general-contract-validation-proof, noting that pytest traces show KeyError on missing credentials_configured in _connection_json.
  • Compared public ordering contract behavior end-to-end, observing that facade.list(ordering='name') errors before a request is sent while the internal sync_detailed call returns 200 OK with an ordering parameter; this was informed by the review script and runtime output artifacts.

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments Outside Diff (3)

  1. src/roe/api/connections.py, line 43-59 (link)

    P1 Connections facade drops ordering support

    ConnectionsAPI.list() neither accepts nor forwards ordering, although the generated connections-list operation supports it in the query string. Calling the public SDK method with ordering="name" raises TypeError before a request is issued, so users cannot use the newly added ordering feature without bypassing the supported facade. Add the argument and forward it as UNSET when omitted.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Artifacts

    Focused public connections ordering contract check source

    • Review-authored executable script that invokes the public facade with ordering and captures the generated endpoint request contract; it is the runnable reproduction.

    Runtime output for rejected public ordering argument and generated ordered request

    • Captured output from the focused check shows the public call's TypeError before dispatch and the generated endpoint's 200 OK request containing ordering=name; the contract bug is confirmed.

    View artifacts

    T-Rex Ran code and verified through T-Rex

    Fix in Claude Code

  2. General comment

    P1 Connection wrapper operations reject responses without credentials_configured

    • Bug
      • The create, update, and replace wrapper tests all fail before their transport assertions can complete when parsing the fixture response. The exact observed exception is KeyError: 'credentials_configured' at src/roe/_generated/models/connection.py:172; pytest reports 3 failed tests and exit code 1.
    • Cause
      • Connection.from_dict unconditionally executes d.pop("credentials_configured"), while the focused test fixture _connection_json() omits that key.
    • Fix
      • Make generated response parsing tolerate the absent field if the API contract permits omission (for example, use an appropriate default/optional field), or ensure every API response and test fixture supplies credentials_configured if it is required by contract.

    T-Rex Ran code and verified through T-Rex

  3. General comment

    P1 Connections public facade omits generated ordering parameter

    • Bug
      • The public ConnectionsAPI.list() signature does not accept ordering. Calling it with ordering="name" raises TypeError before an HTTP request is made, even though the underlying generated endpoint accepts the parameter and serializes it into the query string.
    • Cause
      • src/roe/api/connections.py defines and forwards only connector_type, search, page, and page_size; it omits ordering that is present in src/roe/_generated/api/connections/connections_list.py.
    • Fix
      • Add ordering: str | None = None to ConnectionsAPI.list() and forward ordering=ordering if ordering is not None else UNSET to request_raw. Regenerate the friendly facade from its wrapper specification if it is generated.

    T-Rex Ran code and verified through T-Rex

Fix All in Claude Code

Reviews (1): Last reviewed commit: "Release v1.1.7" | Re-trigger Greptile


name = d.pop("name")

credentials_configured = d.pop("credentials_configured")

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 Connection response fixture omits credential state

Connection.from_dict() now requires credentials_configured, but the shared _connection_json() fixture used by the create, update, and replace transport tests does not provide it. Each response is therefore rejected with KeyError before its transport assertions complete. Update the fixture to include the required response field so these regression tests pass against the new model contract.

Artifacts

Focused connection wrapper test failures when credentials_configured is absent

  • Ran the requested uv pytest command against the existing fixture; it captures three KeyError failures at the unconditional credentials_configured pop, confirming the bug.

View artifacts

T-Rex Ran code and verified through T-Rex

Fix in Claude Code

trial-roe added a commit that referenced this pull request Aug 2, 2026
The hand-written response fixtures behind the connections and agents
wrapper transport tests have drifted from the generated models. Three
roe-main changes added read-only-but-required serializer fields that
nothing downstream backfilled:

  #3758  dynamic_inputs, dynamic_input_test_disabled_reason
  #3837  credentials_configured
  #3701  BaseAgent.updated_at

Connection.from_dict / BaseAgent.from_dict pop required keys with no
default, so each addition turned into a KeyError. main has been red on
these same four tests since #68 merged on 2026-07-29 (run 30493974267);
this PR did not introduce the failure, it only changed which missing key
raises first, because credentials_configured is popped before
dynamic_inputs.

Fixing it in this branch rather than separately so #69 merges green —
publish.yml is `on: push tags v*` with no test step and no needs: on CI,
so a red merge would tag v1.1.7 and ship an untested tree to PyPI.

Only the response fixtures change. The expected request-body literal in
test_connection_create_... is deliberately untouched: these are read-only
fields the client never sends. tests/ is outside the python target's
diff_paths and outside check-codegen-drift, so the fan-out will not
clobber this.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
trial-roe added a commit that referenced this pull request Aug 2, 2026
The hand-written response fixtures behind the connections and agents
wrapper transport tests have drifted from the generated models. Three
roe-main changes added read-only-but-required serializer fields that
nothing downstream backfilled:

  #3758  dynamic_inputs, dynamic_input_test_disabled_reason
  #3837  credentials_configured
  #3701  BaseAgent.updated_at

Connection.from_dict / BaseAgent.from_dict pop required keys with no
default, so each addition turned into a KeyError. main has been red on
these same four tests since #68 merged on 2026-07-29 (run 30493974267);
this PR did not introduce the failure, it only changed which missing key
raises first, because credentials_configured is popped before
dynamic_inputs.

Fixing it in this branch rather than separately so #69 merges green —
publish.yml is `on: push tags v*` with no test step and no needs: on CI,
so a red merge would tag v1.1.7 and ship an untested tree to PyPI.

Only the response fixtures change. The expected request-body literal in
test_connection_create_... is deliberately untouched: these are read-only
fields the client never sends. tests/ is outside the python target's
diff_paths and outside check-codegen-drift, so the fan-out will not
clobber this.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@roeai-release-bot
roeai-release-bot Bot force-pushed the release-sdk-python-1-0-91 branch from 24df7a6 to 86e4378 Compare August 3, 2026 21:08
@roeai-release-bot
roeai-release-bot Bot force-pushed the release-sdk-python-1-0-91 branch from b7a4cb6 to 26a227b Compare August 6, 2026 23:52
@Chen-ROE
Chen-ROE merged commit cbe5f3f into main Aug 7, 2026
3 checks passed
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.

2 participants