Files
random_corp/financial_crime/handoff-to-artifact.md
T

41 lines
1.7 KiB
Markdown

---
from: agent-ontology
to: agent-artifact
domain: Financial Crime
domain_path: examples/Financial Crime/domain.md
created: 2026-03-14
status: archived
---
## Handoff Context — Agent Ontology → Agent Artifact
**Scope:** Party, Person, Company, Party Role, Contact Address, Address
**Key decisions:**
- Party uses bitemporal tracking — both valid-time and transaction-time
required. AUSTRAC audit trail obligation drives this, not a modelling
preference. Do not collapse to append-only.
- Company is a concrete specialisation of Party, not abstract. Enables direct
instantiation without requiring a subtype record.
- self_referential relationship on Party carries relationship_attributes as
edge properties (Association Type, Verified). Generate a bridge table for
the many-to-many, not a FK on Party.
**Rejected alternatives:**
- Separate PartyAssociation entity — creates unnecessary indirection for
graph traversal and was explicitly rejected by the domain owner.
- Append-only mutability for Party — rejected because AUSTRAC requires
point-in-time reconstruction, not just event log replay.
**Do not re-open:**
- Risk Rating and Sanctions Screen Status are enums, not FK lookups.
- Next Review Date does not require a NOT NULL constraint — it is calculated
and will be null at creation.
- The Financial Crime domain classification is Highly Confidential throughout.
No override discussion needed.
**Task for next agent:**
Generate dimensional DDL for Party, Person, Company, Party Role, Contact
Address, and Address. Target: Snowflake. Apply SCD Type 2 for slowly_changing
entities. Party Identifier is the natural primary key — no surrogate needed.