agents/overdue-task: auto-infer per-user lateness tolerance #115

Closed
opened 2026-05-05 09:26:02 +00:00 by alvis · 0 comments
Owner

Goal

Auto-infer a per-user lateness tolerance and per-project deadline-realness so OverdueTaskAgent doesn'''t shout about every aspirational due date.

Why

Some users mark every task with a due date and routinely miss them by days; others treat due dates as commitments. Treating both the same makes the agent nag the wrong people.

Inferred parameters

Key Shape Default
lateneessToleranceDays float 0
projectRealness { projectId: float in [0,1] } empty

Method (sketch)

  • Lateness distribution = (completedAt − dueAt) for each completed task with a due date.
  • Tolerance = some percentile (e.g. p50 lateness clipped at 0).
  • Per-project realness = 1 − (median lateness / global median lateness), clipped.
  • Agent snippet promotes overdue tasks weighted by realness.

Done when

  • Inference function plugged into the framework with TTL = 7d.
  • Cold-start = tolerance 0, realness 1.0 for all projects.
  • OverdueTaskAgent reads both; snippet language softens for low-realness projects.
  • Tests cover: punctual user, chronic-lateness user, mixed-project user.

Depends on

## Goal Auto-infer a per-user lateness tolerance and per-project deadline-realness so `OverdueTaskAgent` doesn'''t shout about every aspirational due date. ## Why Some users mark every task with a due date and routinely miss them by days; others treat due dates as commitments. Treating both the same makes the agent nag the wrong people. ## Inferred parameters | Key | Shape | Default | |---|---|---| | `lateneessToleranceDays` | float | 0 | | `projectRealness` | `{ projectId: float in [0,1] }` | empty | ## Method (sketch) - Lateness distribution = (completedAt − dueAt) for each completed task with a due date. - Tolerance = some percentile (e.g. p50 lateness clipped at 0). - Per-project realness = 1 − (median lateness / global median lateness), clipped. - Agent snippet promotes overdue tasks weighted by realness. ## Done when - Inference function plugged into the framework with TTL = 7d. - Cold-start = tolerance 0, realness 1.0 for all projects. - `OverdueTaskAgent` reads both; snippet language softens for low-realness projects. - Tests cover: punctual user, chronic-lateness user, mixed-project user. ## Depends on - #111
alvis added this to the M2 — AI tips + multi-source signals milestone 2026-05-05 09:26:02 +00:00
alvis closed this issue 2026-05-06 05:14:30 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alvis/oO#115