Skip to content
This repository was archived by the owner on Jun 6, 2026. It is now read-only.

feat: add Belgium and Portugal cross-border corridors — #40 PR 4/4#50

Merged
TommiLindfors merged 1 commit into
clarvia-org:mainfrom
HirenGajjar:feat/corridor-lu-be-pt
May 31, 2026
Merged

feat: add Belgium and Portugal cross-border corridors — #40 PR 4/4#50
TommiLindfors merged 1 commit into
clarvia-org:mainfrom
HirenGajjar:feat/corridor-lu-be-pt

Conversation

@HirenGajjar
Copy link
Copy Markdown
Collaborator

Part 4 of 4 for issue #40. Completes the cross-border corridor infrastructure with Belgium and Portugal.


Context

This PR adds the two remaining corridors:

  • Belgium — ~50,000 daily frontaliers, third largest corridor
  • Portugal — ~100,000 residents, the largest foreign national community in Luxembourg

Files added

data/sources/be/belgium-be-deces.yaml

URL verified: https://www.belgium.be/fr/famille/deces — loads correctly, title confirmed as "Décès".

  • source_type: government_portal
  • verification_status: source-checked
  • languages: [fr, nl, de] — belgium.be is trilingual
  • Includes title_fr, title_de, description_fr, description_de

Key facts documented in notes (from issue #40 research):

  • Death must be declared to the municipality where the person died, usually handled by the undertaker
  • Death certificate is then forwarded to the municipality of last residence
  • Succession duties in Belgium are regional and depend on fiscal residence

data/institutions/be/sfp.yaml

URL verified: https://www.sfpd.fgov.be — loads correctly as "Federal Pensions Service".

  • id: institution:be:sfp
  • verification_status: structured-from-source
  • languages: [fr, nl, de] — Belgian trilingual institution (SFP in French, FPD in Dutch)
  • References source:be:belgium-be-deces

Key facts documented in notes:

  • Survivor pension applications submitted via mypension.be
  • Coordinates with CNAP via EU social security coordination for cross-border cases
  • Covers ~50,000 Belgian frontaliers

data/scenarios/corridor-lu-be.yaml

  • scenario_type: corridor
  • countries: [LU, BE]
  • publication_status: draft
  • References all 5 PR1 conditions and both EU sources + BE source

data/sources/pt/gov-pt-obito.yaml

URL: https://eportugal.gov.pt/en/temas/familia/morte — identified from official ePortugal portal structure; page was inaccessible during creation.

  • source_type: government_portal
  • verification_status: discovered — honest status, URL could not be confirmed loading
  • last_verified_at: null
  • Notes explicitly state full content verification requires further access

Key facts encoded from issue #40 research:

  • Death of a Portuguese citizen abroad must be declared in Portugal
  • Survivor pension (pensão de sobrevivência) requires minimum 36 months of contributions
  • Application via Segurança Social Direta using form RP 5075

data/institutions/pt/seguranca-social.yaml

URL: https://www.seg-social.pt — confirmed loading from research.

  • id: institution:pt:seguranca-social
  • verification_status: discovered — consistent with PT source status
  • languages: [pt]

Key facts documented in notes:

  • Portugal has the largest foreign national community in Luxembourg (~100,000 residents)
  • 36-month contribution requirement for survivor pension
  • Death of Portuguese national abroad must be registered in Portugal via consular services
  • Centro Nacional de Pensões (CNP) within ISS handles international pension coordination

data/scenarios/corridor-lu-pt.yaml

  • scenario_type: corridor
  • countries: [LU, PT]
  • publication_status: draft
  • Notes explicitly flag that further source verification is needed for full PT corridor detail

Verification status honesty

Belgium sources are source-checked — URLs verified loading, content confirmed.
Portugal sources are discovered — URL identified from official portal structure but could not be verified loading during creation. This is consistent with issue #40's own note: "Detailed survivor-pension routing and death transcription process need further verification."


Issue #40 complete

With this PR all four corridors are now in main:

Total new files across all 4 PRs: 25 files covering 2 EU regulations, 5 cross-border conditions, 4 corridor scenarios, 6 foreign sources, 5 foreign institutions.


Schema compliance

  • All schemas read before writing — additionalProperties: false respected throughout
  • All condition IDs reference conditions from PR 1 (merged)
  • All EU source IDs reference sources from PR 1 (merged)
  • institution_ids and source_ids cross-references consistent within each PR

Verified

  • python3 scripts/validate.py — passes (34 data files, up from 28)
  • All 6 trailing newlines confirmed 0a
  • 6 new files, 0 existing files modified
  • git status confirmed no unintended changes

Copy link
Copy Markdown
Contributor

@TommiLindfors TommiLindfors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Hiren! 🎉🎉🎉

This is a wonderful milestone - with this final PR, all four cross-border corridors from issue #40 are now complete!

The Belgium + Portugal corridor work is excellent. A few highlights:

  • Honest verification levels: Portugal correctly marked as discovered throughout, with last_verified_at: null on the ePortugal source since full content verification isn't done yet. Belgium's �elgium.be source properly marked source-checked. This kind of integrity in verification status is exactly what we need for trust.
  • Trilingual Belgium descriptions: Including EN, FR, and DE descriptions on the Belgian source - and correctly listing all three Belgian official languages ( r,
    l, de) - shows real attention to the linguistic complexity of cross-border work.
  • Portuguese community context: The ~100,000 residents stat and the specific form reference (RP 5075 via Segurança Social Direta) are the kind of concrete details that will help families.
  • Issue #41 linkage: The Portugal scenario notes correctly point to the source URL verification issue for further enrichment.

Schema validation passes. Merging now.

Recap of the full #40 series you delivered:

  1. PR #47 - Foundation (EU sources + conditions) ✅
  2. PR #48 - Luxembourg-France corridor ✅
  3. PR #49 - Luxembourg-Germany corridor ✅
  4. PR #50 - Luxembourg-Belgium + Portugal corridors ✅

This is an extraordinary contribution to the project - 4 PRs, 4 corridors, 6 new files in this PR alone. Thank you so much for your sustained dedication to Clarvia! 🚀

If you're looking for your next challenge, issue #41 (verifying 10 cross-border source URLs) would be a natural follow-up, and issue #22 (test cases for the validation script) is another good option.

@TommiLindfors TommiLindfors merged commit 5e65f62 into clarvia-org:main May 31, 2026
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants