Skip to content

Fix diagnostic path encoding and long export lifetimes - #1726

Merged
frahlg merged 3 commits into
masterfrom
codex/mcp-read-paths
Oct 18, 2026
Merged

frahlg merged 3 commits into
masterfrom
codex/mcp-read-paths

Conversation

@frahlg

@frahlg frahlg commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

MCP diagnostic reads reject URL-encoded driver names and use the 15-second status-read deadline even when generating a large support or history export.

Preserve URL-encoded parameters as one HTTP-router segment, so names such as EV charger/garage reach the existing handler intact. Reject dot segments, malformed escapes, controls and query strings. Give diagnostic calls a shared five-minute budget and report that budget in the box's catalogue. Cloud #35 uses the same budget, keeps a busy session out of idle cleanup, and clears the body-read deadline once the MCP request body is complete. Ordinary typed reads keep their existing lifetime.

This completes #1723 and addresses its long-export review finding. Each page still regenerates and hashes the response; archive-member reads hash the selected file. The transfer page is bounded and total bytes have no fixed cutoff, while processing remains bounded by the call lifetime.

Validation: GOWORK=off make verify, protocol-module vet and tests, and app-protocol race tests. A message-to-HTTP-router test covers spaces, slashes, repeated slashes, percent signs and backslashes. The diagnostic handler test checks that exports do not inherit a short status deadline; the Cloud pair tests a held export past both its normal request timeout and an idle sweep.

Include both Core PRs in the shared beta.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T14:34:51.439745Z d512cde PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: d512cde21a

ℹ️ 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 go/protocol/agentapi.go Outdated
Comment on lines +14 to +15
Path string `cbor:"path"
"net/url"`

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 Restore valid struct tags

Remove the newline and stray "net/url" text appended to both Path tags here and in AgentAPIRoute: these are malformed reflect.StructTag values, and Go's structtag analyzer reports key:"value" pairs not separated by spaces, causing the repository's required make verify vet step to fail.

AGENTS.md reference: AGENTS.md:L154-L166

Useful? React with 👍 / 👎.

@frahlg frahlg changed the title Keep encoded driver names intact in MCP diagnostic reads Fix diagnostic path encoding and long export lifetimes Oct 18, 2026
@frahlg
frahlg merged commit a8b6d64 into master Oct 18, 2026
22 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.

1 participant