openclaw - ✅(Solved) Fix Fix xai runtime dependency manifest contract failure on main [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#70408Fetched 2026-04-23 07:25:09
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
closed ×1commented ×1cross-referenced ×1

Current main is failing plugin contract validation because extensions/xai/realtime-transcription-provider.ts imports ws, but the extensions/xai runtime dependency manifest does not declare it.

This is unrelated to PR #66293. That PR only changes:

  • AGENTS.md
  • README.md
  • package.json
  • test/qc-alignment.test.mjs
  • test/codex-handoff-contract.test.mjs

Error Message

FAIL src/plugins/contracts/extension-runtime-dependencies.contract.test.ts > extension runtime dependency manifests > extensions/xai declares every runtime package import AssertionError: expected { Object (ws) } to deeply equal {}

  • Expected
  • Received
  • {}
  • {
  • "ws": [
  • "extensions/xai/realtime-transcription-provider.ts",
  • ],
  • }

Root Cause

Current main is failing plugin contract validation because extensions/xai/realtime-transcription-provider.ts imports ws, but the extensions/xai runtime dependency manifest does not declare it.

Fix Action

Fixed

PR fix notes

PR #66293: [codex] Align openclaw with shared handoff contract

Description (problem / solution / changelog)

Intent / Scope

<!-- prh:single-intent -->
  • Single intent: align openclaw with the shared Codex handoff contract as a consumer-only compatibility overlay.
<!-- prh:out-of-scope -->
  • Out of scope: any runtime enforcement engine, unrelated dependency work in openclaw/openclaw#60168, JobApp or Middleman work, and any repo-local fork of the shared contract.

Files / Subsystems Expected to Change

<!-- prh:expected-paths -->
  • Expected paths: AGENTS.md, README.md, package.json, test/qc-alignment.test.mjs, and test/codex-handoff-contract.test.mjs.
<!-- prh:hotspot-scope-note -->
  • Hotspot scope note: this PR stays narrow to the repo-local consumer overlay and QC compatibility checks; it does not add prompt rendering or a second enforcement stack.

Ownership

<!-- prh:primary-owner -->
  • Primary owner: @BananaAccurate
<!-- prh:review-routing -->
  • Review routing: openclaw maintainers reviewing the consumer/QC overlay only. Review the canonical shared contract first in Intrepid-Analytica/Shared-Repo-Resources#8 and AI-Staff runtime enforcement context in Intrepid-Analytica/AI-Staff#42.

Stacked PR

<!-- prh:is-stacked -->
  • Is this stacked?: no
<!-- prh:prerequisite-pr -->
  • Prerequisite PR: Intrepid-Analytica/Shared-Repo-Resources#8 is review context only; this PR targets main directly.
<!-- prh:stack-order-note -->
  • Stack order note: review after #8 so the consumer overlay is evaluated against the settled shared contract.

Docs / Workflow / Policy Files

<!-- prh:docs-included -->
  • Intentionally included?: yes
<!-- prh:docs-why -->
  • Why: this consumer-only package intentionally updates AGENTS/README guidance, package test wiring, and QC alignment coverage to stay synced with the shared handoff contract.

Supersession / Replacement

<!-- prh:supersedes -->
  • Supersedes / replaces: none
<!-- prh:review-context -->
  • Review context to preserve: none

Validation

<!-- prh:local-validation -->
  • Local validation performed: node test/qc-alignment.test.mjs; node test/codex-handoff-contract.test.mjs

Operational Closeout

<!-- prh:operational-closeout -->
  • Requires operational closeout after merge?: no
<!-- prh:operational-evidence -->
  • Post-merge evidence / verification path: none
<!-- prh:rollback-plan -->
  • Rollback / recovery path: revert this isolated consumer/QC overlay commit if the shared contract changes or the upstream landing needs to be backed out.

Review Topology

  • This is the real upstream-capable consumer/QC PR for openclaw/openclaw.
  • No runtime enforcement engine is added here.
  • Ignore openclaw/openclaw#60168; it is an unrelated Dependabot dependency PR and not part of this rollout.

Changed files

  • AGENTS.md (modified, +12/-0)
  • README.md (modified, +9/-0)
  • package.json (modified, +2/-0)
  • test/codex-handoff-contract.test.mjs (added, +48/-0)
  • test/qc-alignment.test.mjs (added, +53/-0)

Code Example

npm exec --yes pnpm@10.33.0 -- run test:contracts:plugins

---

FAIL src/plugins/contracts/extension-runtime-dependencies.contract.test.ts > extension runtime dependency manifests > extensions/xai declares every runtime package import
AssertionError: expected { Object (ws) } to deeply equal {}

- Expected
+ Received

- {}
+ {
+   "ws": [
+     "extensions/xai/realtime-transcription-provider.ts",
+   ],
+ }
RAW_BUFFERClick to expand / collapse

Summary

Current main is failing plugin contract validation because extensions/xai/realtime-transcription-provider.ts imports ws, but the extensions/xai runtime dependency manifest does not declare it.

This is unrelated to PR #66293. That PR only changes:

  • AGENTS.md
  • README.md
  • package.json
  • test/qc-alignment.test.mjs
  • test/codex-handoff-contract.test.mjs

Current-main evidence

Observed on main at 6b41ef311f31de6d2e6693652377aaa9bbb3e472.

GitHub Actions failure:

Focused local control command on a fresh current-main checkout:

npm exec --yes [email protected] -- run test:contracts:plugins

Focused local result:

FAIL src/plugins/contracts/extension-runtime-dependencies.contract.test.ts > extension runtime dependency manifests > extensions/xai declares every runtime package import
AssertionError: expected { Object (ws) } to deeply equal {}

- Expected
+ Received

- {}
+ {
+   "ws": [
+     "extensions/xai/realtime-transcription-provider.ts",
+   ],
+ }

Non-overlap with PR #66293

PR #66293 does not touch extensions/xai, src/plugins/contracts, or plugin dependency manifests. This should be triaged as an upstream/plugin contract issue rather than broadening that PR.

extent analysis

TL;DR

Add ws to the runtime dependency manifest for the extensions/xai plugin to resolve the contract validation failure.

Guidance

  • Identify the extensions/xai runtime dependency manifest and add ws as a declared dependency.
  • Verify the fix by re-running the test:contracts:plugins command locally or re-triggering the GitHub Actions job checks-fast-contracts-plugins.
  • Review the extensions/xai/realtime-transcription-provider.ts file to ensure that the ws import is necessary and correctly used.
  • Check for any other potential undeclared dependencies in the extensions/xai plugin.

Example

No code snippet is provided as the issue does not require a specific code change, but rather a configuration update.

Notes

This fix assumes that the ws dependency is required by the extensions/xai plugin. If the import is unnecessary, it should be removed instead of adding it to the manifest.

Recommendation

Apply workaround: Add ws to the extensions/xai runtime dependency manifest, as this is a specific and targeted fix for the identified issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix Fix xai runtime dependency manifest contract failure on main [1 pull requests, 1 comments, 2 participants]