You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/adrs/00014-enterprise-contract-integration.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ An EC Wrapper (HTTP service) acts as a proxy between Trustify's EC service and C
34
34
35
35
Each SBOM + policy pair has a validation state that follows this lifecycle:
36
36
37
-
-**Pending** — initial state, set when an SBOM is associated with a policy. Indicates no validation has been triggered yet for this SBOM against this policy.
37
+
-**Pending** — initial state, indicates no validation has been triggered yet for this SBOM against this policy.
38
38
-**In Progress** — a user has triggered validation; the request is being processed. Other users can see this state, preventing duplicate validation runs for the same SBOM + policy pair.
39
39
-**Pass** — Conforma validation succeeded; the SBOM satisfies the policy.
40
40
-**Fail** — Conforma validation found policy violations; violation details are linked.
@@ -45,10 +45,10 @@ The "In Progress" state serves as a concurrency guard: if a validation is alread
45
45
What is stored where
46
46
47
47
- PostgreSQL: validation status, structured violations (JSONB), summary statistics, foreign keys to SBOM and policy. Indexed on sbom_id, status, executed_at.
48
-
-S3/Minio: full raw Conforma JSON report, linked from the DB row via report_url. Keeps DB rows small while preserving audit completeness.
48
+
-Storage system: full raw Conforma JSON report, linked from the DB row via report_path. Keeps DB rows small while preserving audit completeness.
49
49
- Not stored: the policy definitions themselves. ec_policies stores references (URLs, OCI refs) that Conforma fetches at runtime.
50
50
51
-
Storing full JSON in S3 rather than only a summary was chosen explicitly to preserve audit completeness — callers can always fetch the raw report. The DB violations JSONB holds enough structure for filtering and dashboards without duplicating the full payload.
51
+
Storing full JSON in storage system rather than only a summary was chosen explicitly to preserve audit completeness — callers can always fetch the raw report. The DB violations JSONB holds enough structure for filtering and dashboards without duplicating the full payload.
52
52
53
53
## Consequences
54
54
@@ -294,11 +294,11 @@ sequenceDiagram
294
294
alt Pass
295
295
VS->>DB: UPDATE ec_validation_results SET status='pass', violations=[]
0 commit comments