Skip to content

feat: verify death declaration deadline from Guichet source#35

Merged
TommiLindfors merged 1 commit into
clarvia-org:mainfrom
HirenGajjar:feat/verify-death-declaration-deadline
May 25, 2026
Merged

feat: verify death declaration deadline from Guichet source#35
TommiLindfors merged 1 commit into
clarvia-org:mainfrom
HirenGajjar:feat/verify-death-declaration-deadline

Conversation

@HirenGajjar
Copy link
Copy Markdown
Collaborator

Closes #28


Understanding the task

The data/deadlines/lu/death-declaration-deadline.yaml file had a placeholder in the text field and null for duration — meaning Clarvia could not tell grieving families how long they have to declare a death. This is one of the most time-sensitive obligations after a loss, so getting it right from an official source is critical.


Files read before making any changes

1. data/deadlines/lu/death-declaration-deadline.yaml
The existing file. duration was null, text was a placeholder, verification_status was discovered. The trigger was already correctly set to date_of_death.

2. schemas/v0.1/deadline.schema.json
Read carefully before writing anything. The duration field schema is:

"duration": {
  "required": ["value", "unit"],
  "properties": {
    "value": { "type": "number" },
    "unit": { "enum": ["hours", "days", "weeks", "months", "years"] }
  }
}

This is an object with value and unit — not an ISO 8601 string. The issue description suggested using P1D (ISO 8601 format) but that would fail schema validation immediately. The schema is the source of truth, not the issue description.

3. https://guichet.public.lu/en/citoyens/life-event/famille-education/deces-proche.html
The official Luxembourg government source already linked in the file. Under the section "Declaration of death to the local authorities":

"The death must be declared within 24 hours to the civil registrar's office in the commune where it occurred."

This is explicit, unambiguous, and from an official government portal. No interpretation required.


Why value: 24, unit: hours and not value: 1, unit: days

The Guichet source uses "24 hours" explicitly — not "1 day" or "next working day". Encoding it as hours preserves the precision of the official source. Rounding to days would lose that specificity and could be misleading for a family trying to understand their actual legal window.


Why exceptions: []

The official Guichet source page does not state any exceptions to the 24-hour rule in the section covering the declaration deadline. Encoding exceptions that are not stated in the source would be adding unverified information. Left empty — can be updated if a source-backed exception is found.


Schema compliance note

The issue description suggested ISO 8601 duration format (P1D). This would fail python3 scripts/validate.py because the schema requires an object, not a string. All field values in this PR are confirmed valid against schemas/v0.1/deadline.schema.json before committing.


Source evidence

Page: https://guichet.public.lu/en/citoyens/life-event/famille-education/deces-proche.html
Section: "Declaration of death to the local authorities"
Exact quote: "The death must be declared within 24 hours to the civil registrar's office in the commune where it occurred."


Changes made

  • duration: null{value: 24, unit: hours}
  • text: placeholder → verified human-readable deadline statement
  • verification_status: discoveredstructured-from-source
  • provenance.updated_at: 2026-05-24
  • provenance.updated_by: HirenGajjar
  • notes: updated to reflect source and reasoning

Verified

  • python3 scripts/validate.py — passes (8 data files)
  • Trailing newline present
  • 1 file changed, 8 insertions, 6 deletions
  • Source file data/sources/lu/guichet-death-life-event.yaml untouched and verified clean

@TommiLindfors TommiLindfors merged commit 6142d00 into clarvia-org:main May 25, 2026
1 check passed
@TommiLindfors
Copy link
Copy Markdown
Contributor

Merged! Outstanding work @HirenGajjar.

The standout here is that you caught the schema mismatch in the issue description — the issue suggested ISO 8601 duration format (P1D) but the schema actually requires an object with value and unit. You read the schema first, used the correct format, and documented why. That's exactly the kind of careful, schema-aware work that keeps Clarvia's data valid.

Also good reasoning on 24 hours vs 1 day — preserving the source's exact language is the right call.

Six merged PRs. You should have received collaborator invitations (write access) to both repos — check your GitHub notifications if you haven't already. That means you can push branches directly without forking.

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.

Verify: death declaration deadline from Guichet source

2 participants