[codex] adopt balanced Bellhook identity - #130
Conversation
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
📝 WalkthroughWalkthroughThe website now uses Jazz wordmark assets with validated geometry, colors, accessibility text, and responsive sizing. CI policy checks now validate approved action identities separately from immutable 40-character commit revisions. ChangesWebsite branding
CI action policy
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| CodeStyle | 1 minor |
🟢 Metrics 39 complexity · -2 duplication
Metric Results Complexity 39 Duplication -2
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@website/scripts/test-brand-assets.mjs`:
- Around line 57-80: Add an expected surface-color map keyed by asset name in
the test covering the vector logos, with `#24182C` for jazz-wordmark.svg and
`#F3EDDF` for jazz-wordmark-dark.svg. Within the loop, assert each asset source
contains its mapped ink color so swapped light/dark assets fail while preserving
the existing shared geometry and color checks.
In `@website/scripts/test-experience.mjs`:
- Around line 369-370: Update the navbar logo assertions in the configuration
test to scope matching to navbar.logo and verify the complete contract: both src
and srcDark assets plus alt set to Jazz, width 120, and height 48. Ensure
regressions in any of these properties cause the test to fail.
In `@website/static/img/brand/README.md`:
- Around line 10-19: Update the asset references in the brand README to use
repository-root paths, including website/static/img/jazz-mark.svg,
website/static/img/editors/vscode-jazz/icon.png, and
website/static/img/brand/social-card.svg or the corresponding root-relative
locations for every listed asset. Preserve the existing asset descriptions while
ensuring no reference resolves relative to the nested brand directory.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 5a4aca9a-747c-40b4-b6ed-2e8462659b8a
⛔ Files ignored due to path filters (8)
editors/vscode-jazz/icon.pngis excluded by!**/*.pngwebsite/static/img/favicon.svgis excluded by!**/*.svgwebsite/static/img/jazz-mark-dark.svgis excluded by!**/*.svgwebsite/static/img/jazz-mark.svgis excluded by!**/*.svgwebsite/static/img/jazz-wordmark-dark.svgis excluded by!**/*.svgwebsite/static/img/jazz-wordmark.svgis excluded by!**/*.svgwebsite/static/img/social-card.pngis excluded by!**/*.pngwebsite/static/img/social-card.svgis excluded by!**/*.svg
📒 Files selected for processing (6)
website/docusaurus.config.tswebsite/scripts/test-brand-assets.mjswebsite/scripts/test-experience.mjswebsite/src/css/custom.csswebsite/src/theme/Navbar/Logo/index.tsxwebsite/static/img/brand/README.md
💤 Files with no reviewable changes (1)
- website/src/theme/Navbar/Logo/index.tsx
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@website/scripts/test-brand-assets.mjs`:
- Around line 78-102: Update assertRenderedWordmark to validate the wordmark
group contains only approved path elements before accepting it. Reject any
non-path child elements such as circle or rect in contents, while preserving the
existing path count and approved-letter checks.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 53fe5d4c-131b-4a5c-8cf0-4df5ba4e530c
⛔ Files ignored due to path filters (1)
website/static/img/social-card.svgis excluded by!**/*.svg
📒 Files selected for processing (3)
website/scripts/test-brand-assets.mjswebsite/scripts/test-experience.mjswebsite/static/img/brand/README.md
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d71d621531
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a66fe9e0fa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
scripts/check-ci-policy.py (1)
477-536: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winReject dynamically evaluated shell commands.
eval 'cabal build all'andbash -c 'cabal build all'execute an unbounded Cabal command. Lines 477-536 mask the quoted payload. Lines 728-742 then find no target command. The policy accepts the script despite its required Cabal job bound.Reject dynamic evaluators such as
eval,.,source,bash -c, andsh -cin policy scripts. Add regression fixtures for these forms.Also applies to: 728-742
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/check-ci-policy.py` around lines 477 - 536, Update masked_unquoted_shell_text and the command-detection logic around the referenced evaluator handling to preserve and inspect payloads passed to dynamic evaluators instead of masking them as inert quoted text. Reject eval, ., source, bash -c, and sh -c when they can execute shell text, ensuring embedded Cabal commands remain subject to the required job-bound validation. Add regression fixtures covering each evaluator form.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@website/src/css/custom.css`:
- Around line 99-103: Update the navbar logo CSS selector from `.navbar__logo
img` to `.navbar__logo`, preserving the existing height, width, and object-fit
rules on the image that receives the class directly. Update the related test to
assert the active `.navbar__logo` selector.
---
Outside diff comments:
In `@scripts/check-ci-policy.py`:
- Around line 477-536: Update masked_unquoted_shell_text and the
command-detection logic around the referenced evaluator handling to preserve and
inspect payloads passed to dynamic evaluators instead of masking them as inert
quoted text. Reject eval, ., source, bash -c, and sh -c when they can execute
shell text, ensuring embedded Cabal commands remain subject to the required
job-bound validation. Add regression fixtures covering each evaluator form.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 63c2892e-b1e0-47d7-a1c5-ce76a2d88900
⛔ Files ignored due to path filters (1)
website/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (9)
scripts/check-ci-policy.pyscripts/check-docs-pages-workflow.pyscripts/test-check-ci-policy.pyscripts/test-docs-pages-workflow.pywebsite/package.jsonwebsite/scripts/test-brand-assets.mjswebsite/scripts/test-experience.mjswebsite/src/css/custom.csswebsite/src/pages/index.module.css
| .navbar__logo img { | ||
| height: 100%; | ||
| object-fit: contain; | ||
| width: 100%; | ||
| } |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 6 'imageClassName="navbar__logo"|navbar__logo img' \
website/src/theme/Navbar/Logo/index.tsx \
website/src/css/custom.css \
website/scripts/test-experience.mjsRepository: Un3qual/jazz
Length of output: 2431
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- Logo usage and local theme files ---'
rg -n -C 8 'imageClassName|function Logo|const Logo|<img|navbar__logo' \
website/src website/package.json package.json 2>/dev/null || true
printf '%s\n' '--- Docusaurus dependencies and theme overrides ---'
rg -n -C 3 '`@docusaurus`|theme-classic|Logo' \
website/package.json package.json website/src 2>/dev/null || true
printf '%s\n' '--- Relevant file outlines ---'
for f in website/src/theme/Navbar/Logo/index.tsx website/src/css/custom.css website/scripts/test-experience.mjs; do
if [ -f "$f" ]; then
printf '\n%s\n' "$f"
wc -l "$f"
ast-grep outline "$f" 2>/dev/null || true
fi
doneRepository: Un3qual/jazz
Length of output: 8161
🌐 Web query:
Docusaurus 3.10.2 theme-classic Logo imageClassName implementation
💡 Result:
In Docusaurus 3.10.2, the navbar logo image class is configured directly within the docusaurus.config.js file under the themeConfig.navbar.logo object using the className property [1][2]. To implement a custom CSS class for your navbar logo, add the className field to the logo configuration object [1]: // docusaurus.config.js export default { themeConfig: { navbar: { logo: { alt: 'Site Logo', src: 'img/logo.svg', className: 'your-custom-css-class', // This applies the class to the element }, }, }, }; The className you provide is applied directly to the logo
element within the rendered navbar [1][3]. This allows you to target the logo with custom CSS rules in your site's stylesheet (e.g., in your custom.css file) [4]. Note: The internal Docusaurus
@theme/Logo component definition also includes props such as imageClassName and titleClassName [5], but for the standard navbar logo provided by theme-classic, the configuration interface via docusaurus.config.js is the intended and supported method for applying custom CSS classes [1][2].
Citations:
- 1: https://docusaurus.io/docs/api/themes/configuration
- 2: https://docusaurus.io/docs/3.9.2/api/themes/configuration
- 3: https://docusaurus.io/docs/3.5.2/api/themes/configuration
- 4: https://docusaurus.io/docs/api/themes/@docusaurus/theme-classic
- 5: https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-classic/src/theme-classic.d.ts
Target the navbar image with .navbar__logo.
imageClassName="navbar__logo" applies the class directly to <img>, so .navbar__logo img matches no element. Move object-fit: contain into .navbar__logo and update the test to check the active selector.
🧰 Tools
🪛 GitHub Check: Codacy Static Code Analysis
[notice] 99-99: website/src/css/custom.css#L99
(selector) => Expected class selector "${selector}" to be kebab-case (selector-class-pattern)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@website/src/css/custom.css` around lines 99 - 103, Update the navbar logo CSS
selector from `.navbar__logo img` to `.navbar__logo`, preserving the existing
height, width, and object-fit rules on the image that receives the class
directly. Update the related test to assert the active `.navbar__logo` selector.
User description
Summary
Verification
pnpm --dir website run test:brand— 9/9 passingpnpm --dir website run test:experience— 15/15 passingpnpm --dir website run check— typecheck and production build passingxmllint --nooutacross all six production SVG surfacesnix --extra-experimental-features 'nix-command flakes' develop --command cabal test all -j1 -v0 --test-show-details=failures— exit 0Summary by cubic
Adopts the balanced wide‑bold Bellhook identity across the website and editor and updates CI policy checks to allow SHA bumps for approved actions while still requiring immutable pins. The navbar switches from an icon plus title to a 120×48 wordmark with alt "Jazz"; the homepage brand mark now preserves its intrinsic aspect ratio at all breakpoints.
Highlights
favicon.svg,social-card.svg/.png, and theeditors/vscode-jazzicon; updates brass gradient stops to#FFE66A/#FFC43D/#F47A32and ink/paper to#24182C/#F3EDDF.jazz-wordmark.svg/jazz-wordmark-dark.svg, removes the title and.jazzNavbarTitle, and sizes the logo via a.navbar__logowrapper with a 5:2 aspect ratio; images fill the wrapper..brandMarkheight to auto; experience tests lock the intrinsic ratio and navbar logo contract.data-role="wordmark"group with exactly four approved letter paths; assert pixel‑exact renders at 1200×480 and 1200×630.check-ci-policy.pyand the docs‑pages workflow checker now allowlist actions by name (actions/checkout,actions/setup-node,pnpm/action-setup,actions/cache,actions/upload-artifact,cachix/install-nix-action,dorny/paths-filter) and still require immutable commit SHAs; tests accept SHA updates without policy changes.typescriptto6.0.2and updates the lockfile.Migration
.jazzNavbarTitle, and do not override.brandMarkheight. Use the configured wordmark logo.Written for commit d957161. Summary will update on new commits.
Summary by CodeRabbit
Style
Documentation
Tests
CodeAnt-AI Description
Adopt the balanced Bellhook wordmark in the website navigation
What Changed
Impact
✅ Consistent Jazz wordmark across navigation themes✅ Clearer logo identification in the navbar✅ Fewer accidental brand asset regressions💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.