Repository navigation
Fix diagnostic path encoding and long export lifetimes - #1726
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 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".
| Path string `cbor:"path" | ||
| "net/url"` |
There was a problem hiding this comment.
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 👍 / 👎.
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/garagereach 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.