fraudtwin.campaign_dynamics#

Dynamic campaign evolution and registration hooks.

Status: Experimental

Classes#

fraudtwin.campaign_dynamics.DynamicCampaignDataset

Dynamic records and the complete post-evolution graph dataset.

Functions#

fraudtwin.campaign_dynamics.evolve_campaigns

Evolve all configured M11 campaigns in stable order.

fraudtwin.campaign_dynamics.register_intensity_model

Register a campaign intensity model by stable name.

fraudtwin.campaign_dynamics.register_transition_model

Register a campaign phase-transition model by stable name.

fraudtwin.campaign_dynamics.resolve_campaign_dynamics

Validate and resolve registered models without consuming randomness.

fraudtwin.campaign_dynamics.validate_campaign_dynamics

Validate dynamic IDs, lifecycle records, graph membership, and ledger closure.

Detailed API#

Deterministic, opt-in campaign evolution.

class fraudtwin.campaign_dynamics.DynamicCampaignDataset(graph, snapshots=(), transitions=(), phase_changes=(), membership_changes=(), intensity_decisions=(), topology_mutations=(), lineage=(), source_snapshots=(), stream_ids=(), configuration_hash='')[source][source]

Bases: object

Dynamic records and the complete post-evolution graph dataset.

Parameters:
  • graph (GraphFraudDataset)

  • snapshots (tuple[CampaignStateSnapshot, ...])

  • transitions (tuple[CampaignTransition, ...])

  • phase_changes (tuple[CampaignPhaseChange, ...])

  • membership_changes (tuple[CampaignActorMembershipChange, ...])

  • intensity_decisions (tuple[CampaignIntensityDecision, ...])

  • topology_mutations (tuple[CampaignTopologyMutation, ...])

  • lineage (tuple[CampaignLineage, ...])

  • source_snapshots (tuple[CampaignSourceSnapshot, ...])

  • stream_ids (tuple[str, ...])

  • configuration_hash (str)

fraudtwin.campaign_dynamics.evolve_campaigns(config, entities, graph_dataset, run_id)[source][source]

Evolve all configured M11 campaigns in stable order.

Return type:

DynamicCampaignDataset

Parameters:
  • config (SimulationRunConfig)

  • entities (EntityDataset)

  • graph_dataset (GraphFraudDataset)

  • run_id (str)

fraudtwin.campaign_dynamics.register_intensity_model(name, model)[source][source]

Register a campaign intensity model by stable name.

Parameters:
  • name (str) – Non-empty name referenced by campaign-dynamics configuration.

  • model (IntensityModel) – Callable protocol implementation that computes event intensity.

Raises:

ValueError – If name is empty.

Return type:

None

fraudtwin.campaign_dynamics.register_transition_model(name, model)[source][source]

Register a campaign phase-transition model by stable name.

Parameters:
  • name (str) – Non-empty name referenced by campaign-dynamics configuration.

  • model (TransitionModel) – Callable protocol implementation that chooses the next phase.

Raises:

ValueError – If name is empty.

Return type:

None

fraudtwin.campaign_dynamics.resolve_campaign_dynamics(config)[source][source]

Validate and resolve registered models without consuming randomness.

Return type:

tuple[CampaignDynamicsBinding, ...]

Parameters:

config (SimulationRunConfig)

fraudtwin.campaign_dynamics.validate_campaign_dynamics(config, entities, dataset)[source][source]

Validate dynamic IDs, lifecycle records, graph membership, and ledger closure.

Return type:

None

Parameters: