fix(sleep): avoid mutating tasks while grouping - #196
Merged
Yif-Yang merged 1 commit intoAug 2, 2026
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Hardens the sleep miner’s task-grouping helper so it remains side-effect-free with respect to caller-owned TaskRecord instances, while ensuring each returned grouped record’s skill_hint matches the normalized evidence used for routing.
Changes:
- Update
group_tasks_by_skill_hintto deduplicate/merge using copiedTaskRecordinstances to avoid mutating inputs. - Normalize/align returned
TaskRecord.skill_hintto the computed routing hint (including blank/ambiguous cases). - Expand tests to assert no input mutation occurs and that returned
skill_hintvalues are normalized/blank as expected.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
skillopt_sleep/mine.py |
Copies TaskRecord inputs before dedup_tasks() and aligns returned skill_hint with normalized routing evidence. |
tests/test_sleep_engine.py |
Adds assertions covering non-mutation of inputs and skill_hint normalization behavior in grouped outputs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up hardening for #184.
The existing dedup_tasks helper merges records in place. group_tasks_by_skill_hint now operates on copied records so grouping cannot mutate caller-owned TaskRecord instances, and it keeps each returned record skill_hint aligned with the normalized evidence used for routing.
Validation: