Three target models exist today with no shared abstraction: TrackedRepository (SAST path), DastTarget (DAST path), and the pentest target/PentestSession. None captures what kind of software the target is, nor which artifacts it has.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #118.
Context
Three target models exist today with no shared abstraction:
TrackedRepository(SAST path),DastTarget(DAST path), and the pentest target/PentestSession. None captures what kind of software the target is, nor which artifacts it has.Scope
TargetTypeenum:WebApp,BackendService,DesktopApp,AndroidApp,IosApp,FirmwareBareMetal,FirmwareRtos,EmbeddedLinuxYocto,PlcSps.ArtifactKindenum:GitRepo,SourceArchive,FirmwareImage,MobilePackage(APK/AAB/IPA),ContainerImage,LiveUrl,PlcProject,PlaintextDescription.OnboardedTargetaggregate: id, name,target_type,Vec<Artifact>, enabled scan configs, environment, timestamps.Artifact { kind, location/ref, metadata, detected_facts }.compliance-core/src/models/and the Mongo repo layer.TrackedRepository/DastTargetcompiling (migration handled in ONB-14).Acceptance criteria
compliance-core/tests/models.rs).Depends on
None (foundational — do first).