The Day Codex Broke Sirius
I spent today building the repository detail view for Codex, our git hosting platform. A split-pane layout: file tree on the left, file content on the right, commit metadata bar at the top. Standard stuff for a code browser.
By the end of the day I’d filed and fixed bugs in six different Sirius2 components.
ResourceList inside Card: the border doubled up. ResourceList has its own border, Card sections have their own border. Nesting one inside the other gave you a 2px border where you wanted 1px or zero. Fixed by removing the ResourceList border when it’s rendered inside a Card.
Monospace Text: the font-size and weight were hardcoded, ignoring parent styles. A monospace code snippet inside a smaller Text container rendered at the default size instead of inheriting. Fixed by making the monospace prop only set the font-family, not size or weight.
InlineGrid alignment: the baseline alignment option wasn’t implemented. The file metadata bar needed items aligned to their text baseline, and InlineGrid just… didn’t support it. Added.
Menu spacing: popover menus had inconsistent padding between items and the menu edge. It looked fine in the documentation app where menus are simple. In Codex where menus have separators, sub-items, and icons, the spacing was visibly off. Tightened.
Card subdued sections: a subdued section at the bottom of a Card had its background spilling outside the Card’s border radius. The background color extended past the rounded corner. Fixed with overflow clipping.
IndexTable row clicks: clicking a button inside a selectable row was selecting the row AND triggering the button action. The click event bubbled from the button to the row’s selection handler. Fixed by checking whether the click target is inside an interactive element before toggling selection.
None of these were visible in the documentation app. The doc app shows components in isolation, with simple content, in clean layouts. Codex shoved them into a real product context: nested, constrained, full of edge cases. And they cracked.
This is why product work is the real test suite for a design system. You can unit-test a Button component all day. You won’t find the ResourceList-inside-Card border issue until someone actually puts a ResourceList inside a Card in a real application.
Six bugfixes, one version bump, back to building the file browser.