admin
aacbf3c3d6
fix(config): CL0UD_BASE_URL optional (disabled state until CL0UD machine surface exists)
CI (SIAX Cloud) / security (push) Successful in 12s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / contracts (pull_request) Successful in 16s
CI (SIAX Cloud) / contracts (push) Successful in 45s
CI (SIAX Cloud) / quality (push) Successful in 57s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m21s
2026-09-16 23:28:19 +02:00
admin
f6ff1396d8
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
2026-09-16 23:21:54 +02:00
admin
495050752a
feat(api): real Zitadel token introspection (fail-closed) + expected-audience enforcement
...
CI (SIAX Cloud) / security (push) Successful in 12s
CI (SIAX Cloud) / contracts (push) Successful in 30s
CI (SIAX Cloud) / quality (push) Successful in 1m33s
- preHandler: Bearer tokens are introspected against Zitadel (RFC 7662)
- any introspection failure (unreachable, non-200, bad JSON, inactive) = 401
- asserted aud must include ZITADEL_EXPECTED_AUDIENCE (project id); absent aud accepted per RFC 7662
- config: ZITADEL_INTROSPECTION_CLIENT_ID/SECRET + ZITADEL_EXPECTED_AUDIENCE (optional; Bearer-presence fallback logs warn in prod)
- 13 new tests (introspection fail-closed matrix + preHandler flow)
2026-09-16 22:06:46 +02:00
admin
e26398c496
test(core): add fidelity gate coverage
2026-09-16 21:52:45 +02:00
admin
cfa9a05ad8
feat(core): export reconstruction and fidelity contracts
2026-09-16 21:52:45 +02:00
admin
52f5146940
feat(core): add deterministic fidelity release gate
2026-09-16 21:52:45 +02:00
admin
762b778ee2
feat(core): add reconstruction pipeline contracts
2026-09-16 21:52:45 +02:00
admin
35f1a3ca66
test(core): validate upstream provenance policy
2026-09-16 21:52:45 +02:00
admin
56e4b696f4
feat(core): export provenance validation
2026-09-16 21:51:03 +02:00
admin
b885a160bd
feat(core): add upstream provenance registry validation
2026-09-16 21:51:03 +02:00
admin
1e3abaf824
feat(types): add canonical evidence and reconstruction contracts
2026-09-16 21:51:03 +02:00
admin
e04cf8fbd3
c0py: initial scaffolding for website registry tool
...
Repo: sax3l/c0py (created on Gitea, code pushed)
Initial scaffolding includes:
- apps/api: Fastify API server (typecheck, build, test pass)
- apps/web: Next.js UI (build passes)
- packages/c0py-core: Crawler, registry assembler, analyzer (6 tests pass)
- packages/config: Zod-validated env loader
- packages/types: Shared TypeScript types
CI/CD: .gitea/workflows/ci.yml + deploy.yml
Dockerfile for Coolify deployment
mise.toml (toolchain contract)
lefthook.yml, renovate.json
docs/architecture/OVERVIEW.md, docs/PLATFORM.md
Platform setup required (see docs/PLATFORM.md):
1. Coolify app provision (c0py on server5/6)
2. Postgres database (dedicated, not shared)
3. Infisical secrets (DATABASE_URL, CL0UD, ZITADEL, AUD0, ST0RE, INF0, N0D)
4. DNS c0py.siax.io A-record
5. Zitadel OIDC project (Simon-decision)
Status: dev (repo live, code pushable, platform infra pending)
2026-09-16 13:33:45 +02:00
admin
e6cc719f37
c0py: initial scaffolding for website registry tool
CI (SIAX Cloud) / security (push) Successful in 12s
CI (SIAX Cloud) / contracts (push) Failing after 12s
CI (SIAX Cloud) / quality (push) Failing after 8s
Deploy to Coolify / deploy (push) Failing after 2s
2026-09-16 13:15:21 +02:00