Add comprehensive CV verification checks and dashboard auto-refresh
- Add dashboard auto-refresh polling to update when processing completes - Skip verification for freelance employers (but not contractors) - Add incorporation date check (flags employment before company existed) - Add dissolution date check (flags employment at dissolved companies) - Add dormant company check (flags non-director roles at dormant companies) - Add company size vs role check (flags senior roles at micro-entities) - Add SIC code mismatch check (flags tech roles at non-tech companies) - Add director verification against Companies House officers - Add rapid career progression detection (3+ seniority jumps in <2 years) - Add early career senior role detection (<2 years after education) - Extend CompanyVerificationResult with flags and company data - Add officers endpoint to Companies House client - Fix null reference warning in Report.razor Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ namespace TrueCV.Application.Interfaces;
|
||||
|
||||
public interface ICompanyVerifierService
|
||||
{
|
||||
Task<CompanyVerificationResult> VerifyCompanyAsync(string companyName, DateOnly? startDate, DateOnly? endDate);
|
||||
Task<CompanyVerificationResult> VerifyCompanyAsync(string companyName, DateOnly? startDate, DateOnly? endDate, string? jobTitle = null);
|
||||
Task<List<CompanySearchResult>> SearchCompaniesAsync(string query);
|
||||
Task<bool?> VerifyDirectorAsync(string companyNumber, string candidateName, DateOnly? startDate, DateOnly? endDate);
|
||||
}
|
||||
|
||||
@@ -10,4 +10,26 @@ public sealed record CompanyVerificationResult
|
||||
public string? VerificationNotes { get; init; }
|
||||
public DateOnly? ClaimedStartDate { get; init; }
|
||||
public DateOnly? ClaimedEndDate { get; init; }
|
||||
public string? CompanyType { get; init; }
|
||||
public string? ClaimedJobTitle { get; init; }
|
||||
public bool? JobTitlePlausible { get; init; }
|
||||
public string? JobTitleNotes { get; init; }
|
||||
|
||||
// Additional company data for verification checks
|
||||
public string? CompanyStatus { get; init; }
|
||||
public DateOnly? IncorporationDate { get; init; }
|
||||
public DateOnly? DissolutionDate { get; init; }
|
||||
public string? AccountsCategory { get; init; }
|
||||
public List<string>? SicCodes { get; init; }
|
||||
|
||||
// Additional verification flags
|
||||
public List<CompanyVerificationFlag> Flags { get; init; } = [];
|
||||
}
|
||||
|
||||
public sealed record CompanyVerificationFlag
|
||||
{
|
||||
public required string Type { get; init; }
|
||||
public required string Severity { get; init; }
|
||||
public required string Message { get; init; }
|
||||
public int ScoreImpact { get; init; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user