Skip to content

[auto] Scheduling conflict: 3 clashes on 2026-08-12 #6

Description

@missymessa

The Me.AI scheduler produced 3 unresolvable double-books on the live agenda for Aug 12. A scheduling conflict is a planner bug — two committed blocks share time and the overlap resolver could not separate them. This issue was filed automatically with the full decision trace so the algorithm can be debugged.

Block names are anonymized (type-N tokens) — this repo is public, so no real titles, links, or content are included. Tokens are consistent across the before/after diagrams and telemetry so the clash can still be traced.

Regenerate cause: manual · Day shape: Fragmented (score 637, 22 planned)

Conflicts

# Block A Block B Overlap
1 meeting-1 (09:00–10:00) meeting-2 (09:00–09:30) 09:00–09:30
2 meeting-1 (09:00–10:00) meeting-3 (09:00–10:00) 09:00–10:00
3 meeting-2 (09:00–09:30) meeting-3 (09:00–10:00) 09:00–09:30

Why the resolver left each clash

  1. meeting-1 (rank 4) vs meeting-2 (rank 4) — Both sides are hard anchors (rank ≥ 3) — the resolver never moves an anchored block (an opted-in meeting), so neither could yield.
  2. meeting-1 (rank 4) vs meeting-3 (rank 4) — Both sides are hard anchors (rank ≥ 3) — the resolver never moves an anchored block (an opted-in meeting), so neither could yield.
  3. meeting-2 (rank 4) vs meeting-3 (rank 4) — Both sides are hard anchors (rank ≥ 3) — the resolver never moves an anchored block (an opted-in meeting), so neither could yield.

Agenda BEFORE this build

gantt
    title Before · 2026-08-12
    dateFormat HH:mm
    axisFormat %H:%M
    section steward
    steward-1 (10:30-11:00) :10:30, 11:00
    section review
    review-1 (11:00-12:00) :11:00, 12:00
    section personal
    personal-1 (12:00-12:30) :12:00, 12:30
    section review
    review-2 (12:30-15:00) :12:30, 15:00
Loading

Agenda AFTER this build (red = clashing)

gantt
    title After (conflict) · 2026-08-12
    dateFormat HH:mm
    axisFormat %H:%M
    section meeting
    meeting-1 (09:00-10:00) :crit, 09:00, 10:00
    meeting-2 (09:00-09:30) :crit, 09:00, 09:30
    meeting-3 (09:00-10:00) :crit, 09:00, 10:00
    section personal
    personal-1 (12:00-12:30) :12:00, 12:30
    section review
    review-3 (12:30-13:20) :12:30, 13:20
    section prep
    prep-1 (13:20-13:30) :13:20, 13:30
    section meeting
    meeting-4 (13:35-14:00) :active, 13:35, 14:00
    section review
    review-4 (14:00-15:30) :14:00, 15:30
    section steward
    steward-2 (15:30-16:30) :15:30, 16:30
Loading

What changed in this build

Change Item From To
reschedule work-1 15:00 08:00
add meeting-1 09:00
add meeting-2 09:00
add work-2 09:00
reschedule work-3 08:00 10:00
reschedule work-4 08:00 10:00
reschedule work-5 08:00 10:00
reschedule work-6 11:00 12:30
reschedule work-7 11:00 12:30
add prep-1 13:20
add meeting-4 13:35
reschedule work-8 12:30 14:00
reschedule work-9 12:30 14:00
reschedule work-10 12:30 14:00
reschedule work-11 12:30 14:00
reschedule work-12 10:30 15:30
reschedule work-13 10:30 15:30
add focus-1 16:30
slip work-14 08:00
slip work-15 15:00
slip work-16 15:00
slip work-17 15:00

Full decision telemetry (JSON)
{
  "date": "2026-08-12",
  "cause": "manual",
  "conflicts": [
    {
      "a": {
        "label": "meeting-1",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting"
      },
      "b": {
        "label": "meeting-2",
        "start": "09:00",
        "end": "09:30",
        "type": "meeting"
      }
    },
    {
      "a": {
        "label": "meeting-1",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting"
      },
      "b": {
        "label": "meeting-3",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting"
      }
    },
    {
      "a": {
        "label": "meeting-2",
        "start": "09:00",
        "end": "09:30",
        "type": "meeting"
      },
      "b": {
        "label": "meeting-3",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting"
      }
    }
  ],
  "decisions": [
    {
      "a": {
        "label": "meeting-1",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting",
        "rank": 4,
        "flags": {
          "type": "meeting",
          "urgency": 5,
          "past": false,
          "imminent": false,
          "pinned": false,
          "manual": false,
          "lock": false,
          "meeting": true,
          "attending": true
        }
      },
      "b": {
        "label": "meeting-2",
        "start": "09:00",
        "end": "09:30",
        "type": "meeting",
        "rank": 4,
        "flags": {
          "type": "meeting",
          "urgency": 5,
          "past": false,
          "imminent": false,
          "pinned": false,
          "manual": false,
          "lock": false,
          "meeting": true,
          "attending": true
        }
      },
      "mover": "meeting-1",
      "anchor": "meeting-2",
      "whyUnresolved": "Both sides are hard anchors (rank ≥ 3) — the resolver never moves an anchored block (an opted-in meeting), so neither could yield."
    },
    {
      "a": {
        "label": "meeting-1",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting",
        "rank": 4,
        "flags": {
          "type": "meeting",
          "urgency": 5,
          "past": false,
          "imminent": false,
          "pinned": false,
          "manual": false,
          "lock": false,
          "meeting": true,
          "attending": true
        }
      },
      "b": {
        "label": "meeting-3",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting",
        "rank": 4,
        "flags": {
          "type": "meeting",
          "urgency": 5,
          "past": false,
          "imminent": false,
          "pinned": false,
          "manual": false,
          "lock": false,
          "meeting": true,
          "attending": true
        }
      },
      "mover": "meeting-1",
      "anchor": "meeting-3",
      "whyUnresolved": "Both sides are hard anchors (rank ≥ 3) — the resolver never moves an anchored block (an opted-in meeting), so neither could yield."
    },
    {
      "a": {
        "label": "meeting-2",
        "start": "09:00",
        "end": "09:30",
        "type": "meeting",
        "rank": 4,
        "flags": {
          "type": "meeting",
          "urgency": 5,
          "past": false,
          "imminent": false,
          "pinned": false,
          "manual": false,
          "lock": false,
          "meeting": true,
          "attending": true
        }
      },
      "b": {
        "label": "meeting-3",
        "start": "09:00",
        "end": "10:00",
        "type": "meeting",
        "rank": 4,
        "flags": {
          "type": "meeting",
          "urgency": 5,
          "past": false,
          "imminent": false,
          "pinned": false,
          "manual": false,
          "lock": false,
          "meeting": true,
          "attending": true
        }
      },
      "mover": "meeting-2",
      "anchor": "meeting-3",
      "whyUnresolved": "Both sides are hard anchors (rank ≥ 3) — the resolver never moves an anchored block (an opted-in meeting), so neither could yield."
    }
  ],
  "diff": [
    {
      "kind": "reschedule",
      "label": "work-1",
      "from": "15:00",
      "to": "08:00"
    },
    {
      "kind": "add",
      "label": "meeting-1",
      "from": null,
      "to": "09:00"
    },
    {
      "kind": "add",
      "label": "meeting-2",
      "from": null,
      "to": "09:00"
    },
    {
      "kind": "add",
      "label": "work-2",
      "from": null,
      "to": "09:00"
    },
    {
      "kind": "reschedule",
      "label": "work-3",
      "from": "08:00",
      "to": "10:00"
    },
    {
      "kind": "reschedule",
      "label": "work-4",
      "from": "08:00",
      "to": "10:00"
    },
    {
      "kind": "reschedule",
      "label": "work-5",
      "from": "08:00",
      "to": "10:00"
    },
    {
      "kind": "reschedule",
      "label": "work-6",
      "from": "11:00",
      "to": "12:30"
    },
    {
      "kind": "reschedule",
      "label": "work-7",
      "from": "11:00",
      "to": "12:30"
    },
    {
      "kind": "add",
      "label": "prep-1",
      "from": null,
      "to": "13:20"
    },
    {
      "kind": "add",
      "label": "meeting-4",
      "from": null,
      "to": "13:35"
    },
    {
      "kind": "reschedule",
      "label": "work-8",
      "from": "12:30",
      "to": "14:00"
    },
    {
      "kind": "reschedule",
      "label": "work-9",
      "from": "12:30",
      "to": "14:00"
    },
    {
      "kind": "reschedule",
      "label": "work-10",
      "from": "12:30",
      "to": "14:00"
    },
    {
      "kind": "reschedule",
      "label": "work-11",
      "from": "12:30",
      "to": "14:00"
    },
    {
      "kind": "reschedule",
      "label": "work-12",
      "from": "10:30",
      "to": "15:30"
    },
    {
      "kind": "reschedule",
      "label": "work-13",
      "from": "10:30",
      "to": "15:30"
    },
    {
      "kind": "add",
      "label": "focus-1",
      "from": null,
      "to": "16:30"
    },
    {
      "kind": "slip",
      "label": "work-14",
      "from": "08:00",
      "to": null
    },
    {
      "kind": "slip",
      "label": "work-15",
      "from": "15:00",
      "to": null
    },
    {
      "kind": "slip",
      "label": "work-16",
      "from": "15:00",
      "to": null
    },
    {
      "kind": "slip",
      "label": "work-17",
      "from": "15:00",
      "to": null
    }
  ],
  "churn": {
    "reschedule": 163,
    "slip": 159,
    "add": 156,
    "planned": 22,
    "total": 478,
    "score": 637,
    "shape": "Fragmented"
  },
  "signalFp": "8653291dd9b567d2",
  "validationHeld": false,
  "workStart": "08:00",
  "workEnd": "17:00",
  "grid": 10,
  "version": "7e2db9f",
  "beforeBlocks": [
    {
      "label": "focus-2",
      "start": "08:00",
      "end": "10:30",
      "type": "focus",
      "urgency": 4,
      "meta": {}
    },
    {
      "label": "steward-1",
      "start": "10:30",
      "end": "11:00",
      "type": "steward",
      "urgency": 4,
      "meta": {
        "monitored": false
      }
    },
    {
      "label": "review-1",
      "start": "11:00",
      "end": "12:00",
      "type": "review",
      "urgency": 4,
      "meta": {
        "monitored": true
      }
    },
    {
      "label": "personal-1",
      "start": "12:00",
      "end": "12:30",
      "type": "personal",
      "urgency": 0,
      "meta": {}
    },
    {
      "label": "review-2",
      "start": "12:30",
      "end": "15:00",
      "type": "review",
      "urgency": 4,
      "meta": {
        "monitored": true
      }
    },
    {
      "label": "focus-3",
      "start": "15:00",
      "end": "17:00",
      "type": "focus",
      "urgency": 3,
      "meta": {}
    }
  ],
  "afterBlocks": [
    {
      "label": "focus-4",
      "start": "08:00",
      "end": "09:00",
      "type": "focus",
      "urgency": 4,
      "meta": {},
      "conflict": false
    },
    {
      "label": "meeting-1",
      "start": "09:00",
      "end": "10:00",
      "type": "meeting",
      "urgency": 5,
      "meta": {},
      "conflict": true
    },
    {
      "label": "meeting-2",
      "start": "09:00",
      "end": "09:30",
      "type": "meeting",
      "urgency": 5,
      "meta": {},
      "conflict": true
    },
    {
      "label": "meeting-3",
      "start": "09:00",
      "end": "10:00",
      "type": "meeting",
      "urgency": 5,
      "meta": {},
      "conflict": true
    },
    {
      "label": "focus-5",
      "start": "10:00",
      "end": "12:00",
      "type": "focus",
      "urgency": 4,
      "meta": {},
      "conflict": false
    },
    {
      "label": "personal-1",
      "start": "12:00",
      "end": "12:30",
      "type": "personal",
      "urgency": 0,
      "meta": {},
      "conflict": false
    },
    {
      "label": "review-3",
      "start": "12:30",
      "end": "13:20",
      "type": "review",
      "urgency": 4,
      "meta": {
        "monitored": true
      },
      "conflict": false
    },
    {
      "label": "prep-1",
      "start": "13:20",
      "end": "13:30",
      "type": "prep",
      "urgency": 0,
      "meta": {},
      "conflict": false
    },
    {
      "label": "meeting-4",
      "start": "13:35",
      "end": "14:00",
      "type": "meeting",
      "urgency": 5,
      "meta": {},
      "conflict": false
    },
    {
      "label": "review-4",
      "start": "14:00",
      "end": "15:30",
      "type": "review",
      "urgency": 4,
      "meta": {
        "monitored": true
      },
      "conflict": false
    },
    {
      "label": "steward-2",
      "start": "15:30",
      "end": "16:30",
      "type": "steward",
      "urgency": 4,
      "meta": {
        "monitored": false
      },
      "conflict": false
    },
    {
      "label": "focus-1",
      "start": "16:30",
      "end": "17:00",
      "type": "focus",
      "urgency": 3,
      "meta": {},
      "conflict": false
    }
  ]
}

Auto-reported by the Me.AI scheduler conflict watchdog. Before/after shown as rendered Mermaid gantt because silent screen-capture requires a browser permission gesture.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions