Class GateController

java.lang.Object
dev.dokimos.server.controller.v1.GateController

@RestController @RequestMapping("/api/v1/experiments") public class GateController extends Object
Exposes the CI regression gate. The single endpoint compares an already-ingested candidate run against a resolved baseline and returns a pass/fail verdict CI can branch on.

This is a POST but read-only on stored data; it sits under /api/v1/** and so is subject to the existing API-key auth filter for write methods.

  • Constructor Details

    • GateController

      public GateController(GateService gateService)
  • Method Details

    • evaluateGate

      @PostMapping("/{experimentId}/gate") public GateResult evaluateGate(@PathVariable UUID experimentId, @Valid @RequestBody @Valid GateRequest request)
      Evaluates the regression gate for a candidate run.
      Parameters:
      experimentId - the experiment the candidate belongs to
      request - the gate request; candidateRunId is required
      Returns:
      the gate verdict; HTTP 200 on PASS, FAIL, and NO_BASELINE alike (the verdict is in the body). 404 when the experiment or a referenced run is missing, 409 when the candidate run is not terminal, 400 when candidateRunId is absent