Matruno

Durable Identifiers

Last updated September 21, 2026

Historical and Temporal replay identifiers that remain in Matruno after the Legal Matter Operations domain transformation.

Matruno's active product domain is Legal Matter Operations. The current schema, APIs, UI, prompts, and documentation use Matter and Participant. A small set of identifiers remain because they are replay-sensitive, historical, or technically unrelated.

These identifiers are not product concepts. Do not expose them in UI, docs examples, or API response contracts.

Temporal replay contracts#

These fields and activity names are durable Temporal wire identifiers. Histories already exist for long-running workers such as workflow advancement. Renaming them would break replay.

IdentifierLocationWhy it remains
MatterCreationInput.case_typebackend/app/temporal/matter_creation_types.pyWorkflow input field used to reconstruct in-flight matter-creation histories. New payloads should set process_type.
total_cases_advancedbackend/app/temporal/workflow_advancement_workflow.pyPersisted continue-as-new state for the always-on advancement worker.
total_cases_processedbackend/app/temporal/automation_execution_workflow.pyPersisted continue-as-new state for the automation worker.
Historical update_case_* activity namesolder Temporal activity registrationsOnly if a worker still needs to complete an in-flight history that recorded the old name. Current code registers Matter-native activity names.

If no in-flight histories remain for a given identifier, it can be renamed in a later migration window. Do not rename these fields casually.

Historical database migrations#

Alembic revisions before the legal-domain cutover created tables and columns named cases and stakeholders. Later revisions renamed them to matters and participants. Keep the original revision files unchanged so existing databases can upgrade.

The current ORM models and live schema are Matter-native. Do not add new case_* or stakeholder_* columns.

Support tickets#

Platform support tickets in Super Admin are product-support infrastructure. They are not legal matters and must never be described as tickets inside a Matter workspace.

Technical false positives#

JavaScript switch / case, toLowerCase(), Python unittest.TestCase, CSS display: table, and similar language or framework tokens are unrelated.

Product contract#

User-facing APIs, dashboard analytics, chat router tools, prompts, and frontend types must use Matter and Participant. Chat router tools were renamed from case_query / delegate_to_heavy_case_analyst to matter_query / delegate_to_heavy_matter_analyst because those names are LLM tool contracts, not Temporal histories.

Was this helpful?