Task scoring system needs tuning #4

Closed
opened 2026-05-08 05:46:20 +00:00 by Mark · 1 comment
Owner

TaskScheduler.selectTask() uses raw task.score() values but the scoring weights may need role affinity multipliers, distance penalties, and cooldown checks. Currently picks highest raw score without world-state weighting.

TaskScheduler.selectTask() uses raw task.score() values but the scoring weights may need role affinity multipliers, distance penalties, and cooldown checks. Currently picks highest raw score without world-state weighting.
Author
Owner

⏸ Needs Decision

What needs to be decided?

  • Is this issue still relevant? If yes, remove the blocked:needs-decision label to route back to triage.

Blocking factors:

  • Didn't meet auto-approve criteria — scope=small, risk=low, spec=partial

Scope: small Risk: low Spec: partial Type: enhancement
Summary: Task scoring enhancements — role affinity multipliers, distance penalties, and cooldown checks were addressed in M002 but the per-task-per-role multiplier map from the SPEC table and config-driven world-state weighting remain unimplemented.
Suggestion: Close as already-implemented — core asks (distance penalty, capability match, cooldown checks, priority weighting) were added in commit 9ceb01a (M002). If the per-task-per-role multiplier table from SPEC.md is wanted, file a follow-up with the exact multiplier values (e.g., Caretaker→patchWall=2.0, Watcher→keepWatch=2.5) as a new issue.
Rationale: The issue body says 'may need role affinity multipliers, distance penalties, and cooldown checks' — all three exist in the current code. Cooldown checks at line 62-64, distance penalty at line 83-88 (clamped 0.5), role affinity at line 95-98 (configurable weight × 0.3). The M002 milestone directly targeted this issue and implemented weighted scoring. Remaining gaps (per-role-task multipliers vs flat bonuses, world-state factors) are minor incremental improvements, not the original issue scope.

To unblock: Remove the blocked:needs-decision label. The triage will apply the appropriate outcome based on your choice above.

## ⏸ Needs Decision **What needs to be decided?** - **Is this issue still relevant?** If yes, remove the `blocked:needs-decision` label to route back to triage. **Blocking factors:** - **Didn't meet auto-approve criteria** — scope=small, risk=low, spec=partial --- **Scope:** small **Risk:** low **Spec:** partial **Type:** enhancement **Summary:** Task scoring enhancements — role affinity multipliers, distance penalties, and cooldown checks were addressed in M002 but the per-task-per-role multiplier map from the SPEC table and config-driven world-state weighting remain unimplemented. **Suggestion:** Close as already-implemented — core asks (distance penalty, capability match, cooldown checks, priority weighting) were added in commit 9ceb01a (M002). If the per-task-per-role multiplier table from SPEC.md is wanted, file a follow-up with the exact multiplier values (e.g., Caretaker→patchWall=2.0, Watcher→keepWatch=2.5) as a new issue. **Rationale:** The issue body says 'may need role affinity multipliers, distance penalties, and cooldown checks' — all three exist in the current code. Cooldown checks at line 62-64, distance penalty at line 83-88 (clamped 0.5), role affinity at line 95-98 (configurable weight × 0.3). The M002 milestone directly targeted this issue and implemented weighted scoring. Remaining gaps (per-role-task multipliers vs flat bonuses, world-state factors) are minor incremental improvements, not the original issue scope. **To unblock:** Remove the `blocked:needs-decision` label. The triage will apply the appropriate outcome based on your choice above.
Mark 2026-08-05 03:10:13 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/mc-heroes-mod#4
No description provided.