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:
RegionalManufacturerGlobalSaaSHealthcareNetworkPublicSectorAgencyRetailDistribution
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:
RegionalManufacturerGlobalSaaSHealthcareNetwork
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:
FastGrowthPostMergerComplianceHeavyUnderGovernedModernization
Compatibility overlays are still accepted for existing scenarios:
IdentityHeavyLegacyInfrastructureHighAnomalyDensityRemoteWorkforceMultiRegionExpansion
$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:
SecurityLabItOperationsComplianceAuditEngineeringCollaboration
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:
Cleanfor baseline or control worldsRealisticfor balanced realismAggressivefor 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.