Feature breakdown · built with CraftHQ
Responsive / mobile layout
The product's layout reflows through CSS media queries, with a collapsible shell rail and horizontal-overflow wrappers on tables. The measured window here is one change: making the sign-in logo responsive.
Workflow
How it moved through the workflow
Select a stage. The build shipped, so every stage is complete; a person approved the merge.
Request
Make the sign-in logo scale to the screen rather than sit at a fixed size, as the first step in making the layout work at phone width.
Questions
One decision was recorded before building: fixed sizing or fluid, clamped sizing for the sign-in logo.
Approved
The product owner signs off the breakdown by moving the story into the approved state, and the build runs against that reference.
Definition of ready
Building
This change shipped as one pull request. CraftHQ's build agents made the change with its tests; a failing check halts the work until it passes.
Checks
Three checks run on every pull request: one on the product owner's machine as CraftHQ builds, one on the engineer's machine before review, and a code-quality scan in CI. Merging is gated by the CI check passing and a person's approval, enforced by branch protection.
Review
An engineer reviews the pull request and merges it.
Merged
The pull request is merged to main after a person approves it. Nothing merges without that approval.
Definition of done
Breakdown
The feature breakdown
Business first, then the engineering view. Tab through it.
Overview
The gap it closes
A layout built only for desktop breaks on a phone: things overflow, and the page scrolls sideways.
Who uses it
Every user who opens the product on a phone or in a narrow window.
User story
As a user on a small screen, I want the layout to reflow so that I can use the product on a phone or a narrow window.
Examples
Example 1
A user opens the sign-in screen on a phone. It fits the width, the logo scales to the screen, and there is no sideways scroll.
Example 2
A user opens a wide table on a narrow window. It scrolls horizontally within its own wrapper, so the page itself does not scroll sideways.
Dependencies & risks
Depends on
The product's shared layout stylesheet (CSS media queries, no CSS framework or JS media-query hook), the collapsible shell rail, and horizontal-overflow wrappers on tables.
Risk & mitigation
A new wide component could overflow on a phone. Reduced by the shared media-query rules, the collapsible rail, and table overflow wrappers, so a fix in one place carries across.
How it works
Simplified diagrams of the parts involved, the steps of one request, and where it runs.
Architecture
- 1opens at any width
- 2reflow rules
Sequence
- 1open at a given width
- 2apply fluid sizing and reflow rules
- 3a layout that fits the width
Infrastructure
- 1page request
Acceptance criteria
Each scenario is written as a Gherkin spec. The Engineering tab shows the test that covers each one, or notes where it was verified by review.
@platform @uiFeature: Responsive and mobile layoutAs a user on a small screenI want the layout to reflowSo that I can use the product on a phone or a narrow windowThe layout reflows through CSS media queries, with a collapsible shell rail and horizontal-overflow wrappers on tables. The timed change here is the sign-in logo; the rail and the mobile-grid work shipped separately.Background:Given the product is open in a browserRule: The sign-in logo scales to the screenScenario: The sign-in logo is clamped to fitGiven a user opens the sign-in screen on a narrow windowWhen the screen rendersThen the logo is clamped to a size that fits the screen rather than a fixed sizeRule: The layout reflows through CSS media queriesScenario: The layout reflows at narrower widthsGiven the product is viewed at a narrower widthWhen the page rendersThen the layout reflows through its CSS media queries, with a reduced-motion rule honouredRule: A wide table scrolls within its own wrapperScenario: A wide table does not scroll the whole pageGiven a wide table on a narrow screenWhen the table is wider than the viewportThen it scrolls horizontally within its own overflow wrapper, so the page itself does not scroll sidewaysRule: The staff shell rail collapses behind an accessible toggleScenario: The staff rail collapses behind a labelled toggleGiven the staff shell on a narrow screenWhen the user opens the navigationThen a labelled hamburger toggle carrying aria-expanded and aria-controls opens and closes the railScenario: The customer shell has no railGiven the customer shellWhen it rendersThen it has no collapsible rail
Questions
Questions raised in planning, each with the decision taken.
Should the sign-in logo be a fixed size, or scale to the screen?
A fixed size looks right on desktop but can crowd a phone; a scaled size fits both.
Components touched
Fluid sizing (CSS media queries)
Sizes that scale to the viewport, clamped to a sensible range, so elements like the logo fit both desktop and phone. The layout is plain CSS media queries in one design-token stylesheet, with a reduced-motion rule, and no CSS framework or JS media-query hook.
Collapsible shell rail
The staff shell has a collapsible left rail with a labelled hamburger toggle carrying aria-expanded and aria-controls; the customer shell has no rail.
Table overflow wrappers
Wide tables scroll horizontally within their own wrapper on narrow screens, so the page itself does not scroll sideways.
Data touched
Noneread
This feature is presentation only; it reads and writes no business data.
Security decisions
- This feature reads and writes no business data, so it adds no new data-access surface.
Subtasks
- Fluid, clamped sizing for the sign-in logo (the timed change).
- A collapsible shell rail with an accessible hamburger toggle (a separate change).
- Horizontal-overflow wrappers on wide tables (a separate change).
How each scenario is verified
- The rail toggle is accessibleA behaviour test covers the nav toggle (open and closed, aria-expanded, Escape) and confirms the hamburger is a real labelled button and the customer shell is rail-less.
- Sign-in reflows at phone width with no horizontal scrollVerified by review of the media-query layout.
Notes
- Layout changes are scoped to the shared stylesheet, so one fix carries across the product.
Risk tier
UI A person approves every merge. This is a UI-tier change; it is checked by review and the nav-toggle and shell behaviour tests.
Activity
Pull-request window for one change (the sign-in logo).
- Pull request opened: scale the sign-in logo to the screen
- Merged to main after a person approved
Start here
Want this on your backlog?
Get a free baseline report on one repository, or scope a 3-month pilot measured against what your team’s work costs today.