Repository navigation
Roadmap counts the working week in hours, and names the weekday in every day head - #935
Merged
Merged
Conversation
…archived session) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…adient) Register the working week in the shared desktop composition: the options take the WorkingHoursSettingsStore, the composition answers IWorkingHoursSettings over it after resolving the pace store, and both heads build the pace store over the registered week. One day-off shading: the timeline shades the working week's days off when one is given and Saturday and Sunday otherwise, with #928's top-down gradient and head class. The WIP's separate hatch styling is dropped. Tests follow main: FakeTimeProvider for the pace clock, plans filed under a configured repository, and axis assertions that hold for however many weeks are ruled in days. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A day column too narrow for "Wed 1" keeps its number on the head's first
line and names its weekday on the caption line, in two letters of the
culture's own abbreviation ("Mo", "ma"). The week's first day, wherever
WeekStart puts it, reads "Mo W41" there when both fit at the caption's
measured width, and "W41" alone when they do not. Wide day columns are
unchanged. The caption line never wraps, so the hours line and the day-off
shading keep their places.
ShortestDayNames is not used: under ICU it is one letter, and "T" and "S"
each name two days.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ResetToDefault on a week that already is the default now writes and
announces nothing, as SetDay and Replace already did. Announcing it made the
pace store re-stamp its document, so a stale device could win last-write-wins
over another device's newer pace.
FromJson reads an object with no legible day ({} or a shape a later build
writes) as no week rather than the default one, so a pulled document carrying
it leaves the device's own week alone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Where two letters of the abbreviation do not tell the seven days apart (Vietnamese "Th 2" to "Th 7", Hebrew, Arabic), a narrow day head uses the culture's whole abbreviation, and a day with no room for it keeps just its number. The caption estimate counts a full-width East Asian character at a whole em, so "月 W39" is not claimed to fit where it would clip. Corrects two comments that ADR 0019 made stale: the default pace is seven points a working week, not one a calendar day, and a relengthened window's start moves to the next worked day when the week no longer works it. 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.
Summary
Implements local ADR 0019 (proposed in #920): the roadmap counts the working week in hours. Effort windows now advance through working hours and skip days you don't work. The working week syncs to other devices inside the planning-pace document. Day and Week column heads show working hours, and days off are shaded.
At the owner's request, every Day column head also names its weekday, including narrow columns, which used to show only the date.
Changes
WorkingHoursin SharedKernel.EffortWindow/PlanningPace/ImportedPlanPlacementcount working hours: 5 pts at 5/week is now 5 working days, not 7 calendar days. A start on a day off moves to the next worked day. TheworkingWeekkey travels in the planning-pace document (same last-write-wins stamp) and keepsworking-hours.jsonas each device's copy. The dashboard heatmap reads the same week.IsDayOffuses the working week when one is given and falls back to Sat/Sun otherwise. Both draw with Shade weekend day columns on the roadmap with a gradient #928's gradient classes; the hatch styling from the original implementation was removed.WeekStart) shows "Mo W41" when it fits and "W41" otherwise.workingWeekwith no readable day ({}or a future shape) leaves the device's week alone instead of resetting it to the default.DesktopCompositionRegistration), so the MAUI head and the harness get them in one place.Testing
Backlog.WithoutAppHeads.slnfRelease with-p:TreatWarningsAsErrors=true --no-incremental: 0 warnings, 0 errors. The Windows and Android heads also build clean.EndToEndTests, gated byBACKLOG_E2E=1and not run in CI either. After the review fixes: FileSystem 549, UI.Components 2744, Roadmap 278 and Desktop.UI 3351, all 0 failed.Reviewer attention:
roadmap-timeline__quarter--weekend, even though it now marks any day off.Related
Refs local ADR 0019 (
.devbook/arc42/adr/0019-roadmap-counts-the-working-week.md), #920, #928. There is no issue.Devbook follow-up (
flow-spec):.devbook/domain/roadmap/features.mddoes not yet mention weekday names in narrow day heads.Checklist
🤖 Generated with Claude Code