model_id- baobab-fante
display_name- Baobab Fante
model_version- 2026.10.national
family- baobab
status- national_shipped
product_line- National Fante / Mfantse (Cape Coast) speech + Akan phrase MT honesty — generative_inference_live false; neural_nmt false; trainingEligible locked. Clarity: spectral_gate_v2 + Fante pacing. Not Asante/Akuapem.
as_of- 2026-10-23T10:14:09.517Z
varieties
Fante / Mfantse (Cape Coast)
variety_id- ak-gh-fante
pack_key- fante
name_en- Fante / Mfantse (Cape Coast)
bcp47- ak-GH
iso6393- fat
echo_voice_id- own:ak-gh-fante-female
mt_lang_key- ak
language_pack_version- ak-gh-fante-pack-2026.10
corridor_id- en-ak-fante
primary_use- Central Region / Cape Coast citizen services / education / MeetingBridge Ghana Fante
dataset_manifest- apps/api/eval/corridors/en-ak-fante/test-scripts.json
trainingEligible- false
audio_clean- spectral_gate_v2
speech_finetune_recipe- docs/baobab/SPEECH_FINETUNE_RECIPE.md
english_accentlocale- en-GH
voice_id- own:en-gh-female
label- Ama · Ghanaian English
region- ghana
note- Ghanaian English accent paired with Ghana L1 national models (Twi, Ga, Ewe, Fante, Hausa Zongo) and nearest West African English for Senegal / Côte d'Ivoire French nationals until dedicated en-SN / en-CI accents ship. Never substitutes for L1 French.
domains- greetings
- everyday
- airtime
- health
- civic
- market
not_interchangeable_with- ak-gh-asante
- ak-gh-akuapem
- baobab-twi
mtstatus- phrase_table_only
note- Deterministic phrase + lexical Baobab pack in lugemi-mt.engine. Fail-closed when uncovered. No dedicated neural NMT service.
pairs- en↔ak
asrstatus- neural_offline
checkpoint- tiffany101/whisper-twi-v2 + Fante phrase rescoring
license- see_model_card
env_gate- Fante / Asante speech
variety_exclusive_finetune- false
ttsstatus- neural_offline
checkpoint- facebook/mms-tts-aka ONNX + Fante pacing + spectral_gate_v2
license- CC-BY-NC-4.0
env_gate- Fante / Asante speech
variety_exclusive_finetune- false
s2s_corridorstatus- corridor_pass
note- en-ak-fante corridor scripts PASS when speech URL points at lugemi-asante. Broad domain deferred. Clarity: spectral_gate_v2.
national_tiers
Public demo
id- public_demo
name- Public demo
who- Citizens, press, students (unauthenticated demos)
auth- None — soft abuse controls on demo speech
maps_to_plan- null
residency_preference- null
audit- false
commercial_nc_clean_tts_required- false
endpoints- GET /v1/models/baobab-fante
- GET /v1/baobab/fante/national
- POST /v1/demo/speech
limitstranslate_chars_daily_hint- Authenticated translate required for production MT
demo_speech- 400 requests / 10 minutes / IP (demo controller)
rate_limit_note- Demo speech returns rate_limited when exceeded
controls- honest en-GH remap when speech offline (paired Ghanaian English accent)
- spectral_gate_v2 clarity on live neural WAV
- variety headers — ak-gh-fante
Education / free
id- education
name- Education / free
who- Students, UG / KNUST labs, research orgs on Free/Pro plans
auth- Org API key (TranslateAuthGuard) — Free or Pro plan
maps_to_plan- free|pro
residency_preference- GH
audit- true
commercial_nc_clean_tts_required- false
endpoints- POST /v1/translate
- POST /v1/tts/synthesize
- POST /v1/audio/transcriptions (when ASR keyed)
- GET /v1/models/baobab-fante
limitstranslate_chars_daily_hint- Free: BILLING_FREE_TRANSLATE_CHARS_QUOTA (default 50k); Pro: BILLING_PRO_TRANSLATE_CHARS_QUOTA
demo_speech- null
rate_limit_note- RATE_LIMIT_FREE_PER_KEY / RATE_LIMIT_PRO_PER_KEY via existing RateLimitGuard
controls- UsageService metering
- BillingService.assertWithinQuota
Ministry production
id- ministry
name- Ministry production
who- Ghana government services (Cape Coast / Central Region citizen channels)
auth- Ministry-keyed org API key — Business plan mapping
maps_to_plan- business
residency_preference- GH
audit- true
commercial_nc_clean_tts_required- false
endpoints- POST /v1/translate
- POST /v1/tts/synthesize
- MeetingBridge Ghana corridor
- GET /v1/residency
- GET /v1/metrics/translate
limitstranslate_chars_daily_hint- Business translate quota (BILLING_BUSINESS_TRANSLATE_CHARS_QUOTA)
demo_speech- null
rate_limit_note- RATE_LIMIT_BUSINESS_PER_KEY / PER_ORG
controls- AuditService on translate.completed
- Org retention / vendor-training settings
- Residency preference GH (affinity, not hard geo-fence)
Enterprise
id- enterprise
name- Enterprise
who- Banks, telcos, NGOs serving Cape Coast / Central Region
auth- Paid Enterprise keys
maps_to_plan- enterprise
residency_preference- AF
audit- true
commercial_nc_clean_tts_required- true
endpoints- POST /v1/translate (+ TM / quality)
- Speech + MeetingBridge
- Fine-tunes / marketplace where plan allows
limitstranslate_chars_daily_hint- Enterprise translate quota
demo_speech- null
rate_limit_note- RATE_LIMIT_ENTERPRISE_PER_KEY / PER_ORG
controls- SLA targets (documented; contractual SLA separate)
- Commercial TTS path must be NC-clean for redistribution of MMS TTS assets
- Audit + retention
research
id- baobab-fante-generative-lm
status- research_planned
foundation_llm_weights- false
generative_inference_live- false
ships_trained_baobab_foundation- false
separate_variety_checkpoints_required- true
training_recipe- docs/baobab/GENERATIVE_LM_RECIPE.md
note- Research slot + harness + training recipe only. Do not brand phrase MT or speech corridors as a full national LLM. Generative inference unsupported until gates are met.
proposed_checkpoint_ids
primary- baobab-fante-fante-lm-*
prerequisites
- en-ak-fante corridor + national API surfaces remain the product wedge
- Mix / Fidelity / Live evals and rights clear
- Consented parallel + speech data with held-outs
acceptance_gates
held_out_speakers
id- held_out_speakers
required- true
met- false
description- Held-out evaluation speakers must never appear in training exports; speaker lists remain empty until consented collection.
community_consent
id- community_consent
required- true
met- false
description- trainingEligible stays false until Cape Coast / Central Region community speakers re-confirm for training.
variety_separation
id- variety_separation
required- true
met- false
description- Any future LM/adapters must ship as baobab-fante-fante-* — never one blob marketed as interchangeable varieties.
beat_phrase_mt_baselines
id- beat_phrase_mt_baselines
required- true
met- false
description- Generative claims require held-out gains vs corridor phrase-MT baselines on declared native tasks.
commercial_rights_clear
id- commercial_rights_clear
required- true
met- false
description- Base model + data licenses must clear commercial ministry/enterprise redistribution before promotion.
task_harness
goldens- apps/api/src/baobab/baobab-fante.research.ts#RESEARCH_GOLDENS
runner- apps/api/src/baobab/baobab-fante.research.ts#evaluateBaobabFanteNativeTasks
generative_default- unsupported
training_eligible_unlock
trainingEligible- false
status- locked
unlock_doc- docs/baobab/TRAINING_ELIGIBLE_UNLOCK.md
note- trainingEligible remains false until all gates are met with durable evidence. Do not invent consent.
gates
community_consent_fante
id- community_consent_fante
required- true
met- false
evidence_required- Signed Cape Coast / Central Region contributor agreements reconfirming training use
description- Cape Coast / Central Region community speakers must reconfirm training export consent.
held_out_speaker_lists
id- held_out_speaker_lists
required- true
met- false
evidence_required- Published held-out speaker IDs never present in train splits
description- Held-out evaluation speakers must never appear in training exports.
fante_native_review
id- fante_native_review
required- true
met- false
evidence_required- Paid Fante / Mfantse (Cape Coast) native review records with trainingEligible fields
description- Native review must cover Fante / Mfantse (Cape Coast) before any train export.
variety_not_conflated
id- variety_not_conflated
required- true
met- false
evidence_required- Corpus metadata proving non-interchangeable varieties excluded from train exports
description- Asante and Akuapem are separate Akan varieties under baobab-twi — never interchangeable with Fante.
rights_clear_for_export
id- rights_clear_for_export
required- true
met- false
evidence_required- Legal memo clearing commercial vs research split for export corpus
description- IP / commercial rights must clear before trainingEligible flips.
license_warnings
- Akan MMS-TTS (facebook/mms-tts-aka) is CC-BY-NC-4.0 — unrestricted commercial redistribution of those assets is blocked.
- Whisper-Twi ASR (tiffany101/whisper-twi-v2) — pin versions and attribute per model card.
- Fante uses shared Akan-general weights with Fante pacing + phrase packs — not an exclusive Fante speech finetune; not interchangeable with Asante or Akuapem.
- Phrase MT uses Akan (ak) packs with Fante corridor honesty; neural_nmt is false. baobab-twi covers Asante/Akuapem MT packs separately.
capabilities
phrase_mt- phrase_table_only
national_api_tiers- true
generative_lm_research_slot- true
generative_inference_live- false
neural_nmt- false
neural_asr- false
neural_tts- false
s2s_corridor- true
foundation_llm_weights- false
audio_clean- spectral_gate_v2
honesty
phrase_table_only- true
national_api_tiers- true
research_slot_shipped- true
neural_speech_live- false
neural_nmt- false
generative_inference_live- false
foundation_llm_weights- false
ships_trained_baobab_foundation- false
variety_exclusive_speech_finetunes- false
trainingEligible- false
iso_code- fat
audio_clean- spectral_gate_v2
training_eligible_unlock
trainingEligible- false
status- locked
unlock_doc- docs/baobab/TRAINING_ELIGIBLE_UNLOCK.md
note- trainingEligible remains false until all gates are met with durable evidence. Do not invent consent.
gates
community_consent_fante
id- community_consent_fante
required- true
met- false
evidence_required- Signed Cape Coast / Central Region contributor agreements reconfirming training use
description- Cape Coast / Central Region community speakers must reconfirm training export consent.
held_out_speaker_lists
id- held_out_speaker_lists
required- true
met- false
evidence_required- Published held-out speaker IDs never present in train splits
description- Held-out evaluation speakers must never appear in training exports.
fante_native_review
id- fante_native_review
required- true
met- false
evidence_required- Paid Fante / Mfantse (Cape Coast) native review records with trainingEligible fields
description- Native review must cover Fante / Mfantse (Cape Coast) before any train export.
variety_not_conflated
id- variety_not_conflated
required- true
met- false
evidence_required- Corpus metadata proving non-interchangeable varieties excluded from train exports
description- Asante and Akuapem are separate Akan varieties under baobab-twi — never interchangeable with Fante.
rights_clear_for_export
id- rights_clear_for_export
required- true
met- false
evidence_required- Legal memo clearing commercial vs research split for export corpus
description- IP / commercial rights must clear before trainingEligible flips.
nmt
neural_nmt- false
disclosed_base_named- null
disclosed_base_weights_in_repo- false
commercial_license_cleared- false
adapter_status- phrase_table_only
checkpoint_shipped- false
phrase_table_live- true
remote_mt_configured- false
remote_mt_env- null
baobab_fante_nmt_url_configured- false
baobab_fante_nmt_env- null
separate_variety_adapters- false
note- Baobab Fante MT is phrase/lexical only (en↔ak (Fante orthography honesty; shared Akan phrase table)). Fail-closed when uncovered. neural_nmt false.
phrase_table_pairs
- en↔ak (Fante orthography honesty; shared Akan phrase table)
residency
serving_today- jnb
serving_today_label- Africa-primary Fly region Johannesburg (jnb)
affinity_target- af-west-1
affinity_city- Accra
affinity_country- GH
accra_gpu_island- false
accra_gpu_island_status- deferred
hard_geo_fence- false
preference_model- affinity_not_hard_fence
ministry_affinity_pin- af-west-1
affinity_enforcement- soft_preference_recorded
accra_island_runbook- docs/baobab/ACCRA_RESIDENCY.md
note- Inference prefers matching person/org residency to nearby model hosting when ready — affinity, not a hard geo-fence. Accra (af-west-1) is the Ghana affinity target; live serving for verbalab + lugemi-asante is jnb today. No Accra GPU island is deployed.
licenses
tts- CC-BY-NC-4.0
asr- see_model_card
note- TTS is CC-BY-NC-4.0. neural_nmt stays false — no dedicated NLLB remote shipped. Clarity path: spectral_gate_v2.
deferred
- Commercially cleared neural NMT (phrase MT is the live fail-closed path)
- Accra GPU island / hard Ghana geo-fence (affinity af-west-1; serving jnb)
- Contractual ministry SLA signature (operational targets shipped)
- Generative LM weights + inference (recipe + gates only)
- Variety-exclusive ASR/TTS finetunes beyond shared checkpoints
- trainingEligible unlock evidence (checklist shipped; flag locked false)
endpoints
model_card- GET /v1/models/baobab-fante
national- GET /v1/baobab/fante/national
research- GET /v1/baobab/fante/research
unlock- GET /v1/baobab/fante/unlock
slo- GET /v1/baobab/fante/slo
translate- POST /v1/translate
demo_speech- POST /v1/demo/speech
tts- POST /v1/tts/synthesize
meetingbridge_ghana- MeetingBridge Ghana corridor
corridor- en-ak-fante
residency- GET /v1/residency
translate_metrics- GET /v1/metrics/translate
docs
national_model- docs/baobab/FANTE_NATIONAL_MODEL.md
model_card- docs/baobab/baobab-fante.MODEL_CARD.md
partnership_open_eval- docs/baobab/PARTNERSHIP_OPEN_EVAL.md
ministry_sla- docs/baobab/MINISTRY_SLA.md
training_eligible_unlock- docs/baobab/TRAINING_ELIGIBLE_UNLOCK.md
speech_finetune_recipe- docs/baobab/SPEECH_FINETUNE_RECIPE.md
generative_lm_recipe- docs/baobab/GENERATIVE_LM_RECIPE.md
accra_residency- docs/baobab/ACCRA_RESIDENCY.md
corridor- en-ak-fante
language_kit- docs/models/05_LANGUAGE_KIT.md
residency- docs/residency.md