Compare commits

..
2 Commits
Author SHA1 Message Date
Sharang ParnerkarandClaude Opus 4.8 a799a9890a fix(onboarding): targets visibility + unified pipeline by default
CI / Check (pull_request) Successful in 5m52s
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
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>
2026-07-13 09:11:37 +02:00
Sharang ParnerkarandClaude Fable 5 9919afa0ee feat(onboarding): scan-trigger endpoint + wizard Run-Scan button
CI / Check (pull_request) Successful in 5m40s
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
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>
2026-07-13 00:13:26 +02:00
+2 -5
View File
@@ -29,13 +29,10 @@ env:
CARGO_NET_RETRY: "10"
CARGO_HTTP_MULTIPLEXING: "false"
# Cancel superseded PR runs, but NEVER cancel main-branch runs — those build and
# deploy per-service images, and cancelling one merge's deploy when the next
# merge lands leaves a service un-deployed (as happened between two back-to-back
# merges). So cancel-in-progress only for pull_request events.
# Cancel in-progress runs for the same branch/PR
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
cancel-in-progress: true
jobs:
# ---------------------------------------------------------------------------