Skip to content

feat(diagnostics-otel): unify end-to-end tracing#70424

Closed
jlapenna wants to merge 4 commits intoopenclaw:mainfrom
jlapenna:unify-otel-tracing
Closed

feat(diagnostics-otel): unify end-to-end tracing#70424
jlapenna wants to merge 4 commits intoopenclaw:mainfrom
jlapenna:unify-otel-tracing

Conversation

@jlapenna
Copy link
Copy Markdown
Contributor

@jlapenna jlapenna commented Apr 23, 2026


Update: Feedback Addressed

  • Fixed ReferenceErrors: Added missing @opentelemetry/api imports in run.ts and pi-tools.abort.ts.
  • Double-Initialization Guard: otel-preload.mjs now automatically sets OPENCLAW_OTEL_PRELOADED=1 upon successful startup.
  • Observability Restored: Refactored diagnostics-otel to skip only the SDK initialization while preserving log transports and diagnostic event hooks.
  • Improved Shutdown: Added SIGINT handler to the preload script for better development environment support.
  • Dependency Alignment: Promoted OTel SDK dependencies to the root package.json to support core instrumentation.

…ation and context propagation

- Move OTel initialization to an early-phase preload script (otel-preload.mjs)
- Explicitly propagate active context in agent runner, sandbox backend, and tool execution
- Add 'openclaw.exec' span for granular shell command tracing
- Configure Dockerfile to include preload script
@jlapenna jlapenna requested a review from a team as a code owner April 23, 2026 01:25
@openclaw-barnacle openclaw-barnacle Bot added extensions: diagnostics-otel Extension: diagnostics-otel docker Docker and sandbox tooling agents Agent runtime and tooling size: XL labels Apr 23, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 23, 2026

Greptile Summary

This PR unifies end-to-end OTel tracing across OpenClaw, LiteLLM, and vLLM by introducing an early-phase otel-preload.mjs script and wrapping key execution paths (agent.run, tool.exec, exec, sandbox.exec) in manual spans with context.active() propagation.

  • P0 – Missing import breaks all tool calls: wrapToolWithTracing in src/agents/pi-tools.abort.ts references trace, context, and SpanStatusCode without importing them; every wrapped tool invocation will throw ReferenceError: trace is not defined.
  • P1 – Double-init risk: otel-preload.mjs never sets process.env.OPENCLAW_OTEL_PRELOADED = "1" itself, so a user who sets only NODE_OPTIONS=--import without also exporting OPENCLAW_OTEL_PRELOADED=1 will get two OTel SDK instances running in the same process.

Confidence Score: 2/5

Not safe to merge — the missing OTel import in pi-tools.abort.ts will crash every tool invocation at runtime.

There is a clear P0 defect: wrapToolWithTracing uses trace, context, and SpanStatusCode that are not imported, guaranteeing a ReferenceError the first time any agent tool is executed. A P1 risk (double-init when OPENCLAW_OTEL_PRELOADED is not self-set) is also present. Both must be resolved before merge.

src/agents/pi-tools.abort.ts (missing import — P0) and otel-preload.mjs (missing self-registration of env var — P1).

Prompt To Fix All With AI
This is a comment left during a code review.
Path: src/agents/pi-tools.abort.ts
Line: 74-105

Comment:
**Missing OTel import — `ReferenceError` at runtime**

`wrapToolWithTracing` references `trace`, `context`, and `SpanStatusCode` (lines 82–94), but none of these are imported in this file. Every tool execution that goes through `wrapToolWithTracing` will throw `ReferenceError: trace is not defined`, breaking all wrapped tool calls.

```suggestion
import { trace, SpanStatusCode, context } from "@opentelemetry/api";
import { copyPluginToolMeta } from "../plugins/tools.js";
import { bindAbortRelay } from "../utils/fetch-timeout.js";
import { copyChannelAgentToolMeta } from "./channel-tools.js";
import type { AnyAgentTool } from "./pi-tools.types.js";
```

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: otel-preload.mjs
Line: 29

Comment:
**Preload script does not self-register `OPENCLAW_OTEL_PRELOADED`**

The `diagnostics-otel` plugin skips SDK initialization only when `process.env.OPENCLAW_OTEL_PRELOADED === "1"`, but the preload script never sets that variable. If a user sets `NODE_OPTIONS=--import /app/otel-preload.mjs` but omits `OPENCLAW_OTEL_PRELOADED=1` from their environment (an easy mistake), both the preload and the plugin will call `sdk.start()`, causing double-initialization of the OTel SDK with duplicate span processors and duplicate exports. Adding a single line here makes the preload self-declaring and eliminates this failure mode.

```suggestion
sdk.start();
process.env.OPENCLAW_OTEL_PRELOADED = "1";
```

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: otel-preload.mjs
Line: 31-36

Comment:
**`SIGINT` not handled — SDK may not flush on Ctrl-C**

Only `SIGTERM` is hooked for graceful shutdown. In interactive or development environments the process is typically stopped with `SIGINT` (Ctrl-C), which will bypass `sdk.shutdown()` and may drop buffered spans. Consider adding a matching `SIGINT` handler or sharing the shutdown logic.

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "feat(diagnostics-otel): unify end-to-end..." | Re-trigger Greptile

Comment thread src/agents/pi-tools.abort.ts
Comment thread otel-preload.mjs
Comment thread otel-preload.mjs Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1d58befd2b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread extensions/diagnostics-otel/src/service.ts Outdated
Comment thread src/agents/pi-embedded-runner/run.ts
Comment thread src/agents/pi-tools.abort.ts
- Add missing @opentelemetry/api imports to fix ReferenceErrors
- Set OPENCLAW_OTEL_PRELOADED environment variable in preload script
- Add SIGINT handler to preload script for graceful shutdown
- Refactor diagnostics-otel plugin to preserve diagnostic hooks in preloaded mode
- Add OTel dependencies to root package.json for core access
@jlapenna
Copy link
Copy Markdown
Contributor Author

Feedback Addressed

I have addressed the critical issues identified in the automated reviews:

  1. Fixed ReferenceErrors: Added missing @opentelemetry/api imports in run.ts and pi-tools.abort.ts. These files now correctly reference trace, context, and SpanStatusCode.
  2. Double-Initialization Guard: Updated otel-preload.mjs to automatically set OPENCLAW_OTEL_PRELOADED=1 upon successful startup. This ensures the gateway and its plugins respect the preloaded state without requiring manual environment configuration.
  3. Observability Restored: Refactored the diagnostics-otel plugin to skip only the redundant NodeSDK startup. Log transports, diagnostic metrics, and event hooks are now correctly registered even in preloaded mode.
  4. Improved Shutdown: Added a SIGINT handler to otel-preload.mjs to ensure buffered spans are flushed when stopping the process via Ctrl-C in development environments.
  5. Dependency Alignment: Promoted OTel SDK dependencies to the root package.json to ensure they are available for both core instrumentation and the preload script.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a2829fd31e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread package.json
Comment thread src/agents/bash-tools.exec-runtime.ts
… accuracy

- Update pnpm-lock.yaml to include OTel dependencies
- Exclude tokenjuice from pnpm minimumReleaseAge to unblock CI install
- Ensure 'openclaw.exec' span covers the full duration of process execution by awaiting handle.promise
@jlapenna
Copy link
Copy Markdown
Contributor Author

Update: Final Feedback Addressed

I have addressed the second round of feedback to ensure CI stability and tracing accuracy:

  1. Lockfile Synchronized: Updated pnpm-lock.yaml to include the promoted OTel dependencies. This fixes the CI/Parity gate failure caused by --frozen-lockfile.
  2. Unblocked CI Install: Added tokenjuice to the minimumReleaseAgeExclude list in pnpm-workspace.yaml to bypass the 48-hour release-age constraint that was blocking pnpm install.
  3. Corrected Shell Tracing: Refactored runExecProcess in bash-tools.exec-runtime.ts to use a manual span lifecycle. The openclaw.exec span now stays active until the underlying process actually finishes (by hooking into handle.promise), correctly capturing the full duration and final exit outcome.

These fixes complement the previous round of ReferenceError and initialization fixes.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7ef936b1fc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

: undefined;

if (tracesEnabled || metricsEnabled) {
if (!preloaded && (tracesEnabled || metricsEnabled)) {
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 Badge Honor traces-disabled config in preloaded OTel mode

When OPENCLAW_OTEL_PRELOADED=1, this guard skips SDK setup entirely, so diagnostics.otel.traces (and related trace settings like sampling) are no longer enforced by the plugin. In the same commit, otel-preload.mjs always creates an OTLPTraceExporter, so deployments that set diagnostics.otel.traces=false will still emit spans in preloaded mode, which is an unexpected config bypass and can export data users explicitly tried to suppress.

Useful? React with 👍 / 👎.

Comment thread otel-preload.mjs Outdated
sdk.shutdown()
.then(() => console.log("OTel SDK shut down"))
.catch((err) => console.log("Error shutting down OTel SDK", err))
.finally(() => process.exit(0));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Let app signal handlers control process exit

Calling process.exit(0) from the preload signal hook can cut off the host app’s own async SIGTERM/SIGINT shutdown work (e.g., graceful server close/flush), because the preload module is installed before app code and races those handlers. In preloaded deployments this can cause early termination and skipped cleanup even though the app already has dedicated signal handling.

Useful? React with 👍 / 👎.

Comment thread src/agents/bash-tools.exec-runtime.ts Outdated
const tracer = trace.getTracer("openclaw");
const span = tracer.startSpan("openclaw.exec", {
attributes: {
"openclaw.exec.command": opts.command,
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 Badge Redact command text before adding span attributes

This exports full user command text to telemetry (openclaw.exec.command) with no redaction. Commands frequently contain secrets (tokens, passwords, auth headers), so enabling OTLP tracing can leak credentials to the collector. The diagnostics pipeline already redacts other outbound fields, so command attributes should be sanitized or replaced with non-sensitive metadata.

Useful? React with 👍 / 👎.

@jlapenna
Copy link
Copy Markdown
Contributor Author

@codex address that feedback

@chatgpt-codex-connector
Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

vincentkoc added a commit that referenced this pull request Apr 25, 2026
- Two Diagnostics/OTEL Changes entries credited issue #70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as #71451 (exec-process telemetry) and #71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue #71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
vincentkoc added a commit that referenced this pull request Apr 25, 2026
… tool-result pruning entries

Three entries were missing co-credits I should have preserved:

- Diagnostics/OTEL exec-process spans (#71451): @vincentkoc implemented,
  but @jlapenna's #70424 proposed the broader tracing work this entry
  builds on. Now credits both.
- Diagnostics/OTEL preloaded SDK (#71450): same pattern — credits
  @vincentkoc and @jlapenna.
- Agents/tool-result pruning (#51267): @cgdusek's PR explicitly built
  on prior work in #39331 by @alvinttang and #34980 by @coffeexcoin.
  Now credits all three.
steipete pushed a commit to MonkeyLeeT/openclaw that referenced this pull request Apr 25, 2026
- Two Diagnostics/OTEL Changes entries credited issue openclaw#70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as openclaw#71451 (exec-process telemetry) and openclaw#71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue openclaw#71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
steipete pushed a commit to MonkeyLeeT/openclaw that referenced this pull request Apr 25, 2026
… tool-result pruning entries

Three entries were missing co-credits I should have preserved:

- Diagnostics/OTEL exec-process spans (openclaw#71451): @vincentkoc implemented,
  but @jlapenna's openclaw#70424 proposed the broader tracing work this entry
  builds on. Now credits both.
- Diagnostics/OTEL preloaded SDK (openclaw#71450): same pattern — credits
  @vincentkoc and @jlapenna.
- Agents/tool-result pruning (openclaw#51267): @cgdusek's PR explicitly built
  on prior work in openclaw#39331 by @alvinttang and openclaw#34980 by @coffeexcoin.
  Now credits all three.
vincentkoc added a commit that referenced this pull request Apr 25, 2026
… Unreleased

Three of my (vincentkoc) entries were missing closing PR refs, and
several maintainer-fix entries were missing credit for the user who
reported the underlying issue:

- Diagnostics/OTEL outbound delivery: add (#71471) and credit @jlapenna
  whose #70424 framed the broader tracing work.
- Cron malformed legacy jobs: add (#71509).
- OpenAI/Codex OAuth region failures: add (#71501) and credit reporter
  @wulala-xjj (#51175).
- Telegram duplicate pollers: credit reporter @Co-Messi (#56230).
- MCP/CLI one-shot retire: credit reporter @spartoviMD (#71457).
- OpenAI/Codex image baseUrl canonicalize: credit reporter @GodsBoy
  (#71460).
- Feishu TTS Ogg/Opus: credit reporters @sg1416-zg (#61249) and
  @ycjlb2023-peteryi (#37868).
- MiniMax TTS portal OAuth: credit reporter @zx15210404690-hash
  (#55017).
- MCP config reload disposal: credit reporter @xieyuanqing (#60656).
@vincentkoc
Copy link
Copy Markdown
Member

Closing as this work is being handled centrally and rolling out in parts today and yesterdays releases.

@vincentkoc
Copy link
Copy Markdown
Member

Follow-up: the OTEL/diagnostics foundation from this thread has now been split and landed on main through narrower commits.

Key landed pieces include GenAI semantic metrics/spans, content-capture controls, trusted trace parenting guardrails, provider request-id hashes, memory/context/tool-loop diagnostics, and docs:

Marking this thread as resolved on main. Thanks again for the original direction.

@jlapenna
Copy link
Copy Markdown
Contributor Author

jlapenna commented Apr 25, 2026 via email

Angfr95 pushed a commit to Angfr95/openclaw that referenced this pull request Apr 25, 2026
- Two Diagnostics/OTEL Changes entries credited issue openclaw#70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as openclaw#71451 (exec-process telemetry) and openclaw#71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue openclaw#71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
Angfr95 pushed a commit to Angfr95/openclaw that referenced this pull request Apr 25, 2026
… tool-result pruning entries

Three entries were missing co-credits I should have preserved:

- Diagnostics/OTEL exec-process spans (openclaw#71451): @vincentkoc implemented,
  but @jlapenna's openclaw#70424 proposed the broader tracing work this entry
  builds on. Now credits both.
- Diagnostics/OTEL preloaded SDK (openclaw#71450): same pattern — credits
  @vincentkoc and @jlapenna.
- Agents/tool-result pruning (openclaw#51267): @cgdusek's PR explicitly built
  on prior work in openclaw#39331 by @alvinttang and openclaw#34980 by @coffeexcoin.
  Now credits all three.
Angfr95 pushed a commit to Angfr95/openclaw that referenced this pull request Apr 25, 2026
… Unreleased

Three of my (vincentkoc) entries were missing closing PR refs, and
several maintainer-fix entries were missing credit for the user who
reported the underlying issue:

- Diagnostics/OTEL outbound delivery: add (openclaw#71471) and credit @jlapenna
  whose openclaw#70424 framed the broader tracing work.
- Cron malformed legacy jobs: add (openclaw#71509).
- OpenAI/Codex OAuth region failures: add (openclaw#71501) and credit reporter
  @wulala-xjj (openclaw#51175).
- Telegram duplicate pollers: credit reporter @Co-Messi (openclaw#56230).
- MCP/CLI one-shot retire: credit reporter @spartoviMD (openclaw#71457).
- OpenAI/Codex image baseUrl canonicalize: credit reporter @GodsBoy
  (openclaw#71460).
- Feishu TTS Ogg/Opus: credit reporters @sg1416-zg (openclaw#61249) and
  @ycjlb2023-peteryi (openclaw#37868).
- MiniMax TTS portal OAuth: credit reporter @zx15210404690-hash
  (openclaw#55017).
- MCP config reload disposal: credit reporter @xieyuanqing (openclaw#60656).
ayesha-aziz123 pushed a commit to ayesha-aziz123/openclaw that referenced this pull request Apr 26, 2026
- Two Diagnostics/OTEL Changes entries credited issue openclaw#70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as openclaw#71451 (exec-process telemetry) and openclaw#71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue openclaw#71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
ayesha-aziz123 pushed a commit to ayesha-aziz123/openclaw that referenced this pull request Apr 26, 2026
… tool-result pruning entries

Three entries were missing co-credits I should have preserved:

- Diagnostics/OTEL exec-process spans (openclaw#71451): @vincentkoc implemented,
  but @jlapenna's openclaw#70424 proposed the broader tracing work this entry
  builds on. Now credits both.
- Diagnostics/OTEL preloaded SDK (openclaw#71450): same pattern — credits
  @vincentkoc and @jlapenna.
- Agents/tool-result pruning (openclaw#51267): @cgdusek's PR explicitly built
  on prior work in openclaw#39331 by @alvinttang and openclaw#34980 by @coffeexcoin.
  Now credits all three.
ayesha-aziz123 pushed a commit to ayesha-aziz123/openclaw that referenced this pull request Apr 26, 2026
… Unreleased

Three of my (vincentkoc) entries were missing closing PR refs, and
several maintainer-fix entries were missing credit for the user who
reported the underlying issue:

- Diagnostics/OTEL outbound delivery: add (openclaw#71471) and credit @jlapenna
  whose openclaw#70424 framed the broader tracing work.
- Cron malformed legacy jobs: add (openclaw#71509).
- OpenAI/Codex OAuth region failures: add (openclaw#71501) and credit reporter
  @wulala-xjj (openclaw#51175).
- Telegram duplicate pollers: credit reporter @Co-Messi (openclaw#56230).
- MCP/CLI one-shot retire: credit reporter @spartoviMD (openclaw#71457).
- OpenAI/Codex image baseUrl canonicalize: credit reporter @GodsBoy
  (openclaw#71460).
- Feishu TTS Ogg/Opus: credit reporters @sg1416-zg (openclaw#61249) and
  @ycjlb2023-peteryi (openclaw#37868).
- MiniMax TTS portal OAuth: credit reporter @zx15210404690-hash
  (openclaw#55017).
- MCP config reload disposal: credit reporter @xieyuanqing (openclaw#60656).
eleqtrizit pushed a commit to eleqtrizit/openclaw that referenced this pull request Apr 29, 2026
- Two Diagnostics/OTEL Changes entries credited issue openclaw#70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as openclaw#71451 (exec-process telemetry) and openclaw#71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue openclaw#71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
ogt-redknie pushed a commit to ogt-redknie/OPENX that referenced this pull request May 2, 2026
- Two Diagnostics/OTEL Changes entries credited issue openclaw#70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as openclaw#71451 (exec-process telemetry) and openclaw#71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue openclaw#71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
ogt-redknie pushed a commit to ogt-redknie/OPENX that referenced this pull request May 2, 2026
… tool-result pruning entries

Three entries were missing co-credits I should have preserved:

- Diagnostics/OTEL exec-process spans (openclaw#71451): @vincentkoc implemented,
  but @jlapenna's openclaw#70424 proposed the broader tracing work this entry
  builds on. Now credits both.
- Diagnostics/OTEL preloaded SDK (openclaw#71450): same pattern — credits
  @vincentkoc and @jlapenna.
- Agents/tool-result pruning (openclaw#51267): @cgdusek's PR explicitly built
  on prior work in openclaw#39331 by @alvinttang and openclaw#34980 by @coffeexcoin.
  Now credits all three.
ogt-redknie pushed a commit to ogt-redknie/OPENX that referenced this pull request May 2, 2026
… Unreleased

Three of my (vincentkoc) entries were missing closing PR refs, and
several maintainer-fix entries were missing credit for the user who
reported the underlying issue:

- Diagnostics/OTEL outbound delivery: add (openclaw#71471) and credit @jlapenna
  whose openclaw#70424 framed the broader tracing work.
- Cron malformed legacy jobs: add (openclaw#71509).
- OpenAI/Codex OAuth region failures: add (openclaw#71501) and credit reporter
  @wulala-xjj (openclaw#51175).
- Telegram duplicate pollers: credit reporter @Co-Messi (openclaw#56230).
- MCP/CLI one-shot retire: credit reporter @spartoviMD (openclaw#71457).
- OpenAI/Codex image baseUrl canonicalize: credit reporter @GodsBoy
  (openclaw#71460).
- Feishu TTS Ogg/Opus: credit reporters @sg1416-zg (openclaw#61249) and
  @ycjlb2023-peteryi (openclaw#37868).
- MiniMax TTS portal OAuth: credit reporter @zx15210404690-hash
  (openclaw#55017).
- MCP config reload disposal: credit reporter @xieyuanqing (openclaw#60656).
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 9, 2026
- Two Diagnostics/OTEL Changes entries credited issue openclaw#70424 (jlapenna's
  open meta-tracing proposal) as the PR ref. The actual implementing
  PRs landed as openclaw#71451 (exec-process telemetry) and openclaw#71450 (preloaded
  SDK mode), both authored by @vincentkoc — corrected.
- Telegram/webhook fix had no Thanks credit. Issue openclaw#71392 reporter
  @joelforsberg46-source identified the delivery-retry behaviour, so
  credit them on the entry.
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 9, 2026
… tool-result pruning entries

Three entries were missing co-credits I should have preserved:

- Diagnostics/OTEL exec-process spans (openclaw#71451): @vincentkoc implemented,
  but @jlapenna's openclaw#70424 proposed the broader tracing work this entry
  builds on. Now credits both.
- Diagnostics/OTEL preloaded SDK (openclaw#71450): same pattern — credits
  @vincentkoc and @jlapenna.
- Agents/tool-result pruning (openclaw#51267): @cgdusek's PR explicitly built
  on prior work in openclaw#39331 by @alvinttang and openclaw#34980 by @coffeexcoin.
  Now credits all three.
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 9, 2026
… Unreleased

Three of my (vincentkoc) entries were missing closing PR refs, and
several maintainer-fix entries were missing credit for the user who
reported the underlying issue:

- Diagnostics/OTEL outbound delivery: add (openclaw#71471) and credit @jlapenna
  whose openclaw#70424 framed the broader tracing work.
- Cron malformed legacy jobs: add (openclaw#71509).
- OpenAI/Codex OAuth region failures: add (openclaw#71501) and credit reporter
  @wulala-xjj (openclaw#51175).
- Telegram duplicate pollers: credit reporter @Co-Messi (openclaw#56230).
- MCP/CLI one-shot retire: credit reporter @spartoviMD (openclaw#71457).
- OpenAI/Codex image baseUrl canonicalize: credit reporter @GodsBoy
  (openclaw#71460).
- Feishu TTS Ogg/Opus: credit reporters @sg1416-zg (openclaw#61249) and
  @ycjlb2023-peteryi (openclaw#37868).
- MiniMax TTS portal OAuth: credit reporter @zx15210404690-hash
  (openclaw#55017).
- MCP config reload disposal: credit reporter @xieyuanqing (openclaw#60656).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling docker Docker and sandbox tooling extensions: diagnostics-otel Extension: diagnostics-otel size: XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants