catala-explain .docx as InheritKit commercial artifact

🟢 POST-2026-04-26 EMPIRICAL VERDICT — catala-explain WORKS (T81 inference superseded)

The T81 inference of “high probability broken” was WRONG. Empirical spike 2026-04-26 (~60 min orchestrator-time) verified:

  1. catala-explain compiles cleanly against current ReScript 12.2.0 + npm-installable deps (31/31 ReScript files; exit 0)
  2. rescript-catala source code is BYTE-IDENTICAL between the npm version (@catala-lang/rescript-catala@0.8.1-b.0; May 2023; consumed by catala-explain) and the in-tree source at runtimes/rescript/src/CatalaRuntime.{res,resi} at Catala git-tag 1.1.0 (Jan 2026)
    • md5: dd7656b086ab0d60db5e28605141cb51 (.resi) + eb021d869e63c64a00e69199a77fa8d1 (.res)
  3. @catala-lang/french-law@0.10.0 (current Catala-runtime; Jul 2025) produces trace events that match the rescript-catala type schema EXACTLY — captured 143 raw events with structure {eventType, information, loggedIOJson, loggedValueJson, sourcePosition} matching Raw.eventSerialized declared in CatalaRuntime.resi
  4. The Catala team stopped publishing the ReScript-runtime npm package but kept it in-tree in the catala monorepo. The “ecosystem dormant” framing applies at the npm-publication-cadence level only; the source code + runtime ABI are aligned.

Original “production-mature, separately maintained” framing in this memory was MORE ACCURATE than T81’s correction. Just needed clarification that “maintained” = in-tree, not as standalone npm publication.

Adoption decision (Phase-1):

  • Pin @catala-lang/catala-explain@0.2.5 + @catala-lang/rescript-catala@0.8.1-b.0 in InheritKit Tier-3 IAS dependencies
  • Author smoke-test integration: minimal Catala program → events → catala-explain → assert valid .docx
  • Add smoke-test to InheritKit CI as regression gate
  • Quarterly upstream watch for rescript-catala npm publication resumption
  • Defer port/rebuild to Phase-2 UNLESS smoke-test ever fails

Engineering effort revised down: ~1-2 days for smoke-test + CI gate (vs T81’s “4-8 week port/rebuild” inference). AI-vendor commercial moat preserved without budget impact.

The Phase-1 + Phase-2 commercial-tier framework in this memory (Free / Pro / Enterprise / AI-Vendor pricing tiers around .docx delivery) all stand. Per-query .docx artefact is recoverable today.

Cross-references:

  • ~/off-github/library/projects/inherit/spike-catala-explain-2026-04-26/findings.md v1.0 — full empirical-verification spike report (md5-identical source diff + runtime trace capture)
  • T81-catala-linkml-beta-2026-04-26.md — original freshness-check (now superseded by spike empirical evidence)
  • T36-DEEP-CATALA-ECOSYSTEM-notes.md v1.1 §0 — to be re-revised with empirical verdict
  • T57-catala-formal-verification-production.md v1.1 — to be re-revised
  • arch-state v2.55 changelog row + (pending) v2.56 row recording the empirical verdict
  • Project CLAUDE.md beta-versions willingness discipline (2026-04-26)

Original memory content (preserved as authored — see correction above)

Discovered via web research during Catala spec Topic 1 scope-approval (2026-04-25). The github.com/CatalaLang/catala-explain production module changes the InheritKit commercial value proposition.

What catala-explain produces

.docx (Microsoft Word) documents containing:

  • Execution trace rendered as human-readable narrative
  • User inputs mapped to input schema definitions (labelled)
  • Selected computational output highlighted
  • Hyperlinks to source code definitions (Catala source)
  • Configurable title / description / creator

Why this is the commercial differentiator

Prior commercial framing (per project_ai_vendor_commercial_model pre-2026-04-25):

  • AI-vendors pay for access to INHERIT schema + InheritKit rules
  • Value prop: “LLMs hallucinate legal reasoning; InheritKit does it correctly”
  • Pricing: per-query API calls to InheritKit engine

New commercial framing (post-catala-explain discovery):

  • AI-vendors pay for Catala-backed legal reasoning + per-query .docx explanation artifacts
  • Value prop: “LLMs hallucinate legal reasoning AND cannot explain their work. InheritKit produces deterministic legal reasoning WITH lawyer-readable explanations that satisfy AI-safety explainability requirements”
  • Pricing: per-query with explanation-tier differentiation

Why AI-safety teams need this specifically

AI-safety explainability requirements for legal-domain AI:

  • OpenAI’s Usage Policies / Enterprise Compliance require explanation trails for regulated-domain outputs
  • Anthropic’s Constitutional AI approach needs justifiable reasoning chains for legal claims
  • Google’s AI Principles require “appropriate human control” for legal reasoning
  • Meta / xAI increasingly face jurisdictional-regulator pressure on AI legal reasoning

What .docx explanation artifacts deliver:

  • Verbatim prose-law paragraphs alongside computed outcomes
  • Applied-rule trace showing which exception fired when
  • User input recap for reproduction
  • Hyperlinks to source legislation (via Akoma Ntoso URI integration)
  • Human-auditable format (Word) rather than JSON debug logs

This is structurally what AI-safety teams need. Not a nice-to-have.

Proposed InheritKit commercial tiers

TierOutputPrice range (indicative; subject to Phase-C Step 4 analysis)
FreeRaw CatalaResult (JSON values only)£0
ProCatalaResult + catala-explain .docx per query£X/query or £Y/month flat
EnterpriseAbove + custom InheritKit-branded .docx templates + partner-crate jurisdictional-localisation + SLA£Z/year
AI-VendorAbove + programmatic .docx streaming API + audit-pack for AI-safety-review + white-labelling£500k+/year custom terms (matches iText precedent per Route 1)

(Specific pricing remains Phase-C Step 4 decision; this is structural tier framework.)

Why this reframing is structurally stronger

  1. AI-vendors can’t easily replicate. Building a Catala+catala-explain pipeline is substantially harder than scraping INHERIT schema docs. Moat deepens.
  2. Explanation-requirement alignment. Directly serves a need AI-vendors already have (explainability) rather than a hypothetical need (correctness).
  3. Per-query value scales with AI-vendor query volume. 100M+ users × 1M legal-estate queries/year × value-of-explanation per query = material revenue.
  4. Regulatory tailwind. Increasing jurisdictional regulation of AI reasoning (EU AI Act, UK AI White Paper, US EO 14110, Singapore’s Model AI Governance) creates compliance-driven demand for explainable legal reasoning.
  5. Partner-crate distribution channel. Jurisdictional partners (Scottish, Swiss, Islamic, Hindu, Jewish crates) each enable .docx in local language/legal-tradition — productising cross-jurisdictional explanation capability.

Three commercial routes (refined from prior framing)

Route 1 — Commercial licence for embedded use (unchanged): AI-vendor wants InheritKit + catala-explain running in their infrastructure → AGPL triggers → commercial licence required. iText precedent. £500k+/year.

Route 2 — Hosted metered API service (REFRAMED): TT operates hosted InheritKit API + catala-explain rendering. AI-vendor calls per user query. Per-call or per-user-per-month pricing. Per-call INCLUDES .docx artifact generation (Pro tier) — this is what differentiates TT’s hosted service from competitors.

Route 3 — Training-data-access charging (unchanged concern): Apache foundation forecloses directly; requires bifurcated pattern.

NEW Route 4 — Audit-as-a-service (emerges from .docx capability): AI-vendor publishes InheritKit-generated .docx explanations as audit trail. TT charges subscription for audit-pack assembly across queries. Regulatory-compliance adjacent.

How to apply

Phase-C Step 4 Commercial-model spec: frame commercial tiers around catala-explain .docx artifact delivery (not around schema/rules access in isolation).

AI-vendor first-contact pitch materials: lead with explainability value (“your legal AI outputs need audit trails; we produce them deterministically”).

Sourcemeta conversations (per project_sourcemeta_revenue_share_mcp): Sourcemeta MCP can serve Apache schema; TT-built MCP serves CatalaResult + catala-explain. Clean commercial split preserved.

Bruno Lowagie / iText commercial-terms research: expand to cover explanation-document-per-query pricing patterns.

What this DOES NOT change

  • Apache (INHERIT) + AGPL (InheritKit) licence boundary — unchanged
  • Three-track badging (INHERIT Contributor / InheritKit Certified / TT Partner) — unchanged structurally
  • Partner-crate architecture — unchanged; catala-explain integrates per jurisdiction
  • project_ai_vendor_commercial_model — prior framing; updated with this reframing
  • project_catala_ecosystem_maturity_2026_04_25 — 3 discoveries including catala-explain
  • project_catala_review_plan_2026_04_25 — 14 improvements identified
  • project_sourcemeta_revenue_share_mcp — Apache/InheritKit commercial split
  • project_three_track_badging — badging architecture preserved
  • project_inheritkit_concept — AGPL+commercial dual tier

Sources

  • github.com/CatalaLang/catala-explain
  • Rich’s Friday 17 April 2026 AI-vendor commercial conviction (per project_ai_vendor_commercial_model)
  • AI-safety explainability requirements (OpenAI usage policies + Anthropic Constitutional AI + Google AI Principles + EU AI Act regulatory context)