Skip to content

Commit 1b56e1d

Browse files
committed
Release RelayX v0.1.13 lab provenance
1 parent 12ae885 commit 1b56e1d

31 files changed

Lines changed: 1521 additions & 112 deletions

README.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ telemetry.
7070
- Standard lab matrix planning and corpus coverage verification for HTTP/IIS
7171
EPA, AD CS Web Enrollment EPA, LDAP signing, LDAPS CBT, and MSSQL
7272
encryption/EPA states.
73+
- Lab corpus provenance review for synthetic fixture marking, authorized lab
74+
capture metadata, endpoint build metadata, drift baselines, and operator
75+
promotion decisions.
7376
- Lab response differential analysis for stable policy-state pairs, including
7477
discriminator keys, context-only differences, and promotion support.
7578
- Evidence completeness reporting for finding/path records, including protocol
@@ -218,6 +221,7 @@ relayx compare-baseline Compare baseline and candidate lab result signatures
218221
relayx lab-matrix Print the standard RelayX lab policy matrix
219222
relayx lab-corpus Extract lab calibration signatures from a result
220223
relayx lab-verify Verify lab corpuses against the standard matrix
224+
relayx lab-provenance Audit lab corpus provenance and review readiness
221225
relayx lab-stability Assess repeat-capture lab stability and drift
222226
relayx lab-diff Compare stable lab policy-state response differences
223227
relayx lab-index Summarize lab signature corpuses
@@ -304,9 +308,9 @@ relayx schema validate --kind module-manifest fixtures/execution_modules
304308
```
305309

306310
Supported kinds include `result`, `evidence`, `lab-profile`, `lab-corpus`,
307-
`lab-stability`, `lab-differential`, `evidence-report`, `execution-record`,
308-
`module-manifest`, `opsec-policy`, `route-report`, `bundle-manifest`,
309-
`quality-gate`, `opengraph`, `jsonl`, and `csv`.
311+
`lab-provenance`, `lab-stability`, `lab-differential`, `evidence-report`,
312+
`execution-record`, `module-manifest`, `opsec-policy`, `route-report`,
313+
`bundle-manifest`, `quality-gate`, `opengraph`, `jsonl`, and `csv`.
310314
Validation reports explain invalid fields by path and return exit code `2` when
311315
an artifact does not satisfy the selected contract.
312316

@@ -328,6 +332,7 @@ relayx calibrate result.json --profiles fixtures/lab_profiles --annotate-out cal
328332
relayx compare-baseline --baseline epa-off.json --candidate epa-required.json --profiles fixtures/lab_profiles
329333
relayx lab-matrix --target-family mssql_epa --format json --out lab-matrix.json
330334
relayx lab-verify --corpus fixtures/lab_corpus --format json --out lab-verify.json
335+
relayx lab-provenance --corpus fixtures/lab_corpus --format json --out lab-provenance.json
331336
relayx lab-stability --corpus fixtures/lab_corpus --min-captures 2 --format json --out lab-stability.json
332337
relayx lab-diff --corpus fixtures/lab_corpus --target-family http_iis_epa --format json --out lab-diff.json
333338
relayx lab-corpus result.json --label iis-epa-required --policy-state epa_required --expected-state epa_or_cbt_enforcement_signal --promotion promote --format json --out corpus.json
@@ -338,12 +343,14 @@ Calibration can promote a finding only when the supplied profile and baseline
338343
difference support that conclusion. Otherwise RelayX keeps the original
339344
conservative state and explains the remaining uncertainty.
340345

341-
`lab-matrix`, `lab-verify`, `lab-stability`, `lab-diff`, `lab-corpus`, and
342-
`lab-profile` are offline research helpers. They do not create network traffic;
343-
they turn already captured RelayX results into reusable signature corpuses,
344-
verify coverage against the standard policy matrix, measure repeat-capture
345-
stability and drift, compare stable policy-state response differentials, and
346-
generate profile drafts for review.
346+
`lab-matrix`, `lab-verify`, `lab-provenance`, `lab-stability`, `lab-diff`,
347+
`lab-corpus`, and `lab-profile` are offline research helpers. They do not
348+
create network traffic; they turn already captured RelayX results into reusable
349+
signature corpuses, verify coverage against the standard policy matrix, audit
350+
provenance and operator review readiness, measure repeat-capture stability and
351+
drift, compare stable policy-state response differentials, and generate profile
352+
drafts for review. Synthetic fixtures are useful for pipeline tests and
353+
examples, but RelayX does not treat them as real lab promotion evidence.
347354

348355
## Safety Boundary
349356

docs/CLI.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ relayx help export -f json
3838
`paths`, `rank`, `explain`
3939
- Analysis: `calculus`, `controls`, `fixes`, `plan`, `evidence-report`,
4040
`calibrate`, `compare-baseline`, `lab-matrix`, `lab-corpus`, `lab-verify`,
41-
`lab-stability`, `lab-diff`, `lab-profile`
41+
`lab-provenance`, `lab-stability`, `lab-diff`, `lab-profile`
4242
- Validation: `validate`, `source-check`, `source-plan`, `run`
4343
- Enterprise: `profiles`, `report`, `export`, `bundle`, `diff`,
4444
`simulate-fixes`, `quality-gate`
@@ -123,9 +123,9 @@ relayx schema validate -k jsonl relayx-events.jsonl
123123
```
124124

125125
Supported schema kinds are `result`, `evidence`, `lab-profile`, `lab-corpus`,
126-
`lab-stability`, `lab-differential`, `evidence-report`, `execution-record`,
127-
`module-manifest`, `opsec-policy`, `route-report`, `bundle-manifest`,
128-
`quality-gate`, `opengraph`, `jsonl`, and `csv`.
126+
`lab-provenance`, `lab-stability`, `lab-differential`, `evidence-report`,
127+
`execution-record`, `module-manifest`, `opsec-policy`, `route-report`,
128+
`bundle-manifest`, `quality-gate`, `opengraph`, `jsonl`, and `csv`.
129129
Invalid artifacts return exit code `2`.
130130

131131
Pin `-k/--kind` when validating a directory. Auto inference is useful for a
@@ -170,6 +170,7 @@ relayx lab-matrix
170170
relayx lab-matrix -t mssql_epa -f json -o lab-matrix.json
171171
relayx lab-verify -c fixtures/lab_corpus
172172
relayx lab-verify -c fixtures/lab_corpus -t ldaps_cbt -m 2 -f json
173+
relayx lab-provenance -c fixtures/lab_corpus -f json -o lab-provenance.json
173174
relayx lab-stability -c fixtures/lab_corpus -m 2
174175
relayx lab-stability -c fixtures/lab_corpus -t mssql_epa -m 3 -T 0.9 -f json
175176
relayx lab-diff -c fixtures/lab_corpus -t http_iis_epa -p epa_off:epa_required -f json
@@ -181,6 +182,14 @@ AD CS Web Enrollment EPA, LDAP signing, LDAPS CBT, and MSSQL encryption/EPA.
181182
required state has the expected stable signature keys. The commands are
182183
offline; they do not scan or promote findings by themselves.
183184

185+
`lab-provenance` is the corpus evidence-admission layer. It audits whether
186+
each corpus declares synthetic versus non-synthetic origin, capture source,
187+
endpoint build metadata, drift baseline, and capture-level operator review.
188+
Synthetic fixtures may pass the structure contract but are explicitly marked as
189+
not real lab promotion evidence. Non-synthetic `promote` or `block` hints are
190+
reported as not promotion-ready until the corpus and capture review approve the
191+
decision.
192+
184193
`lab-stability` is the repeat-capture quality layer. It groups captures by
185194
target family and lab policy state, computes `consistency_score` as the dominant
186195
stable-signature ratio, reports drift keys, and explains why promotion hints

docs/ENTERPRISE_OUTPUTS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,10 @@ for CI and ingestion pipeline checks.
8585

8686
`relayx quality-gate` is the local CI and release gate. It validates package
8787
metadata, schema catalog coverage, JSON fixtures, schema fixture directories,
88-
enterprise output matrix coverage, lab matrix coverage, lab stability checks,
89-
lab differential checks, evidence-report checks, evidence source taxonomy
90-
coverage, documentation coverage, and GitHub Actions workflow presence. Failed
88+
enterprise output matrix coverage, lab matrix coverage, lab provenance checks,
89+
lab stability checks, lab differential checks, evidence-report checks, evidence
90+
source taxonomy coverage, including the evidence source taxonomy used by result
91+
reviews, documentation coverage, and GitHub Actions workflow presence. Failed
9192
gates return exit code `2`.
9293

9394
```bash

docs/LAB_VALIDATION.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ commands:
5656
relayx lab-matrix
5757
relayx lab-matrix --target-family mssql_epa --format json --out lab-matrix.json
5858
relayx lab-verify --corpus fixtures/lab_corpus --format json --out lab-verify.json
59+
relayx lab-provenance --corpus fixtures/lab_corpus --format json --out lab-provenance.json
5960
relayx lab-stability --corpus fixtures/lab_corpus --min-captures 2 --format json --out lab-stability.json
6061
relayx lab-diff --corpus fixtures/lab_corpus --target-family http_iis_epa --format json --out lab-diff.json
6162
```
@@ -65,6 +66,14 @@ covers the required policy states and stable signature keys. Verification does
6566
not promote findings by itself; promotion still requires reviewed calibration
6667
profiles or a stable baseline difference.
6768

69+
`lab-provenance` is the evidence-admission contract. It checks whether each
70+
corpus records synthetic versus non-synthetic origin, capture source, endpoint
71+
build metadata, drift baseline metadata, and capture-level operator review.
72+
Synthetic fixtures may pass structure checks, but RelayX keeps them out of real
73+
promotion readiness. Non-synthetic `promotion=promote` or `promotion=block`
74+
hints require endpoint build metadata, drift baseline metadata, and explicit
75+
operator review before they can support profile promotion.
76+
6877
`lab-stability` is the repeat-capture quality contract. It groups captures by
6978
target family and policy state, computes a dominant-signature
7079
`consistency_score`, reports changed stable-signature fields as `drift_keys`,
@@ -124,6 +133,11 @@ remaining uncertainty. This is intentionally stricter than a plain confidence
124133
label: a `high` confidence decision must still explain what evidence supports
125134
it and which interpretation boundary remains.
126135

136+
Lab provenance reports expose evidence model
137+
`lab_corpus_provenance_review`. That contract records the boundary between
138+
synthetic fixtures, operator-supplied captures, real lab captures, endpoint
139+
build metadata, drift baselines, and operator-approved promotion decisions.
140+
127141
Lab stability reports expose a separate confidence contract with evidence model
128142
`repeat_capture_stability`. That contract records the consistency rule,
129143
promotion boundary, and auto-downgrade rule used when a corpus or generated

docs/README.fr.md

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ echec.
6262
possibles et des cas qui doivent rester conservateurs.
6363
- Extraction de lab signature corpus et generation de drafts de calibration
6464
profile pour les exercices red/blue reproductibles.
65+
- Revue de provenance des lab corpuses pour distinguer synthetic fixtures,
66+
captures lab autorisees, metadonnees endpoint build, drift baselines et
67+
decisions operateur de promotion.
6568
- Validation et execution records controles en modes dry-run, armed et
6669
confirmed, avec contexte operateur, controles timebox/noise/scope et audit
6770
logs JSONL.
@@ -76,8 +79,9 @@ echec.
7679
modules via JSON manifest, credential policy guardrails, listener policy
7780
guardrails et adapter lifecycle auditable.
7881
- Validation versionnee des schemas et du contrat evidence pour resultats,
79-
profils lab, corpuses, execution records, evidence reports, module manifests,
80-
OpenGraph, JSONL, CSV, OPSEC policy et route report.
82+
profils lab, corpuses, lab provenance reports, execution records, evidence
83+
reports, module manifests, OpenGraph, JSONL, CSV, OPSEC policy et route
84+
report.
8185
- Planification de standard lab matrix et verification de couverture corpus
8286
pour les etats HTTP/IIS EPA, AD CS Web Enrollment EPA, LDAP signing, LDAPS
8387
CBT et MSSQL encryption/EPA.
@@ -216,6 +220,7 @@ relayx compare-baseline Compare signatures baseline et candidate
216220
relayx lab-matrix Affiche la standard lab policy matrix RelayX
217221
relayx lab-corpus Extrait des signatures lab depuis un resultat
218222
relayx lab-verify Verifie les corpuses lab contre la matrice standard
223+
relayx lab-provenance Audite provenance corpus et review readiness
219224
relayx lab-stability Evalue stabilite et drift des captures lab repetees
220225
relayx lab-diff Compare les response differentials entre policy states
221226
relayx lab-index Resume les corpuses de signatures lab
@@ -304,11 +309,11 @@ relayx schema validate --kind module-manifest fixtures/execution_modules
304309
```
305310

306311
Les kinds supportes incluent `result`, `evidence`, `lab-profile`, `lab-corpus`,
307-
`lab-stability`, `lab-differential`, `evidence-report`, `execution-record`,
308-
`module-manifest`, `opsec-policy`, `route-report`, `bundle-manifest`,
309-
`quality-gate`, `opengraph`, `jsonl` et `csv`. Les rapports de validation
310-
expliquent les champs invalides par chemin et renvoient un exit code `2`
311-
lorsque l'artefact ne respecte pas le contrat choisi.
312+
`lab-provenance`, `lab-stability`, `lab-differential`, `evidence-report`,
313+
`execution-record`, `module-manifest`, `opsec-policy`, `route-report`,
314+
`bundle-manifest`, `quality-gate`, `opengraph`, `jsonl` et `csv`.
315+
Les rapports de validation expliquent les champs invalides par chemin et
316+
renvoient un exit code `2` lorsque l'artefact ne respecte pas le contrat choisi.
312317

313318
`relayx evidence-report -r result.json` audite un resultat existant hors ligne,
314319
sans trafic reseau. Il signale les records candidate/relayable sans evidence,
@@ -328,6 +333,7 @@ relayx calibrate result.json --profiles fixtures/lab_profiles --annotate-out cal
328333
relayx compare-baseline --baseline epa-off.json --candidate epa-required.json --profiles fixtures/lab_profiles
329334
relayx lab-matrix --target-family mssql_epa --format json --out lab-matrix.json
330335
relayx lab-verify --corpus fixtures/lab_corpus --format json --out lab-verify.json
336+
relayx lab-provenance --corpus fixtures/lab_corpus --format json --out lab-provenance.json
331337
relayx lab-stability --corpus fixtures/lab_corpus --min-captures 2 --format json --out lab-stability.json
332338
relayx lab-diff --corpus fixtures/lab_corpus --target-family http_iis_epa --format json --out lab-diff.json
333339
relayx lab-corpus result.json --label iis-epa-required --policy-state epa_required --expected-state epa_or_cbt_enforcement_signal --promotion promote --format json --out corpus.json
@@ -338,14 +344,17 @@ RelayX ne promeut une conclusion que lorsque le profil et la difference de
338344
baseline la justifient. Sinon, il conserve l'etat conservateur initial et
339345
explique les preuves encore manquantes.
340346

341-
`lab-matrix`, `lab-verify`, `lab-stability`, `lab-diff`, `lab-corpus` et
342-
`lab-profile` sont des aides de recherche hors ligne. Ils ne generent pas de
343-
trafic reseau; ils transforment des resultats RelayX deja captures en corpuses
344-
de signatures, verifient la couverture contre la matrice standard, mesurent la
345-
stabilite et le drift des captures repetees, comparent les response
346-
discriminators entre etats de politique stables, et generent des drafts de
347-
profiles a reviser. `lab-diff` travaille sur les etats stables d'un corpus;
348-
utilisez `compare-baseline` pour comparer deux fichiers resultat RelayX.
347+
`lab-matrix`, `lab-verify`, `lab-provenance`, `lab-stability`, `lab-diff`,
348+
`lab-corpus` et `lab-profile` sont des aides de recherche hors ligne. Ils ne
349+
generent pas de trafic reseau; ils transforment des resultats RelayX deja
350+
captures en corpuses de signatures, verifient la couverture contre la matrice
351+
standard, auditent la provenance et la review readiness, mesurent la stabilite
352+
et le drift des captures repetees, comparent les response discriminators entre
353+
etats de politique stables, et generent des drafts de profiles a reviser. Les
354+
synthetic fixtures servent aux tests de pipeline et aux exemples, mais RelayX
355+
ne les traite pas comme preuve de promotion issue d'un vrai lab. `lab-diff`
356+
travaille sur les etats stables d'un corpus; utilisez `compare-baseline` pour
357+
comparer deux fichiers resultat RelayX.
349358

350359
## Frontiere de securite
351360

0 commit comments

Comments
 (0)