|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="en"> |
| 3 | +<head> |
| 4 | +<meta charset="UTF-8" /> |
| 5 | +<meta name="viewport" content="width=device-width,initial-scale=1.0" /> |
| 6 | +<title>CommandLayer — Stack Proof Demo (Local/Dev)</title> |
| 7 | +<link rel="icon" href="https://www.commandlayer.org/icon2.png" /> |
| 8 | +<style> |
| 9 | +:root{--bg:#07090d;--surface:#0f1623;--border:#1f2f45;--text:#cfe3fb;--dim:#6e89a8;--accent:#00d4ff;--ok:#00e676;--bad:#ff6b6b;--mono:'JetBrains Mono',monospace} |
| 10 | +*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);line-height:1.6} |
| 11 | +main{max-width:980px;margin:0 auto;padding:40px 24px 70px} |
| 12 | +a{color:var(--accent)} h1,h2,h3{line-height:1.2} |
| 13 | +.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 18px;margin:14px 0} |
| 14 | +pre{background:#0b1019;border:1px solid var(--border);border-radius:8px;padding:14px;overflow:auto;font-size:12px} |
| 15 | +.flow{font-size:18px;color:#fff} .ok{color:var(--ok);font-weight:700} .bad{color:var(--bad);font-weight:700} |
| 16 | +ul li{margin:8px 0}.note{color:var(--dim)} |
| 17 | +</style> |
| 18 | +</head> |
| 19 | +<body> |
| 20 | +<main> |
| 21 | + <p><a href="/docs.html">← Back to docs</a></p> |
| 22 | + <h1>Canonical Stack Proof Demo <span class="note">(local/dev)</span></h1> |
| 23 | + <p>This page documents the <strong>developer-facing proof flow</strong> for CommandLayer in local/dev environments. It is not a claim that production runtime endpoints are currently reachable.</p> |
| 24 | + |
| 25 | + <div class="card"> |
| 26 | + <h2>Canonical flow</h2> |
| 27 | + <p class="flow">MCP sign request → runtime signs receipt → VerifyAgent verifies → tampered receipt invalidates</p> |
| 28 | + </div> |
| 29 | + |
| 30 | + <h2>Canonical proof envelope</h2> |
| 31 | + <pre>{ |
| 32 | + "receipt": { |
| 33 | + "request_id": "req_demo_123", |
| 34 | + "agent": "runtime.commandlayer.eth", |
| 35 | + "verb": "summarize", |
| 36 | + "result": { |
| 37 | + "summary": "CommandLayer signs verifiable runtime receipts." |
| 38 | + } |
| 39 | + }, |
| 40 | + "metadata": { |
| 41 | + "proof": { |
| 42 | + "canonicalization": "json.sorted_keys.v1", |
| 43 | + "hash": { |
| 44 | + "alg": "SHA-256", |
| 45 | + "value": "1e26...demo...f9" |
| 46 | + }, |
| 47 | + "signature": { |
| 48 | + "alg": "Ed25519", |
| 49 | + "value": "z6Mkh...demo-signature" |
| 50 | + } |
| 51 | + } |
| 52 | + } |
| 53 | +}</pre> |
| 54 | + |
| 55 | + <div class="card"> |
| 56 | + <h3>Expected verification outcomes</h3> |
| 57 | + <ul> |
| 58 | + <li>VerifyAgent result: <span class="ok">VERIFIED</span></li> |
| 59 | + <li>Tampered result: <span class="bad">INVALID</span></li> |
| 60 | + </ul> |
| 61 | + </div> |
| 62 | + |
| 63 | + <h2>Run it locally</h2> |
| 64 | + <div class="card"> |
| 65 | + <ul> |
| 66 | + <li><strong>runtime</strong>: run <code>npm test</code>; use your local sign endpoint to emit signed receipts in dev.</li> |
| 67 | + <li><strong>verifyagent</strong>: run <code>npm run e2e:runtime</code> against locally generated receipts.</li> |
| 68 | + <li><strong>mcp-server</strong>: run <code>npm test</code>; use the local sign bridge for MCP→runtime handoff.</li> |
| 69 | + </ul> |
| 70 | + </div> |
| 71 | + |
| 72 | + <h2>Architecture (text diagram)</h2> |
| 73 | + <pre>CLAS = contract |
| 74 | +runtime-core = crypto truth |
| 75 | +runtime = signer / executor |
| 76 | +MCP = bridge |
| 77 | +VerifyAgent = verifier |
| 78 | +agent-sdk = developer wrapper</pre> |
| 79 | + |
| 80 | + <h2>Warnings</h2> |
| 81 | + <div class="card"> |
| 82 | + <ul> |
| 83 | + <li><strong>MCP is not the trust root.</strong></li> |
| 84 | + <li><strong>schema-valid is not verified.</strong> Verification requires canonical hash + signature checks.</li> |
| 85 | + <li><strong>Production runtime must use a key matching ENS TXT records.</strong></li> |
| 86 | + </ul> |
| 87 | + </div> |
| 88 | + |
| 89 | + <p class="note">Production availability should not be claimed as live until <code>runtime.commandlayer.org</code> is publicly reachable.</p> |
| 90 | +</main> |
| 91 | +</body> |
| 92 | +</html> |
0 commit comments