Skip to content

fix: a personal task created by the MCP tool without an assignee is assigned to its creator EXO-90661 - #679

Draft
Jihed525 wants to merge 1 commit into
developfrom
backport/EXO-90661-to-develop
Draft

Jihed525 wants to merge 1 commit into
developfrom
backport/EXO-90661-to-develop

Conversation

@Jihed525

@Jihed525 Jihed525 commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

The Mail eXIP's task work, from feature/ai-contribution to feature/mips: EXO-90661. One commit, #655, picked with cherry-pick -x onto feature/mips at bf11c5449. It applies without conflict, and its patch-id equals its FB commit's. Its email-connector counterpart reached feature/mips with exoplatform/email-connector#596 and #595.

A personal task created by the create_personal_task MCP tool without an assignee is now assigned to its creator. Tribe: EXO-90661.

Why

TaskMcpTool.createPersonalTask copied its optional assignee argument as is. When the model left it out, which is the normal case for "create a personal task", the task was stored with no assignee and no project. A personal task only shows in its assignee's list, so it was listed nowhere, while the tool answered success. The same happened from the AI chat and from an approved mail-filter suggestion (EXO-90659), where the card said "Done" and the Tasks app showed nothing.

How

  • A blank assignee becomes the calling user, as the Tasks app's own "add task" does. An explicit assignee is kept.
  • The tool definition is unchanged; the Javadoc of assignee says what a blank value means.

Tests

  • createPersonalTaskShouldAssignTheCallerWhenNoAssigneeIsGiven: no assignee, a blank one and an explicit one. Reverting the fix makes it fail.
  • TaskMcpToolTest: 56/56 pass, checkstyle clean.
  • Live on the local rig, before the fix: an approved proposal created a task with no assignee and no status, invisible in the Tasks app. With the fix deployed, approving the same proposal created a task assigned to the mailbox owner, listed in their Tasks.

Classification: N1

The assignee decides who can see and edit the task, so this change sets access on the new object from the caller's identity. The approver must be an Architect or Senior Developer who knows it is N1 and is not the author.

Source

#678 (EXO-90661), merged on feature/mips as squash commit 63de99c2b; its approval (azayati) stands at its head 32a4bcde0.

Picks

Adaptations

None.

Verification

At b19ea24b0: mvn -B -pl services -am verify runs 260 tests with 0 failures, 0 errors, 0 skipped (TaskMcpToolTest 66/66); BUILD SUCCESS. The head 34ddb7db1 carries the same patch (patch-id 43081773c416…) on develop at 38e481b87, whose commit touches only services/src/main/resources/ai-tool-definitions.json, a file the pick does not touch; not rebuilt at that head. Source run at 32a4bcde0: 260 tests, 0 failures (TaskMcpToolTest 66).

Knowledge: pending — EXO-90661

🤖 Generated with Claude Code

@Jihed525
Jihed525 requested a review from azayati October 21, 2026 16:52
…ssigned to its creator EXO-90661

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 36978bb)
(cherry picked from commit 63de99c)
@Jihed525
Jihed525 force-pushed the backport/EXO-90661-to-develop branch from b19ea24 to 34ddb7d Compare October 23, 2026 16:10
@Jihed525

Copy link
Copy Markdown
Contributor Author

Rebased onto develop, no conflict.

@sonarqubecloud

Copy link
Copy Markdown

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.

2 participants