Consolidate project notification jobs into unified daily digest#301
Consolidate project notification jobs into unified daily digest#301redreceipt merged 4 commits intomainfrom
Conversation
Merges the previous upcoming/overdue/Friday-deadline project posts into a single post_project_updates digest with Overdue, Ending Soon, and Starting Soon sections. The soon windows are 3 days. Replaces the three separate weekly schedules with one daily run at 14:00 America/New_York.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5184833aa4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| continue | ||
| start_dt = parse_iso_date(project.get("startDate")) | ||
| if start_dt: | ||
| days_until_start = (start_dt - today).days | ||
| if 0 <= days_until_start <= 3: |
There was a problem hiding this comment.
Filter inactive projects from starting-soon section
post_project_updates only filters starting_soon by canceled status, so projects marked Completed, Incomplete, or Released (or with completedAt set under a non-canceled status) can still be announced as "Projects Starting Soon" when their startDate is within 0–3 days. This produces false Slack alerts for already closed work; the overdue/ending paths already use _is_inactive_project, so the starting-soon branch should apply the same guard.
Useful? React with 👍 / 👎.
Use _is_inactive_project to filter the starting-soon branch so Completed/Incomplete/Released projects (or any with completedAt set) aren't announced as starting, matching the guard already used by the overdue and ending-soon branches.
…posts-timing-GLGF1 # Conflicts: # jobs.py
Summary
Consolidates three separate project notification functions (
post_overdue_projects,post_upcoming_projects, andpost_friday_deadlines) into a single unifiedpost_project_updatesfunction that runs daily and groups projects by status (overdue, ending soon, starting soon).Key Changes
Implementation Details
format_project_target_statushelperhttps://claude.ai/code/session_01HpRGk3uYAE5awwcPs7vAD8