DiscoveryModuleBase
Discovery Module Base for M&A Discovery Suite
What it does
Provides base functionality and common patterns for discovery modules. This module serves as a foundation for all discovery operations including standardized initialization, error handling, logging, and result formatting to ensure consistent behavior across all discovery modules in the suite. RECORDCOUNT PATTERN: All discovery modules should set the RecordCount property on the result object to track the total number of primary discovery records. This provides consistent counting across all modules for UI display and reporting. Standard pattern: - Success case: $result.RecordCount = @($discoveryData.PrimaryDataType).Count - Error case: RecordCount defaults to 0 (handled by base module) - Metadata: RecordCount is also stored in $result.Metadata["TotalRecords"] Example: $result.RecordCount = @($discoveryData.ConditionalAccessPolicies).Count $result.Metadata["TotalRecords"] = $result.RecordCount
How the app exposes it
The module runs through the ACQI discovery orchestrator and writes its rows into a dedicated results view. From there, conflicts, dependencies, and readiness scores feed the deal-wide consolidation layer.
/discovered/discovery-module-base Outputs
Each module emits a normalised CSV keyed by entity ID with readiness and risk scores, evidence-source counts, and last-seen timestamps. The exact column set varies by module — the app's results view shows the live schema.