Skip to content

Read article SEO directly from executive-brief.md; make article.md body-only#2725

Merged
pethers merged 11 commits into
mainfrom
copilot/improve-news-titles-descriptions
May 24, 2026
Merged

Read article SEO directly from executive-brief.md; make article.md body-only#2725
pethers merged 11 commits into
mainfrom
copilot/improve-news-titles-descriptions

Conversation

Copilot AI commented May 24, 2026

Copy link
Copy Markdown
Contributor
  • Read article SEO directly from executive-brief.md; make article.md body-only
  • Fix no-misleading-character-class ESLint errors in scripts/check-headline-quality.ts (add u flag to boilerplate-prefix regexes containing emoji surrogate pairs)
  • Fix typecheck failures (Dirent<NonSharedBuffer> / errorLineNumber: number | null / unused MermaidBlock import) in scripts/fix-mermaid-diagrams.ts, scripts/validate-mermaid-diagrams.ts, and scripts/validators/mermaid-diagrams/index.ts so the PR-only TypeScript & JavaScript Testing workflow type-checks cleanly under @types/node 25.9
  • npm run lint clean (only the pre-existing unrelated build-csv-contracts-fixture.ts warning remains)
  • npx tsc -p tsconfig.scripts.json --noEmit clean
  • npm test passes (6091 tests, exit 0)

…iling-token strip

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title fix(seo): make brandTitle per-language SERP-budget aware + harden trailing-token strip fix(seo): make brandTitle per-language SERP-budget aware May 24, 2026
Copilot AI requested a review from pethers May 24, 2026 16:31
@github-actions github-actions Bot added documentation Documentation updates size-xs Extra small change (< 10 lines) labels May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🏷️ Automatic Labeling Summary

This PR has been automatically labeled based on the files changed and PR metadata.

Applied Labels: documentation,size-xs

Label Categories

  • 🗳️ Content: news, dashboard, visualization, intelligence
  • 💻 Technology: html-css, javascript, workflow, security
  • 📊 Data: cia-data, riksdag-data, data-pipeline, schema
  • 🌍 I18n: i18n, translation, rtl
  • 🔒 ISMS: isms, iso-27001, nist-csf, cis-controls
  • 🏗️ Infrastructure: ci-cd, deployment, performance, monitoring
  • 🔄 Quality: testing, accessibility, documentation, refactor
  • 🤖 AI: agent, skill, agentic-workflow

For more information, see .github/labeler.yml.

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions github-actions Bot added html-css HTML/CSS changes translation Translation updates rtl RTL language support (Arabic, Hebrew) testing Test coverage news News articles and content generation labels May 24, 2026
…flow flag

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@github-actions github-actions Bot added workflow GitHub Actions workflows ci-cd CI/CD pipeline changes labels May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title fix(seo): make brandTitle per-language SERP-budget aware Phase 2: harden brief keywords, strict header CI gate, content-side headline-quality validator May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Start phase 3 with scoped headline QA in article generation Localized newsroom date prefix/dateline for SEO uniqueness across 14 languages May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Localized newsroom date prefix/dateline for SEO uniqueness across 14 languages Drop date prefix from SEO title/description; source SEO from executive briefs May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

…cle.md frontmatter

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Drop date prefix from SEO title/description; source SEO from executive briefs Read article SEO directly from executive-brief.md; make article.md body-only May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@pethers

pethers commented May 24, 2026

Copy link
Copy Markdown
Member

@copilot analyse and improve code quality and test failing checks
Quality Checks / typescript-lint (pull_request)
Quality Checks / typescript-lint (pull_request)Failing after 2m
TypeScript & JavaScript Testing / Node.js Nightly Compat (pull_request)
TypeScript & JavaScript Testing / Node.js Nightly Compat (pull_request)Failing after 2m
TypeScript & JavaScript Testing / Unit Tests (Vitest) (pull_request)
TypeScript & JavaScript Testing / Unit Tests (Vitest) (pull_request)Failing after 3m

…n mermaid script types with @types/node 25.9

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>

Copilot AI commented May 24, 2026

Copy link
Copy Markdown
Contributor Author

@copilot analyse and improve code quality and test failing checks
[Quality Checks / typescript-lint (pull_request)](https://github.com/Hack23/riksdagsmonitor/actions/runs/26372987026...

Root causes identified and fixed in the latest commit:

  1. Quality Checks / typescript-lintscripts/check-headline-quality.ts (added in this PR) had 8 no-misleading-character-class errors because the boilerplate-prefix regexes embed emoji (📋📰🎯⚡🧭) inside a character class without the u flag. Added u to both regexes.
  2. Unit Tests (Vitest) / Node.js Nightly Compat — both jobs were skipping the Vitest step because tsc -p tsconfig.scripts.json --noEmit (step 8) failed. The errors live in mermaid scripts that were merged in from main but only trip under the PR-triggered Node 26 + @types/node 25.9 combo (main's push-trigger workflow doesn't run this typecheck, so they slipped in unnoticed):
    • Dirent<NonSharedBuffer> vs Dirent<string> from readdirSync({withFileTypes:true}) → explicitly typed entries as Dirent[] in scripts/fix-mermaid-diagrams.ts + scripts/validate-mermaid-diagrams.ts.
    • Local errorLineNumber?: number widened to number | null to match MermaidFileViolation.
    • Removed the unused MermaidBlock import in scripts/validators/mermaid-diagrams/index.ts (noUnusedLocals).

Verified locally:

  • npm run lint → 0 errors (only the pre-existing unrelated build-csv-contracts-fixture.ts no-console directive warning remains)
  • npx tsc -p tsconfig.scripts.json --noEmit → clean
  • npm test → all 6091 tests pass, exit 0

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@pethers
pethers marked this pull request as ready for review May 24, 2026 22:00
Copilot AI review requested due to automatic review settings May 24, 2026 22:00

Copilot AI 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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@pethers
pethers merged commit fb25411 into main May 24, 2026
21 of 22 checks passed
@pethers
pethers deleted the copilot/improve-news-titles-descriptions branch May 24, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-cd CI/CD pipeline changes documentation Documentation updates html-css HTML/CSS changes news News articles and content generation rtl RTL language support (Arabic, Hebrew) size-xs Extra small change (< 10 lines) testing Test coverage translation Translation updates workflow GitHub Actions workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants