diff --git a/public/admin/claims.html b/public/admin/claims.html index cc49b1f..6079d2c 100644 --- a/public/admin/claims.html +++ b/public/admin/claims.html @@ -70,7 +70,7 @@

CommandLayer Claims Admin

Internal operator dashboard f function openCheckout(claim){const url=checkoutUrlFromClaim(claim);if(url)window.open(url,'_blank');} function copyCheckout(claim){const url=checkoutUrlFromClaim(claim);if(url)navigator.clipboard.writeText(url);} -function pipeline(status){const steps=['created','approved','cards_published','payment_pending','paid','erc8004','ens_provisioned','live'];return `

${steps.map(x=>`${x.replaceAll('_',' ')}`).join('')}

Future steps are coming next.

`} +function pipeline(status){const steps=['created','approved','cards_published','payment_pending','paid','erc8004','ens_provisioned','live'];return `
${steps.map(x=>`${x.replaceAll('_',' ')}`).join('')}

Later pipeline stages appear as activation progresses.

`} async function runActivationPipeline(claimId){const r=await fetch('/api/admin/run-activation-pipeline',{method:'POST',headers:headers(),body:JSON.stringify({claimId})});const d=await r.json().catch(()=>({}));if(!r.ok||!d.ok){s.error=d?.status||'ACTIVATION_PIPELINE_FAILED';renderDetail();return;}await loadClaims();await loadDetail(claimId);} async function generateFirstActionReceipt(){if(!s.selected){s.error='Request failed: 400';renderDetail();return;}s.error=null;try{const r=await fetch('/api/admin/generate-first-action-receipt',{method:'POST',headers:headers(),body:JSON.stringify({claimId:s.selected})});const d=await r.json().catch(()=>({}));if(!r.ok||!d.ok){s.error=d?.status||'FIRST_ACTION_RECEIPT_FAILED';renderDetail();return;}await loadClaims();await loadDetail(s.selected);}catch(e){s.error='FIRST_ACTION_RECEIPT_FAILED';renderDetail();}} diff --git a/public/capabilities.html b/public/capabilities.html index 8523e99..41afc23 100644 --- a/public/capabilities.html +++ b/public/capabilities.html @@ -5,6 +5,17 @@ CommandLayer Capabilities — Verifiable Agent Actions + + + + + + + + + + + diff --git a/public/claim.html b/public/claim.html index 74498d9..9774549 100644 --- a/public/claim.html +++ b/public/claim.html @@ -5,6 +5,17 @@ Claim an Agent Namespace | CommandLayer + + + + + + + + + + + diff --git a/public/docs.html b/public/docs.html index 03fc180..56a990f 100644 --- a/public/docs.html +++ b/public/docs.html @@ -5,6 +5,17 @@ CommandLayer Docs — Build Verifiable Agent Actions + + + + + + + + + + + diff --git a/public/index.html b/public/index.html index e7a4627..1ead02a 100644 --- a/public/index.html +++ b/public/index.html @@ -3,8 +3,19 @@ - CommandLayer — Verifiable Receipts for AI Agents - + CommandLayer — Verifiable AI Agent Actions + + + + + + + + + + + + @@ -1046,17 +1057,16 @@ Production proof live -

- CommandLayer turns agent actions, external events, and paid machine workflows into
signed, independently verifiable receipts. -

+

Verifiable proof for AI agent actions.

- CommandLayer is the receipt layer for external events, paid machine actions, and agent execution. + CommandLayer turns agent actions, payments, and external events into signed receipts anyone can verify — backed by ENS identity, ERC-8004 discovery, and CLAS.

- View Live Proof - Explore Capabilities - Explore Protocol + Claim an Agent Namespace + Verify a Receipt + View Live Proof
+

ERC-8004 proves who the agent is. CLAS proves what the agent did. CommandLayer verifies the receipt.

diff --git a/public/integrations.html b/public/integrations.html index 5425130..05269dd 100644 --- a/public/integrations.html +++ b/public/integrations.html @@ -5,6 +5,17 @@ Integrations | CommandLayer + + + + + + + + + + +
MCP Bridge

MCP bridges agent clients to CommandLayer runtime actions.

MCP exposes CommandLayer tools to MCP clients, but MCP is a bridge, not the signer.

What MCP does

What MCP does not do

Trust boundary

The proof model is identical whether an action is called through MCP or direct HTTP. MCP changes transport, not trust. Runtime still signs. Verifier still validates. MCP does not hold keys.

Transport

GET  https://mcp.commandlayer.org/health
+CommandLayer MCP Bridge
+
+
+
+
+
+
+
+
+
+
+
MCP Bridge

MCP bridges agent clients to CommandLayer runtime actions.

MCP exposes CommandLayer tools to MCP clients, but MCP is a bridge, not the signer.

What MCP does

  • Exposes tools.
  • Forwards payloads to runtime.
  • Blocks private key fields.
  • Returns runtime receipts.
  • Supports automatic verification workflows.

What MCP does not do

  • Does not hold private keys.
  • Does not sign receipts.
  • Is not the trust root.
  • Does not make schema-valid equal verified.

Trust boundary

The proof model is identical whether an action is called through MCP or direct HTTP. MCP changes transport, not trust. Runtime still signs. Verifier still validates. MCP does not hold keys.

Transport

GET  https://mcp.commandlayer.org/health
 POST https://mcp.commandlayer.org/mcp
 
 Note: /mcp is POST-only MCP transport. GET /mcp is not expected to work.

Tools

clas.trust-verification.verify
diff --git a/public/proof.html b/public/proof.html
index 6689aaf..bb75c08 100644
--- a/public/proof.html
+++ b/public/proof.html
@@ -5,6 +5,17 @@
 
 Live Proof | CommandLayer
 
+
+
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/public/protocol.html b/public/protocol.html
index 17ba361..9d92ea1 100644
--- a/public/protocol.html
+++ b/public/protocol.html
@@ -5,6 +5,17 @@
 
 Protocol | CommandLayer
 
+
+
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/public/receipts.html b/public/receipts.html
index 6b05ca7..e85bd1b 100644
--- a/public/receipts.html
+++ b/public/receipts.html
@@ -5,6 +5,17 @@
 
 Receipts | CommandLayer
 
+
+
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..abf591c
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://www.commandlayer.org/sitemap.xml
diff --git a/public/runtime.html b/public/runtime.html
index c1e5cb6..b1378e7 100644
--- a/public/runtime.html
+++ b/public/runtime.html
@@ -5,6 +5,17 @@
   
   CommandLayer Runtime
   
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
   
   
   
diff --git a/public/schemas.html b/public/schemas.html
index d329471..85bc057 100644
--- a/public/schemas.html
+++ b/public/schemas.html
@@ -5,6 +5,17 @@
   
   CommandLayer Schemas | Protocol Contract Reference
   
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
   
   
   
diff --git a/public/sdk-records.html b/public/sdk-records.html
index a4a3703..81aa330 100644
--- a/public/sdk-records.html
+++ b/public/sdk-records.html
@@ -5,6 +5,17 @@
 
 CommandLayer SDK | @commandlayer/agent-sdk
 
+
+
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..85d9db4
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,16 @@
+
+
+  https://www.commandlayer.org/
+  https://www.commandlayer.org/claim.html
+  https://www.commandlayer.org/verify.html
+  https://www.commandlayer.org/proof.html
+  https://www.commandlayer.org/receipts.html
+  https://www.commandlayer.org/protocol.html
+  https://www.commandlayer.org/capabilities.html
+  https://www.commandlayer.org/docs.html
+  https://www.commandlayer.org/sdk-records.html
+  https://www.commandlayer.org/runtime.html
+  https://www.commandlayer.org/mcp.html
+  https://www.commandlayer.org/schemas.html
+  https://www.commandlayer.org/integrations.html
+
diff --git a/public/verify.html b/public/verify.html
index e5788e4..0dcd881 100644
--- a/public/verify.html
+++ b/public/verify.html
@@ -5,6 +5,17 @@
 
 CommandLayer Verifier | Verify by Proof
 
+
+
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/vercel.json b/vercel.json
index 356a791..8668e4a 100644
--- a/vercel.json
+++ b/vercel.json
@@ -1,4 +1,20 @@
 {
+  "headers": [
+    {
+      "source": "/(.*).html",
+      "headers": [
+        { "key": "Cache-Control", "value": "public, max-age=0, must-revalidate" },
+        { "key": "CDN-Cache-Control", "value": "max-age=0, must-revalidate" }
+      ]
+    },
+    {
+      "source": "/",
+      "headers": [
+        { "key": "Cache-Control", "value": "public, max-age=0, must-revalidate" },
+        { "key": "CDN-Cache-Control", "value": "max-age=0, must-revalidate" }
+      ]
+    }
+  ],
   "rewrites": [
     {
       "source": "/admin/claims",