mtlm-router / catalog

Lane catalog

10 lanes · 19 packs · every tarball sha256-pinned · lane_install verifies before installing.

Certified = leak-free holdout eval stands behind the number. Demo = synthetic/partial corpus, live-verified but not a production claim. Generated from index.json — regenerated, never hand-edited.

Try a lane before installing — every lane below is also live on the hosted API: POST https://api.mtlm-router.intrane.fr/demo/route {"state":"…","text":"…","expert":"<lane>"} (rate-limited demo wallet, no signup) or pin "expert" on metered /v1/route. Lane list: /v1/lanes.

banking77@0.1.1

free · certified

51 routes: Refund_not_showing_up, activate_my_card, apple_pay_or_google_pay, automatic_top_up, balance_not_updated_after_bank_transfer, balance_not_updated_after_cheque_or_cash_deposit, beneficiary_not_allowed, cancel_transfer… · BANKING77-OOS (jianguoz/Few-Shot-Intent-Detection, PolyAI-LDN/task-specific-datasets): 5905 train / 2062 id-oos train; m7router3s384 frozen trunk; emit tools/emit_banking77.py

73.3% holdout (n=2000) · recommended floor conf≥0.7
python3 tools/lane_install.py banking77@0.1.1 --apply --appliance .

sha256: 1d84e6fafa525e66a380e27e… · pricing: free · try live →

civic@0.2.1

free · demo

14 routes: animals, drains_flooding, fly_tipping, graffiti_flyposting, oos, other, parking_vehicles, parks_green… · civic 0.1.0 + explicit oos class: 48 council-adjacent negatives + 200 CLINC train texts; live-verified on anvil 8437; supersedes yanked 0.2.0 (label-misaligned fit)

86.6% holdout (n=941) · OOS recall 97% · recommended floor conf≥0.5
python3 tools/lane_install.py civic@0.2.1 --apply --appliance .

sha256: e9a656ff92a549d25c11f21e… · pricing: free · try live →

civic_fr@0.2.1

free · demo

12 routes: activites_commerciales, oos, arbres_vegetation, autre, eau, eclairage, graffiti_affiches, mobilier_urbain… · Synthetic civic corpus + hand-written natural phrasings (Apache-2.0 compatible)

98.8% holdout (n=330) · OOS recall 68%
python3 tools/lane_install.py civic_fr@0.2.1 --apply --appliance .

sha256: 12e6803c49b9a9760ddad68a… · pricing: free · try live →

clinc150@0.1.4

free · certified

151 routes: accept_reservations, account_blocked, alarm, application_status, apr, are_you_a_bot, balance, bill_balance… · Trained on the public CLINC150 benchmark (train split only) + 200 hand-written intent-adjacent hard negatives; holdout eval on untouched test split. v0.1.4: retrained with hard-negative OOS corpus - argmax abstain 15.5%-

74.1% holdout (n=5500) · OOS recall 20% · conf≥0.7 → 7.8% leak / 69% cov · α=.05 → 38% auto @ 0.00% err · recommended floor conf≥0.7
python3 tools/lane_install.py clinc150@0.1.4 --apply --appliance .

sha256: c5862061595c081e23d4a42c… · pricing: free · try live →

eq_tone@0.2.0

free · demo

6 routes: confused, distressed, frustrated, neutral, oos, positive · GoEmotions (google-research, Reddit comments, Apache-2.0), 28 labels merged to 5 tone superclasses + explicit oos class (hard negatives: clinc hn, banking77). Trained on frozen m7router3s384 trunk via LR head. v0.2.0: oo

50.3% holdout (n=4995) · OOS recall 88% · recommended floor conf≥0.9
python3 tools/lane_install.py eq_tone@0.2.0 --apply --appliance .

sha256: 2e2c608b1935731c0553a35b… · pricing: free · try live →

helpdesk@0.2.0

free · demo

7 routes: chat, escalate, file_ticket, oos, provision_vm, reset_password, ticket_status · Synthetic IT-helpdesk corpus (2000 rows, public) + 80 hand-written OOS negatives (facilities/HR-adjacent + generic). 7 routes incl explicit oos. Live-verified + parity-checked on anvil-serve-mixed.

100.0% holdout · OOS recall 90%
python3 tools/lane_install.py helpdesk@0.2.0 --apply --appliance .

sha256: dc573f8b22114b973d65dd08… · pricing: free · try live →

link_safety@0.1.0

free · certified

5 routes: safe, link_unsafe, link_adult, link_gambling, link_phishing · hand-written patterns + curated demo blocklist; runtime: anvil-serve rules lanes (machin-anvil 249de6a+)

no holdout metrics
python3 tools/lane_install.py link_safety@0.1.0 --apply --appliance .

sha256: debf0eadd2b2a57c3210fa8d… · pricing: free

mod_policy@0.1.0

free · certified

4 routes: publish, review, remove, unchecked · hand-authored threshold policy on SightEngine-style categories (nudity/violence/drugs/self_harm/scam); runtime: anvil-serve rules lanes with score-input kinds (machin-anvil d2e2b36)

no holdout metrics
python3 tools/lane_install.py mod_policy@0.1.0 --apply --appliance .

sha256: 6c16cb900b03a880bdc14156… · pricing: free

pii@0.1.0

free · certified

8 routes: none, pii_email, pii_phone, pii_iban, pii_card, pii_ssn, handoff, oos · synthetic injection into civil_comments safe carriers + textdetox multilingual bases; obfuscated variants (at dot com, spelled digits); m7router3s384 frozen trunk

no holdout metrics
python3 tools/lane_install.py pii@0.1.0 --apply --appliance .

sha256: b61687a5de48082372def1bf… · pricing: free

pii_rules@0.1.0

free · certified

6 routes: none, pii_email, pii_phone, pii_card, pii_iban, link_adult · hand-written rule spec + HaGeZi-style demo domain list; runtime: anvil-serve with rules-lane support (machin-anvil 63175e3)

no holdout metrics
python3 tools/lane_install.py pii_rules@0.1.0 --apply --appliance .

sha256: 27bf5293eb23db2bf01ccacc… · pricing: free

other versions (9) — older or yanked packs, installable by exact pin

banking77@0.1.0

free · certified

51 routes: Refund_not_showing_up, activate_my_card, apple_pay_or_google_pay, automatic_top_up, balance_not_updated_after_bank_transfer, balance_not_updated_after_cheque_or_cash_deposit, beneficiary_not_allowed, cancel_transfer… · BANKING77-OOS (jianguoz/Few-Shot-Intent-Detection, PolyAI-LDN/task-specific-datasets): 5905 train / 2062 id-oos train; m7router3s384 frozen trunk; emit tools/emit_banking77.py

73.3% holdout (n=2000) · recommended floor conf≥0.7
python3 tools/lane_install.py banking77@0.1.0 --apply --appliance .

sha256: 2a1b5ad93558a3b5c0c13b33… · pricing: free · try live →

civic@0.1.0

yanked

13 routes: animals, drains_flooding, fly_tipping, graffiti_flyposting, other, parking_vehicles, parks_green, pavement_footpath… · FixMyStreet Open311 API (public citizen reports, fetched 2026-10-11); 320 council labels -> 13 canonical routes; train 3751/holdout 941; tools/emit_civic.py

96.8% holdout (n=941) · α=.05 → 94% auto @ 0.79% err · recommended floor conf≥0.5
python3 tools/lane_install.py civic@0.1.0 --apply --appliance .

sha256: 1907a4c8731cb5e2b6bb825a… · pricing: free · superseded by civic@0.2.1 · try live →

civic_fr@0.1.0

yanked

11 routes: activites_commerciales, arbres_vegetation, autre, eau, eclairage, graffiti_affiches, mobilier_urbain, objets_encombrants… · DansMaRue taxonomy (opendata.paris.fr) + tools/build_civic_fr.py template generation; no real free text exists publicly

100.0% holdout (n=330) · α=.05 → 98% auto @ 0.00% err
python3 tools/lane_install.py civic_fr@0.1.0 --apply --appliance .

sha256: 1c14200b233ffc3d8700ee3a… · pricing: free · superseded by civic_fr@0.1.1 · try live →

civic_fr@0.1.1

free · demo

12 routes: activites_commerciales, oos, arbres_vegetation, autre, eau, eclairage, graffiti_affiches, mobilier_urbain… · civic_fr 0.1.0 + explicit oos class (FR hard+easy negatives); live-verified

99.7% holdout (n=330) · OOS recall 91%
python3 tools/lane_install.py civic_fr@0.1.1 --apply --appliance .

sha256: c0fbf627a8f86f489a23982b… · pricing: free · try live →

civic_fr@0.2.0

yanked

12 routes: activites_commerciales, oos, arbres_vegetation, autre, eau, eclairage, graffiti_affiches, mobilier_urbain… · Synthetic civic corpus + hand-written natural phrasings (Apache-2.0 compatible)

98.8% holdout (n=330) · OOS recall 68%
python3 tools/lane_install.py civic_fr@0.2.0 --apply --appliance .

sha256: edf31ea7c0b73e0f0dbefbd2… · pricing: free · superseded by civic_fr@0.2.1 · try live →

clinc150@0.1.2

yanked

151 routes: accept_reservations, account_blocked, alarm, application_status, apr, are_you_a_bot, balance, bill_balance… · Trained on the public CLINC150 benchmark (train split only), holdout eval on untouched test split. v0.1.1: labels.txt repaired; v0.1.2: manifest status field added.

73.8% holdout (n=5500) · α=.05 → 38% auto @ 0.00% err · recommended floor conf≥0.7
python3 tools/lane_install.py clinc150@0.1.2 --apply --appliance .

sha256: 7257a15d2a2282cee754af35… · pricing: free · superseded by clinc150@0.1.4 · try live →

clinc150@0.1.3

yanked

151 routes: accept_reservations, account_blocked, alarm, application_status, apr, are_you_a_bot, balance, bill_balance… · Trained on the public CLINC150 benchmark (train split only), holdout eval on untouched test split. v0.1.1: labels.txt repaired; v0.1.2: manifest status field added. v0.1.3: eval.json gains measured oos_recall + leak/cove

73.8% holdout (n=5500) · OOS recall 15% · conf≥0.7 → 7.5% leak / 70% cov · α=.05 → 38% auto @ 0.00% err · recommended floor conf≥0.7
python3 tools/lane_install.py clinc150@0.1.3 --apply --appliance .

sha256: d46f14e1f6e6f3095ff3871d… · pricing: free · superseded by clinc150@0.1.4 · try live →

eq_tone@0.1.1

yanked

5 routes: confused, distressed, frustrated, neutral, positive · GoEmotions (google-research, Reddit comments, Apache-2.0), 28 labels merged to 5 tone superclasses; trained on frozen m7router3s384 trunk via LR head. v0.1.1: manifest status field added.

51.4% holdout (n=4995) · α=.05 → 8% auto @ 11.60% err · recommended floor conf≥0.9
python3 tools/lane_install.py eq_tone@0.1.1 --apply --appliance .

sha256: df3401cae3d9a27172b39b4b… · pricing: free · superseded by eq_tone@0.2.0 · try live →

helpdesk@0.1.1

yanked

5 routes: file_ticket, provision_vm, reset_password, ticket_status, escalate · Synthetic IT-helpdesk demo corpus (public, generated). v0.1.1: manifest status field added.

no holdout metrics
python3 tools/lane_install.py helpdesk@0.1.1 --apply --appliance .

sha256: a1846154c250211b9ff26bd3… · pricing: free · superseded by helpdesk@0.2.0 · try live →

CUSTOM LANE — paid

None of these routes are yours? Send your route table (names + a few phrasings each): you get a ~7KB .head trained and calibrated on your corpus — eval report, abstention threshold, one free re-train after a week of shadow traffic. €149 / domain, one-off, 3 business days.

Send your routes pricing →

generated by tools/render_catalog.py