feat(onboarding): unified multi-target model + scan matrix foundation #134

Merged
sharang merged 2 commits from feat/onboarding-foundation into main 2026-07-10 13:41:26 +00:00
2 Commits
Author SHA1 Message Date
Sharang ParnerkarandClaude Fable 5 e99c34630e fix(audit): bump crossbeam-epoch to 0.9.20 (RUSTSEC-2026-0204)
CI / Check (pull_request) Successful in 8m9s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
Invalid pointer dereference in the `fmt::Pointer` impl for `Atomic`/`Shared`
when the underlying pointer is invalid. Lockfile-only bump; no code changes.

Refs #118.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 15:30:45 +02:00
Sharang ParnerkarandClaude Fable 5 def7371d6a feat(onboarding): unified multi-target model + scan matrix foundation
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Check (pull_request) Failing after 4m28s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
Backend foundation for the artifact-aware onboarding redesign (epic #118),
replacing the git-only TrackedRepository / DastTarget split with a unified
OnboardedTarget classified by target type and carrying its artifacts.

compliance-core:
- OnboardedTarget model: TargetType (9 families), ArtifactKind (8 kinds),
  Artifact with per-kind config, ArtifactAuth (folds git auth + DastAuthConfig),
  Classification, TargetScanConfig (reuses pentest + tracker config).
- Table-driven scan-applicability matrix: applicable_scans / rules_for /
  supports_pentest, with SAST umbrella + firmware/PLC/mobile/DAST gated on
  artifact presence.
- TargetClassifier port trait, mirroring the Scanner trait.
- Additive ScanType/ScanPhase variants (firmware/PLC/mobile/container);
  ScanType is now Copy.

compliance-agent:
- onboarded_targets collection accessor + indexes (artifacts.source_ref,
  artifacts.kind, target_type).
- Drop a now-redundant ScanType clone surfaced by the Copy derive.

Foundation only (steps 1-2 of the approved plan); legacy scan paths untouched.
17 new unit tests; passes fmt + clippy -D warnings (agent, dashboard, mcp).

Refs #118, #119, #122, #121.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:23:51 +02:00