Skip to content

fix(prismml): refresh released recipe pins and SDK compatibility - #542

Draft
nik13 wants to merge 3 commits into
devfrom
fix/prismml-recipe-current-sdk
Draft

nik13 wants to merge 3 commits into
devfrom
fix/prismml-recipe-current-sdk

Conversation

@nik13

@nik13 nik13 commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Merge hold: fixed instrumentor release required

Do not merge this route yet. Independent recall confirmed cancellation, explicit-close and incomplete-stream telemetry defects in the latest published traceAI-openai==0.1.12 / fi-instrumentation-otel==1.2.2. The newly checked-in lifecycle gates deliberately fail against those releases; no xfail, skip or continue-on-error hides the blocker.

Reuse #520 and #536. #536 at 93907f3cfbbd39f18a6e3a3ad11171757b81057e includes #520 at 3e19fa3b2333f812228b62fade8450a57a0fa798; its built packages pass every PrismML contract. This PR does not copy those shared fixes or create a second instrumentor.

Before unblocking: land/release the shared repairs through their own gates, confirm the real registry versions, update this recipe's requirements and README plus future-agi/docs#1097 and its workflow/static contracts, then rerun both source and published-package matrices. No fixed version has been invented or published here.

Summary

  • Refresh the existing PrismML Bonsai recipe to OpenAI 3.42.1 and already-published tracing packages; retain OpenAI 1.69.0 compatibility coverage.
  • Require model metadata on streamed and failed calls; execute the exact README setup with real loopback OTLP export.
  • Fix the application, independently of tracing: close its stream via a context manager, require choice 0's finish reason, and exit 1 with an actionable message after EOF or premature [DONE] without completion. Partial printed text is not a successful answer.
  • Add strict request/stream interruption, async cancellation, explicit sync/async close, incomplete stream, terminal-reason and usage-tail contracts. Real subprocess tests send SIGINT during the actual CLI's request and streaming phases.
  • Keep native-first maintained-package setup, endpoint/key separation, privacy controls and concise customer instructions. No copied telemetry helper, second span or live-vendor claim.

Recall reproduction and validation

All tests/builds ran in the outbound-denying macOS sandbox, with isolated HOME, synthetic credentials and loopback/MockTransport model traffic.

Packages Python / OpenAI Recipe + exact guide
Published pins, initial recall contracts before application fix 3.10 / 1.69.0 10 failed, 106 passed
Published pins, initial recall contracts before application fix 3.13 / 3.42.1 10 failed, 106 passed
Published pins after application fix Both bounds 11 failed, 120 passed
This PR's own built packages Both bounds 11 failed, 120 passed
Built shared-repair #536 packages Both bounds 131 passed

The four application-only incomplete-stream contracts changed from failure to success. A stream context also fixes the CLI's interrupted-stream export, but request cancellation, standalone close and premature-stream telemetry remain release-blocked. The 11 residual failures are retained as release gates.

Full #536 OpenAI package suite: 803 passed, 8 SDK-feature skips at the floor; 811 passed at latest. Core cancellation regressions: 68 passed at each bound. Optional Fireworks/vLLM compatibility suites were included. An initial floor package run exposed a test-transport mismatch from leftover optional httpx2 after downgrading OpenAI; removing that latest-only leftover restores the clean-floor results above. It was not an application defect or a suppressed test.

Current dev b059859f is an ancestor. Dependency checks pass; release-plan validation covers 129 packages; diff checks pass. No lockfile, package version or release configuration change. No registry publication, workflow dispatch or merge.

Related guide and E2E coverage

Companion guide: future-agi/docs#1097 — also held on the genuine fixed release. Its exact cancellation example is now a failing published-dependency gate rather than an unsupported success claim.

Not applicable to the product E2E harness: this is an SDK recipe. Real CLI entry points, HTTP/OTLP transport and exact customer snippets are exercised. No live Bonsai inference or Future AGI Cloud readback is claimed.

🤖 Generated with Claude Code

nik13 and others added 2 commits November 2, 2026 08:56
Refresh published recipe pins, require model attribution on streams and errors, test SDK bounds, and replace verification prose with executable setup guidance.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Keep published-package cancellation, early-close and terminal-state contracts strict. Shared instrumentor repairs remain in #520/#536 pending a genuine fixed release.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@nik13
nik13 marked this pull request as draft November 2, 2026 17:50

This branch has not been deployed

No deployments
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.

1 participant