using GB5Shared.DTO.Framework.Login;
using PIEDAL.DTO.Proposal;
namespace PIEBLL.Signal;
///
/// Phase 2 — Signal detection and pattern analysis.
/// Populated by Dapr subscriptions: idms.engagement.completed, idms.golive.declared.
/// Stub interface; full implementation unblocked when AEO gap detection spec (OI-18) is finalised.
///
public interface IPIESignalBLL
{
///
/// Triggered when an IDMS engagement completes.
/// Records outcome, updates deviation data, feeds pattern detection.
///
Task ProcessEngagementCompletedAsync(
Guid engagementId, LoginDTO login, CancellationToken ct);
///
/// Triggered when go-live is declared for an engagement.
/// Triggers signal analysis and — if a gap is detected — creates an AEO gap proposal.
///
Task ProcessGoLiveDeclaredAsync(
Guid engagementId, LoginDTO login, CancellationToken ct);
///
/// Creates a learning proposal of type AEO_GAP when signal analysis detects a gap.
/// Phase 2 — requires IAICapabilityService (OI-18).
///
Task CreateAeoGapProposalAsync(
PIELearningProposalDTO dto, LoginDTO login, CancellationToken ct);
}