Files
personaEngine2/PersonaEngine.psd1
T
dave 5f125c34f2 Add elapsed run time, per-account results CSV, and a default config path
Summaries now show elapsed wall-clock time since the run started, and every
summary (interim and final) overwrites a results.csv (Object ID, UPN,
persona/status) next to the audit log, so an operator has a plain export
without parsing NDJSON. ConfigPath also now defaults to
./config/persona-engine.json instead of requiring -ConfigPath every run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 22:10:24 -04:00

77 lines
2.6 KiB
PowerShell

@{
RootModule = 'PersonaEngine.psm1'
ModuleVersion = '0.1.0'
GUID = 'b3f1c2d4-5e6a-47b8-9c0d-1e2f3a4b5c6d'
Author = 'Persona Engine maintainers'
Description = 'Deterministic, configuration-driven identity classification for Microsoft Entra ID user objects.'
# PS 7.2 floor rather than 7.4: the Azure Automation runtime version is
# unverified until Stage B (research.md V-5b). Do not raise without evidence.
PowerShellVersion = '7.2'
# OTD-004: authentication and Invoke-MgGraphRequest only. No resource-specific
# Graph SDK modules — keeping the Automation import surface to one module.
RequiredModules = @('Microsoft.Graph.Authentication')
FunctionsToExport = @(
# Configuration
'Import-PersonaConfiguration'
'Test-PersonaConfiguration'
'Test-PersonaConfigurationSemantic'
'Test-PersonaConfigurationSafety'
'Write-PersonaValidationFinding'
'Resolve-TargetAttribute'
'Get-PersonaRequiredFacets'
'New-PersonaValidationFinding'
# Normalization
'New-PersonaUserRecord'
'New-PersonaMembershipRecord'
'ConvertTo-PersonaUserRecord'
'ConvertTo-PersonaMembershipRecord'
# Rule engine
'Test-PersonaCondition'
'Test-PersonaConditionGroup'
'Test-PersonaRule'
'Resolve-UserPersona'
# Authentication and data providers
'Connect-PersonaGraphInteractive'
'Invoke-PersonaGraphRequest'
'Get-PersonaUsers'
'Get-PersonaRequiredProperties'
'Get-PersonaGroupMembership'
'Get-PersonaDirectoryRoles'
'New-PersonaDataCache'
'Get-PersonaCachedMembership'
# Persistence
'Compare-PersonaValue'
'New-PersonaWriteBody'
'Set-UserPersonaAttribute'
# Presentation
'Write-UserPersonaResult'
'Write-PersonaSummary'
'New-PersonaRunCounter'
'Add-PersonaRunResult'
'Test-PersonaReconciliation'
'Get-PersonaReconciliationDetail'
'Export-PersonaResultsCsv'
# Audit
'New-PersonaAuditContext'
'New-PersonaAuditRecord'
'Write-PersonaAuditRecord'
'New-PersonaAuditSinkState'
'Export-PersonaRunReport'
# Run loop
'Invoke-PersonaEngineRun'
)
CmdletsToExport = @()
VariablesToExport = @()
AliasesToExport = @()
PrivateData = @{
PSData = @{
Tags = @('Entra', 'Identity', 'Classification')
ProjectUri = ''
}
}
}