Context
The Luxembourg bereavement workflow currently contains data for a single jurisdiction. In practice, almost every family using Clarvia will face cross-border complexity: 47%% of Luxembourg residents are foreign nationals, ~225,000 frontaliers commute daily from France, Germany, and Belgium, and the Portuguese community (~100,000 residents) is the largest foreign nationality group.
The schema already supports cross-border scenarios (scenario_type: 'cross_border' and 'corridor') but no data uses them yet. This issue builds the infrastructure - scenarios, conditions, sources, and institutions - that cross-border workflows will plug into.
This is infrastructure only. No new tasks, no workflow modifications, no checklist content.
What to build
1. Corridor scenarios (4 new files)
Create one scenario per corridor in data/scenarios/:
corridor-lu-fr.yaml - Luxembourg - France (~120,000 frontaliers)
corridor-lu-de.yaml - Luxembourg - Germany (~55,000 frontaliers)
corridor-lu-be.yaml - Luxembourg - Belgium (~50,000 frontaliers)
corridor-lu-pt.yaml - Luxembourg - Portugal (~100,000 residents)
Each uses scenario_type: 'corridor', countries: ['LU', 'XX'], and references the conditions and sources created below. Follow scenario.schema.json.
2. Cross-border conditions (new files in data/conditions/)
Create conditions that trigger cross-border logic:
deceased-is-foreign-national.yaml - the deceased holds a non-LU nationality
deceased-is-frontalier.yaml - the deceased commuted across borders for work
survivor-resides-abroad.yaml - the surviving family member lives outside Luxembourg
assets-in-multiple-jurisdictions.yaml - the estate includes property or accounts in more than one country
repatriation-of-remains.yaml - the family wishes to transport the body or ashes to another country
Follow condition.schema.json.
3. EU-level source records (new files in data/sources/eu/)
Create source records for the key EU regulations:
brussels-iv-regulation.yaml - EU Regulation 650/2012 on cross-border succession (habitual residence rule, nationality choice, European Certificate of Succession)
social-security-coordination.yaml - EU Regulation 883/2004 on social security coordination (survivor pension routing across member states)
4. Foreign government source records
For each country, create source records for their official bereavement/administrative portals in data/sources/XX/:
France (data/sources/fr/):
service-public-deces.yaml - French bereavement guidance on service-public.gouv.fr
info-retraite-reversion.yaml - French survivor pension (pension de reversion) filing via Info Retraite
Germany (data/sources/de/):
drv-hinterbliebenenrente.yaml - DRV survivor pension (Hinterbliebenenrente) page
drv-rente-und-ausland.yaml - DRV cross-border pension services (Rente und Ausland)
Belgium (data/sources/be/):
belgium-be-deces.yaml - Belgian death registration and succession on belgium.be
Portugal (data/sources/pt/):
gov-pt-obito.yaml - Portuguese bereavement guidance on gov.pt (Family > death theme)
5. Foreign institution records
For each corridor, create institution records in data/institutions/XX/ for organisations a Luxembourg family would interact with:
France:
carsat.yaml - Caisse d'Assurance Retraite et de la Santé au Travail (survivor pension)
scec.yaml - Service central d'etat civil (death transcription for deaths occurring in Luxembourg)
Germany:
drv.yaml - Deutsche Rentenversicherung (survivor pension and cross-border pension services)
Belgium:
sfp.yaml - Service federal des Pensions / Federale Pensioendienst (survivor pension)
Portugal:
seguranca-social.yaml - Seguranca Social / Centro Nacional de Pensoes (survivor pension and social security)
Key research findings to encode
Our research (linked below) found these high-confidence facts to include in notes and descriptions:
France: Death abroad must be registered locally. French transcription of a Luxembourg death certificate goes via the Service central d'etat civil (SCEC). Survivor pension (reversion) can be claimed through a single online request on Info Retraite covering all base and complementary schemes. If filed within 1 year of death, start date is first day of month after death.
Germany: DRV has dedicated cross-border pension services ('Rente und Ausland') and international advisory days. Survivor pension requires marriage/partnership at death and 5-year qualifying period. 'Sterbevierteljahr': 3 months after death month, pension paid at deceased's full rate with no income offset.
Belgium: Death declared to municipality where person died (usually by undertaker). Certificate forwarded to municipality of last residence. Succession duties are regional and depend on fiscal residence.
Portugal: Official gov.pt portal has Family/death theme with English access. Funeral subsidy via CGA exists. Detailed survivor-pension routing and death transcription process need further verification (see issue #XX for source verification task).
PR strategy
Submit as 4 separate PRs, one per corridor:
- PR 1: EU-level sources + cross-border conditions (the shared foundation)
- PR 2: France corridor (scenario + sources + institutions)
- PR 3: Germany corridor (scenario + sources + institutions)
- PR 4: Belgium + Portugal corridors (scenarios + sources + institutions)
Or if you prefer, one PR per country after the foundation PR. Either way, the foundation PR must merge first since the corridor PRs reference its conditions and EU sources.
What NOT to build
- No new tasks (checklist content is a separate funded project)
- No modifications to
luxembourg-alpha.yaml (the workflow stays at 1 task)
- No publication status above
draft
- No hard-coded business rules for pension claiming or succession - only source records and institutional metadata
Schema guidance
- Read every schema in
schemas/v0.1/ before writing. All schemas use additionalProperties: false
- Source IDs follow pattern
source:XX:short-name where XX is the 2-letter country code
- Institution IDs follow pattern
institution:XX:short-name
- Scenario IDs follow pattern
scenario:corridor-name
- Condition IDs follow pattern
condition:descriptive-name
- Set
verification_status: 'structured-from-source' where you have a source URL you've verified loads correctly
- Set
verification_status: 'discovered' where the source exists but you could not fully verify the content
- Use the
notes field to document your source evidence and any caveats
Acceptance criteria
Difficulty
Large multi-PR research project. ~20-25 new files across 4 PRs. Requires reading foreign-language government portals and encoding findings as schema-compliant YAML. Builds directly on your experience with source research, institution records, and schema compliance from PRs #34, #35, #38, and #39.
Context
The Luxembourg bereavement workflow currently contains data for a single jurisdiction. In practice, almost every family using Clarvia will face cross-border complexity: 47%% of Luxembourg residents are foreign nationals, ~225,000 frontaliers commute daily from France, Germany, and Belgium, and the Portuguese community (~100,000 residents) is the largest foreign nationality group.
The schema already supports cross-border scenarios (
scenario_type: 'cross_border'and'corridor') but no data uses them yet. This issue builds the infrastructure - scenarios, conditions, sources, and institutions - that cross-border workflows will plug into.This is infrastructure only. No new tasks, no workflow modifications, no checklist content.
What to build
1. Corridor scenarios (4 new files)
Create one scenario per corridor in
data/scenarios/:corridor-lu-fr.yaml- Luxembourg - France (~120,000 frontaliers)corridor-lu-de.yaml- Luxembourg - Germany (~55,000 frontaliers)corridor-lu-be.yaml- Luxembourg - Belgium (~50,000 frontaliers)corridor-lu-pt.yaml- Luxembourg - Portugal (~100,000 residents)Each uses
scenario_type: 'corridor',countries: ['LU', 'XX'], and references the conditions and sources created below. Followscenario.schema.json.2. Cross-border conditions (new files in
data/conditions/)Create conditions that trigger cross-border logic:
deceased-is-foreign-national.yaml- the deceased holds a non-LU nationalitydeceased-is-frontalier.yaml- the deceased commuted across borders for worksurvivor-resides-abroad.yaml- the surviving family member lives outside Luxembourgassets-in-multiple-jurisdictions.yaml- the estate includes property or accounts in more than one countryrepatriation-of-remains.yaml- the family wishes to transport the body or ashes to another countryFollow
condition.schema.json.3. EU-level source records (new files in
data/sources/eu/)Create source records for the key EU regulations:
brussels-iv-regulation.yaml- EU Regulation 650/2012 on cross-border succession (habitual residence rule, nationality choice, European Certificate of Succession)social-security-coordination.yaml- EU Regulation 883/2004 on social security coordination (survivor pension routing across member states)4. Foreign government source records
For each country, create source records for their official bereavement/administrative portals in
data/sources/XX/:France (
data/sources/fr/):service-public-deces.yaml- French bereavement guidance on service-public.gouv.frinfo-retraite-reversion.yaml- French survivor pension (pension de reversion) filing via Info RetraiteGermany (
data/sources/de/):drv-hinterbliebenenrente.yaml- DRV survivor pension (Hinterbliebenenrente) pagedrv-rente-und-ausland.yaml- DRV cross-border pension services (Rente und Ausland)Belgium (
data/sources/be/):belgium-be-deces.yaml- Belgian death registration and succession on belgium.bePortugal (
data/sources/pt/):gov-pt-obito.yaml- Portuguese bereavement guidance on gov.pt (Family > death theme)5. Foreign institution records
For each corridor, create institution records in
data/institutions/XX/for organisations a Luxembourg family would interact with:France:
carsat.yaml- Caisse d'Assurance Retraite et de la Santé au Travail (survivor pension)scec.yaml- Service central d'etat civil (death transcription for deaths occurring in Luxembourg)Germany:
drv.yaml- Deutsche Rentenversicherung (survivor pension and cross-border pension services)Belgium:
sfp.yaml- Service federal des Pensions / Federale Pensioendienst (survivor pension)Portugal:
seguranca-social.yaml- Seguranca Social / Centro Nacional de Pensoes (survivor pension and social security)Key research findings to encode
Our research (linked below) found these high-confidence facts to include in notes and descriptions:
France: Death abroad must be registered locally. French transcription of a Luxembourg death certificate goes via the Service central d'etat civil (SCEC). Survivor pension (reversion) can be claimed through a single online request on Info Retraite covering all base and complementary schemes. If filed within 1 year of death, start date is first day of month after death.
Germany: DRV has dedicated cross-border pension services ('Rente und Ausland') and international advisory days. Survivor pension requires marriage/partnership at death and 5-year qualifying period. 'Sterbevierteljahr': 3 months after death month, pension paid at deceased's full rate with no income offset.
Belgium: Death declared to municipality where person died (usually by undertaker). Certificate forwarded to municipality of last residence. Succession duties are regional and depend on fiscal residence.
Portugal: Official gov.pt portal has Family/death theme with English access. Funeral subsidy via CGA exists. Detailed survivor-pension routing and death transcription process need further verification (see issue #XX for source verification task).
PR strategy
Submit as 4 separate PRs, one per corridor:
Or if you prefer, one PR per country after the foundation PR. Either way, the foundation PR must merge first since the corridor PRs reference its conditions and EU sources.
What NOT to build
luxembourg-alpha.yaml(the workflow stays at 1 task)draftSchema guidance
schemas/v0.1/before writing. All schemas useadditionalProperties: falsesource:XX:short-namewhere XX is the 2-letter country codeinstitution:XX:short-namescenario:corridor-namecondition:descriptive-nameverification_status: 'structured-from-source'where you have a source URL you've verified loads correctlyverification_status: 'discovered'where the source exists but you could not fully verify the contentnotesfield to document your source evidence and any caveatsAcceptance criteria
python3 scripts/validate.pypasses after each PRofficial_sitethat loadsDifficulty
Large multi-PR research project. ~20-25 new files across 4 PRs. Requires reading foreign-language government portals and encoding findings as schema-compliant YAML. Builds directly on your experience with source research, institution records, and schema compliance from PRs #34, #35, #38, and #39.