diff --git a/apps/web/src/app/docs/page.tsx b/apps/web/src/app/docs/page.tsx index a781fdb..49720e8 100644 --- a/apps/web/src/app/docs/page.tsx +++ b/apps/web/src/app/docs/page.tsx @@ -176,6 +176,19 @@ c0mpute infernet model list`} +
+

+ Train and serve small liquid neural networks (CfC, LTC) and GRU + baselines that predict the next UI action, on workers you trust. + Full guide: c0mpute.com/temporal. +

+ +{`c0mpute infernet temporal serve --train +c0mpute infernet temporal train --dataset bundle.json --output ./model --family cfc --baseline gru --worker --yes +c0mpute infernet temporal predict --session s1 --model sha256: --input step.json`} + +
+

Infernet managed endpoints reserve one identified GPU operator diff --git a/apps/web/src/app/sitemap.ts b/apps/web/src/app/sitemap.ts index 43b6c2f..50dbcfe 100644 --- a/apps/web/src/app/sitemap.ts +++ b/apps/web/src/app/sitemap.ts @@ -11,6 +11,7 @@ const staticPages: MetadataRoute.Sitemap = [ { url: `${BASE}/agents`, priority: 0.8, changeFrequency: "monthly" }, { url: `${BASE}/docs`, priority: 0.9, changeFrequency: "weekly" }, { url: `${BASE}/plugins`, priority: 0.8, changeFrequency: "weekly" }, + { url: `${BASE}/temporal`, priority: 0.8, changeFrequency: "monthly" }, { url: `${BASE}/blog`, priority: 0.8, changeFrequency: "daily" }, { url: `${BASE}/status`, priority: 0.6, changeFrequency: "hourly" }, { url: `${BASE}/nodes`, priority: 0.7, changeFrequency: "hourly" }, diff --git a/apps/web/src/app/temporal/page.tsx b/apps/web/src/app/temporal/page.tsx new file mode 100644 index 0000000..785f041 --- /dev/null +++ b/apps/web/src/app/temporal/page.tsx @@ -0,0 +1,86 @@ +export const metadata = { + title: "temporal policies (liquid networks) — c0mpute", + description: + "Train and serve CfC/LTC liquid neural networks and GRU baselines on c0mpute workers: infernet.temporal.train and infernet.temporal.infer on the existing job and receipt protocol.", + alternates: { canonical: "https://c0mpute.com/temporal" }, +}; + +const Code = ({ children }: { children: string }) => ( +

+    {children}
+  
+); + +export default function TemporalPage() { + return ( +
+
+

temporal policies

+

// liquid neural networks (CfC, LTC) and a GRU baseline, trained and served on c0mpute workers

+
+ +
+

[ what it is ]

+

+ Small temporal policies that learn a desktop task (drafting an email reply, composing a Reddit post, + reviewing LinkedIn notifications) from consented, redacted demonstrations recorded in{" "} + W3BS Training, then propose the next UI action.{" "} + Infernet runs the models; c0mpute finds a + worker, moves the job and carries the receipt. Same offer, bid, accept and receipt protocol as every other + workload. +

+
+ +
+

[ run a temporal worker ]

+ {`curl -fsSL https://c0mpute.com/install.sh | sh # c0mpute 0.2.34+ +npm i -g @infernetprotocol/cli # infernet 0.1.66+ +infernet model runtime setup --yes # PyTorch + ncps, your choice +c0mpute infernet temporal serve --train # accept training jobs +c0mpute infernet temporal serve --model sha256: # serve a model`} +

+ A worker advertises only what its Infernet reports: runtime version, CPU / CUDA / Apple GPU, RAM bucket + and the model hashes it serves. It runs one training job at a time and never bids on a job without the + user's upload approval. +

+
+ +
+

[ train on a trusted worker ]

+ {`c0mpute infernet temporal train --dataset bundle.json --output ./model \\ + --family cfc --baseline gru --worker --max-price 0.50 --yes`} +

+ Without --yes it prints what would be sent and stops. --worker limits bids to + peers you trust. The model comes back only if its weights hash matches the worker's receipt. A + liquid family is picked only when it beats the GRU baseline. +

+
+ +
+

[ sticky, encrypted inference ]

+ {`c0mpute infernet temporal predict --session s1 --model sha256: --input step.json`} +

+ A session opens on one worker and stays there, because that worker holds its hidden state. Calls are + end-to-end encrypted (X25519, HKDF, AES-256-GCM) between you and that worker, answered only for the peer + that opened the session, run exactly once, and rejected if a step is late or repeated. +

+
+ +
+

[ honest notes ]

+
    +
  • privacy — a worker sees the redacted data it trains on. Encryption in transit does not change that. Local training is the default.
  • +
  • results — on synthetic mock traces GRU beat CfC (0.948 vs 0.869 episode success), so GRU is the default until real data says otherwise.
  • +
  • not yet — moving a live session to another worker; settlement for these receipts.
  • +
+

+ Spec: DIP 0026 + {" · "} + Infernet docs + {" · "} + W3BS: teach an agent +

+
+
+ ); +}