Skip to content

refactor(framework): Refactor model task messages#7341

Open
danielnugraha wants to merge 8 commits into
mainfrom
task-message-refactor
Open

refactor(framework): Refactor model task messages#7341
danielnugraha wants to merge 8 commits into
mainfrom
task-message-refactor

Conversation

@danielnugraha

Copy link
Copy Markdown
Member

Issue

Description

Related issues/PRs

Proposal

Explanation

Checklist

  • Implement proposed change
  • Write tests
  • Update documentation
  • Address LLM-reviewer comments, if applicable (e.g., GitHub Copilot)
  • Make CI checks pass
  • Ping maintainers on Slack (channel #contributions)

Any other comments?

Copilot AI review requested due to automatic review settings June 9, 2026 06:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors typed “model task messages” by moving them into a dedicated flwr.supercore.task_message package, introducing shared utilities/validation, and updating internal imports to the new module path.

Changes:

  • Introduces TaskMessage base class plus shared payload serialization helpers/constants under flwr.supercore.task_message.
  • Re-implements ModelRequest/ModelResponse on top of TaskMessage with centralized validation helpers.
  • Updates task-process code and tests to import model task messages from the new location and removes the old flwr.supercore.model_message module.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
framework/py/flwr/supercore/task_process/model/task.py Updates import to new task_message.model_message location.
framework/py/flwr/supercore/task_process/agent/session.py Updates import to new task_message.model_message location.
framework/py/flwr/supercore/task_message/validation.py Adds reusable validation helpers for task message JSON payloads.
framework/py/flwr/supercore/task_message/utils.py Adds shared payload <-> message content serialization helpers.
framework/py/flwr/supercore/task_message/model_message.py Adds ModelRequest/ModelResponse implemented on top of TaskMessage.
framework/py/flwr/supercore/task_message/model_message_test.py Updates tests to import from the new module path.
framework/py/flwr/supercore/task_message/constant.py Adds constants for payload keys and default TTL.
framework/py/flwr/supercore/task_message/base.py Adds TaskMessage base class and typed parsing helper.
framework/py/flwr/supercore/task_message/init.py Introduces new package marker/docstring.
framework/py/flwr/supercore/model_message.py Removes the previous monolithic implementation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread framework/py/flwr/supercore/task_message/validation.py Outdated
Comment thread framework/py/flwr/supercore/task_message/validation.py Outdated
@github-actions github-actions Bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintainer Used to determine what PRs (mainly) come from Flower maintainers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants