Skip to content

feat(plans): adjust local draft schedule dates - #882

Merged
cristim merged 1 commit into
mainfrom
feat/plan-draft-dates
Oct 15, 2026
Merged

cristim merged 1 commit into
mainfrom
feat/plan-draft-dates

Conversation

@cristim

@cristim cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member

The Create/Edit schedule preview now supports UTC date edits, interval redistribution and Alt+Arrow day movement, with initial-to-draft differences and reset. Step counts and purchase targets stay the same, including legacy custom allocations.

Date edits stay local to the preview and closing it discards them. Save Plan doesn't apply these preview edits. Saved purchases, history and approval-window checks remain part of the atomic editor work tracked in #631.

Validation: 178 affected Jest tests, TypeScript checking, changed-source ESLint, production build and Create/Edit browser checks at four desktop/phone widths with fixture APIs and authentication. The browser checks cover partial paired-input correction, keyboard/focus behavior, dense and overlapping points, reset and zero API writes. Guard and input-listener mutations fail at the intended matcher assertions, then the restored tests pass. Independent committed-head verification will be recorded before merge.

Refs #631

Keep purchase targets unchanged while adjusting preview dates with
ordered UTC inputs, interval redistribution and keyboard movement.
Show initial-to-draft differences and reject stale resets explicitly.

The preview remains local and does not change Save Plan behavior.

Refs #631
@cristim cristim added urgency/this-sprint Within the current sprint triaged Item has been triaged priority/p1 Next up; this sprint severity/high Significant harm impact/many Affects most users effort/xl Multi-week / refactor type/feat New capability labels Oct 15, 2026
@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

This review includes 6 billable files and costs up to $1.50.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 48 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 62 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: LeanerCloud/cloud-commitments-platform/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: c960171a-b848-4572-973b-e5aac168bf0d
📥 Commits

Reviewing files that changed from the base of the PR and between 64ec8b3 and ac72ceb.

📒 Files selected for processing: 6
  • frontend/src/__tests__/plan-draft-dates.test.ts
  • frontend/src/__tests__/plan-schedule-preview.test.ts
  • frontend/src/lib/plan-draft-dates.ts
  • frontend/src/plan-schedule-preview.ts
  • frontend/src/styles/plans.css
  • frontend/tests-e2e/plan-schedule-preview.spec.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Independent review and local verification cover ac72ceb, tree 5d621c4fa95556a47530a8e6ebbcb1b1fd0dc4f7, on main 64ec8b3.

The retained non-author reviewer completed two adversarial source/staged passes with no actionable findings. A separate cold verifier completed two fresh passes and independently reproduced 238 affected Jest tests, type checking, changed-source lint, a production build and Create/Edit browser checks at widths 1440, 1280, 390 and 320. The browser exercised paired-input correction, focus retention, keyboard date movement, reset, overlapping points, one-step and dense schedules, with zero API writes or captured errors. Desktop and phone screenshots were inspected.

The actual parent fails the new readonly-behavior assertion. Removing the ordering guard and disabling the date-input change listener each cause the intended matcher assertion to fail. The verifier restored both files byte-for-byte and all 238 tests passed again; no compile or runtime failure was counted as a successful probe.

This is local production-artifact evidence with fixture APIs and authentication. Date changes remain local to the preview and Save Plan does not apply them. It does not verify saved history, approvals, backend reconciliation or real purchases. Protected deployed UI verification still needs the user's normal signin. The atomic editor remains tracked in #631. Normal exact-head CI and merge protections still apply.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

CodeRabbit's automatic comment is a review-capacity notice, not a completed review. No paid review or retry was requested. This PR uses the owner's explicit standing independent-review exception: two non-author adversarial source passes and two separate cold verification passes cover ac72ceb. Their evidence and fixture limitations are recorded above. Any actual findings and all required exact-head CI checks remain merge gates.

@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Current-main compatibility was independently checked in two read-only passes. Main 21910e3 adds only three migration files to the reviewed base; the combined tree with unchanged PR head ac72ceb is d99c32f4156c77e50919eaeaaf1c148de61d28c6.

The full binary deltas match, and every preexisting file has identical mode and content. The frontend, caller and date-policy code are unchanged, so the recorded local UI checks and assertion-based probes transfer without repeating them. This does not claim CI or migration execution on the combined tree. All five workflows on the exact PR head have passed; normal merge protections and a fresh head/base check still apply.

@cristim
cristim merged commit 5dd0e75 into main Oct 15, 2026
28 checks passed
@cristim

cristim commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

PR #882 merged as 5dd0e75. The Create/Edit preview now supports UTC date inputs, interval redistribution, keyboard day movement, date differences and reset while preserving step counts and targets.

All five post-merge workflows passed. Full CI needed one failed-job retry after an external lint-schema download timed out; no source change was needed. The deployed version and runtime image were independently correlated with this commit.

The recorded independent production-browser checks use fixture APIs and authentication. Protected live UI acceptance still needs normal signin. Date edits remain local to the preview and Save Plan does not apply them. Pointer gestures and the atomic saved-plan workflow remain active work in #631.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/xl Multi-week / refactor impact/many Affects most users priority/p1 Next up; this sprint severity/high Significant harm triaged Item has been triaged type/feat New capability urgency/this-sprint Within the current sprint

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant