Skip to content

feat(case-study): Cursor Success Story (Jul 14, 2026 1:36 PM ET preview)#155

Open
oycyc wants to merge 1 commit into
masterfrom
feat/cursor-success-story-preview-20260713-1123et
Open

feat(case-study): Cursor Success Story (Jul 14, 2026 1:36 PM ET preview)#155
oycyc wants to merge 1 commit into
masterfrom
feat/cursor-success-story-preview-20260713-1123et

Conversation

@oycyc

@oycyc oycyc commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

** Cursor x Masterpoint ** Case Study Success Story

https://deploy-preview-155--masterpoint.netlify.app/case-studies/cursor/

image

@oycyc oycyc requested a review from a team as a code owner July 13, 2026 15:25
@netlify

netlify Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploy Preview for masterpoint ready!

Name Link
🔨 Latest commit 38903d9
🔍 Latest deploy log https://app.netlify.com/projects/masterpoint/deploys/6a5673bc8b116a000890e205
😎 Deploy Preview https://deploy-preview-155--masterpoint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 40
Accessibility: 86
Best Practices: 92
SEO: 79
PWA: 70
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds immersive case-study styling, interactive chart carousels, phase cards, enhanced comparison metrics, print behavior, authoring documentation, and a complete Cursor infrastructure case study.

Changes

Case study experience

Layer / File(s) Summary
Hero configuration and comparison metrics
assets/css/case-studies.scss, layouts/case-studies/*.html, layouts/shortcodes/csi-compare.html, docs/case-studies.md
Adds opt-in inset hero photos, adjusts pullquotes, supports comparison deltas and neutral after-values, and documents the related configuration.
Immersive prose and media styling
assets/css/case-studies.scss
Constrains left-aligned prose and adds heading, linked-heading, image, and dark-face styling.
Chart carousel implementation and print behavior
layouts/shortcodes/csi-carousel.html, assets/css/case-studies.scss, docs/case-studies.md
Adds parsed slide markup, scroll-snap navigation, arrows, dots, focus states, and print-time stacked slides without interactive controls.
Phase cards and engagement structure
layouts/shortcodes/csi-phase.html, assets/css/case-studies.scss
Adds the csi-phase shortcode and styles its rail, markers, cards, responsive layout, and nested comparison ledgers.
Cursor case-study narrative
content/case-studies/cursor.md
Adds page metadata, hero statistics, carousel content, problem and engagement sections, quantitative results, team outcomes, and testimonials.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CursorPage as Cursor case-study page
  participant csiCarousel as csi-carousel shortcode
  participant CarouselJS as Carousel JavaScript
  participant Scroller as Carousel scroller
  CursorPage->>csiCarousel: provide slide blocks
  csiCarousel->>Scroller: render slide figures and controls
  CarouselJS->>Scroller: track scroll position
  Scroller->>CarouselJS: report active slide
  CarouselJS->>Scroller: scroll to selected slide
Loading

Possibly related PRs

Suggested reviewers: gowiem

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: adding a Cursor case-study preview.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/cursor-success-story-preview-20260713-1123et

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (3)
assets/css/case-studies.scss (2)

2371-2417: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

__after--plain overriding __after relies on source order, not specificity.

.csi-compare__after--plain and .csi-compare__after are separate top-level selectors of equal specificity (both single classes via &__ concatenation); --plain only wins today because it's declared after __after in the stylesheet. A future reorder (or a new override rule inserted between them) would silently break the "neutral" plain-color rendering with no compile-time signal.

♻️ Suggested fix: compound selector instead of relying on cascade order
-    &__after--plain {
+    &__after.csi-compare__after--plain {
       color: $csi-ink;
       background: none;
🤖 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 `@assets/css/case-studies.scss` around lines 2371 - 2417, Update the neutral
modifier styling around __after--plain to use a compound selector with __after,
increasing specificity so plain neutral rendering does not depend on declaration
order. Preserve the existing color, background, clipping, and text-fill
overrides.

83-87: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Stylelint blank-line-before violations throughout this file.

Static analysis flags repeated scss/double-slash-comment-empty-line-before / declaration-empty-line-before violations across this diff (lines 83, 111, 132, 143, 1243, 1274, 1851, 1865, 1873, 1925, 1936, 1941, 1946, 2371, 2382, 2397, 2413, 2465, 2760, 2806, 2825, 2834, 2880, 2905). These are Trunk/stylelint-enforced formatting rules for .scss files.

As per coding guidelines, **/*.{md,yaml,yml,json,scss,js,html,toml} files should "Use Trunk for linting and formatting, including markdownlint, yamllint, prettier, checkov, gitleaks, oxipng, and svgo where applicable." Running trunk fmt/trunk check on this file should auto-fix these.

🤖 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 `@assets/css/case-studies.scss` around lines 83 - 87, Run Trunk formatting and
linting on the SCSS file, targeting the reported
scss/double-slash-comment-empty-line-before and declaration-empty-line-before
violations throughout the diff. Apply the formatter’s blank-line adjustments
while preserving the existing styles and declarations, then verify the file
passes trunk check.

Sources: Coding guidelines, Linters/SAST tools

layouts/shortcodes/csi-phase.html (1)

10-20: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Indent inner elements under <article> for readability.

The child <div>s and shortcode logic have no indentation, unlike the consistently indented csi-phase.html. Aligning indentation would improve maintainability.

♻️ Proposed indentation fix
 <article class="cursor-phase" data-aos="fade-up" data-aos-duration="600">
-<div class="cursor-phase__rail" aria-hidden="true">
-<span class="cursor-phase__marker"></span>
-</div>
-<div class="cursor-phase__card">
-{{- with $title }}<h3 class="cursor-phase__title">{{ . | safeHTML }}</h3>{{ end -}}
-<div class="cursor-phase__body csi-prose">
-{{ .Inner | $.Page.RenderString (dict "display" "block") }}
-</div>
-</div>
+  <div class="cursor-phase__rail" aria-hidden="true">
+    <span class="cursor-phase__marker"></span>
+  </div>
+  <div class="cursor-phase__card">
+    {{- with $title }}<h3 class="cursor-phase__title">{{ . | safeHTML }}</h3>{{ end -}}
+    <div class="cursor-phase__body csi-prose">
+      {{ .Inner | $.Page.RenderString (dict "display" "block") }}
+    </div>
+  </div>
 </article>
🤖 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 `@layouts/shortcodes/csi-phase.html` around lines 10 - 20, Reformat the
csi-phase shortcode markup so the child elements and their template logic are
consistently indented beneath the containing article structure, without changing
the rendered HTML or shortcode behavior.
🤖 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 `@content/case-studies/cursor.md`:
- Line 84: Correct the three compound modifiers in the document: change “10
minute outage” to “10-minute outage,” “mid 2026” to “mid-2026,” and
“product/domain scoped” to “product/domain-scoped.”
- Line 28: Update the body prose module-count references at the affected
locations to use “141+” instead of “100+”, keeping the wording and all other
document content unchanged so the metric matches the front matter and image alt
text.

In `@docs/case-studies.md`:
- Around line 242-245: Update the shortcode reference table in case-studies.md:
add the supported neutral: flag to the csi-compare attributes, and add a
dedicated cursor-phase row documenting its purpose, placement, and attributes
based on its usage in cursor.md. Keep the existing csi-phases/csi-phase
documentation unchanged.

In `@layouts/shortcodes/cursor-phase.html`:
- Line 15: Update the phase title rendering in the title block to remove the
safeHTML filter and output title as normal escaped text. Keep the existing
conditional rendering and cursor-phase__title markup unchanged.

---

Nitpick comments:
In `@assets/css/case-studies.scss`:
- Around line 2371-2417: Update the neutral modifier styling around
__after--plain to use a compound selector with __after, increasing specificity
so plain neutral rendering does not depend on declaration order. Preserve the
existing color, background, clipping, and text-fill overrides.
- Around line 83-87: Run Trunk formatting and linting on the SCSS file,
targeting the reported scss/double-slash-comment-empty-line-before and
declaration-empty-line-before violations throughout the diff. Apply the
formatter’s blank-line adjustments while preserving the existing styles and
declarations, then verify the file passes trunk check.

In `@layouts/shortcodes/csi-phase.html`:
- Around line 10-20: Reformat the csi-phase shortcode markup so the child
elements and their template logic are consistently indented beneath the
containing article structure, without changing the rendered HTML or shortcode
behavior.
🪄 Autofix (Beta)

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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a94689a5-1f85-4e72-a66c-010551fad0fe

📥 Commits

Reviewing files that changed from the base of the PR and between 9498919 and e83fe86.

⛔ Files ignored due to path filters (5)
  • static/img/case-studies/cursor/cursor-lockup-white.svg is excluded by !**/*.svg
  • static/img/case-studies/cursor/dependency-graph.png is excluded by !**/*.png
  • static/img/case-studies/cursor/deployment-frequency-stat.png is excluded by !**/*.png
  • static/img/case-studies/cursor/plan-time-column-compare.png is excluded by !**/*.png
  • static/img/case-studies/cursor/tf-workspaces.png is excluded by !**/*.png
📒 Files selected for processing (12)
  • assets/css/case-studies.scss
  • content/case-studies/cursor.md
  • docs/case-studies.md
  • layouts/case-studies/immersive.html
  • layouts/case-studies/single.html
  • layouts/shortcodes/csi-compare.html
  • layouts/shortcodes/csi-figure.html
  • layouts/shortcodes/csi-phase.html
  • layouts/shortcodes/csi-phases.html
  • layouts/shortcodes/csi-scale.html
  • layouts/shortcodes/cursor-phase.html
  • static/img/case-studies/cursor/cursor-team-photo.webp

Comment thread content/case-studies/cursor.md Outdated
Comment thread content/case-studies/cursor.md Outdated
Comment thread docs/case-studies.md Outdated
Comment thread layouts/shortcodes/cursor-phase.html Outdated
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from e83fe86 to 7814b04 Compare July 13, 2026 15:57
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 11:23 AM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 11:56 AM ET preview) Jul 13, 2026
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 11:56 AM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 3:38 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch 2 times, most recently from 39edce3 to b8f5de6 Compare July 13, 2026 19:40
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 3:38 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 3:40 PM ET preview) Jul 13, 2026
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 3:40 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 3:42 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from b8f5de6 to 95b6e98 Compare July 13, 2026 19:42

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 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 `@assets/css/case-studies.scss`:
- Line 1189: Run Trunk formatting on assets/css/case-studies.scss, applying the
required blank lines before comments and declarations at the reported locations
without changing styling behavior.
- Around line 1896-1905: Include the csi-section--gradient selector alongside
the existing dark-face selectors in each affected override, including the
heading/link rule near csi-section--pine, the phase metadata rule, and the scale
copy rule. Ensure all three gradient variants receive the same light text and
background styling as the corresponding pine and pine-deep sections.
- Line 3509: Update the print pagination rules for the .csi-phase__head element
so its heading remains attached to the corresponding phase body, not merely
unsplit itself. Apply the existing avoid-break behavior to the containing phase
section or heading-plus-body wrapper, preserving the current styling for
non-print layouts.
- Around line 2330-2336: Update the print styling for .csi-compare__after so the
__after--plain variant retains its neutral $csi-ink color, background, and text
fill instead of being overridden by the mint !important rule. Add a sufficiently
specific print override near the existing print rule while preserving mint
styling for non-plain comparisons.

In `@content/case-studies/cursor.md`:
- Around line 8-16: Update the hero image rendering in the case-study templates
to use the front matter hero_aside_alt value instead of hardcoding alt=""; apply
this consistently in both immersive.html and single.html, preserving an empty
alt only when no descriptive value is provided. Alternatively, remove
hero_aside_alt from the Cursor case study if the image is intentionally
decorative.
🪄 Autofix (Beta)

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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1efc04b4-f815-4454-99ff-d7b9bbd43de8

📥 Commits

Reviewing files that changed from the base of the PR and between e83fe86 and 39edce3.

⛔ Files ignored due to path filters (5)
  • static/img/case-studies/cursor/cursor-lockup-white.svg is excluded by !**/*.svg
  • static/img/case-studies/cursor/dependency-graph.png is excluded by !**/*.png
  • static/img/case-studies/cursor/deployment-frequency-stat.png is excluded by !**/*.png
  • static/img/case-studies/cursor/plan-time-column-compare.png is excluded by !**/*.png
  • static/img/case-studies/cursor/tf-workspaces.png is excluded by !**/*.png
📒 Files selected for processing (10)
  • assets/css/case-studies.scss
  • content/case-studies/cursor.md
  • docs/case-studies.md
  • layouts/shortcodes/csi-compare.html
  • layouts/shortcodes/csi-figure.html
  • layouts/shortcodes/csi-phase.html
  • layouts/shortcodes/csi-phases.html
  • layouts/shortcodes/csi-scale.html
  • layouts/shortcodes/cursor-phase.html
  • static/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
  • layouts/shortcodes/csi-compare.html

Comment thread assets/css/case-studies.scss Outdated
Comment thread assets/css/case-studies.scss
Comment thread assets/css/case-studies.scss
Comment thread assets/css/case-studies.scss Outdated
Comment thread content/case-studies/cursor.md
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 3:42 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 3:59 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch 2 times, most recently from 5a6b5f2 to d3bb046 Compare July 13, 2026 20:20
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 3:59 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 4:20 PM ET preview) Jul 13, 2026
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 4:20 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 4:37 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from d3bb046 to d738451 Compare July 13, 2026 20:37
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 4:37 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 6:21 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from d738451 to eebf9d0 Compare July 13, 2026 22:21

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
layouts/shortcodes/csi-carousel.html (1)

70-71: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consider Page.Store instead of Page.Scratch.

Page.Scratch has been soft-deprecated since Hugo v0.138.0 in favor of Page.Store (currently just aliased, but flagged for eventual removal).

♻️ Proposed rename
-{{- if not (.Page.Scratch.Get "csiCarouselJS") -}}
-  {{- .Page.Scratch.Set "csiCarouselJS" true -}}
+{{- if not (.Page.Store.Get "csiCarouselJS") -}}
+  {{- .Page.Store.Set "csiCarouselJS" true -}}

Please confirm this matches the Hugo version pinned for this project before applying (soft deprecation, no forced timeline).

🤖 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 `@layouts/shortcodes/csi-carousel.html` around lines 70 - 71, Confirm the
project’s pinned Hugo version supports Page.Store, then update the csiCarouselJS
state check and assignment in the carousel template from Page.Scratch to
Page.Store, preserving the existing key and boolean behavior.
🤖 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 `@content/case-studies/cursor.md`:
- Line 2: Update the case study headline and its corresponding hero_title from
“2x More Deployments” to “2.6x More Deployments” so they match the stat_bar,
results table, and narrative metrics.

In `@layouts/shortcodes/csi-carousel.html`:
- Line 84: Refresh the carousel’s `base` value whenever the resize handler runs,
before invoking `sync()`, so it reflects the updated `slides[0].offsetLeft`
after breakpoint-driven padding changes. Apply the same update to the related
`base` references used by `current()` and `goTo()` while preserving their
existing behavior.

---

Nitpick comments:
In `@layouts/shortcodes/csi-carousel.html`:
- Around line 70-71: Confirm the project’s pinned Hugo version supports
Page.Store, then update the csiCarouselJS state check and assignment in the
carousel template from Page.Scratch to Page.Store, preserving the existing key
and boolean behavior.
🪄 Autofix (Beta)

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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 438f4309-f8ba-4147-afaf-aa5cdb8dc1fa

📥 Commits

Reviewing files that changed from the base of the PR and between 39edce3 and eebf9d0.

⛔ Files ignored due to path filters (6)
  • static/img/case-studies/cursor/cursor-lockup-white.svg is excluded by !**/*.svg
  • static/img/case-studies/cursor/cursor-masterpoint.png is excluded by !**/*.png
  • static/img/case-studies/cursor/dependency-graph.png is excluded by !**/*.png
  • static/img/case-studies/cursor/deployment-frequency-stat.png is excluded by !**/*.png
  • static/img/case-studies/cursor/plan-time-column-compare.png is excluded by !**/*.png
  • static/img/case-studies/cursor/tf-workspaces.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • assets/css/case-studies.scss
  • content/case-studies/cursor.md
  • docs/case-studies.md
  • layouts/shortcodes/csi-carousel.html
  • layouts/shortcodes/csi-compare.html
  • layouts/shortcodes/csi-phase.html
  • static/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
  • layouts/shortcodes/csi-compare.html

Comment thread content/case-studies/cursor.md Outdated
Comment thread layouts/shortcodes/csi-carousel.html Outdated
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 6:21 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 6:30 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from eebf9d0 to 9c057d5 Compare July 13, 2026 22:30
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 6:30 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 7:36 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from 9c057d5 to d4ae827 Compare July 13, 2026 23:36

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 `@assets/css/case-studies.scss`:
- Around line 2616-2620: Update the .csi-compare__after .csi-compare__tag rule
to add -webkit-text-fill-color using $csi-link, alongside the existing color
declaration, so the mobile After label overrides the transparent fill inherited
from .csi-compare__after.
🪄 Autofix (Beta)

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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ff902c5d-fe68-4b0b-a02e-151c1aaffdc4

📥 Commits

Reviewing files that changed from the base of the PR and between eebf9d0 and d4ae827.

⛔ Files ignored due to path filters (6)
  • static/img/case-studies/cursor/cursor-lockup-white.svg is excluded by !**/*.svg
  • static/img/case-studies/cursor/cursor-masterpoint.png is excluded by !**/*.png
  • static/img/case-studies/cursor/dependency-graph.png is excluded by !**/*.png
  • static/img/case-studies/cursor/deployment-frequency-stat.png is excluded by !**/*.png
  • static/img/case-studies/cursor/plan-time-column-compare.png is excluded by !**/*.png
  • static/img/case-studies/cursor/tf-workspaces.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • assets/css/case-studies.scss
  • content/case-studies/cursor.md
  • docs/case-studies.md
  • layouts/shortcodes/csi-carousel.html
  • layouts/shortcodes/csi-compare.html
  • layouts/shortcodes/csi-phase.html
  • static/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
  • layouts/shortcodes/csi-compare.html

Comment thread assets/css/case-studies.scss
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 7:36 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 7:58 PM ET preview) Jul 13, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from d4ae827 to bb1cbda Compare July 13, 2026 23:58
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 7:58 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 8:00 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch 2 times, most recently from 8d7e6bd to 59600b8 Compare July 14, 2026 00:06
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 8:00 PM ET preview) feat(case-study): Cursor Success Story (Jul 13, 2026 8:05 PM ET preview) Jul 14, 2026
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 13, 2026 8:05 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 11:23 AM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from 59600b8 to 802ab34 Compare July 14, 2026 15:23

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
assets/css/case-studies.scss (1)

1828-2981: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Run Trunk/stylelint formatting on the new blocks.

Static analysis reports multiple new scss/double-slash-comment-empty-line-before and declaration-empty-line-before violations on lines added in this diff (e.g. 1828, 1842, 1902, 1913, 1918, 2302, 2381, 2477, 2548, 2559, 2574, 2642, 2898, 2907, 2962, 2981, and declaration spacing at 2312, 2429, 2590, 2953). trunk fmt assets/css/case-studies.scss should resolve them.

As per coding guidelines, **/*.{md,yaml,yml,json,scss,js,html,toml} files must "Use Trunk for linting and formatting, including markdownlint, yamllint, prettier, checkov, gitleaks, oxipng, and svgo where applicable."

🤖 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 `@assets/css/case-studies.scss` around lines 1828 - 2981, Run Trunk formatting
on the new SCSS blocks in case-studies.scss, using the project command trunk fmt
assets/css/case-studies.scss. Ensure the formatter resolves the double-slash
comment spacing and declaration-empty-line-before violations throughout the
added rules without changing their styling behavior.

Sources: Coding guidelines, Linters/SAST tools

♻️ Duplicate comments (4)
assets/css/case-studies.scss (3)

2642-2647: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Mobile "After" tag label is still invisible.

.csi-compare__after .csi-compare__tag sets color: $csi-link but inherits -webkit-text-fill-color: transparent from .csi-compare__after's gradient-clip mixin, so on WebKit/Blink the label paints transparently — same issue flagged previously and still present.

🔧 Proposed fix
     .csi-compare__after .csi-compare__tag {
       flex: 0 0 100%;
+      -webkit-text-fill-color: $csi-link;
       color: $csi-link;
     }
🤖 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 `@assets/css/case-studies.scss` around lines 2642 - 2647, Update the mobile
`.csi-compare__after .csi-compare__tag` rule to override the inherited
transparent `-webkit-text-fill-color` with an opaque value, while retaining its
existing `$csi-link` color and layout behavior.

1914-1931: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Missing --gradient alias in new dark-face overrides.

The new .csi-prose img border rule and the h3/h4 dark-face color rule only target --pine/--pine-deep, but --gradient is classified as a dark face (Line 1536) and every other dark-face override in this file (e.g. Lines 2013-2015, 2028-2039, 2087-2089, 2216-2218, 2230-2232, 2759-2761, 3123-3125, 3264-3266) includes all three selectors. A future variant="gradient" section with prose headings or inline images would render unreadable dark-ink text/borders.

🎨 Proposed fix
 .csi-section--pine .csi-prose img,
-.csi-section--pine-deep .csi-prose img {
+.csi-section--pine-deep .csi-prose img,
+.csi-section--gradient .csi-prose img {
   border: 1px solid rgba(255, 255, 255, 0.09);
 }
 .csi-section--pine .csi-prose h3,
 .csi-section--pine .csi-prose h4,
 .csi-section--pine-deep .csi-prose h3,
 .csi-section--pine-deep .csi-prose h4,
+.csi-section--gradient .csi-prose h3,
+.csi-section--gradient .csi-prose h4,
 .csi-section--pine .csi-prose h3 a:not(.button),
 .csi-section--pine .csi-prose h4 a:not(.button),
 .csi-section--pine-deep .csi-prose h3 a:not(.button),
-.csi-section--pine-deep .csi-prose h4 a:not(.button) {
+.csi-section--pine-deep .csi-prose h4 a:not(.button),
+.csi-section--gradient .csi-prose h3 a:not(.button),
+.csi-section--gradient .csi-prose h4 a:not(.button) {
   color: `#fff`;
   background-image: none;
 }
🤖 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 `@assets/css/case-studies.scss` around lines 1914 - 1931, Extend the new
dark-face overrides to include the .csi-section--gradient selector alongside
--pine and --pine-deep. Update both the .csi-prose img border rule and the h3/h4
heading and anchor color rule, preserving the existing styling for the other
dark-face variants.

2561-2567: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Print styling still overrides the --plain (neutral) compare variant.

The unchanged print block (Lines 3543-3551) recolors every .csi-compare__after with !important mint, which also matches .csi-compare__after--plain elements and defeats the neutral ink color added here — a previously flagged concern that doesn't appear to actually be fixed in the current code despite being marked addressed.

🖨️ Proposed print override
     .csi-compare__col--after,
     .csi-compare__after,
     .cs-hero__title .text-gradient {
       ...
     }
+    .csi-compare__after--plain {
+      -webkit-text-fill-color: $csi-ink !important;
+      color: $csi-ink !important;
+    }
🤖 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 `@assets/css/case-studies.scss` around lines 2561 - 2567, Update the print
styling for the csi-compare after variant so the generic mint `!important` rule
no longer overrides `.csi-compare__after--plain`. Add a print-specific `--plain`
override using the neutral ink color and matching background/text-fill behavior,
while preserving the existing styling for non-plain variants.
layouts/shortcodes/csi-carousel.html (1)

84-96: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Stale base on resize still not fixed.

base is captured once from slides[0].offsetLeft at setup (Line 84), but the resize handler (Line 122) still just calls sync() without recomputing it, even though the scroller's side padding changes at the 700px breakpoint (13%→7%), shifting every slide's offsetLeft. This was previously flagged and marked addressed, but the current code doesn't reflect that fix — current()/goTo() can misjudge the active slide or scroll to the wrong position after a resize crosses that breakpoint.

🐛 Proposed fix: recompute `base` on resize
-          window.addEventListener("resize", sync);
+          window.addEventListener("resize", function () {
+            base = slides[0].offsetLeft;
+            sync();
+          });

Also applies to: 122-122

🤖 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 `@layouts/shortcodes/csi-carousel.html` around lines 84 - 96, Recompute the
slide-origin `base` inside the resize handler before calling `sync()`, using the
current `slides[0].offsetLeft`. Keep `current()` and `goTo()` using this updated
value so active-slide detection and scrolling remain correct after crossing the
responsive padding breakpoint.
🤖 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 `@content/case-studies/cursor.md`:
- Line 240: Update the module-count figure in the workspace creation sentence to
use “21 to 141+,” matching the stat_bar and image alt text while preserving the
surrounding wording.
- Line 83: Update the compound modifiers in content/case-studies/cursor.md by
hyphenating “10 minute outage,” “mid 2026,” and “product/domain scoped” as
appropriate. Preserve the surrounding wording and meaning.
- Line 2: Update the case study headline values in the title and hero_title
fields to use “2.6x More Deployments” instead of “2x,” keeping them consistent
with stat_bar, the results table, and the narrative.

In `@docs/case-studies.md`:
- Around line 133-145: Update the inset treatment documentation to describe the
implementation’s 75% right photo width and approximately 25% plain pine left
area, replacing the current 70%/30% proportions. Keep the surrounding behavior
and masking details unchanged.

---

Outside diff comments:
In `@assets/css/case-studies.scss`:
- Around line 1828-2981: Run Trunk formatting on the new SCSS blocks in
case-studies.scss, using the project command trunk fmt
assets/css/case-studies.scss. Ensure the formatter resolves the double-slash
comment spacing and declaration-empty-line-before violations throughout the
added rules without changing their styling behavior.

---

Duplicate comments:
In `@assets/css/case-studies.scss`:
- Around line 2642-2647: Update the mobile `.csi-compare__after
.csi-compare__tag` rule to override the inherited transparent
`-webkit-text-fill-color` with an opaque value, while retaining its existing
`$csi-link` color and layout behavior.
- Around line 1914-1931: Extend the new dark-face overrides to include the
.csi-section--gradient selector alongside --pine and --pine-deep. Update both
the .csi-prose img border rule and the h3/h4 heading and anchor color rule,
preserving the existing styling for the other dark-face variants.
- Around line 2561-2567: Update the print styling for the csi-compare after
variant so the generic mint `!important` rule no longer overrides
`.csi-compare__after--plain`. Add a print-specific `--plain` override using the
neutral ink color and matching background/text-fill behavior, while preserving
the existing styling for non-plain variants.

In `@layouts/shortcodes/csi-carousel.html`:
- Around line 84-96: Recompute the slide-origin `base` inside the resize handler
before calling `sync()`, using the current `slides[0].offsetLeft`. Keep
`current()` and `goTo()` using this updated value so active-slide detection and
scrolling remain correct after crossing the responsive padding breakpoint.
🪄 Autofix (Beta)

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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1e0105a0-a04b-46a0-ae88-bc8e539c158f

📥 Commits

Reviewing files that changed from the base of the PR and between d4ae827 and 802ab34.

⛔ Files ignored due to path filters (6)
  • static/img/case-studies/cursor/cursor-lockup-white.svg is excluded by !**/*.svg
  • static/img/case-studies/cursor/cursor-masterpoint.png is excluded by !**/*.png
  • static/img/case-studies/cursor/dependency-graph.png is excluded by !**/*.png
  • static/img/case-studies/cursor/deployment-frequency-stat.png is excluded by !**/*.png
  • static/img/case-studies/cursor/plan-time-column-compare.png is excluded by !**/*.png
  • static/img/case-studies/cursor/tf-workspaces.png is excluded by !**/*.png
📒 Files selected for processing (9)
  • assets/css/case-studies.scss
  • content/case-studies/cursor.md
  • docs/case-studies.md
  • layouts/case-studies/immersive.html
  • layouts/case-studies/single.html
  • layouts/shortcodes/csi-carousel.html
  • layouts/shortcodes/csi-compare.html
  • layouts/shortcodes/csi-phase.html
  • static/img/case-studies/cursor/cursor-team-photo.webp
🚧 Files skipped from review as they are similar to previous changes (1)
  • layouts/shortcodes/csi-compare.html

Comment thread content/case-studies/cursor.md
Comment thread content/case-studies/cursor.md Outdated
Comment thread content/case-studies/cursor.md Outdated
Comment thread docs/case-studies.md Outdated
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 11:23 AM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 11:56 AM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from 802ab34 to 736194a Compare July 14, 2026 15:56
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 11:56 AM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 12:31 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from 736194a to 3a9a8d2 Compare July 14, 2026 16:31
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 12:31 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 12:33 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from 3a9a8d2 to 40e4c8e Compare July 14, 2026 16:34
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 12:33 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 12:42 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch 2 times, most recently from cb3feec to e236743 Compare July 14, 2026 16:43
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 12:42 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 12:43 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from e236743 to b355d76 Compare July 14, 2026 16:56
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 12:43 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 12:56 PM ET preview) Jul 14, 2026
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 12:56 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 1:33 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from b355d76 to 561f64b Compare July 14, 2026 17:33
Publish the Cursor + Masterpoint case study on the immersive layout
(preview snapshot).
@oycyc oycyc changed the title feat(case-study): Cursor Success Story (Jul 14, 2026 1:33 PM ET preview) feat(case-study): Cursor Success Story (Jul 14, 2026 1:36 PM ET preview) Jul 14, 2026
@oycyc oycyc force-pushed the feat/cursor-success-story-preview-20260713-1123et branch from 561f64b to 38903d9 Compare July 14, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant