matrixscroll 0.2.6__tar.gz → 0.4.0__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.
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/CHANGELOG.md +13 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/PKG-INFO +148 -17
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/README.md +139 -11
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/ADOPTER_KIT.md +22 -2
- matrixscroll-0.4.0/docs/ADOPTION.md +13 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/COMPARISON.md +1 -1
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/FIVE_MINUTES.md +2 -2
- matrixscroll-0.4.0/docs/HERO_DEMO.md +45 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/ROADMAP_2026-07.md +2 -2
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/SOFTWARE_PRODUCTS.md +3 -3
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/WHITEPAPER.md +4 -4
- matrixscroll-0.4.0/docs/commercial/PLATFORM_PIVOT.md +62 -0
- matrixscroll-0.4.0/docs/commercial/SCROLL_GATE_V2.md +47 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/hardware-provider.md +1 -1
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/quickstart-agent.md +1 -1
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/quickstart-claude-code.md +1 -1
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/quickstart-git.md +27 -3
- matrixscroll-0.4.0/docs/quickstart-mcp.md +62 -0
- matrixscroll-0.4.0/docs/registries-guide.md +51 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/rekor-guac-bridge-design.md +1 -1
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/ci/protected-branch.yml +3 -3
- matrixscroll-0.4.0/examples/demo/hero-self-attestation-demo.sh +110 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/__init__.py +1 -1
- matrixscroll-0.4.0/matrixscroll/_claim.py +96 -0
- matrixscroll-0.4.0/matrixscroll/_payment.py +31 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/cli.py +52 -4
- matrixscroll-0.4.0/matrixscroll/cloud/__init__.py +19 -0
- matrixscroll-0.4.0/matrixscroll/cloud/client.py +91 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/gate.py +0 -2
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/git.py +8 -5
- matrixscroll-0.4.0/matrixscroll/mcp.py +417 -0
- matrixscroll-0.4.0/matrixscroll/mcp_core.py +215 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/se050_transport.py +1 -1
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/pyproject.toml +13 -8
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_cli.py +2 -2
- matrixscroll-0.4.0/tests/test_mcp_core.py +79 -0
- matrixscroll-0.4.0/tests/test_mcp_server.py +114 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_release_metadata.py +2 -2
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/.gitignore +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/CONTRIBUTING.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/LICENSE +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/SECURITY.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/SPEC.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/controls/agentic_ai_controls.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/AGENTIC_AI_SECURITY.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/CI_HARD_GATE.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/COMMIT_TIME_VS_ARTIFACT_TIME.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/SE050_POC_SCOPE.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/SE050_USB_PROTOCOL.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/delegation-attestation-rfc.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/superpowers/plans/2026-06-19-ci-action-plan.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/superpowers/plans/2026-06-19-sdk-refactor-plan.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/superpowers/specs/2026-06-19-matrixscroll-git-design.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/yubikey-bridge.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/docs/yubikey-smoke.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/agentic_ai_evidence_manifest.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/agentic_ai_evidence_manifest.signed.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/commit-envelope.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/commit-envelope.signed.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/demo/agent-commit-demo.sh +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/demo/generate_signed_examples.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/release-manifest.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/release-manifest.signed.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/examples/trusted-keys-policy.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/_core.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/canonical.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/constants.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/errors.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/guac_export.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/hooks/post-commit +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/hooks/pre-push +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/manifest.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/policy.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/__init__.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/base.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/emulated.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/hardware.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/registry.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/tpm.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/providers/yubikey.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/py.typed +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/matrixscroll/rekor_publish.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/schemas/commit-envelope.v1.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/schemas/evidence-pack.v1.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/schemas/release-manifest.v1.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/__init__.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/fixtures/github-gpgsig-commit.txt +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_agentic_guidance.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_canonical.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_core.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_gate.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_git_envelope.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_guac_rekor.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_policy.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_se050_transport.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_tpm_provider.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_vectors.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/tests/test_yubikey_provider.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/README.md +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/_fixture_key.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/_generate.py +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_algorithm.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_device_id.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_field.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_nested.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_public_key.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_schema.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/tampered_signature.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/unsigned_empty_block.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/unsigned_no_block.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/valid_commit_envelope.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/valid_nested.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/valid_simple.json +0 -0
- {matrixscroll-0.2.6 → matrixscroll-0.4.0}/vectors/valid_unicode.json +0 -0
|
@@ -4,6 +4,19 @@ 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.3.0] - 2026-06-28
|
|
8
|
+
|
|
9
|
+
Digital Rain removal and provenance-only SDK surface.
|
|
10
|
+
|
|
11
|
+
### Removed
|
|
12
|
+
- **Workspace intelligence modules** — deleted unused Digital Rain-era helpers
|
|
13
|
+
(`benchmark`, `brainstorm`, `scanner`, `vault`, radar modules, and related tests).
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- **Public copy** — removed Digital Rain funnel language from README, MCP docs,
|
|
17
|
+
and hero demo script; SSX360 remains the hosted control plane reference.
|
|
18
|
+
- **Version pins** — bumped public quickstart and product docs to `0.3.0`.
|
|
19
|
+
|
|
7
20
|
## [0.2.6] - 2026-06-21
|
|
8
21
|
|
|
9
22
|
SDK rollout hardening: generic public attribution, SE050 host transport preview,
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matrixscroll
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
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.
|
|
5
|
-
Project-URL: Homepage, https://
|
|
6
|
-
Project-URL: Documentation, https://
|
|
5
|
+
Project-URL: Homepage, https://ssx360.com
|
|
6
|
+
Project-URL: Documentation, https://ssx360.com/docs
|
|
7
|
+
Project-URL: Repository, https://github.com/SSX360/matrixscroll
|
|
7
8
|
Project-URL: Source, https://github.com/SSX360/matrixscroll
|
|
8
9
|
Project-URL: Issues, https://github.com/SSX360/matrixscroll/issues
|
|
9
10
|
Project-URL: Specification, https://github.com/SSX360/matrixscroll/blob/main/SPEC.md
|
|
10
11
|
Project-URL: Whitepaper, https://github.com/SSX360/matrixscroll/blob/main/docs/WHITEPAPER.md
|
|
11
|
-
Project-URL: Verifier, https://
|
|
12
|
-
Project-URL: Compare, https://
|
|
12
|
+
Project-URL: Verifier, https://ssx360.com/verify
|
|
13
|
+
Project-URL: Compare, https://ssx360.com/docs
|
|
13
14
|
Project-URL: Changelog, https://github.com/SSX360/matrixscroll/blob/main/CHANGELOG.md
|
|
14
15
|
Project-URL: Discussions, https://github.com/SSX360/matrixscroll/discussions
|
|
15
16
|
Project-URL: Security, https://github.com/SSX360/matrixscroll/blob/main/SECURITY.md
|
|
16
17
|
Project-URL: GitHub Action, https://github.com/SSX360/matrixscroll-verify-action
|
|
17
18
|
Project-URL: PyPI Provenance, https://pypi.org/project/matrixscroll/
|
|
19
|
+
Project-URL: Reference Device, https://ssx360.com/hardware
|
|
18
20
|
Project-URL: Tests, https://github.com/SSX360/matrixscroll/tree/main/tests
|
|
19
21
|
Project-URL: Public Roadmap, https://github.com/SSX360/matrixscroll/blob/main/docs/ROADMAP_2026-07.md
|
|
20
|
-
Project-URL: Reference Device, https://matrixscroll.com/device
|
|
21
22
|
Author-email: SSX360 <security@matrixscroll.com>
|
|
22
23
|
License-Expression: Apache-2.0
|
|
23
24
|
License-File: LICENSE
|
|
@@ -44,6 +45,8 @@ Requires-Dist: pytest>=7.4; extra == 'dev'
|
|
|
44
45
|
Provides-Extra: git
|
|
45
46
|
Provides-Extra: hardware
|
|
46
47
|
Requires-Dist: pyserial>=3.5; extra == 'hardware'
|
|
48
|
+
Provides-Extra: mcp
|
|
49
|
+
Requires-Dist: mcp<2.0.0,>=1.0.0; extra == 'mcp'
|
|
47
50
|
Provides-Extra: tpm
|
|
48
51
|
Provides-Extra: yubikey
|
|
49
52
|
Requires-Dist: python-pkcs11>=0.7; extra == 'yubikey'
|
|
@@ -51,7 +54,70 @@ Description-Content-Type: text/markdown
|
|
|
51
54
|
|
|
52
55
|
# Matrix Scroll
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
[](https://github.com/SSX360/matrixscroll/actions/workflows/provenance-gate.yml)
|
|
58
|
+
|
|
59
|
+
**Signed proof of who — or what — wrote every commit.** Matrix Scroll is the
|
|
60
|
+
open Ed25519 commit-provenance protocol for agent-assisted Git — verified
|
|
61
|
+
offline in CLI, browser, and CI. Hardware (SE050) is an optional preview trust
|
|
62
|
+
upgrade; emulated mode ships today.
|
|
63
|
+
|
|
64
|
+
**Hosted control plane:** identity, billing, and device confirmation live at
|
|
65
|
+
[ssx360.com](https://ssx360.com/). Teams evaluating protected-branch enforcement should
|
|
66
|
+
[book a provenance pilot](https://ssx360.com/contact?intent=pilot);
|
|
67
|
+
Provisioned pilot and team accounts sign in at [ssx360.com/signup](https://ssx360.com/signup).
|
|
68
|
+
|
|
69
|
+
## Compliance evidence mapping
|
|
70
|
+
|
|
71
|
+
Matrix Scroll **maps to** and **produces evidence for** (never “required by”):
|
|
72
|
+
|
|
73
|
+
- **Five Eyes · Agentic AI (Apr 2026)** — cryptographic attestation that agents
|
|
74
|
+
run expected, unmodified code.
|
|
75
|
+
- **EU AI Act · high-risk traceability** — verifiable commit-time audit artifacts.
|
|
76
|
+
- **US federal SSDF · self-attestation** — evidence packs for supply-chain review.
|
|
77
|
+
|
|
78
|
+
Full matrix: [`controls/agentic_ai_controls.json`](controls/agentic_ai_controls.json)
|
|
79
|
+
|
|
80
|
+
## Install — MCP server (headline path)
|
|
81
|
+
|
|
82
|
+
Agents sign commits in-loop via the **provenance-only** MCP server:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"mcpServers": {
|
|
87
|
+
"matrixscroll-mcp": {
|
|
88
|
+
"command": "matrixscroll-mcp",
|
|
89
|
+
"args": []
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install "matrixscroll[mcp]==0.4.0"
|
|
97
|
+
matrixscroll-mcp # stdio — register in Cursor / Claude Desktop / VS Code
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**MCP tools (provenance verbs only):** `create_envelope`, `verify_envelope`,
|
|
101
|
+
`verify_pr_range` (Scroll Gate), `publish_notes`, `status`, `audit_export`.
|
|
102
|
+
|
|
103
|
+
## Also available — CLI & hooks
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
pip install "matrixscroll==0.4.0"
|
|
107
|
+
matrixscroll hook-install
|
|
108
|
+
export MATRIXSCROLL_ACTOR_TYPE=agent
|
|
109
|
+
export MATRIXSCROLL_TOOL=agent-runner
|
|
110
|
+
git commit -m "feat: agent-assisted change"
|
|
111
|
+
matrixscroll envelope-verify "$(git rev-parse HEAD)"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
|
|
115
|
+
[`examples/demo/agent-commit-demo.sh`](examples/demo/agent-commit-demo.sh).
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
This repository is the canonical SDK, verifier contract, fixture set, and
|
|
120
|
+
release surface for the product.
|
|
55
121
|
|
|
56
122
|
Matrix Scroll is a cryptographic evidence layer for Git. When an agent, CI
|
|
57
123
|
workflow, or human operator produces a commit, a signed commit envelope can
|
|
@@ -59,25 +125,65 @@ record the actor, tool, and optional bounded scope. Anyone can verify that
|
|
|
59
125
|
envelope locally, in CI, or in the browser without trusting the editor session
|
|
60
126
|
that produced it.
|
|
61
127
|
|
|
128
|
+
Keep GitHub Advanced Security, Semgrep, Snyk, branch protection, and artifact
|
|
129
|
+
attestations. Matrix Scroll adds signed commit-time authorship proof before
|
|
130
|
+
merge, and it keeps the same offline verification contract across the CLI,
|
|
131
|
+
browser, CI, and the SE050 preview path.
|
|
132
|
+
|
|
62
133
|
The reference SDK ships pure Ed25519 over canonical manifest bytes today. The
|
|
63
134
|
SSX360 / NXP SE050 path is the compatible next trust layer and remains a
|
|
64
135
|
preview path until device acceptance is complete.
|
|
65
136
|
|
|
66
137
|
## Honest limits
|
|
67
138
|
|
|
68
|
-
- Shipping now: PyPI `matrixscroll==0.
|
|
139
|
+
- Shipping now: PyPI `matrixscroll==0.4.0`, Git post-commit hooks,
|
|
69
140
|
`matrixscroll envelope-verify`, Scroll Gate PR verification, browser
|
|
70
141
|
verifier, the GitHub Action, and a USB CDC host transport preview for the
|
|
71
|
-
SE050 rollout path.
|
|
72
|
-
- In progress:
|
|
142
|
+
SE050 rollout path. Emulated mode is the default evaluation path.
|
|
143
|
+
- In progress: nRF52840 + SE050 firmware validation (AP2 Vault Card PoC), external Ed25519-capable
|
|
73
144
|
hardware key backends, and transparency-log integrations.
|
|
74
145
|
- Not: IAM, sandboxing, prompt filtering, or an agent runtime.
|
|
75
146
|
|
|
76
|
-
##
|
|
147
|
+
## Where it fits
|
|
148
|
+
|
|
149
|
+
- Scanners and branch protection catch code and policy issues; Matrix Scroll
|
|
150
|
+
records who or what signed the change before push.
|
|
151
|
+
- Hardware keys and build attestations remain complementary roots and downstream
|
|
152
|
+
proofs; Matrix Scroll covers commit-time provenance.
|
|
153
|
+
- The public contract stays pure Ed25519 over canonical manifest bytes,
|
|
154
|
+
whether the signer is emulated today or hardware-backed later.
|
|
155
|
+
|
|
156
|
+
## Common questions
|
|
157
|
+
|
|
158
|
+
### What is Matrix Scroll and how does it secure Git?
|
|
159
|
+
|
|
160
|
+
Matrix Scroll is signed commit-time provenance for agent-assisted Git. It
|
|
161
|
+
secures Git by attaching an Ed25519-signed commit envelope to a commit,
|
|
162
|
+
recording the actor, tool, and optional bounded scope, then letting reviewers
|
|
163
|
+
verify that proof offline in the CLI, browser, or CI before merge.
|
|
164
|
+
|
|
165
|
+
### How do hardware and emulated modes differ in Matrix Scroll?
|
|
166
|
+
|
|
167
|
+
Emulated mode ships today and keeps the signing key on disk with owner-only
|
|
168
|
+
permissions so teams can evaluate the full workflow now. Hardware mode keeps
|
|
169
|
+
the same verifier contract and commit envelope schema, but moves the private
|
|
170
|
+
key into the SE050 secure element so the host cannot export it; that path
|
|
171
|
+
remains preview-only until device acceptance is complete.
|
|
172
|
+
|
|
173
|
+
### How can I integrate Matrix Scroll into a CI/CD workflow?
|
|
174
|
+
|
|
175
|
+
Install the SDK and hooks in your repo, publish commit envelopes to
|
|
176
|
+
`refs/notes/matrixscroll` before PR review, and use
|
|
177
|
+
`SSX360/matrixscroll-verify-action@v1` to verify the full PR commit range in
|
|
178
|
+
GitHub Actions. Protected branches can then require Matrix Scroll proof
|
|
179
|
+
alongside your existing scanners, branch protection, and build attestations.
|
|
180
|
+
|
|
181
|
+
## Quickstart (CLI)
|
|
77
182
|
|
|
78
183
|
```bash
|
|
79
|
-
pip install "matrixscroll==0.
|
|
184
|
+
pip install "matrixscroll==0.4.0"
|
|
80
185
|
matrixscroll hook-install
|
|
186
|
+
matrixscroll hook-status
|
|
81
187
|
|
|
82
188
|
export MATRIXSCROLL_ACTOR_TYPE=agent
|
|
83
189
|
export MATRIXSCROLL_TOOL=agent-runner
|
|
@@ -102,7 +208,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and run
|
|
|
102
208
|
head-ref: ${{ github.event.pull_request.head.sha }}
|
|
103
209
|
base-ref: ${{ github.event.pull_request.base.sha }}
|
|
104
210
|
source: notes
|
|
105
|
-
matrixscroll-version: "0.
|
|
211
|
+
matrixscroll-version: "0.4.0"
|
|
106
212
|
require-mode: emulated
|
|
107
213
|
```
|
|
108
214
|
|
|
@@ -122,7 +228,7 @@ git push origin refs/notes/matrixscroll
|
|
|
122
228
|
head-ref: ${{ github.event.pull_request.head.sha }}
|
|
123
229
|
base-ref: ${{ github.event.pull_request.base.sha }}
|
|
124
230
|
source: notes
|
|
125
|
-
matrixscroll-version: "0.
|
|
231
|
+
matrixscroll-version: "0.4.0"
|
|
126
232
|
summary-output: provenance-summary.json
|
|
127
233
|
```
|
|
128
234
|
|
|
@@ -130,7 +236,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
|
|
|
130
236
|
[`examples/ci/protected-branch.yml`](examples/ci/protected-branch.yml).
|
|
131
237
|
|
|
132
238
|
The `--require-mode`, `--trusted-keys`, and actor or delegation policy checks
|
|
133
|
-
are available in the `0.2.x` line; the examples in this README pin `0.
|
|
239
|
+
are available in the `0.2.x` line; the examples in this README pin `0.3.0`.
|
|
134
240
|
|
|
135
241
|
## Why it is different from Sigstore
|
|
136
242
|
|
|
@@ -154,12 +260,12 @@ when they preserve the same pure Ed25519 byte contract.
|
|
|
154
260
|
- GitHub Action: <https://github.com/SSX360/matrixscroll-verify-action>
|
|
155
261
|
- Agentic AI controls: [`docs/AGENTIC_AI_SECURITY.md`](docs/AGENTIC_AI_SECURITY.md)
|
|
156
262
|
- Site: <https://matrixscroll.com>
|
|
157
|
-
- Reference device path:
|
|
263
|
+
- Reference device path: [AP2 Vault Card hardware](https://ssx360.com/hardware)
|
|
158
264
|
|
|
159
265
|
## Python API
|
|
160
266
|
|
|
161
267
|
```bash
|
|
162
|
-
pip install "matrixscroll==0.
|
|
268
|
+
pip install "matrixscroll==0.4.0"
|
|
163
269
|
```
|
|
164
270
|
|
|
165
271
|
```python
|
|
@@ -221,6 +327,11 @@ host transport preview and a mock path for CI; real SE050 signing still
|
|
|
221
327
|
depends on device firmware validation. External-key backends stay out of the
|
|
222
328
|
mainline until they can sign the same canonical bytes with Ed25519.
|
|
223
329
|
|
|
330
|
+
For rollout order, start with `MATRIXSCROLL_MODE=emulated` for evaluation,
|
|
331
|
+
layer in external Ed25519-capable signers only when they stay verifier
|
|
332
|
+
compatible, and treat `hardware` as the SE050 preview path until device
|
|
333
|
+
acceptance is complete.
|
|
334
|
+
|
|
224
335
|
## Compliance levels
|
|
225
336
|
|
|
226
337
|
| Level | Provider | Backed by | Status |
|
|
@@ -256,6 +367,21 @@ example bounded-agent evidence manifest at
|
|
|
256
367
|
[`examples/agentic_ai_evidence_manifest.json`](examples/agentic_ai_evidence_manifest.json),
|
|
257
368
|
and executable checks in `tests/test_agentic_guidance.py`.
|
|
258
369
|
|
|
370
|
+
## Model Context Protocol (MCP) Server
|
|
371
|
+
|
|
372
|
+
The MCP server exposes **provenance verbs only**: `create_envelope`, `verify_envelope`,
|
|
373
|
+
`verify_pr_range`, `publish_notes`, `status`, and `audit_export`.
|
|
374
|
+
|
|
375
|
+
Install and register in Cursor / Claude Desktop / VS Code:
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
pip install "matrixscroll[mcp]==0.4.0"
|
|
379
|
+
matrixscroll-mcp # stdio
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
See the [Install — MCP server](#install--mcp-server-headline-path) section above for
|
|
383
|
+
the recommended `mcp.json` snippet.
|
|
384
|
+
|
|
259
385
|
## License
|
|
260
386
|
|
|
261
387
|
- Code: **Apache-2.0** (`LICENSE`).
|
|
@@ -265,3 +391,8 @@ and executable checks in `tests/test_agentic_guidance.py`.
|
|
|
265
391
|
|
|
266
392
|
See [`SECURITY.md`](SECURITY.md). Report vulnerabilities privately to
|
|
267
393
|
**security@matrixscroll.com** or via a GitHub Security Advisory.
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
**Protocol:** https://matrixscroll.com · **Verify:** https://matrixscroll.com/verify/
|
|
398
|
+
**Control plane:** https://ssx360.com · **Pilot:** mission@ssx360.com · **Sign in:** https://ssx360.com/signup
|
|
@@ -1,6 +1,69 @@
|
|
|
1
1
|
# Matrix Scroll
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://github.com/SSX360/matrixscroll/actions/workflows/provenance-gate.yml)
|
|
4
|
+
|
|
5
|
+
**Signed proof of who — or what — wrote every commit.** Matrix Scroll is the
|
|
6
|
+
open Ed25519 commit-provenance protocol for agent-assisted Git — verified
|
|
7
|
+
offline in CLI, browser, and CI. Hardware (SE050) is an optional preview trust
|
|
8
|
+
upgrade; emulated mode ships today.
|
|
9
|
+
|
|
10
|
+
**Hosted control plane:** identity, billing, and device confirmation live at
|
|
11
|
+
[ssx360.com](https://ssx360.com/). Teams evaluating protected-branch enforcement should
|
|
12
|
+
[book a provenance pilot](https://ssx360.com/contact?intent=pilot);
|
|
13
|
+
Provisioned pilot and team accounts sign in at [ssx360.com/signup](https://ssx360.com/signup).
|
|
14
|
+
|
|
15
|
+
## Compliance evidence mapping
|
|
16
|
+
|
|
17
|
+
Matrix Scroll **maps to** and **produces evidence for** (never “required by”):
|
|
18
|
+
|
|
19
|
+
- **Five Eyes · Agentic AI (Apr 2026)** — cryptographic attestation that agents
|
|
20
|
+
run expected, unmodified code.
|
|
21
|
+
- **EU AI Act · high-risk traceability** — verifiable commit-time audit artifacts.
|
|
22
|
+
- **US federal SSDF · self-attestation** — evidence packs for supply-chain review.
|
|
23
|
+
|
|
24
|
+
Full matrix: [`controls/agentic_ai_controls.json`](controls/agentic_ai_controls.json)
|
|
25
|
+
|
|
26
|
+
## Install — MCP server (headline path)
|
|
27
|
+
|
|
28
|
+
Agents sign commits in-loop via the **provenance-only** MCP server:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"mcpServers": {
|
|
33
|
+
"matrixscroll-mcp": {
|
|
34
|
+
"command": "matrixscroll-mcp",
|
|
35
|
+
"args": []
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install "matrixscroll[mcp]==0.4.0"
|
|
43
|
+
matrixscroll-mcp # stdio — register in Cursor / Claude Desktop / VS Code
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**MCP tools (provenance verbs only):** `create_envelope`, `verify_envelope`,
|
|
47
|
+
`verify_pr_range` (Scroll Gate), `publish_notes`, `status`, `audit_export`.
|
|
48
|
+
|
|
49
|
+
## Also available — CLI & hooks
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install "matrixscroll==0.4.0"
|
|
53
|
+
matrixscroll hook-install
|
|
54
|
+
export MATRIXSCROLL_ACTOR_TYPE=agent
|
|
55
|
+
export MATRIXSCROLL_TOOL=agent-runner
|
|
56
|
+
git commit -m "feat: agent-assisted change"
|
|
57
|
+
matrixscroll envelope-verify "$(git rev-parse HEAD)"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
|
|
61
|
+
[`examples/demo/agent-commit-demo.sh`](examples/demo/agent-commit-demo.sh).
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
This repository is the canonical SDK, verifier contract, fixture set, and
|
|
66
|
+
release surface for the product.
|
|
4
67
|
|
|
5
68
|
Matrix Scroll is a cryptographic evidence layer for Git. When an agent, CI
|
|
6
69
|
workflow, or human operator produces a commit, a signed commit envelope can
|
|
@@ -8,25 +71,65 @@ record the actor, tool, and optional bounded scope. Anyone can verify that
|
|
|
8
71
|
envelope locally, in CI, or in the browser without trusting the editor session
|
|
9
72
|
that produced it.
|
|
10
73
|
|
|
74
|
+
Keep GitHub Advanced Security, Semgrep, Snyk, branch protection, and artifact
|
|
75
|
+
attestations. Matrix Scroll adds signed commit-time authorship proof before
|
|
76
|
+
merge, and it keeps the same offline verification contract across the CLI,
|
|
77
|
+
browser, CI, and the SE050 preview path.
|
|
78
|
+
|
|
11
79
|
The reference SDK ships pure Ed25519 over canonical manifest bytes today. The
|
|
12
80
|
SSX360 / NXP SE050 path is the compatible next trust layer and remains a
|
|
13
81
|
preview path until device acceptance is complete.
|
|
14
82
|
|
|
15
83
|
## Honest limits
|
|
16
84
|
|
|
17
|
-
- Shipping now: PyPI `matrixscroll==0.
|
|
85
|
+
- Shipping now: PyPI `matrixscroll==0.4.0`, Git post-commit hooks,
|
|
18
86
|
`matrixscroll envelope-verify`, Scroll Gate PR verification, browser
|
|
19
87
|
verifier, the GitHub Action, and a USB CDC host transport preview for the
|
|
20
|
-
SE050 rollout path.
|
|
21
|
-
- In progress:
|
|
88
|
+
SE050 rollout path. Emulated mode is the default evaluation path.
|
|
89
|
+
- In progress: nRF52840 + SE050 firmware validation (AP2 Vault Card PoC), external Ed25519-capable
|
|
22
90
|
hardware key backends, and transparency-log integrations.
|
|
23
91
|
- Not: IAM, sandboxing, prompt filtering, or an agent runtime.
|
|
24
92
|
|
|
25
|
-
##
|
|
93
|
+
## Where it fits
|
|
94
|
+
|
|
95
|
+
- Scanners and branch protection catch code and policy issues; Matrix Scroll
|
|
96
|
+
records who or what signed the change before push.
|
|
97
|
+
- Hardware keys and build attestations remain complementary roots and downstream
|
|
98
|
+
proofs; Matrix Scroll covers commit-time provenance.
|
|
99
|
+
- The public contract stays pure Ed25519 over canonical manifest bytes,
|
|
100
|
+
whether the signer is emulated today or hardware-backed later.
|
|
101
|
+
|
|
102
|
+
## Common questions
|
|
103
|
+
|
|
104
|
+
### What is Matrix Scroll and how does it secure Git?
|
|
105
|
+
|
|
106
|
+
Matrix Scroll is signed commit-time provenance for agent-assisted Git. It
|
|
107
|
+
secures Git by attaching an Ed25519-signed commit envelope to a commit,
|
|
108
|
+
recording the actor, tool, and optional bounded scope, then letting reviewers
|
|
109
|
+
verify that proof offline in the CLI, browser, or CI before merge.
|
|
110
|
+
|
|
111
|
+
### How do hardware and emulated modes differ in Matrix Scroll?
|
|
112
|
+
|
|
113
|
+
Emulated mode ships today and keeps the signing key on disk with owner-only
|
|
114
|
+
permissions so teams can evaluate the full workflow now. Hardware mode keeps
|
|
115
|
+
the same verifier contract and commit envelope schema, but moves the private
|
|
116
|
+
key into the SE050 secure element so the host cannot export it; that path
|
|
117
|
+
remains preview-only until device acceptance is complete.
|
|
118
|
+
|
|
119
|
+
### How can I integrate Matrix Scroll into a CI/CD workflow?
|
|
120
|
+
|
|
121
|
+
Install the SDK and hooks in your repo, publish commit envelopes to
|
|
122
|
+
`refs/notes/matrixscroll` before PR review, and use
|
|
123
|
+
`SSX360/matrixscroll-verify-action@v1` to verify the full PR commit range in
|
|
124
|
+
GitHub Actions. Protected branches can then require Matrix Scroll proof
|
|
125
|
+
alongside your existing scanners, branch protection, and build attestations.
|
|
126
|
+
|
|
127
|
+
## Quickstart (CLI)
|
|
26
128
|
|
|
27
129
|
```bash
|
|
28
|
-
pip install "matrixscroll==0.
|
|
130
|
+
pip install "matrixscroll==0.4.0"
|
|
29
131
|
matrixscroll hook-install
|
|
132
|
+
matrixscroll hook-status
|
|
30
133
|
|
|
31
134
|
export MATRIXSCROLL_ACTOR_TYPE=agent
|
|
32
135
|
export MATRIXSCROLL_TOOL=agent-runner
|
|
@@ -51,7 +154,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and run
|
|
|
51
154
|
head-ref: ${{ github.event.pull_request.head.sha }}
|
|
52
155
|
base-ref: ${{ github.event.pull_request.base.sha }}
|
|
53
156
|
source: notes
|
|
54
|
-
matrixscroll-version: "0.
|
|
157
|
+
matrixscroll-version: "0.4.0"
|
|
55
158
|
require-mode: emulated
|
|
56
159
|
```
|
|
57
160
|
|
|
@@ -71,7 +174,7 @@ git push origin refs/notes/matrixscroll
|
|
|
71
174
|
head-ref: ${{ github.event.pull_request.head.sha }}
|
|
72
175
|
base-ref: ${{ github.event.pull_request.base.sha }}
|
|
73
176
|
source: notes
|
|
74
|
-
matrixscroll-version: "0.
|
|
177
|
+
matrixscroll-version: "0.4.0"
|
|
75
178
|
summary-output: provenance-summary.json
|
|
76
179
|
```
|
|
77
180
|
|
|
@@ -79,7 +182,7 @@ See [`docs/quickstart-git.md`](docs/quickstart-git.md) and
|
|
|
79
182
|
[`examples/ci/protected-branch.yml`](examples/ci/protected-branch.yml).
|
|
80
183
|
|
|
81
184
|
The `--require-mode`, `--trusted-keys`, and actor or delegation policy checks
|
|
82
|
-
are available in the `0.2.x` line; the examples in this README pin `0.
|
|
185
|
+
are available in the `0.2.x` line; the examples in this README pin `0.3.0`.
|
|
83
186
|
|
|
84
187
|
## Why it is different from Sigstore
|
|
85
188
|
|
|
@@ -103,12 +206,12 @@ when they preserve the same pure Ed25519 byte contract.
|
|
|
103
206
|
- GitHub Action: <https://github.com/SSX360/matrixscroll-verify-action>
|
|
104
207
|
- Agentic AI controls: [`docs/AGENTIC_AI_SECURITY.md`](docs/AGENTIC_AI_SECURITY.md)
|
|
105
208
|
- Site: <https://matrixscroll.com>
|
|
106
|
-
- Reference device path:
|
|
209
|
+
- Reference device path: [AP2 Vault Card hardware](https://ssx360.com/hardware)
|
|
107
210
|
|
|
108
211
|
## Python API
|
|
109
212
|
|
|
110
213
|
```bash
|
|
111
|
-
pip install "matrixscroll==0.
|
|
214
|
+
pip install "matrixscroll==0.4.0"
|
|
112
215
|
```
|
|
113
216
|
|
|
114
217
|
```python
|
|
@@ -170,6 +273,11 @@ host transport preview and a mock path for CI; real SE050 signing still
|
|
|
170
273
|
depends on device firmware validation. External-key backends stay out of the
|
|
171
274
|
mainline until they can sign the same canonical bytes with Ed25519.
|
|
172
275
|
|
|
276
|
+
For rollout order, start with `MATRIXSCROLL_MODE=emulated` for evaluation,
|
|
277
|
+
layer in external Ed25519-capable signers only when they stay verifier
|
|
278
|
+
compatible, and treat `hardware` as the SE050 preview path until device
|
|
279
|
+
acceptance is complete.
|
|
280
|
+
|
|
173
281
|
## Compliance levels
|
|
174
282
|
|
|
175
283
|
| Level | Provider | Backed by | Status |
|
|
@@ -205,6 +313,21 @@ example bounded-agent evidence manifest at
|
|
|
205
313
|
[`examples/agentic_ai_evidence_manifest.json`](examples/agentic_ai_evidence_manifest.json),
|
|
206
314
|
and executable checks in `tests/test_agentic_guidance.py`.
|
|
207
315
|
|
|
316
|
+
## Model Context Protocol (MCP) Server
|
|
317
|
+
|
|
318
|
+
The MCP server exposes **provenance verbs only**: `create_envelope`, `verify_envelope`,
|
|
319
|
+
`verify_pr_range`, `publish_notes`, `status`, and `audit_export`.
|
|
320
|
+
|
|
321
|
+
Install and register in Cursor / Claude Desktop / VS Code:
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
pip install "matrixscroll[mcp]==0.4.0"
|
|
325
|
+
matrixscroll-mcp # stdio
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
See the [Install — MCP server](#install--mcp-server-headline-path) section above for
|
|
329
|
+
the recommended `mcp.json` snippet.
|
|
330
|
+
|
|
208
331
|
## License
|
|
209
332
|
|
|
210
333
|
- Code: **Apache-2.0** (`LICENSE`).
|
|
@@ -214,3 +337,8 @@ and executable checks in `tests/test_agentic_guidance.py`.
|
|
|
214
337
|
|
|
215
338
|
See [`SECURITY.md`](SECURITY.md). Report vulnerabilities privately to
|
|
216
339
|
**security@matrixscroll.com** or via a GitHub Security Advisory.
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
**Protocol:** https://matrixscroll.com · **Verify:** https://matrixscroll.com/verify/
|
|
344
|
+
**Control plane:** https://ssx360.com · **Pilot:** mission@ssx360.com · **Sign in:** https://ssx360.com/signup
|
|
@@ -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.
|
|
14
|
+
1. Install `matrixscroll==0.3.0` 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.
|
|
41
|
+
matrixscroll-version: "0.3.0"
|
|
42
42
|
require-mode: emulated
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -61,6 +61,26 @@ jobs:
|
|
|
61
61
|
- Matrix Scroll does not replace IAM or sandboxing
|
|
62
62
|
- Matrix Scroll does not replace release-signing or artifact attestations
|
|
63
63
|
|
|
64
|
+
## Clean-machine proof status
|
|
65
|
+
|
|
66
|
+
Recorded on `2026-06-21` against the pinned public flow:
|
|
67
|
+
`pip install "matrixscroll==0.3.0"` -> `matrixscroll hook-install` ->
|
|
68
|
+
`matrixscroll hook-status` -> first agent-assisted commit ->
|
|
69
|
+
`matrixscroll envelope-verify`.
|
|
70
|
+
|
|
71
|
+
Hosted source of truth: GitHub Actions run
|
|
72
|
+
`27904509800` on `codex/trust-layer-rollout`.
|
|
73
|
+
|
|
74
|
+
| Platform | Result | Notes |
|
|
75
|
+
| --- | --- | --- |
|
|
76
|
+
| Windows | PASS | GitHub-hosted smoke completed with `1.0s` to first verified commit. Local temp-venv proof also passed in `8.7s`. |
|
|
77
|
+
| Ubuntu | PASS | GitHub-hosted smoke completed with `0.4s` to first verified commit. |
|
|
78
|
+
| macOS | PASS | GitHub-hosted smoke completed with `0.3s` to first verified commit. |
|
|
79
|
+
|
|
80
|
+
Local environment note: the workspace WSL image is still missing `python3-pip`
|
|
81
|
+
and `python3-venv`, so local Ubuntu reproduction remains under-provisioned even
|
|
82
|
+
though launch evidence is now covered by the hosted workflow.
|
|
83
|
+
|
|
64
84
|
## Public follow-through
|
|
65
85
|
|
|
66
86
|
If a pilot works, publish one of these:
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Adoption signals (internal)
|
|
2
|
+
|
|
3
|
+
Track outbound and registry traction while rolling out. Not published on the public README.
|
|
4
|
+
|
|
5
|
+
| Signal | Counter |
|
|
6
|
+
|--------|---------|
|
|
7
|
+
| PyPI `matrixscroll` | [](https://pypi.org/project/matrixscroll/) |
|
|
8
|
+
| PyPI `[mcp]` extra | [](https://pypi.org/project/matrixscroll/) |
|
|
9
|
+
| GitHub stars | [](https://github.com/SSX360/matrixscroll/stargazers) |
|
|
10
|
+
| Scroll Gate Action | [](https://github.com/SSX360/matrixscroll-verify-action) |
|
|
11
|
+
| Glama MCP registry | [matrixscroll on Glama](https://glama.ai/mcp/servers/SSX360/matrixscroll) |
|
|
12
|
+
|
|
13
|
+
Update this file during GTM reviews; keep badges out of user-facing install docs.
|
|
@@ -60,7 +60,7 @@ No single competitor listed above combines all four today.
|
|
|
60
60
|
- **CI gate:** Scroll Gate ships in **0.2.3+** — PR commit-range verification via `envelope-verify-range`, git notes transport (`refs/notes/matrixscroll`), and filesystem bundles. [`matrixscroll-verify-action`](https://github.com/SSX360/matrixscroll-verify-action) supports `head-ref`/`base-ref` range mode with agent/human counts.
|
|
61
61
|
- **Owner/delegation attestation:** Optional `delegation` block in commit envelope schema (**0.2.4+**); see [`delegation-attestation-rfc.md`](delegation-attestation-rfc.md). Alien still leads on OIDC/DPoP owner binding.
|
|
62
62
|
- **Multi-agent commits:** Multiple actors in one envelope — on the roadmap.
|
|
63
|
-
- **Rekor / GUAC export:** Dry-run CLI ships in **0.
|
|
63
|
+
- **Rekor / GUAC export:** Dry-run CLI ships in **0.3.0** (`envelope-publish-rekor`, `envelope-export-guac`); full Rekor upload integration still in progress.
|
|
64
64
|
- **Hardware:** SSX360 reference device and Scroll Key retail are **in progress**; L1 emulated key is what you can use now.
|
|
65
65
|
|
|
66
66
|
## When to use what
|
|
@@ -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.
|
|
15
|
+
pip install "matrixscroll==0.3.0"
|
|
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.
|
|
64
|
+
matrixscroll-version: "0.3.0"
|
|
65
65
|
require-mode: emulated
|
|
66
66
|
```
|
|
67
67
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Hero demo script (60–90 seconds)
|
|
2
|
+
|
|
3
|
+
Record this flow once. It is the highest-value GTM asset for the quarter.
|
|
4
|
+
|
|
5
|
+
## Cast
|
|
6
|
+
|
|
7
|
+
- **Agent:** Cursor or Claude Code in a bound workspace
|
|
8
|
+
- **Producer:** `matrixscroll` hooks / MCP `create_envelope`
|
|
9
|
+
- **Enforcer:** Scroll Gate (`SSX360/matrixscroll-verify-action@v1`)
|
|
10
|
+
- **Verifier:** [matrixscroll.com/verify/](https://matrixscroll.com/verify/) (offline, no portal trust)
|
|
11
|
+
|
|
12
|
+
## Beat sheet
|
|
13
|
+
|
|
14
|
+
| Time | Screen | Narration hook |
|
|
15
|
+
|------|--------|----------------|
|
|
16
|
+
| 0:00 | Terminal / IDE | "An agent just committed. Who — or what — wrote it?" |
|
|
17
|
+
| 0:10 | `git log -1` + hook output | "Matrix Scroll signs an Ed25519 envelope at commit time — actor, tool, scope." |
|
|
18
|
+
| 0:25 | Envelope JSON (redacted keys OK) | "This is the proof object. Repo contents never left the machine." |
|
|
19
|
+
| 0:35 | GitHub PR + Scroll Gate check | "Scroll Gate verifies the full PR range — signed vs unsigned, trusted vs untrusted." |
|
|
20
|
+
| 0:50 | Browser verifier paste | "Anyone verifies offline at matrixscroll.com/verify — no SSX360 login required." |
|
|
21
|
+
| 1:05 | SSX360 portal flash (optional) | "Identity, billing, and audit live on the control plane — verification does not." |
|
|
22
|
+
| 1:15 | CTA slate | "Verify → Install → Pilot." |
|
|
23
|
+
|
|
24
|
+
## Commands (copy-paste)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
export MATRIXSCROLL_ACTOR_TYPE=agent
|
|
28
|
+
export MATRIXSCROLL_TOOL=cursor
|
|
29
|
+
git commit -m "feat: demo agent change"
|
|
30
|
+
matrixscroll envelope-verify "$(git rev-parse HEAD)"
|
|
31
|
+
matrixscroll envelope-publish-notes --base origin/main --head HEAD
|
|
32
|
+
git push origin refs/notes/matrixscroll
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Open PR → show **Scroll Gate** check green → paste envelope into browser verifier.
|
|
36
|
+
|
|
37
|
+
## Do not say
|
|
38
|
+
|
|
39
|
+
- "Required by" / "mandated" / regulation names as requirements
|
|
40
|
+
- Repo intelligence / scanner as the lead story
|
|
41
|
+
|
|
42
|
+
## Do say
|
|
43
|
+
|
|
44
|
+
- "Maps to" / "produces evidence for" compliance frameworks
|
|
45
|
+
- "Signed before merge" / "offline-verifiable" / "Scroll Gate"
|
|
@@ -8,13 +8,13 @@ what ships now before widening the story.
|
|
|
8
8
|
## Baseline on June 21, 2026
|
|
9
9
|
|
|
10
10
|
- GitHub: early public repo, product-first docs, and offline verification
|
|
11
|
-
- Current public release target: `matrixscroll==0.
|
|
11
|
+
- Current public release target: `matrixscroll==0.3.0`
|
|
12
12
|
- Public trust contract: pure Ed25519 over canonical manifest bytes
|
|
13
13
|
- Hardware path: SSX360 SE050 reference implementation in progress
|
|
14
14
|
|
|
15
15
|
## Next 7 days
|
|
16
16
|
|
|
17
|
-
- cut and publish `0.
|
|
17
|
+
- cut and publish `0.3.0` without widening the manifest or verify surface
|
|
18
18
|
- make the GitHub Action a real public proof surface
|
|
19
19
|
- align site, README, action docs, and PyPI around one install flow
|
|
20
20
|
- remove broken links and stale release drift from public copy
|