From 359d9e228526f720a0f296c00a1e4fd3d85432b5 Mon Sep 17 00:00:00 2001 From: -Puter <22245429+puterhimself@users.noreply.github.com> Date: Tue, 28 Jul 2026 14:50:45 +0530 Subject: [PATCH] feat: add durable AgentOS slice execution --- .../components/slice-one/slice-one-page.tsx | 150 ++++++- apps/web/src/hooks/slice-one/use-slice-one.ts | 114 +++++ bun.lock | 230 ++++++++-- deploy/zopu-runtime/runner/Dockerfile | 8 + deploy/zopu-runtime/runner/docker-compose.yml | 11 + docs/TECH.md | 221 +++++----- docs/slices.md | 21 +- packages/agents/package.json | 6 + packages/agents/src/app.ts | 41 +- packages/agents/src/runner.ts | 3 + packages/agents/src/runtime/agent-os.ts | 213 +++++++++ packages/backend/convex/_generated/api.d.ts | 17 + .../backend/convex/_generated/server.d.ts | 4 + packages/backend/convex/auth.ts | 9 + packages/backend/convex/convex.config.ts | 6 + packages/backend/convex/gitConnectionData.ts | 119 ++++++ packages/backend/convex/gitConnections.ts | 124 ++++++ packages/backend/convex/schema.ts | 26 ++ packages/backend/convex/workExecutionAgent.ts | 80 ++++ .../convex/workExecutionWorkflow.test.ts | 111 +++++ .../backend/convex/workExecutionWorkflow.ts | 403 ++++++++++++++++++ packages/backend/convex/workPlanning.ts | 30 +- packages/backend/package.json | 1 + packages/env/src/agent.ts | 2 + packages/env/src/convex.ts | 5 + packages/primitives/package.json | 1 + .../primitives/src/execution-runtime.test.ts | 38 ++ packages/primitives/src/execution-runtime.ts | 155 +++++++ packages/primitives/src/index.ts | 1 + 29 files changed, 2000 insertions(+), 150 deletions(-) create mode 100644 deploy/zopu-runtime/runner/Dockerfile create mode 100644 deploy/zopu-runtime/runner/docker-compose.yml create mode 100644 packages/agents/src/runner.ts create mode 100644 packages/agents/src/runtime/agent-os.ts create mode 100644 packages/backend/convex/gitConnectionData.ts create mode 100644 packages/backend/convex/gitConnections.ts create mode 100644 packages/backend/convex/workExecutionAgent.ts create mode 100644 packages/backend/convex/workExecutionWorkflow.test.ts create mode 100644 packages/backend/convex/workExecutionWorkflow.ts create mode 100644 packages/primitives/src/execution-runtime.test.ts create mode 100644 packages/primitives/src/execution-runtime.ts diff --git a/apps/web/src/components/slice-one/slice-one-page.tsx b/apps/web/src/components/slice-one/slice-one-page.tsx index f7f007f..9729f88 100644 --- a/apps/web/src/components/slice-one/slice-one-page.tsx +++ b/apps/web/src/components/slice-one/slice-one-page.tsx @@ -17,6 +17,7 @@ import { RotateCcw, Send, Sparkles, + Settings, X, } from "lucide-react"; import { useMemo, useRef, useState } from "react"; @@ -258,19 +259,61 @@ const WorkCard = ({ onSourceSelect, work, slice }: WorkCardProps) => { Build
{latestRun ? ( -- Run {latestRun.status}:{" "} - {latestRun.terminalSummary ?? - latestRun.terminalClassification ?? - "activity is still arriving"} -
++ {latestRun.executionKind === "real" + ? "AgentOS" + : "Simulation"}{" "} + run {latestRun.status}:{" "} + {latestRun.terminalSummary ?? + latestRun.terminalClassification ?? + "activity is still arriving"} +
+ {latestRun.attemptEvents?.slice(-5).map((item) => ( ++ {item.message} +
+ ))} + {latestRun.baseRevision ? ( ++ {latestRun.baseRevision.slice(0, 8)} →{" "} + {latestRun.candidateRevision?.slice(0, 8) ?? "working"} +
+ ) : null} + {latestRun.artifacts?.map((artifact) => ( + + {artifact.title} + + ))} +No simulation Run yet.
+No implementation Run yet.
)}