style(13-03): apply Prettier formatting across repo
Mechanical reformat — no logic changes. 398 files changed, 19125 insertions(+), 16457 deletions(-). Prettier 3.8.4 with .prettierrc (singleQuote:true, semi:true, tabWidth:2, trailingComma:all, printWidth:100). Isolated per D-13-08 for reviewability.
This commit is contained in:
@@ -11,20 +11,20 @@ autonomous: true
|
||||
requirements: []
|
||||
must_haves:
|
||||
truths:
|
||||
- "On any start change, the event end preserves its current duration (D-04)"
|
||||
- "The end never strands behind the start day — at worst it snaps to the same day/+1h (D-04 floor)"
|
||||
- 'On any start change, the event end preserves its current duration (D-04)'
|
||||
- 'The end never strands behind the start day — at worst it snaps to the same day/+1h (D-04 floor)'
|
||||
artifacts:
|
||||
- path: "apps/pwa/src/lib/eventDateTime.ts"
|
||||
provides: "computeNewTimedEnd + computeNewAllDayEnd pure end-tracking helpers"
|
||||
contains: "computeNewTimedEnd"
|
||||
- path: "apps/pwa/src/lib/eventDateTime.test.ts"
|
||||
provides: "RED-then-GREEN unit coverage for duration preservation + floor rule"
|
||||
contains: "computeNewTimedEnd (D-04"
|
||||
- path: 'apps/pwa/src/lib/eventDateTime.ts'
|
||||
provides: 'computeNewTimedEnd + computeNewAllDayEnd pure end-tracking helpers'
|
||||
contains: 'computeNewTimedEnd'
|
||||
- path: 'apps/pwa/src/lib/eventDateTime.test.ts'
|
||||
provides: 'RED-then-GREEN unit coverage for duration preservation + floor rule'
|
||||
contains: 'computeNewTimedEnd (D-04'
|
||||
key_links:
|
||||
- from: "apps/pwa/src/lib/eventDateTime.ts"
|
||||
to: "apps/pwa/src/lib/eventDateTime.test.ts"
|
||||
via: "vitest unit assertions"
|
||||
pattern: "computeNewTimedEnd|computeNewAllDayEnd"
|
||||
- from: 'apps/pwa/src/lib/eventDateTime.ts'
|
||||
to: 'apps/pwa/src/lib/eventDateTime.test.ts'
|
||||
via: 'vitest unit assertions'
|
||||
pattern: 'computeNewTimedEnd|computeNewAllDayEnd'
|
||||
---
|
||||
|
||||
<objective>
|
||||
@@ -52,10 +52,11 @@ Output: `computeNewTimedEnd` and `computeNewAllDayEnd` exported from `eventDateT
|
||||
|
||||
<artifacts_this_plan_produces>
|
||||
NEW symbols introduced here (exclude from any drift/convergence check — they did not exist before this phase):
|
||||
|
||||
- `computeNewTimedEnd(newStartDate, newStartTime, oldStartDate, oldStartTime, oldEndDate, oldEndTime): { endDate, endTime }` in `apps/pwa/src/lib/eventDateTime.ts`
|
||||
- `computeNewAllDayEnd(newStartDate, oldStartDate, oldEndDate): string` in `apps/pwa/src/lib/eventDateTime.ts`
|
||||
- Any private date helpers these need (e.g. `dateDiffDays`, `addDaysISO`, `localDateISO`, `localTimeHHMM`) — add only if not already present in the file; reuse existing local-accessor helpers where they exist.
|
||||
</artifacts_this_plan_produces>
|
||||
</artifacts_this_plan_produces>
|
||||
|
||||
<tasks>
|
||||
|
||||
@@ -116,17 +117,19 @@ NEW symbols introduced here (exclude from any drift/convergence check — they d
|
||||
</tasks>
|
||||
|
||||
<threat_model>
|
||||
|
||||
## Trust Boundaries
|
||||
|
||||
| Boundary | Description |
|
||||
|----------|-------------|
|
||||
| Boundary | Description |
|
||||
| ---------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| (none new) | Pure client-side date arithmetic on already-trusted local form state. No network, no untrusted input, no persistence. |
|
||||
|
||||
## STRIDE Threat Register
|
||||
|
||||
| Threat ID | Category | Component | Disposition | Mitigation Plan |
|
||||
|-----------|----------|-----------|-------------|-----------------|
|
||||
| T-06-01 | Tampering | computeNewTimedEnd / computeNewAllDayEnd | accept | Pure functions over local strings; no trust boundary crossed. Output is re-validated downstream by the existing serialize/write path (vevent.ts WR-04). UI/logic only — no new attack surface. |
|
||||
| Threat ID | Category | Component | Disposition | Mitigation Plan |
|
||||
| --------- | --------- | ---------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| T-06-01 | Tampering | computeNewTimedEnd / computeNewAllDayEnd | accept | Pure functions over local strings; no trust boundary crossed. Output is re-validated downstream by the existing serialize/write path (vevent.ts WR-04). UI/logic only — no new attack surface. |
|
||||
|
||||
</threat_model>
|
||||
|
||||
<verification>
|
||||
@@ -136,10 +139,11 @@ NEW symbols introduced here (exclude from any drift/convergence check — they d
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
|
||||
- D-04 duration-preservation and floor rules are encoded as passing unit tests.
|
||||
- Two exported helpers are available for Plan 06 to wire into EventForm.
|
||||
- No EventForm or write-path file touched (clean ownership for parallel Wave 1).
|
||||
</success_criteria>
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
Create `.planning/phases/06-ux-polish/06-01-SUMMARY.md` when done (RED/GREEN/REFACTOR notes + commit list).
|
||||
|
||||
Reference in New Issue
Block a user