matrixscroll 0.4.2__tar.gz → 0.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/.gitignore +3 -0
  2. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/CHANGELOG.md +27 -0
  3. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/PKG-INFO +35 -33
  4. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/README.md +396 -396
  5. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/SPEC.md +55 -0
  6. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/ADOPTER_KIT.md +90 -90
  7. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/CRYPTO_BACKEND.md +6 -1
  8. matrixscroll-0.5.1/docs/CRYPTO_ROADMAP.md +75 -0
  9. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/FIVE_MINUTES.md +78 -78
  10. matrixscroll-0.5.1/docs/POC2_AUDIT.md +61 -0
  11. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/ROADMAP_2026-07.md +44 -44
  12. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SECURITY_PROPERTIES.md +18 -3
  13. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SOFTWARE_PRODUCTS.md +53 -53
  14. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/WHITEPAPER.md +146 -146
  15. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/commercial/PLATFORM_PIVOT.md +3 -3
  16. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/commercial/SSX360_SCROLL.md +1 -1
  17. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/hardware-provider.md +60 -60
  18. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-agent.md +1 -1
  19. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-claude-code.md +1 -1
  20. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-git.md +154 -154
  21. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/quickstart-mcp.md +62 -62
  22. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/registries-guide.md +11 -4
  23. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/ci/protected-branch.yml +74 -74
  24. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/__init__.py +1 -1
  25. matrixscroll-0.5.1/matrixscroll/canonical.py +38 -0
  26. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/cli.py +71 -1
  27. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/cloud/client.py +3 -0
  28. matrixscroll-0.5.1/matrixscroll/constants.py +26 -0
  29. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/crypto_backend.py +77 -0
  30. matrixscroll-0.5.1/matrixscroll/formal.py +46 -0
  31. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/gate.py +16 -1
  32. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/git.py +2 -2
  33. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/manifest.py +29 -0
  34. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/mcp.py +176 -38
  35. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/policy.py +55 -0
  36. matrixscroll-0.5.1/matrixscroll/pqc.py +208 -0
  37. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/se050_transport.py +225 -225
  38. matrixscroll-0.5.1/matrixscroll/ssx360_cli.py +331 -0
  39. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/pyproject.toml +14 -4
  40. matrixscroll-0.5.1/schemas/commit-envelope.v1.1.json +19 -0
  41. matrixscroll-0.5.1/schemas/pqc-signature.v1.json +37 -0
  42. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_canonical.py +9 -0
  43. matrixscroll-0.5.1/tests/test_canonical_pqc.py +16 -0
  44. matrixscroll-0.5.1/tests/test_formal_specs.py +40 -0
  45. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_mcp_server.py +36 -1
  46. matrixscroll-0.5.1/tests/test_pqc.py +100 -0
  47. matrixscroll-0.5.1/tests/test_ssx360_cli.py +55 -0
  48. matrixscroll-0.4.2/matrixscroll/canonical.py +0 -18
  49. matrixscroll-0.4.2/matrixscroll/constants.py +0 -12
  50. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/CONTRIBUTING.md +0 -0
  51. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/LICENSE +0 -0
  52. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/SECURITY.md +0 -0
  53. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/controls/agentic_ai_controls.json +0 -0
  54. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/ADOPTION.md +0 -0
  55. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/AGENTIC_AI_SECURITY.md +0 -0
  56. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/CI_HARD_GATE.md +0 -0
  57. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/COMMIT_TIME_VS_ARTIFACT_TIME.md +0 -0
  58. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/COMPARISON.md +0 -0
  59. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/HERO_DEMO.md +0 -0
  60. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SE050_POC_SCOPE.md +0 -0
  61. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/SE050_USB_PROTOCOL.md +0 -0
  62. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/commercial/SCROLL_GATE_V2.md +0 -0
  63. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/delegation-attestation-rfc.md +0 -0
  64. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/rekor-guac-bridge-design.md +0 -0
  65. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/superpowers/plans/2026-06-19-ci-action-plan.md +0 -0
  66. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/superpowers/plans/2026-06-19-sdk-refactor-plan.md +0 -0
  67. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/superpowers/specs/2026-06-19-matrixscroll-git-design.md +0 -0
  68. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/yubikey-bridge.md +0 -0
  69. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/docs/yubikey-smoke.md +0 -0
  70. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/agentic_ai_evidence_manifest.json +0 -0
  71. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/agentic_ai_evidence_manifest.signed.json +0 -0
  72. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/commit-envelope.json +0 -0
  73. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/commit-envelope.signed.json +0 -0
  74. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/demo/agent-commit-demo.sh +0 -0
  75. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/demo/generate_signed_examples.py +0 -0
  76. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/demo/hero-self-attestation-demo.sh +0 -0
  77. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/release-manifest.json +0 -0
  78. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/release-manifest.signed.json +0 -0
  79. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/examples/trusted-keys-policy.json +0 -0
  80. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/_claim.py +0 -0
  81. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/_core.py +0 -0
  82. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/_payment.py +0 -0
  83. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/cloud/__init__.py +0 -0
  84. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/errors.py +0 -0
  85. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/guac_export.py +0 -0
  86. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/hooks/post-commit +0 -0
  87. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/hooks/pre-push +0 -0
  88. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/mcp_core.py +0 -0
  89. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/provenance/__init__.py +0 -0
  90. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/provenance/actions.py +0 -0
  91. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/__init__.py +0 -0
  92. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/base.py +0 -0
  93. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/emulated.py +0 -0
  94. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/hardware.py +0 -0
  95. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/registry.py +0 -0
  96. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/tpm.py +0 -0
  97. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/providers/yubikey.py +0 -0
  98. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/py.typed +0 -0
  99. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/rekor_publish.py +0 -0
  100. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/scroll/README.md +0 -0
  101. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/matrixscroll/scroll/__init__.py +0 -0
  102. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/action-envelope.v1.json +0 -0
  103. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/commit-envelope.v1.json +0 -0
  104. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/evidence-pack.v1.json +0 -0
  105. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/schemas/release-manifest.v1.json +0 -0
  106. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/__init__.py +0 -0
  107. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/fixtures/github-gpgsig-commit.txt +0 -0
  108. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_agentic_guidance.py +0 -0
  109. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_cli.py +0 -0
  110. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_core.py +0 -0
  111. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_crypto_backend.py +0 -0
  112. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_gate.py +0 -0
  113. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_git_envelope.py +0 -0
  114. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_guac_rekor.py +0 -0
  115. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_mcp_core.py +0 -0
  116. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_policy.py +0 -0
  117. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_provenance.py +0 -0
  118. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_release_metadata.py +0 -0
  119. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_se050_transport.py +0 -0
  120. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_security_properties.py +0 -0
  121. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_tpm_provider.py +0 -0
  122. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_vectors.py +0 -0
  123. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/tests/test_yubikey_provider.py +0 -0
  124. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/README.md +0 -0
  125. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/_fixture_key.json +0 -0
  126. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/_generate.py +0 -0
  127. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_algorithm.json +0 -0
  128. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_device_id.json +0 -0
  129. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_field.json +0 -0
  130. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_nested.json +0 -0
  131. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_public_key.json +0 -0
  132. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_schema.json +0 -0
  133. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/tampered_signature.json +0 -0
  134. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/unsigned_empty_block.json +0 -0
  135. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/unsigned_no_block.json +0 -0
  136. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_commit_envelope.json +0 -0
  137. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_nested.json +0 -0
  138. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_simple.json +0 -0
  139. {matrixscroll-0.4.2 → matrixscroll-0.5.1}/vectors/valid_unicode.json +0 -0
@@ -33,3 +33,6 @@ env/
33
33
  # Matrix Scroll local store (never commit a private key)
34
34
  .matrixscroll/
35
35
  device.json
36
+
37
+ # TLA+ tools (download locally or in CI)
38
+ tla2tools.jar
@@ -4,6 +4,31 @@ All notable changes to the Matrix Scroll Python SDK are documented here. The
4
4
  format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
5
5
  this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.5.1] - 2026-07-02
8
+
9
+ ### Added
10
+ - **`ssx360` and `ssx360-ledger` console scripts** — ship on PyPI with the SDK
11
+ (local repo had entry points since POC 2 baseline; 0.5.0 wheel omitted them).
12
+
13
+ ### Documentation
14
+ - Pin public install examples and CI workflows to `matrixscroll==0.5.1`.
15
+
16
+ ## [0.5.0] - 2026-07-02
17
+
18
+ Post-quantum overlay (v1.1 additive extension).
19
+
20
+ ### Added
21
+ - **SPEC.md §11** — optional `pqc_signatures` array (ML-DSA FIPS 204, SLH-DSA FIPS 205).
22
+ - **`matrixscroll.pqc`** — software-only PQC overlay; Ed25519 `signature` block unchanged.
23
+ - **`matrixscroll pqc-keygen`** — generate/load PQC keys under `~/.matrixscroll/pqc/`.
24
+ - **`MATRIXSCROLL_PQC`** env — attach overlay on sign (e.g. `ml-dsa-65`); hardware mode exempt.
25
+ - **Policy `require_pqc`** — `false` (default), `emulated_only`, or `true` (hardware exempt).
26
+ - **Optional extra `[pqc]`** — `liboqs-python` backend for ML-DSA / SLH-DSA.
27
+
28
+ ### Unchanged
29
+ - USB/NFC/SE050 device signing remains **Ed25519-only** (no firmware change).
30
+ - All v1 vectors and Ed25519 verification behavior.
31
+
7
32
  ## [0.4.2] - 2026-06-29
8
33
 
9
34
  Crypto backend consolidation (middle path).
@@ -189,6 +214,8 @@ Initial public release. Extracted from the SSX360 reference implementation.
189
214
  - Device id format: `MS-XXXX-XXXX` (SHA-256 of the raw public key, first 8 hex
190
215
  chars, uppercase).
191
216
 
217
+ [0.5.1]: https://github.com/SSX360/matrixscroll/releases/tag/v0.5.1
218
+ [0.5.0]: https://github.com/SSX360/matrixscroll/releases/tag/v0.5.0
192
219
  [0.2.2]: https://github.com/SSX360/matrixscroll/releases/tag/v0.2.2
193
220
  [0.2.1]: https://github.com/SSX360/matrixscroll/releases/tag/v0.2.1
194
221
  [0.2.0]: https://github.com/SSX360/matrixscroll/releases/tag/v0.2.0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrixscroll
3
- Version: 0.4.2
4
- Summary: Signed provenance for agent-assisted Git commits with offline verification; emulated Ed25519 ships today and the SE050 hardware path remains an optional preview.
3
+ Version: 0.5.1
4
+ Summary: Signed provenance for agent-assisted Git commits with offline Ed25519 verification; optional ML-DSA/SLH-DSA software overlay (FIPS 204/205). USB/NFC/SE050 hardware remains Ed25519.
5
5
  Project-URL: Homepage, https://ssx360.com
6
6
  Project-URL: Documentation, https://ssx360.com/docs
7
7
  Project-URL: Repository, https://github.com/SSX360/matrixscroll
@@ -15,14 +15,14 @@ Project-URL: Changelog, https://github.com/SSX360/matrixscroll/blob/main/CHANGEL
15
15
  Project-URL: Discussions, https://github.com/SSX360/matrixscroll/discussions
16
16
  Project-URL: Security, https://github.com/SSX360/matrixscroll/blob/main/SECURITY.md
17
17
  Project-URL: GitHub Action, https://github.com/SSX360/matrixscroll-verify-action
18
- Project-URL: PyPI Provenance, https://pypi.org/project/matrixscroll/
18
+ Project-URL: PyPI Provenance, https://pypi.org/project/matrixscroll/0.5.1/
19
19
  Project-URL: Reference Device, https://ssx360.com/hardware
20
20
  Project-URL: Tests, https://github.com/SSX360/matrixscroll/tree/main/tests
21
21
  Project-URL: Public Roadmap, https://github.com/SSX360/matrixscroll/blob/main/docs/ROADMAP_2026-07.md
22
22
  Author-email: SSX360 <security@matrixscroll.com>
23
23
  License-Expression: Apache-2.0
24
24
  License-File: LICENSE
25
- Keywords: ai,ed25519,matrixscroll,provenance,root-of-trust,secure-element,signing,ssx360,supply-chain
25
+ Keywords: ai,ed25519,fips-204,fips-205,matrixscroll,ml-dsa,post-quantum,provenance,root-of-trust,secure-element,signing,slh-dsa,ssx360,supply-chain
26
26
  Classifier: Development Status :: 4 - Beta
27
27
  Classifier: Intended Audience :: Developers
28
28
  Classifier: Intended Audience :: Information Technology
@@ -38,7 +38,7 @@ Classifier: Topic :: Security :: Cryptography
38
38
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
39
39
  Classifier: Typing :: Typed
40
40
  Requires-Python: >=3.10
41
- Requires-Dist: cryptography>=42.0
41
+ Requires-Dist: cryptography>=43.0
42
42
  Provides-Extra: dev
43
43
  Requires-Dist: build>=1.0; extra == 'dev'
44
44
  Requires-Dist: hypothesis>=6.100; extra == 'dev'
@@ -49,6 +49,8 @@ Provides-Extra: hardware
49
49
  Requires-Dist: pyserial>=3.5; extra == 'hardware'
50
50
  Provides-Extra: mcp
51
51
  Requires-Dist: mcp<2.0.0,>=1.0.0; extra == 'mcp'
52
+ Provides-Extra: pqc
53
+ Requires-Dist: liboqs-python>=0.12.0; extra == 'pqc'
52
54
  Provides-Extra: tpm
53
55
  Provides-Extra: yubikey
54
56
  Requires-Dist: python-pkcs11>=0.7; extra == 'yubikey'
@@ -60,21 +62,18 @@ Description-Content-Type: text/markdown
60
62
  [![Scroll Gate v2 (hosted)](https://github.com/SSX360/matrixscroll/actions/workflows/provenance-gate.yml/badge.svg)](https://github.com/SSX360/matrixscroll/actions/workflows/provenance-gate.yml)
61
63
  [![codecov](https://codecov.io/gh/SSX360/matrixscroll/graph/badge.svg)](https://codecov.io/gh/SSX360/matrixscroll)
62
64
 
63
- **123 tests** · Hypothesis-verified security properties · [Security properties](docs/SECURITY_PROPERTIES.md)
65
+ **123 tests** · Hypothesis-verified security properties · [Security properties](docs/SECURITY_PROPERTIES.md) · [TLA+ formal models](formal/README.md)
64
66
 
65
- **Signed proof of who — or what — wrote every commit.** Matrix Scroll is the
66
- **universal provenance SDK** — open Ed25519 envelopes for Git commits, CI steps,
67
- IaC changes, DB migrations, API calls, and smart-contract deploys — verified
68
- offline in CLI, browser, and CI. Hardware (SE050) is an optional preview trust
69
- upgrade; emulated mode ships today.
67
+ **Signed proof of who — or what — wrote every AI-assisted commit.** Matrix Scroll is an
68
+ **open protocol for cryptographically signed, AI-assisted code provenance** — Ed25519 commit
69
+ envelopes for Git (and universal action envelopes for CI, IaC, and migrations),
70
+ verified offline in CLI, browser, and CI. Software emulated keys ship today; NXP SE050
71
+ secure-element signing is on the roadmap with the same verifier contract.
70
72
 
71
- **TAM wedge (honest):** Layer 2 universal provenance SDK ($50–200M) · Layer 3 SSX360 Scroll
72
- governance on Git ($200M–1B) · Scroll Gate CI ($50–150M) · Python-first ML/agent
73
- ecosystem via `pip install matrixscroll`.
74
-
75
- **Hosted control plane:** identity, billing, and device confirmation live at
76
- [ssx360.com](https://ssx360.com/). Teams evaluating protected-branch enforcement should
77
- [book a provenance pilot](https://ssx360.com/contact?intent=pilot);
73
+ **Hosted control plane:** identity, billing, audit ledger, and Scroll Gate live at
74
+ [ssx360.com](https://ssx360.com/). Enterprise teams evaluating protected-branch enforcement should
75
+ [book a provenance pilot](https://ssx360.com/contact?intent=pilot) or visit
76
+ [ssx360.com/enterprise](https://ssx360.com/enterprise).
78
77
  Provisioned pilot and team accounts sign in at [ssx360.com/signup](https://ssx360.com/signup).
79
78
 
80
79
  ## Compliance evidence mapping
@@ -104,18 +103,18 @@ Agents sign commits in-loop via the **provenance-only** MCP server:
104
103
  ```
105
104
 
106
105
  ```bash
107
- pip install "matrixscroll[mcp]==0.4.2"
106
+ pip install "matrixscroll[mcp]==0.5.1"
108
107
  matrixscroll-mcp # stdio — register in Cursor / Claude Desktop / VS Code
109
108
  ```
110
109
 
111
110
  **MCP tools (provenance verbs only):** `create_envelope`, `sign_action`, `verify_envelope`,
112
111
  `verify_pr_range` (Scroll Gate), `publish_notes`, `status`, `audit_export`, `list_envelopes`,
113
- `connect_card` (SE050 preview).
112
+ `connect_card` (SE050 hardware preview, roadmap).
114
113
 
115
114
  ## Also available — CLI & hooks
116
115
 
117
116
  ```bash
118
- pip install "matrixscroll==0.4.2"
117
+ pip install "matrixscroll==0.5.1"
119
118
  matrixscroll hook-install
120
119
  export MATRIXSCROLL_ACTOR_TYPE=agent
121
120
  export MATRIXSCROLL_TOOL=agent-runner
@@ -179,12 +178,12 @@ canonical UTF-8 JSON bytes (see [`SPEC.md`](SPEC.md) §4). Verifiers reject any
179
178
 
180
179
  ## Honest limits
181
180
 
182
- - Shipping now: PyPI `matrixscroll==0.4.2`, Git post-commit hooks,
181
+ - Shipping now: PyPI `matrixscroll==0.5.1`, Git post-commit hooks,
183
182
  `matrixscroll sign-action`, `matrixscroll scroll commit` (thin wrapper),
184
183
  `matrixscroll envelope-verify`, Scroll Gate PR verification (partial SLSA L1–2),
185
184
  verifier, the GitHub Action, and a USB CDC host transport preview for the
186
185
  SE050 rollout path. Emulated mode is the default evaluation path.
187
- - In progress: nRF52840 + SE050 firmware validation (AP2 Vault Card PoC), external Ed25519-capable
186
+ - In progress: nRF52840 + SE050 firmware validation for hardware-backed signing, external Ed25519-capable
188
187
  hardware key backends, and transparency-log integrations.
189
188
  - Not: IAM, sandboxing, prompt filtering, or an agent runtime.
190
189
 
@@ -194,8 +193,10 @@ canonical UTF-8 JSON bytes (see [`SPEC.md`](SPEC.md) §4). Verifiers reject any
194
193
  records who or what signed the change before push.
195
194
  - Hardware keys and build attestations remain complementary roots and downstream
196
195
  proofs; Matrix Scroll covers commit-time provenance.
197
- - The public contract stays pure Ed25519 over canonical manifest bytes,
198
- whether the signer is emulated today or hardware-backed later.
196
+ - The public contract stays pure Ed25519 over canonical manifest bytes for the
197
+ required `signature` block — whether the signer is emulated today or
198
+ hardware-backed later. Software signers may optionally attach ML-DSA/SLH-DSA
199
+ overlays (FIPS 204/205) via `matrixscroll[pqc]` without changing hardware firmware.
199
200
 
200
201
  ## Common questions
201
202
 
@@ -225,7 +226,7 @@ alongside your existing scanners, branch protection, and build attestations.
225
226
  ## Quickstart (CLI)
226
227
 
227
228
  ```bash
228
- pip install "matrixscroll==0.4.2"
229
+ pip install "matrixscroll==0.5.1"
229
230
  matrixscroll hook-install
230
231
  matrixscroll hook-status
231
232
 
@@ -252,7 +253,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and run
252
253
  head-ref: ${{ github.event.pull_request.head.sha }}
253
254
  base-ref: ${{ github.event.pull_request.base.sha }}
254
255
  source: notes
255
- matrixscroll-version: "0.4.2"
256
+ matrixscroll-version: "0.5.1"
256
257
  require-mode: emulated
257
258
  ```
258
259
 
@@ -272,7 +273,7 @@ git push origin refs/notes/matrixscroll
272
273
  head-ref: ${{ github.event.pull_request.head.sha }}
273
274
  base-ref: ${{ github.event.pull_request.base.sha }}
274
275
  source: notes
275
- matrixscroll-version: "0.4.2"
276
+ matrixscroll-version: "0.5.1"
276
277
  summary-output: provenance-summary.json
277
278
  ```
278
279
 
@@ -280,7 +281,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
280
281
  [`examples/ci/protected-branch.yml`](examples/ci/protected-branch.yml).
281
282
 
282
283
  The `--require-mode`, `--trusted-keys`, and actor or delegation policy checks
283
- ship in the current release line; examples in this README pin `0.4.2`.
284
+ ship in the current release line; examples in this README pin `0.5.1`.
284
285
 
285
286
  ## Security: Ed25519 via cryptography
286
287
 
@@ -312,13 +313,14 @@ when they preserve the same pure Ed25519 byte contract.
312
313
  - Conformance vectors: [`vectors/`](vectors/)
313
314
  - GitHub Action: <https://github.com/SSX360/matrixscroll-verify-action>
314
315
  - Agentic AI controls: [`docs/AGENTIC_AI_SECURITY.md`](docs/AGENTIC_AI_SECURITY.md)
315
- - Site: <https://ssx360.com/docs> (matrixscroll.com redirects here)
316
- - Reference device path: [AP2 Vault Card hardware](https://ssx360.com/hardware)
316
+ - Site: <https://matrixscroll.com> · Enterprise: <https://ssx360.com/enterprise>
317
+ - [AP2 Vault Card hardware](https://ssx360.com/hardware)
318
+ - SE050 hardware signing: <https://ssx360.com/enterprise#roadmap>
317
319
 
318
320
  ## Python API
319
321
 
320
322
  ```bash
321
- pip install "matrixscroll==0.4.2"
323
+ pip install "matrixscroll==0.5.1"
322
324
  ```
323
325
 
324
326
  ```python
@@ -428,7 +430,7 @@ The MCP server exposes **provenance verbs only**: `create_envelope`, `verify_env
428
430
  Install and register in Cursor / Claude Desktop / VS Code:
429
431
 
430
432
  ```bash
431
- pip install "matrixscroll[mcp]==0.4.2"
433
+ pip install "matrixscroll[mcp]==0.5.1"
432
434
  matrixscroll-mcp # stdio
433
435
  ```
434
436