Repository navigation
v1: validate candidate issue #114 grouped controls #135
Description
Objective
Decide whether issue #114, grouped controls, merits a v1 fix that preserves Chota's existing gapless grouped-control contract.
Prerequisites
- The report is reproduced using current built CSS and documented markup.
- The v1 support policy confirms the CSS feature used by a proposed remedy.
- VRT can compare normal and edge-case group layouts.
Investigation scope
Evaluate only the reported spacing/alignment failure. If gap is considered, compare it with existing border, radius, wrapping, and gapless control behavior across the supported layout directions.
Do not
- Add a new component or form-layout system.
- Replace all grouping styles opportunistically.
- Treat a modern property as safe without confirming its policy and fallback behavior.
- Merge production CSS as part of this validation card.
Procedure
- Build minimal horizontal and wrapping control-group fixtures.
- Reproduce the failing condition at desktop and narrow widths.
- Test proposed gap behavior against intended zero-gap cases, border joins, focus outlines, and disabled controls.
- State whether the change is a safe targeted fix, needs design/API decision, or should defer.
Done checklist
- The reproduction distinguishes intended gapless appearance from the reported defect.
- The compatibility matrix covers supported browsers and narrow layout behavior.
- A promoted fix has explicit regression fixtures and no unintended spacing change.
- The card ends with a close, defer, or separate implementation decision.
Required handoff
Provide markup, before evidence, browser/viewport matrix, candidate comparison, risk assessment, and explicit decision.
Evidence integrity gate — coordinator review
This card is not complete because code, a screenshot, or a claimed result exists. Every conclusion must be reproducible from the recorded commit and command output.
- Record the exact base SHA, worker branch, OS, browser and version, Node/Yarn versions, viewport/device settings, command, exit status, and artifact path.
- Use the current built
dist/from the recorded commit; do not inspect source alone when the claim concerns runtime CSS. - A screenshot is evidence only. It is a VRT result only when the test asserts against a named baseline and the command proves that assertion ran.
- Record measured values and the selector/element that produced those. "Looks correct" is not evidence.
- If a required command or browser cannot run, write
BLOCKEDwith the error and do not convert it into a pass. - The handoff must list changed files and prove that no excluded or unrelated files are present.
- The worker may recommend a disposition, but only the coordinator/owner may accept it or change GitHub state.
- Validation cards must not contain production CSS changes. A promoted fix requires a separate implementation card.
Unless this card explicitly names otherwise, excluded files are AGENTS.md, PLAN.md, generated reports, unrelated snapshots, package-manager lockfiles, and unrelated source files.
Required file scope
Allowed changes are limited to validation fixtures/specs, evidence screenshots/reports, and the handoff. No production CSS, dependency, or component-system changes are allowed in the validation work.
The evidence must include explicit expected-versus-actual spacing for gapless groups, wrapping groups, borders, radii, focus outlines, and disabled controls across the named viewport/browser matrix.
Handoff acceptance gate
Before requesting coordinator review, provide a criterion-to-evidence table: each Done checklist item | fixture/spec | assertion or measured value | command and exit status | artifact path. A screenshot augments a required measurement assertion; it never replaces one.
- Preserve required computed-style or measurement assertions when adding VRT; do not replace them with screenshots.
- Any claimed keyboard behavior must send the relevant keyboard input and assert the resulting focused element or focus order. Counting potentially focusable elements is not evidence of keyboard navigation.
- If snapshots are added to
test:vrt, the handoff must show the exact CI command passing on Linux with the committed Chromium baselines, or explicitly reportBLOCKED. A local macOS pass is not a substitute per card requirements. - State every unverified checklist item as
BLOCKED; do not replace it with a weaker proxy or mark the card complete.
Implementation handoff clarification
This card is validation-only. When the evidence confirms the reported defect, the coordinator may choose promote and create or use a separate implementation PR/card to fix it. The validation card's prohibition on production CSS applies to the validation work; it does not prohibit the follow-up implementation.
For this issue, the confirmed defect is the narrow-viewport overflow reported in #114. A follow-up implementation such as PR #170 may change the production CSS, but it must preserve desktop grouped controls, gapless behavior, focus outlines, disabled controls, and the supported browser contract. The implementation PR must carry its own regression evidence and CI validation before merge.
Activity
jenil commentedon Jul 30, 2026
Coordinator Disposition: promote
Validation complete. Evidence reviewed and accepted.
Summary
flex-wrap: wrapsupported by all target browsers (Chrome/FF/Safari 15.4+/Edge)Disposition: promote
Recommend a separate implementation card to add
flex-wrap: wrapto.grouped.See handoff:
test/vrt/report/grouped-controls-handoff.mdWorker may now close this validation card.
jenil commentedon Jul 30, 2026
Coordinator Final Handoff
Card/PR: #135 — v1: validate candidate issue #114 grouped controls
Outcome and disposition: validation → promote (safe targeted fix recommended)
Changed files (validation only, no production CSS):
Base SHA / validation SHA:
a164e36aa8f58ea90c1f3fe48f5ac26ce66bb98ea164e36(no code changes, validation only)Commands and exit statuses:
CI run and required step:
Browser/OS/viewport matrix:
flex-wrap: Chrome (last 2), Firefox (last 2), Safari 15.4+, Edge (last 2)Artifacts:
test/vrt/snapshots/grouped-controls.spec.js-snapshots/grouped-controls-desktop-chromium-darwin.pngtest/vrt/snapshots/grouped-controls.spec.js-snapshots/grouped-controls-mobile-chromium-darwin.pngtest/vrt/snapshots/grouped-controls.spec.js-snapshots/grouped-controls-narrow-chromium-darwin.pngtest/vrt/report/grouped-controls-handoff.md(detailed handoff with measurements)API/source/dist/size/VRT/a11y impact:
Unresolved risk:
flex-wrapinteraction not yet tested (needs implementation card)Owner/coordinator decision: promote
Create a separate implementation card to add
flex-wrap: wrapto.groupedinsrc/_form.css(~20 bytes), with regression fixtures for gapless+wrap, mixed+wrap, and focus+wrap scenarios.jenil commentedon Jul 30, 2026
Implementation Complete — PR #170
PR: #170
Branch:
fix/grouped-controls-wrap→v1Commit:
ba47aa1What was done
flex-wrap: wrapto.groupedinsrc/_form.css(1 line, +2 gzip bytes)Evidence summary
Next steps
[-]v1: validate candidate issue #114 grouped controls[/-][+]v1: validate candidate issue #114 grouped controls — PROMOTE[/+][-]v1: validate candidate issue #114 grouped controls — PROMOTE[/-][+]v1: validate candidate issue #114 grouped controls[/+]