Skip to content

ci(website): harden the verify workflow, remove stray files, refresh the roadmap - #73

Merged
scttbnsn merged 7 commits into
devfrom
ci/verify-capacity
Oct 25, 2026
Merged

scttbnsn merged 7 commits into
devfrom
ci/verify-capacity

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Batch of three small concerns, each its own commit, squash on merge.

CI (the four ci(website) commits):

  • Adds the support contract tests (9) to verify. They only ran locally before.
  • Stops the duplicate verify run on a dev -> main promotion PR. The push to dev already attaches a run to that SHA, so the pull_request run for an internal promotion is skipped. The skip checks repository IDs, so a fork branch named dev still runs. Eight regression cases cover the condition and run in CI.
  • Drops the unused feature/** push trigger (branches here are feat/ and fix/, covered by the PR event) and cancels superseded PR runs only. Pushes to main and dev are never cancelled.
  • Sets persist-credentials: false on checkout (zizmor artipacked). Nothing in the job needs git auth after checkout.
  • Pins actions/checkout and actions/setup-node to their v4.4.0 commits with version comments.

Repo cleanup (refactor(repo)):

  • Deletes visual-schedule-manager-portfolio/, an unrelated app last touched 2025-08-20 that nothing in frontend/ or CI references, the old root start.sh launcher, and two tracked scratch files under logs/. Vercel builds from frontend/, so production is unaffected.

Roadmap (docs(roadmap)):

Local verification on this head after rebasing onto dev at ccf6b86: actionlint clean, Biome, tsc, workflow 8/8, scene 12/12, PostHog 30/30, support 9/9, npm audit --omit=dev clean.

Summary by CodeRabbit

  • Removals
    • Removed the visual schedule manager demo and its scheduling features, including drag-and-drop, timezone selection, business-hours settings, and automatic scheduling.
    • Removed the launcher previously used to set up and start the local development server.
  • Documentation
    • Updated project status and analytics notes, including the status of planned work and outstanding tasks.
  • CI
    • Updated workflow checks for pull requests and pushes, with additional verification tests.

- ci(website): add the test:support step to verify
- ci(website): skip the pull_request run for dev-headed promotion PRs, since the dev push run already reports verify on that commit
- ci(website): drop the unused feature/** push trigger
- ci(website): cancel superseded PR runs with a concurrency group
…junk

- refactor(repo): delete visual-schedule-manager-portfolio/, an unrelated app
  last touched 2025-08-20 that nothing in frontend/ or CI references
- refactor(repo): delete root start.sh, the pre-Vercel dev launcher
- chore(repo): drop two tracked scratch files under logs/
… 3D items

- docs(roadmap): add a where-things-stand section covering the security patch,
  CI hardening and repo cleanup in flight
- docs(roadmap): mark the WebGL fallback superseded by the Catalogue redesign
  and park the 3D asset set
- docs(roadmap): record the PostHog verification of $pathname and $pageleave
@vercel

vercel Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
codeswhat-website Ready Ready Preview Oct 25, 2026 8:55pm UTC

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Walkthrough

The pull request updates website workflow behavior and tests, records roadmap and analytics status, and removes the standalone visual schedule manager, its project files, the root development launcher, and an audit JSON file.

Changes

Website verification and project status

Layer / File(s) Summary
Workflow rules and boundary tests
.github/workflows/website.yml, frontend/test/workflow.test.mjs
The workflow removes the feature/** push trigger, adds event-specific concurrency and a skip condition for same-repository dev-to-main pull requests, pins actions, disables persisted checkout credentials, and adds two test steps. Tests check the workflow condition against push and pull-request fixtures.
Roadmap and analytics status
ROADMAP.md
The roadmap records shipped work, open tasks, the Catalogue redesign’s relationship to the WebGL plan, asset status, and production analytics results and follow-up checks.

Visual schedule manager removal

Layer / File(s) Summary
Scheduler interface and demo removal
visual-schedule-manager-portfolio/components/schedules/*, visual-schedule-manager-portfolio/demo.tsx
The schedule timeline, controls, dialogs, supporting components, demo, and component documentation are deleted.
Schedule state and helper removal
visual-schedule-manager-portfolio/hooks/*, visual-schedule-manager-portfolio/stores/*, visual-schedule-manager-portfolio/lib/api/*, visual-schedule-manager-portfolio/utils/*
The scheduling hooks, store, mock API, and schedule, collision, date, timeline, and timezone utilities are deleted.
Portfolio UI and project configuration removal
visual-schedule-manager-portfolio/components/ui/*, visual-schedule-manager-portfolio/package.json, visual-schedule-manager-portfolio/{.gitignore,README.md,tailwind.config.js,tsconfig.json}
The shared UI components, package manifest, project configuration, ignore rules, and top-level README are deleted.
Root launcher and audit file removal
start.sh, logs/.d4add09e83cef3872faf6ff0dd90aa7b611e2105-audit.json
The development launcher and audit JSON configuration are deleted.

Priority: Normal

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

Change: Other

Possibly related PRs

  • CodesWhat/codeswhat.com#70: Adds the support contract tests that this pull request runs in the website verification workflow, and documents the Catalogue redesign referenced in the roadmap.
Merge Risk: Minimal · up to f3ea2

No concrete merge-blocking issue has been established; the roadmap wording change is optional.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (2 skipped: 2… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the pull request’s three main changes: hardening the website verification workflow, removing unused repository files, and updating the roadmap.
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.
Full details: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (2 skipped: 2 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

🔧 Biome (2.5.15)
frontend/test/workflow.test.mjs

Biome could not lint this file: nested root configuration. Check the repository's Biome configuration and plugins.

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.

@scttbnsn

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

A queued push run shares its group with the running one, so a third push to
dev replaced the pending run and left that SHA with no verify result. The
promotion skip assumes every dev SHA keeps its own run. Keying push runs by
run_id removes the queue; PR runs still cancel superseded heads per PR.
@scttbnsn

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai 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.

🔇 Additional comments: 4
.github/workflows/website.yml: 2

16-21: LGTM!

Also applies to: 34-38, 49-50, 55-56


26-26: 🎯 Functional Correctness

The promotion risk depends on unavailable branch rules.

The condition skips verify for internal dev-to-main pull requests. Whether this permits an untested merge depends on main requiring up-to-date branches or using a merge queue. The available evidence does not establish that repository setting.

frontend/test/workflow.test.mjs: 1

1-53: LGTM!

ROADMAP.md-51-51: 1

51-51: Minor · Maintainability & Code Quality · Quick win

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Use anymore in this sentence.

Replace “isn't on the critical path any more” with “isn't on the critical path anymore”.

Source: Linters/SAST tools


Review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between ccf6b86 and f3ea2d7.

Files ignored due to path filters: 4
  • logs/mcp-puppeteer-2025-12-10.log is excluded by !**/*.log
  • visual-schedule-manager-portfolio/assets/integrations/fyle_favicon.png is excluded by !**/*.png
  • visual-schedule-manager-portfolio/assets/integrations/onelogin_favicon.png is excluded by !**/*.png
  • visual-schedule-manager-portfolio/assets/integrations/sage_favicon.png is excluded by !**/*.png
Files selected for processing: 47
  • .github/workflows/website.yml
  • ROADMAP.md
  • frontend/test/workflow.test.mjs
  • logs/.d4add09e83cef3872faf6ff0dd90aa7b611e2105-audit.json
  • start.sh
  • visual-schedule-manager-portfolio/.gitignore
  • visual-schedule-manager-portfolio/README.md
  • visual-schedule-manager-portfolio/components/schedules/AutoScheduleDialog.tsx
  • visual-schedule-manager-portfolio/components/schedules/BusinessHoursModal.tsx
  • visual-schedule-manager-portfolio/components/schedules/BusinessHoursOverlay.tsx
  • visual-schedule-manager-portfolio/components/schedules/CurrentTimeIndicator.tsx
  • visual-schedule-manager-portfolio/components/schedules/DragPreview.tsx
  • visual-schedule-manager-portfolio/components/schedules/DraggableJobBadge.tsx
  • visual-schedule-manager-portfolio/components/schedules/DroppableTimeSlot.tsx
  • visual-schedule-manager-portfolio/components/schedules/README.md
  • visual-schedule-manager-portfolio/components/schedules/ScheduleDetailsModal.tsx
  • visual-schedule-manager-portfolio/components/schedules/SchedulerErrorBoundary.tsx
  • visual-schedule-manager-portfolio/components/schedules/TimelineGrid.tsx
  • visual-schedule-manager-portfolio/components/schedules/TimelineScheduler.tsx
  • visual-schedule-manager-portfolio/components/schedules/TimelineTrack.tsx
  • visual-schedule-manager-portfolio/components/schedules/TimezoneSelector.tsx
  • visual-schedule-manager-portfolio/components/schedules/index.ts
  • visual-schedule-manager-portfolio/components/ui/alert.tsx
  • visual-schedule-manager-portfolio/components/ui/badge.tsx
  • visual-schedule-manager-portfolio/components/ui/button.tsx
  • visual-schedule-manager-portfolio/components/ui/card.tsx
  • visual-schedule-manager-portfolio/components/ui/dialog.tsx
  • visual-schedule-manager-portfolio/components/ui/label.tsx
  • visual-schedule-manager-portfolio/components/ui/scroll-area.tsx
  • visual-schedule-manager-portfolio/components/ui/select.tsx
  • visual-schedule-manager-portfolio/components/ui/separator.tsx
  • visual-schedule-manager-portfolio/components/ui/switch.tsx
  • visual-schedule-manager-portfolio/components/ui/tooltip.tsx
  • visual-schedule-manager-portfolio/demo.tsx
  • visual-schedule-manager-portfolio/hooks/useDragAndDrop.ts
  • visual-schedule-manager-portfolio/hooks/useScheduleTimezone.ts
  • visual-schedule-manager-portfolio/lib/api/client.ts
  • visual-schedule-manager-portfolio/lib/utils.ts
  • visual-schedule-manager-portfolio/package.json
  • visual-schedule-manager-portfolio/stores/schedule-store.ts
  • visual-schedule-manager-portfolio/tailwind.config.js
  • visual-schedule-manager-portfolio/tsconfig.json
  • visual-schedule-manager-portfolio/utils/auto-schedule.ts
  • visual-schedule-manager-portfolio/utils/collision-detection.ts
  • visual-schedule-manager-portfolio/utils/date.ts
  • visual-schedule-manager-portfolio/utils/timeline-helpers.ts
  • visual-schedule-manager-portfolio/utils/timezone-conversion.ts
Files with no reviewable changes: 44
  • logs/.d4add09e83cef3872faf6ff0dd90aa7b611e2105-audit.json
  • visual-schedule-manager-portfolio/package.json
  • visual-schedule-manager-portfolio/demo.tsx
  • visual-schedule-manager-portfolio/tailwind.config.js
  • visual-schedule-manager-portfolio/components/ui/separator.tsx
  • visual-schedule-manager-portfolio/tsconfig.json
  • visual-schedule-manager-portfolio/.gitignore
  • visual-schedule-manager-portfolio/components/schedules/README.md
  • visual-schedule-manager-portfolio/components/ui/tooltip.tsx
  • visual-schedule-manager-portfolio/components/schedules/DroppableTimeSlot.tsx
  • visual-schedule-manager-portfolio/components/schedules/DraggableJobBadge.tsx
  • visual-schedule-manager-portfolio/components/ui/select.tsx
  • visual-schedule-manager-portfolio/components/schedules/index.ts
  • visual-schedule-manager-portfolio/components/schedules/BusinessHoursOverlay.tsx
  • visual-schedule-manager-portfolio/components/ui/button.tsx
  • visual-schedule-manager-portfolio/components/schedules/TimezoneSelector.tsx
  • visual-schedule-manager-portfolio/hooks/useScheduleTimezone.ts
  • visual-schedule-manager-portfolio/components/schedules/TimelineScheduler.tsx
  • visual-schedule-manager-portfolio/components/schedules/BusinessHoursModal.tsx
  • start.sh
  • visual-schedule-manager-portfolio/components/ui/scroll-area.tsx
  • visual-schedule-manager-portfolio/components/schedules/AutoScheduleDialog.tsx
  • visual-schedule-manager-portfolio/components/schedules/TimelineGrid.tsx
  • visual-schedule-manager-portfolio/components/schedules/CurrentTimeIndicator.tsx
  • visual-schedule-manager-portfolio/lib/utils.ts
  • visual-schedule-manager-portfolio/lib/api/client.ts
  • visual-schedule-manager-portfolio/components/schedules/ScheduleDetailsModal.tsx
  • visual-schedule-manager-portfolio/components/schedules/SchedulerErrorBoundary.tsx
  • visual-schedule-manager-portfolio/components/ui/alert.tsx
  • visual-schedule-manager-portfolio/components/ui/switch.tsx
  • visual-schedule-manager-portfolio/stores/schedule-store.ts
  • visual-schedule-manager-portfolio/components/schedules/TimelineTrack.tsx
  • visual-schedule-manager-portfolio/README.md
  • visual-schedule-manager-portfolio/components/ui/badge.tsx
  • visual-schedule-manager-portfolio/components/ui/dialog.tsx
  • visual-schedule-manager-portfolio/hooks/useDragAndDrop.ts
  • visual-schedule-manager-portfolio/components/ui/card.tsx
  • visual-schedule-manager-portfolio/components/ui/label.tsx
  • visual-schedule-manager-portfolio/components/schedules/DragPreview.tsx
  • visual-schedule-manager-portfolio/utils/date.ts
  • visual-schedule-manager-portfolio/utils/timezone-conversion.ts
  • visual-schedule-manager-portfolio/utils/collision-detection.ts
  • visual-schedule-manager-portfolio/utils/timeline-helpers.ts
  • visual-schedule-manager-portfolio/utils/auto-schedule.ts

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@scttbnsn
scttbnsn merged commit 8cb1156 into dev Oct 25, 2026
4 checks passed
@scttbnsn
scttbnsn deleted the ci/verify-capacity branch October 25, 2026 21:54
scttbnsn added a commit that referenced this pull request Oct 25, 2026
)

Publishes #72 (Next 16.4.3, dompurify 3.4.17, sharp 0.35.5; clears the 20 open Dependabot alerts) and #73 (verify hardening, stray-file removal, roadmap refresh). The dev tree matched the reviewed #73 head exactly; verify passed on the dev push for e422e9a and this PR's own run was skipped as the internal-promotion duplicate. Both source PRs had CodeRabbit passes with no actionable comments; CodeRabbit was rate limited on this promotion, as on #70.
scttbnsn added a commit that referenced this pull request Oct 26, 2026
- test(analytics): resolve posthog-core by package specifier and fail clearly if an upgrade drops PostHog#_runBeforeSend
- test(analytics): replace the stale body check in the production browser contract; require real Flight scripts before excluding them
- docs(deploy): run the browser contract after each promotion
- docs(roadmap): record the #72 and #73 promotion to production

Two CodeRabbit passes: one finding on the first (Flight-script filter too loose), fixed in 2801dc4; none on the second. verify and Vercel green on 2801dc4. Browser contract 1/1 against https://codeswhat.com.

This branch was successfully deployed

1 active deployment
Preview — f3ea2d7e Deployed Oct 25, 2026 by vercel[bot]
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