PR #245 ยท pramaan-io/pramaan-functions ยท merged 2026-06-03
sequenceDiagram autonumber participant firm as Firm participant user as User participant system as System participant matter as Matter firm->>firm: Set matter template user->>system: Create new matter system->>system: Capture MatterTemplateSnapshot system->>matter: Freeze proceeding kinds + filing types user->>user: Add live ProceedingStage user-->>system: Link via RelatedMatterLink
| Method | in โ out | what it does |
|---|---|---|
MatterTemplate | (type) | setup-time matter creation playbook, versioned per firm |
MatterTemplateSnapshot | (class) | frozen copy of template captured at matter creation |
RelatedMatterLink | (class) | edge between two matters with a typed relationship |
Alembic migration that creates the new matter-redesign tables, RLS policies and updated_at triggers for the ADR-zero-ninety schema.
| new method | signature |
|---|---|
_enable_template_rls | (table_name) โ None |
_disable_template_rls | (table_name) โ None |
_enable_content_rls | (table_name) โ None |
_disable_content_rls | (table_name) โ None |
_create_updated_at_trigger | (table_name) โ None |
_drop_updated_at_trigger | (table_name) โ None |
upgrade | () โ None |
downgrade | () โ None |
revision : strdown_revision : str | Sequence[str] | Nonebranch_labels : str | Sequence[str] | Nonedepends_on : str | Sequence[str] | Nonesrc/domains/matter/entity.py+373 โ10Adds SQLModel classes for the matter-owned snapshot, frozen proceeding kinds and filing types, participant labels, and related-matter link and carry-forward.
| new class | signature |
|---|---|
MatterTemplateSnapshot | (class) |
MatterSnapshotProceedingKind | (class) |
MatterSnapshotFilingType | (class) |
MatterParticipantLabel | (class) |
RelatedMatterLink | (class) |
RelatedMatterCarryForward | (class) |
id : UUIDfirm_id : UUIDmatter_id : UUIDmatter_template_id : UUIDtemplate_version : intmatter_type_id : UUIDtemplate_key : strtemplate_name : strsnapshot_reason : strcreated_by_user_id : UUID | Nonesnapshot_id : UUIDsource_proceeding_kind_id : UUID | Nonekey : strname : strdescription : str | Nonestatus : strdisplay_order : intsource_filing_type_id : UUID | Nonerequired : boolcode : strlabel : stralign : strsource_matter_id : UUIDtarget_matter_id : UUIDrelationship_type : strnotes : str | Nonerelated_matter_link_id : UUIDsource_kind : strcarry_mode : strsrc/domains/matter_type/entity.py+132 โ8Adds the MatterTemplate SQLModel class โ the setup-time playbook from which each new matter takes a frozen snapshot.
| new class | signature |
|---|---|
MatterTemplate | (type) |
id : UUIDfirm_id : UUID | Nonematter_type_id : UUIDsource : strkey : strname : strdescription : str | Nonestatus : strversion : intdefault_proceeding_kind_id : UUID | Nonedefault_proceeding_kind_matter_type_id : UUID | Nonesrc/domains/proceeding/entity.py+99 โ3Adds the ProceedingStage SQLModel class for live, user-authored runtime stages within a proceeding, independent of any template.
| new class | signature |
|---|---|
ProceedingStage | (class) |
id : UUIDfirm_id : UUIDmatter_id : UUIDproceeding_id : UUIDstage_key : str | Nonetitle : strdescription : str | Nonestage_date : date | Noneoccurred_at : datetime | Noneposition : intstatus : strcreated_by_user_id : UUID | Noneupdated_by_user_id : UUID | None