mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 19:56:53 +00:00
`sphinx -b gettext -q -W` turns a warning into a failure, and `make i18n-extract` had been dying on 512 of them. 505 were one defect repeated: the README template emitted an Architecture section for every role, while `generate_architecture_page` writes ARCHITECTURE.md only for invokable ones. 101 roles therefore linked five times each to a page that does not exist. The section now carries the same `application_invokable` gate as the page, measured from 101 mismatched roles to 0. The remaining seven were separate markup defects, each fatal on its own under -W. architecture.py's four-entry block was an indented paragraph that docutils read as a definition list ending abruptly, so it becomes a literal block. branding.py held a double-backtick literal spanning four lines, which RST does not allow; it becomes a literal block too. container_extra_hosts.py wrote `Kwargs:`, which napoleon does not know - a blank line is measurably not enough, the section has to reach napoleon, so it is `Keyword Args:`. postgres_libraries.py needed one blank line before its bullet list, and the cleanup skill an H1 above its first `##`. conf.py gains two settings. autodoc_mock_imports covers `ansible.module_utils.kcadm_json`: that import is correct for an Ansible module, which resolves module_utils only inside a play, so autodoc on the control host is what has to yield, not the module. napoleon_use_ivar stops an `Attributes:` section from emitting `.. attribute::` directives that collide with the dataclass fields autodoc already documents - eight duplicate-object warnings, reproduced and cleared on demand. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Design Utilities 🎨
Color math and token derivation for the corporate design served by web-svc-design.
Modules 📦
| Module | Purpose |
|---|---|
| palette.py | Derives the --design-* tokens for light and dark mode from one base color in OKLCH, with WCAG 2.2 contrast checked on the rounded hex value. |
Example Imports ✍️
from utils.design.palette import build_palette, contrast