Skip to content

ci(changelog): validate nightly notes before publication - #25518

Merged
teamleaderleo merged 10 commits into
feat-cmux-nextfrom
nx-ci-22099-recut-clean
Oct 26, 2026
Merged

teamleaderleo merged 10 commits into
feat-cmux-nextfrom
nx-ci-22099-recut-clean

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #22099

Finishes the What's New work after #21650, #21684 and #21873: gallery entries for every range size, and a check on each nightly-next build's notes before they publish.

This replacement recuts #22099 onto the current feat-cmux-next base and owns the CI-safe core of the notes work:

  • adds the pre-publish checker and its fixture-driven tests for the notes, one-nightly and ten-nightly page views, and the update card/popup;
  • keeps release-notes generation and the web surfaces on the same readable filtering rules, including duplicate, cut-title, tracker, tool-name, and internal-work cases;
  • keeps the release-notes item regression and test-first history (the first commit is the failing coverage; the second is the fix).

The original PR's workflow wiring (.github/workflows/nightly.yml, .github/workflows/ci-guards.yml, .github/nightly-step-coverage.json, and tests/test_nightly_next_recovery.py) is intentionally handed to the nightly/CI owners already changing those files. The gallery registry is likewise left to #24121. This avoids merging competing workflow and gallery edits; the owners can wire scripts/cmux-next/check-release-notes.ts between signing and publishing while preserving existing path routing.

Observed / Not run

  • Observed: python3 -m unittest tests.test_cmux_next_release_notes (17 OK), bash scripts/cmux-next/tests/release-notes-items.test.sh (OK), Bun changelog tests (33 pass), bunx vp lint on changed webview files, and bunx vp check --no-fmt --no-lint (2,769 files, no type errors).
  • Observed red before the fix: the first commit fails test_digest_titles_are_unique_when_long_lines_share_a_first_clause because the digest emits the same title twice; the implementation commit makes it pass.
  • Not run: native Swift/macOS builds; the full bun run check remains red on the base's unrelated src/agent-session/acpmux/conversation/DynamicWorkflow.gallery.tsx accessibility warnings. The targeted changed-file lint and type check are green.

Changelog

  • Fixed: pre-publish notes validation and consistent readable filtering for What's New surfaces.

Agent session: agent session


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Review of #22099: add failing coverage for readable digest titles, update surfaces, and the pre-publish notes check.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
The checker reads the notes, page ranges, and update card through the same readable rules, and emits annotations for defects before publication. The nightly workflow wiring remains with its existing workflow owners.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
@cursor

cursor Bot commented Oct 26, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-jp2c5 created for this PR by the cmux coordinator.

@blacksmith-sh

blacksmith-sh Bot commented Oct 26, 2026

Copy link
Copy Markdown

Found 8 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpn32rjn6l/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpz4dmx1ls/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
View Logs
test_bot_attempt_three_drops_stale_owned_pool_placement (main.PathRoutingStructure.
test_bot_attempt_three_drops_stale_owned_pool_placement)/
test_bot_attempt_three_drops_stale_owned_pool_placement (main.PathRoutingStructure.
test_bot_attempt_three_drops_stale_owned_pool_placement)
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

A curated headline and entry can render the same title twice in the journal; keep that regression red until notes duplicate tracking spans all note rows.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
Use one duplicate set for entries, the curated headline, summaries, and highlights so the pre-publish check catches titles rendered twice.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
The release-notes pipeline strips agent and Unicode tracker references; keep the web readable model red until it does the same.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
Keep readableChange.ts in parity with release-notes.py for agent ids and Unicode tracker refs so the pre-publish checker cannot let those implementation details through.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
Generated summary entries and summary lines intentionally repeat the same machine change. Keep that valid overlap while checking a curated headline against its visible entries.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review f61a85f: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr25518 -f ref=nx-ci-22099-recut-clean -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards. CI was cancelled before it finished. This PR merged before its CI finished: fix forward on main.

CI stopped on f61a85f3d1 (run 40360096954 attempt 1): 1 unknown.

Job Verdict Why
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Not re-run automatically: web / react-apps-check is not a machine failure.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: web / Web status; NEW: green on the base ab213c4; do not merge until green; see lane-rules
red: web / react-apps-check; no finished base run on ab213c4 to compare; do not merge until green; see lane-rules

Tour of f61a85f3d1 (run): no media. The tour did not run: only webview code changed (8 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label, then re-add media-tour, to tour it on a Mac.

Gallery before/after for f61a85f: 16 states rendered, 0 images differ, 21 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 40360013521 -R manaflow-ai/cmux -n gallery-advisory-25518-f61a85f3d11327788a07c42f66000adba4758c8f (then read gallery-review.json)

States
State Theme Status Diff Picked by
pages.changelog.update-surfaces/card Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-span Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-span Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-span-wallpaper Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-span-wallpaper Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-maintenance Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-maintenance Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-wallpaper Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-wallpaper Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-one-change Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-one-change Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-no-highlights Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-no-highlights Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-no-highlights-wallpaper Apple System Colors Light unchanged 0% own UpdateSurfaces.tsx
pages.changelog.update-surfaces/card-no-highlights-wallpaper Apple System Colors unchanged 0% own UpdateSurfaces.tsx
pages.changelog/nightly-3913596493801 Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-3913596493801 Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-update Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-update Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-unpublished Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-unpublished Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-history Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/nightly-history Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/ledger Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/ledger Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/clips-alternate Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/clips-alternate Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/clips-stack Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/clips-stack Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/clips-grid Apple System Colors Light unchanged 0% imports UpdateSurfaces.tsx (1 hops)
pages.changelog/clips-grid Apple System Colors unchanged 0% imports UpdateSurfaces.tsx (1 hops)

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

A current release heading can repeat an older same-day entry in the ten-nightly journal span; keep the page-heading regression red until the checker inspects it.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
Compare curated release headings with grouped entries across the one- and ten-nightly views so a current heading cannot repeat an older same-day title.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (review_22099_recut, independent Codex xhigh): SHIP at c49a672

Focused validation: Bun 36 pass / 0 fail (567 expectations), Python unittest 17 OK, changed-file vp lint and typecheck green. The review checked pipeline parity for agent/Unicode references, curated headline duplicates, and same-day page-range headings.

Agent session: agent session

@teamleaderleo teamleaderleo added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 26, 2026
Match the webview formatter required by the fast-gates web lint.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-4777d4f75452817a742b
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (review_22099_recut, independent Codex xhigh): SHIP at f61a85f

The delta from c49 is formatter-only. Focused validation: Bun 36 pass / 0 fail (567 expectations), changed-file vp fmt/lint and typecheck green. No further findings.

Agent session: agent session

@teamleaderleo teamleaderleo added ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds and removed ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds labels Oct 26, 2026
@teamleaderleo
teamleaderleo merged commit a6435a2 into feat-cmux-next Oct 26, 2026
145 of 154 checks passed
@teamleaderleo
teamleaderleo deleted the nx-ci-22099-recut-clean branch October 26, 2026 16:36
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Before/after gallery receipts for #25518: base ab213c41072c80ed1c7c09934c27bfdb86ce1243 → reviewed feature f61a85f3d11327788a07c42f66000adba4758c8f, merged as a6435a28ef3ff2fbdfa34ff25db35564c6345afe.

Real UpdateReadyHighlights and UpdatedCard gallery renders in Linux Chromium 151.0.7922.34, English/UTC, reduced motion, device scale 2. The same temporary gallery entry at both commits uses the exact older-note and remaining-list regression fixtures; product sources are unchanged. All 24 gallery stages reported ready with exact commit/source metadata; all eight feature PNGs byte-match a repeat render.

Fixture and surface Light Dark
Older notes · popup Older notes · popup, light, before and after Older notes · popup, dark, before and after
Older notes · Updated card Older notes · Updated card, light, before and after Older notes · Updated card, dark, before and after
Remaining changes · popup Remaining changes · popup, light, before and after Remaining changes · popup, dark, before and after
Remaining changes · Updated card Remaining changes · Updated card, light, before and after Remaining changes · Updated card, dark, before and after

Visually checked: internal summary rows disappear, the remaining title is readable, repeated changes appear once, and the card's extra count is corrected. These are web gallery captures.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant