Repository navigation
Compose task rules: on a date or when something happens - #601
Merged
Merged
Conversation
Tasks now come from rules people compose in the Tasks view instead of fixed code: on a date (once or repeating), or around a contract, project, invoice or financial goal, before, on or after one of its dates, or when its status changes. Each record declares its dates and the statuses Tuttle already shows, and the events derive from that. The overdue-invoice task and a heads-up before a contract ends become built-in rules that can be edited, paused or deleted; existing overdue tasks keep their status. Getting-started tasks stay built in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Harry's task rules move into the revised demo data, as create_demo_task_rules beside the other demo builders. The Tasks view takes today's date from main's localDateIso instead of its own copy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contracts no longer default to one (#629). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Relates to #502 and #597. Builds on the idea in #598 (configurable contract-end and overdue reminders).
What
tuttle/app/tasks/rules.pylists each record's dates and the statuses Tuttle already shows (project board stage, contract and invoice status); the 20 events derive from that.TaskRuleNotice).Screenshots
Tasks made by rules
Rules
New rule: when something happens
Checks
1090 tests pass, 196 of them new: the rule engine; the composer's RPC calls with the UI's exact payloads on the demo database; and a simulation that runs a rule for every event over two years of days, checking that no task comes early, twice, or back after it was done, and that a second pass on the same day changes nothing. tsc passes. Drove the app with Playwright on a scratch demo install: creating, editing, pausing and deleting rules, every preview, links to records, dark mode and a narrow window, with no console errors. Upgraded a copy of an existing dev database.
🤖 Generated with Claude Code