Skip to content

release: bilingual dora kb — french working translation (#424 phase 2)#432

Merged
AndreLiar merged 1 commit into
mainfrom
dev
Jun 14, 2026
Merged

release: bilingual dora kb — french working translation (#424 phase 2)#432
AndreLiar merged 1 commit into
mainfrom
dev

Conversation

@AndreLiar

Copy link
Copy Markdown
Owner

Promotes #424 phase 2 to production (squash-merged to dev in #431).

What ships

  • French DORA knowledge base (dora-articles.fr.json, 58 entries) — a labeled, non-official working translation.
  • Language-filtered retrieval: French users get French regulation snippets; falls back to English when a French chunk is missing.
  • formatSources now prefers metadata.url over the 'regulation' category tag — this also retroactively fixes phase 1's EUR-Lex link, which was being shadowed and never reached the UI.
  • "Working translation" badge on unofficial chunks (en/fr).

Trust

The authoritative text remains the official EUR-Lex French version, linked on every citation. The machine translation is never presented as the regulation itself.

Deploy

CD re-seeds compliance_kb automatically (smart-sync, detached): point count 58 → 116 triggers a re-embed (~20 min, non-blocking). No manual ops step.

All CI green on #431 (backend, frontend, E2E, docker build, security audit).

… phase 2) (#431)

* feat(rag): bilingual dora kb — labeled french working translation (#424 p2)

french users now get regulation snippets in french, not just a french answer over
english source text. the kb is seeded in both languages and retrieval prefers the
user's locale, falling back to english when a french chunk is missing.

- translateComplianceKb: generates dora-articles.fr.json (working llm translation),
  flagged official:false with an eur-lex disclaimer + source url
- seedComplianceKb: loads en + fr files, tags each chunk metadata.lang / official
- complianceKbRetriever: language-filtered search (fr -> en -> unfiltered fallback),
  carries metadata.official through to the source object
- contextFormatter.formatSources: prefer metadata.url over the 'regulation' category
  tag (this also makes phase 1's eur-lex link actually reach the ui) + expose official
- frontend: Source.official type + a "working translation" badge on unofficial chunks,
  en/fr i18n strings
- unit tests: lang filter + en fallback, url precedence, official flag pass-through

the french text is a labeled non-official working translation; the authoritative
text stays the official eur-lex french version, linked on every citation.

* ci: correct compliance kb seed comment to 116 entries (58 en + 58 fr)
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@AndreLiar AndreLiar merged commit 7d2a93c into main Jun 14, 2026
14 checks passed
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.

2 participants