Books / Law as Code in Practice: French Family Benefits / Chapter 1
Part II · Chapter 1
Sources and Editions: Which French Text Applies on Which Date

Contents of Law as Code in Practice: French Family Benefits
By the end you can distinguish the date a question concerns from the date it was recorded, and identify the publication behind an answer.
Lawyer: which edition applies.
Analyst: which income window changes.
Developer: how a result remains attached to its source bytes.
The family’s question
The Garniers ask: “If you reopen an older month, do you use today’s rules?” Predict the answer before reading on. To isolate the change, we switch cards to a fictional single tenant, with two files: TenantDecembre and TenantJanvier. These are resource questions, not a calculation of the housing payment.
The dated text
Article R. 822-3 CCH, in the pinned edition applying in December 2020, says:
L’année civile de référence est l’avant-dernière année précédant la période de paiement.
English gloss: the reference calendar year is the second year before the payment period. Ressources retenues → resources counted → ressources_retenues.
For the salary records used here, point 1° of the January 2021 edition uses the following reference period. Other income categories follow the periods specified in points 2° and 3°:
courant du treizième au deuxième mois précédant la date d’ouverture ou de réexamen du droit à l’aide personnelle au logement
English gloss: from the thirteenth to the second month before the right is opened or reviewed. The editions are separate pinned publications: December text and January text.
In the model
The post-reform tenant rule includes an effective window:
rule RessourcesRetenuesCalculeesLocatif(m: Menage, debut: Date, fin: Date, montant: Money) strict {
effective [@2021-01-01, infinity);
when secteur_locatif(m) and ressources_du_menage_calculee(m, debut, fin, montant);
then ressources_retenues(m, div_round(montant, 100.0, 0, "CEILING") * 100);
}
Labels and source anchors are left out. The rule’s start date prevents this construction from applying to the December question. Each file has its own legal_time; recording both files today does not change their legal dates.
Two answers
| File and legal date | Resources established | What was supplied |
|---|---|---|
| TenantDecembre, 15 December 2020 | €12,000 | The earlier reference-year resources |
| TenantJanvier, 15 January 2021 | €16,200 | Twelve monthly salaries and explicit facts about other relevant income |
Recorded on 11 October 2026 with law 0.1.12. The January file contains six monthly salaries of €1,000 and six of €2,000; the model applies the resource construction and deduction. These amounts are not the tenant’s APL payment. This is a before/after illustration of the reference method, with different representations of the relevant income, not a controlled experiment changing the date alone.
Change one thing
Open the January resource file beside the December file. The new edition needs monthly records for the reference window; changing a date without supplying those records does not establish the new resource total. That is the practical answer to the Garniers: an older question keeps the edition applicable to its month, and the evidence needed by that edition.
What this gives the fund
A reviewer can ask which text and income window produced an answer without relying on the current screen or on someone’s recollection. The case materials preserve both R. 822-3 editions with SHA-256 fingerprints. Read those publication records alongside the dated query and the proof of the calculation.
Where Catala stands on this
Catala keeps legal text beside executable code and supports dates (Catala book, introduction and ch. 5.2). Arxo provides built-in declarations for source anchors and pinned publications. The Catala 1.3.0 book does not describe that publication-binding form. In this example, the edition records are preserved with the case materials; the saved answers demonstrate the calculations. A fingerprint identifies saved bytes; legal interpretation requires a separate review. The fund can preserve the publication records with the dated file and distinguish later source changes without relying on recollection.
Explore the recorded files
The housing-resource reform scene shows the same source transition, recorded on 9 October 2026. The two questions above were run again locally:
From a local checkout with law and Python 3.12+ installed, start at the repository root:
cd corpus/laws/fr/apl/examples/editions-2021
law ask . --case TenantDecembre --query-json queries/TenantDecembre-resources-tenantdecembre.json --out "$(mktemp -d)"
law ask . --case TenantJanvier --query-json queries/TenantJanvier-resources-tenantjanvier.json --out "$(mktemp -d)"
In this edition the examples run from case packages in a checkout of the Arxo repository (Appendix D).
Exercise
- Does €16,200 tell you the housing payment?
- Which date selects the edition: the question’s legal date or today’s recording date?
- What must accompany an edition change besides a new date?