The onboarding wizard created OnboardedTargets that were invisible in the
dashboard, and triggering a scan failed with "Repository <id> not found":
`/targets/{id}/scan` went through `run_scan`, which consulted the global
`unified_pipeline` flag and fell to the legacy repository pipeline (reads
`repositories`, not `onboarded_targets`).
Agent
- Add `ComplianceAgent::run_target_scan`, always dispatching to the unified
`run_target` pipeline. The target-scan endpoint operates on
`onboarded_targets` by construction, so it must not depend on the
transition flag. `trigger_target_scan` now calls it.
- Default `UNIFIED_PIPELINE` to on (no legacy `repositories` data in prod);
set `UNIFIED_PIPELINE=0` to opt back to the legacy pipeline.
- Scheduler now scans `onboarded_targets` (via `run_target_scan`) instead of
the legacy `repositories` collection.
Dashboard
- New Targets page (`/targets`): lists onboarded targets with detected type,
artifacts, findings count, applicable-scans matrix (on expand), plus Run
scan and Delete. Sidebar "Repositories" nav becomes "Targets".
- Remove the "Add Repository" form from the Repositories page — onboarding
is the single entry point (private-repo auth + issue tracker move into the
onboarding flow, revisable on the target).
- Add `delete_target` server fn.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Complete the onboard -> scan -> results loop in-UI:
- POST /api/v1/targets/{id}/scan (404s unknown targets) spawns run_scan, which
dispatches to the unified pipeline under UNIFIED_PIPELINE.
- Wizard Done step gains a "Run scan" button (server fn trigger_target_scan)
with inline status, so a user can onboard and kick off a scan without curl.
Passes fmt + clippy -D warnings (agent, dashboard server + web).
Closes#126, #127. Refs #131, #133, #118.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Each deploy job now builds the per-service image, pushes to the
private registry as :latest and :sha, then triggers an HMAC-signed
orca redeploy webhook. Coolify webhooks are no longer used.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>