-
released this
2026-04-29 10:38:03 -04:00 | 295 commits to main since this releaseCalendar tool — date/time handling made model-agnostic
A "schedule for this Friday at 8am" request landed on Thursday. Two distinct fault lines fixed:
- Split
startintostart_date+start_time— aYYYY-MM-DDstring carries no TZ for the model to mis-tag, so the calendar day cannot drift across the local→UTC boundary. Strict regex rejects TZ suffixes on either field. Legacy combinedstart/endkept as backcompat. - Today's weekday anchored in system prompts;
expected_weekdayvalidator oncreate_event/update_event. Prompts now read"Today is Wednesday, 2026-04-29"instead of forcing the model to derive the weekday. The validator rejects mismatches with a self-correcting error and respects the user's local TZ (Tokyo Friday 23:00 stays Friday).
Journal — three rough edges from real usage
- Persona tuning — capture-first; helpdesk-style follow-ups banned; emoji ban; first-person moment phrasing required (no more "The user mentioned…").
record_momentdata hygiene — server-side keyword-overlap guard drops moment→task links that share no meaningful keyword; placeholder filter drops generic single-word place names (work,home,office).- Prep filtering — tasks bucketed into due-today / upcoming / overdue (overdue items surface with staleness duration, not as "due today"); events use a TZ-aware day window + proximity filter, fixing recurring events surfacing 5 months out.
fable-mcp 0.3.0
Briefing tools removed, journal tools shipped. Reinstall with
pipx install --forceafter deploy.
53 backend tests pass; ruff clean. No schema or migration changes — deploy-only.
Downloads
- Split