Journalism-investigation: connection entry types (ownership, membership, funding)backlog_item

journalismplugininvestigationentry-typesftm
1 min read · Edit on Pyrite

Problem

In investigative journalism, relationships between entities carry their own data — an ownership stake has a percentage, dates, and legal basis. A board membership has a role and term. These can't be represented as simple `links` in YAML frontmatter. Following FtM's edge-entity pattern, connections should be first-class entries.

Scope

Create 3 connection entry types. Each is an entry that represents a relationship between two entities, with its own properties and body text for narrative context.

`ownership` (OwnershipEntry)

  • Fields: `owner` (wikilink to person/org), `asset` (wikilink to asset/org/account), `percentage`, `start_date`, `end_date`, `legal_basis`, `beneficial` (bool — is this beneficial ownership vs legal?)
  • Auto-generates links: `owner → owns → asset`, `asset → owned_by → owner`
  • Body: narrative context, sourcing, significance
  • `membership` (MembershipEntry)

  • Fields: `person` (wikilink), `organization` (wikilink), `role`, `start_date`, `end_date`, `source`
  • Auto-generates links: `person → member_of → org`, `org → has_member → person`
  • Body: narrative context
  • `funding` (FundingEntry)

  • Fields: `source` (wikilink to person/org), `recipient` (wikilink to person/org), `amount`, `currency`, `date_range`, `purpose`, `mechanism` (grant, donation, contract, lobbying, dark_money, other)
  • Auto-generates links: `source → funds → recipient`, `recipient → funded_by → source`
  • Body: narrative context, sourcing
  • Design Note

    Connection entries live in `connections/` subdirectory. They automatically maintain bidirectional links between the entities they connect. When indexed, the graph service should traverse these to build network views.

    Acceptance Criteria

  • All 3 types round-trip correctly with all fields
  • Auto-generated links appear in backlinks for both connected entities
  • `pyrite backlinks ` shows connections linking to that entity
  • Connection entries are traversable via graph service
  • Subdirectory: `connections/`
  • Validators: owner and asset required for ownership, person and organization required for membership, source and recipient required for funding