Resolve merge conflicts with main, fix pre-existing Vitest failures, and extend CI build timeouts#2805
Conversation
🏷️ Automatic Labeling SummaryThis PR has been automatically labeled based on the files changed and PR metadata. Applied Labels: size-xs Label Categories
For more information, see |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
|
@copilot analyse and improve code and test quality and fix root cause of and resolve merge conflicts |
…ader-context # Conflicts: # analysis/daily/2026-05-28/realtime-monitor/article.md # news/2026-05-28-realtime-monitor-ar.html # news/2026-05-28-realtime-monitor-da.html # news/2026-05-28-realtime-monitor-de.html # news/2026-05-28-realtime-monitor-en.html # news/2026-05-28-realtime-monitor-es.html # news/2026-05-28-realtime-monitor-fi.html # news/2026-05-28-realtime-monitor-fr.html # news/2026-05-28-realtime-monitor-he.html # news/2026-05-28-realtime-monitor-ja.html # news/2026-05-28-realtime-monitor-ko.html # news/2026-05-28-realtime-monitor-nl.html # news/2026-05-28-realtime-monitor-no.html # news/2026-05-28-realtime-monitor-sv.html # news/2026-05-28-realtime-monitor-zh.html Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
|
@copilot analyse and improve all changes. MUST fix so all PR checks pass and all code is correct TypeScript & JavaScript Testing / Unit Tests (Vitest) (pull_request) |
…ion titles Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Fixed in 76f56fc. The 7 Vitest failures were pre-existing on
Verified: both files green in isolation (36/36, 18/18), related batch 382/382, |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
|
@copilot and fix issues in failing checks extend timeouts so all test have time to complete. improve performance if possible |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Fixed in the latest commit. Root cause of the cancellations: the shared
On performance: the build hot spot is the CPU-bound unified/remark/rehype markdown pipeline. Bounded |
|
@copilot resolve the merge conflicts in this pull request |
…ader-context # Conflicts: # .github/workflows/test-homepage.yml # scripts/render-lib/article.ts Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Resolved in 029fcf8. Two conflicts from main's recent merges:
|
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
The branch had diverged from
main, producing 15 conflicts across the daily realtime-monitor article and its 14 rendered news HTML pages.All conflicts were in generated content. The branch side carried only timestamp churn (
generated_at,og:updated_time,dateModified, footer "Last updated"), whilemaincarried real new content — the TU digital-governance cluster (HD01TU17 telecom anti-spoofing rules, HD01TU18 interoperability law), added significance-table rows, and a new cross-reference cluster node.Resolution
main's newer, content-rich versions; discarded the branch's stale timestamp-only edits.data/political-glossary.json,scripts/render-lib/political-context.ts,scripts/types/language.ts, and thearticle.ts/article-aside.tswiring auto-merged without conflict and remain intact.origin/main).No source logic was authored during resolution — the choice was strictly between two existing content versions, favoring
main's latest published output. The political-context feature is unaffected; its HTML output will be applied on the next render pipeline regeneration, consistent with the branch's pre-merge state.Vitest CI fixes
After the merge, the
Unit Tests (Vitest)job reported 7 failures (2 files). These were pre-existing onmain, introduced by commitf41c7307"Refine narrative aggregation for reader-friendly flow", which renamed reader labels and section titles and changedorder.tsbut left two test files (and one consumer) unaligned. Both root causes were fixed:scripts/check-headline-quality.ts(source fix, 3 tests) — Rule E (which flags H1s that merely echo the subfolder slug) was routing through the renderer'sprettifyFallbackTitle, whose curatedCATEGORY_FALLBACK_TITLESmap turns slugs likepropositionsinto engaging titles ("Government Bills — Swedish Legislative Agenda") and thereby defeated the bare-slug detection. Added a local plain slug→Title-Case prettifier (prettifySlugSegment) used byprettifySubfolderPathand the leaf comparison, and removed the now-unused import. Rule E once again flags lazy slug-echo H1s for curated subfolders.tests/article-aside.test.ts(test fix, 4 tests) — updated stale string expectations to matchf41c7307's deliberate, merged renames (BLUF → "Lede and editorial decisions";political-classification→#rm-deep-dive-political-classification;classification-results→rm-deep-dive-classification-results).f41c7307updatedrender-lib.test.ts/render-lib-leaf-modules.test.tsbut missed this file; all structural assertions remain intact.Verified: both files green in isolation (36/36, 18/18), related batch (render-lib, render-lib-leaf-modules, political-context) 382/382,
tsctypecheck clean, and fullnpm testreports 0 failures.CI build timeout extension
The
Test News / Build for News Testsjob was cancelled after 15m, which then skipped its dependentNews & Sitemap Testsjob. Investigating the Actions logs showed the sharednpm run buildstep now takes ~14m42s on its own (it renders ~5,400 pages — 391 subfolders × 14 languages), pushing the full build job (checkout +npm ci+ build + artifact upload) to ~17min — past the 15-min cap. The passingBuild Test (Vite)job (no timeout cap) confirmed the build genuinely needs ~17min..github/workflows/test-news.yml— build jobtimeout-minutes15 → 25..github/workflows/test-homepage.yml— build jobtimeout-minutes15 → 25 (identical build, same cap, same risk).25min gives ~8min of durable headroom over the observed ~17min job as the news corpus keeps growing. On performance: the build hot spot is the CPU-bound unified/remark/rehype markdown pipeline, where bounded
Promise.allconcurrency gives no real wall-clock gain (single-threaded, no I/O to overlap) and would risk the render test suite; true parallelism would require aworker_threadsrewrite, so the safe, deterministic timeout fix was chosen instead. CodeQL (actions) scan reports 0 alerts.