Skip to content

feat(schedule): implement Agent schedule application service - #200

Open
znnnnnnn-wil wants to merge 4 commits into
1024XEngineer:mainfrom
znnnnnnn-wil:feat/schedule-agent-apis
Open

feat(schedule): implement Agent schedule application service#200
znnnnnnn-wil wants to merge 4 commits into
1024XEngineer:mainfrom
znnnnnnn-wil:feat/schedule-agent-apis

Conversation

@znnnnnnn-wil

@znnnnnnn-wil znnnnnnn-wil commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Related issue: feat(schedule): 实现日程聚合、PostgreSQL/SQLite 与日历读取闭环 #176

  • implement the five existing Agent-facing schedule operations without changing their names, parameters, return types, Command contracts, or business-error contract
  • validate all-day schedules as local-midnight date boundaries in the schedule IANA timezone, including DST days, and preserve omitted update fields byte-for-byte
  • resolve find_schedules time bounds as effective occurrence windows through account-scoped Repository candidate filtering, timezone-aware RRULE range queries, and CANCEL/REPLACE overrides
  • implement recurring deletion for this_occurrence, this_and_future, and entire_series using local wall time in the schedule IANA timezone
  • accept and canonicalize one RRULE only, reject recurrence sets/content lines, normalize invalid ZoneInfo keys, and keep aggregate writes in one application-owned transaction

Verification

  • ruff check .
  • ruff format --check . (91 files already formatted)
  • mypy (58 source files, no issues)
  • pytest --cov --cov-report=term-missing --cov-report=xml --cov-fail-under=80 (276 passed, 25 skipped, 90.19% coverage locally; PostgreSQL fixture unavailable locally)
  • stable five-interface signature test
  • alembic heads (20260810_0005)
  • GitHub CI: backend lint/types/tests, backend migrations, frontend lint/types/build, and Vercel checks passed

Scope

This PR contains only the backend application logic behind the five already-merged Agent schedule interfaces. Client calendar reading, cloud snapshot application, WebSocket synchronization, reminder runtime scheduling, GUI editing, and the remaining client-facing interfaces stay out of scope. PostgreSQL candidate-query coverage reuses the existing CI fixture.

@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
timeflow Ready Ready Preview Aug 11, 2026 10:27am

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the fixed range cc39a79...60fdb41. Three correctness issues are annotated inline. CI is green; I also reproduced the ZoneInfo exception class and DST recurrence behavior locally.

View job run

Comment thread backend/src/timeflow/business/calendar/recurrence.py
Comment thread backend/src/timeflow/business/calendar/recurrence.py Outdated
Comment thread backend/src/timeflow/business/calendar/service.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant