Skip to content

Commit e9074c1

Browse files
NAOR YUVALclaude
authored andcommitted
Add ROADMAP.md — mark PR28 as implemented, move from mpcp-spec
Moves the implementation roadmap from mpcp-spec/roadmap/ into this repository as ROADMAP.md, consistent with localized ROADMAP.md files in mpcp-policy-authority, mpcp-wallet-sdk, and mpcp-merchant-sdk. Key changes from the original: - Compact table format for completed phases (1–5 all done) - PR28 (Encrypted Policy Anchoring) marked as ✓ Implemented: submitMode, AES-256-GCM via crypto.subtle, PolicyDocumentCustody, xrplEncryptAndStorePolicyDocument, InMemoryPolicyCustody - Full detail retained only for pending PRs (21–25) - Deferred section updated PR28 verification: 243/243 tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5d63fdb commit e9074c1

1 file changed

Lines changed: 164 additions & 0 deletions

File tree

ROADMAP.md

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
# mpcp-reference — Implementation Roadmap
2+
3+
TypeScript reference implementation and canonical protocol SDK for the [Machine Payment Control Protocol (MPCP)](https://mpcp-protocol.github.io/spec/).
4+
5+
Implements: protocol verification engine, artifact schemas, cryptographic signing, on-chain anchoring adapters, golden test vectors, and the full SDK consumed by `mpcp-policy-authority`, `mpcp-wallet-sdk`, and `mpcp-merchant-sdk`.
6+
7+
**Stack:** Node.js 22 + TypeScript (ESM), Vitest, Zod.
8+
9+
---
10+
11+
## Guiding Principles
12+
13+
**Protocol first** — the specification is the source of truth; code conforms to it, not the other way around.
14+
15+
**Determinism** — all artifacts serialize and hash identically across implementations and runtimes.
16+
17+
**Rail agnostic** — no dependency on a specific payment rail or ledger.
18+
19+
**Verifiable** — every payment decision and settlement can be independently verified without contacting a central service.
20+
21+
**Small PRs** — each feature lands in an isolated PR for safe review and easy rollback.
22+
23+
---
24+
25+
## Phase 1 — Protocol Determinism ✓
26+
27+
| PR | Title | Status |
28+
|----|-------|--------|
29+
| PR1 | Canonical serialization (`canonicalJson`, SHA-256) ||
30+
| PR2 | Artifact schemas (Zod — PolicyGrant, SBA, SPA, SettlementIntent, FleetPolicyAuthorization) ||
31+
| PR3 | `SettlementIntentHash` implementation ||
32+
33+
---
34+
35+
## Phase 2 — Verification Engine ✓
36+
37+
| PR | Title | Status |
38+
|----|-------|--------|
39+
| PR4 | Core verifier (`verifyPolicyGrant`, `verifyBudgetAuthorization`, `verifyPaymentAuthorization`, `verifySettlement`) ||
40+
| PR5 | CLI verifier (`npx mpcp verify settlement.json`) ||
41+
| PR5A | CLI explain mode (`--explain`, `--json`; `DetailedVerificationReport`) ||
42+
| PR6 | Protocol conformance tests ||
43+
44+
---
45+
46+
## Phase 3 — Developer Adoption ✓
47+
48+
| PR | Title | Status |
49+
|----|-------|--------|
50+
| PR7 | SDK helpers (`createPolicyGrant`, `createBudgetAuthorization`, `createSignedPaymentAuthorization`, `createSettlementIntent`, `computeIntentHash`) ||
51+
| PR8 | End-to-end parking example + guardrails demo + fleet demo + offline flow ||
52+
| PR9 | Integration tests — full lifecycle verification ||
53+
54+
---
55+
56+
## Phase 4 — Protocol Network Effects ✓
57+
58+
| PR | Title | Status |
59+
|----|-------|--------|
60+
| PR10 | Intent anchoring — Hedera HCS, XRPL, EVM, mock adapters ||
61+
| PR11 | Dispute verification (`verifyDisputedSettlementAsync`) ||
62+
| PR12 | Fleet operator tooling ||
63+
| PR12A | Artifact Bundle specification + schema ||
64+
65+
---
66+
67+
## Phase 5 — External Adoption ✓
68+
69+
| PR | Title | Status |
70+
|----|-------|--------|
71+
| PR13/PR20 | Golden protocol vectors (valid settlement, expired grant, budget exceeded, hash mismatch) ||
72+
| PR14 | Real ledger anchor adapters (Hedera HCS: `hederaHcsAnchorIntentHash`, `verifyHederaHcsAnchor`) ||
73+
| PR15 | Reference deployment profiles (fleet-offline, parking, charging, hosted-rail) ||
74+
| PR16 | Compatibility and versioning policy ||
75+
| PR17 | Reference service API (`src/service/`) ||
76+
| PR18 | Protocol documentation site (`docs/`) ||
77+
| PR19 | Docs site deployment (MkDocs + GitHub Pages CI) ||
78+
79+
---
80+
81+
## Phase 6 — Adoption Acceleration
82+
83+
| PR | Title | Status |
84+
|----|-------|--------|
85+
| PR21 | Payment profiles expansion (XRPL Stablecoin, RLUSD) | pending |
86+
| PR22 | Layer-1 ecosystem evaluation (XRPL, Hedera, Stellar, EVM) | pending |
87+
| PR23 | Machine wallet guardrails documentation | pending |
88+
| PR24 | Automated fleet payment demo (visual end-to-end) | pending |
89+
| PR25 | MPCP conformance badge | pending |
90+
| PR26 | Human-to-Agent Delegation Profile (`revocationEndpoint`, `allowedPurposes`, TRIP scope, `checkRevocation()`) ||
91+
| PR27 | On-Chain Policy Anchoring (`anchorRef`, `resolveXrplDid`, `hederaHcsAnchorPolicyDocument`, `checkXrplNftRevocation`) ||
92+
| PR28 | Encrypted Policy Anchoring (`submitMode`, AES-256-GCM via `crypto.subtle`, `PolicyDocumentCustody`, XRPL IPFS prep) ||
93+
94+
---
95+
96+
## PR21 — Payment Profiles Expansion
97+
98+
Expand reference profiles so MPCP is immediately usable for real payment ecosystems.
99+
100+
Initial focus:
101+
- XRPL Stablecoin Profile — RLUSD / issued-asset payment constraints
102+
- Wallet and verifier expectations for stablecoin settlement
103+
104+
Future candidates: Stellar, Hedera, EVM stablecoin.
105+
106+
Deliverables:
107+
- Profile document(s)
108+
- Example artifact bundles
109+
- Verification guidance per profile
110+
111+
---
112+
113+
## PR22 — Layer-1 Ecosystem Evaluation
114+
115+
Research and document which L1/payment ecosystem to prioritize next for MPCP deployment profiles.
116+
117+
Evaluation criteria: stablecoin support, settlement finality, fees, compliance features, offline/verifier friendliness, developer tooling.
118+
119+
Deliverables:
120+
- Research document comparing candidates
121+
- Recommended next profile target with rationale
122+
123+
---
124+
125+
## PR23 — Machine Wallet Guardrails
126+
127+
Document and demonstrate how MPCP acts as a machine wallet guardrail layer: a machine wallet may not send funds unless the payment satisfies the full PolicyGrant → SBA → SPA constraint chain.
128+
129+
Deliverables:
130+
- Guide describing the guardrail model
131+
- Wallet integration example
132+
- Threat-model notes for overspend and misuse prevention
133+
134+
---
135+
136+
## PR24 — Automated Fleet Payment Demo
137+
138+
Visual end-to-end demonstration of an MPCP-controlled fleet payment (vehicle → parking/charging facility → verifier → settlement).
139+
140+
Deliverables:
141+
- Runnable demo script
142+
- Architecture diagram
143+
- Companion documentation
144+
145+
---
146+
147+
## PR25 — MPCP Conformance Badge
148+
149+
Lightweight conformance process: implementations that pass the golden vectors and required verification checks may claim compatibility.
150+
151+
Deliverables:
152+
- Conformance criteria
153+
- Badge / claim format
154+
- Documentation for external implementers
155+
156+
---
157+
158+
## Deferred
159+
160+
- **Multi-SBA batching** — verify multiple SBAs in a single call (bulk settlement)
161+
- **Streaming payment verification** — incremental spend verification for micropayment streams
162+
- **Push revocation** — WebSocket listener for real-time revocation events
163+
- **EVM stablecoin anchor adapter** — extend intent anchoring to EVM chains
164+
- **Hardware wallet signing** — Ledger / Trezor integration in wallet SDK layer

0 commit comments

Comments
 (0)