Catala ecosystem maturity 2026-04-25
Discovered via library+web research during Catala spec Topic 1 scope-approval (11th session auto-deep-dive win).
The three discoveries
1. catala-explain — production explicability module
Repository: github.com/CatalaLang/catala-explain
Purpose: “A module for explicability from the trace of a catala program.”
Output: .docx (Word) documents with:
- Execution trace rendered as explanatory narrative
- User inputs mapped to input schema definitions
- Selected computational output highlighted
- Hyperlinks to source code definitions in the Catala program
API: CatalaExplain.generate(events, inputs, inputSchema, config, sourceCodeURL)
Structural significance: Catala ecosystem has ALREADY separated explanation-trace into a distinct module, validating InheritKit Catala spec’s CatalaResult-as-first-class-component choice (δ scope-approval 88.6%).
2. Catala v1.0.0 (Nov 2024) + v1.1.0 “bac d’Eloka” (Jan 2026) — production stable
v1.0.0 (November 2024): first stable release; commitment to detailed changelogs + limited breaking changes.
v1.1.0 “bac d’Eloka” (January 2026): mature feature set:
- VSCode LSP integrates with Testing pane (available tests + results)
- Fully-fledged UI for creating and editing tests (tabular editor)
- JSON input/output support for debugging scopes
- Assertions can now be used anywhere inside expressions
- Error message customization via
#[error.message]attributes - Support for enumerations with hundreds of cases
- External modules now support externally-defined types
- Python backend generates more readable code
- Markdown file recognition (
.catala_en.md,.catala_fr.md) - “Allow access to intermediate variable states” (directly maps to CatalaResult trace structure)
Prior versions (0.9.0-0.10.0): module support with cross-module struct/enum handling, closure conversion, R backend addition.
Significance: Previously-noted risk (“Catala team is a 5-person research group”) substantially mitigated. Production stability + broad backend support (OCaml / Python / JavaScript / R / TypeScript via SDK) = safe Phase-1 adoption.
3. catleg + pre-existing French inheritance work
Repository: github.com/CatalaLang/catleg — “Development tools for catala programming in the context of French legislative texts.”
Purpose: Official CatalaLang tooling for French legislative integration — provides URI conventions + document references for Catala programs citing French statutes.
Pre-existing French inheritance work: Per [Q-MERI-238A72AA6D] in library notes, a lawyer from the original Catala user study later joined the project to model French inheritance law in Catala. Direct prior art for INHERIT.
Significance: Phase-C Step 2 Akoma Ntoso spec has ecosystem prior-art to reference (catleg URI patterns). Phase-C Catala spec has direct INHERIT-adjacent precedent (French inheritance modelling).
Framing shift
Previous architectural framing (Catala spec brief v1.0): “Language introduction — InheritKit adopts Catala as DSL for encoding legal rules.”
Research-grounded framing (post-discoveries): “Ecosystem integration — InheritKit integrates with mature Catala production ecosystem, following its module-separation patterns (CatalaResult ↔ catala-explain), leveraging its stable release cycle (v1.0/v1.1), adopting its legislative-integration tooling (catleg).”
Why this matters
The framing shift affects:
- Amendment discipline: Less need to invent Catala-adjacent primitives; more AC-1 reuse of existing Catala ecosystem artifacts
- Commercial pitch: Shifts from “we introduced Catala to legal-tech” to “we integrate with Catala production ecosystem” — lower invention-risk, higher credibility
- Timeline: Phase-1 Catala authoring can begin earlier (parallel with T-Box/SHACL) since the language is stable
- SDK design: InheritKit SDK binds to Catala v1.0.0+ stable API
- A-21 CI: Catala-specific gates use v1.1.0+ tooling
How to apply
When authoring Catala spec downstream Topics 2-9:
- Reference v1.1.0 capabilities rather than POPL 2021 paper
- Use catala-explain separation pattern for explanation-trace architecture
- Lock Topics 5 + 6 via ratification (A-55 MaturityScheme + OCaml/TypeScript backends) — ecosystem maturity removes contentious options
When authoring Phase-C Step 2 Akoma Ntoso:
- Reference catleg URI patterns as normative precedent
When authoring Phase-C Step 3 SSI:
- Bind VerifiableCredentials to CatalaResult output structure
When authoring Phase-C Step 4 Commercial:
- Frame commercial tiers around catala-explain
.docxartifact delivery
Related memories
project_catala_review_plan_2026_04_25— 14 improvement opportunities derived from these discoveriesproject_catala_explain_as_commercial_artifact—.docxcommercial framing implicationsfeedback_library_web_research_narrow_margins— 11th auto-deep-dive win pattern that surfaced theseproject_ai_vendor_commercial_model— updated with explanation-artifact reframingproject_policy_as_code_strategic_context— PaC architectural context (Ray Policy-as-Code book)
Sources
github.com/CatalaLang/catala-explaingithub.com/CatalaLang/catala/releases(v1.0.0 Nov 2024 + v1.1.0 Jan 2026)github.com/CatalaLang/catleg~/off-github/library/indexed/merigoux-catala-popl2021/notes.md(Q-MERI-238A72AA6D)