Skip to main content

Scenario Authoring

DataGen scenarios can be authored in several ways:

  • archetype-first with New-SEScenarioFromArchetype
  • persona-first with New-SEScenarioFromPersonaPreset
  • guided interactive authoring with New-SEScenarioWizard
  • compatibility-oriented template-first with New-SEScenarioFromTemplate
  • JSON files checked into source control
  • pipeline object editing and validation

For most new scenarios, start with an archetype, a persona preset, or the wizard. The wizard now leads with archetypes, recommends overlays, and can suggest bundled domain packs such as FirstParty.ITSM, FirstParty.SecOps, and FirstParty.BusinessOps based on the archetype and overlays you choose.

Archetypes

Archetypes are the first-class product-facing scenario catalog.

The current built-in archetype surface includes:

  • RegionalManufacturer
  • GlobalSaaS
  • HealthcareNetwork
  • PublicSectorAgency
  • RetailDistribution

Use archetypes when you want a market-facing starting point that is meant to pair naturally with overlays and persona presets over time.

Get-SEScenarioArchetype
New-SEScenarioFromArchetype -Archetype PublicSectorAgency

Templates

Templates remain available as a compatibility-oriented alias for the legacy starter set:

  • RegionalManufacturer
  • GlobalSaaS
  • HealthcareNetwork

Use templates when you need compatibility with existing workflows. For new scenario authoring, prefer archetypes, personas, or the wizard.

Get-SEScenarioTemplate
New-SEScenarioFromTemplate -Template RegionalManufacturer

Overlays

Overlays let you bias a scenario without rebuilding it from scratch.

The current overlay set includes product-facing operating overlays such as:

  • FastGrowth
  • PostMerger
  • ComplianceHeavy
  • UnderGoverned
  • Modernization

Compatibility overlays are still accepted for existing scenarios:

  • IdentityHeavy
  • LegacyInfrastructure
  • HighAnomalyDensity
  • RemoteWorkforce
  • MultiRegionExpansion
$scenario = New-SEScenarioFromArchetype -Archetype GlobalSaaS
$merged = Merge-SEScenarioOverlay -Scenario $scenario -Overlay FastGrowth,PostMerger

Guided composition

New-SEScenarioWizard is now the easiest way to build a scenario without dropping into low-level tuning immediately.

The guided flow does three things:

  • starts from an archetype instead of a legacy template
  • recommends overlays that fit that archetype
  • recommends bundled first-party packs when the archetype or overlays imply operating domains such as ITSM, SecOps, or BusinessOps

If you keep the guided defaults, the wizard preserves the archetype's industry and geography settings. You can still opt into editing those details when needed.

Persona presets

Persona presets are the highest-level authoring surface when you want to start from a use case instead of an industry shape.

The current built-in personas are:

  • SecurityLab
  • ItOperations
  • ComplianceAudit
  • EngineeringCollaboration

Each persona maps to a coherent archetype plus overlays and bundled pack recommendations.

Get-SEScenarioPersonaPreset
New-SEScenarioFromPersonaPreset -Persona SecurityLab

You can also apply a persona to an existing scenario:

$scenario = New-SEScenarioFromArchetype -Archetype RegionalManufacturer
$scenario = Merge-SEScenarioPersonaPreset -Scenario $scenario -Persona ItOperations

JSON authoring

For repeatable workflows, JSON is often the best long-term format.

A compact example:

{
"name": "Validation Tenant",
"archetype": "GlobalSaaS",
"deviationProfile": "Realistic",
"industryProfile": "Software",
"geographyProfile": "Global",
"employeeSize": {
"minimum": 1200,
"maximum": 1800
},
"identity": {
"includeHybridDirectory": false,
"includeM365StyleGroups": true,
"includeB2BGuests": true,
"staleAccountRate": 0.02
},
"applications": {
"includeApplications": true,
"baseApplicationCount": 10,
"includeLineOfBusinessApplications": true,
"includeSaaSApplications": true
},
"cmdb": {
"includeConfigurationManagement": true,
"includeBusinessServices": true,
"includeCloudServices": true,
"includeAutoDiscoveryRecords": true,
"includeServiceCatalogRecords": true,
"includeSpreadsheetImportRecords": true,
"deviationProfile": "Clean"
},
"observedData": {
"includeObservedViews": true,
"coverageRatio": 0.85
}
}

Authored scenarios now preserve application, CMDB, and observed-data settings all the way through resolve, validation, and generation instead of treating them as internal-only knobs.

Resolve before generation

Always resolve and validate before generation in automation:

$resolved = Resolve-SEScenario -Path .\scenario.json
$validation = Test-SEScenario -Scenario $resolved
$validation

Quality and realism loop

Scenario authoring is not just about getting to a valid JSON shape. The current workflow should usually end with a quality review as well:

$world = New-SEEnterpriseWorld -Scenario $resolved -Seed 4242
$world.Quality

For repeatable review runs, use the realism review script:

.\scripts\invoke-realism-review.ps1 `
-ScenarioPath .\scenario.json `
-Seed 4242 `
-OutputFormat Both `
-OutputPath .\artifacts\quality\scenario-review.md `
-JsonOutputPath .\artifacts\quality\scenario-review.json

That gives you both operator-readable notes and CI-friendly validation output.

Deviation profile

Scenario authoring now separates enterprise richness from realism messiness.

Use:

  • Clean for baseline or control worlds
  • Realistic for balanced realism
  • Aggressive for deliberately messier environments

Read more in Realism and Deviations.

Hard invariants

Deviation profiles do not relax core correctness rules.

For example:

  • duplicate user principal names are not considered a realistic flaw
  • structurally invalid identity data should fail generation

Use deviation profiles to control believable messiness, not impossible directory states.