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 .docx artifact delivery
  • project_catala_review_plan_2026_04_25 — 14 improvement opportunities derived from these discoveries
  • project_catala_explain_as_commercial_artifact.docx commercial framing implications
  • feedback_library_web_research_narrow_margins — 11th auto-deep-dive win pattern that surfaced these
  • project_ai_vendor_commercial_model — updated with explanation-artifact reframing
  • project_policy_as_code_strategic_context — PaC architectural context (Ray Policy-as-Code book)

Sources

  • github.com/CatalaLang/catala-explain
  • github.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)