Skip to content

Commit 37309be

Browse files
committed
Rebuild production proof page and align proof links
1 parent 22b53e7 commit 37309be

2 files changed

Lines changed: 116 additions & 61 deletions

File tree

public/capabilities.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
</head>
1515
<body>
1616
<nav><div class="container nav-inner"><a href="/" class="brand"><img src="/commandlayer-logo.png" alt="CommandLayer" /><span>CommandLayer</span></a><div class="nav-links"><a href="/">Home</a><a href="/protocol.html">Protocol</a><a href="/capabilities.html" class="active">Capabilities</a><a href="/verify.html">Verifier</a><a href="/sdk-records.html">SDK</a><a href="/docs/wrap-your-agent.html">Docs</a><a href="/claim.html">Claim</a><a href="https://github.com/commandlayer" target="_blank" rel="noopener">GitHub</a></div></div></nav>
17-
<section class="hero"><div class="container"><div class="hero-badge"><span class="badge-dot"></span>Capabilities</div><h1 class="hero-h1">Capability families for <span class="grad">verifiable agent actions.</span></h1><p class="hero-sub">Choose the action families your agent supports. CommandLayer capabilities define action semantics, schemas, discovery surfaces, and receipt verification paths.</p><div class="hero-actions"><button class="btn btn-primary btn-lg" id="addTrustBtn" type="button">Add Trust Verification</button><a class="btn btn-secondary btn-lg" href="/verify.html">View Proof</a></div></div></section>
17+
<section class="hero"><div class="container"><div class="hero-badge"><span class="badge-dot"></span>Capabilities</div><h1 class="hero-h1">Capability families for <span class="grad">verifiable agent actions.</span></h1><p class="hero-sub">Choose the action families your agent supports. CommandLayer capabilities define action semantics, schemas, discovery surfaces, and receipt verification paths.</p><div class="hero-actions"><button class="btn btn-primary btn-lg" id="addTrustBtn" type="button">Add Trust Verification</button><a class="btn btn-secondary btn-lg" href="/stack-proof-demo.html">View Proof</a></div></div></section>
1818
<section class="section"><div class="container"><p class="capability-intro">A capability is not just a verb. It can include request schemas, receipt schemas, examples, agent cards, ENS records, MCP tool definitions, OpenAPI operations, SDK usage, and verifier support.</p><div class="steps-grid"><div class="step-card"><div class="step-num">1</div><h3>Semantics</h3><p>Capability semantics define verb meaning and expected execution intent.</p></div><div class="step-card"><div class="step-num">2</div><h3>Request schema</h3><p>Request schemas define valid inputs before runtime execution begins.</p></div><div class="step-card"><div class="step-num">3</div><h3>Runtime execution</h3><p>Runtime executes the action and signs receipts using signer identity and key material.</p></div><div class="step-card"><div class="step-num">4</div><h3>Canonical receipt</h3><p>Canonical receipts include <code>metadata.proof</code> fields for JSON canonicalization, SHA-256 hashing, and Ed25519 signatures.</p></div><div class="step-card"><div class="step-num">5</div><h3>Discovery surface</h3><p>MCP bridge and API discovery surfaces expose callable tools and operations.</p></div><div class="step-card"><div class="step-num">6</div><h3>Verification</h3><p>Verifier validation confirms proof integrity, and tamper invalidation fails altered receipts.</p></div></div></div></section>
1919
<section class="section section-alt"><div class="container"><div class="section-eyebrow">Capability Map</div><h2 class="section-h2">One map for actions, discovery, and proof.</h2><p class="section-p">Trust Verification v1 is live in production. The remaining capability families are namespace package / future family tracks for expansion.</p>
2020
<div class="build-panel" aria-live="polite"><div class="build-head"><div><h3>Build plan</h3><p>Select capability groups for your agent stack. Export local manifests, SDK config, agent cards, ENS records, and discovery drafts.</p></div><button class="clear-plan" type="button" id="clearPlanBtn">Clear plan</button></div><div class="build-items" id="buildItems"><span class="build-empty">No capabilities selected yet.</span></div><div class="build-actions"><button class="build-action primary" type="button" id="exportManifestBtn">Export manifest</button><button class="build-action" type="button" id="copyManifestBtn">Copy manifest JSON</button><button class="build-action" type="button" id="copySdkConfigBtn">Copy SDK config</button><button class="build-action" type="button" id="copyAgentCardBtn">Copy agent card</button><button class="build-action" type="button" id="copyEnsBtn">Copy ENS records</button><button class="build-action" type="button" id="copyDiscoveryBtn">Copy MCP surface</button></div><pre class="export-box" id="exportBox"></pre></div>
@@ -29,7 +29,7 @@
2929
<article class="cap-card" data-cap-id="lifecycle-management" data-cap-name="Lifecycle Management" data-snippet="register" data-status="future family"><div class="cap-head"><div class="cap-title">Lifecycle Management</div><span class="status">future family</span></div><p class="cap-desc">Operational lifecycle verbs from launch through retirement and migration.</p><div class="pill-row"><span class="cap-pill">register</span><span class="cap-pill">launch</span><span class="cap-pill">update</span><span class="cap-pill">pause</span><span class="cap-pill">resume</span><span class="cap-pill">cancel</span><span class="cap-pill">archive</span><span class="cap-pill">terminate</span><span class="cap-pill">reset</span><span class="cap-pill">migrate</span></div><div class="cap-actions"><button class="cap-action disabled" type="button" disabled>Manifest planned</button><button class="cap-action" data-copy-snippet>Copy SDK snippet</button><button class="cap-action primary" data-add-plan>Add to build plan</button></div></article>
3030
</div></div></section>
3131
<section class="section"><div class="container"><div class="section-eyebrow">Capability Detail Model</div><h2 class="section-h2">What each capability can expose.</h2><div class="model-grid"><div class="model-item" tabindex="0" data-definition="A plain-language definition for the action and semantic intent.">Definition</div><div class="model-item" tabindex="0" data-definition="The JSON schema for valid request inputs before runtime execution.">Request schema</div><div class="model-item" tabindex="0" data-definition="The JSON schema for runtime-emitted receipts, including metadata.proof fields.">Receipt schema</div><div class="model-item" tabindex="0" data-definition="A known-good example that is both schema-valid and cryptographically verified.">Valid example</div><div class="model-item" tabindex="0" data-definition="An altered example demonstrating tamper invalidation during verification.">Tampered example</div><div class="model-item" tabindex="0" data-definition="A machine-readable agent profile with capabilities, endpoints, and verifier metadata.">Agent card</div><div class="model-item" tabindex="0" data-definition="ENS records for signer identity, canonical proof expectations, and discovery endpoints.">ENS records</div><div class="model-item" tabindex="0" data-definition="An MCP tool entry. MCP is a bridge surface; runtime signing remains the trust root.">MCP tool</div><div class="model-item" tabindex="0" data-definition="An HTTP operation definition for invoking capability and verification paths.">OpenAPI operation</div><div class="model-item" tabindex="0" data-definition="The runtime endpoint used to execute actions and return canonical receipts.">Runtime endpoint</div><div class="model-item" tabindex="0" data-definition="Verifier checks prove cryptographic validity. Schema-valid alone does not mean verified.">Verifier support</div><div class="model-item" tabindex="0" data-definition="SDK code for wrapping actions and handling signed receipts in application code.">SDK usage</div></div></div></section>
32-
<footer><div class="container footer-grid"><div><h4>Product</h4><a href="/protocol.html">Protocol</a><a href="/capabilities.html">Capabilities</a><a href="/verify.html">Verifier</a><a href="/runtime.html">Runtime</a><a href="https://mcp.commandlayer.org/mcp" target="_blank" rel="noopener">MCP</a><a href="/claim.html">Claim</a></div><div><h4>Developers</h4><a href="/docs/wrap-your-agent.html">Docs</a><a href="/sdk-records.html">SDK</a><a href="/schemas/">Schemas</a><a href="/api/verify">API</a><a href="https://github.com/commandlayer" target="_blank" rel="noopener">GitHub</a></div><div><h4>Proof</h4><a href="/trust-verification.html">Production Proof</a><a href="/verify.html">VerifyAgent</a><a href="/trust-verification.html">Trust Verification</a><a href="/trust-verification.html">Canonical Receipts</a></div></div></footer>
32+
<footer><div class="container footer-grid"><div><h4>Product</h4><a href="/protocol.html">Protocol</a><a href="/capabilities.html">Capabilities</a><a href="/verify.html">Verifier</a><a href="/runtime.html">Runtime</a><a href="https://mcp.commandlayer.org/mcp" target="_blank" rel="noopener">MCP</a><a href="/claim.html">Claim</a></div><div><h4>Developers</h4><a href="/docs/wrap-your-agent.html">Docs</a><a href="/sdk-records.html">SDK</a><a href="/schemas/">Schemas</a><a href="/api/verify">API</a><a href="https://github.com/commandlayer" target="_blank" rel="noopener">GitHub</a></div><div><h4>Proof</h4><a href="/stack-proof-demo.html">Production Proof</a><a href="/verify.html">VerifyAgent</a><a href="/stack-proof-demo.html">Trust Verification</a><a href="/stack-proof-demo.html">Canonical Receipts</a></div></div></footer>
3333
<div class="toast" id="toast"></div>
3434
<script>
3535
const KEY='commandlayer.buildPlan.v1';const itemsEl=document.getElementById('buildItems');const toast=document.getElementById('toast');const exportBox=document.getElementById('exportBox');function getPlan(){try{return JSON.parse(localStorage.getItem(KEY)||'[]')}catch{return[]}}function selectedIds(){const ids=getPlan().map(x=>x.id);return ids.length?ids:['trust-verification']}function setPlan(plan){localStorage.setItem(KEY,JSON.stringify(plan));renderPlan()}function showToast(msg){toast.textContent=msg;toast.classList.add('show');setTimeout(()=>toast.classList.remove('show'),1800)}function renderPlan(){const plan=getPlan();itemsEl.innerHTML='';if(!plan.length){itemsEl.innerHTML='<span class="build-empty">No capabilities selected yet.</span>';return}plan.forEach(item=>{const tag=document.createElement('span');tag.className='build-tag';tag.textContent=item.name;const btn=document.createElement('button');btn.type='button';btn.textContent='×';btn.setAttribute('aria-label','Remove '+item.name);btn.onclick=()=>setPlan(getPlan().filter(x=>x.id!==item.id));tag.appendChild(btn);itemsEl.appendChild(tag)})}function snippetFor(verb){return `const { output, receipt } = await cl.wrap("${verb}", async () => {\n return { ok: true };\n});`}function buildManifest(){const selected=getPlan();return {type:'commandlayer.capability_build_plan',version:'1.0.0',created_at:new Date().toISOString(),selected_capability_groups:selected,runtime:'https://runtime.commandlayer.org',verifier:'runtime /verify or configured verifier',proof_model:'metadata.proof'}}function agentCard(){return {type:'commandlayer.agent_card',version:'1.0.0',name:'runtime.commandlayer.eth',capabilities:selectedIds(),verifier:'/api/verify',generated_at:new Date().toISOString(),note:'Draft agent card generated locally from the selected capability build plan.'}}function ensRecords(){const caps=selectedIds().join(',');return [`cl.capabilities=${caps}`,'cl.verifier=https://www.commandlayer.org/api/verify','cl.sig.pub=ed25519:<public-key>','cl.sig.kid=vC4WbcNoq2znSCiQ','cl.sig.canonical=json.sorted_keys.v1','cl.receipt.signer=runtime.commandlayer.eth','agent-endpoint[mcp]=https://mcp.commandlayer.org/mcp'].join('\n')}function discoverySurface(){return {type:'commandlayer.discovery_surface_draft',version:'1.0.0',capabilities:selectedIds(),tools:['clas.trust-verification.verify','clas.trust-verification.sign','clas.trust-verification.attest','clas.trust-verification.authorize','clas.trust-verification.approve','clas.trust-verification.reject','clas.trust-verification.permit','clas.trust-verification.grant','clas.trust-verification.authenticate','clas.trust-verification.endorse'],bridge_note:'MCP is a bridge. Runtime signs. Verifier validates.',verification_endpoint:'/api/verify',generated_at:new Date().toISOString()}}function sdkConfig(){return `import { CommandLayer } from "@commandlayer/agent-sdk";\n\nconst cl = new CommandLayer({\n agent: "runtime.commandlayer.eth",\n privateKeyPem: process.env.CL_PRIVATE_KEY_PEM,\n keyId: "vC4WbcNoq2znSCiQ"\n});\n\nconst capabilities = ${JSON.stringify(getPlan().map(x=>x.id),null,2)};\n\nexport { cl, capabilities };`}function showExport(value){const text=typeof value==='string'?value:JSON.stringify(value||buildManifest(),null,2);exportBox.textContent=text;exportBox.classList.add('show');return text}async function copyOutput(label,value){await navigator.clipboard.writeText(showExport(value));showToast(label+' copied')}document.querySelectorAll('[data-add-plan]').forEach(btn=>btn.addEventListener('click',()=>{const card=btn.closest('.cap-card');const item={id:card.dataset.capId,name:card.dataset.capName,status:card.dataset.status||'planned',manifest:card.dataset.manifest||null,default_verb:card.dataset.snippet||null};const plan=getPlan();if(!plan.find(x=>x.id===item.id)){plan.push(item);setPlan(plan);showToast(item.name+' added to build plan')}else showToast(item.name+' is already in your build plan')}));document.querySelectorAll('[data-copy-snippet]').forEach(btn=>btn.addEventListener('click',async()=>{const verb=btn.closest('.cap-card').dataset.snippet||'verify';await navigator.clipboard.writeText(snippetFor(verb));showToast('SDK snippet copied for '+verb)}));document.getElementById('clearPlanBtn').onclick=()=>{setPlan([]);exportBox.classList.remove('show');showToast('Build plan cleared')};document.getElementById('exportManifestBtn').onclick=()=>{const json=showExport(buildManifest());const blob=new Blob([json],{type:'application/json'});const url=URL.createObjectURL(blob);const a=document.createElement('a');a.href=url;a.download='commandlayer-build-plan.json';a.click();URL.revokeObjectURL(url);showToast('Build plan manifest exported')};document.getElementById('copyManifestBtn').onclick=()=>copyOutput('Build plan JSON',buildManifest());document.getElementById('copySdkConfigBtn').onclick=()=>copyOutput('SDK config',sdkConfig());document.getElementById('copyAgentCardBtn').onclick=()=>copyOutput('Agent card',agentCard());document.getElementById('copyEnsBtn').onclick=()=>copyOutput('ENS records',ensRecords());document.getElementById('copyDiscoveryBtn').onclick=()=>copyOutput('MCP surface draft',discoverySurface());document.getElementById('addTrustBtn').onclick=()=>{const btn=document.querySelector('[data-cap-id="trust-verification"] [data-add-plan]');if(btn)btn.click()};renderPlan();

0 commit comments

Comments
 (0)