Skip to content

fix(feedback): serialize and validate legacy feedback - #10

Merged
routeplane-ops merged 2 commits into
mainfrom
fix/legacy-feedback-wire
Sep 6, 2026
Merged

fix(feedback): serialize and validate legacy feedback#10
routeplane-ops merged 2 commits into
mainfrom
fix/legacy-feedback-wire

Conversation

@routeplane-ops

Copy link
Copy Markdown
Collaborator

Summary

Closes #9.

  • Preserve request_id/score and None return; send trace_id and integer value to the existing legacy endpoint.
  • Accept integral int/float scores from -10 through 10 without rescaling. Reject fractional, out-of-range, boolean, non-numeric and nonfinite input before HTTP dispatch.
  • Omit absent/null/empty comments; explicitly reject all nonempty comments, including whitespace. Preserve the synchronous REST helper on both Routeplane and AsyncRouteplane.
  • Document the correction and add an unreleased changelog entry. No new service, named feedback, target lookup, durability, package publication or version bump.

Validation

  • New regression test fails against the previous wire format (request_id/score rather than trace_id/value).
  • 273 targeted feedback/resource tests pass; full suite: 302 passed.
  • Ruff lint and format checks pass; mypy passes all 21 source files; git diff --check passes.
  • Parameterized direct-resource, sync-client and async-client paths verify exact wire body and integer JSON type, no-dispatch validation failures, return values and HTTP errors.
  • Hosted Python 3.9–3.13 and lint gates must pass before protected merge. Published-package inference-to-feedback acceptance against both editions remains pending; this source PR alone is not delivered-artifact evidence.

Scope: approved A1 correctness repair described by #9. No merge or publication requested by this PR creation.

@routeplane-ops

Copy link
Copy Markdown
Collaborator Author

Validation update at 9ee17e0: the initial CI run 34000638102 retained four existing metadata-fixture failures because OpenAI 3.8.0 defaults to httpx2 while respx mocks httpx. The four metadata tests now explicitly inject supported httpx sync/async clients, preserving assertions and cleanup; production transport and dependency declarations are unchanged. OpenAI 3.8.0 installed source explicitly accepts both httpx and httpx2 clients. A clean current-dependency environment now passes all 302 tests, Ruff lint/format and mypy. Hosted matrix rerun remains the merge gate; no release or delivered-version runtime claim.

@routeplane-ops
routeplane-ops merged commit a283544 into main Sep 6, 2026
6 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.

Fix legacy feedback serialization and validation

2 participants