sm-arp 0.1.4__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.
sm_arp-0.1.4/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 stellarminds.ai
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
sm_arp-0.1.4/PKG-INFO ADDED
@@ -0,0 +1,136 @@
1
+ Metadata-Version: 2.4
2
+ Name: sm-arp
3
+ Version: 0.1.4
4
+ Summary: Agency Receipt Protocol — receipt envelope spec + language-agnostic conformance harness. Points at sm-conformance for the signed badge.
5
+ Author: stellarminds.ai
6
+ License: MIT License
7
+
8
+ Copyright (c) 2026 stellarminds.ai
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://labs.stellarminds.ai/arp
29
+ Project-URL: Repository, https://github.com/Sharathvc23/sm-arp
30
+ Keywords: arp,agency-receipt,accountability,ed25519,did-key,agents,receipts
31
+ Classifier: Development Status :: 3 - Alpha
32
+ Classifier: Intended Audience :: Developers
33
+ Classifier: License :: OSI Approved :: MIT License
34
+ Classifier: Programming Language :: Python :: 3
35
+ Classifier: Programming Language :: Python :: 3.11
36
+ Classifier: Programming Language :: Python :: 3.12
37
+ Classifier: Topic :: Security :: Cryptography
38
+ Requires-Python: >=3.11
39
+ Description-Content-Type: text/markdown
40
+ License-File: LICENSE
41
+ Requires-Dist: cryptography>=42
42
+ Requires-Dist: base58>=2.1
43
+ Requires-Dist: jcs>=0.2
44
+ Provides-Extra: conformance
45
+ Requires-Dist: jsonschema>=4.21; extra == "conformance"
46
+ Requires-Dist: referencing>=0.30; extra == "conformance"
47
+ Requires-Dist: sm-conformance>=0.3.1; extra == "conformance"
48
+ Provides-Extra: cli
49
+ Requires-Dist: typer>=0.12; extra == "cli"
50
+ Provides-Extra: dev
51
+ Requires-Dist: pytest>=8.0; extra == "dev"
52
+ Requires-Dist: ruff>=0.6; extra == "dev"
53
+ Dynamic: license-file
54
+
55
+ # sm-arp — Agency Receipt Protocol
56
+
57
+ The portable, cryptographically signed receipt format AI agents emit when
58
+ they act on behalf of humans. Runtime-agnostic, vendor-neutral, MIT-licensed.
59
+
60
+ ARP sits above MCP (tool integration) and A2A (agent-to-agent transport)
61
+ — the **human ↔ agent accountability layer** those standards deliberately
62
+ do not address.
63
+
64
+ ## Status
65
+
66
+ - **[WHITEPAPER.md](./WHITEPAPER.md)** — motivation, design choices, and how ARP fits the portfolio.
67
+ - **[spec/arp/0.1/spec.md](./spec/arp/0.1/spec.md)** — the canonical normative document (RFC-style).
68
+
69
+ ## Use it as a library
70
+
71
+ ARP ships one canonical Python implementation, `sm_arp`, so every runtime
72
+ imports the *same* build/sign/verify/store code instead of vendoring its own — the
73
+ receipt envelope cannot drift between them. The library needs nothing but
74
+ `cryptography`, `base58`, and `jcs`.
75
+
76
+ ```python
77
+ from sm_arp import Identity, build_action, issue_receipt, verify_receipt, IssuerLog
78
+
79
+ me = Identity.generate()
80
+ r = issue_receipt(me, principal_did=me.did,
81
+ action=build_action(category="data_shared", human_summary="shared my calendar"))
82
+ assert verify_receipt(r).ok # structure → signature → authority → hash chain
83
+ IssuerLog("log.sqlite").append(r) # SQLite Issuer/Agency Log, hash-chained per issuer
84
+ ```
85
+
86
+ `sm_arp`'s verifier is tested against the canonical 22-vector corpus and asserted
87
+ byte-for-byte equal to the conformance harness's verdict on every vector — so the
88
+ library and the spec cannot disagree. [`sm-chapter`](https://github.com/Sharathvc23/sm-chapter)
89
+ (Issuer Log) and [`sm-member-sdk`](https://github.com/Sharathvc23/sm-member-sdk)
90
+ (Agency Log) both consume it.
91
+
92
+ ## Layout
93
+
94
+ - `sm_arp/` — the consumable library: `identity` (Ed25519 + did:key), `receipts` (build/sign/verify/canonical/chain), `store` (SQLite Issuer/Agency Log).
95
+ - `arp_cli/` — the `arp` command-line tool (`pip install 'sm-arp[cli]'`).
96
+ - `WHITEPAPER.md` — design rationale and portfolio positioning.
97
+ - `spec/arp/0.1/spec.md` — the canonical normative receipt spec (RFC-style).
98
+ - `spec/arp/0.1/conformance.md` — ARP conformance criteria; points at `sm-conformance` for the badge.
99
+ - `spec/arp/0.1/governance.md` — stewardship and the path to public publication.
100
+ - `spec/arp/0.1/dat-companion.md` — the Delegated Authority Token sketch the authority chain references.
101
+ - `schema/arp/0.1/` — JSON Schemas (Draft 2020-12) for the receipt envelope.
102
+ - `vectors/arp/0.1/` — 22 language-agnostic receipt vectors.
103
+ - `conformance/arp/` — framework-agnostic Python conformance harness for receipts.
104
+
105
+ ## The conformance badge lives in sm-conformance
106
+
107
+ ARP owns *what a conformant runtime must do* (this repo) and the receipt vectors
108
+ it is tested against. It does **not** own the signed-badge mechanism — that is a
109
+ generic, protocol-neutral substrate that lives in its own primitive,
110
+ [`sm-conformance`](https://github.com/Sharathvc23/sm-conformance). ARP is its
111
+ first consumer.
112
+
113
+ ## How to claim ARP compliance
114
+
115
+ 1. Implement the spec in your runtime.
116
+ 2. Run `pytest conformance/` against the bundled vectors. Every positive vector
117
+ MUST pass; every negative vector MUST be rejected at the documented stage.
118
+ 3. Produce a signed conformance badge with
119
+ [`sm-conformance`](https://github.com/Sharathvc23/sm-conformance) and ship it
120
+ at your runtime's `.nanda/conformance.json` — and, if you serve it over HTTP,
121
+ at the canonical `/.well-known/conformance.json` (see sm-conformance SPEC §3.2).
122
+ 4. Submit your runtime to the conformance registry at
123
+ `labs.stellarminds.ai/conformance` for independent re-verification — lab
124
+ re-run, counter-signature, or attested CI (a self-signed badge alone is not
125
+ sufficient).
126
+
127
+ ## Implementing ARP
128
+
129
+ ARP is runtime-agnostic — any agent stack can emit conformant receipts. Implement
130
+ the spec, pass `conformance/`, and ship a signed
131
+ [`sm-conformance`](https://github.com/Sharathvc23/sm-conformance) badge. The
132
+ receipt format depends on nothing but Ed25519, JCS, and the W3C `did:key` method.
133
+
134
+ ## License
135
+
136
+ MIT — see [LICENSE](./LICENSE).
sm_arp-0.1.4/README.md ADDED
@@ -0,0 +1,82 @@
1
+ # sm-arp — Agency Receipt Protocol
2
+
3
+ The portable, cryptographically signed receipt format AI agents emit when
4
+ they act on behalf of humans. Runtime-agnostic, vendor-neutral, MIT-licensed.
5
+
6
+ ARP sits above MCP (tool integration) and A2A (agent-to-agent transport)
7
+ — the **human ↔ agent accountability layer** those standards deliberately
8
+ do not address.
9
+
10
+ ## Status
11
+
12
+ - **[WHITEPAPER.md](./WHITEPAPER.md)** — motivation, design choices, and how ARP fits the portfolio.
13
+ - **[spec/arp/0.1/spec.md](./spec/arp/0.1/spec.md)** — the canonical normative document (RFC-style).
14
+
15
+ ## Use it as a library
16
+
17
+ ARP ships one canonical Python implementation, `sm_arp`, so every runtime
18
+ imports the *same* build/sign/verify/store code instead of vendoring its own — the
19
+ receipt envelope cannot drift between them. The library needs nothing but
20
+ `cryptography`, `base58`, and `jcs`.
21
+
22
+ ```python
23
+ from sm_arp import Identity, build_action, issue_receipt, verify_receipt, IssuerLog
24
+
25
+ me = Identity.generate()
26
+ r = issue_receipt(me, principal_did=me.did,
27
+ action=build_action(category="data_shared", human_summary="shared my calendar"))
28
+ assert verify_receipt(r).ok # structure → signature → authority → hash chain
29
+ IssuerLog("log.sqlite").append(r) # SQLite Issuer/Agency Log, hash-chained per issuer
30
+ ```
31
+
32
+ `sm_arp`'s verifier is tested against the canonical 22-vector corpus and asserted
33
+ byte-for-byte equal to the conformance harness's verdict on every vector — so the
34
+ library and the spec cannot disagree. [`sm-chapter`](https://github.com/Sharathvc23/sm-chapter)
35
+ (Issuer Log) and [`sm-member-sdk`](https://github.com/Sharathvc23/sm-member-sdk)
36
+ (Agency Log) both consume it.
37
+
38
+ ## Layout
39
+
40
+ - `sm_arp/` — the consumable library: `identity` (Ed25519 + did:key), `receipts` (build/sign/verify/canonical/chain), `store` (SQLite Issuer/Agency Log).
41
+ - `arp_cli/` — the `arp` command-line tool (`pip install 'sm-arp[cli]'`).
42
+ - `WHITEPAPER.md` — design rationale and portfolio positioning.
43
+ - `spec/arp/0.1/spec.md` — the canonical normative receipt spec (RFC-style).
44
+ - `spec/arp/0.1/conformance.md` — ARP conformance criteria; points at `sm-conformance` for the badge.
45
+ - `spec/arp/0.1/governance.md` — stewardship and the path to public publication.
46
+ - `spec/arp/0.1/dat-companion.md` — the Delegated Authority Token sketch the authority chain references.
47
+ - `schema/arp/0.1/` — JSON Schemas (Draft 2020-12) for the receipt envelope.
48
+ - `vectors/arp/0.1/` — 22 language-agnostic receipt vectors.
49
+ - `conformance/arp/` — framework-agnostic Python conformance harness for receipts.
50
+
51
+ ## The conformance badge lives in sm-conformance
52
+
53
+ ARP owns *what a conformant runtime must do* (this repo) and the receipt vectors
54
+ it is tested against. It does **not** own the signed-badge mechanism — that is a
55
+ generic, protocol-neutral substrate that lives in its own primitive,
56
+ [`sm-conformance`](https://github.com/Sharathvc23/sm-conformance). ARP is its
57
+ first consumer.
58
+
59
+ ## How to claim ARP compliance
60
+
61
+ 1. Implement the spec in your runtime.
62
+ 2. Run `pytest conformance/` against the bundled vectors. Every positive vector
63
+ MUST pass; every negative vector MUST be rejected at the documented stage.
64
+ 3. Produce a signed conformance badge with
65
+ [`sm-conformance`](https://github.com/Sharathvc23/sm-conformance) and ship it
66
+ at your runtime's `.nanda/conformance.json` — and, if you serve it over HTTP,
67
+ at the canonical `/.well-known/conformance.json` (see sm-conformance SPEC §3.2).
68
+ 4. Submit your runtime to the conformance registry at
69
+ `labs.stellarminds.ai/conformance` for independent re-verification — lab
70
+ re-run, counter-signature, or attested CI (a self-signed badge alone is not
71
+ sufficient).
72
+
73
+ ## Implementing ARP
74
+
75
+ ARP is runtime-agnostic — any agent stack can emit conformant receipts. Implement
76
+ the spec, pass `conformance/`, and ship a signed
77
+ [`sm-conformance`](https://github.com/Sharathvc23/sm-conformance) badge. The
78
+ receipt format depends on nothing but Ed25519, JCS, and the W3C `did:key` method.
79
+
80
+ ## License
81
+
82
+ MIT — see [LICENSE](./LICENSE).
@@ -0,0 +1,18 @@
1
+ """arp — ARP v0.1 command-line tool.
2
+
3
+ Usage::
4
+
5
+ arp verify <file> # verify a receipt or trace (array)
6
+ arp inspect <file> # human-readable rendering
7
+ arp walk-authority <file> # walk action.granted_by_receipt_id back to root
8
+ arp walk-chain <file> # walk previous_receipt_hash back over time
9
+ arp vectors list # list the in-repo golden vectors
10
+ arp vectors run <id> # verify + explain one golden vector
11
+ arp demo # the canonical 5-step tour for new audiences
12
+
13
+ Read-side only in this release. Issue/grant/revoke/keygen ship later.
14
+ """
15
+
16
+ from arp_cli.cli import app, main
17
+
18
+ __all__ = ["app", "main"]