Skip to content

Add Litzki Systems SOVP → TRACE integration - #131

Merged
imran-siddique merged 3 commits into
agentrust-io:mainfrom
litzki-systems:add-litzki-systems-sovp
Aug 25, 2026
Merged

Add Litzki Systems SOVP → TRACE integration#131
imran-siddique merged 3 commits into
agentrust-io:mainfrom
litzki-systems:add-litzki-systems-sovp

Conversation

@litzki-systems

Copy link
Copy Markdown
Contributor

Manifest-only integration for SOVP (Sovereign Validation Protocol).

SOVP produces TRACE-conformant attestation records (Level 0, Ed25519-signed, JCS-canonicalized) from its domain verification pipeline.

Repro steps:

Requesting Verified tier review.

litzki-systems and others added 3 commits August 23, 2026 21:28
This YAML file defines the integration details for SOVP with Litzki Systems, including metadata such as vendor, description, maintainer, repository, license, and marketplace information.
Added README.md for SOVP integration with TRACE, detailing usage, verification, and CI processes.

@imran-siddique imran-siddique left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran the Verified-tier check rather than only the structure check, because CONTRIBUTING.md promises "we run it end-to-end" when it is requested, and your reproduction steps were complete enough to actually follow.

Throwaway venv, released packages only, no editable install of anything of ours: agentrust-trace 0.9.0, agentrust-trace-tests 0.5.1, agent-manifest 0.11.1, cmcp-runtime 0.4.0. Ed25519 key generated locally, record generated from your committed example through litzki-sovp-trace, then verified:

7 passed                                        (integrations/litzki-sovp/tests)
Result: PASS  (8 checks, 0 skipped)             trace-tests verify --level 0

Your "PASS 8/8" is exact, down to the skip count.

The claim in your description is the one I checked hardest, and it holds. "Signing only the fields the caller supplies and inferring no claims" is falsifiable, which is the standard the Community tier applies to descriptions, so I diffed the output record against the input. appraisal.status is "none", build_provenance.slsa_level is 0, and runtime.platform is "software-only" even though your input carries a tee_measurement you could have leaned on to claim a hardware root. Every value in the record not traceable to the input is a structural constant: the profile URI, the curve name, the verifier name, the origin kind. None of them is a claim.

That last one is worth naming explicitly. A bridge that saw tee_measurement: sha256:... in its input and wrote a TEE platform value would pass conformance and be lying, and it is the most common way this integration could have gone wrong. You carried the measurement through without upgrading what it asserts.

Submitting at tier: community while asking for Verified was also the right read of the rules. Tier is maintainer-set, and self-declaring it is the thing that would have made me look harder at everything else.

One defect, in your repo rather than this diff, and worth fixing before it bites you. integrations/litzki-sovp/pyproject.toml floors three dependencies at zero: agentrust-trace>=0, agentrust-trace-tests>=0, cmcp-runtime>=0. We hit exactly this in demos#48: an unpinned floor turns a resolver conflict into a silent downgrade rather than an error. pip backtracks to an ancient release, exits 0, and the failure surfaces later as a runtime crash that looks like a bug in the dependency. cmcp-runtime 0.1.0 in particular predates most of what your bridge assumes. Your CI got 0.4.0 today because the resolver happened to, not because anything required it. Real floors would make that green run mean something.

Approving and merging. Flipping the tier to Verified in a follow-up, since I have now done the work that tier records.

@imran-siddique
imran-siddique merged commit 216ee1d into agentrust-io:main Aug 25, 2026
1 of 2 checks passed
imran-siddique added a commit that referenced this pull request Aug 25, 2026
Both were reproduced end to end against released packages in isolated
environments, which is what the Verified tier records and what the tier
descriptions in README.md promise we do before setting it.

ramen-ai-cmcp, following its own documented reproduction steps verbatim:
  23 passed
  Result: PASS  (8 checks, 0 skipped)

litzki-systems-sovp, following the steps in PR #131:
  7 passed
  Result: PASS  (8 checks, 0 skipped)

Both also fail Level 1 exactly as they document, on TR-RTE-001 for
runtime.platform 'software-only', so neither overstates what it produces.

ramen-ai-cmcp had a standing request in its README asking a maintainer to
flip the tier after reproducing the result; that section now records the
run instead of asking for it.

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
imran-siddique added a commit that referenced this pull request Aug 25, 2026
The index is generated from each integration.yaml and the validate job
checks it is current. Flipping the two tiers left it stale, and it was
already missing the SOVP row that #131 added.

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
imran-siddique added a commit that referenced this pull request Aug 25, 2026
* chore(marketplace): first two Verified-tier integrations

Both were reproduced end to end against released packages in isolated
environments, which is what the Verified tier records and what the tier
descriptions in README.md promise we do before setting it.

ramen-ai-cmcp, following its own documented reproduction steps verbatim:
  23 passed
  Result: PASS  (8 checks, 0 skipped)

litzki-systems-sovp, following the steps in PR #131:
  7 passed
  Result: PASS  (8 checks, 0 skipped)

Both also fail Level 1 exactly as they document, on TR-RTE-001 for
runtime.platform 'software-only', so neither overstates what it produces.

ramen-ai-cmcp had a standing request in its README asking a maintainer to
flip the tier after reproducing the result; that section now records the
run instead of asking for it.

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>

* chore(marketplace): regenerate the README integration index

The index is generated from each integration.yaml and the validate job
checks it is current. Flipping the two tiers left it stale, and it was
already missing the SOVP row that #131 added.

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>

---------

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants