Skip to content

Commit 6db3f83

Browse files
Merge remote-tracking branch 'origin/main' into p98
# Conflicts: # .github/workflows/validate.yml
2 parents 18ef0e0 + d7b329a commit 6db3f83

24 files changed

Lines changed: 349 additions & 21 deletions

File tree

.github/workflows/validate.yml

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,20 @@ jobs:
2121
- name: Validate integration manifests against schema
2222
run: |
2323
pip install jsonschema pyyaml
24-
python - <<'PY'
25-
import json, sys, pathlib, yaml, jsonschema
26-
schema = json.loads(pathlib.Path("schema/integration.schema.json").read_text())
27-
failures = 0
28-
dirs = [d for d in pathlib.Path("integrations").iterdir() if d.is_dir() and not d.name.startswith("_")]
29-
for d in dirs:
30-
manifest = d / "integration.yaml"
31-
readme = d / "README.md"
32-
if not manifest.exists():
33-
print(f"FAIL {d.name}: missing integration.yaml"); failures += 1; continue
34-
if not readme.exists():
35-
print(f"FAIL {d.name}: missing README.md"); failures += 1; continue
36-
try:
37-
jsonschema.validate(yaml.safe_load(manifest.read_text()), schema)
38-
print(f"OK {d.name}")
39-
except jsonschema.ValidationError as e:
40-
print(f"FAIL {d.name}: {e.message}"); failures += 1
41-
print(f"{len(dirs)} integration(s), {failures} failure(s)")
42-
sys.exit(1 if failures else 0)
43-
PY
24+
python scripts/validate_integrations.py
25+
- name: Test manifest validation
26+
run: |
27+
pip install pytest
28+
python -m pytest tests/test_validate_integrations.py -q
29+
- name: Test conditional schema rules
30+
run: |
31+
pip install pytest
32+
python -m pytest tests/test_integration_schema.py -q
33+
- name: Validate compatibility declarations
34+
run: |
35+
pip install packaging
36+
python scripts/validate_compatibility.py
37+
pip install pytest
38+
python -m pytest tests/test_validate_compatibility.py -q
4439
- name: Check generated integration index
4540
run: python scripts/generate_integration_index.py --check

CONTRIBUTING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ Every PR runs: schema validation of `integration.yaml`, link checking, and the c
3030

3131
Want the **Verified** tier? Say so in the PR and include exact reproduction steps. We run it end-to-end; if the documented behavior holds, the tier flips and the index badge follows.
3232

33+
Package support floors are declared once in `compatibility.yaml`. An
34+
integration's `tested_against` block records an exact run, not a version range,
35+
and CI rejects declarations below the repository floor. Raising a floor is a
36+
separate compatibility change and must update affected integrations or explain
37+
their archival path.
38+
3339
## What this repo is not
3440

3541
- Not a place to ship product code that *requires* changes to core repos - propose those upstream as issues first.

claude-code/integration.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ repository: https://github.com/agentrust-io/integrations
1010
license: Apache-2.0
1111
tier: community
1212
trace_conformance_level: 0
13+
trace_roles:
14+
- record-producer
1315
tested_against:
1416
agent-manifest: 0.3.0
1517
agentrust-trace: 0.5.0

compatibility.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Repository-wide support policy. Exact integration runs remain recorded in
2+
# each integration.yaml under tested_against.
3+
python:
4+
supported: ["3.11", "3.12", "3.13"]
5+
packages:
6+
agentrust-trace:
7+
minimum: "0.5.0"
8+
agentrust-trace-tests:
9+
minimum: "0.4.0"
10+
cmcp-runtime:
11+
minimum: "0.2.0"
12+
agent-manifest:
13+
minimum: "0.3.0"

integrations/_template/integration.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ license: Apache-2.0
1313
tier: community # set by maintainers during review; submissions start here
1414
# Required if you emit or consume TRACE records:
1515
# trace_conformance_level: 1
16+
# trace_roles:
17+
# - record-producer # or record-consumer / external-evidence-source
1618
tested_against:
1719
cmcp-runtime: "0.2.0"

integrations/aeoess-aps/integration.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ tier: community
1616
# cryptographically verified. The signed form is written alongside it and
1717
# verifies via agentrust_trace.verify_record (see README).
1818
trace_conformance_level: 0
19+
trace_roles:
20+
- record-producer
1921
tested_against:
2022
agentrust-trace: "0.5.1"

integrations/comply54/integration.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ homepage: https://comply54.io
1313
license: Apache-2.0
1414
tier: community
1515
trace_conformance_level: 0
16+
trace_roles:
17+
- record-producer
1618
tested_against:
1719
agentrust-trace: "0.5.0"

integrations/decisionassure/integration.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ maintainer:
88
repository: https://github.com/a1k7/DecisionAssure-Runtime-Governance
99
license: MIT
1010
tier: community
11+
trace_roles:
12+
- record-producer
13+
trace_conformance_level: 0

integrations/langchain/integration.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ maintainer:
88
repository: https://github.com/agentrust-io/integrations
99
license: Apache-2.0
1010
tier: community
11+
trace_roles:
12+
- record-producer
13+
trace_conformance_level: 0

integrations/llamaindex/integration.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ maintainer:
88
repository: https://github.com/agentrust-io/integrations
99
license: Apache-2.0
1010
tier: community
11+
trace_roles:
12+
- record-producer
13+
trace_conformance_level: 0

0 commit comments

Comments
 (0)