Skip to content

fix(daemon): full ACP tool transcript and richer usage telemetry#6057

Open
mrcfps wants to merge 17 commits into
mainfrom
fix/acp-full-tool-transcript-and-usage-telemetry
Open

fix(daemon): full ACP tool transcript and richer usage telemetry#6057
mrcfps wants to merge 17 commits into
mainfrom
fix/acp-full-tool-transcript-and-usage-telemetry

Conversation

@mrcfps

@mrcfps mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Why

Local Open Design Prerelease AMR/ACP runs stored incomplete tool transcripts (only synthetic Write pairs with garbage paths and empty results) and weak token usage for PostHog/Langfuse. Investigation of failed/succeeded prerelease runs showed ~475 ACP tool frames collapsing to 19 fake Writes, and usage often missing or only partially reported. This blocks observability of real agent workflows (bash/read/search loops) and token accounting.

Author use case: fix trace data storage and reporting after a prerelease handoff so internal Langfuse/PostHog debugging matches what the agent actually did — without changing UI code.

What users will see

No intentional product UI change. Chat may show more accurate tool cards for ACP agents (AMR, Hermes, etc.) because the daemon now emits real tool_use/tool_result events instead of a write-only shim. Analytics/telemetry for operators become complete: full tool families, thought tokens, and correct cache accounting on run_finished and Langfuse traces.

Surface area

  • UI — new page / dialog / panel / menu item / setting / empty state in apps/web or apps/desktop (including Electron menu bar)
  • Keyboard shortcut — new or changed
  • CLI / env var — new od subcommand or flag, new tools-dev / tools-pack / tools-pr flag, or new OD_* env var
  • API / contract — new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point — new entry under skills/, design-systems/, design-templates/, or craft/, or change to the skills protocol
  • i18n keys — added new translation keys (see TRANSLATIONS.md for the locale workflow)
  • New top-level dependency — adding any new entry to the root package.json (dependencies or devDependencies); workspace-package package.json files are out of scope. Include a paragraph on what we get vs. what bytes we ship (see CONTRIBUTING.md → Code style)
  • Default behavior change — changes what existing users experience without opting in (default model, default setting, file/SQLite schema, auto-network on startup, auto-install)
  • None — internal refactor, docs, tests, or translation update only

Contract note: optional startedAt on live/persisted tool_use for ACP tool duration; no new endpoints.

Screenshots

N/A — no UI surface changes.

Bug fix verification

  • Test paths:
    • apps/daemon/tests/acp.test.ts (full tool transcript, path tighten, kind authority, think-only, exactly-once)
    • apps/daemon/tests/acp-format-usage.test.ts (usage aliases + anthropic/openai cache semantics)
    • apps/daemon/tests/amr-acp-integration.test.ts (AMR no-output / think-only)
    • apps/daemon/tests/run-analytics-observability.test.ts (unique tool counts, canonical tool families, thought_tokens)
    • apps/daemon/tests/langfuse-bridge.test.ts / langfuse-trace.test.ts (content redaction, thoughtTokens, startedAt)
  • Red-on-main / green-on-branch: yes for the new/updated specs above (focused suite 177 pass after rebase onto latest main).

Validation

  • pnpm --filter @open-design/daemon exec vitest run -c vitest.config.ts tests/acp.test.ts tests/acp-format-usage.test.ts tests/run-analytics-observability.test.ts tests/langfuse-bridge.test.ts tests/amr-acp-integration.test.ts — 177 passed
  • pnpm --filter @open-design/daemon typecheck — pass
  • pnpm guard — pass
  • Note: 2 pre-existing langfuse-trace reportRunFeedback failures on main (default relay URL env) are unrelated

Summary of fix

  1. ACP adapter: accumulate tool frames; emit one terminal tool_use+tool_result per id with real names/inputs/results; Write/Edit normalize for countNewArtifacts; sticky kind + thinkOnly; startedAt from first frame.
  2. Usage: broader formatUsage; preserve anthropic vs openai cache fields; thought_tokens through PostHog + Langfuse; usage-before-fail when prompt result carries usage.
  3. PostHog: canonical tool families only; unique tool errors; finish-path analytics recovery keeps base insertId.
  4. Langfuse: shared case-insensitive content-tool redaction; tool spans use startedAt.

Map all ACP tool_call frames to canonical tool_use/tool_result for
run.events, PostHog run_finished, and Langfuse spans. Preserve
artifact_count via Write/Edit normalization, tighten path extraction,
forward truncated results, and emit real tool startedAt.

Enrich usage scanning (thought_tokens, anthropic vs openai cache
semantics), canonical tool-family PostHog props, analytics recovery
finish snapshot, and shared content-tool redaction.
@mrcfps
mrcfps requested a review from a team as a code owner July 24, 2026 11:24

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

Copy link
Copy Markdown

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: 40539a649d

ℹ️ 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 apps/daemon/src/agent-protocol/acp/updates.ts Outdated
@lefarcen
lefarcen requested a review from nettee July 24, 2026 11:27
@lefarcen lefarcen added size/XXL PR changes 1500+ lines risk/high High risk: apps/desktop, daemon, auth, migration, workflows, package deps type/bugfix Bug fix labels Jul 24, 2026
@lefarcen lefarcen added the needs-validation Runtime change detected; needs human or /explore agent validation. label Jul 24, 2026
@lefarcen

Copy link
Copy Markdown
Contributor

🧪 Queued for QA validation — this PR changes live run events / contract behavior that can affect what users see in chat when ACP tools stream, so we'll keep the QA pass in the loop before merge. Nothing needed from you right now; we'll update here once validation is done. Thanks for the cleanup on the observability path.

Normalize recognized ACP kinds (e.g. kind:read + name:read_file → Read)
before emitting tool transcripts so Langfuse content-tool redaction matches
canonical families and does not leak file contents.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete980bfd4

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/updates.ts (@chatgpt-codex-connector) — thread
    • Updated acpToolName in apps/daemon/src/agent-protocol/acp/updates.ts so recognized canonical kinds (except other) win over explicit names; kind:read + name:read_file now emits Read for Langfuse content-tool redaction. Added regression tests in apps/daemon/tests/acp.test.ts.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 980bfd4df6

ℹ️ 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 apps/daemon/src/agent-protocol/acp/updates.ts
Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round completeeb4911d

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/updates.ts:486 (@chatgpt-codex-connector) — thread
    • Langfuse telemetry now fail-closed fully redacts unknown/custom tool I/O in serializeToolPayload and traceSafeToolPayload (langfuse-bridge.ts, langfuse-trace.ts). Only bash-like execute tools keep secret+path masking; ACP kind:other/MCP names use unknown_tool placeholders. Regression tests cover mcp__filesystem__read_file.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: eb4911d9a7

ℹ️ 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 apps/daemon/src/agent-protocol/acp/session.ts
When a session dies mid-tool (timeout, exit, RPC error), emit pending
tool_use/tool_result pairs with isError so transcripts stay complete.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete859f1bd

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/session.ts:497 (@chatgpt-codex-connector) — thread
    • Both fail and failWithPayload in acp/session.ts now call flushOpenAcpTools(true) before finished=true, emitting pending tool_use/tool_result with isError so mid-flight tools are not dropped from transcripts. Added stage-timeout and child-exit regression tests in acp.test.ts.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 859f1bd839

ℹ️ 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 apps/daemon/src/agent-protocol/acp/session.ts
Execute tools can dump private files (e.g. cat .env); replace Bash
tool_result content with a length summary before the canonical transcript
ships so Langfuse cannot receive raw execute output.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)

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

Copy link
Copy Markdown

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: d592a37b26

ℹ️ 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 apps/daemon/src/langfuse-bridge.ts
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round completed592a37

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/session.ts:238 (@chatgpt-codex-connector) — thread
    • Added acpSafeToolResultContent and use it in emitTerminalToolPair so Bash/execute stdout is replaced with [REDACTED:acp_bash_output:N_chars] before tool_result is emitted; command input is kept. Covered by updated acp tests including a cat .env case.
  • • Review comment on apps/daemon/src/langfuse-bridge.ts:387 (@chatgpt-codex-connector) — thread
    • Agent did not provide a decision for this thread

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Extend local-path masking for ACP Bash partial redaction to cover
/home and /root (not only /Users and Windows Users), so Linux home
paths do not leak into Langfuse tool inputs when content telemetry is on.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete8437d4b

  • ✅ Review comment on apps/daemon/src/langfuse-bridge.ts:396 (@chatgpt-codex-connector) — thread
    • Extended redactLocalPaths in apps/daemon/src/langfuse-bridge.ts and langfuse-trace.ts to mask /home and /root paths (not only /Users and Windows Users), with regression tests for ACP Bash inputs like cat /home/alice/.env.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 8437d4be17

ℹ️ 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 apps/daemon/src/agent-protocol/acp/updates.ts Outdated
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete67dfa84

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/session.ts:872 (@chatgpt-codex-connector) — thread
    • Called flushOpenAcpTools() before the AMR no-output predicate in apps/daemon/src/agent-protocol/acp/session.ts so a successful session/prompt with a missing terminal tool_call_update clean-closes open non-think tools (isError=false) and skips acp_no_visible_output. Added regression coverage in apps/daemon/tests/acp.test.ts.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 67dfa84ac9

ℹ️ 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 apps/daemon/src/run-analytics-observability.ts Outdated
Comment thread apps/daemon/src/agent-protocol/acp/session.ts
Require both input and output before ending the reverse usage scan so
output-only or input-only trailing frames still merge earlier counters.
Flush deferred open ACP tools as errored on abort so user-canceled runs
keep complete tool transcripts for Langfuse/PostHog.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete527eb10

  • ✅ Review comment on apps/daemon/src/run-analytics-observability.ts (@chatgpt-codex-connector) — thread
    • havePrimaryUsage now requires both input and output tokens before ending the reverse scan in run-analytics-observability.ts, so output-only or input-only trailing frames keep merging earlier primary and cache fields. Added regression tests for both cases.
  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/session.ts:723 (@chatgpt-codex-connector) — thread
    • abort() in acp/session.ts now calls flushOpenAcpTools(true) before marking the session finished, so user-canceled runs emit deferred in-progress tools as errored tool_use/tool_result pairs. Added an abort flush regression test.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 527eb10fb9

ℹ️ 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 apps/daemon/src/agent-protocol/acp/session.ts Outdated
Adapters can embed user paths in toolCallId (e.g. read:/home/alice/.env).
Hash those values at tool_use/tool_result emit so Langfuse span ids and
metadata.toolCallId cannot leak secrets, while keeping the raw id as the
local frame-correlation map key.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete49272eb

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/session.ts (@chatgpt-codex-connector) — thread
    • Added acpTelemetryToolCallId in updates.ts and use it in session.ts emitTerminalToolPair so path-like adapter toolCallIds become stable acp_ values in tool_use/tool_result (and thus Langfuse span id/metadata), while the local Map still keys on the raw id. Covered by a new ACP unit test.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 49272eb38e

ℹ️ 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 apps/daemon/src/agent-protocol/acp/updates.ts Outdated
Identifier-shaped secrets (sk-proj-*, ghp_*, JWTs) passed the prior
allowlist because they contain no path characters. Hash every non-empty
adapter toolCallId before tool_use/tool_result emission so Langfuse span
ids and metadata.toolCallId cannot leak tokens.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete1180633

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/updates.ts (@chatgpt-codex-connector) — thread
    • acpTelemetryToolCallId now always returns a stable acp_ hash for every non-empty adapter toolCallId, including sk-proj/ghp_/JWT-shaped values that previously passed the allowlist. Session maps still key on the raw id; tests cover secret-shaped cases.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 118063343a

ℹ️ 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 apps/daemon/src/run-analytics-observability.ts Outdated
When a newer usage frame already has input+output but omits cache
counters, continue scanning older frames so cache_read/cache_creation
still merge into run_finished and Langfuse.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete137e1c2

  • ✅ Review comment on apps/daemon/src/run-analytics-observability.ts (@chatgpt-codex-connector) — thread
    • Updated scanRunEventsForUsageAnalytics in run-analytics-observability.ts so the reverse scan keeps merging until both cache_read and cache_creation are present (or all usage events are examined), not just when input+output are known. Added a regression test for the inverse ordering.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 137e1c28b2

ℹ️ 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 apps/daemon/src/agent-protocol/acp/session.ts Outdated
Keep acpToolRunEventState entries after flushOpenAcpTools so a racy
tool_call_update cannot recreate the same id and emit a second
tool_use/tool_result pair after timeout, abort, or prompt flush.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete7c35252

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/session.ts (@chatgpt-codex-connector) — thread
    • Removed acpToolRunEventState.clear() from flushOpenAcpTools in apps/daemon/src/agent-protocol/acp/session.ts so emitted tool ids stay until session end; st.emitted suppresses late/racy terminal frames. Added regression coverage in apps/daemon/tests/acp.test.ts.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 7c35252545

ℹ️ 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 apps/daemon/src/agent-protocol/acp/updates.ts
Custom ACP tools with kind:other must not emit Bash/shell/execute/terminal
names, which would unlock Langfuse partial redaction and leak rawInput.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete953fd8d

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/updates.ts:558 (@chatgpt-codex-connector) — thread
    • In acpToolName (updates.ts), kind:other names that match Bash/shell/execute/terminal now collapse to Other so they cannot enter Langfuse partial redaction. Added acp.test.ts coverage for the impersonation path and trusted execute kinds.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown

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: 953fd8d5f8

ℹ️ 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 apps/daemon/src/agent-protocol/acp/updates.ts Outdated
ACP tools missing kind must not preserve name/title Bash labels that unlock
Langfuse partial redaction; only recognized execute-family kinds may emit Bash.

Generated-By: looper 0.11.0 (runner=fixer, agent=grok-build)
@mrcfps

mrcfps commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round completed0958e5

  • ✅ Review comment on apps/daemon/src/agent-protocol/acp/updates.ts (@chatgpt-codex-connector) — thread
    • In acpToolName, Bash/shell/execute/terminal labels from name or title now collapse to Other whenever kind is missing or not a canonical execute family; only recognized execute-family kinds still emit Bash. Added acp.test.ts coverage for the no-kind bypass.

🔁 Powered by Looper · runner=fixer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-validation Runtime change detected; needs human or /explore agent validation. risk/high High risk: apps/desktop, daemon, auth, migration, workflows, package deps size/XXL PR changes 1500+ lines type/bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants