Skip to content

Sanitize MCP capture and board resource failures - #2443

Merged
Chris0Jeky merged 4 commits into
mainfrom
issue-2351/mcp-capture-board-error-safety
Sep 3, 2026
Merged

Sanitize MCP capture and board resource failures#2443
Chris0Jeky merged 4 commits into
mainfrom
issue-2351/mcp-capture-board-error-safety

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Summary

  • replace raw failed-Result messages in MCP capture and board resources with the existing public failure sanitizer
  • keep known domain messages and identity/authorization flow unchanged
  • add hostile-message and known-domain regressions and document the boundary

Part of #2351.

Verification

Boundaries

This slice covers failed Result messages emitted by CaptureResources and BoardResources. Persisted CaptureItemDto.ErrorMessage, arbitrary thrown exceptions, invalid caller IDs, silent child-result behavior, MCP tools, provider health, and legacy persisted failure reasons remain separate contracts.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 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-09-03T19:27:33.979749Z 8744a06 New commits
ℹ️ 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.

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 3, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent review disposition for base 01d77faf3692fd605ce139259c75250a24d80d81 and head 1facce875ee2acd74ffb767eac080a2820862417: two distinct fresh-context passes found no CRITICAL or HIGH defect.

Both reviews confirmed that all ten in-scope failed-Result throws route through the existing sanitizer, Result<T> is compatible with the shared helper, and identity/authorization calls plus known-domain messages are unchanged. New safety tests passed 9/9; existing MCP resource/board tests passed 37/37.

One LOW documentation convenience finding is declined for this bounded slice: the security guide's older copy-paste filter does not name the two new test classes. The executable tests exist and were run directly, so this is not a runtime or security defect.

The broader API project result remains reported as 2,786 passed, 4 skipped, 1 failed due the existing #2399 shared-interceptor contamination; its exact isolated test then passed 1/1. Exact-head hosted Linux and Windows API jobs remain required before merge.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Current-base requalification is pushed at exact head a4a54487410849527cf47d562ce6cf19d1f9f784 on base a09d986c098c10c7730e080e9824df2cdfbf8dca.

The merge commit preserves the original slice and adds only #2440's two Smart CI files from main. The effective PR diff remains the same five MCP/test/security-doc files. A fresh interaction review found no CRITICAL/HIGH defect and no shared backend, sanitizer, MCP, test, or documentation path with the base delta.

Reproof after the base merge:

  • new error-safety tests: 9/9 passed
  • existing MCP resource/board tests: 37/37 passed
  • full Smart CI suite: 87/87 passed
  • docs governance, Golden Principles, GitHub operations governance, and diff checks: passed

The prior LOW copy-paste filter omission remains declined and non-blocking. The earlier broad API project result and #2399 disposition are unchanged because the base delta is scripts-only. Exact-head hosted CI and the automatic connector review are pending; the aging window restarted with this push.

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

ℹ️ 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 docs/security/SECURITY_LOGGING_REDACTION.md
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Final bounded current-base refresh is pushed at exact head 2106c965ab406a541a3ddc00b4cb73a3271b28a5 on base c37d90b8142d009cf40b70f8f484caef45a7daf6.

The added base delta is PR #2442's maintainer decision packet and is documentation-only. The effective PR diff remains exactly the same five MCP/test/security-guide files. A new fresh-context interaction review read the changed instructions and ADRs, found no authorization or acceptance change for this slice, and reported no CRITICAL/HIGH finding or human gate.

Reproof after this refresh:

  • new error-safety tests: 9/9 passed
  • existing MCP resource/board tests: 37/37 passed
  • full Smart CI suite: 87/87 passed
  • docs governance, Golden Principles, GitHub operations governance, and diff checks: passed

Exact-head hosted CI and the refreshed automatic connector review are pending, and the aging window restarted with this push. This is the final base refresh for this bounded cycle; another moving-base event before the verdict will park the PR with an exact restart contract.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

[Codex lane release v2]
lane: beta-platform-integrity
issue: #2351
PR: #2443
exact head: 2106c96
result: parked
shipped outcome: none. The parked head sanitizes the ten in-scope CaptureResources and BoardResources failed-Result messages and has focused security regressions, but it is not merged.
remaining residual: origin/main moved from reviewed base c37d90b to 8f66642 while required CI run 33789619020 was still in progress. This was the declared final base refresh for this bounded cycle. Restart once from then-current main after the integration wave settles; inspect the effective five-file diff and base interaction; rerun the 9 focused error-safety tests, the 37 existing MCP resource tests, Smart CI self-tests, docs/governance/diff checks, exact-head hosted CI, and one current-base review. The resolved LOW documentation-filter suggestion remains a #2351 residual and does not reopen this review cycle.
released paths/leases: backend/src/Taskdeck.Api/Mcp/CaptureResources.cs; backend/src/Taskdeck.Api/Mcp/BoardResources.cs; backend/tests/Taskdeck.Api.Tests/CaptureResourcesErrorSafetyTests.cs; backend/tests/Taskdeck.Api.Tests/BoardResourcesErrorSafetyTests.cs; docs/security/SECURITY_LOGGING_REDACTION.md
next dependency now unblocked: none

CLAUDE_SYNC_PACKET
canonical truth changes: none
issue/project changes: PR #2443 moved to Blocked; umbrella #2351 moved to Next and remains open at Priority II in v0.4
architecture/decision impact: none
manual validation still needed: none; current-base automated requalification is required at restart
human actions: none

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Coordinator merge disposition for exact head 8744a06: the base was refreshed to current main (delta since the reviewed base: PR #2444 docs, PR #2445 review-poll composable, PR #2427 CI edge, none touching the five MCP/test/security-guide files this PR changes), ci-required is green on this head, no open threads, and the two fresh-context passes plus the interaction reviews recorded above found no CRITICAL/HIGH. The earlier park was only because main moved. Merging with a merge commit.

@Chris0Jeky
Chris0Jeky merged commit bd767ae into main Sep 3, 2026
35 checks passed
@github-project-automation github-project-automation Bot moved this from Blocked to Done in Taskdeck Execution Sep 3, 2026
Chris0Jeky added a commit that referenced this pull request Sep 4, 2026
…6-09-04

docs: record the fifth v0.3 integration block (#2443 through #2454)
@Chris0Jeky
Chris0Jeky deleted the issue-2351/mcp-capture-board-error-safety branch September 6, 2026 02:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant