What Nammu gives you on day one: analyses by jurisdiction
Once a case is classified, which analyses actually turn on — and which ones don't yet, and why? A transparent map of every analysis gate, the legal reasoning behind each one, and the known gaps we are honest about.
Inventum P5
Engineering · Galictis-Legal
July 10, 2026
9 min read
Nammu does not run a single generic “analyze this case” prompt for every matter. Each legal branch has its own statute, its own procedural clock, and its own vocabulary — a deadline prompt written for a penal investigation would produce a confidently wrong answer if pointed at a family pensión alimentaria case. So every analysis type is wired to fire only where a verified legal basis exists for it, and to stay off — not guess — everywhere else. Here is the complete map.
The analysis menu
Eight distinct analysis types are available across the product. What varies per jurisdiction is not the interface — it is which of these actually run, and with what legal grounding.
Controversia / Hechos relevantes
What is actually being disputed, and what happened — in chronological order.
Runs for every in-scope jurisdiction. The prompt voice changes per branch; availability never does.
Estado procesal
Where the case currently stands procedurally — the active stage, pending acts, last recorded motion.
Penal, laboral, notarial, contencioso, and two familia tracks only.
Plazos procesales
Which statutory deadline is currently running, and when it expires.
Penal, notarial, contencioso, and two familia tracks. Civil and tránsito: not yet.
Trayectorias timeline
A visual procedural-stage timeline rendered in the case UI.
Gated at the process-type level, not just jurisdiction — a branch can be in scope while some of its own tracks have no builder yet.
Poder especial judicial
Whether a filing's power-of-attorney meets the formal requirements of the applicable article.
Penal only, gated to querella and acción civil documents.
Confidence / provenance annotation
BAJA / MEDIA / ALTA tags on generated facts and controversy text, grounded in per-page OCR confidence numbers.
Penal only for now.
Chat grounding (normativa RAG)
Whether chat answers are grounded in the branch's own vectorized statute text.
All jurisdictions — but agrario and constitucional have no vectorized collection yet and fall back to the model's general knowledge.
Jurisprudence / Nexus.PJ copilot
A search brief for relevant case law, assembled from whatever analyses already exist for the case.
Not jurisdiction-gated — works off the analyses that are available, simply returns less when fewer are.
The full matrix
This is the current state of every jurisdiction against every analysis. No aspirational states — only what the backend actually delivers today.
| Jurisdiction | Controversy / Facts | Estado | Plazo | Timeline | Poder | Confidence |
|---|---|---|---|---|---|---|
| Civil | On | UI only | UI only | Partial | Off | Off |
| Penal | On | On | On | Partial | On | On |
| Laboral | On | On | Off | Partial | Off | Off |
| Familia | On | Partial | Partial | On | Off | Off |
| Notarial | On | On | On | On | Off | Off |
| Contencioso | On | On | On | Partial | Off | Off |
| Tránsito | Partial | UI only | UI only | On | Off | Off |
| Agrario / Constitucional | Partial | Off | Off | Off | Off | Off |
Controversia and Hechos — always on, voice changes
Controversy and facts summaries are the one analysis intentionally kept on for every in-scope jurisdiction. Every case, regardless of branch, has something being claimed and some sequence of events. What changes per jurisdiction is not availability — it is the prompt voice. _select_prompts_for_jurisdiction swaps in penal, laboral, familia, notarial, or contencioso-specific prompts; civil, tránsito, agrario, and constitucional all receive the generic civil pair.
Two sub-routings are worth noting. Penal accion_civil_resarcitoria documents get their own prompt pair, separate from the rest of the criminal expediente — because a civil-damages claim riding inside a criminal file asks a different question than the charge itself. And certain civil process types (sucesorio, for instance) short-circuit entirely via is_no_contencioso(), because a succession is not an adversarial dispute the way an ordinario is — forcing a “what's being disputed” answer onto a non-adversarial process would be fabricating a frame the law does not impose.
Estado procesal and Plazo — the two hard-clock analyses
These are the analyses Nammu is most conservative about. Getting either wrong has direct legal consequences: a missed deadline, a wrongly-computed detention clock.
Estado procesal
Enabled for: penal, laboral, notarial, contencioso-administrativo, and two specific familia tracks — violencia_domestica_medidas_proteccion and pension_alimentaria.
The other four familia tracks (divorcio, custodia, unión de hecho, ejecución de resoluciones) are explicit no-ops. The code's own rationale is that only the two enabled tracks have a genuinely enforceable statutory clock worth dashboarding: violencia doméstica (Ley 7586 safety-critical vigencia) and pensión alimentaria (the apremio corporal escalation ladder). Civil has no estado_procesal implementation at all — the function's docstring states “no civil equivalent” directly.
Plazo
Enabled for: penal, notarial, contencioso-administrativo, and the same two familia tracks — each with its own dedicated deadline prompt (pensión alimentaria's oposición window + apremio corporal graduation; violencia doméstica's Ley 7586 art. 4 medidas-vigencia start / duration / vencimiento / prórroga).
Laboral has estado but not plazo — no laboral deadline-extraction prompt has been written and legally verified yet. Civil has neither, despite civil being the most deeply schema-verified branch. See Known Gaps below.
Per-case override: legacy procedural code
Even where plazo and estado_procesal are otherwise enabled for a jurisdiction, a case detected as governed by the legacy Código Procesal Civil (Ley 7130) gets those buttons disabled with an explanatory tooltip — not hidden. This is distinct from the jurisdiction-level gates: it is not “this process type never gets this analysis” but “this specific expediente predates the code version the current prompts assume,” and showing an incorrect deadline framing is worse than showing nothing.
Trayectorias timelines — the most granular gate
The timeline builder dispatches at the process-type level, not the jurisdiction level. A branch can be fully in scope for classification while several of its own procedural tracks have no visual timeline built yet. When a case's process type has no builder, the UI shows a pending state rather than an error — all other analyses (controversia, chat, report) still work.
| Jurisdiction | Timelines built | Not yet |
|---|---|---|
| Civil | ordinario, sumario, sucesorio, garantía real (hipotecaria + prendaria) | monitorio, generic ejecución, abreviado (not a recognized civil slug) |
| Penal | querella, procedimiento_ordinario | procedimiento_abreviado, flagrancia |
| Laboral | proceso_ordinario_laboral | fuero especial y sumarísimo, ejecución de sentencia laboral, medidas cautelares |
| Familia | all 6 — violencia doméstica, pensión alimentaria, divorcio, custodia, unión de hecho, ejecución de resoluciones | — |
| Notarial | proceso_disciplinario_notarial | — (schema has only one type) |
| Contencioso | proceso_ordinario_contencioso (+ bisagra → civil ordinario) | lesividad, sumario contencioso, medidas cautelares, responsabilidad administrativa |
| Tránsito | proceso_transito_colision | — (schema has only one in-scope type) |
Poder especial and confidence annotation — document-level gates
Two analyses are gated even more narrowly than jurisdiction — they key off the individual document's own doc_kind, not the case's process type.
compute_poder_especial fires only for documents whose kind is querella (CPP art. 74) or accion_civil_resarcitoria (CPP art. 111). These are the two article-defined filing types that actually impose a specific formal power-of-attorney requirement. It is triggered automatically at document-completion time inside the penal early-trigger pipeline.
compute_confidence_provenance annotates BAJA / MEDIA / ALTA tags onto already-generated facts and controversy text, grounded in real per-page OCR confidence numbers. Both are penal-only not because penal matters more — it is simply the branch where these formal and provenance passes were built and verified first.
Chat and jurisprudence — jurisdiction affects content, not availability
Chat is available for every jurisdiction, but retrieve_jurisdiction_context() grounds answers in that branch's own vectorized statute collection (civil statute text, penal code, etc.). Agrario and constitucional have no vectorized collection yet — their chat answers fall back to the model's general legal knowledge, without grounding, and the system prompt is swapped accordingly.
The Nexus.PJ jurisprudence copilot and the PDF export report are not jurisdiction-gated at all. Both work off whatever analyses already exist for the case and simply include less content when fewer are available. There is no branch-specific report template or jurisprudence-search logic today.
Known gaps — stated directly
Estado procesal and Plazo: civil and tránsito UI / backend mismatch
The UI capability table shows the estado and plazo buttons as enabled for civil's ordinario / sumario / monitorio / sucesorio process types, and for the whole tránsito jurisdiction. But the backend routing in compute_legal_estado_procesal and compute_legal_plazo has no civil or tránsito branch at all — a case clicking either button today receives a silent no-result rather than an actual answer. This is a real gap between what the UI promises and what the pipeline delivers. The decision is: (a) wire civil / tránsito prompts to match the UI, or (b) hide those buttons until the prompts exist and are legally verified.
The underlying rule
Every gate in this document traces back to the same discipline: an analysis only runs where a real, article-cited legal basis exists for it in a loaded schema — never as a generic default dressed up to look branch-specific. Where that basis does not exist yet, the honest answer is “not yet,” surfaced as a pending state or a disabled control rather than a guess.
The seven currently loaded schemas (civil, penal, laboral, familia, notarial, contencioso-administrativo, tránsito) are all marked DRAFT pending licensed-attorney sign-off. Agrario and constitucional have no schema at all — which is why they are out-of-scope across the board rather than receiving even a degraded analysis.
Running cases in one of these jurisdictions?
We can walk through exactly which analyses light up for your practice area and what is on the near-term roadmap.
Request a demo →