Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions examples/weight-custody-manifest/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ For a public open-weight model, base-weight confidentiality is theater (anyone c
```bash
git clone https://github.com/agentrust-io/integrations.git
cd integrations/examples/weight-custody-manifest
pip install -r requirements.txt # weight-custody-manifest>=0.21.0, Python 3.11+
pip install -r requirements-model-signing.txt # full offline suite, Python 3.11+
```

The offline demos need nothing else. `real_open_model.py` needs run-local extras (below).
Expand Down Expand Up @@ -67,7 +67,7 @@ The same machinery, two trust settings. **Closed** weights (a frontier model dep

- **`transparency_log.py`** -- the append-only Merkle log (SPEC 3.7 / RFC 9162): inclusion and consistency proofs, and a monitor detecting a suppressed revocation.
- **`post_quantum.py`** -- sign and verify a manifest with ML-DSA-65 and with the Ed25519+ML-DSA-65 hybrid profile.
- **`provenance_model_signing.py`** -- interop with OpenSSF model-signing: a WCM manifest references a model-signing signature as its provenance, and `verify_provenance` cryptographically verifies it. Needs the extra: `pip install "weight-custody-manifest[model-signing]"`.
- **`provenance_model_signing.py`** -- interop with OpenSSF model-signing: a WCM manifest references a model-signing signature as its provenance, and `verify_provenance` cryptographically verifies it. Install `requirements-model-signing.txt` for this demo.

### Verifying real attestations

Expand All @@ -81,7 +81,7 @@ The same machinery, two trust settings. **Closed** weights (a frontier model dep

```bash
python closed_model_e2e.py # any of the offline examples
pip install "weight-custody-manifest[model-signing]" # for provenance_model_signing.py
python provenance_model_signing.py # model-signing interop
pip install -r requirements-infer.txt # for real_open_model.py
python real_open_model.py
```
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Provenance interop: WCM custody on top of an OpenSSF model-signing signature.

pip install "weight-custody-manifest[model-signing]"
pip install -r requirements-model-signing.txt
python provenance_model_signing.py

Real WCM code, no hardware. OpenSSF model-signing (Sigstore) answers "who signed
Expand Down
2 changes: 2 additions & 0 deletions examples/weight-custody-manifest/requirements-lora.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Include WCM and the model-signing dependency setup used by the offline demo.
-r requirements-model-signing.txt
huggingface_hub==1.33.0
safetensors==0.8.0
transformers==5.19.0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-r requirements.txt
weight-custody-manifest[model-signing]>=0.32.0

# model-signing 1.1.1 imports OpenSSL.crypto without declaring pyOpenSSL.
# sigstore 4.5.1 no longer brings it in transitively. This range resolves
# alongside WCM's cryptography 50 requirement.
pyOpenSSL>=26.4.0,<27
4 changes: 2 additions & 2 deletions examples/weight-custody-manifest/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# The Weight Custody Manifest reference SDK, from PyPI.
# Covers the offline examples. provenance_model_signing.py additionally needs the
# [model-signing] extra: pip install "weight-custody-manifest[model-signing]".
# Covers the offline examples. For provenance_model_signing.py, install
# requirements-model-signing.txt instead.
weight-custody-manifest>=0.32.0
Loading