Skip to content

Remove on-screen example-data notices, tidy spacing, match Work header pill to Clinical - #3450

Merged
BigSimmo merged 15 commits into
mainfrom
claude/remove-example-notice-spacing-bp4x20
Oct 11, 2026
Merged

BigSimmo merged 15 commits into
mainfrom
claude/remove-example-notice-spacing-bp4x20

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

User description

Requested by Josh · project thread

Summary

Before: while example data showed, every work area carried an "EXAMPLE · Made-up data to look around. Nothing is saved. Sign in / Turn off" strip under the header, plus amber Example tags, "Example data. Changes stay on this page" notes, "Example only. Sign in to add your own shifts" notices and "Example ·" prefixes on rows. The Work header's area pill was shorter than the Clinical "Answer" pill, with empty space before its chevron, and its round buttons were 44px glass against Clinical's 48px.

After: none of those notices draw. The example data switch, the export/share/copy block and its explaining sheet all stay, and example data is turned off, and signed in to, from Settings. The Work and Clinical area pills are both 48px tall and both hug their name, with the chevron right after it and no empty space (Josh, 10 Oct 2026), up to a width limit. Round glass buttons are 48px. Roster's outline buttons (Who is on, Phone numbers and the rest) use semibold text with a little vertical padding, and On Call phone rows keep a 16px right gutter instead of 8px.

Kept on purpose: notices that explain why a tapped action did nothing, On Call's fake phone numbers and "these crisis lines are real" line (safety), the safety plan's non-working numbers, First Nations governance labels, the printed CPD summary's "not a personal CPD record" line, "Roster is showing example shifts only, so your shifts aren't shown" (explains hidden real data), and the always-example Assessments and Workforce prototypes.

Areas touched: Personal practice, App experience, Design system, Prototypes

Verification

  • npm run test:focused over the notice changes: 144 files, 1899 tests passed. Over the CSS and button changes: 18 files, 303 tests passed. Over the final pill change: 4 files, 61 tests passed.
  • tsc --noEmit clean, eslint clean on changed files.
  • Local screenshots at 440, 390 and 320 px of Roster My shifts, Clinical Answer, On Call People and Teaching. Browser suite left to CI.

Risk and rollout

  • Risk: people could mistake example shifts for real ones now the label is gone. This is the owner's decision (10 Oct 2026); the example switch in Settings and the export block remain. Header change touches every work area.
  • Rollback: revert this PR.
  • Provider or production effects: None.

Notes

  • No migration, no RAG surface.

🤖 Generated with Claude Code

https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4


Summary by Gitar

  • Personal search:
    • Search now excludes example records from roster, teaching and CPD results
    • Search lists only real On Call entries, so example entries no longer appear

This will update automatically on new commits.

The owner asked that nothing on screen calls the data example or made-up.
The example data switch, export block and blocked-action sheet stay, and
example data is turned off and signed in to from Settings.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4
@supabase

supabase Bot commented Oct 10, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@BigSimmo BigSimmo self-assigned this Oct 10, 2026
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: f4a50e84-c42f-46f2-94af-efc935abdb78

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codeant-ai

codeant-ai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

🏁 CodeAnt Quality Gate Results

Commit: 3ed546c3
Scan Time: 2026-10-11 01:33:18 UTC

✅ Overall Status: PASSED

Quality Gate Details

Quality Gate Status Details
Secrets ✅ PASSED 0 secrets found
Duplicate Code ✅ PASSED 1.3% duplicated
SAST ✅ PASSED No security issues
Bugs ✅ PASSED Rating S: No bugs
IAC ✅ PASSED No IAC issues

View Full Results

gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 10, 2026

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

@codspeed

codspeed Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Merging this PR will improve performance by ×2.7

⚠️ 2 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

ℹ️ 1 benchmark has no flame graph

The flamegraph could not be generated because too much time was spent in runtime internals, making the visualization not useful for performance analysis.

⚡ 1 improved benchmark
✅ 7 untouched benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
⚡ ℹ️ medication-entities: medicationEntityMatchesInText 11.5 ms 4.2 ms ×2.7

Tip

Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.


Comparing claude/remove-example-notice-spacing-bp4x20 (3ed546c) with main (1550a6b)

Open in CodSpeed

…ton and phone list padding

The Work area pill now matches the clinical pill: 13rem wide (narrower only
where the bell and AI Search leave less room), 48px tall glass, chevron at the
right end. The round glass buttons are 48px like the clinical ones. The
Roster outline buttons use semibold text with a little vertical padding, and
On Call phone rows keep the same gutter on the right as on the left.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4
Comment thread src/app/work-mode.css Resolved
gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 10, 2026

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4
gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 10, 2026

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

Copy link
Copy Markdown
Owner Author

CodSpeed Performance Analysis reports a regression in medication-entities: medicationEntityMatchesInText on 0921a3d. That isn't this PR's doing. The diff only touches React components, CSS and tests, nothing on that benchmark's code path. The last commit changed only src/app/work-mode.css, and the run on the commit before it (b458554) showed no performance change. CodSpeed itself flags this benchmark as spending most of its time in system calls, which makes it noisy. There's no fix to port. CodSpeed is not a required check, and I can't re-run it from here.


Generated by Claude Code

Both the work and clinical area pills drop the 13rem minimum width,
so a short name like Roster sits right beside its chevron. Height
stays 48px on both.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4
gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 10, 2026

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

@BigSimmo
BigSimmo marked this pull request as ready for review October 11, 2026 00:56
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@codeant-ai

codeant-ai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR f1fb57c Oct 11, 2026 · 00:56 01:01

@codeant-ai

codeant-ai Bot commented Oct 11, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

BigSimmo has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@claude

claude Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label Oct 11, 2026
@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Remove example-data notices and align Work header spacing

✨ Enhancement 🧪 Tests 🕐 40+ Minutes

Grey Divider

AI Description

• Remove routine example-data banners, tags, and notices while retaining blocked-action explanations
 and Settings controls.
• Align Work and Clinical header pills; refine Roster buttons and On Call phone-row spacing.
• Update DOM tests for the notice-free presentation and retained example-data behavior.
Diagram

graph TD
  Settings["Settings controls"] --> Store["Example-data store"] --> Pages["Work pages"] --> Guard["Action guards"] --> Host["Example-data host"] --> Sheet["Blocked-action sheet"]
  Store --> Host
  Header["Shared header"] --> Pages
Loading
High-Level Assessment

Keep the existing example-data store and action guards, and remove routine notices at their rendering sites. Moving the entire policy into a new abstraction would add complexity without improving this presentation change; retaining the blocked-action sheet preserves an explanation where users need one.

Files changed (51) +125 / -453

Enhancement (39) +87 / -303
work-mode.cssAlign Work header glass controls +18/-14

Align Work header glass controls

• Makes the round glass backgrounds fill their 48px controls and lets the Work pill hug its label within responsive width limits. Adjusts the pill grid, padding, and large-text behavior.

src/app/work-mode.css

admin-compliance-export-page.tsxRemove compliance export demo notice +0/-9

Remove compliance export demo notice

• Stops displaying the made-up-records notice above the export preview and removes its unused example-data dependencies.

src/components/admin/admin-compliance-export-page.tsx

admin-compliance-page.tsxRemove compliance overview demo notice +0/-8

Remove compliance overview demo notice

• Removes the made-up-records notice from the ready overview and its unused imports and state.

src/components/admin/admin-compliance-page.tsx

admin-today-page.tsxRemove Today demo notice +0/-8

Remove Today demo notice

• Stops showing the example-records notice above Admin Today content while leaving its loading and other states intact.

src/components/admin/admin-today-page.tsx

master-search-header.tsxLet Clinical header pill fit its label +1/-1

Let Clinical header pill fit its label

• Replaces the Clinical pill’s fixed responsive width and desktop minimum with content-based width and a viewport maximum.

src/components/clinical-dashboard/master-search-header.tsx

settings-dialog.tsxCorrect example-data switch description +1/-3

Correct example-data switch description

• Removes the claim that example records are marked Example; the Settings switch and its data explanation remain.

src/components/clinical-dashboard/settings-dialog.tsx

example-data-banner.tsxRetain example-data host without its banner +31/-83

Retain example-data host without its banner

• Removes the visible banner and its sign-in and Turn off controls. Keeps cookie synchronization, server refreshes, and the blocked-action sheet with Turn off and Undo.

src/components/example-data/example-data-banner.tsx

signed-out-sample.tsxRemove signed-out Sample tag +1/-5

Remove signed-out Sample tag

• Drops the amber Sample tag from the shared signed-out notice while retaining its explanatory content and sign-in action.

src/components/mode-kit/signed-out-sample.tsx

my-day-calendar-page.tsxRemove calendar example notices +0/-9

Remove calendar example notices

• Removes the calendar’s made-up-items notice and the export panel’s preemptive example-data warning. The download action still checks the example-data guard.

src/components/my-day/my-day-calendar-page.tsx

my-day-hours-page.tsxRemove example-hours notice +0/-3

Remove example-hours notice

• Stops showing the made-up-shifts notice above hours while keeping the settings-failure warning.

src/components/my-day/my-day-hours-page.tsx

my-day-page.tsxKeep only availability small print +4/-8

Keep only availability small print

• Removes My Day’s example-data small print and renders the small-print line only when an area is unavailable.

src/components/my-day/my-day-page.tsx

my-day-rotations-card.tsxRemove rotation example tag +1/-7

Remove rotation example tag

• Drops the example badge from rotation prompts while preserving their Open or New status tags.

src/components/my-day/my-day-rotations-card.tsx

my-day-week-page.tsxRemove week-view demo notice +0/-3

Remove week-view demo notice

• Removes the made-up-items notice while retaining notices for failed data sources.

src/components/my-day/my-day-week-page.tsx

on-call-work.cssWiden phone-row right gutter +4/-3

Widen phone-row right gutter

• Increases On Call entry-row right padding from 8px to 16px so row controls have a more balanced gutter.

src/components/on-call/on-call-work.css

open-shifts-browse-page.tsxRemove example wording from roster timestamp +1/-1

Remove example wording from roster timestamp

• Changes the signed-out browse context to say when the list and roster were updated without labeling the roster as an example.

src/components/open-shifts/open-shifts-browse-page.tsx

work-roles-page.tsxCorrect example-data preview copy +1/-1

Correct example-data preview copy

• Removes the statement that every area marks example records, while retaining the explanation that sending and exporting are unavailable.

src/components/preview-role/work-roles-page.tsx

roster-list.tsxRefine Roster outline buttons +1/-1

Refine Roster outline buttons

• Uses semibold text and adds vertical padding to shared Roster outline buttons.

src/components/roster/roster-list.tsx

roster-month-page.tsxRemove month-view example notices +5/-10

Remove month-view example notices

• Removes the demo sign-in notice and made-up-shifts footer. Keeps the official-roster reminder for non-sample shifts.

src/components/roster/roster-month-page.tsx

roster-shifts-page.tsxRemove shifts-view demo notice +0/-5

Remove shifts-view demo notice

• Drops the example-only sign-in notice while preserving other roster and team messages.

src/components/roster/roster-shifts-page.tsx

roster-today-page.tsxRemove Roster Today demo notice +0/-5

Remove Roster Today demo notice

• Stops showing the example-only notice in the Today status area while retaining save and refresh messages.

src/components/roster/roster-today-page.tsx

teaching-depth-page.tsxRemove teaching depth-page demo note +1/-6

Remove teaching depth-page demo note

• Stops adding the example-data note above depth-page content and removes the now-unused example-state lookup.

src/components/teaching/teaching-depth-page.tsx

teaching-exam-prep.tsxRemove exam-prep demo note +0/-5

Remove exam-prep demo note

• Removes the unsaved-example-data note from exam prep without changing its demo content.

src/components/teaching/teaching-exam-prep.tsx

teaching-logbook.tsxRemove logbook demo note +0/-5

Remove logbook demo note

• Removes the example-data note but retains the example-state check used to guard CSV export.

src/components/teaching/teaching-logbook.tsx

teaching-presenting.tsxRemove presenting demo note +0/-5

Remove presenting demo note

• Drops the example-data note from the presenting view and its unused store lookup.

src/components/teaching/teaching-presenting.tsx

teaching-supervision.tsxRemove supervision sample notice +0/-6

Remove supervision sample notice

• Stops rendering the AssessSample notice above supervision content and removes its unused dependencies.

src/components/teaching/teaching-supervision.tsx

teaching-term.tsxRemove term-tracker demo note +0/-5

Remove term-tracker demo note

• Removes the example-data note from the term tracker and its unused example-state lookup.

src/components/teaching/teaching-term.tsx

teaching-whats-on.tsxRemove made-up-people label +2/-16

Remove made-up-people label

• Drops the example caption from What’s On and removes the demo-mode calculation used only for that caption.

src/components/teaching/teaching-whats-on.tsx

term-folder-page.tsxRemove term-folder demo note +0/-4

Remove term-folder demo note

• Stops showing the example-data note above the term folder while retaining the folder view.

src/components/teaching/term-folder/term-folder-page.tsx

bookings-page.tsxUse consistent organiser-link description +1/-1

Use consistent organiser-link description

• Removes example-specific wording from the bookings organiser link so sample and real views share the same description.

src/components/work-screens/admin/bookings-page.tsx

documents-page.tsxRemove document-row Example prefixes +2/-2

Remove document-row Example prefixes

• Shows document details without an Example prefix while retaining example-record filtering for relevant actions.

src/components/work-screens/admin/documents-page.tsx

pay-page.tsxRemove pay-screen example labels +2/-4

Remove pay-screen example labels

• Drops the example-roster hero prefix, payslip badge, and check-row prefixes without changing pay calculations.

src/components/work-screens/admin/pay-page.tsx

tax-page.tsxRemove tax-screen example labels +2/-9

Remove tax-screen example labels

• Removes example badges from expense totals and categories and Example prefixes from expense rows. Existing action guards and example filtering remain.

src/components/work-screens/admin/tax-page.tsx

workforce-page.tsxRemove workforce example badge +0/-4

Remove workforce example badge

• Drops the badge above the Workforce prototype explanation; its invented-data and governance explanation remains.

src/components/work-screens/admin/workforce-page.tsx

hospital-page.tsxRemove Hospital roles example badge +0/-2

Remove Hospital roles example badge

• Stops placing an Example tag ahead of the Hospital hub’s roles list.

src/components/work-screens/hospital/hospital-page.tsx

hospital-roles-card.tsxRemove Hospital card example badge +4/-9

Remove Hospital card example badge

• Simplifies the shared roles-card view by removing its example prop and section-label badge.

src/components/work-screens/hospital/hospital-roles-card.tsx

hospital-short-staffed-page.tsxShow short-staffing summary without badge +2/-4

Show short-staffing summary without badge

• Removes the Example tag and renders the summary line only when summary text exists.

src/components/work-screens/hospital/hospital-short-staffed-page.tsx

hospital-sick-page.tsxRemove sick-view example badge +0/-2

Remove sick-view example badge

• Drops the Example tag beside the Hospital sick-leave summary.

src/components/work-screens/hospital/hospital-sick-page.tsx

hospital-starters-page.tsxRemove starters-view example badge +0/-2

Remove starters-view example badge

• Drops the Example tag beside the Hospital starters summary.

src/components/work-screens/hospital/hospital-starters-page.tsx

work-search-sheet.tsxRemove sample notices from Work Search +2/-25

Remove sample notices from Work Search

• Removes sample-record notices, their sign-in dialog, and the Next up Sample tag. Other search notices remain.

src/components/work-search/work-search-sheet.tsx

Refactor (2) +0 / -32
assess-kit.tsxRemove unused assessment sample component +0/-11

Remove unused assessment sample component

• Deletes the shared AssessSample notice component and its now-unused icon import.

src/components/teaching/assessments/assess-kit.tsx

assess.cssRemove assessment sample-line styling +0/-21

Remove assessment sample-line styling

• Deletes styles for the removed assessment sample notice.

src/components/teaching/assessments/assess.css

Tests (10) +38 / -118
admin-compliance-page.dom.test.tsxAssert compliance demo notice is absent +2/-2

Assert compliance demo notice is absent

• Changes the signed-out and demo test to verify the removed notice no longer renders.

tests/admin-compliance-page.dom.test.tsx

admin-today-page.dom.test.tsxAssert Admin Today has no example notice +3/-4

Assert Admin Today has no example notice

• Verifies that demo content does not display the removed notice or made-up wording.

tests/admin-today-page.dom.test.tsx

example-data-ui.dom.test.tsxTest notice-free example-data host +19/-90

Test notice-free example-data host

• Replaces banner and tag assertions with checks for a hidden host, cookie-triggered refresh, and retained blocked-action, Turn off, and Undo behavior.

tests/example-data-ui.dom.test.tsx

my-day-hours.dom.test.tsxAssert example hours lack a notice +2/-2

Assert example hours lack a notice

• Keeps the example-hours rendering check and verifies the demo notice is absent.

tests/my-day-hours.dom.test.tsx

my-day-page.dom.test.tsxAssert My Day omits example small print +3/-3

Assert My Day omits example small print

• Checks that demo items still render without an example notice or an otherwise-empty small-print line.

tests/my-day-page.dom.test.tsx

my-day-week.dom.test.tsxAssert week-view demo notice is absent +2/-2

Assert week-view demo notice is absent

• Confirms an example shift still appears without the removed demo notice.

tests/my-day-week.dom.test.tsx

open-shifts-browse-sample.dom.test.tsxVerify neutral open-shifts context +2/-1

Verify neutral open-shifts context

• Expects the revised roster timestamp and checks that its context contains no example wording.

tests/open-shifts-browse-sample.dom.test.tsx

roster-month-page.dom.test.tsxAssert month view omits example notes +3/-12

Assert month view omits example notes

• Checks that sample and demo rosters lack made-up or example-only notes while the add button remains unavailable for samples.

tests/roster-month-page.dom.test.tsx

teaching-term-folder.dom.test.tsxAssert term folder omits demo note +1/-1

Assert term folder omits demo note

• Changes the folder test to expect no example-data notice while preserving its content assertions.

tests/teaching-term-folder.dom.test.tsx

teaching-whats-on.dom.test.tsxAssert What’s On omits made-up caption +1/-1

Assert What’s On omits made-up caption

• Keeps the demo-session and fetch checks but expects no made-up-people caption.

tests/teaching-whats-on.dom.test.tsx

@qodo-code-review

Copy link
Copy Markdown
Contributor

Qodo findings, answered together:

1 and 2 (example records shown without a label in Work Search and Open shifts): this is the change the owner asked for, removing every on-screen example notice, with the risk accepted and recorded in the PR body. The example switch in Settings and the export, share and copy block stay. No code change.

3 (Clinical pill width now follows its label): intended. The owner asked for the middle pill to drop its empty space, and for Work and Clinical to match, so both now hug their label at the same 48px height. The PR body was out of date on this and is now corrected. No code change.


Generated by Claude Code

Understood. The rationale is clear:

  • findings 1 and 2: the removal of example-data notices is intentional, with the risk accepted; no code change requested.
  • finding 3: the content-sized Clinical and Work pills are intentional and the PR description has been corrected; no code change requested.

These findings remain active until explicitly dismissed. Findings 4 and 5 were not addressed by this response.

@qodo-code-review

Copy link
Copy Markdown
Contributor

Qodo Fixer

✅ Committed (5) · ☑ Fixed (5)

Grey Divider

Commits pushed directly to this PR — no separate fix PR opened.

Process — 5 fixed
  • ☑ Fixed: Search presents invented records as real
  • ☑ Fixed: Invented shifts look like current openings
  • ☑ Fixed: Area names that fit may be cut off
  • ☑ Fixed: Clinical pill now changes width with each mode
  • ☑ Fixed: Leftover comments cite an example banner that's gone

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit 7449d9e

Restores minmax(0, max-content) for the name column so a name that
fits is never cut short by sub-pixel rounding (review finding).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4
…cing-bp4x20' into claude/remove-example-notice-spacing-bp4x20

# Conflicts:
#	src/app/work-mode.css
The Qodo bot pushed three changes that reversed what the owner asked
for and turned CI red: the Clinical pill regained its 13rem floor (the
owner asked for no empty space), Open shifts regained an Example label
(the owner asked for every example notice to go, and the sample test
fails on it), and AI Search dropped example records, which leaves CPD
answers on a loading card that never ends. This puts back the reviewed
versions of those three files. The bot's comment tidy-ups stay.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4

Copy link
Copy Markdown
Owner Author

The Qodo Fixer commits turned CI red and reversed the owner's requests, so the latest push puts back the reviewed versions of three files:

  • open-shifts-browse-page.tsx: the "Example listings" label failed tests/open-shifts-browse-sample.dom.test.tsx, and the owner asked for every example notice to go.
  • use-work-search-records.ts: dropping example records left the CPD answer on a loading card that never ends (Gitar's finding), and roster and teaching answers came back falsely empty.
  • master-search-header.tsx: the 13rem floor brought back the empty space the owner asked to remove.

The comment tidy-ups and the max-content name track stay. Focused tests: 7 files, 102 tests passed.


Generated by Claude Code

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit 6cea00d

gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 11, 2026

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

…held

PR 3412 held all five cultural records, so the Cultural domain filter is
no longer offered and the phone journey counts 11 domain buttons, not 12.
Main's push CI does not run this browser shard, so the stale count first
showed up on this PR.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DB4o6bJhwnnpqTcrVdcC4

Copy link
Copy Markdown
Owner Author

Production UI (3) failed on tests/ui-formulation.spec.ts:140: it expected 12 Domain filter buttons and found 11. This isn't caused by this PR, which touches no Formulation code. #3412 held all five cultural records, so the Cultural domain filter is no longer offered, and main's push CI doesn't run this browser shard. I've ported the one-line test update (expect 11, comment explains the hold) into this PR. It becomes a no-op once main carries the same fix.


Generated by Claude Code

gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 11, 2026

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit 8ed3a76

…-notice-spacing-bp4x20

# Conflicts:
#	tests/ui-formulation.spec.ts
@qodo-code-review

qodo-code-review Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

No code changes since the last review — review skipped

Qodo Logo

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

@gitar-bot

gitar-bot Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor
Code Review ✅ Approved 2 closed / 2 findings

🟡 Medium risk · Removing example-data labels across roster, pay, teaching, and admin screens could lead users to mistake synthetic records for their own.

Removes on-screen example-data notices, tidies spacing, and matches the Work header area pill to the Clinical pill. Search now excludes example records from roster, teaching, CPD, and On Call results.

Resolved: the pill width no longer truncates long area names on 320–375px phones, and suppressed example areas no longer leave search answers stuck or falsely empty. No open issues found.

Auto-approved: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria.

✅ 2 closed
✅ Edge Case: Fixed pill width truncates long area names on 320–375px phones

📄 src/app/work-mode.css:758 📄 src/app/work-mode.css:763 📄 src/app/work-mode.css:890-903
The pill used to be width: auto, capped at min(15rem, 100vw - 11rem), which is 144px at 320px. It is now fixed at min(13rem, 100vw - 13rem), which is 112px at 320px and 147px at 360px. At 320px the [data-area-only] rules leave roughly 112 − 12 (padding) − 24 (badge) − 4 (gap) ≈ 72px for the name. That is too narrow for "Assessments" or "Open shifts" at 13px bold, yet the block comment at 890–893 still says they "fit whole at 320px". Between 360 and 375px the chevron and 32px badge also leave too little room for "Assessments" (about 63–83px). Unless Back is showing, those names get an ellipsis where they used to fit. A fix is to keep the clinical width as a floor rather than a fixed size, e.g. width: auto; min-width: min(13rem, calc(100vw - 13rem)); with the old max-width. Either way, check 320 and 360px without Back and update the 893 comment.

✅ Bug: Suppressed example areas leave search answers stuck or falsely empty

📄 src/components/work-search/use-work-search-records.ts:366-380
Signed in with example data showing for CPD, cpd is now null while the cme area is still reported as status: "ready", sample: true. In cpdHours, notReady passes, then !input.cpd returns unavailableAnswer(... { why: "Still loading CPD.", loading: true }). So "am I on track for CPD" shows a loading card that never finishes and offers no Retry. Roster and Teaching have a similar problem: their items are dropped, but areas still says ready+sample. Built-in answers then work from an empty list, so search says there are no nights or sessions and tags it "(sample data, not your records)", even when the reader's real shifts are only hidden behind the switch. The stale comment at line 381 still says CPD reads the example year. Fix: in areas, give suppressed sample areas a status that produces an honest notice (or add a flag that answers.ts handles). Otherwise, keep the sample CPD/items and rely on the existing sample label.

Review coverage

🤖 Auto-approval Approved

📋 Rules No rules evaluated

🧪 Functional validation Not enabled · Set up

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Counting what did not apply, without listing it.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Copy link
Copy Markdown
Owner Author

Unit coverage / PR required are red on 3ed546c because Unit coverage partition (1) stalled. Its last test output was at 01:39:33, and the job was cancelled at its time limit at 01:52. No test failed. This looks like a one-off hang, not this PR:

  • The previous head 6cea00d has the same PR code, and its partition 1 passed in about 5 minutes. The only change since then is the merge of main.
  • Running partition 1 locally on 3ed546c finished in 316 s with no hang. The only two local failures are in tests/test-runner-safety.test.ts. They come from this container's Playwright browser revision and are unrelated.

I'm re-running the failed jobs once. If it stalls again, I'll treat it as real and dig in.


Generated by Claude Code

@BigSimmo
BigSimmo merged commit 37e070c into main Oct 11, 2026
61 of 64 checks passed
@BigSimmo
BigSimmo deleted the claude/remove-example-notice-spacing-bp4x20 branch October 11, 2026 02:07
gitar-bot Bot pushed a commit that referenced this pull request Oct 11, 2026
…rowser groups, stop a frozen unit batch sooner (#3451)

* Cut CI wait: split the tablet and Safari release legs, rebalance PR browser groups, stop a frozen unit batch sooner

Main pushes took 36-40 minutes because Railway's "Wait for CI" holds the
deploy until every job ends, and the tablet leg ran the whole tablet suite on
one runner. It hit the 30-minute global timeout on main run 38053471704 with
345 tablet tests never run. Tablet now splits four ways from a timing table
measured off that leg's log (unreached files use the mobile-webkit cost, marked
as estimates), and desktop Safari splits three ways from its existing table.

Production UI shard 3 ran 521s of tests against 401s and 346s on PR run
38101082169, so it set every PR's wall clock. The profiles are re-measured from
that run and four files move, giving 422/426/420s.

A unit coverage partition froze on PR #3450 and held the run to the 20-minute
job cap. The test step now stops at 13 minutes (partitions take 5-9).

Every test still runs, on one worker, with zero retries and the same
per-test timeouts.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JoxhPS6iT7SYdBZeSR1w1S

* Pin the committed webkit (3) and tablet (4) leg counts in the release balance test

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JoxhPS6iT7SYdBZeSR1w1S

---------

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔴 Large blast radius size:L This PR changes 100-499 lines, ignoring generated files 🕐 40+ Minutes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants