feat(api): CL0UD capability probe + a11y/HAR evidence + worker scale toggle
CI (SIAX Cloud) / contracts (pull_request) Successful in 17s
CI (SIAX Cloud) / contracts (push) Successful in 17s
CI (SIAX Cloud) / quality (pull_request) Successful in 54s
CI (SIAX Cloud) / quality (push) Successful in 56s
CI (SIAX Cloud) / security (pull_request) Successful in 1m7s
CI (SIAX Cloud) / security (push) Successful in 1m5s

- cl0ud client: contract-first probe of documented GET /capabilities/:id,
  status connected/denied/unavailable/disabled surfaced in /health;
  CL0UD_REQUIRED=true = fail-closed 503; full policy-decisions gated on
  CL0UD B-4/ADR-0031 (deliberately not simulated)
- capture depth: accessibility tree + condensed HAR as evidence kinds
  (null = explicit evidence gap)
- CAPTURE_WORKER=on/off for separate-scale deployments
- 34/34 tests
This commit is contained in:
2026-09-16 23:21:54 +02:00
parent 5c62f32068
commit f6ff1396d8
5 changed files with 255 additions and 2 deletions
+4
View File
@@ -17,6 +17,10 @@ export const envSchema = z.object({
N0D_BASE_URL: z.string().url().optional(),
CRAWL_TIMEOUT_MS: z.coerce.number().default(30000),
MAX_REGISTRY_PAGES: z.coerce.number().default(1000),
CAPTURE_WORKER: z.enum(["on", "off"]).default("on"),
CL0UD_API_TOKEN: z.string().optional(),
CL0UD_REQUIRED: z.enum(["true", "false"]).default("false"),
CL0UD_PROBE_INTERVAL_MS: z.coerce.number().default(300000),
});
export type Env = z.infer<typeof envSchema>;