matrixscroll 0.6.0__tar.gz → 0.6.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 (156) hide show
  1. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/CHANGELOG.md +9 -0
  2. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/PKG-INFO +65 -36
  3. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/README.md +63 -34
  4. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/ADOPTER_KIT.md +3 -3
  5. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/COMMIT_TIME_VS_ARTIFACT_TIME.md +1 -1
  6. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/CRYPTO_ROADMAP.md +1 -1
  7. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/DOCTRINE.md +2 -2
  8. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/FIVE_MINUTES.md +2 -2
  9. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/POC2_AUDIT.md +1 -1
  10. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/ROADMAP_2026-07.md +15 -10
  11. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/SECURITY_PROPERTIES.md +1 -1
  12. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/SHOW-HN-MCP-TRUST-LAUNCH.md +32 -50
  13. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/SOFTWARE_PRODUCTS.md +5 -4
  14. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/WHITEPAPER.md +5 -5
  15. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/commercial/PLATFORM_PIVOT.md +2 -2
  16. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/commercial/SSX360_SCROLL.md +1 -1
  17. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/hardware-provider.md +25 -8
  18. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/quickstart-git.md +3 -3
  19. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/quickstart-mcp.md +2 -2
  20. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/registries-guide.md +5 -3
  21. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/ci/protected-branch.yml +3 -3
  22. matrixscroll-0.6.1/examples/demo/mcp-rugpull-demo.cast +207 -0
  23. matrixscroll-0.6.1/examples/demo/mcp-rugpull-demo.gif +0 -0
  24. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/demo/mcp-rugpull-demo.sh +38 -6
  25. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/__init__.py +1 -1
  26. matrixscroll-0.6.1/matrixscroll/agent_trace.py +90 -0
  27. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/cli.py +34 -0
  28. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/mcp.py +63 -0
  29. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/se050_transport.py +1 -1
  30. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/pyproject.toml +2 -2
  31. matrixscroll-0.6.1/tests/test_agent_trace.py +55 -0
  32. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/.gitignore +0 -0
  33. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/CONTRIBUTING.md +0 -0
  34. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/LICENSE +0 -0
  35. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/SECURITY.md +0 -0
  36. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/SPEC.md +0 -0
  37. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/controls/agentic_ai_controls.json +0 -0
  38. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/ADOPTION.md +0 -0
  39. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/AGENTIC_AI_SECURITY.md +0 -0
  40. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/AIMS_INTEROP.md +0 -0
  41. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/CI_HARD_GATE.md +0 -0
  42. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/COMPARISON.md +0 -0
  43. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/CRYPTO_BACKEND.md +0 -0
  44. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/GITTUF_INTEROP.md +0 -0
  45. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/GIT_AI_NOTES_INTEROP.md +0 -0
  46. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/HERO_DEMO.md +0 -0
  47. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/OPENSSF_SANDBOX_DECISION.md +0 -0
  48. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/SE050_POC_SCOPE.md +0 -0
  49. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/SE050_USB_PROTOCOL.md +0 -0
  50. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/SLSA_SOURCE_TRACK_MAPPING.md +0 -0
  51. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/commercial/README.md +0 -0
  52. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/commercial/SCROLL_GATE_V2.md +0 -0
  53. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/delegation-attestation-rfc.md +0 -0
  54. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/quickstart-agent.md +0 -0
  55. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/quickstart-claude-code.md +0 -0
  56. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/rekor-guac-bridge-design.md +0 -0
  57. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/superpowers/plans/2026-06-19-ci-action-plan.md +0 -0
  58. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/superpowers/plans/2026-06-19-sdk-refactor-plan.md +0 -0
  59. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/superpowers/specs/2026-06-19-matrixscroll-git-design.md +0 -0
  60. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/yubikey-bridge.md +0 -0
  61. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/docs/yubikey-smoke.md +0 -0
  62. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/agentic_ai_evidence_manifest.json +0 -0
  63. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/agentic_ai_evidence_manifest.signed.json +0 -0
  64. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/commit-envelope.json +0 -0
  65. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/commit-envelope.signed.json +0 -0
  66. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/demo/agent-commit-demo.sh +0 -0
  67. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/demo/generate_signed_examples.py +0 -0
  68. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/demo/hero-self-attestation-demo.sh +0 -0
  69. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/mcp/matrixscroll-mcp.manifest.json +0 -0
  70. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/mcp/matrixscroll-mcp.signed.json +0 -0
  71. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/release-manifest.json +0 -0
  72. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/release-manifest.signed.json +0 -0
  73. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/examples/trusted-keys-policy.json +0 -0
  74. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/_claim.py +0 -0
  75. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/_core.py +0 -0
  76. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/_payment.py +0 -0
  77. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/canonical.py +0 -0
  78. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/cloud/__init__.py +0 -0
  79. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/cloud/client.py +0 -0
  80. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/constants.py +0 -0
  81. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/crypto_backend.py +0 -0
  82. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/errors.py +0 -0
  83. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/formal.py +0 -0
  84. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/gate.py +0 -0
  85. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/git.py +0 -0
  86. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/guac_export.py +0 -0
  87. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/hooks/post-commit +0 -0
  88. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/hooks/pre-push +0 -0
  89. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/manifest.py +0 -0
  90. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/mcp_core.py +0 -0
  91. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/mcp_trust.py +0 -0
  92. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/policy.py +0 -0
  93. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/pqc.py +0 -0
  94. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/provenance/__init__.py +0 -0
  95. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/provenance/actions.py +0 -0
  96. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/__init__.py +0 -0
  97. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/base.py +0 -0
  98. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/emulated.py +0 -0
  99. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/hardware.py +0 -0
  100. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/registry.py +0 -0
  101. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/tpm.py +0 -0
  102. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/providers/yubikey.py +0 -0
  103. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/py.typed +0 -0
  104. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/rekor_publish.py +0 -0
  105. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/scroll/README.md +0 -0
  106. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/scroll/__init__.py +0 -0
  107. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/matrixscroll/ssx360_cli.py +0 -0
  108. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/action-envelope.v1.json +0 -0
  109. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/commit-envelope.v1.1.json +0 -0
  110. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/commit-envelope.v1.json +0 -0
  111. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/evidence-pack.v1.json +0 -0
  112. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/pqc-signature.v1.json +0 -0
  113. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/release-manifest.v1.json +0 -0
  114. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/schemas/ssx360.mcp-manifest.v1.json +0 -0
  115. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/__init__.py +0 -0
  116. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/fixtures/github-gpgsig-commit.txt +0 -0
  117. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/fixtures/mcp-tools-sample.json +0 -0
  118. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_agentic_guidance.py +0 -0
  119. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_canonical.py +0 -0
  120. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_canonical_pqc.py +0 -0
  121. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_cli.py +0 -0
  122. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_core.py +0 -0
  123. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_crypto_backend.py +0 -0
  124. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_formal_specs.py +0 -0
  125. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_gate.py +0 -0
  126. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_git_envelope.py +0 -0
  127. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_guac_rekor.py +0 -0
  128. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_mcp_core.py +0 -0
  129. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_mcp_server.py +0 -0
  130. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_mcp_trust.py +0 -0
  131. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_policy.py +0 -0
  132. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_pqc.py +0 -0
  133. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_provenance.py +0 -0
  134. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_release_metadata.py +0 -0
  135. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_se050_transport.py +0 -0
  136. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_security_properties.py +0 -0
  137. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_ssx360_cli.py +0 -0
  138. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_tpm_provider.py +0 -0
  139. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_vectors.py +0 -0
  140. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/tests/test_yubikey_provider.py +0 -0
  141. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/README.md +0 -0
  142. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/_fixture_key.json +0 -0
  143. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/_generate.py +0 -0
  144. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_algorithm.json +0 -0
  145. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_device_id.json +0 -0
  146. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_field.json +0 -0
  147. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_nested.json +0 -0
  148. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_public_key.json +0 -0
  149. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_schema.json +0 -0
  150. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/tampered_signature.json +0 -0
  151. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/unsigned_empty_block.json +0 -0
  152. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/unsigned_no_block.json +0 -0
  153. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/valid_commit_envelope.json +0 -0
  154. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/valid_nested.json +0 -0
  155. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/valid_simple.json +0 -0
  156. {matrixscroll-0.6.0 → matrixscroll-0.6.1}/vectors/valid_unicode.json +0 -0
@@ -4,6 +4,14 @@ 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.6.1] - 2026-07-22
8
+
9
+ ### Documentation
10
+ - **L2 Hardware prototype (2026-07-21)** — Pico 2 W / RP2350 + GMT130 ST7789
11
+ LCD/LED bring-up locked; SE050 M1 PoC remains bench-validated (not GA).
12
+ README compliance table, `docs/hardware-provider.md`, and roadmap updated.
13
+ Docs-only release; install pin `matrixscroll==0.6.1`.
14
+
7
15
  ## [0.6.0] - 2026-07-03
8
16
 
9
17
  MCP Trust Scanner — sign any MCP server's tool surface and detect rug-pulls offline.
@@ -237,6 +245,7 @@ Initial public release. Extracted from the SSX360 reference implementation.
237
245
  - Device id format: `MS-XXXX-XXXX` (SHA-256 of the raw public key, first 8 hex
238
246
  chars, uppercase).
239
247
 
248
+ [0.6.1]: https://github.com/SSX360/matrixscroll/releases/tag/v0.6.1
240
249
  [0.6.0]: https://github.com/SSX360/matrixscroll/releases/tag/v0.6.0
241
250
  [0.5.1]: https://github.com/SSX360/matrixscroll/releases/tag/v0.5.1
242
251
  [0.5.0]: https://github.com/SSX360/matrixscroll/releases/tag/v0.5.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrixscroll
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
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
@@ -15,7 +15,7 @@ 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/0.6.0/
18
+ Project-URL: PyPI Provenance, https://pypi.org/project/matrixscroll/0.6.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
@@ -68,13 +68,18 @@ Description-Content-Type: text/markdown
68
68
 
69
69
  **146 tests** · Hypothesis-verified security properties · [Security properties](https://github.com/SSX360/matrixscroll/blob/main/docs/SECURITY_PROPERTIES.md) · [TLA+ formal models](formal/README.md)
70
70
 
71
- **Signed proof of who — or what — wrote every AI-assisted commit.** Matrix Scroll is an
72
- **open protocol for cryptographically signed, AI-assisted code provenance** — Ed25519 commit
73
- envelopes for Git (and universal action envelopes for CI, IaC, and migrations),
74
- verified offline in CLI, browser, and CI. Software emulated keys ship today; NXP SE050
75
- secure-element signing is in firmware validation with the same verifier contract.
71
+ **Agent Authorization Authority — offline-verifiable proof for every machine action.** Matrix Scroll is an
72
+ **open protocol for cryptographically signed agent authorization** — Ed25519 records for Git commits (L1),
73
+ MCP tool surfaces (L2), and agent runs / NHI actions (L3), verified offline in CLI, browser, and CI.
74
+ Software emulated keys ship today; NXP SE050 secure-element signing is a
75
+ bench-validated PoC (Jul 2026) with the same verifier contract. The Pico 2 W /
76
+ GMT130 display bring-up is a locked L2 Hardware prototype (Jul 2026) — not GA.
76
77
 
77
- **Hosted control plane:** identity, billing, audit ledger, and Scroll Gate live at
78
+ *They receipt the model call. We receipt everything the machine does.*
79
+
80
+ **Authorization ladder:** L1 Code (commits) · L2 Tools (MCP manifests) · L3 Actions (agent runs) · L4 Money (AP2 — demo) · L5 Silicon (2029+)
81
+
82
+ **Hosted control plane:** identity, billing, authorization ledger, and Scroll Gate live at
78
83
  [ssx360.com](https://ssx360.com/). Enterprise teams evaluating protected-branch enforcement should
79
84
  [book a provenance pilot](https://ssx360.com/contact?intent=pilot) or visit
80
85
  [ssx360.com/enterprise](https://ssx360.com/enterprise).
@@ -109,23 +114,27 @@ Agents sign commits in-loop via the **provenance-only** MCP server:
109
114
  ```
110
115
 
111
116
  ```bash
112
- pip install "matrixscroll[mcp]==0.6.0"
117
+ pip install "matrixscroll[mcp]==0.6.1"
113
118
  matrixscroll-mcp # stdio — register in Cursor / Claude Desktop / VS Code
114
119
  ```
115
120
 
116
121
  **MCP tools (provenance verbs only):** `create_envelope`, `sign_action`, `verify_envelope`,
117
122
  `verify_pr_range` (Scroll Gate), `publish_notes`, `status`, `audit_export`, `list_envelopes`,
118
- `connect_card` (SE050 hardware preview, roadmap).
123
+ `connect_card` (SE050 hardware prototype — pilot evaluation; not GA).
119
124
 
120
125
  **MCP trust tools (manifest surface):** `scan_mcp_server`, `sign_mcp_manifest`, `verify_mcp_manifest`.
121
126
 
122
127
  ### MCP Trust Scanner — catch a rug-pull in 60 seconds
123
128
 
129
+ ![MCP rug-pull detection demo](examples/demo/mcp-rugpull-demo.gif)
130
+
131
+ [Watch on asciinema](https://asciinema.org/a/rbCRkIcZnjNWmqZF) · cast file: [`examples/demo/mcp-rugpull-demo.cast`](examples/demo/mcp-rugpull-demo.cast)
132
+
124
133
  Sign the tool surface. Verify at install. Offline Ed25519 manifests for MCP rug-pull detection —
125
134
  zero cloud, zero signup, exit code 2 fails your CI.
126
135
 
127
136
  ```bash
128
- pip install matrixscroll
137
+ pip install "matrixscroll==0.6.1"
129
138
 
130
139
  # 1. Scan a live MCP server (stdio) — fingerprints every tool: name, description, input schema
131
140
  matrixscroll mcp scan --connect stdio --server-command "npx -y some-mcp-server" \
@@ -154,6 +163,18 @@ FAIL surface_drift — do not trust this server until you review the diff
154
163
  Offline mode works too — no server needed: `matrixscroll mcp scan --tools ./tools.json`
155
164
  accepts a plain JSON tool array or `{"tools": [...]}` (paste from any `tools/list` response).
156
165
 
166
+ Gate it in CI — fail the build on unsigned or drifted manifests with the reusable workflow:
167
+
168
+ ```yaml
169
+ jobs:
170
+ mcp-gate:
171
+ uses: SSX360/matrixscroll-verify-action/.github/workflows/mcp-manifest-gate.yml@main
172
+ with:
173
+ manifest: mcp/my-server.signed.json
174
+ baseline: mcp/my-server.baseline.json
175
+ matrixscroll_version: "0.6.1"
176
+ ```
177
+
157
178
  Full scripted demo: [`examples/demo/mcp-rugpull-demo.sh`](examples/demo/mcp-rugpull-demo.sh)
158
179
  Golden artifact (this repo's own MCP server, signed): [`examples/mcp/matrixscroll-mcp.signed.json`](examples/mcp/matrixscroll-mcp.signed.json)
159
180
  Schema (CC0): [`schemas/ssx360.mcp-manifest.v1.json`](schemas/ssx360.mcp-manifest.v1.json)
@@ -163,7 +184,7 @@ Launch checklist: [`docs/SHOW-HN-MCP-TRUST-LAUNCH.md`](docs/SHOW-HN-MCP-TRUST-LA
163
184
  ## Also available — CLI & hooks
164
185
 
165
186
  ```bash
166
- pip install "matrixscroll==0.6.0"
187
+ pip install "matrixscroll==0.6.1"
167
188
  matrixscroll hook-install
168
189
  export MATRIXSCROLL_ACTOR_TYPE=agent
169
190
  export MATRIXSCROLL_TOOL=agent-runner
@@ -211,11 +232,13 @@ that produced it.
211
232
  Keep GitHub Advanced Security, Semgrep, Snyk, branch protection, and artifact
212
233
  attestations. Matrix Scroll adds signed commit-time authorship proof before
213
234
  merge, and it keeps the same offline verification contract across the CLI,
214
- browser, CI, and the SE050 preview path.
235
+ browser, CI, and the SE050 hardware prototype path.
215
236
 
216
237
  The reference SDK ships pure Ed25519 over canonical manifest bytes today. The
217
- SSX360 / NXP SE050 path is the compatible next trust layer and remains a
218
- preview path until device acceptance is complete.
238
+ SSX360 / NXP SE050 path is the compatible next trust layer: M1 signing PoC and
239
+ RP2350 + GMT130 display prototype are bench-validated; live SE050 on the
240
+ display bring-up UF2 remains fail-closed until the NXP backend is restored.
241
+ This is **prototype / pilot evaluation**, not a GA hardware product.
219
242
 
220
243
  ## RFC 8032 (Ed25519) alignment
221
244
 
@@ -227,13 +250,16 @@ canonical UTF-8 JSON bytes (see [`SPEC.md`](https://github.com/SSX360/matrixscro
227
250
 
228
251
  ## Honest limits
229
252
 
230
- - Shipping now: PyPI `matrixscroll==0.6.0`, Git post-commit hooks,
253
+ - Shipping now: PyPI `matrixscroll==0.6.1`, Git post-commit hooks,
231
254
  `matrixscroll sign-action`, `matrixscroll scroll commit` (thin wrapper),
232
255
  `matrixscroll envelope-verify`, Scroll Gate PR verification (partial SLSA L1–2),
233
- verifier, the GitHub Action, and a USB CDC host transport preview for the
234
- SE050 rollout path. Emulated mode is the default evaluation path.
235
- - In progress: nRF52840 + SE050 firmware validation — secure-element signing remains preview until device acceptance gates pass; external Ed25519-capable
236
- hardware key backends, and transparency-log integrations.
256
+ verifier, the GitHub Action, and a USB CDC host transport for the SE050
257
+ hardware prototype path. Emulated mode is the default evaluation path.
258
+ - Prototype (bench): Pico 2 W / RP2350 + GMT130 ST7789 LCD/LED bring-up locked
259
+ (2026-07-21); NXP SE050 M1 signing PoC accepted (Jul 2026) on contractor
260
+ firmware — not GA; display bring-up UF2 keeps `pubkey`/`sign` fail-closed
261
+ until Plug & Trust restore. External Ed25519-capable hardware key backends
262
+ and transparency-log integrations remain roadmap.
237
263
  - Compliance language is evidence mapping (DORA, PCI DSS 4.0, Treasury FS-AI RMF, SSDF, EU AI Act Article 12 readiness, Five Eyes agentic-AI guidance), not certification or customer endorsement.
238
264
  - Illustrative deployment profiles are not endorsements or existing customer relationships.
239
265
  - Not: IAM, sandboxing, prompt filtering, or an agent runtime.
@@ -263,8 +289,9 @@ verify that proof offline in the CLI, browser, or CI before merge.
263
289
  Emulated mode ships today and keeps the signing key on disk with owner-only
264
290
  permissions so teams can evaluate the full workflow now. Hardware mode keeps
265
291
  the same verifier contract and commit envelope schema, but moves the private
266
- key into the SE050 secure element so the host cannot export it; that path
267
- remains preview-only until device acceptance is complete.
292
+ key into the SE050 secure element so the host cannot export it. That path is
293
+ a bench-validated L2 Hardware prototype (Pico 2 W + SE050 M1 PoC) available
294
+ for pilot evaluation — not GA.
268
295
 
269
296
  ### How can I integrate Matrix Scroll into a CI/CD workflow?
270
297
 
@@ -277,7 +304,7 @@ alongside your existing scanners, branch protection, and build attestations.
277
304
  ## Quickstart (CLI)
278
305
 
279
306
  ```bash
280
- pip install "matrixscroll==0.6.0"
307
+ pip install "matrixscroll==0.6.1"
281
308
  matrixscroll hook-install
282
309
  matrixscroll hook-status
283
310
 
@@ -306,7 +333,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and run
306
333
  head-ref: ${{ github.event.pull_request.head.sha }}
307
334
  base-ref: ${{ github.event.pull_request.base.sha }}
308
335
  source: notes
309
- matrixscroll-version: "0.6.0"
336
+ matrixscroll-version: "0.6.1"
310
337
  require-mode: emulated
311
338
  ```
312
339
 
@@ -326,7 +353,7 @@ git push origin refs/notes/matrixscroll
326
353
  head-ref: ${{ github.event.pull_request.head.sha }}
327
354
  base-ref: ${{ github.event.pull_request.base.sha }}
328
355
  source: notes
329
- matrixscroll-version: "0.6.0"
356
+ matrixscroll-version: "0.6.1"
330
357
  summary-output: provenance-summary.json
331
358
  ```
332
359
 
@@ -334,7 +361,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
334
361
  [`examples/ci/protected-branch.yml`](examples/ci/protected-branch.yml).
335
362
 
336
363
  The `--require-mode`, `--trusted-keys`, and actor or delegation policy checks
337
- ship in the current release line; examples in this README pin `0.6.0`.
364
+ ship in the current release line; examples in this README pin `0.6.1`.
338
365
 
339
366
  ## Security: Ed25519 via cryptography
340
367
 
@@ -368,12 +395,12 @@ when they preserve the same pure Ed25519 byte contract.
368
395
  - GitHub Action: <https://github.com/SSX360/matrixscroll-verify-action>
369
396
  - Agentic AI controls: [`docs/AGENTIC_AI_SECURITY.md`](https://github.com/SSX360/matrixscroll/blob/main/docs/AGENTIC_AI_SECURITY.md)
370
397
  - Site: <https://matrixscroll.com> · Control plane: <https://ssx360.com> · Enterprise: <https://ssx360.com/enterprise>
371
- - SE050 hardware preview: <https://ssx360.com/enterprise#roadmap> (in firmware validation)
398
+ - SE050 hardware prototype: <https://ssx360.com/enterprise#roadmap> (bench-validated; not GA)
372
399
 
373
400
  ## Python API
374
401
 
375
402
  ```bash
376
- pip install "matrixscroll==0.6.0"
403
+ pip install "matrixscroll==0.6.1"
377
404
  ```
378
405
 
379
406
  ```python
@@ -423,7 +450,7 @@ matrixscroll.sign_manifest(...) / post-commit hook
423
450
  v
424
451
  IdentityProvider --> Ed25519 signature
425
452
  (L1 emulated today,
426
- SSX360 / SE050 in firmware validation)
453
+ SSX360 / SE050 prototype — bench-validated)
427
454
  |
428
455
  v
429
456
  signed document --> matrixscroll.verify_manifest(...)
@@ -431,21 +458,23 @@ signed document --> matrixscroll.verify_manifest(...)
431
458
  ```
432
459
 
433
460
  Switch providers with `MATRIXSCROLL_MODE`. Hardware mode includes a USB CDC
434
- host transport preview and a mock path for CI; real SE050 signing still
435
- depends on device firmware validation. External-key backends stay out of the
436
- mainline until they can sign the same canonical bytes with Ed25519.
461
+ host transport and a mock path for CI. The L2 Hardware prototype (Pico 2 W /
462
+ GMT130 display + SE050 M1 PoC) is bench-validated; live SE050 signing on the
463
+ display bring-up UF2 stays fail-closed until the NXP backend is restored.
464
+ External-key backends stay out of the mainline until they can sign the same
465
+ canonical bytes with Ed25519.
437
466
 
438
467
  For rollout order, start with `MATRIXSCROLL_MODE=emulated` for evaluation,
439
468
  layer in external Ed25519-capable signers only when they stay verifier
440
- compatible, and treat `hardware` as the SE050 preview path until device
441
- acceptance is complete.
469
+ compatible, and treat `hardware` as the SE050 prototype path for pilot
470
+ evaluation — not GA.
442
471
 
443
472
  ## Compliance levels
444
473
 
445
474
  | Level | Provider | Backed by | Status |
446
475
  | ----- | -------- | --------- | ------ |
447
476
  | **L1** Emulated | `EmulatedProvider` | Software key, file-backed (0600) | Shipping |
448
- | **L2** Hardware | `HardwareProvider` | NXP SE050 secure element (SSX360) | In progress |
477
+ | **L2** Hardware | `HardwareProvider` | NXP SE050 + Pico 2 W / RP2350 + GMT130 (SSX360) | Prototype (bench) |
449
478
  | **L3** Attested | future | L2 + remote attestation | Roadmap |
450
479
 
451
480
  `status()` exposes the active level via the `mode` and `available` fields.
@@ -484,7 +513,7 @@ The MCP server exposes **provenance verbs** (`create_envelope`, `verify_envelope
484
513
  Install and register in Cursor / Claude Desktop / VS Code:
485
514
 
486
515
  ```bash
487
- pip install "matrixscroll[mcp]==0.6.0"
516
+ pip install "matrixscroll[mcp]==0.6.1"
488
517
  matrixscroll-mcp # stdio
489
518
  ```
490
519
 
@@ -10,13 +10,18 @@
10
10
 
11
11
  **146 tests** · Hypothesis-verified security properties · [Security properties](https://github.com/SSX360/matrixscroll/blob/main/docs/SECURITY_PROPERTIES.md) · [TLA+ formal models](formal/README.md)
12
12
 
13
- **Signed proof of who — or what — wrote every AI-assisted commit.** Matrix Scroll is an
14
- **open protocol for cryptographically signed, AI-assisted code provenance** — Ed25519 commit
15
- envelopes for Git (and universal action envelopes for CI, IaC, and migrations),
16
- verified offline in CLI, browser, and CI. Software emulated keys ship today; NXP SE050
17
- secure-element signing is in firmware validation with the same verifier contract.
13
+ **Agent Authorization Authority — offline-verifiable proof for every machine action.** Matrix Scroll is an
14
+ **open protocol for cryptographically signed agent authorization** — Ed25519 records for Git commits (L1),
15
+ MCP tool surfaces (L2), and agent runs / NHI actions (L3), verified offline in CLI, browser, and CI.
16
+ Software emulated keys ship today; NXP SE050 secure-element signing is a
17
+ bench-validated PoC (Jul 2026) with the same verifier contract. The Pico 2 W /
18
+ GMT130 display bring-up is a locked L2 Hardware prototype (Jul 2026) — not GA.
18
19
 
19
- **Hosted control plane:** identity, billing, audit ledger, and Scroll Gate live at
20
+ *They receipt the model call. We receipt everything the machine does.*
21
+
22
+ **Authorization ladder:** L1 Code (commits) · L2 Tools (MCP manifests) · L3 Actions (agent runs) · L4 Money (AP2 — demo) · L5 Silicon (2029+)
23
+
24
+ **Hosted control plane:** identity, billing, authorization ledger, and Scroll Gate live at
20
25
  [ssx360.com](https://ssx360.com/). Enterprise teams evaluating protected-branch enforcement should
21
26
  [book a provenance pilot](https://ssx360.com/contact?intent=pilot) or visit
22
27
  [ssx360.com/enterprise](https://ssx360.com/enterprise).
@@ -51,23 +56,27 @@ Agents sign commits in-loop via the **provenance-only** MCP server:
51
56
  ```
52
57
 
53
58
  ```bash
54
- pip install "matrixscroll[mcp]==0.6.0"
59
+ pip install "matrixscroll[mcp]==0.6.1"
55
60
  matrixscroll-mcp # stdio — register in Cursor / Claude Desktop / VS Code
56
61
  ```
57
62
 
58
63
  **MCP tools (provenance verbs only):** `create_envelope`, `sign_action`, `verify_envelope`,
59
64
  `verify_pr_range` (Scroll Gate), `publish_notes`, `status`, `audit_export`, `list_envelopes`,
60
- `connect_card` (SE050 hardware preview, roadmap).
65
+ `connect_card` (SE050 hardware prototype — pilot evaluation; not GA).
61
66
 
62
67
  **MCP trust tools (manifest surface):** `scan_mcp_server`, `sign_mcp_manifest`, `verify_mcp_manifest`.
63
68
 
64
69
  ### MCP Trust Scanner — catch a rug-pull in 60 seconds
65
70
 
71
+ ![MCP rug-pull detection demo](examples/demo/mcp-rugpull-demo.gif)
72
+
73
+ [Watch on asciinema](https://asciinema.org/a/rbCRkIcZnjNWmqZF) · cast file: [`examples/demo/mcp-rugpull-demo.cast`](examples/demo/mcp-rugpull-demo.cast)
74
+
66
75
  Sign the tool surface. Verify at install. Offline Ed25519 manifests for MCP rug-pull detection —
67
76
  zero cloud, zero signup, exit code 2 fails your CI.
68
77
 
69
78
  ```bash
70
- pip install matrixscroll
79
+ pip install "matrixscroll==0.6.1"
71
80
 
72
81
  # 1. Scan a live MCP server (stdio) — fingerprints every tool: name, description, input schema
73
82
  matrixscroll mcp scan --connect stdio --server-command "npx -y some-mcp-server" \
@@ -96,6 +105,18 @@ FAIL surface_drift — do not trust this server until you review the diff
96
105
  Offline mode works too — no server needed: `matrixscroll mcp scan --tools ./tools.json`
97
106
  accepts a plain JSON tool array or `{"tools": [...]}` (paste from any `tools/list` response).
98
107
 
108
+ Gate it in CI — fail the build on unsigned or drifted manifests with the reusable workflow:
109
+
110
+ ```yaml
111
+ jobs:
112
+ mcp-gate:
113
+ uses: SSX360/matrixscroll-verify-action/.github/workflows/mcp-manifest-gate.yml@main
114
+ with:
115
+ manifest: mcp/my-server.signed.json
116
+ baseline: mcp/my-server.baseline.json
117
+ matrixscroll_version: "0.6.1"
118
+ ```
119
+
99
120
  Full scripted demo: [`examples/demo/mcp-rugpull-demo.sh`](examples/demo/mcp-rugpull-demo.sh)
100
121
  Golden artifact (this repo's own MCP server, signed): [`examples/mcp/matrixscroll-mcp.signed.json`](examples/mcp/matrixscroll-mcp.signed.json)
101
122
  Schema (CC0): [`schemas/ssx360.mcp-manifest.v1.json`](schemas/ssx360.mcp-manifest.v1.json)
@@ -105,7 +126,7 @@ Launch checklist: [`docs/SHOW-HN-MCP-TRUST-LAUNCH.md`](docs/SHOW-HN-MCP-TRUST-LA
105
126
  ## Also available — CLI & hooks
106
127
 
107
128
  ```bash
108
- pip install "matrixscroll==0.6.0"
129
+ pip install "matrixscroll==0.6.1"
109
130
  matrixscroll hook-install
110
131
  export MATRIXSCROLL_ACTOR_TYPE=agent
111
132
  export MATRIXSCROLL_TOOL=agent-runner
@@ -153,11 +174,13 @@ that produced it.
153
174
  Keep GitHub Advanced Security, Semgrep, Snyk, branch protection, and artifact
154
175
  attestations. Matrix Scroll adds signed commit-time authorship proof before
155
176
  merge, and it keeps the same offline verification contract across the CLI,
156
- browser, CI, and the SE050 preview path.
177
+ browser, CI, and the SE050 hardware prototype path.
157
178
 
158
179
  The reference SDK ships pure Ed25519 over canonical manifest bytes today. The
159
- SSX360 / NXP SE050 path is the compatible next trust layer and remains a
160
- preview path until device acceptance is complete.
180
+ SSX360 / NXP SE050 path is the compatible next trust layer: M1 signing PoC and
181
+ RP2350 + GMT130 display prototype are bench-validated; live SE050 on the
182
+ display bring-up UF2 remains fail-closed until the NXP backend is restored.
183
+ This is **prototype / pilot evaluation**, not a GA hardware product.
161
184
 
162
185
  ## RFC 8032 (Ed25519) alignment
163
186
 
@@ -169,13 +192,16 @@ canonical UTF-8 JSON bytes (see [`SPEC.md`](https://github.com/SSX360/matrixscro
169
192
 
170
193
  ## Honest limits
171
194
 
172
- - Shipping now: PyPI `matrixscroll==0.6.0`, Git post-commit hooks,
195
+ - Shipping now: PyPI `matrixscroll==0.6.1`, Git post-commit hooks,
173
196
  `matrixscroll sign-action`, `matrixscroll scroll commit` (thin wrapper),
174
197
  `matrixscroll envelope-verify`, Scroll Gate PR verification (partial SLSA L1–2),
175
- verifier, the GitHub Action, and a USB CDC host transport preview for the
176
- SE050 rollout path. Emulated mode is the default evaluation path.
177
- - In progress: nRF52840 + SE050 firmware validation — secure-element signing remains preview until device acceptance gates pass; external Ed25519-capable
178
- hardware key backends, and transparency-log integrations.
198
+ verifier, the GitHub Action, and a USB CDC host transport for the SE050
199
+ hardware prototype path. Emulated mode is the default evaluation path.
200
+ - Prototype (bench): Pico 2 W / RP2350 + GMT130 ST7789 LCD/LED bring-up locked
201
+ (2026-07-21); NXP SE050 M1 signing PoC accepted (Jul 2026) on contractor
202
+ firmware — not GA; display bring-up UF2 keeps `pubkey`/`sign` fail-closed
203
+ until Plug & Trust restore. External Ed25519-capable hardware key backends
204
+ and transparency-log integrations remain roadmap.
179
205
  - Compliance language is evidence mapping (DORA, PCI DSS 4.0, Treasury FS-AI RMF, SSDF, EU AI Act Article 12 readiness, Five Eyes agentic-AI guidance), not certification or customer endorsement.
180
206
  - Illustrative deployment profiles are not endorsements or existing customer relationships.
181
207
  - Not: IAM, sandboxing, prompt filtering, or an agent runtime.
@@ -205,8 +231,9 @@ verify that proof offline in the CLI, browser, or CI before merge.
205
231
  Emulated mode ships today and keeps the signing key on disk with owner-only
206
232
  permissions so teams can evaluate the full workflow now. Hardware mode keeps
207
233
  the same verifier contract and commit envelope schema, but moves the private
208
- key into the SE050 secure element so the host cannot export it; that path
209
- remains preview-only until device acceptance is complete.
234
+ key into the SE050 secure element so the host cannot export it. That path is
235
+ a bench-validated L2 Hardware prototype (Pico 2 W + SE050 M1 PoC) available
236
+ for pilot evaluation — not GA.
210
237
 
211
238
  ### How can I integrate Matrix Scroll into a CI/CD workflow?
212
239
 
@@ -219,7 +246,7 @@ alongside your existing scanners, branch protection, and build attestations.
219
246
  ## Quickstart (CLI)
220
247
 
221
248
  ```bash
222
- pip install "matrixscroll==0.6.0"
249
+ pip install "matrixscroll==0.6.1"
223
250
  matrixscroll hook-install
224
251
  matrixscroll hook-status
225
252
 
@@ -248,7 +275,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and run
248
275
  head-ref: ${{ github.event.pull_request.head.sha }}
249
276
  base-ref: ${{ github.event.pull_request.base.sha }}
250
277
  source: notes
251
- matrixscroll-version: "0.6.0"
278
+ matrixscroll-version: "0.6.1"
252
279
  require-mode: emulated
253
280
  ```
254
281
 
@@ -268,7 +295,7 @@ git push origin refs/notes/matrixscroll
268
295
  head-ref: ${{ github.event.pull_request.head.sha }}
269
296
  base-ref: ${{ github.event.pull_request.base.sha }}
270
297
  source: notes
271
- matrixscroll-version: "0.6.0"
298
+ matrixscroll-version: "0.6.1"
272
299
  summary-output: provenance-summary.json
273
300
  ```
274
301
 
@@ -276,7 +303,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
276
303
  [`examples/ci/protected-branch.yml`](examples/ci/protected-branch.yml).
277
304
 
278
305
  The `--require-mode`, `--trusted-keys`, and actor or delegation policy checks
279
- ship in the current release line; examples in this README pin `0.6.0`.
306
+ ship in the current release line; examples in this README pin `0.6.1`.
280
307
 
281
308
  ## Security: Ed25519 via cryptography
282
309
 
@@ -310,12 +337,12 @@ when they preserve the same pure Ed25519 byte contract.
310
337
  - GitHub Action: <https://github.com/SSX360/matrixscroll-verify-action>
311
338
  - Agentic AI controls: [`docs/AGENTIC_AI_SECURITY.md`](https://github.com/SSX360/matrixscroll/blob/main/docs/AGENTIC_AI_SECURITY.md)
312
339
  - Site: <https://matrixscroll.com> · Control plane: <https://ssx360.com> · Enterprise: <https://ssx360.com/enterprise>
313
- - SE050 hardware preview: <https://ssx360.com/enterprise#roadmap> (in firmware validation)
340
+ - SE050 hardware prototype: <https://ssx360.com/enterprise#roadmap> (bench-validated; not GA)
314
341
 
315
342
  ## Python API
316
343
 
317
344
  ```bash
318
- pip install "matrixscroll==0.6.0"
345
+ pip install "matrixscroll==0.6.1"
319
346
  ```
320
347
 
321
348
  ```python
@@ -365,7 +392,7 @@ matrixscroll.sign_manifest(...) / post-commit hook
365
392
  v
366
393
  IdentityProvider --> Ed25519 signature
367
394
  (L1 emulated today,
368
- SSX360 / SE050 in firmware validation)
395
+ SSX360 / SE050 prototype — bench-validated)
369
396
  |
370
397
  v
371
398
  signed document --> matrixscroll.verify_manifest(...)
@@ -373,21 +400,23 @@ signed document --> matrixscroll.verify_manifest(...)
373
400
  ```
374
401
 
375
402
  Switch providers with `MATRIXSCROLL_MODE`. Hardware mode includes a USB CDC
376
- host transport preview and a mock path for CI; real SE050 signing still
377
- depends on device firmware validation. External-key backends stay out of the
378
- mainline until they can sign the same canonical bytes with Ed25519.
403
+ host transport and a mock path for CI. The L2 Hardware prototype (Pico 2 W /
404
+ GMT130 display + SE050 M1 PoC) is bench-validated; live SE050 signing on the
405
+ display bring-up UF2 stays fail-closed until the NXP backend is restored.
406
+ External-key backends stay out of the mainline until they can sign the same
407
+ canonical bytes with Ed25519.
379
408
 
380
409
  For rollout order, start with `MATRIXSCROLL_MODE=emulated` for evaluation,
381
410
  layer in external Ed25519-capable signers only when they stay verifier
382
- compatible, and treat `hardware` as the SE050 preview path until device
383
- acceptance is complete.
411
+ compatible, and treat `hardware` as the SE050 prototype path for pilot
412
+ evaluation — not GA.
384
413
 
385
414
  ## Compliance levels
386
415
 
387
416
  | Level | Provider | Backed by | Status |
388
417
  | ----- | -------- | --------- | ------ |
389
418
  | **L1** Emulated | `EmulatedProvider` | Software key, file-backed (0600) | Shipping |
390
- | **L2** Hardware | `HardwareProvider` | NXP SE050 secure element (SSX360) | In progress |
419
+ | **L2** Hardware | `HardwareProvider` | NXP SE050 + Pico 2 W / RP2350 + GMT130 (SSX360) | Prototype (bench) |
391
420
  | **L3** Attested | future | L2 + remote attestation | Roadmap |
392
421
 
393
422
  `status()` exposes the active level via the `mode` and `available` fields.
@@ -426,7 +455,7 @@ The MCP server exposes **provenance verbs** (`create_envelope`, `verify_envelope
426
455
  Install and register in Cursor / Claude Desktop / VS Code:
427
456
 
428
457
  ```bash
429
- pip install "matrixscroll[mcp]==0.6.0"
458
+ pip install "matrixscroll[mcp]==0.6.1"
430
459
  matrixscroll-mcp # stdio
431
460
  ```
432
461
 
@@ -11,7 +11,7 @@ who want to trial Matrix Scroll without changing their core workflow.
11
11
 
12
12
  ## 15-minute pilot
13
13
 
14
- 1. Install `matrixscroll==0.6.0` in one repo.
14
+ 1. Install `matrixscroll==0.6.1` in one repo.
15
15
  2. Run `matrixscroll hook-install`.
16
16
  3. Make one agent-assisted commit and verify it locally.
17
17
  4. Publish notes with `matrixscroll envelope-publish-notes`.
@@ -38,7 +38,7 @@ jobs:
38
38
  head-ref: ${{ github.event.pull_request.head.sha }}
39
39
  base-ref: ${{ github.event.pull_request.base.sha }}
40
40
  source: notes
41
- matrixscroll-version: "0.6.0"
41
+ matrixscroll-version: "0.6.1"
42
42
  require-mode: emulated
43
43
  ```
44
44
 
@@ -64,7 +64,7 @@ jobs:
64
64
  ## Clean-machine proof status
65
65
 
66
66
  Recorded on `2026-06-21` against the pinned public flow:
67
- `pip install "matrixscroll==0.6.0"` -> `matrixscroll hook-install` ->
67
+ `pip install "matrixscroll==0.6.1"` -> `matrixscroll hook-install` ->
68
68
  `matrixscroll hook-status` -> first agent-assisted commit ->
69
69
  `matrixscroll envelope-verify`.
70
70
 
@@ -19,7 +19,7 @@ These answers are different, and mature teams usually want both.
19
19
  | Main unit | Commit envelope | Package, container, or predicate |
20
20
  | Actor / tool in record | Yes | Usually no |
21
21
  | Offline verify | Yes | Varies by workflow |
22
- | Hardware path | In progress | External to the standard flow |
22
+ | Hardware path | Prototype (bench) | External to the standard flow; not GA |
23
23
 
24
24
  ## Where Matrix Scroll fits
25
25
 
@@ -46,7 +46,7 @@ Post-sunset Ed25519-only envelopes rejected when org policy mandates PQC
46
46
  | FIPS 204 | ML-DSA (Dilithium) | Primary PQC signature | `ml-dsa-44/65/87` via liboqs |
47
47
  | FIPS 205 | SLH-DSA (SPHINCS+) | Hash-based backup | `slh-dsa-sha2-128s/f` |
48
48
 
49
- Enable: `pip install "matrixscroll[pqc]==0.6.0"` and `MATRIXSCROLL_PQC=ml-dsa-65`.
49
+ Enable: `pip install "matrixscroll[pqc]==0.6.1"` and `MATRIXSCROLL_PQC=ml-dsa-65`.
50
50
 
51
51
  ## POC 2 audit answers
52
52
 
@@ -20,7 +20,7 @@ The buyer is a security or platform team, but the user who decides if we win is
20
20
 
21
21
  ### 3. Every claim must be falsifiable — in marketing, in code, in README.
22
22
 
23
- The Honest Limits section is the brand. Emulated signing is called emulated. Hardware in firmware validation is not "hardware-backed signing." Illustrative deployment profiles carry their disclaimer. "Aligned to SSDF / EU AI Act," never "certified" until a third party says so. The site, the PyPI page, the action README, and the sales deck must say the identical thing — the buyer we want is trained to find the gap, and finding one costs us the category. Unfalsifiable copy ("100% of AI writes") is a bug; file it and fix it like one.
23
+ The Honest Limits section is the brand. Emulated signing is called emulated. Hardware prototype (bench) is not "hardware-backed signing ships today" and is never GA until productized. Illustrative deployment profiles carry their disclaimer. "Aligned to SSDF / EU AI Act," never "certified" until a third party says so. The site, the PyPI page, the action README, and the sales deck must say the identical thing — the buyer we want is trained to find the gap, and finding one costs us the category. Unfalsifiable copy ("100% of AI writes") is a bug; file it and fix it like one.
24
24
 
25
25
  ### 4. Dogfood the provenance or don't ship it.
26
26
 
@@ -35,7 +35,7 @@ The market's live pain: unattributed machine-speed writes are breaking platforms
35
35
  - **Evidence Pack** as the flagship artifact. Signed, versioned, downloadable, self-verifying, mapped field-by-field to the frameworks we name. Optimize its legibility before optimizing anything else.
36
36
  - **Verification everywhere git goes.** CI gate hardening, server-side enforcement for self-hosters, offline verify, browser verify. Verification speed, determinism, and zero-false-positive behavior are the performance metrics that matter.
37
37
  - **Forge-agnostic integrations** as first-class citizens: the same install, the same gate, the same export on GitHub, GitLab, and Forgejo/Gitea. Treat every integration doc as a landing page.
38
- - **Hardware as device-bound identity** — activation, custody, revocation, offboarding. One clear story. The secure-element signing path graduates from preview only when firmware validation passes, and not one sentence sooner.
38
+ - **Hardware as device-bound identity** — activation, custody, revocation, offboarding. One clear story. The secure-element signing path is a bench-validated prototype for pilot evaluation; it graduates to GA only when productized, and not one sentence sooner.
39
39
  - **Crawlability and machine-readability** of everything public. Specs, docs, llms.txt, sitemaps, plain-markdown paths. When a buyer's AI assistant is asked "what is Matrix Scroll," our own text must be the answer.
40
40
 
41
41
  ## Hold — maintained, not grown
@@ -12,7 +12,7 @@ five-minute path from `pip install` to a verifiable commit envelope.
12
12
  ## 1. Install the SDK
13
13
 
14
14
  ```bash
15
- pip install "matrixscroll==0.6.0"
15
+ pip install "matrixscroll==0.6.1"
16
16
  matrixscroll hook-install
17
17
  matrixscroll hook-status
18
18
  ```
@@ -61,7 +61,7 @@ git push origin refs/notes/matrixscroll
61
61
  head-ref: ${{ github.event.pull_request.head.sha }}
62
62
  base-ref: ${{ github.event.pull_request.base.sha }}
63
63
  source: notes
64
- matrixscroll-version: "0.6.0"
64
+ matrixscroll-version: "0.6.1"
65
65
  require-mode: emulated
66
66
  ```
67
67
 
@@ -42,7 +42,7 @@
42
42
  | ------- | --- | ------------- |
43
43
  | SSX360 | https://ssx360.com | Vercel production |
44
44
  | Matrix Scroll | https://matrixscroll.com | Vercel production |
45
- | PyPI | https://pypi.org/project/matrixscroll/0.6.0/ | v0.6.0 (ssx360 CLIs on PyPI) |
45
+ | PyPI | https://pypi.org/project/matrixscroll/0.6.1/ | v0.6.0 (ssx360 CLIs on PyPI) |
46
46
 
47
47
  ## 7. Reviewer artifacts
48
48