diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bad85750f6..7ac0b547cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,8 @@ # Fast lane: runs after a push and reports. It is never a required check and # never blocks a push or merge; agents do not wait for it (AGENTS.md §4). # Slow and FUSE mount tests run in nightly.yml. Selection: tools/ci_tests.py. +# windows-build only compiles the crates gated for Windows (#527 D6) and +# reports; it runs no test and its failure fails nothing (continue-on-error). # The Node binding (engine/crates/layerfs-node) and the JavaScript packages in # api/ stay outside CI (owner, 2026-10-23): no path trigger, excluded from # Clippy/tests and skipped by the guard. The Rust layerfs-api crate is included. @@ -76,6 +78,21 @@ jobs: save-if: ${{ github.ref == 'refs/heads/main' }} - run: cargo +1.85.1 clippy --manifest-path Cargo.toml --locked --workspace --exclude layerfs-node --all-targets -- -D warnings + # Windows runs the Linux build through WSL2 or a VM (#527 D2); this lane only + # reports whether the crates gated for Windows still compile there. Today + # that is layerfs-sandbox (its shared types; the backends are Unix only). + # layerfs-node stays outside CI, and layerfs-api cannot build for Windows + # yet (layerfs-store-service is Unix only). + windows-build: + name: windows build (reports only) + runs-on: windows-2025 + timeout-minutes: 15 + continue-on-error: true + steps: + - uses: actions/checkout@v7.0.1 + - run: rustup toolchain install 1.85.1 --profile minimal --component clippy + - run: cargo +1.85.1 clippy --manifest-path Cargo.toml --locked -p layerfs-sandbox -- -D warnings + test: runs-on: ubuntu-24.04 timeout-minutes: 30 diff --git a/AGENTS.md b/AGENTS.md index 80c78a7412..8537e27733 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -154,6 +154,15 @@ remains a separate MEMORY/OFF/EXCLUSIVE database file. native handles and project discovery. This is independent of the macOS adapter and changes neither the product SDK nor the daemon. A lost reply is never replayed, and an uncertain Init retains its Linux home and volume. +- **Additional exception (owner, 2026-11-01, #527 D5): native macOS.** With + `LAYERFS_SANDBOX=native` on macOS, the SDK loads the macOS addon in its own + process and opens the project's Store directly on a local apfs or hfs + directory (`kernel_guard` admits those two there, #427). Its Sandboxes are + daemon processes serving loopback NFS to this Mac's own client, one user, + no container (see the agent guide's native Sandboxes). Every opener is a + process on this one Mac, so the one-kernel, local-filesystem rule holds; + network and other filesystems are still refused. The Docker, worker and + `vm:` routes on macOS are unchanged. - **Plugin-neutral LayerFS (owner, 2026-10-24).** LayerFS is agnostic to dsh and every other plugin. The macOS and Windows worker routes above are open to any integration: `@layerfs/runtime` starts the worker on those platforms @@ -170,7 +179,7 @@ remains a separate MEMORY/OFF/EXCLUSIVE database file. setting), with `local` the default and unchanged. **One Linux VM per Store** (V1): a project's VM holds that project's Store on its own ext4 disk, its Sandboxes are Linux namespaces inside it - (`LAYERFS_SANDBOX_BACKEND=namespaces`, documented in + (`LAYERFS_SANDBOX=namespaces`, documented in [the agent guide](api/docs/agent.md#namespace-sandboxes-linux)), and its worker runs the real SDK as root with its own secret and its own loopback-published port; the host reaches only each VM's worker, with one @@ -178,11 +187,12 @@ remains a separate MEMORY/OFF/EXCLUSIVE database file. routes. Store calls therefore leave the caller's process on Linux too, under `vm:` placement only, and a process routes them per project (`useWorker((project) => endpoint)`, or that project's - `LAYERFS_WORKER_ENDPOINT`). `project.init` makes the project's VM and - `project.remove` deletes it with its Store disk; a bare VM delete is refused + `LAYERFS_WORKER_ENDPOINT`). `project.start_init` makes the project's VM and + `project.delete` deletes it with its Store disk; a bare VM delete is refused while the project exists, because that Store is on that disk only and no - remote Store push exists (#506). Implemented and verified providers: - `microsandbox` (`msb`) and `apple-container` (`container` 1.6.1). + remote Store push exists (#506). Implemented providers: `microsandbox` + (`msb`), `apple-container` (`container` 1.6.1) and `ssh`; verified with + stand-in providers; real runs: see the #527 platform pass. `@layerfs/runtime`'s guide and `api/runtime/src/platform/vm/` hold the details. - **One global database, one writer, short holds (owner decision 2026-10-18).** All committed state lives in one SQLite Store file; no sharding, second diff --git a/api/agent/src/client.js b/api/agent/src/client.js index ae919b5df8..d12c7e5bc0 100644 --- a/api/agent/src/client.js +++ b/api/agent/src/client.js @@ -60,21 +60,25 @@ export function sandboxArg(sandbox) { } /** Deployment settings from the client options, else the environment - * (LAYERFS_). A Workspace's Sandbox needs - * every one but the container prefix and daemon host, and, on a PostgreSQL - * Store (`postgresql`), the volume: its daemon opens the server. With - * `sandbox` (LAYERFS_SANDBOX) `native` (Linux or macOS), a Sandbox is a host - * daemon: Linux uses FUSE with a root daemon and nonroot commands (501:20); - * macOS uses loopback NFS and this user. It needs the daemon and - * `localDir` (LAYERFS_LOCAL_DIR) and no Docker setting. Unset or `docker` is - * Docker; any other value is refused. */ -export function deployment(options = {}, postgresql = false) { + * (LAYERFS_). `sandbox` (LAYERFS_SANDBOX) picks the backend (#527 D3): + * unset or `docker`, a Docker container, which needs every Docker setting but + * the container prefix and daemon host, and, on a PostgreSQL Store + * (`postgresql`), the volume: its daemon opens the server. `native` (Linux or + * macOS) and `namespaces` (Linux) are host daemons (see `localDeployment`). + * The binding is the one validator: it maps the former + * `sandboxBackend` (LAYERFS_SANDBOX_BACKEND), kept for one release, and + * refuses an unknown value or a conflicting pair, so this only checks that + * each value's fields are present and passes both settings on. `host` is + * the platform the Sandbox runs on (`sandboxHost`): native and namespaces are + * refused where they cannot run before anything is read. */ +export function deployment(options = {}, postgresql = false, host = process.platform) { const env = (name) => process.env[`LAYERFS_${name}`] || undefined; const sandbox = options.sandbox ?? env("SANDBOX"); - if (sandbox === "native") return nativeDeployment(options, env, sandbox); - if (sandbox !== undefined && sandbox !== "docker") { - throw new LayerFSError("InvalidInput", `deploy.sandbox (LAYERFS_SANDBOX) is docker or native (Linux or macOS), not ${sandbox}`, null); - } + const backend = options.sandboxBackend ?? env("SANDBOX_BACKEND"); + const named = { ...(sandbox !== undefined ? { sandbox } : {}), ...(backend !== undefined ? { sandboxBackend: backend } : {}) }; + if (sandbox === "native" || sandbox === "namespaces") return localDeployment(options, env, named, host); + // another value is the binding's to refuse, naming the values it takes + if (sandbox !== undefined && sandbox !== "docker") return named; const deploy = { docker: options.docker ?? env("DOCKER") ?? "/var/run/docker.sock", image: options.image ?? env("IMAGE"), @@ -90,27 +94,41 @@ export function deployment(options = {}, postgresql = false) { if (!deploy.volume) delete deploy.volume; if (!deploy.containerPrefix) delete deploy.containerPrefix; if (!deploy.daemonHost) delete deploy.daemonHost; - return deploy; -} - -/** A native Sandbox's settings: the daemon, the directory its Sandboxes - * live in, the optional name prefix, and the backend inside that directory - * (`sandboxBackend`, LAYERFS_SANDBOX_BACKEND: `native` when unset, or - * `namespaces` on Linux). The namespaces backend gives each Sandbox a root - * filesystem from an image, so it also needs `image` (LAYERFS_IMAGE, the - * same digest Docker deploys) and `imageArchive` (LAYERFS_IMAGE_ARCHIVE, the - * docker-archive the bundle carries). */ -function nativeDeployment(options, env, sandbox) { + // a former LAYERFS_SANDBOX_BACKEND beside Docker is the binding's to refuse + return backend === undefined ? deploy : { ...deploy, sandboxBackend: backend }; +} + +/** A host-daemon Sandbox's settings (`sandbox` native or namespaces): the + * daemon, the directory its Sandboxes live in and the optional name prefix. + * Native on Linux uses FUSE with a root daemon and nonroot commands (501:20); + * on macOS loopback NFS and this user. Namespaces (Linux) gives each Sandbox + * a root filesystem from an image, so it also needs `image` (LAYERFS_IMAGE, + * the same digest Docker deploys) and `imageArchive` (LAYERFS_IMAGE_ARCHIVE, + * the docker-archive the bundle carries). The former `native` with + * `sandboxBackend` `namespaces` needs the same. `host` is the platform the + * Sandbox runs on: this process's, or Linux when a worker makes it (see + * `sandboxHost`). */ +function localDeployment(options, env, named, host) { + const namespaces = named.sandbox === "namespaces" || named.sandboxBackend === "namespaces"; + const setting = named.sandbox === "namespaces" ? "deploy.sandbox (LAYERFS_SANDBOX) namespaces" + : namespaces ? "deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) namespaces" : "deploy.sandbox (LAYERFS_SANDBOX) native"; + // #527 step 8: Windows runs Docker Sandboxes through its WSL2 worker; it has no native or namespaces backend + if (host === "win32") { + throw new LayerFSError("Unsupported", `${setting} is not supported on Windows: a Windows Sandbox is Docker, through the WSL2 worker; native runs on Linux or macOS, namespaces on Linux`, null); + } + // namespaces is Linux only: refused before its image settings are read, so + // a macOS deployment hears Unsupported, not a missing LAYERFS_IMAGE + if (namespaces && host !== "linux") { + throw new LayerFSError("Unsupported", `${setting} is Linux only; use native`, null); + } const deploy = { - sandbox, + ...named, daemon: options.daemon ?? env("DAEMON"), localDir: options.localDir ?? env("LOCAL_DIR"), containerPrefix: options.containerPrefix ?? env("CONTAINER_PREFIX"), }; - const backend = options.sandboxBackend ?? env("SANDBOX_BACKEND"); - if (backend !== undefined) deploy.sandboxBackend = backend; const required = [["daemon", "DAEMON"], ["localDir", "LOCAL_DIR"]]; - if (backend === "namespaces") { + if (namespaces) { deploy.image = options.image ?? env("IMAGE"); deploy.imageArchive = options.imageArchive ?? env("IMAGE_ARCHIVE"); required.push(["image", "IMAGE"], ["imageArchive", "IMAGE_ARCHIVE"]); @@ -122,6 +140,11 @@ function nativeDeployment(options, env, sandbox) { return deploy; } +/** The platform a client's Sandboxes run on: a worker (the macOS and + * Windows routes, or a `vm:` placement's VM) runs them on its Linux host; + * the addon in this process runs them here. */ +export const sandboxHost = (client) => (transportOf(client).worker ? "linux" : process.platform); + /** Refuses every call on a closed client (or one no factory opened). */ export function live(client) { if (client?.[STATE]?.closed !== false) { diff --git a/api/agent/src/index.js b/api/agent/src/index.js index d0f0bad891..551b8063c0 100644 --- a/api/agent/src/index.js +++ b/api/agent/src/index.js @@ -111,15 +111,17 @@ export class LayerFS { * settings read LAYERFS_HOME, _DOCKER, _IMAGE, _VOLUME and _DAEMON; a * Sandbox this client starts runs _IMAGE * on _VOLUME. LAYERFS_CONTAINER_PREFIX (default `layerfs-`) names every - * container it starts `-`. On Linux or macOS, - * LAYERFS_SANDBOX=native starts each Sandbox as a host daemon in a directory + * container it starts `-`. LAYERFS_SANDBOX picks the + * backend: `docker` (unset), `native` (Linux or macOS) or `namespaces` + * (Linux). Native starts each Sandbox as a host daemon in a directory * under LAYERFS_LOCAL_DIR. Linux requires root for FUSE and runs commands * as 501:20; macOS uses loopback NFS and the caller's identity. No Docker - * setting is read; native provides no isolation from the host. - * LAYERFS_SANDBOX_BACKEND picks the backend inside that directory: `native` - * (unset) or, on Linux, `namespaces` (namespaces, cgroups, nonroot commands). - * It is read for every call, so a Sandbox made with one backend is never - * reopened as another. + * setting is read; native provides no isolation from the host. Namespaces + * adds Linux namespaces, a cgroup and an image root (LAYERFS_IMAGE, + * LAYERFS_IMAGE_ARCHIVE). The former LAYERFS_SANDBOX_BACKEND=namespaces + * beside LAYERFS_SANDBOX=native still means namespaces, for one release. + * The backend is read for every call, so a Sandbox made with one backend + * is never reopened as another. * LAYERFS_DAEMON_HOST is the host this process * dials for a daemon's port, published on the Docker host's 127.0.0.1 only; * set it when the client runs in a container (`host.docker.internal` on diff --git a/api/agent/src/sandbox/create.js b/api/agent/src/sandbox/create.js index 2b48723a5f..708df9f984 100644 --- a/api/agent/src/sandbox/create.js +++ b/api/agent/src/sandbox/create.js @@ -4,13 +4,13 @@ // first reclaims the project's Sandboxes that closed themselves. The new one // closes itself two minutes after it has no Workspace and no process, like // every Sandbox; `sandbox.close` stops it now. -import { deployment, invokeClient } from "../client.js"; +import { deployment, invokeClient, sandboxHost } from "../client.js"; import { LayerFSError } from "../errors.js"; export async function create(client, options = {}) { if (options === null || typeof options !== "object" || (options.image !== undefined && typeof options.image !== "string")) { throw new LayerFSError("InvalidInput", "options are { image? }, an image digest", null); } - const deploy = deployment({ ...client.options.deploy, ...(options.image ? { image: options.image } : {}) }, Boolean(client.options.postgresql)); + const deploy = deployment({ ...client.options.deploy, ...(options.image ? { image: options.image } : {}) }, Boolean(client.options.postgresql), sandboxHost(client)); const value = await invokeClient(client, "sandbox.create", { deploy }); return { sandbox: value.sandbox, image: value.image }; } diff --git a/api/agent/src/transport/worker_client.js b/api/agent/src/transport/worker_client.js index 978acf9d8b..fac5e8af95 100644 --- a/api/agent/src/transport/worker_client.js +++ b/api/agent/src/transport/worker_client.js @@ -138,6 +138,11 @@ export function workerClient(file) { async function send(fn, op, args) { let info; try { info = endpointOf(file); } catch (error) { return refused("Failed", `the LayerFS worker is not running for this home: ${error.message}`); } + // a vm: placement's worker has no Docker Engine: its Sandboxes are + // namespaces inside its VM, so a Docker deployment is refused before it is sent + if (info.vm && args?.deploy && (args.deploy.sandbox ?? "docker") === "docker") { + return refused("Unsupported", `deploy.sandbox (LAYERFS_SANDBOX) docker is not available on a vm:${info.vm.provider} home: its Sandboxes are namespaces inside the project's VM ${info.vm.name}; leave LAYERFS_SANDBOX to the runtime`); + } const deploy = { ...args.deploy, ...(info.daemonHost ? { daemonHost: args.deploy?.daemonHost ?? info.daemonHost } : {}), @@ -150,6 +155,8 @@ export function workerClient(file) { return connection(info).call(request); } return { + /** Calls run in a Linux worker, so its Sandboxes run on Linux. */ + worker: true, call: (op, args) => send("call", op, args), backendCall: (op, args) => send("backendCall", op, args), /** The Store opens in the worker; here only its clients are counted. */ diff --git a/api/agent/test/fixture/fake-native.cjs b/api/agent/test/fixture/fake-native.cjs index 3bafa51783..2dff41c1e5 100644 --- a/api/agent/test/fixture/fake-native.cjs +++ b/api/agent/test/fixture/fake-native.cjs @@ -11,7 +11,8 @@ // (comma-separated) is refused with code CLI_FAKE_CODE (default Conflict); // `initRefusal`, when set, is what project.init refuses; a policy depth over // 255 is refused as the addon refuses it. -// - Answers: `sandboxList` is the project's running Sandboxes, +// - Answers: `sandboxList` is the project's running Sandboxes, `recordList` +// (by project) every backend's records (runtime.sandbox.records), // `workspaceList` a Sandbox's daemon records. An exec command "exit " // ends with exit code n, stdout "out:" and stderr "err"; any other // command ends with code 3 and 5000 bytes of stdout. @@ -68,6 +69,7 @@ function answer(op, args) { case "sandbox.list_workspaces": return { value: { kind: "ok", version: "1", workspaces: exports.workspaceList } }; case "sandbox.close": return { value: { kind: "Closed", sandbox: args.sandbox } }; case "runtime.sandbox.reclaim": return { value: { kind: "ok", reclaimed: exports.reclaimed ?? [] } }; + case "runtime.sandbox.records": return { value: { kind: "ok", items: exports.recordList?.[args.project] ?? [] } }; // #506 Store-first: Stores, their projects, remotes and transfers case "runtime.store.create": return { value: { kind: "Created", store: args.store, storePath: args.storePath, bytes: 4096, sqlite: "3.50.0" } }; case "runtime.store.add_project": return { value: { kind: "Initialized", project: args.name, store: args.store, layer: "lay0", root: "r00t", storePath: args.storePath } }; diff --git a/api/agent/test/native_deployment.mjs b/api/agent/test/native_deployment.mjs index 4b0d951e30..63da6102ff 100644 --- a/api/agent/test/native_deployment.mjs +++ b/api/agent/test/native_deployment.mjs @@ -8,7 +8,11 @@ import assert from "node:assert/strict"; import { createRequire } from "node:module"; import { fileURLToPath } from "node:url"; -import { deployment } from "../src/client.js"; +import { deployment, sandboxHost, STATE } from "../src/client.js"; +import { workerClient } from "../src/transport/worker_client.js"; +import { mkdtempSync, rmSync, writeFileSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; const FAKE = fileURLToPath(new URL("./fixture/fake-native.cjs", import.meta.url)); const native = createRequire(import.meta.url)(FAKE); @@ -51,8 +55,11 @@ assert.deepEqual(deployment(), { sandbox: "native", daemon: "/opt/layerfs-daemon // an image (sandbox.create's option) does not change a native deployment assert.deepEqual(deployment({ image: docker.image }), { sandbox: "native", daemon: "/opt/layerfs-daemon", localDir: "/Users/me/lfs" }); // the backend inside the directory is native unless named; namespaces is -// passed through (the binding refuses it off Linux, and an unknown value) +// passed through on Linux (the binding refuses an unknown value; off Linux +// it is refused here, below) assert.equal(deployment().sandboxBackend, undefined); +const linuxHost = Object.getOwnPropertyDescriptor(process, "platform"); +Object.defineProperty(process, "platform", { ...linuxHost, value: "linux" }); const archive = `/bundle/images/${"a".repeat(64)}.tar`; process.env.LAYERFS_SANDBOX_BACKEND = "namespaces"; process.env.LAYERFS_IMAGE = docker.image; @@ -82,6 +89,7 @@ assert.deepEqual(deployment({ sandboxBackend: "native" }), { sandboxBackend: "native", }); delete process.env.LAYERFS_SANDBOX_BACKEND; +Object.defineProperty(process, "platform", linuxHost); delete process.env.LAYERFS_IMAGE; delete process.env.LAYERFS_IMAGE_ARCHIVE; // the container prefix names native Sandbox directories too @@ -106,12 +114,56 @@ process.env.DSH_LAYERFS_SANDBOX = "native"; process.env.DSH_LAYERFS_LOCAL_DIR = "/l"; assert.deepEqual(deployment(), docker); -// anything else, the former `local` included, is refused, never silently Docker +// anything else, the former `local` included, is never silently Docker: it +// is passed on alone, for the binding (the one validator, #527 step 11) to +// refuse naming the values it takes for (const typo of ["local", "Native", "nativ", "NATIVE", "podman"]) { clear(); setDocker(); process.env.LAYERFS_SANDBOX = typo; - assert.throws(() => deployment(), (e) => e.code === "InvalidInput" && e.message.includes(`not ${typo}`)); + assert.deepEqual(deployment(), { sandbox: typo }); +} + +// #527 step 11 (D3): one setting, LAYERFS_SANDBOX=docker|native|namespaces +Object.defineProperty(process, "platform", { ...linuxHost, value: "linux" }); +try { + clear(); + process.env.LAYERFS_SANDBOX = "namespaces"; + process.env.LAYERFS_DAEMON = "/opt/layerfs-daemon"; + process.env.LAYERFS_LOCAL_DIR = "/lfs"; + process.env.LAYERFS_IMAGE = docker.image; + process.env.LAYERFS_IMAGE_ARCHIVE = archive; + const namespaces = { sandbox: "namespaces", daemon: "/opt/layerfs-daemon", localDir: "/lfs", image: docker.image, imageArchive: archive }; + assert.deepEqual(deployment(), namespaces); + // it needs the image fields the former pair needed + delete process.env.LAYERFS_IMAGE_ARCHIVE; + assert.throws(() => deployment(), (e) => e.code === "InvalidInput" && /\(LAYERFS_IMAGE_ARCHIVE\)/.test(e.message)); + process.env.LAYERFS_IMAGE_ARCHIVE = archive; + // a conflicting former setting is passed on for the binding to refuse + process.env.LAYERFS_SANDBOX_BACKEND = "native"; + assert.deepEqual(deployment(), { ...namespaces, sandboxBackend: "native" }); + // so is one beside Docker, which named no backend before + clear(); + setDocker(); + process.env.LAYERFS_SANDBOX_BACKEND = "namespaces"; + assert.deepEqual(deployment(), { ...docker, sandboxBackend: "namespaces" }); + // a client sends the new value as it is + clear(); + store(); + Object.assign(process.env, { LAYERFS_SANDBOX: "namespaces", LAYERFS_DAEMON: "/opt/layerfs-daemon", LAYERFS_LOCAL_DIR: "/lfs", LAYERFS_IMAGE: docker.image, LAYERFS_IMAGE_ARCHIVE: archive }); + const { LayerFS } = await import("../src/index.js"); + const made = await LayerFS.open("website"); + await made.sandbox.create(); + assert.deepEqual(native.deploys.at(-1), namespaces); + await made.close(); +} finally { + Object.defineProperty(process, "platform", linuxHost); +} +// where namespaces cannot run it is refused by that name before its image settings are read +for (const [platform, pattern] of [["darwin", /LAYERFS_SANDBOX\) namespaces is Linux only/], ["win32", /LAYERFS_SANDBOX\) namespaces is not supported on Windows/]]) { + clear(); + Object.assign(process.env, { LAYERFS_SANDBOX: "namespaces", LAYERFS_DAEMON: "/opt/layerfs-daemon", LAYERFS_LOCAL_DIR: "/lfs" }); + assert.throws(() => deployment({}, false, platform), (e) => e.code === "Unsupported" && pattern.test(e.message)); } // a client reads LAYERFS_SANDBOX and LAYERFS_LOCAL_DIR once, and @@ -140,4 +192,78 @@ const plain = await LayerFS.open("website"); assert.equal("sandbox" in plain.options.deploy, false); assert.equal("localDir" in plain.options.deploy, false); await plain.close(); +// #527 step 8: on Windows a Sandbox is Docker through the WSL2 worker; native +// and namespaces are refused Unsupported before anything is made +const host = Object.getOwnPropertyDescriptor(process, "platform"); +Object.defineProperty(process, "platform", { ...host, value: "win32" }); +try { + clear(); + process.env.LAYERFS_SANDBOX = "native"; + process.env.LAYERFS_DAEMON = "/opt/layerfs-daemon"; + process.env.LAYERFS_LOCAL_DIR = "C:/lfs"; + assert.throws(() => deployment(), (e) => e.code === "Unsupported" && /LAYERFS_SANDBOX\) native is not supported on Windows/.test(e.message)); + process.env.LAYERFS_SANDBOX_BACKEND = "namespaces"; + assert.throws(() => deployment(), (e) => e.code === "Unsupported" && /LAYERFS_SANDBOX_BACKEND\) namespaces is not supported on Windows/.test(e.message)); + // Docker is unchanged there + clear(); + setDocker(); + assert.deepEqual(deployment(), docker); + // sandbox.create reaches no binding call + clear(); + store(); + process.env.LAYERFS_SANDBOX = "native"; + process.env.LAYERFS_DAEMON = "/opt/layerfs-daemon"; + process.env.LAYERFS_LOCAL_DIR = "C:/lfs"; + const windows = await LayerFS.open("website"); + const made = native.deploys.length; + await assert.rejects(windows.sandbox.create(), { code: "Unsupported" }); + assert.equal(native.deploys.length, made, "no Sandbox was asked for"); + await windows.close(); +} finally { + Object.defineProperty(process, "platform", host); +} +// on macOS namespaces is refused Unsupported (#527 §3.1) before its image +// settings are read, so a missing LAYERFS_IMAGE does not hide the reason +Object.defineProperty(process, "platform", { ...host, value: "darwin" }); +try { + clear(); + process.env.LAYERFS_SANDBOX = "native"; + process.env.LAYERFS_SANDBOX_BACKEND = "namespaces"; + process.env.LAYERFS_DAEMON = "/opt/layerfs-daemon"; + process.env.LAYERFS_LOCAL_DIR = "/tmp/lfs"; + assert.throws(() => deployment(), (e) => e.code === "Unsupported" && /namespaces is Linux only/.test(e.message)); + // a worker (a vm: placement's VM, or the macOS route) makes the Sandbox on + // its Linux host, so a macOS client sending to one is not refused + process.env.LAYERFS_IMAGE = docker.image; + process.env.LAYERFS_IMAGE_ARCHIVE = "/bundle/images/a.tar"; + assert.equal(sandboxHost({ [STATE]: { transport: { worker: true } } }), "linux"); + assert.equal(sandboxHost({ [STATE]: { transport: {} } }), "darwin"); + assert.equal(deployment({}, false, "linux").sandboxBackend, "namespaces"); + assert.throws(() => deployment({}, false, "darwin"), (e) => e.code === "Unsupported"); +} finally { + Object.defineProperty(process, "platform", host); +} +// a vm: placement's worker has no Docker: a Docker deployment sent to it is +// refused Unsupported before anything is sent (#527 final pass, refusals +// vm-docker found a raw Io NotFound at volume create instead) +{ + const dir = mkdtempSync(join(tmpdir(), "lfs-vm-endpoint-")); + const file = join(dir, "endpoint.json"); + // port 9 answers nothing here; a refusal must come before any connection + writeFileSync(file, JSON.stringify({ home: "/layerfs/home", port: 9, secret: "a".repeat(64), vm: { provider: "lima", name: "lfs-x-vm", project: "x" } })); + const vm = workerClient(file); + for (const deploy of [{ sandbox: "docker", image: docker.image }, { image: docker.image }]) { + const answer = await vm.call("sandbox.create", { project: "x", deploy }); + assert.equal(answer.refused?.code, "Unsupported", JSON.stringify(answer)); + assert.match(answer.refused.message, /not available on a vm:lima home/); + } + // a namespaces deployment is sent (and here fails to connect, not Unsupported) + const sent = await Promise.race([vm.call("sandbox.create", { project: "x", deploy: { sandbox: "namespaces" } }), new Promise((resolve) => setTimeout(() => resolve({ timedOut: true }), 5000))]); + assert.notEqual(sent.refused?.code, "Unsupported", JSON.stringify(sent)); + // a worker with no vm (the macOS and Windows routes) still sends Docker deployments + writeFileSync(file, JSON.stringify({ home: "/layerfs/home", port: 9, secret: "a".repeat(64) })); + const local = await Promise.race([workerClient(file).call("sandbox.create", { project: "x", deploy: { sandbox: "docker" } }), new Promise((resolve) => setTimeout(() => resolve({ timedOut: true }), 5000))]); + assert.notEqual(local.refused?.code, "Unsupported", JSON.stringify(local)); + rmSync(dir, { recursive: true, force: true }); +} console.log("native_deployment: ok"); diff --git a/api/cli/src/help.js b/api/cli/src/help.js index 8939df7475..e7b3f5a812 100644 --- a/api/cli/src/help.js +++ b/api/cli/src/help.js @@ -28,10 +28,17 @@ GLOBAL OPTIONS --text readable output instead of JSON -h, --help help for the command -SETTINGS come from the environment, as for the SDK: LAYERFS_HOME, LAYERFS_STORE_PATH, - LAYERFS_DOCKER, LAYERFS_IMAGE, LAYERFS_VOLUME, LAYERFS_DAEMON, LAYERFS_CONTAINER_PREFIX, - LAYERFS_DAEMON_HOST, LAYERFS_STORE_POLICY, LAYERFS_TRACE, LAYERFS_TRACE_STEP, - LAYERFS_TRACE_START. +SETTINGS come from the environment, as for the SDK (api/docs/agent.md): + Store LAYERFS_HOME, LAYERFS_STORE_PATH, LAYERFS_STORE, LAYERFS_STORE_POSTGRESQL, + LAYERFS_STORE_POLICY + Sandbox LAYERFS_SANDBOX (docker, native or namespaces; default docker), + LAYERFS_DAEMON, LAYERFS_CONTAINER_PREFIX + docker LAYERFS_DOCKER, LAYERFS_IMAGE, LAYERFS_VOLUME, LAYERFS_DAEMON_HOST + native LAYERFS_LOCAL_DIR + namespaces LAYERFS_LOCAL_DIR, LAYERFS_IMAGE, LAYERFS_IMAGE_ARCHIVE + former LAYERFS_SANDBOX_BACKEND=namespaces with LAYERFS_SANDBOX=native (one release) + Binding LAYERFS_NATIVE, LAYERFS_WORKER_ENDPOINT + Trace LAYERFS_TRACE, LAYERFS_TRACE_STEP, LAYERFS_TRACE_START ARGUMENTS main, a Branch, a Commit id or a Layer id diff --git a/api/docs/agent.md b/api/docs/agent.md index 919fcc934b..b5a4c22a82 100644 --- a/api/docs/agent.md +++ b/api/docs/agent.md @@ -147,9 +147,9 @@ Keep each agent's operations on a Workspace sequential. | `LAYERFS_STORE_PATH` | The installed Store file this client's Store calls open: `global/store.sqlite` in the project's volume. On Linux this process opens it, so it must be on a local filesystem the daemons share, such as `/layerfs-store/global/store.sqlite` where the volume is mounted at `/layerfs-store`; otherwise Store calls fail `Unsupported`. On macOS and Windows the worker opens it, so it is the path inside the worker's Linux, `/var/lib/docker/volumes//_data/global/store.sqlite`. On any other platform Store calls fail `Unsupported`. Unset, they fail `InvalidInput` everywhere. | | `LAYERFS_CONTAINER_PREFIX` | Optional. Names every container this client creates `-` (default prefix `layerfs-`); another LayerFS home on the same Docker engine sets its own, so names never collide. Docker's name rule applies (an ASCII letter or digit, then letters, digits, `_`, `.`, `-`, at most 128). A name another container holds refuses the create before any effect. | | `LAYERFS_DAEMON_HOST` | Optional. The host this process dials for a daemon's port. Each daemon publishes its port on the Docker host's `127.0.0.1` only, and that stays so. A client inside a container does not share that loopback, so it names the host that reaches it, `host.docker.internal` on Docker Desktop. One resolution, its first address, one connect; nothing is tried again. Unset, the client dials `127.0.0.1`. | -| `LAYERFS_SANDBOX` | Optional. Unset or `docker`: a Sandbox is a Docker container, exactly as described here. `native` (macOS only): a Sandbox is a daemon process of this user, with no container, no root and no Docker setting read; Workspaces are served over loopback NFS and mounted by this machine's own NFS client, and commands run as this user (see [Native Sandboxes](#native-sandboxes-macos)). Elsewhere `sandbox.create` refuses `native` as `Unsupported`. Any other value is refused as `InvalidInput` before anything is made. | -| `LAYERFS_LOCAL_DIR` | With `LAYERFS_SANDBOX=native`, required: an existing absolute directory, owned by the running user, not group/other writable and traversable by others (0755). Each native Sandbox gets its own directory under it. | -| `LAYERFS_SANDBOX_BACKEND` | With `LAYERFS_SANDBOX=native` on Linux, optional: `native` (unset) or `namespaces`. `namespaces` puts each Sandbox's daemon in its own mount, PID and IPC namespaces and its own cgroup v2 directory, and runs commands as the sandbox's uid:gid with no capabilities and no-new-privs; see [Namespace Sandboxes (Linux)](#namespace-sandboxes-linux). It needs root, cgroup v2, `/dev/fuse` and `user.max_user_namespaces=0`, and is refused `Unsupported` elsewhere or without them. Any other value is refused `InvalidInput` before anything is made. It is read when the client is made and sent with every call, so a Sandbox made with one backend is never reopened as the other. | +| `LAYERFS_SANDBOX` | Optional: the Sandbox backend, `docker`, `native` or `namespaces`. Unset or `docker`: a Sandbox is a Docker container, exactly as described here. `native` (Linux or macOS): a Sandbox is a daemon process with no container and no Docker setting read. On macOS it runs as this user, without root; Workspaces are served over loopback NFS and mounted by this machine's own NFS client, and commands run as this user. On Linux it needs root: the daemon serves FUSE as root and commands run as 501:20 (see [Native Sandboxes](#native-sandboxes-linux-and-macos)). `namespaces` (Linux) is native with each Sandbox's daemon in its own mount, PID and IPC namespaces and its own cgroup v2 directory, on a root from the Sandbox image (`LAYERFS_IMAGE`, `LAYERFS_IMAGE_ARCHIVE`); commands run as the sandbox's uid:gid with no capabilities and no-new-privs; see [Namespace Sandboxes (Linux)](#namespace-sandboxes-linux). It needs root, cgroup v2, `/dev/fuse` and `user.max_user_namespaces=0`, and is refused `Unsupported` elsewhere or without them. Elsewhere `sandbox.create` refuses `native` as `Unsupported`; on Windows the agent itself refuses `native` and `namespaces` before anything is made (a Windows Sandbox is Docker, through the WSL2 worker). A `vm:` home's worker has no Docker Engine: the runtime sets `namespaces` for it, and `docker` (or unset) sent to it is refused `Unsupported` before the call leaves this process. Any other value is refused as `InvalidInput` before anything is made. It is read when the client is made and sent with every call, so a Sandbox made with one backend is never reopened as another. | +| `LAYERFS_LOCAL_DIR` | With `LAYERFS_SANDBOX=native` or `namespaces`, required: an existing absolute directory, owned by the running user, not group/other writable and traversable by others (0755). Each native or namespaces Sandbox gets its own directory under it. | +| `LAYERFS_SANDBOX_BACKEND` | Former, kept for one release: replaced by `LAYERFS_SANDBOX`. `LAYERFS_SANDBOX=native` with `LAYERFS_SANDBOX_BACKEND=namespaces` still means `namespaces`, and with it unset or `native` means `native`. Set beside any other `LAYERFS_SANDBOX` (`namespaces` with `native`, or `docker` with either), or set to another value, it is refused `InvalidInput` before anything is made, naming both settings. | | `LAYERFS_TRACE` | Optional per-call trace file (see [the call trace](backend.md#the-call-trace)); unset means no trace. | | `LAYERFS_TRACE_STEP` | Optional step label put on each trace line as `step`; read at every call. | | `LAYERFS_TRACE_START` | `1` adds a start line before each traced call; read at every call. | @@ -211,7 +211,11 @@ keeps it for its life. A Sandbox closes when idle: its daemon ends itself after 2 minutes with no Workspace and no call, and its container stops. Open connections do not keep it. `project.list_sandboxes()` skips a stopped Sandbox and keeps its -records; the next mount or `runtime.sandbox.reclaim` that meets a stopped or +records, and leaves out a Sandbox of another backend than the client's +`LAYERFS_SANDBOX` (a Docker client's list, reclaim and `sandbox.create` +neither fail on nor touch a native or namespaces record, and the reverse; +`runtime.sandbox.records` lists every record with its `runtime` and +`state`, #527 step 12); the next mount or `runtime.sandbox.reclaim` that meets a stopped or removed container reclaims the Sandbox: it deletes a stopped container (unforced, once) and removes the Sandbox's records, so the number is used again. `runtime.sandbox.sweep`, which the runtime runs once when it opens, @@ -249,10 +253,17 @@ Daemon/container restart recovery and replay of uncertain operations are exclude Background process ownership is in the native executor, including persisted process identity; the filesystem daemon launches and supervises no commands. -### Native Sandboxes (macOS) - -`LAYERFS_SANDBOX=native` is the native runtime for macOS, with no root, no -Docker, no kernel extension and no macFUSE or FUSE-T. Each Sandbox's daemon +### Native Sandboxes (Linux and macOS) + +`LAYERFS_SANDBOX=native` runs each Sandbox's daemon as a process on this +machine, with no container and no Docker. On Linux it needs root: the daemon +serves its Workspaces over FUSE as root (`LAYERFS_KERNEL=fuse`), commands run +as 501:20, and the Store (`LAYERFS_STORE_PATH`) is on a local Linux filesystem +the daemons share; `LAYERFS_SANDBOX=namespaces` adds isolation (see +[Namespace Sandboxes (Linux)](#namespace-sandboxes-linux)). Without root it is +refused `Unsupported` before anything is made. The rest of this section +describes macOS, where it needs no root, no kernel extension and no macFUSE or +FUSE-T. Each Sandbox's daemon runs as a process of this user and serves its Workspaces over NFSv3 on 127.0.0.1 (`LAYERFS_KERNEL=nfs`); macOS's own client mounts them (`/sbin/mount_nfs`, as this user) under the Sandbox's `workspaces/`. Commands @@ -260,8 +271,7 @@ run as this user, in this machine's namespaces: **it isolates nothing** beyond what the caller's own sandbox (for instance Seatbelt) imposes. A command starts with this process's `PATH` (so `node`, Homebrew's tools and the like are found as in the caller's own shell) and its own environment, -nothing else of this process's. Docker stays the default, and Linux keeps -the Docker route only. +nothing else of this process's. Docker stays the default on both. It is the in-process route: the client loads the macOS addon and opens the Store itself, so no worker endpoint (`LAYERFS_WORKER_ENDPOINT`) is set. It @@ -285,11 +295,15 @@ on 127.0.0.1 only. Its records name the daemon by process id and start time, so a reused id is never taken for it. `sandbox.create`, the mount result and `project.list_sandboxes()` give a native Sandbox's `image` as `local`. A record's `runtime` is `native`; it is used only by a client whose deployment -is `native` with the same `LAYERFS_LOCAL_DIR` and prefix, so it puts that +is `native` (`LAYERFS_SANDBOX=native`, or the former pair with +`LAYERFS_SANDBOX_BACKEND` unset or `native`; a `namespaces` deployment does +not reopen it either, #527) and the +same `LAYERFS_LOCAL_DIR` and prefix, so it puts that Sandbox exactly where the record says; any other is refused `InvalidInput` -and nothing is deleted. A record of the former `local` runtime (an earlier, -unmerged build) is never used: it is refused the same way and nothing it -names is deleted. A daemon that ends (idle close, crash, kill) is the stopped +when it would reopen the record (a mount or close of that Sandbox), and left +out of listing and reclaim; nothing is deleted. A record of the former +`local` runtime (an earlier, unmerged build) is never used: it is refused +and left out the same way and nothing it names is deleted. A daemon that ends (idle close, crash, kill) is the stopped observation: Workspace calls to it are refused, and the next `sandbox.create` or `runtime.sandbox.reclaim` reclaims it, forcing off any mount the dead daemon left before deleting its directory. Nothing outside that directory is @@ -318,8 +332,10 @@ can fail on this NFS route with the system SQLite VFS; see ### Namespace Sandboxes (Linux) -`LAYERFS_SANDBOX_BACKEND=namespaces` keeps the native deployment (no Docker, no -image) and adds isolation inside the project's VM: each Sandbox's daemon runs +`LAYERFS_SANDBOX=namespaces` (formerly `LAYERFS_SANDBOX=native` with +`LAYERFS_SANDBOX_BACKEND=namespaces`, still accepted for one release) is the +native deployment (no Docker) with isolation added, as inside a `vm:` home's +project VM: each Sandbox's daemon runs in its own mount, PID and IPC namespaces and its own cgroup v2 directory (`/sys/fs/cgroup/layerfs/`), so two Sandboxes on one Store cannot see each other's mounts, processes or files, and closing one ends everything @@ -337,9 +353,12 @@ Sandbox `n` lives where a native Sandbox does — `LAYERFS_LOCAL_DIR/`, `tmp/` and `daemon.log` — plus `bin/layerfs-daemon` (the daemon executable, copied in 0755) and its sibling `-.root/`, the private root its init -stage mounts a tmpfs on and pivots to. The private root holds: the VM's own -userland (`/usr`, `/bin`, `/sbin`, `/lib`, `/lib64`, `/etc`) bound read-only, -so there is no image and no package restoration; a private `/proc` (only the +stage builds and pivots to. That root is an overlay: the Sandbox image +(`LAYERFS_IMAGE`, the same `sha256:` digest Docker deploys, unpacked once per +digest from the docker-archive `LAYERFS_IMAGE_ARCHIVE` into +`LAYERFS_LOCAL_DIR/images/`) is its read-only lower layer, and the Sandbox's +own `overlay/upper` and `overlay/work` are its writable layer, deleted with +it; the VM's own userland is not part of it. Over it come a private `/proc` (only the Sandbox's processes), `/dev` (the basic devices, `/dev/fuse`, a private `devpts` and `shm`), `/tmp`; the Sandbox's own directory bound at its own path, so `config/`, `overlay/` and `workspaces/` keep the same names on both @@ -359,19 +378,23 @@ Delete then removes the cgroup and the directory, so a closed Sandbox leaves no process, mount or cgroup behind. No graceful filesystem drain exists. A record's `runtime` is `namespaces`, with the same fields as a native record; -it is used only by a client whose `LAYERFS_SANDBOX_BACKEND` is `namespaces` -with the same `LAYERFS_LOCAL_DIR` and prefix. Another backend's record — and a -`namespaces` record seen by a native deployment — is refused `InvalidInput` -and nothing is deleted. Reopen checks the recorded init process (id, start +it is used only by a client whose `LAYERFS_SANDBOX` is `namespaces` +with the same `LAYERFS_LOCAL_DIR` and prefix. Another backend's record is +refused `InvalidInput` and nothing is deleted, both ways: a `namespaces` +record seen by a native deployment, and a `native` record seen by a +namespaces deployment (#527 step 4; until then a namespaces deployment, +including every `vm:` home's, reopened native records). Reopen checks the recorded init process (id, start time, boot) and its cgroup membership, so a reused id, or a process outside the Sandbox's cgroup, is never taken for it. Everything else above holds: numbered Sandboxes, up to 16 Workspaces each, one daemon per Sandbox, idle -close after 2 minutes, reclaim, and `image` reported as `local`. +close after 2 minutes and reclaim. `sandbox.create`, the mount result and +`project.list_sandboxes()` report a namespaces Sandbox's `image` as its image +digest, not `local`. Limits: the network namespace is shared with the VM, so a command can reach -another Sandbox's daemon port on `127.0.0.1`; `/sys` is not mounted; the -userland is the VM's, not a pinned image; and the private root's bind mounts -are read-only at their top only, as this kernel's remount is not recursive. +another Sandbox's daemon port on `127.0.0.1`; `/sys` is not mounted; and an +image archive with compressed layers (as `podman save` writes) is refused: +the archive must be `docker save`'s. ### Exec output diff --git a/api/docs/runtime.md b/api/docs/runtime.md index 411b57702b..bc37e6cd7c 100644 --- a/api/docs/runtime.md +++ b/api/docs/runtime.md @@ -23,7 +23,7 @@ try { await runtime.sandbox.reclaim("shop"); // { reclaimed: [ids] } await runtime.sandbox.list_leftovers(); await runtime.sandbox.clean_leftovers(["layerfs-old-1"]); - await runtime.sandbox.list(); // [{ name, project, sandbox, state, running, startedAt, finishedAt, image, ports, scratch, owned }] + await runtime.sandbox.list(); // [{ name, project, sandbox, runtime, state, running, startedAt, finishedAt, image, ports, scratch, owned }] await runtime.sandbox.sweep(); // { reclaimed: { project: [ids] }, failed: [{ project, code, message }] } await runtime.volume.list(); // [{ name, size, containers, owner, project, live, removable }] await runtime.volume.remove(["layerfs-shop-store-k2"]); // { results: [{ name, ok, message? }] } @@ -61,6 +61,13 @@ checked once at `open`), `volumes` (Linux), in one Linux VM, below) and on Windows `wsl: { distribution, user, node, home }`. A missing setting does not refuse `open`: `status().missing` lists it. +The runtime names each project's Sandbox backend itself (#527 F4): a `local` +home's clients get `LAYERFS_SANDBOX=docker` with the former +`LAYERFS_SANDBOX_BACKEND`, `LAYERFS_LOCAL_DIR` and `LAYERFS_IMAGE_ARCHIVE` +unset, and a `vm:` home's get `LAYERFS_SANDBOX=namespaces` (#527 step 11), +with `LAYERFS_SANDBOX_BACKEND` unset. Values of those settings in the +runtime's own environment do not reach its clients. + ## Init `start_init(name, folder, { image, timeout })` refuses a bad name, folder, @@ -100,10 +107,29 @@ lines from now on, or from `since`, each with `actor`, its trace file's name. `scratch`, the bytes of the container's writable layer (what commands wrote outside every Workspace), its ports and whether a project of this home owns it. One `docker ps` and one `docker inspect --size`; it changes nothing. + Each row's `runtime` is `docker`. On Linux, where an SDK run as root can + start native and namespaces Sandboxes on this home's Stores (the platform's + `localSandboxes` capability), each SQLite project's records are read too, + through the binding's `runtime.sandbox.records` (#527 step 12, F6): every + record with its `runtime` and `state` (`running`, `stopped`, `gone` or + `unknown`), whatever backend this runtime's clients use, reopening none. + Their native and namespaces Sandboxes are listed beside the containers, + named by their directory, with no container facts (`scratch`, + `startedAt` and `finishedAt` null, no ports). +- Removing a Store (`project.delete`, `store.remove`) counts those running + native and namespaces Sandboxes (and any whose state is unknown) among its + holders on Linux: they refuse `Busy` like a running container, and with + `stopSandboxes` still `Busy`, naming each, before any container or volume + is removed: only a client of their own backend closes them. A `vm:` home's + holders are read the same way inside the project's VM. - `sandbox.sweep` runs `sandbox.reclaim` for every project of the home that - has an exited or dead Sandbox container. The project's records and lock + has an exited or dead Sandbox container, found by the container's + `layerfs.project` and `layerfs.store` labels rather than its name (the + binding owns the name format). The project's records and lock decide what goes, so a container of another home, or one starting now, is never touched; containers no project records stay for `list_leftovers`. + A project's native or namespaces record does not fail its reclaim: a + Docker deployment leaves it out (#527 step 12). `open` runs it once in the background unless `sweep: false`; `status().sweep` is `null`, `{ state: "running" }` or `{ state: "done" | "failed", at, … }`, and `close` waits for it. @@ -122,11 +148,36 @@ lines from now on, or from `since`, each with `actor`, its trace file's name. ## Platforms and the worker -Each platform folder implements one interface (`endpoint`, `status`, -`start`, `restart`, `init`, `path`, the Store hooks `makeStore`, -`storeHolders`, `releaseStoreHolders` and `removeStore`, and the Docker, home -and disk helpers); `platform/vm/` implements the same interface over a VM -(see [Placement](#placement-one-linux-vm-per-home)). +`src/platform/` holds one folder per placement kind (#527 §6, D4): +`platform/docker/` for `local` (`linux.js`, `macos.js` and `windows/`: Docker +on this host, in Docker Desktop's VM or in WSL2) and `platform/vm/` for +`vm:`. Each platform object implements one interface (`endpoint`, +`status`, `start`, `restart`, `init`, `path`, the Store hooks `createStore`, +`storeHolders`, `releaseStoreHolders`, `releaseStore` and `removeStore`, and +the home and disk helpers) and may declare capabilities instead of being named: +`initCounts: false` (macOS: this process cannot read Init's counts), +`uncertainInit: true` (Windows: any failed Init is kept and recorded, never +cleaned up) and `localSandboxes: true` (Linux: native and namespaces +Sandboxes can open this placement's Stores, so discovery reads records too); `platform/vm/` implements the same interface over a VM +(see [Placement](#placement-one-linux-vm-per-store)). + +The three Docker platforms also carry `platform.docker`, one Docker group +built in `platform/docker/index.js` from that platform's own CLI call: `run` +(the host socket on Linux and macOS, `wsl.exe` on Windows), `version`, +`sandboxes` (this home's Sandbox containers, `sandboxes.js`), `stores` (Store +volumes and their hooks, `stores.js`) and `disk` (the engine's volumes, +`disk.js`). A `vm:` platform has no group, and the helpers that read host +Docker refuse there. Every helper reaches Docker through +`runtime.platform.docker.run`, so a test replaces that one call. + +The Store hooks are keyed by Store, `{ name, volume, legacy }` (#527 step +10b): `legacy` marks the Store a project's own Init makes, named after the +project; any other is a Store of the home. On a Docker placement +`createStore` makes the Store's labelled volume (the project's own volume, +labelled `layerfs.project`, or `store-`, labelled +`layerfs.store`) and refuses `Exists` for a volume that exists instead of +reusing it; Init, `store.create` and `store.start_load` all make their +volume through it. - **Linux** runs Store calls in this process. There is no worker: `worker.start` and `worker.restart` are refused `InvalidInput`. Init @@ -180,13 +231,24 @@ bundle's `manifest.json` before it listens. worker, unchanged) or `vm:`: **each of this home's projects — its Stores — lives in one Linux VM of its own** on this machine (#515 §6, V9, V1). A project's VM holds that project's Store on its own ext4 disk, its Sandboxes -are Linux namespaces (`LAYERFS_SANDBOX_BACKEND=namespaces`, H36's backend) and +are Linux namespaces (`LAYERFS_SANDBOX=namespaces`, H36's backend) and its worker runs the real SDK as root; the host reaches only each VM's worker, -with one attempt per call and no replay. Providers, both verified against the -real CLI by `test/verify/vm_real.mjs` and by H40's own run: `microsandbox` -(`msb` 0.7.8), `apple-container` (`container` 1.6.1) and `ssh` (any Linux host +with one attempt per call and no replay. Providers, verified with stand-in +provider CLIs (`test/vm_placement.mjs`; real runs of `test/verify/vm_real.mjs`: +see the #527 platform pass): `microsandbox` +(`msb` 0.7.8), `apple-container` (`container` 1.6.1), `ssh` (any Linux host the user provides, reached with the system `ssh` client; see -[the SSH provider](#the-ssh-provider-any-linux-host) below). +[the SSH provider](#the-ssh-provider-any-linux-host) below), `lima` (one Lima +`vmType: vz` instance per project, `limactl` 2.2.1; see +[the Lima provider](#the-lima-provider-vz)) and `firecracker` (one Firecracker +microVM per project, nested in a Lima vz instance; see +[the Firecracker provider](#the-firecracker-provider-nested-in-lima)). +Each provider runs on its own host systems, checked when the settings resolve +and refused `Unsupported` elsewhere: `apple-container`, `lima` and +`firecracker` on macOS only (vz is Apple's Virtualization.framework, and +Firecracker runs inside such an instance), `microsandbox` on Linux (KVM) and +macOS (Apple silicon), `ssh` on Linux and macOS. No provider runs on a Windows host, since the placement maps this +host's folders into the guest as POSIX paths (#527 step 8). ```sh LAYERFS_PLACEMENT=vm:microsandbox layerfs-home # any integration that sets it @@ -237,7 +299,14 @@ The adapter's five steps, each attempted once, all for one named project: another home, or one whose mounts or port differ, is refused rather than reused or repaired; 2. the sealed bundle is copied into that VM once per bundle hash (the hash of - its `manifest.json`), with a marker at `/layerfs/bundle/.sealed`; + its `manifest.json`), with a marker at `/layerfs/bundle/.sealed`. Apple + Container's `container copy` moves about 35 MB/s (a 2.7 GB bundle with its + Sandbox image took 77–90 s, #527), so that adapter stages the folder in a + private `/.vm-copy-*` folder (an APFS clone where the volume allows), + the guest copies it from its home bind mount onto its own disk with + `cp -Rp`, and the staging folder is removed whatever the outcome (4.8 s for + the same bundle). Init sources take the same route; a folder already inside + the home is read in place; 3. `user.max_user_namespaces=0` is written and read back (V4; Apple Container's guest mounts `/proc/sys` read-only, so its adapter remounts it first), then the worker starts as root with its secret in a 0600 guest file — never in a @@ -251,15 +320,15 @@ The adapter's five steps, each attempted once, all for one named project: disk unless `discardStore`. **A delete is refused while that project exists**: its Store lies on that disk and nowhere else, and this build has no remote Store push (#506), so V8's "never delete a Store that was not - pushed" makes the refusal the only safe answer. `project.remove` is the + pushed" makes the refusal the only safe answer. `project.delete` is the explicit removal: it stops the project's Sandboxes, closes its Store, then deletes the VM and its disk together. Init runs as one more call to that project's worker: `platform.init` starts its VM and copies the source folder into `/layerfs/import`, and `LayerFS.init` reads it there. `deploymentEnv` gives clients and agents the VM's settings: -`LAYERFS_SANDBOX=native`, `LAYERFS_SANDBOX_BACKEND=namespaces` (an explicit -`LAYERFS_SANDBOX_BACKEND` in the caller's environment wins), `LAYERFS_DAEMON`, +`LAYERFS_SANDBOX=namespaces` (always: a `LAYERFS_SANDBOX` or the former +`LAYERFS_SANDBOX_BACKEND` in the caller's environment does not replace it), `LAYERFS_DAEMON`, `LAYERFS_LOCAL_DIR`, `LAYERFS_HOME=/layerfs/home`, the Store's `LAYERFS_STORE_PATH`, this project's `LAYERFS_WORKER_ENDPOINT`, and the bundle image's `LAYERFS_IMAGE` when it has one — no `LAYERFS_DOCKER` or `_VOLUME`. @@ -274,13 +343,25 @@ home, store, created, worker, disk }] }`, one entry per project of `{ reclaimed: {}, failed: [], host: false }`. The SDK's `project.list_sandboxes` reads the VM's Sandboxes. +A VM home keeps no Store of its own: each project's Store is in that project's +VM, so a call on the home's Stores or remotes has no VM to run in (#527 F3). +`store.create`, `store.remove`, `store.attach_postgresql`, every +`store.start_*` job, `store.unlink`, `store.check`, every `remote.*` call, +`postgresql.status` and `project.start_init` with `{ store }` refuse +`Unsupported` before any effect, and so does a client of a project in a +PostgreSQL Store. The VM's Store hooks hold only a project's own Store and +refuse any other the same way. `store.list` still lists the home's records, with `bytes`, +`open` and `heads` null. A project is made with `project.start_init(name, +folder)` and removed with `project.delete`. + The real proof is `node api/runtime/test/verify/vm_real.mjs [microsandbox|apple-container]`: two projects, each in its own VM — Init +bundle> [microsandbox|apple-container|lima|firecracker]` (`VM_REAL_PREFIX`, default +`lfs-`, starts every name it makes): two projects, each in its own VM — Init through each VM's worker, a fork, a write, a Sandbox, an exec as the nonroot identity with user namespaces blocked, a Commit, a stop/start of one VM and a worker restart, then a check that neither Store holds the other's Branch, and that removing one project leaves the other's VM running. The unit tests -(`node api/runtime/test/vm_placement.mjs settings|flow|two|bundle|delete|hosts|apple-container|ssh`) +(`node api/runtime/test/vm_placement.mjs settings|flow|two|bundle|delete|hosts|stores|apple-container|ssh|lima|firecracker|cleanup`) use a stand-in provider CLI. ### The SSH provider (any Linux host) @@ -346,6 +427,117 @@ a busy local port, a missing or non-ext4 Store path, a non-Linux host, an unreachable network and a reconnected one, a dropped forward, a rebooted host, a refused and a permitted delete, and a second project on the same host. +### The Lima provider (vz) + +`vm:lima` makes one Lima instance per project with `limactl` (verified with +Lima 2.2.1 on macOS 26.4, Apple M3 Max, #527): `vmType: vz`, Ubuntu 24.04's +cloud image, `cpus` and `memory` from `settings.vm`. Lima 1.0.x cannot start +a vz instance on a Mac whose `/var/run` holds Docker Desktop's `docker.sock` +symlink: its user network's resolv.conf watcher opens that socket and stops +(`adding watcher failed: "/private/var/run/docker.sock": operation not +supported on socket`); Lima 2.2.1 has no such watcher. + +```sh +LAYERFS_PLACEMENT=vm:lima layerfs-home # any integration that sets it +``` + +The adapter's steps on this provider: + +1. the Store disk is a Lima disk, `limactl disk create --format raw` (vz needs + raw) of `storeSize`, made before the instance; Lima formats it ext4 on first + attach and mounts it at `/mnt/lima-`, and the adapter bind-mounts that + at `/layerfs/store` after every boot, checking it is ext4. Lima recognises a + formatted disk by its ext4 label `lima-`, which holds 16 bytes: a + longer disk name is cut, never found, and the disk is **formatted again at + every boot** (found in this pass: a VM restart emptied the Store). So the + Lima disk is named `lfs` + 8 hex digits of the Store volume's name, and the + volume's own name and the home are kept in the instance as its + `LAYERFS_STORE` and `LAYERFS_HOME` params (`/etc/layerfs-vm` in the guest); +2. the instance comes from a template the adapter writes to + `limactl create --name -` on stdin: the home mounted writable at + `/layerfs/home` (virtiofs), the Store disk, and `node` installed by a system + provision script on first boot (Node.js v22.23.4 from nodejs.org, checked + against that release's `SHASUMS256.txt`). `vm.image` names the Lima image + when it is an `https://` URL or an absolute path; the shared default (an OCI + reference) does not describe a Lima disk, so Ubuntu's image is used; +3. the bundle and Init sources reach the guest's own disk through the home + mount, as on Apple Container: a private `/.vm-copy-*` staging folder + (an APFS clone where the volume allows), `cp -Rp` in the guest, the staging + folder removed whatever the outcome; a folder already in the home is read in + place; +4. every guest command runs as root (`sudo -n`, the Lima user's passwordless + sudo) through the instance's own SSH, `ssh -F /ssh.config + lima-`, with each argument quoted by the adapter (`limactl shell` is not + used); the worker's secret goes in a 0600 file from stdin; +5. the private stream is the instance's own `portForwards` rule, + `127.0.0.1:` to guest port 7070, and a last rule ignores every other + guest port, so Lima forwards nothing else; +6. `limactl stop` keeps the instance and its disk; `limactl delete --force` + removes the instance and Lima keeps the disk, which only `discardStore` + (`limactl disk delete`) removes. A kept disk is attached again, not remade, + when the project's instance is made again. + +One sample (#527, load 3.6): `vm_real.mjs lima` passed in 65.2 s +for two projects, both VMs made, restarted and removed. + +### The Firecracker provider (nested in Lima) + +`vm:firecracker` runs one Firecracker microVM per project inside a Lima vz +instance with nested virtualization (macOS has no KVM; nested KVM needs an +Apple M3 or newer and macOS 15+). Per #516 it is pass/fail only: its timings +describe the nesting. The Lima instance is the user's, like an SSH host: the +adapter makes none, names it `LAYERFS_FIRECRACKER_LIMA` (default +`layerfs-firecracker`) and proves what it needs before the first VM. In it, +`LAYERFS_FIRECRACKER_DIR` (default `/var/lib/layerfs-firecracker`) holds: + +| File | What | +| --- | --- | +| `bin/firecracker` | the Firecracker VMM (v1.17.0 verified) | +| `vmlinux` | the guest kernel, with FUSE, overlayfs, ext4 and virtio-net (the Firecracker CI 6.18 kernel has them) | +| `rootfs.ext4` | the base root filesystem: `node` 22 or newer on root's PATH, an sshd that accepts the key, `sh`, `tar`, `cp`, `mount`, `findmnt`, `df`; its eth0 address comes from the kernel's `ip=` argument (or from the MAC, as the CI rootfs does) | +| `id_ed25519` | the key the microVM's root accepts | + +The host must also have `/dev/kvm`, `mkfs.ext4`, `ip` and `flock`; a missing +item is refused by name before any disk or VM is made. + +The adapter's steps on this provider: + +1. the Store disk is `/disks/.ext4`, a sparse file of `storeSize` + made ext4 by `mkfs.ext4`, attached as the microVM's second drive and + mounted at `/layerfs/store` after boot; +2. the VM is `/vms/`: its own copy of `rootfs.ext4`, a config file + for `firecracker --no-api --config-file` (`cpus`, `memory` in MiB, no PMU), + and a tap device `lfsfc` with the /30 network `172.30..0` (host `.1`, + guest `.2`), `n` the lowest free number up to 250, taken under a lock. Guest + memory is on 2 MiB huge pages when the host has enough free + (`vm.nr_hugepages`): nested, every first touch of a 4 KiB page is a fault + through both hypervisors (#516: a 28–55 s boot became 1.9 s). The boot waits + up to 60 s for the guest's sshd (a readiness wait); +3. guest commands run as root through two SSH hops: Lima's into the host, + then the host's into the microVM (point-to-point inside the host, so its + host key is not checked); the bundle goes in as one `tar` stream (there is + no shared folder); +4. the private stream is `ssh -N -L 127.0.0.1::172.30..2:7070` to the + Lima instance with `ExitOnForwardFailure`, a process of this machine whose + record is in `LAYERFS_FIRECRACKER_STATE_DIR` (default + `~/.layerfs/firecracker`). A VM is running when both its Firecracker + process and that forward run; a VM whose forward ended reads as stopped, + and `start` reopens the forward without rebooting it; +5. stop ends the forward, syncs and resets the guest (Firecracker exits on a + guest reset; SIGKILL after 5 s) and removes its tap; delete removes the VM's + folder and keeps the Store disk file unless `discardStore`. + +As on an SSH host, no folder is shared with this machine: Init sources are +copied in, and the guest's `/layerfs/home` (Sandbox records, traces) is its +own, not this machine's home. + +Verified (#527, one sample each, load 3.5): Firecracker v1.17.0, the CI +kernel `vmlinux-6.18.56` and the CI `ubuntu-24.04.squashfs` with Node.js +v22.23.4 added (both from `s3.amazonaws.com/spec.ccfc.min/firecracker-ci/20261028-84df49062576-0/aarch64/`), +in a Lima 2.2.1 vz instance with `nestedVirtualization: true` (4 CPUs, 4 GiB, +1100 huge pages): one microVM booted to SSH in 6.6 s, and +`LAYERFS_VM_MEMORY=1G vm_real.mjs firecracker` passed in 87.3 s. + ## Docker The runtime calls the `docker` CLI, as the dsh Host did. It has no command diff --git a/api/runtime/src/clients.js b/api/runtime/src/clients.js index 3de1b675a7..04d17fd605 100644 --- a/api/runtime/src/clients.js +++ b/api/runtime/src/clients.js @@ -9,17 +9,24 @@ import { callHome } from "./settings.js"; const IDLE_MS = 60_000; +/** The local placement's Sandbox backend: LAYERFS_SANDBOX=docker, named rather + * than read from this process's environment (#527 F4). "" unsets what an + * ambient former LAYERFS_SANDBOX_BACKEND (which would conflict with docker), + * _LOCAL_DIR or _IMAGE_ARCHIVE would set. */ +const DOCKER_BACKEND = { SANDBOX: "docker", SANDBOX_BACKEND: "", LOCAL_DIR: "", IMAGE_ARCHIVE: "" }; + /** The environment one project's client (and its agents' bash calls) use. A * platform may replace it whole (`deploymentEnv`), as a `vm:` home - * does: its deployment is native Sandboxes in the VM's namespace backend, not - * host Docker. A project of a PostgreSQL Store (#506) has no volume; its - * Store path is `postgresql:`, and its connection's URL is added only - * when the call gave one (`project.url`). */ + * does: its deployment is namespaces Sandboxes in the VM, not host Docker. + * Otherwise the backend is Docker. A project of a PostgreSQL + * Store (#506) has no volume; its Store path is `postgresql:`, and its + * connection's URL is added only when the call gave one (`project.url`). */ export function deploymentEnv(settings, platform, project) { if (platform.deploymentEnv) return platform.deploymentEnv(settings, project); if (project.kind === "postgresql") { return { HOME: callHome(settings), + ...DOCKER_BACKEND, DOCKER: settings.docker, IMAGE: project.image ?? settings.image ?? "", DAEMON: settings.daemon ?? "", @@ -32,6 +39,7 @@ export function deploymentEnv(settings, platform, project) { } return { HOME: callHome(settings), + ...DOCKER_BACKEND, DOCKER: settings.docker, IMAGE: project.image ?? settings.image ?? "", DAEMON: settings.daemon ?? "", diff --git a/api/runtime/src/index.js b/api/runtime/src/index.js index c488ac7ef8..0a1fa2eca1 100644 --- a/api/runtime/src/index.js +++ b/api/runtime/src/index.js @@ -19,12 +19,13 @@ import { LayerFSError } from "@layerfs/agent"; import { useWorker } from "@layerfs/agent/internal"; import { Clients } from "./clients.js"; +import { homeStores } from "./platform/shared.js"; import { resolveSettings } from "./settings.js"; import { status } from "./status.js"; -import linux from "./platform/linux/index.js"; -import macos from "./platform/macos/index.js"; +import linux from "./platform/docker/linux.js"; +import macos from "./platform/docker/macos.js"; +import windows from "./platform/docker/windows/index.js"; import { vmPlatform } from "./platform/vm/index.js"; -import windows from "./platform/windows/index.js"; import { find, list } from "./project/list.js"; import * as stores from "./store/calls.js"; import * as sync from "./store/sync.js"; @@ -41,7 +42,7 @@ import { list as listVolumes, remove as removeVolumes } from "./volume.js"; import { subscribe } from "./events/subscribe.js"; const PLATFORMS = { linux, macos, windows }; -/** The platform object `settings` selects: this host's, or one VM's (§6). */ +/** The platform object `settings` selects: a `local` home's Docker placement (platform/docker/), or one VM's (platform/vm/, #527 §6). */ const platformFor = (settings) => (settings.placement.kind === "vm" ? vmPlatform(settings.placement.provider) : PLATFORMS[settings.platform]); /** Held only by `open`: the constructor refuses without it. */ const FACTORY = Symbol("LayerFSRuntime.open"); @@ -74,6 +75,12 @@ export class LayerFSRuntime { if (this.closed) throw new LayerFSError("InvalidInput", "this LayerFS runtime is closed; open another with LayerFSRuntime.open", null); return method(...args); }; + /** A call on the home's Stores or remotes, not one project's: refused before any effect where the + * placement keeps no home Store (a `vm:` home, #527 F3). */ + const homeLevel = (what, method) => live(async (...args) => { + homeStores(this, what); + return method(...args); + }); /** A project this runtime knows (of `store` when its name is in several Stores) with a Store volume, * or of a PostgreSQL Store with the call's `url`, which the runtime holds for that call only. */ const known = async (name, store = undefined, url = undefined) => { @@ -107,27 +114,27 @@ export class LayerFSRuntime { // #506 Store-first (doc section 6): a home holds many Stores, a Store many projects this.store = { list: live(() => stores.list(this)), - create: live((name) => stores.create(this, name)), - remove: live((name, options) => stores.remove(this, name, options)), - attach_postgresql: live((options) => stores.attach_postgresql(this, options)), + create: homeLevel("runtime.store.create", (name) => stores.create(this, name)), + remove: homeLevel("runtime.store.remove", (name, options) => stores.remove(this, name, options)), + attach_postgresql: homeLevel("runtime.store.attach_postgresql", (options) => stores.attach_postgresql(this, options)), // #509: one link per SQLite Store - start_publish: live((name, options) => sync.start_publish(this, syncs, name, options)), - start_push: live((name, options) => sync.start_push(this, syncs, name, options)), - start_pull: live((name, options) => sync.start_pull(this, syncs, name, options)), - start_send: live((name, options) => sync.start_send(this, syncs, name, options)), - start_load: live((remote, options) => sync.start_load(this, syncs, remote, options)), - unlink: live((name, options) => stores.unlink(this, name, options)), - start_import_postgresql: live((name, options) => sync.start_import_postgresql(this, syncs, name, options)), - check: live((name, options) => stores.check(this, name, options)), + start_publish: homeLevel("runtime.store.start_publish", (name, options) => sync.start_publish(this, syncs, name, options)), + start_push: homeLevel("runtime.store.start_push", (name, options) => sync.start_push(this, syncs, name, options)), + start_pull: homeLevel("runtime.store.start_pull", (name, options) => sync.start_pull(this, syncs, name, options)), + start_send: homeLevel("runtime.store.start_send", (name, options) => sync.start_send(this, syncs, name, options)), + start_load: homeLevel("runtime.store.start_load", (remote, options) => sync.start_load(this, syncs, remote, options)), + unlink: homeLevel("runtime.store.unlink", (name, options) => stores.unlink(this, name, options)), + start_import_postgresql: homeLevel("runtime.store.start_import_postgresql", (name, options) => sync.start_import_postgresql(this, syncs, name, options)), + check: homeLevel("runtime.store.check", (name, options) => stores.check(this, name, options)), }; this.remote = { - list: live(() => stores.remotes(this)), - add: live((remote) => stores.addRemote(this, remote)), - remove: live((name, options) => stores.removeRemote(this, name, options)), - list_stores: live((remote, options) => stores.listStores(this, remote, options)), - providers: live(() => stores.providers(this)), + list: homeLevel("runtime.remote.list", () => stores.remotes(this)), + add: homeLevel("runtime.remote.add", (remote) => stores.addRemote(this, remote)), + remove: homeLevel("runtime.remote.remove", (name, options) => stores.removeRemote(this, name, options)), + list_stores: homeLevel("runtime.remote.list_stores", (remote, options) => stores.listStores(this, remote, options)), + providers: homeLevel("runtime.remote.providers", () => stores.providers(this)), }; - this.postgresql = { status: live((options) => stores.postgresqlStatus(this, options)) }; + this.postgresql = { status: homeLevel("runtime.postgresql.status", (options) => stores.postgresqlStatus(this, options)) }; this.sync = { get: live((job) => syncs.get(job, progressOf(this))) }; this.sandbox = { reclaim: live(async (name, options) => reclaim(this, await known(name, options?.store, options?.url))), diff --git a/api/runtime/src/platform/docker/disk.js b/api/runtime/src/platform/docker/disk.js new file mode 100644 index 0000000000..37a9e0f9dc --- /dev/null +++ b/api/runtime/src/platform/docker/disk.js @@ -0,0 +1,19 @@ +// The engine's volumes, as runtime.volume.list reads them and +// runtime.volume.remove removes them. Moved from volume.js (#527 step 10a). + +const docker = (runtime, args, options = {}) => runtime.platform.docker.run(runtime.settings, args, options); + +/** Every volume on the engine: `[{ name, size, links, labels }]`, `size` as Docker prints it. + * One `docker system df -v`, plus one `docker volume inspect` of the labelled volumes. */ +export async function volumes(runtime) { + const df = JSON.parse(await docker(runtime, ["system", "df", "-v", "--format", "{{json .}}"], { timeout: 60_000 })); + const found = df.Volumes ?? []; + const labelled = found.filter((v) => v.Labels).map((v) => v.Name); + const labels = new Map(labelled.length ? JSON.parse(await docker(runtime, ["volume", "inspect", ...labelled], { timeout: 30_000 })).map((v) => [v.Name, v.Labels ?? {}]) : []); + return found.map((v) => ({ name: v.Name, size: v.Size, links: v.Links, labels: labels.get(v.Name) ?? {} })); +} + +/** One `docker volume rm`. */ +export async function remove(runtime, name) { + await docker(runtime, ["volume", "rm", name], { timeout: 30_000 }); +} diff --git a/api/runtime/src/platform/docker/index.js b/api/runtime/src/platform/docker/index.js new file mode 100644 index 0000000000..7d2f29ea65 --- /dev/null +++ b/api/runtime/src/platform/docker/index.js @@ -0,0 +1,38 @@ +// The `local` placement (#527 §6, D4): Docker on this host (linux.js), in +// Docker Desktop's VM (macos.js) or in a WSL2 distribution (windows/). Each +// of those platforms carries `platform.docker`, the one Docker group, built +// here from that platform's own CLI call `run`: +// run(settings, args, options) one `docker` call: its stdout, trimmed +// version(runtime) the engine's version (runtime.status) +// sandboxes this home's Sandbox containers (sandboxes.js) +// stores Store volumes and their hooks (stores.js) +// disk the engine's volumes and their removal (disk.js) +// A `vm:` home has no group: host Docker holds none of its Stores +// or Sandboxes, so a caller that finds none refuses (shared.js `dockerOf`). +// Every helper reaches Docker through `runtime.platform.docker.run`, so a +// test replaces that one call. +import { run as execute } from "../shared.js"; +import * as disk from "./disk.js"; +import * as sandboxes from "./sandboxes.js"; +import * as stores from "./stores.js"; + +/** Docker's volumes directory where the engine runs: Docker Desktop's VM, WSL2 and, by default (settings.volumes), Linux. */ +export const VOLUMES = "/var/lib/docker/volumes"; + +/** The Store file inside the Docker volume `volume` under the volumes directory `volumes`. */ +export const volumeStore = (volumes, volume) => `${volumes}/${volume}/_data/global/store.sqlite`; + +/** One Docker CLI call on the configured engine socket (Linux, macOS): its stdout, trimmed. */ +export const socketRun = (settings, args, options = {}) => + execute("docker", ["-H", `unix://${settings.docker}`, ...args], { timeout: 5000, ...options }).then((r) => r.stdout.trim()); + +/** The Docker group of a platform whose Docker CLI call is `run`. */ +export function dockerGroup(run) { + return { + run, + version: (runtime) => runtime.platform.docker.run(runtime.settings, ["version", "--format", "{{.Server.Version}}"]), + sandboxes, + stores, + disk, + }; +} diff --git a/api/runtime/src/platform/linux/index.js b/api/runtime/src/platform/docker/linux.js similarity index 72% rename from api/runtime/src/platform/linux/index.js rename to api/runtime/src/platform/docker/linux.js index 3770bd969a..71a5a988d5 100644 --- a/api/runtime/src/platform/linux/index.js +++ b/api/runtime/src/platform/docker/linux.js @@ -2,14 +2,18 @@ // there is no worker (AGENTS.md). Init installs the Store straight into the // project volume's directory under Docker's volumes directory, which Docker // keeps root-only: `init` checks this process can write there first. -import { accessSync, constants, existsSync, rmSync, statSync, statfsSync } from "node:fs"; -import { join } from "node:path"; -import { docker, homeNames, makeStore, refuse, releaseStoreHolders, removeStore, storeHolders } from "../shared.js"; +import { accessSync, constants, existsSync, statSync, statfsSync } from "node:fs"; +import { localHome, refuse } from "../shared.js"; +import { dockerGroup, socketRun, volumeStore } from "./index.js"; +import { hooks } from "./stores.js"; const NO_WORKER = "Linux runs Store calls in-process; there is no worker"; export default { name: "linux", + /** Native and namespaces Sandboxes (an SDK's LAYERFS_SANDBOX, run as root here) can open this + * placement's Stores beside its Docker ones, so discovery reads their records too (#527 F6). */ + localSandboxes: true, endpoint: () => null, async status() { return { worker: null }; }, async start() { throw refuse("InvalidInput", NO_WORKER); }, @@ -26,14 +30,10 @@ export default { if (uid !== undefined && owner !== uid) throw refuse("Unsupported", `the LayerFS home ${settings.home} belongs to uid ${owner}, not this process's uid ${uid}`); }, path: (settings, hostPath) => hostPath, - docker, - makeStore, - storeHolders, - releaseStoreHolders, - removeStore, - storePath: (settings, volume) => `${settings.volumes}/${volume}/_data/global/store.sqlite`, - homeNames: (settings) => homeNames(settings.home), - async removeHome(settings, name) { rmSync(join(settings.home, name), { recursive: true, force: true }); }, + docker: dockerGroup(socketRun), + ...hooks, + storePath: (settings, volume) => volumeStore(settings.volumes, volume), + ...localHome, async releaseStore() {}, async free(settings) { try { const s = statfsSync(settings.volumes); return s.bavail * s.bsize; } catch { return null; } diff --git a/api/runtime/src/platform/macos/index.js b/api/runtime/src/platform/docker/macos.js similarity index 84% rename from api/runtime/src/platform/macos/index.js rename to api/runtime/src/platform/docker/macos.js index 5702bd8dcc..da1c0f52f6 100644 --- a/api/runtime/src/platform/macos/index.js +++ b/api/runtime/src/platform/docker/macos.js @@ -14,9 +14,10 @@ import { randomBytes } from "node:crypto"; import { mkdirSync, readFileSync, rmSync } from "node:fs"; import { join } from "node:path"; -import { docker as cli, endpointFile, homeNames, makeStore, ping, ready, refuse, releaseStoreHolders, removeStore, storeHolders, writeEndpoint } from "../shared.js"; - -const VOLUMES = "/var/lib/docker/volumes"; +import { dfFree, endpointFile, localHome, ping, ready, refuse, writeEndpoint } from "../shared.js"; +import { readEndpoint, releaseStore } from "../../worker/call.js"; +import { dockerGroup, socketRun, VOLUMES, volumeStore } from "./index.js"; +import { hooks } from "./stores.js"; const WORKER_PORT = 7070; const READY_MS = 15_000, RESTART_MS = 20_000; /** Where the worker reaches a daemon's loopback-published port: the Mac. */ @@ -25,7 +26,7 @@ const SERVER = "api/runtime/src/worker/server.js"; const INIT = "api/runtime/src/worker/init.js"; // every Docker call goes through the platform object, so a test can stub it -const docker = (...args) => platform.docker(...args); +const docker = (...args) => platform.docker.run(...args); const name = (settings) => `${settings.containerPrefix}worker`; const build = (settings) => JSON.parse(readFileSync(join(settings.bundle, "manifest.json"), "utf8")).build_id; @@ -51,8 +52,7 @@ async function status(settings) { const [running, label, startedAt, home] = row.split("\t"); const worker = { name: name(settings), state: running === "true" ? "running" : "stopped", build: label, expected: settings.bundle ? build(settings) : null, home, startedAt }; if (worker.state === "running") { - let info = null; - try { info = JSON.parse(readFileSync(endpointFile(settings.home), "utf8")); } catch { /* not written yet */ } + const info = readEndpoint(endpointFile(settings.home)); worker.answering = !!(info && (await ping(info))?.ready); } return { worker }; @@ -115,6 +115,8 @@ async function restart(settings) { const platform = { name: "macos", + /** Init runs in a container of its own, whose counts this process cannot read. */ + initCounts: false, endpoint: (settings) => endpointFile(settings.home), status, start, @@ -125,21 +127,24 @@ const platform = { if (worker.state !== "running" || !worker.answering) await start(settings); }, path: (settings, hostPath) => hostPath, - docker: cli, - makeStore, - storeHolders, - releaseStoreHolders, - removeStore, - storePath: (settings, volume) => `${VOLUMES}/${volume}/_data/global/store.sqlite`, - homeNames: (settings) => homeNames(settings.home), - async removeHome(settings, project) { rmSync(join(settings.home, project), { recursive: true, force: true }); }, - async releaseStore() {}, + docker: dockerGroup(socketRun), + ...hooks, + storePath: (settings, volume) => volumeStore(VOLUMES, volume), + ...localHome, + /** Before a volume is deleted, the worker closes its cached Store of it, + * as on Windows and `vm:` (#527 §10: it kept the deleted Store open until + * its quiet minute ended). With no worker endpoint nothing holds it. */ + async releaseStore(settings, store) { + const { volume } = store; + if (!/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(volume)) throw refuse("InvalidInput", "invalid Store volume name"); + const info = readEndpoint(endpointFile(settings.home)); + if (!info || !(await ping(info))) return; + await releaseStore(info, settings.home, volumeStore(VOLUMES, volume)); + }, /** Free bytes of Docker's volume disk, as the worker sees it. */ async free(settings) { try { - const out = await docker(settings, ["exec", name(settings), "df", "-kP", VOLUMES]); - const kb = Number(out.split("\n").pop().trim().split(/\s+/)[3]); - return Number.isFinite(kb) ? kb * 1024 : null; + return dfFree(await docker(settings, ["exec", name(settings), "df", "-kP", VOLUMES])); } catch { return null; } }, }; diff --git a/api/runtime/src/platform/docker/sandboxes.js b/api/runtime/src/platform/docker/sandboxes.js new file mode 100644 index 0000000000..aba34686f4 --- /dev/null +++ b/api/runtime/src/platform/docker/sandboxes.js @@ -0,0 +1,62 @@ +// This home's Sandbox containers on its Docker engine (label +// layerfs.role=sandbox, named with the home's containerPrefix), as +// runtime.sandbox.list, list_leftovers, clean_leftovers, sweep and +// project.delete read and remove them. Moved from sandbox/leftovers.js, +// sandbox/list.js and project/delete.js (#527 step 10a). + +/** Container states that hold a volume but run nothing (Docker's; a namespace Sandbox's record has none). */ +export const STOPPED = new Set(["created", "exited", "dead"]); + +const docker = (runtime, args, options = {}) => runtime.platform.docker.run(runtime.settings, args, options); + +/** This home's Sandbox containers (`-`, label layerfs.role=sandbox), running or not: + * `[{ name, state, running, status, project, sandbox, image, store, key }]`. One `docker ps`. */ +export async function containers(runtime) { + const out = await docker(runtime, ["ps", "-a", "--no-trunc", "--filter", "label=layerfs.role=sandbox", "--format", "{{.Names}}\t{{.State}}\t{{.Status}}\t{{.Label \"layerfs.project\"}}\t{{.Label \"layerfs.sandbox\"}}\t{{.Image}}\t{{.Label \"layerfs.store\"}}"]); + return out.split("\n").filter(Boolean).map((row) => { + const [name, state, status, project, sandbox, image, store] = row.split("\t"); + // a Sandbox of a shared Store's project (#506) is `.-` + return { name, state, running: state === "running", status, project, sandbox, image, store: store || null, key: store ? `${store}/${project}` : project }; + }).filter((c) => c.name.startsWith(runtime.settings.containerPrefix)); +} + +/** A container gone between the listing and the inspection is left out: inspect still prints the others. */ +async function inspect(runtime, ids) { + try { + return JSON.parse(await docker(runtime, ["inspect", "--size", ...ids], { timeout: 30_000 })); + } catch (error) { + const out = String(error?.stdout ?? "").trim(); + if (out.startsWith("[")) return JSON.parse(out); + throw error; + } +} + +/** `[{ name, project, store, sandbox, state, running, startedAt, finishedAt, image, ports, scratch }]` + * of this home's Sandbox containers, by name. One `docker ps` and one `docker inspect --size`. */ +export async function details(runtime) { + const ids = (await docker(runtime, ["ps", "-a", "-q", "--no-trunc", "--filter", "label=layerfs.role=sandbox"])).split("\n").filter(Boolean); + if (!ids.length) return []; + return (await inspect(runtime, ids)).map((c) => { + const labels = c.Config?.Labels ?? {}; + const running = c.State?.Running === true; + const finished = c.State?.FinishedAt; + return { + name: String(c.Name ?? "").replace(/^\//, ""), + project: labels["layerfs.project"] ?? null, + store: labels["layerfs.store"] ?? null, + sandbox: labels["layerfs.sandbox"] ?? null, + state: c.State?.Status ?? "unknown", + running, + startedAt: c.State?.StartedAt ?? null, + finishedAt: running || !finished || finished.startsWith("0001-") ? null : finished, + image: c.Config?.Image ?? null, + ports: Object.entries(c.NetworkSettings?.Ports ?? {}).flatMap(([port, bound]) => (bound ?? []).map((b) => ({ container: port, host: b.HostIp, port: Number(b.HostPort) }))), + scratch: typeof c.SizeRw === "number" ? c.SizeRw : null, + }; + }).filter((c) => c.name.startsWith(runtime.settings.containerPrefix)).sort((a, b) => a.name.localeCompare(b.name)); +} + +/** One `docker rm` of the named containers; the running ones too only when `force`. */ +export async function remove(runtime, names, { force = false, timeout } = {}) { + await docker(runtime, ["rm", ...(force ? ["-f"] : []), ...names], timeout ? { timeout } : {}); +} diff --git a/api/runtime/src/platform/docker/stores.js b/api/runtime/src/platform/docker/stores.js new file mode 100644 index 0000000000..44ee38ccfe --- /dev/null +++ b/api/runtime/src/platform/docker/stores.js @@ -0,0 +1,68 @@ +// Store volumes on the `local` placement: a Store is one labelled Docker +// volume, its holders are containers, and removing the Store removes the +// volume. These are the four Store hooks (`hooks`) Init, Store creation and +// Store removal use, which a `vm:` placement implements over the project's +// VM instead (vm/index.js). Each is keyed by Store, `{ name, volume, legacy }`: +// `legacy` marks the Store a project's own Init makes, named after it (#506); +// any other is a Store of the home. Each uses that platform's own Docker CLI +// call (Windows goes through WSL). +import { keyOf } from "../../project/list.js"; +import { holding, recorded, recordingProjects } from "../../sandbox/records.js"; +import { refuse } from "../shared.js"; + +const docker = (runtime, args, options = {}) => runtime.platform.docker.run(runtime.settings, args, options); + +/** + * Makes the Store's labelled volume and answers its name: a project's own + * Store gets the volume its Init named (`store.volume`, labelled + * layerfs.project), any other `store-` (labelled + * layerfs.store). A volume that exists is refused, not reused (docker + * volume create would reuse it). Docker sets labels only at create, and they + * tell runtime.volume.list whose the volume is. + */ +export async function createStore(runtime, store) { + const { settings } = runtime; + const volume = store.legacy ? store.volume : `${settings.containerPrefix}store-${store.name}`; + const exists = await docker(runtime, ["volume", "inspect", "--format", "{{.Name}}", volume]).then(() => true, () => false); + if (exists) throw refuse("Exists", `the volume ${volume} exists; remove it, or name the ${store.legacy ? "project" : "Store"} differently`); + const owner = store.legacy ? `layerfs.project=${store.name}` : `layerfs.store=${store.name}`; + await docker(runtime, ["volume", "create", "--label", "layerfs.role=store", "--label", `layerfs.home=${settings.home}`, "--label", owner, volume], { timeout: 30_000 }); + return volume; +} + +/** The containers holding the Store's volume now: [{ id, state }], running or not. Where native + * and namespaces Sandboxes can open this placement's Stores too (`localSandboxes`, Linux), the + * running ones of the Store's projects join them, from their records (#527 step 12, F6): + * `{ id: "/", state, runtime, project, sandbox }`. */ +export async function storeHolders(runtime, store) { + const rows = await docker(runtime, ["ps", "-a", "--filter", `volume=${store.volume}`, "--format", "{{.ID}} {{.State}}"]); + const holders = rows.split("\n").filter(Boolean).map((line) => { const [id, state] = line.split(" "); return { id, state }; }); + if (!runtime.platform.localSandboxes) return holders; + for (const project of (await recordingProjects(runtime)).filter((p) => p.store === store.name)) { + for (const item of (await recorded(runtime, project)).filter((r) => r.runtime !== "docker" && holding(r))) { + holders.push({ id: `${keyOf(project)}/${item.sandbox}`, state: item.state, runtime: item.runtime, project: keyOf(project), sandbox: item.sandbox }); + } + } + return holders; +} + +/** Removes the volume's holders: the running ones only when `force`. A native or namespaces + * Sandbox is not Docker's to remove: one among them refuses Busy before any effect, naming it, + * so its own deployment closes it (`sandbox.close`). */ +export async function releaseStoreHolders(runtime, store, holders, { force = false } = {}) { + const daemons = holders.filter((holder) => holder.runtime); + if (daemons.length) { + const named = daemons.map((d) => `Sandbox ${d.sandbox} of ${d.project} (${d.runtime})`).join(", "); + throw refuse("Busy", `${named} use${daemons.length === 1 ? "s" : ""} Store ${store.name} outside Docker; close ${daemons.length === 1 ? "it" : "them"} with a client whose LAYERFS_SANDBOX names that backend (sandbox.close), then remove the Store`); + } + if (!holders.length) return; + await docker(runtime, ["rm", ...(force ? ["-f"] : []), ...holders.map((holder) => holder.id)], { timeout: 30_000 }); +} + +/** The Store's volume itself, once nothing holds it. */ +export async function removeStore(runtime, store) { + await docker(runtime, ["volume", "rm", store.volume], { timeout: 30_000 }); +} + +/** The platform-level Store hooks, as every Docker placement exposes them. */ +export const hooks = { createStore, storeHolders, releaseStoreHolders, removeStore }; diff --git a/api/runtime/src/platform/windows/index.js b/api/runtime/src/platform/docker/windows/index.js similarity index 85% rename from api/runtime/src/platform/windows/index.js rename to api/runtime/src/platform/docker/windows/index.js index 8bd4b693ce..4437a1ba3d 100644 --- a/api/runtime/src/platform/windows/index.js +++ b/api/runtime/src/platform/docker/windows/index.js @@ -10,14 +10,18 @@ import { createHash, randomBytes } from "node:crypto"; import { createWriteStream, mkdirSync, readFileSync, rmSync } from "node:fs"; import { join, posix } from "node:path"; import { fileURLToPath } from "node:url"; -import { connection, frame, readFrames } from "@layerfs/agent/internal"; -import { endpointFile, ping, ready, refuse, run, writeEndpoint, makeStore, releaseStoreHolders, removeStore, storeHolders } from "../shared.js"; +import { frame, readFrames } from "@layerfs/agent/internal"; +import { dfFree, endpointFile, ping, ready, refuse, run, writeEndpoint } from "../../shared.js"; +import { readEndpoint, releaseStore } from "../../../worker/call.js"; +import { dockerGroup, VOLUMES, volumeStore } from "../index.js"; +import { hooks } from "../stores.js"; import { absoluteLinux, projectHome, wsl, wslArgs } from "./paths.js"; const SERVER = "api/runtime/src/worker/server.js"; const workers = new Map(); -const docker = (settings, args, options = {}) => wsl(settings, ["docker", "-H", `unix://${settings.docker}`, ...args], { timeout: 5000, ...options }).then((r) => r.stdout.trim()); +/** One Docker CLI call on the distribution's engine, through `wsl.exe`. */ +const wslRun = (settings, args, options = {}) => wsl(settings, ["docker", "-H", `unix://${settings.docker}`, ...args], { timeout: 5000, ...options }).then((r) => r.stdout.trim()); /** Only this Windows user and SYSTEM may read the endpoint's folder. */ async function protect(directory) { @@ -87,8 +91,8 @@ async function launch(settings, held) { } async function status(settings) { - let info; - try { info = JSON.parse(readFileSync(endpointFile(settings.home), "utf8")); } catch { return { worker: { name: "wsl-worker", state: "missing" } }; } + const info = readEndpoint(endpointFile(settings.home)); + if (!info) return { worker: { name: "wsl-worker", state: "missing" } }; const reply = await ping(info); return { worker: { name: "wsl-worker", state: reply?.ready ? "running" : "unknown", answering: !!reply?.ready, active: reply?.active, stores: reply?.stores, build: reply?.build, startedAt: info.startedAt } }; } @@ -117,6 +121,8 @@ async function restart(settings) { export default { name: "windows", + /** Any failed Init is uncertain: the worker may have installed the Store meanwhile, so nothing is removed on a guess. */ + uncertainInit: true, endpoint: (settings) => endpointFile(settings.home), status, async start(settings) { @@ -130,31 +136,29 @@ export default { /** Init runs in the worker, which reads the folder through WSL. */ async init(settings) { await start(settings); }, path: (settings, hostPath) => hostPath, - docker, - makeStore, - storeHolders, - releaseStoreHolders, - removeStore, - storePath: (settings, volume) => `/var/lib/docker/volumes/${volume}/_data/global/store.sqlite`, + docker: dockerGroup(wslRun), + ...hooks, + storePath: (settings, volume) => volumeStore(VOLUMES, volume), async homeNames(settings) { const { stdout } = await wsl(settings, ["find", settings.wsl.home, "-mindepth", "2", "-maxdepth", "2", "-name", "project.record"], { timeout: 5000 }).catch(() => ({ stdout: "" })); return stdout.split("\n").filter(Boolean).map((line) => posix.basename(posix.dirname(line))).sort(); }, // rm gets one checked child directory as an argv item, never shell text async removeHome(settings, name) { await wsl(settings, ["rm", "-rf", "--", projectHome(settings.wsl, name)], { timeout: 10_000 }); }, - /** Before a volume is deleted, the worker closes its cached Store of it. */ - async releaseStore(settings, project) { - const { volume } = project; + /** Before a volume is deleted, the worker closes its cached Store of it. With no worker endpoint, + * or a worker that does not answer, no worker holds it, so there is nothing to release (as on + * macOS): removing a Store no worker ever opened does not fail here. */ + async releaseStore(settings, store) { + const { volume } = store; if (!/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(volume)) throw refuse("InvalidInput", "invalid Store volume name"); - const info = JSON.parse(readFileSync(endpointFile(settings.home), "utf8")); - const answer = await connection(info).call({ fn: "releaseStore", args: { home: settings.wsl.home, storePath: `/var/lib/docker/volumes/${volume}/_data/global/store.sqlite` } }); - if (answer.refused) throw refuse(answer.refused.code, answer.refused.message, answer.refused.detail); + const info = readEndpoint(endpointFile(settings.home)); + if (!info || !(await ping(info))) return; + await releaseStore(info, settings.wsl.home, volumeStore(VOLUMES, volume)); }, async free(settings) { try { const { stdout } = await wsl(settings, ["df", "-kP", settings.wsl.home], { timeout: 5000 }); - const kb = Number(stdout.trim().split("\n").pop().trim().split(/\s+/)[3]); - return Number.isFinite(kb) ? kb * 1024 : null; + return dfFree(stdout); } catch { return null; } }, }; diff --git a/api/runtime/src/platform/windows/paths.js b/api/runtime/src/platform/docker/windows/paths.js similarity index 100% rename from api/runtime/src/platform/windows/paths.js rename to api/runtime/src/platform/docker/windows/paths.js diff --git a/api/runtime/src/platform/shared.js b/api/runtime/src/platform/shared.js index 8a1d826384..1a391dbe85 100644 --- a/api/runtime/src/platform/shared.js +++ b/api/runtime/src/platform/shared.js @@ -1,7 +1,7 @@ -// What the platform folders share: refusals, one Docker CLI call, the -// worker's endpoint file and a bounded ping of a worker. +// What the placements share (docker/ for `local`, vm/ for `vm:`): +// refusals, the worker's endpoint file and a bounded ping of a worker. import { execFile } from "node:child_process"; -import { existsSync, readdirSync, renameSync, writeFileSync } from "node:fs"; +import { existsSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs"; import { connect } from "node:net"; import { join } from "node:path"; import { promisify } from "node:util"; @@ -19,9 +19,28 @@ export const refuse = (code, message, detail = null) => new LayerFSError(code, m export const noHostDocker = (runtime, what, instead) => refuse("Unsupported", `${what} reads host Docker, and this home is placed in ${runtime.platform.name}: ${instead}`, null); -/** One Docker CLI call on the configured engine: its stdout, trimmed. */ -export const docker = (settings, args, options = {}) => - run("docker", ["-H", `unix://${settings.docker}`, ...args], { timeout: 5000, ...options }).then((r) => r.stdout.trim()); +/** + * The refusal a call on the home's Stores or remotes gives on a home whose + * placement keeps no Store of its own (`homeStores: false`, a `vm:` + * home, #527 F3): each project's Store is in that project's own VM, so a call + * that names a Store or the home rather than one project has no VM to run in. + */ +export const noHomeStores = (placement, what) => + refuse("Unsupported", `${what} is not supported on a ${placement} home: each project's Store is in that project's own VM, so a call on a Store or remote of the home, not one project, has no VM to run in`, null); + +/** Refuses `what` before any effect where the platform holds no home Stores. */ +export function homeStores(runtime, what) { + if (runtime.platform.homeStores === false) throw noHomeStores(runtime.platform.name, what); +} + +/** Where a `vm:` home's Sandboxes are, for the refusals of the Sandbox helpers that read host Docker. */ +export const VM_SANDBOXES = "its Sandboxes are Linux namespaces inside the VM; the SDK's project.list_sandboxes reads them"; + +/** The placement's Docker group (docker/index.js), or the refusal of `what` where it has none. */ +export function dockerOf(runtime, what, instead) { + if (!runtime.platform.docker) throw noHostDocker(runtime, what, instead); + return runtime.platform.docker; +} /** * Where a worker's endpoint lives: `/worker/endpoint.json` for a home @@ -67,38 +86,14 @@ export function homeNames(home) { return readdirSync(home, { withFileTypes: true }).filter((e) => e.isDirectory() && existsSync(join(home, e.name, "project.record"))).map((e) => e.name).sort(); } -// The four Store hooks Init and project removal use, as Docker has them (the -// `local` placement): a project's Store is a labelled volume, its holders are -// containers, and removing the project removes the volume. A `vm:` placement -// implements the same four over the project's VM instead (vm/index.js). Each -// takes the runtime and the project `{ name, volume }`, so the hook uses that -// platform's own Docker CLI (Windows goes through WSL) or that project's VM. +/** A platform's home helpers where this process reads and writes the home itself (Linux, macOS, `vm:`). */ +export const localHome = { + homeNames: (settings) => homeNames(settings.home), + async removeHome(settings, name) { rmSync(join(settings.home, name), { recursive: true, force: true }); }, +}; -/** Container states that hold a volume but run nothing (Docker's; a namespace Sandbox's record has none). */ -export const STOPPED = new Set(["created", "exited", "dead"]); - -/** Init makes the project's Store volume before installing into it. */ -export async function makeStore(runtime, project) { - const { settings, platform } = runtime; - await platform.docker(settings, ["volume", "create", "--label", "layerfs.role=store", "--label", `layerfs.home=${settings.home}`, "--label", `layerfs.project=${project.name}`, project.volume], { timeout: 30_000 }); -} - -/** The containers holding the volume now: [{ id, state }], running or not. */ -export async function storeHolders(runtime, project) { - const { settings, platform } = runtime; - const rows = await platform.docker(settings, ["ps", "-a", "--filter", `volume=${project.volume}`, "--format", "{{.ID}} {{.State}}"]); - return rows.split("\n").filter(Boolean).map((line) => { const [id, state] = line.split(" "); return { id, state }; }); +/** Free bytes from the last line of `df -kP `'s output, else null. */ +export function dfFree(stdout) { + const kb = Number(String(stdout).trim().split("\n").pop().trim().split(/\s+/)[3]); + return Number.isFinite(kb) ? kb * 1024 : null; } - -/** Removes the volume's holders: the running ones only when `force`. */ -export async function releaseStoreHolders(runtime, project, holders, { force = false } = {}) { - const { settings, platform } = runtime; - if (!holders.length) return; - await platform.docker(settings, ["rm", ...(force ? ["-f"] : []), ...holders.map((holder) => holder.id)], { timeout: 30_000 }); -} - -/** The volume itself, once nothing holds it. */ -export async function removeStore(runtime, project) { - const { settings, platform } = runtime; - await platform.docker(settings, ["volume", "rm", project.volume], { timeout: 30_000 }); -} \ No newline at end of file diff --git a/api/runtime/src/platform/vm/apple-container.js b/api/runtime/src/platform/vm/apple-container.js index dca57ac1e6..85b801f704 100644 --- a/api/runtime/src/platform/vm/apple-container.js +++ b/api/runtime/src/platform/vm/apple-container.js @@ -16,7 +16,9 @@ // - a volume keeps its size: `volume create -s ` (the CLI's default is // a sparse 504 GiB image), so `ensureStore` sizes it from `storeSize`; // - `exec` needs `-i` for a caller's stdin (`cat > file` gets EOF at once -// without it), which `write` and `copy` rely on; +// without it), which `write` relies on; +// - `copy` moves about 35 MB/s, so a folder goes in through the home bind +// mount instead (see `copy` below); // - the guest's `/proc/sys` is mounted **read-only** and user namespaces are // open by default: V4's block needs `mount -o remount,rw /proc/sys` first // (CAP_SYS_ADMIN, which this adapter adds anyway), then the write; @@ -25,6 +27,9 @@ // It reads its facts strictly: an `inspect` answer that is not this shape is // refused by name rather than guessed at, so a changed CLI shows up as an error // and never as a VM this adapter believes is running. +import { constants, cpSync, mkdtempSync, rmSync } from "node:fs"; +import { basename, isAbsolute, join, relative, resolve, sep } from "node:path"; +import { GUEST } from "../../settings.js"; import { answer, capture, readFile, writeFile } from "./cli.js"; const CLI = "container"; @@ -138,8 +143,35 @@ export async function storeFree(name) { return Number.isFinite(kb) ? kb * 1024 : null; } -/** Copies a host folder into a guest folder. */ -export const copy = (name, source, destination) => call(["copy", source, `${name}:${destination}`], { timeout: CREATE_MS }); +/** + * Copies a host folder into a guest folder, as a copy the VM owns. Measured on + * 1.6.1 (#527, a 2.7 GB bundle): `container copy` moved about 35 MB/s (77 s), + * a `tar` stream through `exec -i` about 117 MB/s (23.5 s), while the guest + * reads the VM's home bind mount (virtiofs) at about 650 MB/s (4 s). So the + * folder is cloned into a private staging folder in the home the VM already + * mounts (an APFS clone where the volume allows, else a plain copy), the guest + * copies it from there onto its own disk with `cp -Rp` (modes, owners and + * times kept, symlinks as symlinks), and the staging folder is removed + * whatever the outcome. One attempt; no step is retried. + */ +export async function copy(name, source, destination) { + const found = await inspect(name); + if (!found?.home) throw new Error(`the VM ${name} mounts no LayerFS home at ${GUEST.home}, so a folder cannot be staged for it`); + const guestCopy = async (from) => { + const done = await exec(name, ["sh", "-c", "mkdir -p \"$2\" && cp -Rp \"$1/.\" \"$2\"", "sh", from, destination], { timeout: CREATE_MS }); + if (done.code !== 0) throw new Error(`could not copy ${source} into ${name}:${destination}: ${(done.stderr || done.stdout).trim()}`); + }; + // a folder inside the home is already in the guest's view: nothing to stage + const inside = relative(found.home, resolve(source)); + if (inside && !inside.startsWith("..") && !isAbsolute(inside)) return guestCopy(`${GUEST.home}/${inside.split(sep).join("/")}`); + const stage = mkdtempSync(join(found.home, ".vm-copy-")); + try { + cpSync(source, join(stage, "c"), { recursive: true, mode: constants.COPYFILE_FICLONE, verbatimSymlinks: true, preserveTimestamps: true }); + await guestCopy(`${GUEST.home}/${basename(stage)}/c`); + } finally { + rmSync(stage, { recursive: true, force: true }); + } +} export const read = (name, path) => readFile(CLI, name, path, exec); export const write = (name, path, text) => writeFile(CLI, name, path, text, exec); diff --git a/api/runtime/src/platform/vm/firecracker.js b/api/runtime/src/platform/vm/firecracker.js new file mode 100644 index 0000000000..95fc4bad14 --- /dev/null +++ b/api/runtime/src/platform/vm/firecracker.js @@ -0,0 +1,322 @@ +// Firecracker (#527 platform pass, the fifth VM of #516): one Firecracker +// microVM per project, run inside a long-lived Lima `vz` instance with nested +// virtualization (the "Firecracker host": macOS has no KVM, so Firecracker +// cannot run on the Mac itself; nested KVM needs an M3 or newer and macOS 15+). +// Per #516 this placement is pass/fail only: its timings describe the nesting. +// +// The host is the user's, like an SSH host: it is made once with Lima and named +// by `LAYERFS_FIRECRACKER_LIMA` (default `layerfs-firecracker`). This adapter +// makes no host; it proves what it needs by fact before the first VM — the +// host runs, `/dev/kvm` exists in it, and its folder `LAYERFS_FIRECRACKER_DIR` +// (default `/var/lib/layerfs-firecracker`) holds `bin/firecracker`, the guest +// kernel `vmlinux`, the base root filesystem `rootfs.ext4` (an ext4 image with +// node 22 on root's PATH and an sshd that accepts the key) and that key, +// `id_ed25519`. The five adapter steps (§6): +// ① the VM is `/vms/`: its own copy of the root filesystem, a +// Firecracker config file (guest memory on 2 MiB huge pages when the host +// has enough free: under nesting each first touch of a 4 KiB page is a +// fault through both hypervisors, #516), a tap device `lfsfc` with the /30 network +// `172.30..0` (host .1, guest .2, set by the kernel's `ip=` argument), +// and the Store disk `/disks/.ext4`, a sparse file made ext4 +// by `mkfs.ext4`, attached as the second drive and mounted at the Store +// directory after boot; `firecracker --config-file` runs detached; +// ② the bundle is copied in as one `tar` stream: Lima's SSH into the host, +// then the host's SSH into the microVM, unpacked as root; +// ③ the worker runs as root with its secret in a 0600 file written from +// stdin, as on every provider; +// ④ the private stream is `ssh -L 127.0.0.1::172.30..2:7070` to +// the Lima host, from this machine, with `ExitOnForwardFailure`; +// ⑤ stop ends the forward, syncs and resets the guest (Firecracker exits on +// a guest reset) and removes its tap; delete removes the VM's folder and +// keeps the Store disk unless discarded. +// The microVM's SSH is a point-to-point tap inside the host, its address is +// reused by the next VM of that number, and each VM's root filesystem is a copy +// of one image: its host key is not checked (`UserKnownHostsFile=/dev/null`). +// A VM is "running" when both its Firecracker process and this machine's +// forward run; a VM whose forward ended reads as stopped, and `start` opens the +// forward again without rebooting it. One call per step, one attempt, no retry; +// the boot's wait for the guest's sshd is a readiness wait. +import { spawn } from "node:child_process"; +import { closeSync, existsSync, mkdirSync, openSync, readFileSync, rmSync, writeFileSync } from "node:fs"; +import { homedir } from "node:os"; +import { join } from "node:path"; +import { readFile, writeFile } from "./cli.js"; +import lima, { instanceDir, sshTo, stream, UNPACK } from "./lima.js"; +import { isAlive, shellEscape } from "./ssh.js"; + +const BOOT_MS = 120_000, CALL_MS = 60_000, FORWARD_READY_MS = 600, END_MS = 3_000; +const WORKER_PORT = 7070; + +/** The Lima instance that runs Firecracker, and its folder of binaries, images and VMs. */ +export const host = () => process.env.LAYERFS_FIRECRACKER_LIMA || "layerfs-firecracker"; +export const hostDir = () => process.env.LAYERFS_FIRECRACKER_DIR || "/var/lib/layerfs-firecracker"; +const vmDir = (name) => `${hostDir()}/vms/${name}`; +const diskFile = (store) => `${hostDir()}/disks/${store}.ext4`; +/** This machine's forward records, one per VM. */ +export const stateDir = () => process.env.LAYERFS_FIRECRACKER_STATE_DIR || join(homedir(), ".layerfs", "firecracker"); + +const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +const mib = (size) => Number(size.slice(0, -1)) * (size.endsWith("G") ? 1024 : 1); + +/** One root command in the Firecracker host. */ +const onHost = (argv, options = {}) => lima.exec(host(), argv, { timeout: CALL_MS, ...options }); + +/** One script in the host; a failure is an error naming the step. */ +async function script(what, body, args, options = {}) { + const result = await onHost(["sh", "-c", body, "sh", ...args.map(String)], options); + if (result.code !== 0) throw new Error(`${what} failed in the Firecracker host ${host()} (exit ${result.code}): ${(result.stderr || result.stdout).trim()}`); + return result.stdout; +} + +const SSH_GUEST = "-o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR -o ConnectTimeout=5"; + +const CHECK = `# layerfs-firecracker:check +test -c /dev/kvm || { echo "there is no /dev/kvm (the Lima instance needs nestedVirtualization: true, an M3 or newer and macOS 15+)" >&2; exit 1; } +for f in bin/firecracker vmlinux rootfs.ext4 id_ed25519; do test -f "$1/$f" || { echo "$1/$f does not exist" >&2; exit 1; }; done +command -v mkfs.ext4 >/dev/null && command -v ip >/dev/null && command -v flock >/dev/null || { echo "the host needs mkfs.ext4, ip and flock" >&2; exit 1; }`; + +const DISK = `# layerfs-firecracker:disk +f="$1/disks/$2.ext4" +test -f "$f" && exit 0 +mkdir -p "$1/disks" && truncate -s "$3" "$f.part" && mkfs.ext4 -q -F "$f.part" && mv "$f.part" "$f" && echo made`; + +const CREATE = `# layerfs-firecracker:create +set -eu +root=$1 name=$2 store=$3 cpus=$4 mem=$5 +d="$root/vms/$name" +mkdir -p "$root/vms" +exec 9>"$root/vms/.lock" +flock 9 +test ! -e "$d" || { echo "$d already exists" >&2; exit 17; } +test -f "$store" || { echo "the Store disk $store does not exist" >&2; exit 1; } +n=1 +while grep -qx "INDEX=$n" "$root"/vms/*/vm.env 2>/dev/null; do n=$((n+1)); done +[ "$n" -le 250 ] || { echo "every network number is taken" >&2; exit 1; } +mkdir "$d" +cat > "$d/meta.json" +printf 'INDEX=%s\\nTAP=lfsfc%s\\nHOST_IP=172.30.%s.1\\nGUEST_IP=172.30.%s.2\\n' "$n" "$n" "$n" "$n" > "$d/vm.env" +cp --sparse=always "$root/rootfs.ext4" "$d/rootfs.ext4" +mac=$(printf '06:00:AC:1E:%02X:02' "$n") +# 2 MiB huge pages when the host has them free for the whole guest: nested first-touch faults are slow +huge='"None"' +[ "$(( $(awk '/^HugePages_Free/ {print $2}' /proc/meminfo) * 2 ))" -ge "$mem" ] && huge='"2M"' +cat > "$d/config.json" </dev/null; then exit 0; fi +ip link show "$TAP" >/dev/null 2>&1 || ip tuntap add dev "$TAP" mode tap +ip addr replace "$HOST_IP/30" dev "$TAP" +ip link set "$TAP" up +setsid nohup "$root/bin/firecracker" --no-api --config-file "$d/config.json" > "$d/firecracker.log" 2>&1 < /dev/null & +echo $! > "$d/firecracker.pid" +i=0 +until ssh -i "$root/id_ed25519" ${SSH_GUEST} "root@$GUEST_IP" true 2>/dev/null; do + kill -0 "$(cat "$d/firecracker.pid")" 2>/dev/null || { echo "firecracker ended: $(tail -n 5 "$d/firecracker.log")" >&2; exit 1; } + i=$((i+1)); [ "$i" -lt 120 ] || { echo "the microVM did not answer ssh within 60 s" >&2; exit 1; } + sleep 0.5 +done +ssh -i "$root/id_ed25519" ${SSH_GUEST} "root@$GUEST_IP" 'mkdir -p /layerfs/store && { mountpoint -q /layerfs/store || mount -t ext4 /dev/vdb /layerfs/store; } && test "$(findmnt -n -o FSTYPE /layerfs/store)" = ext4'`; + +const INSPECT = `# layerfs-firecracker:inspect +d="$1/vms/$2" +test -f "$d/meta.json" || exit 3 +. "$d/vm.env" +pid=$(cat "$d/firecracker.pid" 2>/dev/null || true) +if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then echo running; else echo stopped; fi +echo "$GUEST_IP" +cat "$d/meta.json"`; + +const STOP = `# layerfs-firecracker:stop +root=$1 d="$1/vms/$2" +test -f "$d/vm.env" || exit 0 +. "$d/vm.env" +pid=$(cat "$d/firecracker.pid" 2>/dev/null || true) +if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + timeout 10 ssh -i "$root/id_ed25519" ${SSH_GUEST} "root@$GUEST_IP" 'sync; reboot -f' >/dev/null 2>&1 || true + i=0; while kill -0 "$pid" 2>/dev/null && [ "$i" -lt 50 ]; do sleep 0.1; i=$((i+1)); done + kill -0 "$pid" 2>/dev/null && kill -9 "$pid" +fi +rm -f "$d/firecracker.pid" +ip link del "$TAP" 2>/dev/null || true +if [ "\${3:-}" = delete ]; then rm -rf "$d"; fi`; + +/** One command in the microVM, as root, through the host: `$@` stays quoted for the guest's shell. */ +const GUEST = `# layerfs-firecracker:guest +d="$1/vms/$2"; key="$1/id_ed25519"; shift 2 +. "$d/vm.env" +exec ssh -i "$key" ${SSH_GUEST} "root@$GUEST_IP" -- "$@"`; + +const guestArgv = (name, argv) => ["sh", "-c", GUEST, "sh", hostDir(), name, ...argv.map(shellEscape)]; + +export const exec = (name, argv, { input = undefined, timeout = CALL_MS } = {}) => onHost(guestArgv(name, argv), { input, timeout }); + +// --- this machine's forward (step ④), its record and its log --- + +function recordFile(name) { + mkdirSync(stateDir(), { recursive: true, mode: 0o700 }); + return join(stateDir(), `${name}.json`); +} +const forwardLog = (name) => join(stateDir(), `${name}-forward.log`); +function forwardOf(name) { + try { return JSON.parse(readFileSync(recordFile(name), "utf8")); } catch { return null; } +} + +/** + * `ssh -N -L 127.0.0.1:::7070` to the host, its stderr in a log + * file so this process can exit while the VM runs. Its own connection, not + * Lima's shared one: Lima's ssh.config keeps a persistent control master, to + * which a multiplexed `-N -L` hands the forward and exits at once, leaving a + * forward this adapter can neither see nor end. A forward that ends within the + * readiness window is reported with its own reason. + */ +async function openForward(name, hostPort, guestIp) { + const log = forwardLog(name); + mkdirSync(stateDir(), { recursive: true, mode: 0o700 }); + const fd = openSync(log, "w", 0o600); + const child = spawn("ssh", [ + "-F", join(instanceDir(host()), "ssh.config"), "-N", "-o", "ExitOnForwardFailure=yes", "-o", "ControlMaster=no", "-o", "ControlPath=none", + "-L", `127.0.0.1:${hostPort}:${guestIp}:${WORKER_PORT}`, `lima-${host()}`, + ], { stdio: ["ignore", "ignore", fd], detached: true }); + closeSync(fd); + const ended = new Promise((resolve) => child.once("exit", (code, signal) => resolve({ code, signal }))); + const first = await Promise.race([ended.then((value) => ({ ended: true, ...value })), delay(FORWARD_READY_MS).then(() => ({ ended: false }))]); + child.removeAllListeners("exit"); + child.unref(); + if (first.ended) { + const said = existsSync(log) ? readFileSync(log, "utf8").trim().split("\n").slice(-3).join("; ") : ""; + throw new Error(`ssh -L 127.0.0.1:${hostPort} to ${host()} exited (${first.code ?? first.signal}): ${said || "no reason given"}`); + } + writeFileSync(recordFile(name), JSON.stringify({ name, pid: child.pid, hostPort, guestIp }), { mode: 0o600 }); +} + +/** Ends the forward, bounded: SIGTERM, then SIGKILL. */ +async function closeForward(name) { + const pid = forwardOf(name)?.pid; + if (isAlive(pid)) { + try { process.kill(pid, "SIGTERM"); } catch { /* already gone */ } + for (let waited = 0; waited < END_MS && isAlive(pid); waited += 50) await delay(50); + if (isAlive(pid)) try { process.kill(pid, "SIGKILL"); } catch { /* already gone */ } + } + rmSync(recordFile(name), { force: true }); +} + +// --- the provider --- + +/** The VM's record, or null when the host holds no VM of that name. */ +export async function inspect(name) { + const result = await onHost(["sh", "-c", INSPECT, "sh", hostDir(), name]); + if (result.code === 3) return null; + if (result.code !== 0) await hostRuns(); + if (result.code !== 0) throw new Error(`could not read the VM ${name} in the Firecracker host ${host()}: ${result.stderr.trim()}`); + const [vmm, ip, ...rest] = result.stdout.split("\n"); + const meta = JSON.parse(rest.join("\n")); + const running = vmm === "running" && isAlive(forwardOf(name)?.pid); + return { + state: running ? "running" : "stopped", + vmm, + ip, + image: `${hostDir()}/rootfs.ext4`, + digest: null, + labels: meta.labels ?? {}, + ports: [{ guest: WORKER_PORT, host: meta.hostPort, bind: "127.0.0.1" }], + home: meta.home ?? null, + store: meta.store ?? null, + created: meta.created ?? null, + }; +} + +/** The host exists and runs; otherwise the error says which and how. */ +async function hostRuns() { + const found = await lima.inspect(host()); + if (!found) throw new Error(`there is no Lima instance ${host()} to run Firecracker in; make one with vmType: vz and nestedVirtualization: true, or name yours in LAYERFS_FIRECRACKER_LIMA`); + if (found.state !== "running") throw new Error(`the Firecracker host ${host()} is ${found.state}; start it with limactl start ${host()}`); +} + +/** The host runs and holds what a VM needs; each missing thing is named. */ +async function checkHost() { + await hostRuns(); + await script("the host check", CHECK, [hostDir()]); +} + +/** Store disks this process made: a create that fails removes the one it made. */ +const newlyCreatedStores = new Set(); + +export async function ensureStore(name, size) { + await checkHost(); + if ((await script("making the Store disk", DISK, [hostDir(), name, size], { timeout: BOOT_MS })).trim() === "made") newlyCreatedStores.add(name); +} + +export async function create(config) { + const made = newlyCreatedStores.delete(config.storeName); + const meta = { name: config.name, home: config.home, store: config.storeName, hostPort: config.hostPort, created: new Date().toISOString(), labels: { "layerfs.role": "vm", "layerfs.home": config.home } }; + try { + await script("creating the VM", CREATE, [hostDir(), config.name, diskFile(config.storeName), config.cpus, mib(config.memory)], { input: `${JSON.stringify(meta)}\n` }); + } catch (error) { + if (made) await removeStore(config.storeName).catch(() => {}); + throw error; + } + // a boot that fails keeps the VM's folder for inspection; the caller reports it + await script("booting the VM", BOOT, [hostDir(), config.name], { timeout: BOOT_MS }); + const booted = await inspect(config.name); + await openForward(config.name, config.hostPort, booted.ip); + return inspect(config.name); +} + +/** Boots a stopped VM, or only re-opens the forward of one that still runs. */ +export async function start(name) { + const found = await inspect(name); + if (!found) throw new Error(`the Firecracker host holds no VM ${name}`); + if (found.state === "running") return found; + if (found.vmm !== "running") await script("booting the VM", BOOT, [hostDir(), name], { timeout: BOOT_MS }); + await closeForward(name); + await openForward(name, found.ports[0].host, found.ip); + return inspect(name); +} + +export async function stop(name) { + await closeForward(name); + await script("stopping the VM", STOP, [hostDir(), name]); +} + +export const restart = async (name) => { await stop(name); return start(name); }; + +/** The VM's folder and its forward; the Store disk is a separate file and stays. */ +export async function remove(name) { + await closeForward(name); + rmSync(forwardLog(name), { force: true }); + await script("deleting the VM", STOP, [hostDir(), name, "delete"]); +} + +export const removeStore = (storeName) => script("deleting the Store disk", "rm -f \"$1\"", [diskFile(storeName)]); + +/** V4: the microVM-wide user-namespace block; the caller reads it back. */ +export const blockUserNamespaces = (name) => exec(name, ["sh", "-c", "echo 0 > /proc/sys/user/max_user_namespaces"]); + +export async function storeFree(name) { + const { code, stdout } = await exec(name, ["df", "-kP", "/layerfs/store"]); + if (code !== 0) return null; + const kb = Number(stdout.trim().split("\n").pop().trim().split(/\s+/)[3]); + return Number.isFinite(kb) ? kb * 1024 : null; +} + +/** Step ②: one tar stream through both SSH hops, unpacked as root in the microVM. */ +export const copy = (name, source, destination) => + stream("ssh", [...sshTo(host()), "--", ...["sudo", "-n", "--", ...guestArgv(name, [...UNPACK, destination])].map(shellEscape)], source, `${name}:${destination}`); + +export const read = (name, path) => readFile("ssh", name, path, exec); +export const write = (name, path, text) => writeFile("ssh", name, path, text, exec); + +export default { + name: "firecracker", + defaultImage: null, + inspect, ensureStore, create, start, stop, restart, remove, removeStore, blockUserNamespaces, storeFree, read, write, copy, exec, +}; diff --git a/api/runtime/src/platform/vm/index.js b/api/runtime/src/platform/vm/index.js index 6cf05cf905..24fd4ccd8b 100644 --- a/api/runtime/src/platform/vm/index.js +++ b/api/runtime/src/platform/vm/index.js @@ -1,7 +1,7 @@ // `vm:` placement (#515 §6, V9): **each of this home's projects — // strictly, each Store — lives in one Linux VM of its own** (V1). That VM holds // that project's Store on its own ext4 disk, shares that disk with the project's -// Sandboxes' daemons (Linux namespaces inside it, `LAYERFS_SANDBOX_BACKEND= +// Sandboxes' daemons (Linux namespaces inside it, `LAYERFS_SANDBOX= // namespaces`, H36), and runs its own worker with its own secret and its own // private loopback channel (`worker/server.js`, one attempt per call, no replay). // The host reaches only each VM's worker. @@ -28,15 +28,18 @@ import { createHash, randomBytes } from "node:crypto"; import { createServer } from "node:net"; import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync } from "node:fs"; import { join } from "node:path"; -import { connection } from "@layerfs/agent/internal"; -import { endpointFile, homeNames, ping, ready, refuse, writeEndpoint } from "../shared.js"; +import { endpointFile, homeNames, localHome, noHomeStores, ping, ready, refuse, writeEndpoint } from "../shared.js"; +import { readEndpoint, releaseStore } from "../../worker/call.js"; import { callHome, GUEST } from "../../settings.js"; import { NAME, record as projectRecord } from "../../project/list.js"; +import { holding, recorded } from "../../sandbox/records.js"; import microsandbox from "./microsandbox.js"; import appleContainer from "./apple-container.js"; import ssh from "./ssh.js"; +import lima from "./lima.js"; +import firecracker from "./firecracker.js"; -const PROVIDERS = { microsandbox, "apple-container": appleContainer, ssh }; +const PROVIDERS = { microsandbox, "apple-container": appleContainer, ssh, lima, firecracker }; const WORKER_PORT = 7070; const SERVER = "api/runtime/src/worker/server.js"; /** Bundle hashing in the worker comes first, so readiness takes a while. */ @@ -218,7 +221,7 @@ async function launch(settings, provider, vm, project, bundle) { /** The endpoint the project's worker was last written at, or null. */ function endpoint(settings, project) { - try { return JSON.parse(readFileSync(endpointFile(settings.home, project), "utf8")); } catch { return null; } + return readEndpoint(endpointFile(settings.home, project)); } /** Nothing to start when the project's worker already answers with this build. */ @@ -326,52 +329,70 @@ function exists(settings, project) { } catch { return false; } } -/** The four hooks Init and project removal use instead of host Docker (§4.2 B2, B9). */ +/** + * The project whose VM holds `store`: a VM holds only the Store its own + * project's Init made (`legacy`, named after the project). Any other Store of + * the home is refused before any effect (#527 F3), until a VM home can hold + * Stores of its own. + */ +function holderOf(settings, store, what) { + if (!store?.legacy) throw noHomeStores(settings.placement.name, what); + return checked(store.name); +} + +/** The four Store hooks Init and Store removal use instead of host Docker (§4.2 B2, B9), keyed by Store. */ const stores = { /** * Init examines the Store's directory before it installs into it (the kernel * guard checks its filesystem), so the project's Store disk is mounted and * its directory made here, as a Docker volume is on a local placement. */ - async makeStore(runtime, project) { - const provider = providerOf(runtime.settings), name = vmNameOf(runtime.settings, project.name); + async createStore(runtime, store) { + const project = holderOf(runtime.settings, store, "a Store that is not one project's own"); + const provider = providerOf(runtime.settings), name = vmNameOf(runtime.settings, project); const { code, stderr } = await provider.exec(name, ["sh", "-c", "umask 022 && mkdir -p \"$1\" && chmod 755 \"$1\"", "sh", GUEST.store]); if (code !== 0) throw refuse("Failed", `could not make ${GUEST.store} in ${name}: ${stderr.trim()}`, null); + return store.volume; }, - /** The Sandboxes holding the project's Store now: its running Sandboxes, by number. A stopped VM runs none. */ - async storeHolders(runtime, project) { - const { settings } = runtime, provider = providerOf(settings); - const found = await provider.inspect(vmNameOf(settings, project.name)); + /** The Sandboxes holding the project's Store now, by number: its records' running ones (and any + * whose state is unknown), of every backend, through the binding's runtime.sandbox.records, the + * same read a Linux `local` home uses (#527 step 12). A stopped VM runs none. */ + async storeHolders(runtime, store) { + const { settings } = runtime, project = holderOf(settings, store, "a Store's holders"), provider = providerOf(settings); + const found = await provider.inspect(vmNameOf(settings, project)); if (!found || found.state !== "running") return []; - const held = await runtime.clients.use(project, (client) => client.project.list_sandboxes(1000, 0)); - return held.items.map(({ sandbox }) => ({ id: sandbox, state: "running" })); + return (await recorded(runtime, { name: project })).filter(holding).map(({ sandbox, state }) => ({ id: sandbox, state })); }, /** Stops them the way the SDK does: `sandbox.close`, one per Sandbox. */ - async releaseStoreHolders(runtime, project, holders) { - const { settings } = runtime, provider = providerOf(settings); - const found = await provider.inspect(vmNameOf(settings, project.name)); + async releaseStoreHolders(runtime, store, holders) { + const { settings } = runtime, project = holderOf(settings, store, "a Store's holders"), provider = providerOf(settings); + const found = await provider.inspect(vmNameOf(settings, project)); if (!found || found.state !== "running") return; - await runtime.clients.use(project, async (client) => { + await runtime.clients.use({ name: project, volume: store.volume }, async (client) => { for (const holder of holders) await client.sandbox.close(holder.id); }); }, /** Removes the project's VM and its Store disk: no Store copy is left anywhere. */ - async removeStore(runtime, project) { - const { settings } = runtime, provider = providerOf(settings), name = vmNameOf(settings, project.name); + async removeStore(runtime, store) { + const { settings } = runtime, project = holderOf(settings, store, "a Store removal that is not one project's own"), provider = providerOf(settings), name = vmNameOf(settings, project); const found = await provider.inspect(name); if (found) await provider.remove(name); - await provider.removeStore(storeNameOf(settings, project.name)); - rmSync(endpointFile(settings.home, project.name), { force: true }); + await provider.removeStore(storeNameOf(settings, project)); + rmSync(endpointFile(settings.home, project), { force: true }); }, }; -/** The guest home, and the deployment inside the project's VM: native Sandboxes, the namespace backend. */ +/** The guest home, and the deployment inside the project's VM: namespaces Sandboxes + * (LAYERFS_SANDBOX=namespaces), named here rather than read from this process's environment (#527 F4). */ export function deploymentEnv(settings, project) { + // a VM's projects open the SQLite Store on that VM's disk only (#527 F3) + if (project.kind === "postgresql") throw refuse("Unsupported", `${project.name} is in the PostgreSQL Store ${project.store}, and this home is placed in ${settings.placement.name}: its projects open only the SQLite Store on their own VM's disk`, null); const image = settings.bundle ? bundleImage(settings.bundle) : null; return { HOME: callHome(settings), - SANDBOX: "native", - SANDBOX_BACKEND: process.env.LAYERFS_SANDBOX_BACKEND || "namespaces", + SANDBOX: "namespaces", + // "" unsets an ambient former LAYERFS_SANDBOX_BACKEND, which would conflict + SANDBOX_BACKEND: "", DAEMON: GUEST.daemon, LOCAL_DIR: GUEST.local, // the Sandbox image this VM's bundle carries, when it carries one (V7): @@ -386,27 +407,31 @@ export function deploymentEnv(settings, project) { } /** - * The platform object of a `vm:` home. `hostDocker`/`hostSandboxes` - * tell the runtime that host Docker is not this home's: its Stores are - * directories on each VM's own disk and its Sandboxes are Linux namespaces - * there, so `volume.list`, `volume.remove`, `sandbox.list`, + * The platform object of a `vm:` home. It has no Docker group + * (`docker`, platform/docker/index.js): host Docker is not this home's, since + * its Stores are directories on each VM's own disk and its Sandboxes are + * Linux namespaces there, so `volume.list`, `volume.remove`, `sandbox.list`, * `sandbox.list_leftovers` and `sandbox.clean_leftovers` refuse with that * reason instead of answering from the host, and `sandbox.sweep` answers - * `{ host: false }`. `endpoints` answers, per project, the endpoint file - * `@layerfs/agent` sends that project's calls to. + * `{ host: false }`. `homeStores: false` says the home keeps no Store of its + * own (#527 F3): the runtime's Store, remote and PostgreSQL calls refuse + * before any effect, as `init` without a project and `storePath` do here. + * `endpoints` answers, per project, the endpoint file `@layerfs/agent` sends + * that project's calls to. */ export function vmPlatform(settingName) { if (!PROVIDERS[settingName]) throw refuse("Unsupported", `no VM provider is implemented for vm:${settingName}`, null); + const placement = `vm:${settingName}`; return { - name: `vm:${settingName}`, - hostDocker: false, - hostSandboxes: false, + name: placement, + homeStores: false, endpoints: (settings) => (project) => endpointFile(settings.home, project), status, start, restart, /** Init runs in that project's worker; the source folder is copied into its VM first. */ async init(settings, project) { + if (typeof project?.name !== "string") throw noHomeStores(placement, "a Store-level setup that names no project"); await start(settings, project.name); const provider = providerOf(settings), name = vmNameOf(settings, project.name); const target = importPath(project.source); @@ -417,20 +442,17 @@ export function vmPlatform(settingName) { /** Where the SDK inside the VM reads a host folder: its copy under `/layerfs/import`. */ path: (settings, hostPath) => (hostPath === settings.home || hostPath.startsWith(`${settings.home}/`) ? hostPath.replace(settings.home, GUEST.home) : importPath(hostPath)), deploymentEnv, - docker: () => { - throw refuse("Unsupported", `this home is placed in vm:${settingName}: its Stores and Sandboxes are inside each project's VM, so host Docker does not describe it`, null); - }, - storePath: () => storeFile(), - homeNames: (settings) => homeNames(settings.home), - async removeHome(settings, name) { - rmSync(join(settings.home, name), { recursive: true, force: true }); + // every project's Store is at the same guest path in its own VM: a path by + // volume alone would map every Store of the home to that one file + storePath: () => { + throw noHomeStores(placement, "a Store path by volume"); }, + ...localHome, /** Before a Store is deleted, the project's worker closes the Store it holds open. */ - async releaseStore(settings, project) { - const info = endpoint(settings, project.name); + async releaseStore(settings, store) { + const info = endpoint(settings, holderOf(settings, store, "a Store release that is not one project's own")); if (!info) return; - const answer = await connection(info).call({ fn: "releaseStore", args: { home: GUEST.home, storePath: storeFile() } }); - if (answer.refused) throw refuse(answer.refused.code, answer.refused.message, answer.refused.detail); + await releaseStore(info, GUEST.home, storeFile()); }, /** Free bytes of every project VM's Store disk, as that VM sees them. */ async free(settings) { diff --git a/api/runtime/src/platform/vm/lima.js b/api/runtime/src/platform/vm/lima.js new file mode 100644 index 0000000000..5df460a479 --- /dev/null +++ b/api/runtime/src/platform/vm/lima.js @@ -0,0 +1,271 @@ +// Lima (`limactl`, `vmType: vz`, #527 platform pass, the fourth VM of #516): +// one Lima instance per project, an Ubuntu cloud image booted by Apple's +// Virtualization.framework. The five adapter steps (§6) on this provider: +// ① the VM is one instance made from a template this file writes (stdin to +// `limactl create`), and the Store disk is a Lima disk (`limactl disk +// create --format raw`, the format vz needs) that Lima formats ext4 on +// first attach and mounts at `/mnt/lima-`; this adapter bind-mounts +// it at the Store directory after every boot and checks it is ext4. +// Lima finds an already formatted disk by its ext4 label `lima-`, +// and an ext4 label holds 16 bytes: a longer disk name is cut, never +// found, and **formatted again at every boot** (found on Lima 2.2.1, +// #527). So the Lima disk is named `lfs` + 8 hex of the Store volume's +// name (16 bytes with `lima-`), and the Store volume's own name is kept +// in the instance as its `LAYERFS_STORE` param; +// ② the bundle is copied onto the VM's own disk through the home bind mount +// (virtiofs): cloned into a private `/.vm-copy-*` staging folder, +// copied by the guest with `cp -Rp`, the staging folder removed whatever +// the outcome (the route Apple Container takes, #527: a 2.7 GB bundle in +// seconds rather than a stream through SSH); +// ③ the worker runs as root (`sudo -n`, the Lima user's passwordless sudo) +// with its secret in a 0600 file written from stdin, never in argv; +// ④ the private stream is the instance's `portForwards` rule +// `127.0.0.1: -> guest 7070`; every other guest port is ignored, so +// Lima forwards nothing else; +// ⑤ `limactl stop` keeps the instance and its disk; `limactl delete --force` +// removes the instance and leaves the disk, which only `limactl disk +// delete` (the runtime's `discardStore`) removes. +// The guest has no Node.js of its own: a system provision script installs the +// pinned Node.js 22 tarball from nodejs.org, checked against that release's +// SHASUMS256.txt, once, on first boot. `settings.vm.image` names the Lima +// image when it is an https URL or an absolute file path; the shared default +// (an OCI reference for the microVM providers) does not describe a Lima disk, +// so the Ubuntu 24.04 cloud image is used instead. +// Commands go through ssh rather than `limactl shell` so the argv quoting is +// this file's (ssh.js's `shellEscape`), not the CLI's. One call per step, one +// attempt, no retry. +import { spawn } from "node:child_process"; +import { createHash } from "node:crypto"; +import { constants, cpSync, mkdtempSync, rmSync } from "node:fs"; +import { basename, isAbsolute, relative, resolve, sep } from "node:path"; +import { homedir } from "node:os"; +import { join } from "node:path"; +import { answer, capture, readFile, writeFile } from "./cli.js"; +import { shellEscape } from "./ssh.js"; + +const CLI = "limactl"; +/** First boot converts the image and installs Node.js: Lima's own wait is longer than a call's. */ +const BOOT_MS = 300_000, CALL_MS = 30_000, EXEC_MS = 60_000, COPY_MS = 120_000; +const NODE = "v22.23.4"; +const UBUNTU = "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg"; + +const call = (args, options = {}) => answer(CLI, args, { timeout: CALL_MS, ...options }); + +/** The Lima disk of a Store volume: a name whose `lima-` ext4 label fits 16 bytes (see the header). */ +export const diskName = (storeName) => `lfs${createHash("sha256").update(storeName).digest("hex").slice(0, 8)}`; + +/** The instance's folder: Lima keeps it, and its ssh.config, under LIMA_HOME (default ~/.lima). */ +export const instanceDir = (name) => join(process.env.LIMA_HOME || join(homedir(), ".lima"), name); + +/** The ssh arguments that reach an instance as its Lima user, from Lima's own ssh.config. */ +export const sshTo = (name) => ["-F", join(instanceDir(name), "ssh.config"), `lima-${name}`]; + +/** One command in the instance as root; stdin is passed through when given. */ +export const exec = (name, argv, { input = undefined, timeout = EXEC_MS } = {}) => + capture("ssh", [...sshTo(name), "--", ...["sudo", "-n", "--", ...argv].map(shellEscape)], { input, timeout }); + +/** Lima's sizes are binary units: `2G` is `2GiB`. */ +const limaSize = (size) => size.replace(/([MG])$/, "$1iB"); + +/** The instance as `limactl list --json` gives it, or null when Lima has none of that name. */ +export async function inspect(name) { + let text; + try { + text = await call(["list", "--json", name]); + } catch (error) { + if (/No instance matching/i.test(`${error.stderr ?? ""}${error.message ?? ""}`)) return null; + throw error; + } + if (!text) return null; + const record = JSON.parse(text.split("\n")[0]); + if (record.name !== name || typeof record.status !== "string") throw new Error(`limactl list answered a record this adapter does not know for ${name}`); + const config = record.config ?? {}; + const forwards = (config.portForwards ?? []).filter((rule) => !rule.ignore && rule.guestPort); + return { + state: record.status.toLowerCase(), + vmType: record.vmType ?? config.vmType ?? null, + image: config.images?.[0]?.location ?? null, + digest: null, + labels: config.param?.LAYERFS_HOME ? { "layerfs.home": config.param.LAYERFS_HOME } : {}, + ports: forwards.map((rule) => ({ guest: Number(rule.guestPort), host: Number(rule.hostPort), bind: rule.hostIP ?? null })), + home: (config.mounts ?? []).find((mount) => mount.mountPoint === "/layerfs/home")?.location ?? null, + store: config.param?.LAYERFS_STORE ?? null, + disk: config.additionalDisks?.[0]?.name ?? null, + created: null, + }; +} + +/** The Lima disks by name, from `limactl disk list --json` (one object per line). */ +async function disks() { + const text = await call(["disk", "list", "--json"]); + return text.split("\n").filter(Boolean).map((line) => JSON.parse(line)); +} + +/** Store disks this process made: a create that fails removes the one it made, and only that one. */ +const newlyCreatedStores = new Set(); + +/** Step ①'s Store disk: a raw Lima disk of `size`, made once; an existing one keeps its size. */ +export async function ensureStore(name, size) { + if ((await disks()).some((disk) => disk.name === diskName(name))) return; + await call(["disk", "create", diskName(name), "--size", limaSize(size), "--format", "raw"], { timeout: CALL_MS }); + newlyCreatedStores.add(name); +} + +/** Installs the pinned Node.js once; the worker needs it on root's PATH. */ +const NODE_SCRIPT = `#!/bin/sh +set -eu +command -v node >/dev/null 2>&1 && exit 0 +case "$(uname -m)" in aarch64) a=arm64 ;; x86_64) a=x64 ;; *) echo "no Node.js build for $(uname -m)" >&2; exit 1 ;; esac +f=node-${NODE}-linux-$a.tar.xz +t=$(mktemp -d) +curl -fsSL -o "$t/$f" https://nodejs.org/dist/${NODE}/$f +curl -fsSL -o "$t/SHASUMS256.txt" https://nodejs.org/dist/${NODE}/SHASUMS256.txt +(cd "$t" && grep " $f\\$" SHASUMS256.txt | sha256sum -c -) +tar -xJf "$t/$f" -C /usr/local --strip-components=1 +rm -rf "$t" +`; + +/** The instance's template: vz, the home mount, the Store disk, one forwarded port. */ +export function template(config) { + const image = /^(https:\/\/|\/)/.test(config.image ?? "") ? [{ location: config.image }] : [ + { location: `${UBUNTU}-arm64.img`, arch: "aarch64" }, + { location: `${UBUNTU}-amd64.img`, arch: "x86_64" }, + ]; + // JSON is YAML: every value is quoted exactly, and Lima reads it as its template + return `${JSON.stringify({ + vmType: "vz", + cpus: config.cpus, + memory: limaSize(config.memory), + images: image, + containerd: { system: false, user: false }, + mountType: "virtiofs", + mounts: [{ location: config.home, mountPoint: "/layerfs/home", writable: true }], + additionalDisks: [{ name: diskName(config.storeName), format: true, fsType: "ext4" }], + // what the runtime checks a found instance against, kept in the instance itself + param: { LAYERFS_STORE: config.storeName, LAYERFS_HOME: config.home }, + portForwards: [ + { guestPort: config.workerPort, hostIP: "127.0.0.1", hostPort: config.hostPort }, + { guestIP: "0.0.0.0", guestPortRange: [1, 65535], ignore: true }, + ], + provision: [ + { mode: "system", script: NODE_SCRIPT }, + { mode: "system", script: "#!/bin/sh\nprintf 'store=%s\\nhome=%s\\n' \"$PARAM_LAYERFS_STORE\" \"$PARAM_LAYERFS_HOME\" > /etc/layerfs-vm\n" }, + ], + }, null, 2)}\n`; +} + +/** + * The Store disk at the Store directory, by fact: Lima mounts it at + * `/mnt/lima-`; it must be ext4 there, and it is bind-mounted at + * `/layerfs/store` unless it already is (a reboot drops the bind mount). + */ +async function attach(name, store) { + const { code, stderr } = await exec(name, ["sh", "-c", + "test \"$(findmnt -n -o FSTYPE \"$1\")\" = ext4 || { echo \"$1 is not an ext4 mount\" >&2; exit 1; }; mkdir -p /layerfs/store && { mountpoint -q /layerfs/store || mount --bind \"$1\" /layerfs/store; }", + "sh", `/mnt/lima-${store}`]); + if (code !== 0) throw new Error(`could not attach the Store disk ${store} at /layerfs/store in ${name}: ${stderr.trim()}`); +} + +/** Step ①: `limactl create` from the template on stdin, then the first boot. */ +export async function create(config) { + const made = newlyCreatedStores.has(config.storeName); + newlyCreatedStores.delete(config.storeName); + const created = await capture(CLI, ["create", "--name", config.name, "--tty=false", "-"], { input: template(config), timeout: CALL_MS }); + if (created.code !== 0) { + // nothing was made under the name: the disk this create made is removed + if (made) await removeStore(config.storeName).catch(() => {}); + throw new Error(`limactl create ${config.name} failed (exit ${created.code}): ${created.stderr.trim().split("\n").slice(-3).join("; ")}`); + } + // a boot that fails keeps the instance for inspection; the caller reports its state + await call(["start", "--tty=false", config.name], { timeout: BOOT_MS }); + await attach(config.name, diskName(config.storeName)); + return inspect(config.name); +} + +export async function start(name) { + await call(["start", "--tty=false", name], { timeout: BOOT_MS }); + const found = await inspect(name); + if (found?.state === "running" && found.disk) await attach(name, found.disk); + return found; +} + +export const stop = (name) => call(["stop", name], { timeout: CALL_MS * 2 }); +export const restart = async (name) => { await stop(name); return start(name); }; +/** The instance only: Lima unlocks its disk and keeps it. */ +export const remove = (name) => call(["delete", "--force", name], { timeout: CALL_MS * 2 }); +export const removeStore = (storeName) => call(["disk", "delete", diskName(storeName)]); + +/** V4: the VM-wide user-namespace block; the caller reads it back. */ +export const blockUserNamespaces = (name) => exec(name, ["sh", "-c", "echo 0 > /proc/sys/user/max_user_namespaces"]); + +/** Free bytes of the Store disk, or null when `df` cannot answer. */ +export async function storeFree(name) { + const { code, stdout } = await exec(name, ["df", "-kP", "/layerfs/store"]); + if (code !== 0) return null; + const kb = Number(stdout.trim().split("\n").pop().trim().split(/\s+/)[3]); + return Number.isFinite(kb) ? kb * 1024 : null; +} + +/** + * Step ②: a host folder's contents as one `tar` stream into a guest folder, + * through `argv` (the command that reads the stream on the far side). Both ends + * are killed when the copy passes its budget; `COPYFILE_DISABLE` keeps the Mac's + * tar from adding AppleDouble `._` entries. + */ +export function stream(command, args, source, what) { + return new Promise((resolve, reject) => { + const pack = spawn("tar", ["-C", source, "-cf", "-", "."], { env: { ...process.env, COPYFILE_DISABLE: "1" }, stdio: ["ignore", "pipe", "pipe"] }); + const unpack = spawn(command, args, { stdio: ["pipe", "ignore", "pipe"] }); + let err = "", tarErr = ""; + const timer = setTimeout(() => { + pack.kill("SIGKILL"); + unpack.kill("SIGKILL"); + reject(new Error(`copy into ${what} did not end within ${COPY_MS / 1000} s`)); + }, COPY_MS); + unpack.stderr.on("data", (chunk) => { err += chunk.toString(); }); + pack.stderr.on("data", (chunk) => { tarErr += chunk.toString(); }); + pack.on("error", (error) => { clearTimeout(timer); reject(error); }); + unpack.on("error", (error) => { clearTimeout(timer); reject(error); }); + unpack.on("close", (code) => { + clearTimeout(timer); + if (code === 0) resolve(); + else reject(new Error(`copy into ${what} failed (exit ${code}): ${(err || tarErr).trim()}`)); + }); + pack.stdout.pipe(unpack.stdin); + }); +} + +/** The tar stream's far side: make the folder and unpack into it, as root (vm:firecracker's copy). */ +export const UNPACK = ["sh", "-c", "mkdir -p \"$1\" && tar -C \"$1\" -xf -", "sh"]; + +/** + * Step ②, and an Init source: a host folder into a guest folder, as a copy the + * VM owns, read through the home the instance mounts (see the header). A folder + * already inside the home is read in place. One attempt; nothing is retried. + */ +export async function copy(name, source, destination) { + const found = await inspect(name); + if (!found?.home) throw new Error(`the VM ${name} mounts no LayerFS home at /layerfs/home, so a folder cannot be staged for it`); + const guestCopy = async (from) => { + const done = await exec(name, ["sh", "-c", "mkdir -p \"$2\" && cp -Rp \"$1/.\" \"$2\"", "sh", from, destination], { timeout: COPY_MS }); + if (done.code !== 0) throw new Error(`could not copy ${source} into ${name}:${destination}: ${(done.stderr || done.stdout).trim()}`); + }; + const inside = relative(found.home, resolve(source)); + if (inside && !inside.startsWith("..") && !isAbsolute(inside)) return guestCopy(`/layerfs/home/${inside.split(sep).join("/")}`); + const stage = mkdtempSync(join(found.home, ".vm-copy-")); + try { + cpSync(source, join(stage, "c"), { recursive: true, mode: constants.COPYFILE_FICLONE, verbatimSymlinks: true, preserveTimestamps: true }); + await guestCopy(`/layerfs/home/${basename(stage)}/c`); + } finally { + rmSync(stage, { recursive: true, force: true }); + } +} + +export const read = (name, path) => readFile(CLI, name, path, exec); +export const write = (name, path, text) => writeFile(CLI, name, path, text, exec); + +export default { + name: "lima", + defaultImage: null, + inspect, ensureStore, create, start, stop, restart, remove, removeStore, blockUserNamespaces, storeFree, read, write, copy, exec, +}; diff --git a/api/runtime/src/platform/vm/ssh.js b/api/runtime/src/platform/vm/ssh.js index 1008956867..70144a5d47 100644 --- a/api/runtime/src/platform/vm/ssh.js +++ b/api/runtime/src/platform/vm/ssh.js @@ -356,14 +356,16 @@ export function exec(name, argv, options = {}) { /** * Step ②: the bundle (or any folder) as one `tar` stream, unpacked on the host. * Both ends are killed if the transfer passes its budget, so no copy outlives - * its call. + * its call. On macOS `COPYFILE_DISABLE` keeps the Mac's `tar` from adding an + * AppleDouble `._` file for each entry with extended attributes, which + * would otherwise land in the copy (and in an Init source, in the project). */ export function copy(name, source, destination) { const session = loadSession(name); if (!session) throw refuse("Failed", `there is no vm:ssh session called ${name}`); const script = `mkdir -p ${shellEscape(destination)} && tar -C ${shellEscape(destination)} -xf -`; return new Promise((resolve, reject) => { - const pack = spawn("tar", ["-C", source, "-cf", "-", "."], { stdio: ["ignore", "pipe", "pipe"] }); + const pack = spawn("tar", ["-C", source, "-cf", "-", "."], { env: { ...process.env, COPYFILE_DISABLE: "1" }, stdio: ["ignore", "pipe", "pipe"] }); const unpack = spawn("ssh", [...sshArgs(session), destinationOf(session), "--", script], { stdio: ["pipe", "pipe", "pipe"] }); let err = "", tarErr = ""; const timer = setTimeout(() => { diff --git a/api/runtime/src/project/delete.js b/api/runtime/src/project/delete.js index c2cf1e403c..7a1484d645 100644 --- a/api/runtime/src/project/delete.js +++ b/api/runtime/src/project/delete.js @@ -20,6 +20,7 @@ import { NAME, dropRecord, keyOf, list, record } from "./list.js"; import { drop, entries, named, put, storeFields, update } from "../store/registry.js"; import { removeVolume } from "../store/volume.js"; import { containers } from "../sandbox/leftovers.js"; +import { STOPPED } from "../platform/docker/sandboxes.js"; const refuse = (code, message) => new LayerFSError(code, message, null); @@ -42,15 +43,12 @@ export async function deleteProject(runtime, name, options = {}) { if (typeof volume !== "string" || !/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(volume)) throw refuse("InvalidInput", `the runtime has no record of ${name}'s volume; name it as { volume }`); if (!project) throw refuse("NoSuchProject", `no LayerFS project named ${name}`); await runtime.clients.forget(name); - await removeVolume(runtime, { name, volume }, options); + await removeVolume(runtime, { name, volume, legacy: true }, options); await forgetOwn(runtime, name); if (entries(settings).some((s) => s.name === name)) drop(settings, name); return { kind: "Deleted", project: name, volume }; } -/** Container states that run nothing. */ -const STOPPED = new Set(["created", "exited", "dead"]); - /** Drops one project's stack from a Store that holds others: its Sandboxes * first (Busy while one runs, unless `stopSandboxes`), then the stack. The * Store, its volume and its other projects stay; when the project was the @@ -62,7 +60,7 @@ async function dropStack(runtime, project, options) { const sandboxes = (await containers(runtime)).filter((c) => c.key === keyOf(project)); const running = sandboxes.filter((c) => !STOPPED.has(c.state)).length; if (running && !options.stopSandboxes) throw refuse("Busy", `${running} running Sandbox(es) of ${project.name} use Store ${store.name}; a Sandbox closes 2 minutes after its last Workspace is unmounted, or pass stopSandboxes`); - if (sandboxes.length) await platform.docker(settings, ["rm", ...(running ? ["-f"] : []), ...sandboxes.map((c) => c.name)], { timeout: 30_000 }); + if (sandboxes.length) await platform.docker.sandboxes.remove(runtime, sandboxes.map((c) => c.name), { force: running > 0, timeout: 30_000 }); await runtime.clients.forget(keyOf(project)); // a PostgreSQL Store's URL is passed per call if (store.kind === "postgresql" && (typeof options.url !== "string" || !options.url)) throw refuse("InvalidInput", `Store ${store.name} is a PostgreSQL schema: pass its { url } for this call`); diff --git a/api/runtime/src/project/init.js b/api/runtime/src/project/init.js index 7efb9627fc..34ec82551a 100644 --- a/api/runtime/src/project/init.js +++ b/api/runtime/src/project/init.js @@ -10,7 +10,8 @@ // unchanged: it bounds the Init itself, and when omitted LayerFS.init's // default (INIT_TIMEOUT_MS, 300 s) applies. One attempt. A failed Init removes what it made (the volume, and // the home entry unless another project holds the name); an uncertain one -// (`Unknown`, or any failure on Windows) keeps everything and is recorded in +// (`Unknown`, or any failure where the platform declares `uncertainInit`: +// Windows) keeps everything and is recorded in // `/init-failures.jsonl`, never cleaned up on a guess. import { appendFileSync, existsSync, statSync } from "node:fs"; import { lstat, opendir } from "node:fs/promises"; @@ -19,6 +20,7 @@ import { setTimeout as pause } from "node:timers/promises"; import { INIT_TIMEOUT_MS, LayerFS, LayerFSError } from "@layerfs/agent"; import { invokeBackend } from "@layerfs/agent/internal"; import { deploymentEnv, withEnv } from "../clients.js"; +import { homeStores } from "../platform/shared.js"; import { callHome, missing } from "../settings.js"; import { NAME, record, saveRecord } from "./list.js"; import { entries, named, put, storeFields, update } from "../store/registry.js"; @@ -63,6 +65,7 @@ export async function prepare(runtime, name, folder, options = {}, pending = new /** An Init into the existing SQLite Store `options.store` (#506): the * project gets no volume of its own; a Store policy is the Store's. */ async function prepareInto(runtime, name, folder, options, pending) { + homeStores(runtime, "runtime.project.start_init into a Store"); if (options.image !== undefined) throw refuse("InvalidInput", "a project added to a Store has no image of its own; its Sandboxes take the runtime's"); const store = await named(runtime, options.store); if (store.kind !== "sqlite") throw refuse("Unsupported", `a project is added only to a SQLite Store; ${store.name} is a PostgreSQL schema (import a SQLite Store into it instead)`); @@ -98,23 +101,24 @@ export async function runInit(runtime, prepared, report = () => {}) { const totals = await scanSource(project.source, (counts) => report({ scanned: counts })); report({ step: "volume", totals }); await platform.init(settings, project); - // its owner, for runtime.volume.list on a local placement (Docker sets a - // volume's labels only when it creates it); a VM's Store is a directory - await platform.makeStore(runtime, project); + // the project's own Store (a labelled volume on a local placement, a + // directory on the project's VM's disk); an existing volume is refused + const own = { name: project.name, volume: project.volume, legacy: true }; + await platform.createStore(runtime, own); report({ step: "import" }); let client; try { // LayerFS.init reads the environment before its first await const making = withEnv(deploymentEnv(settings, platform, project), () => LayerFS.init(project.name, platform.path(settings, project.source), timeout)); - // macOS: Init runs in its own container, whose counts this process cannot read - client = await (platform.name === "macos" ? making : watching(runtime, project.name, making, report)); + // a platform whose Init counts this process cannot read (macOS: Init runs in its own container) says so + client = await (platform.initCounts === false ? making : watching(runtime, project.name, making, report)); } catch (error) { - if (error?.code === "Unknown" || platform.name === "windows") { + if (error?.code === "Unknown" || platform.uncertainInit) { appendFileSync(join(settings.stateDir, "init-failures.jsonl"), JSON.stringify({ project, platform: platform.name, home: callHome(settings), code: error?.code ?? null, message: error?.message ?? String(error), at: new Date().toISOString() }) + "\n"); throw error; } if (error?.code !== "Exists") await platform.removeHome(settings, project.name).catch(() => {}); - await platform.removeStore(runtime, project).catch(() => {}); + await platform.removeStore(runtime, own).catch(() => {}); throw error; } await client.close(); @@ -138,9 +142,9 @@ async function runInto(runtime, prepared, report) { const args = { ...storeFields(runtime, store), name: project.name, path: platform.path(settings, project.source), timeoutMs: timeout ?? INIT_TIMEOUT_MS }; const making = invokeBackend("runtime.store.add_project", args, {}); try { - await (platform.name === "macos" ? making : watching(runtime, project.name, making, report, store.name)); + await (platform.initCounts === false ? making : watching(runtime, project.name, making, report, store.name)); } catch (error) { - if (error?.code === "Unknown" || platform.name === "windows") { + if (error?.code === "Unknown" || platform.uncertainInit) { appendFileSync(join(settings.stateDir, "init-failures.jsonl"), JSON.stringify({ project, platform: platform.name, home: callHome(settings), code: error?.code ?? null, message: error?.message ?? String(error), at: new Date().toISOString() }) + "\n"); } throw error; diff --git a/api/runtime/src/sandbox/leftovers.js b/api/runtime/src/sandbox/leftovers.js index 5272396ebf..fb112c0a9d 100644 --- a/api/runtime/src/sandbox/leftovers.js +++ b/api/runtime/src/sandbox/leftovers.js @@ -1,19 +1,13 @@ // Sandbox containers of this home that no project owns, or that were left // stopped, and their removal. From part of the dsh Host's runtime.js (#428). +// The containers are the Docker group's (platform/docker/sandboxes.js). import { LayerFSError } from "@layerfs/agent"; import { keyOf } from "../project/list.js"; -import { noHostDocker } from "../platform/shared.js"; +import { dockerOf, VM_SANDBOXES } from "../platform/shared.js"; -/** This home's Sandbox containers (`-`, label layerfs.role=sandbox), running or not. */ +/** This home's Sandbox containers, running or not; refused where the placement has no Docker group. */ export async function containers(runtime) { - const { settings, platform } = runtime; - if (platform.hostSandboxes === false) throw noHostDocker(runtime, "runtime.sandbox", "its Sandboxes are Linux namespaces inside the VM; the SDK's project.list_sandboxes reads them"); - const out = await platform.docker(settings, ["ps", "-a", "--no-trunc", "--filter", "label=layerfs.role=sandbox", "--format", "{{.Names}}\t{{.State}}\t{{.Status}}\t{{.Label \"layerfs.project\"}}\t{{.Label \"layerfs.sandbox\"}}\t{{.Image}}\t{{.Label \"layerfs.store\"}}"]); - return out.split("\n").filter(Boolean).map((row) => { - const [name, state, status, project, sandbox, image, store] = row.split("\t"); - // a Sandbox of a shared Store's project (#506) is `.-` - return { name, state, running: state === "running", status, project, sandbox, image, store: store || null, key: store ? `${store}/${project}` : project }; - }).filter((c) => c.name.startsWith(settings.containerPrefix)); + return dockerOf(runtime, "runtime.sandbox", VM_SANDBOXES).sandboxes.containers(runtime); } /** Containers of no project of this home, or stopped: `[{ name, project, running, status }]`. */ @@ -32,7 +26,7 @@ export async function clean_leftovers(runtime, names) { if (!c) { results.push({ name, ok: false, message: "not a leftover of this home" }); continue; } if (c.running) { results.push({ name, ok: false, message: "still running; stop it first" }); continue; } try { - await runtime.platform.docker(runtime.settings, ["rm", name]); + await runtime.platform.docker.sandboxes.remove(runtime, [name]); results.push({ name, ok: true }); } catch (error) { results.push({ name, ok: false, message: error.stderr?.trim() || error.message }); diff --git a/api/runtime/src/sandbox/list.js b/api/runtime/src/sandbox/list.js index a5c66283e3..4e5db36feb 100644 --- a/api/runtime/src/sandbox/list.js +++ b/api/runtime/src/sandbox/list.js @@ -4,48 +4,32 @@ // Workspace (/tmp, which is also HOME, and the npm, node and cargo caches // there). It goes only when the container is deleted (sandbox.close, an idle // close followed by a reclaim, or runtime.sandbox.sweep). One `docker ps` -// and one `docker inspect --size`; it changes nothing. +// and one `docker inspect --size` (platform/docker/sandboxes.js), plus on Linux one +// runtime.sandbox.records per project (sandbox/records.js); it changes nothing. import { keyOf } from "../project/list.js"; -import { noHostDocker } from "../platform/shared.js"; +import { dockerOf, VM_SANDBOXES } from "../platform/shared.js"; +import { recorded, recordingProjects } from "./records.js"; -/** A container gone between the listing and the inspection is left out: inspect still prints the others. */ -async function inspect(runtime, ids) { - const { settings, platform } = runtime; - try { - return JSON.parse(await platform.docker(settings, ["inspect", "--size", ...ids], { timeout: 30_000 })); - } catch (error) { - const out = String(error?.stdout ?? "").trim(); - if (out.startsWith("[")) return JSON.parse(out); - throw error; - } -} - -/** `[{ name, project, sandbox, state, running, startedAt, finishedAt, image, ports, scratch, owned }]`, by name. */ +/** `[{ name, project, sandbox, runtime, state, running, startedAt, finishedAt, image, ports, scratch, owned }]`, + * by name. Where native and namespaces Sandboxes can run beside Docker's (`localSandboxes`, Linux), + * each project's records add those (#527 step 12, F6): named by their directory, with no container + * facts (`startedAt`, `finishedAt`, `scratch` null, no ports), `state` from the binding's + * runtime.sandbox.records (running, stopped or unknown). */ export async function list(runtime) { - const { settings, platform } = runtime; - if (platform.hostSandboxes === false) throw noHostDocker(runtime, "runtime.sandbox.list", "its Sandboxes are Linux namespaces inside the VM; the SDK's project.list_sandboxes reads them"); - const ids = (await platform.docker(settings, ["ps", "-a", "-q", "--no-trunc", "--filter", "label=layerfs.role=sandbox"])).split("\n").filter(Boolean); - if (!ids.length) return []; + const docker = dockerOf(runtime, "runtime.sandbox.list", VM_SANDBOXES); + const found = (await docker.sandboxes.details(runtime)).map((c) => ({ ...c, runtime: "docker" })); + if (runtime.platform.localSandboxes) { + for (const project of await recordingProjects(runtime)) { + for (const item of (await recorded(runtime, project)).filter((r) => r.runtime !== "docker")) { + found.push({ + name: item.name, project: project.name, store: project.shared ? project.store : null, sandbox: item.sandbox, runtime: item.runtime, + state: item.state, running: item.state === "running", startedAt: null, finishedAt: null, image: item.image || null, ports: [], scratch: null, + }); + } + } + found.sort((a, b) => a.name.localeCompare(b.name)); + } + if (!found.length) return []; const known = new Set((await runtime.project.list()).map(keyOf)); - return (await inspect(runtime, ids)).map((c) => { - const labels = c.Config?.Labels ?? {}; - const project = labels["layerfs.project"] ?? null; - const store = labels["layerfs.store"] ?? null; - const running = c.State?.Running === true; - const finished = c.State?.FinishedAt; - return { - name: String(c.Name ?? "").replace(/^\//, ""), - project, - store, - sandbox: labels["layerfs.sandbox"] ?? null, - state: c.State?.Status ?? "unknown", - running, - startedAt: c.State?.StartedAt ?? null, - finishedAt: running || !finished || finished.startsWith("0001-") ? null : finished, - image: c.Config?.Image ?? null, - ports: Object.entries(c.NetworkSettings?.Ports ?? {}).flatMap(([port, bound]) => (bound ?? []).map((b) => ({ container: port, host: b.HostIp, port: Number(b.HostPort) }))), - scratch: typeof c.SizeRw === "number" ? c.SizeRw : null, - owned: project !== null && known.has(store ? `${store}/${project}` : project), - }; - }).filter((c) => c.name.startsWith(settings.containerPrefix)).sort((a, b) => a.name.localeCompare(b.name)); + return found.map((c) => ({ ...c, owned: c.project !== null && known.has(c.store ? `${c.store}/${c.project}` : c.project) })); } diff --git a/api/runtime/src/sandbox/records.js b/api/runtime/src/sandbox/records.js new file mode 100644 index 0000000000..d711c1acb7 --- /dev/null +++ b/api/runtime/src/sandbox/records.js @@ -0,0 +1,25 @@ +// The Sandboxes a project's records name, of every backend (#527 step 12, +// F6). The binding's runtime.sandbox.records lists each record with its +// `runtime` (docker, native, namespaces) and `state` (running, stopped, +// gone, unknown) without matching a deployment's backend, and reopens none, +// so a native or namespaces Sandbox is found beside Docker ones. One backend +// call on the project's binding (in this process, or its worker); no client +// and no Store is opened. A `vm:` home's Store holders and a Linux `local` +// home's (platform `localSandboxes`) are read through it. +import { invokeBackend } from "@layerfs/agent/internal"; +import { callHome } from "../settings.js"; + +/** `[{ sandbox, name, runtime, image, state, workspaces, message? }]` of `project` ({ name, store?, shared? }). */ +export async function recorded(runtime, project) { + const args = { project: project.name, home: callHome(runtime.settings), ...(project.shared ? { store: project.store } : {}) }; + return (await invokeBackend("runtime.sandbox.records", args, {})).items; +} + +/** The projects of this home whose records can name a Sandbox of a host backend: SQLite ones with a home entry. */ +export async function recordingProjects(runtime) { + return (await runtime.project.list()).filter((p) => p.initialized && p.kind !== "postgresql"); +} + +/** A record that may still hold its project's Store: running, or of unknown state (a record of the + * former `local` runtime, never used, holds nothing). */ +export const holding = (item) => item.state === "running" || (item.state === "unknown" && item.runtime !== "local"); diff --git a/api/runtime/src/sandbox/sweep.js b/api/runtime/src/sandbox/sweep.js index f3186bd1ee..9c0425a463 100644 --- a/api/runtime/src/sandbox/sweep.js +++ b/api/runtime/src/sandbox/sweep.js @@ -1,27 +1,26 @@ // runtime.sandbox.sweep(): deletes the stopped Sandboxes of every project of // this home, so their scratch (#423) does not wait for that project's next -// sandbox.create. It finds projects with an exited or dead Sandbox container -// and runs runtime.sandbox.reclaim on each: the project's own records and +// sandbox.create. It finds projects with an exited or dead Sandbox container, +// by the container's labels (layerfs.project, layerfs.store), not by its name +// (the name format is the binding's, #527 step 5), and runs +// runtime.sandbox.reclaim on each: the project's own records and // guards decide what goes, one unforced Delete per Sandbox, so a container // of another home or one starting now is never touched. Containers no // project of this home records stay for list_leftovers / clean_leftovers. // The runtime runs it once when it opens (settings.sweep, default true); // status().sweep reports that run. One attempt per project, no retry. +// A `vm:` home keeps no host containers (no Docker group), so its +// sweep reads none and says so: `{ reclaimed: {}, failed: [], host: false }`. import { keyOf } from "../project/list.js"; -// A `vm:` home keeps no host containers, so its sweep reads none -// and says so: `{ reclaimed: {}, failed: [], host: false }`. -import { containers } from "./leftovers.js"; /** States of a container whose daemon has ended and that nothing restarts. */ const ENDED = new Set(["exited", "dead"]); /** `{ reclaimed: { project: [ids] }, failed: [{ project, code, message }] }` */ export async function sweep(runtime) { - const { settings } = runtime; - if (runtime.platform.hostSandboxes === false) return { reclaimed: {}, failed: [], host: false }; + if (!runtime.platform.docker) return { reclaimed: {}, failed: [], host: false }; const known = new Map((await runtime.project.list()).filter((p) => p.volume && p.kind !== "postgresql").map((p) => [keyOf(p), p])); - const named = (c) => `${settings.containerPrefix}${c.store ? `${c.store}.` : ""}${c.project}-`; - const ended = (await containers(runtime)).filter((c) => ENDED.has(c.state) && known.has(c.key) && c.name.startsWith(named(c))); + const ended = (await runtime.platform.docker.sandboxes.containers(runtime)).filter((c) => ENDED.has(c.state) && known.has(c.key)); const reclaimed = {}, failed = []; for (const key of [...new Set(ended.map((c) => c.key))].sort()) { const project = known.get(key); diff --git a/api/runtime/src/settings.js b/api/runtime/src/settings.js index b1ce588cb9..63540ae45e 100644 --- a/api/runtime/src/settings.js +++ b/api/runtime/src/settings.js @@ -6,11 +6,24 @@ import { existsSync, mkdirSync } from "node:fs"; import { homedir } from "node:os"; import { isAbsolute, join, posix } from "node:path"; import { LayerFSError } from "@layerfs/agent"; +import { VOLUMES } from "./platform/docker/index.js"; const PLATFORMS = { linux: "linux", darwin: "macos", win32: "windows" }; const DEFAULT_DOCKER = "/var/run/docker.sock"; -/** Where a home's Store and Sandboxes live: this machine (`local`, today) or one Linux VM per home (V9). */ -const PROVIDERS = ["microsandbox", "apple-container", "ssh"]; +/** + * Where a home's Store and Sandboxes live: this machine (`local`, today) or one + * Linux VM per project (V9), by provider, with the host systems each runs on + * (#527 step 8). Apple Container is macOS only; Microsandbox runs libkrun + * microVMs on Linux (KVM) and macOS (Apple silicon); `ssh` needs only the + * system ssh client and tar; `lima` makes `vmType: vz` instances, which is + * Apple's Virtualization.framework; `firecracker` runs nested in such a Lima + * instance, so it is macOS only too. None runs on Windows: the VM placement + * maps this host's folders into the guest as POSIX paths. + */ +const PROVIDERS = { + microsandbox: ["linux", "macos"], "apple-container": ["macos"], ssh: ["linux", "macos"], lima: ["macos"], firecracker: ["macos"], +}; +const NAMES = { linux: "Linux", macos: "macOS", windows: "Windows" }; /** The VM's own settings: the image that holds node and the guest base, and its size. */ const VM = { image: "node:22-trixie-slim", cpus: 2, memory: "2G", storeSize: "20G" }; /** Where the VM sees the home, the Store disk, the bundle and its working state (§5, §6). */ @@ -34,16 +47,19 @@ export const GUEST = Object.freeze({ /** * `placement`: absent or `local` (this machine's Docker, macOS worker container * or WSL2 worker; behavior unchanged), or `vm:` (one Linux VM per - * home, §6). A VM provider name that is not implemented is refused here, not - * later, so a typo cannot look like `local`. + * home, §6). A VM provider name that is not implemented, or one that does not + * run on this host's `platform`, is refused here, not later, so a typo cannot + * look like `local`. */ -function placement(given) { +function placement(given, platform) { const text = given ?? process.env.LAYERFS_PLACEMENT ?? "local"; if (typeof text !== "string" || !text) throw new LayerFSError("InvalidInput", "placement must be `local` or `vm:`", null); if (text === "local") return { kind: "local", name: "local" }; const provider = /^vm:(.+)$/.exec(text)?.[1]; if (!provider) throw new LayerFSError("InvalidInput", `placement is \`local\` or \`vm:\`, not ${text}`, null); - if (!PROVIDERS.includes(provider)) throw new LayerFSError("Unsupported", `no VM provider is implemented for ${text}; it is vm:${PROVIDERS.join(" or vm:")}`, null); + if (!Object.hasOwn(PROVIDERS, provider)) throw new LayerFSError("Unsupported", `no VM provider is implemented for ${text}; it is vm:${Object.keys(PROVIDERS).join(" or vm:")}`, null); + const hosts = PROVIDERS[provider]; + if (!hosts.includes(platform)) throw new LayerFSError("Unsupported", `${text} runs on ${hosts.map((host) => NAMES[host]).join(" and ")} hosts, not ${NAMES[platform]}`, null); return { kind: "vm", name: text, provider }; } @@ -101,7 +117,7 @@ export function resolveSettings(given = {}) { const platform = given.platform ?? PLATFORMS[process.platform]; if (!Object.values(PLATFORMS).includes(platform)) throw new LayerFSError("Unsupported", `LayerFS runs on Linux, macOS and Windows, not ${process.platform}`, null); const bundle = given.bundle || null; - const where = placement(given.placement); + const where = placement(given.placement, platform); const settings = { platform, placement: where, @@ -111,7 +127,7 @@ export function resolveSettings(given = {}) { // a VM runs the bundle's daemon beside its helper, at the guest's path daemon: where.kind === "vm" ? GUEST.daemon : given.daemon || (bundle ? (platform === "windows" ? posix.join(bundle, "layerfs-daemon") : join(bundle, "layerfs-daemon")) : null), docker: given.docker || defaultDocker(platform), - volumes: given.volumes || "/var/lib/docker/volumes", + volumes: given.volumes || VOLUMES, traceDir: given.traceDir || join(given.home, "traces"), containerPrefix: given.containerPrefix || "layerfs-", stateDir: given.stateDir || join(given.home, ".runtime"), diff --git a/api/runtime/src/status.js b/api/runtime/src/status.js index ed4ace61e3..618f264042 100644 --- a/api/runtime/src/status.js +++ b/api/runtime/src/status.js @@ -10,10 +10,10 @@ import { missing } from "./settings.js"; export async function status(runtime) { const { settings, platform } = runtime; let docker; - if (platform.hostDocker === false) { + if (!platform.docker) { docker = { level: "not-used", detail: `this home is placed in ${platform.name}; its Stores and Sandboxes are inside each project's VM` }; } else { - try { docker = { level: "ok", version: await platform.docker(settings, ["version", "--format", "{{.Server.Version}}"]) }; } catch (error) { + try { docker = { level: "ok", version: await platform.docker.version(runtime) }; } catch (error) { docker = { level: "down", error: error.stderr?.trim() || error.message }; } } diff --git a/api/runtime/src/store/calls.js b/api/runtime/src/store/calls.js index a7caf5c57f..a6c18720c7 100644 --- a/api/runtime/src/store/calls.js +++ b/api/runtime/src/store/calls.js @@ -32,11 +32,12 @@ export const shown = (s, local = null) => ({ /** Each local SQLite Store's sizes, open state and heads, from the process that sees its volume * (this one on Linux, the worker on macOS and Windows). One call for all; a call that fails - * (no worker yet, a volume this process cannot read) leaves them null. */ + * (no worker yet, a volume this process cannot read) leaves them null, and so does a placement + * that names no Store path by volume (a `vm:` home, #527 F3), which makes no call. */ async function locals(runtime, stores) { - const asked = stores.filter((s) => s.kind === "sqlite" && s.volume).map((s) => ({ store: s.name, storePath: storeFields(runtime, s).storePath })); - if (!asked.length) return new Map(); try { + const asked = stores.filter((s) => s.kind === "sqlite" && s.volume).map((s) => ({ store: s.name, storePath: storeFields(runtime, s).storePath })); + if (!asked.length) return new Map(); const answer = await call("runtime.store.stat", { home: callHome(runtime.settings), stores: asked }); return new Map(answer.map((entry) => [entry.store, entry])); } catch { @@ -106,22 +107,12 @@ export async function unused(runtime, name) { if ((await all(runtime)).some((s) => s.name === name)) throw refuse("Exists", `a LayerFS Store named ${name} exists`); } -/** Makes a Store's labelled volume, refusing one that exists (docker volume create would reuse it). */ -export async function makeVolume(runtime, name) { - const { settings, platform } = runtime; - const volume = `${settings.containerPrefix}store-${name}`; - const exists = await platform.docker(settings, ["volume", "inspect", "--format", "{{.Name}}", volume]).then(() => true, () => false); - if (exists) throw refuse("Exists", `the volume ${volume} exists; remove it, or name the Store differently`); - await platform.docker(settings, ["volume", "create", "--label", "layerfs.role=store", "--label", `layerfs.home=${settings.home}`, "--label", `layerfs.store=${name}`, volume], { timeout: 30_000 }); - return volume; -} - /** runtime.store.create(name): a new empty local SQLite Store in its own volume. */ export async function create(runtime, name) { const { settings, platform } = runtime; await unused(runtime, name); await platform.init(settings); - const volume = await makeVolume(runtime, name); + const volume = await platform.createStore(runtime, { name }); const store = { name, kind: "sqlite", volume, link: null, created: Date.now(), projects: [] }; try { await call("runtime.store.create", storeFields(runtime, store)); @@ -141,7 +132,7 @@ export async function remove(runtime, name, options = {}) { await runtime.clients.forgetStore(name); if (store.kind === "sqlite") { if (!store.volume) throw refuse("InvalidInput", `the runtime has no record of Store ${name}'s volume`); - await removeVolume(runtime, { name, volume: store.volume }, options); + await removeVolume(runtime, { name, volume: store.volume, legacy: !!store.legacy }, options); } await call("runtime.store.forget", { home: callHome(settings), store: name }); if (store.legacy) await forgetOwn(runtime, name); diff --git a/api/runtime/src/store/sync.js b/api/runtime/src/store/sync.js index cc848c806d..267d228382 100644 --- a/api/runtime/src/store/sync.js +++ b/api/runtime/src/store/sync.js @@ -22,7 +22,7 @@ import { randomUUID } from "node:crypto"; import { statSync } from "node:fs"; import { invokeBackend } from "@layerfs/agent/internal"; import { callHome } from "../settings.js"; -import { credentialsOf, makeVolume, postgresqlTarget, shown, unused } from "./calls.js"; +import { credentialsOf, postgresqlTarget, shown, unused } from "./calls.js"; import { FILE, claim, link, named, put, refuse, storeFields } from "./registry.js"; import { removeVolume } from "./volume.js"; @@ -201,7 +201,7 @@ export async function start_load(runtime, jobs, remoteName, options = {}) { return jobs.begin({ kind: "load", store: name, ...from }, async (job) => { try { await runtime.platform.init(runtime.settings); - const volume = await makeVolume(runtime, name); + const volume = await runtime.platform.createStore(runtime, { name }); const store = { name, kind: "sqlite", volume, link: null, created: Date.now(), projects: [] }; let answer; try { diff --git a/api/runtime/src/store/volume.js b/api/runtime/src/store/volume.js index 0305e38e1e..7bde7ea4ab 100644 --- a/api/runtime/src/store/volume.js +++ b/api/runtime/src/store/volume.js @@ -2,21 +2,22 @@ // Sandbox) refuses Busy unless `stopSandboxes`; stopped containers left by // failed starts and idle Sandboxes go with it. Moved from project/delete.js // (#506), where it was a project's own volume. The four Store hooks are the -// platform's: Docker volumes and containers on a local placement, the -// project's VM, its disk and its namespace Sandboxes under `vm:` (#515). -// One attempt per step; a failed step leaves the rest in place. +// platform's, keyed by Store: Docker volumes and containers on a local +// placement (platform/docker/stores.js; on Linux also the running native and +// namespaces Sandboxes the records name, which only their own backend +// closes, #527 step 12), the project's VM, its disk and its Sandboxes under +// `vm:` (#515), which holds only a project's own Store. One attempt per step; a failed step leaves the rest in place. import { LayerFSError } from "@layerfs/agent"; -import { STOPPED } from "../platform/shared.js"; +import { STOPPED } from "../platform/docker/sandboxes.js"; -/** `owner` is `{ name, volume }`: the project or Store the volume holds. A - * `vm:` placement's Store is the project's own VM and disk, so the hooks - * name the project as well as its volume. */ -export async function removeVolume(runtime, owner, options = {}) { +/** `store` is `{ name, volume, legacy }`: `legacy` for the Store a project's own Init made, named after + * that project (a `vm:` placement's Store is that project's VM and disk), else a Store of the home. */ +export async function removeVolume(runtime, store, options = {}) { const { settings, platform } = runtime; - const holders = await platform.storeHolders(runtime, owner); + const holders = await platform.storeHolders(runtime, store); const users = holders.filter((holder) => !STOPPED.has(holder.state)).length; - if (users && !options.stopSandboxes) throw new LayerFSError("Busy", `${users} running container(s) use ${owner.volume}; a Sandbox closes 2 minutes after its last Workspace is unmounted, or pass stopSandboxes`, null); - await platform.releaseStoreHolders(runtime, owner, holders, { force: users > 0 }); - await platform.releaseStore(settings, owner); - await platform.removeStore(runtime, owner); + if (users && !options.stopSandboxes) throw new LayerFSError("Busy", `${users} running Sandbox(es) use ${store.volume}; a Sandbox closes 2 minutes after its last Workspace is unmounted, or pass stopSandboxes`, null); + await platform.releaseStoreHolders(runtime, store, holders, { force: users > 0 }); + await platform.releaseStore(settings, store); + await platform.removeStore(runtime, store); } diff --git a/api/runtime/src/volume.js b/api/runtime/src/volume.js index 5669d09db5..93ef77f993 100644 --- a/api/runtime/src/volume.js +++ b/api/runtime/src/volume.js @@ -12,11 +12,11 @@ // `live` is true while this home has the project that owns the volume (an // uncertain Init, which keeps a home entry and no record, counts as live). // `size` is Docker's figure, rounded to about four significant digits. -// One `docker system df -v`, plus one `docker volume inspect` of the -// labelled volumes; listing changes nothing. +// The Docker group's `disk` reads the engine (platform/docker/disk.js); +// listing changes nothing. import { LayerFSError } from "@layerfs/agent"; import { entries } from "./store/registry.js"; -import { noHostDocker } from "./platform/shared.js"; +import { dockerOf } from "./platform/shared.js"; const UNITS = { B: 1, kB: 1e3, KB: 1e3, MB: 1e6, GB: 1e9, TB: 1e12 }; /** "84.05MB" -> 84050000; anything else -> null. */ @@ -27,12 +27,8 @@ export const bytesOf = (text) => { /** `[{ name, size, containers, owner, project, live, removable }]`, by name. */ export async function list(runtime) { - const { settings, platform } = runtime; - if (platform.hostDocker === false) throw noHostDocker(runtime, "runtime.volume.list", "its Stores are directories on the VM's disk, not host Docker volumes"); - const df = JSON.parse(await platform.docker(settings, ["system", "df", "-v", "--format", "{{json .}}"], { timeout: 60_000 })); - const volumes = df.Volumes ?? []; - const labelled = volumes.filter((v) => v.Labels).map((v) => v.Name); - const labels = new Map(labelled.length ? JSON.parse(await platform.docker(settings, ["volume", "inspect", ...labelled], { timeout: 30_000 })).map((v) => [v.Name, v.Labels ?? {}]) : []); + const { settings } = runtime; + const volumes = await dockerOf(runtime, "runtime.volume.list", "its Stores are directories on the VM's disk, not host Docker volumes").disk.volumes(runtime); const projects = await runtime.project.list(); const recorded = new Map(projects.filter((p) => p.volume).map((p) => [p.volume, p.name])); // a Store's volume (#506) is this home's while the Store is registered, with or without projects @@ -40,16 +36,16 @@ export async function list(runtime) { for (const volume of stores.keys()) if (!recorded.has(volume)) recorded.set(volume, null); const named = new Map(projects.map((p) => [p.name, p])); return volumes.map((v) => { - const l = labels.get(v.Name) ?? {}; + const l = v.labels; const store = l["layerfs.role"] === "store"; let owner = "unknown", project = null; - if (recorded.has(v.Name)) [owner, project] = ["this", recorded.get(v.Name)]; + if (recorded.has(v.name)) [owner, project] = ["this", recorded.get(v.name)]; else if (store && l["layerfs.home"] === settings.home) [owner, project] = ["this", l["layerfs.project"] ?? null]; else if (store && l["layerfs.home"]) [owner, project] = ["other", l["layerfs.project"] ?? null]; - const live = owner === "this" && (recorded.has(v.Name) || (named.has(project) && !named.get(project).volume)); - const containers = Number(v.Links) || 0; - const held = stores.get(v.Name) ?? (l["layerfs.home"] === settings.home ? l["layerfs.store"] ?? null : null); - return { name: v.Name, size: bytesOf(v.Size), containers, owner, project, ...(held ? { store: held } : {}), live, removable: owner === "this" && !live && containers === 0 }; + const live = owner === "this" && (recorded.has(v.name) || (named.has(project) && !named.get(project).volume)); + const containers = Number(v.links) || 0; + const held = stores.get(v.name) ?? (l["layerfs.home"] === settings.home ? l["layerfs.store"] ?? null : null); + return { name: v.name, size: bytesOf(v.size), containers, owner, project, ...(held ? { store: held } : {}), live, removable: owner === "this" && !live && containers === 0 }; }).sort((a, b) => a.name.localeCompare(b.name)); } @@ -68,7 +64,7 @@ export async function remove(runtime, names) { : null; if (why) { results.push({ name, ok: false, message: why }); continue; } try { - await runtime.platform.docker(runtime.settings, ["volume", "rm", name], { timeout: 30_000 }); + await runtime.platform.docker.disk.remove(runtime, name); results.push({ name, ok: true }); } catch (error) { results.push({ name, ok: false, message: error.stderr?.trim() || error.message }); diff --git a/api/runtime/src/worker/call.js b/api/runtime/src/worker/call.js index 378c4b2694..2e0c456e8a 100644 --- a/api/runtime/src/worker/call.js +++ b/api/runtime/src/worker/call.js @@ -1,9 +1,27 @@ // One binding call made in Linux by the worker (server.js) or by Init's own // process (init.js). Copied from the dsh Host's port/call.mjs (#428). A // spooled exec's output is read here and returned whole, then released, so -// no spool is left for the caller to read. +// no spool is left for the caller to read. The platforms' side of a worker +// is here too: reading its endpoint file and asking it to release a Store +// (#527 F11: once for macOS, Windows and `vm:`). +import { readFileSync } from "node:fs"; +import { LayerFSError } from "@layerfs/agent"; +import { connection } from "@layerfs/agent/internal"; + const PAGE = 1 << 20; +/** The worker endpoint written at `file`, or null when none is (or it cannot be read). */ +export function readEndpoint(file) { + try { return JSON.parse(readFileSync(file, "utf8")); } catch { return null; } +} + +/** One `releaseStore` call: the worker at `info` closes its cached Store at `storePath` + * (a path in the worker's `home`) before that Store goes. A refusal is thrown. */ +export async function releaseStore(info, home, storePath) { + const answer = await connection(info).call({ fn: "releaseStore", args: { home, storePath } }); + if (answer.refused) throw new LayerFSError(answer.refused.code, answer.refused.message, answer.refused.detail); +} + /** The Store a call names, as the binding's storeOpen and storeClose take it. */ export const storeOf = (args) => ({ project: args.project, home: args.home, storePath: args.storePath, diff --git a/api/runtime/test/fixture/fake-container.cjs b/api/runtime/test/fixture/fake-container.cjs index d61636842e..5ee4fd8dbc 100644 --- a/api/runtime/test/fixture/fake-container.cjs +++ b/api/runtime/test/fixture/fake-container.cjs @@ -12,8 +12,10 @@ // container run --detach --name N … IMAGE sleep infinity // container start|stop NAME, container delete --force NAME // container volume inspect NAME | create -s SIZE NAME | delete NAME -// container copy HOST NAME:DEST +// container copy HOST NAME:DEST (the adapter no longer uses it: see `cp -Rp`) // container exec [-i] NAME sh -c SCRIPT sh ARGS… +// A guest path under /layerfs/home is the VM's home bind mount, so it is the +// host folder `run` was given; every other guest path is under the VM's folder. // Records live in FAKE_CONTAINER_STATE/vms/.json, volumes in // FAKE_CONTAINER_STATE/volumes/.json, guest paths under // FAKE_CONTAINER_STATE/guest/. @@ -162,6 +164,14 @@ if (command === "inspect") { } else if (/cat > "\$1"/.test(script)) { if (!interactive) fail("stdin was not kept open: the adapter must pass -i"); put(args[1], readFileSync(0)); + } else if (/cp -Rp "\$1\/\." "\$2"/.test(script)) { + // the adapter's copy: a staging folder in the home bind mount, onto the guest's disk + const home = "/layerfs/home/"; + if (!args[1].startsWith(home)) fail(`cp: the source ${args[1]} is not in the home bind mount`); + const from = join(vm.home, args[1].slice(home.length)); + if (!existsSync(from)) fail(`cp: cannot stat '${args[1]}': No such file or directory`); + mkdirSync(guest(args[2]), { recursive: true }); + cpSync(from, guest(args[2]), { recursive: true, verbatimSymlinks: true }); } else if (/umask 022/.test(script)) { mkdirSync(guest(args[1]), { recursive: true, mode: 0o755 }); } else if (/max_user_namespaces/.test(script)) { diff --git a/api/runtime/test/fixture/fake-lima.cjs b/api/runtime/test/fixture/fake-lima.cjs new file mode 100644 index 0000000000..1afb7cc454 --- /dev/null +++ b/api/runtime/test/fixture/fake-lima.cjs @@ -0,0 +1,255 @@ +// The `limactl` and `ssh` stand-in for @layerfs/runtime's vm:lima and +// vm:firecracker tests (#527 platform pass): no VM. Called as +// `fake-lima.cjs limactl …` or `fake-lima.cjs ssh …` (the test puts one shim of +// each name on PATH). It answers exactly the calls `platform/vm/lima.js` and +// `platform/vm/firecracker.js` make, and maps each guest's absolute paths +// under FAKE_LIMA_STATE/guest/, so guest reads and writes are real files: +// +// limactl list --json NAME | create --name N --tty=false - | start --tty=false N +// limactl stop N | delete --force N | disk list --json | disk create D … | disk delete D +// ssh -F /ssh.config lima-N -- sudo -n -- ARGV… a root command in instance N +// (a Lima VM's /layerfs/home is the host folder its template mounts there) +// ssh -F … -N -o ExitOnForwardFailure=yes -L 127.0.0.1:H:IP:7070 lima-N a forward +// +// ARGV arrives shell-quoted, as the remote shell would see it, and is unquoted +// here. In a Lima VM it is the adapter's guest command; in the Firecracker host +// it is one of firecracker.js's marked scripts (`# layerfs-firecracker:`), +// and the `guest` script's own arguments are unquoted once more for the +// microVM. A started worker is the bundle's own worker/server.js with the +// stand-in binding: a Lima VM's listens on its forwarded host port, a microVM's +// on a free port behind the stand-in forward. `FAKE_FC_NO_KVM=1` makes the +// Firecracker host check fail. Every call is appended to calls.jsonl as +// { at, tool, argv } with ARGV unquoted. +const { appendFileSync, cpSync, existsSync, mkdirSync, openSync, readFileSync, readdirSync, rmSync, writeFileSync } = require("node:fs"); +const { spawn } = require("node:child_process"); +const { createServer, connect } = require("node:net"); +const { dirname, join } = require("node:path"); + +const state = process.env.FAKE_LIMA_STATE; +if (!state) { console.error("fake lima: FAKE_LIMA_STATE is not set"); process.exit(2); } +const [tool, ...argv] = process.argv.slice(2); + +/** One POSIX-quoted word, unquoted: bare text, '…' runs and backslash escapes. */ +function unquote(word) { + let out = "", quoted = false; + for (let i = 0; i < word.length; i++) { + const c = word[i]; + if (quoted) { if (c === "'") quoted = false; else out += c; } + else if (c === "'") quoted = true; + else if (c === "\\") out += word[++i] ?? ""; + else out += c; + } + return out; +} + +const fail = (message, code = 1) => { console.error(message); process.exit(code); }; +const file = (...parts) => join(state, ...parts); +const readJson = (path) => (existsSync(path) ? JSON.parse(readFileSync(path, "utf8")) : null); +const saveJson = (path, value) => { mkdirSync(dirname(path), { recursive: true }); writeFileSync(path, JSON.stringify(value, null, 1)); }; +const guestIn = (vm) => (path) => join(state, "guest", vm, path.replace(/^\//, "")); +const stdin = () => readFileSync(0); +const log = (args) => appendFileSync(file("calls.jsonl"), `${JSON.stringify({ at: Date.now(), tool, argv: args })}\n`); + +function endWorker(vm) { + const pid = guestIn(vm)("/layerfs/state/worker.pid"); + if (!existsSync(pid)) return; + try { process.kill(Number(readFileSync(pid, "utf8").trim())); } catch { /* already gone */ } + rmSync(pid, { force: true }); +} + +/** A port nothing listens on now. */ +const freePort = () => new Promise((resolve) => { + const server = createServer(); + server.listen(0, "127.0.0.1", () => { const { port } = server.address(); server.close(() => resolve(port)); }); +}); + +/** The bundle's worker in guest `vm`, listening on `port`. */ +function launchWorker(vm, port) { + endWorker(vm); + const guest = guestIn(vm); + const env = Object.fromEntries(readFileSync(guest("/layerfs/state/worker.env"), "utf8").split("\n").filter(Boolean).map((line) => [line.slice(0, line.indexOf("=")), line.slice(line.indexOf("=") + 1)])); + const script = guest("/layerfs/bundle/api/runtime/src/worker/server.js"); + if (!existsSync(script)) fail("the bundle holds no worker/server.js"); + mkdirSync(guest("/layerfs/state"), { recursive: true }); + const child = spawn(process.execPath, [script], { + env: { ...process.env, ...env, LAYERFS_HOME: guest(env.LAYERFS_HOME), LAYERFS_BUNDLE: guest(env.LAYERFS_BUNDLE), LAYERFS_WORKER_LISTEN: `127.0.0.1:${port}`, LAYERFS_NATIVE: process.env.FAKE_LIMA_NATIVE }, + detached: true, stdio: ["ignore", "ignore", openSync(guest("/layerfs/state/worker.log"), "a")], + }); + child.unref(); + writeFileSync(guest("/layerfs/state/worker.pid"), `${child.pid}\n`); +} + +/** A guest command (Lima VM or microVM) as the adapters send it; answers its exit code. */ +async function guestCommand(vm, args, workerPort) { + const guest = guestIn(vm); + const [cmd, flag, script, , ...rest] = args; + if (cmd === "rm") { rmSync(guest(args.at(-1)), { recursive: true, force: true }); return 0; } + if (cmd === "df") { + process.stdout.write("Filesystem 1024-blocks Used Available Capacity Mounted on\n/dev/vdb 20971520 1048576 15728640 6% /layerfs/store\n"); + return 0; + } + if (cmd !== "sh" || flag !== "-c") { console.error(`fake guest does not know ${args.join(" ")}`); return 1; } + const path = rest[0]; + const put = (target, bytes) => { mkdirSync(dirname(guest(target)), { recursive: true }); writeFileSync(guest(target), bytes); }; + if (/test -f "\$1" && cat "\$1"/.test(script)) { + if (!existsSync(guest(path))) return 1; + process.stdout.write(readFileSync(guest(path))); + } else if (/cat > "\$1"/.test(script)) put(path, stdin()); + else if (/umask 022/.test(script)) mkdirSync(guest(path), { recursive: true, mode: 0o755 }); + else if (/max_user_namespaces/.test(script)) put("/proc/sys/user/max_user_namespaces", "0\n"); + else if (/mount --bind/.test(script)) mkdirSync(guest("/layerfs/store"), { recursive: true }); + else if (/cp -Rp "\$1\/\." "\$2"/.test(script)) { + // a Lima VM's /layerfs/home is the host home it mounts (virtiofs) + const home = readJson(vmFile(vm))?.config.mounts?.find((mount) => mount.mountPoint === "/layerfs/home")?.location; + const from = home && path.startsWith("/layerfs/home/") ? join(home, path.slice("/layerfs/home/".length)) : guest(path); + if (!existsSync(from)) { console.error(`cp: cannot stat '${path}/.': No such file or directory`); return 1; } + cpSync(from, guest(rest[1]), { recursive: true }); + } + else if (/tar -C "\$1" -xf -/.test(script)) { + mkdirSync(guest(path), { recursive: true }); + return new Promise((resolve) => { + const tar = spawn("tar", ["-C", guest(path), "-xf", "-"], { stdio: ["pipe", "ignore", "inherit"] }); + process.stdin.pipe(tar.stdin); + tar.on("close", (code) => resolve(code ?? 1)); + }); + } else if (/nohup node/.test(script)) launchWorker(vm, await workerPort()); + return 0; +} + +// --- limactl --- + +const vmFile = (name) => file("vms", `${name}.json`); +function limactl() { + log(argv); + const [command, ...args] = argv; + if (command === "list") { + const name = args.at(-1), vm = readJson(vmFile(name)); + if (!vm) fail(`level=warning msg="No instance matching ${name} found."\nlevel=fatal msg="unmatched instances"`); + process.stdout.write(`${JSON.stringify({ name, status: vm.status, dir: join(process.env.LIMA_HOME, name), vmType: vm.config.vmType, config: vm.config })}\n`); + } else if (command === "create") { + const name = args[args.indexOf("--name") + 1]; + if (readJson(vmFile(name))) fail(`level=fatal msg="instance \\"${name}\\" already exists"`); + const config = JSON.parse(stdin().toString()); + saveJson(vmFile(name), { status: "Stopped", config, template: config }); + } else if (command === "start" || command === "stop") { + const name = args.at(-1), vm = readJson(vmFile(name)) ?? fail(`instance ${name} does not exist`); + if (command === "stop") endWorker(name); + vm.status = command === "start" ? "Running" : "Stopped"; + saveJson(vmFile(name), vm); + } else if (command === "delete") { + const name = args.at(-1); + endWorker(name); + rmSync(vmFile(name), { force: true }); + rmSync(join(state, "guest", name), { recursive: true, force: true }); + } else if (command === "disk") { + const [sub, name] = args; + if (sub === "list") { + for (const entry of existsSync(file("disks")) ? readdirSync(file("disks")) : []) process.stdout.write(`${JSON.stringify(readJson(file("disks", entry)))}\n`); + } else if (sub === "create") { + if (existsSync(file("disks", `${name}.json`))) fail(`disk ${name} already exists`); + saveJson(file("disks", `${name}.json`), { name, size: args[args.indexOf("--size") + 1], format: args[args.indexOf("--format") + 1] }); + } else if (sub === "delete") rmSync(file("disks", `${name}.json`), { force: true }); + } else fail(`fake limactl does not know ${command}`); +} + +// --- the Firecracker host's marked scripts --- + +const fcDir = (name) => file("fc", "vms", name); +const fcIp = (name) => `172.30.${readJson(join(fcDir(name), "vm.json")).index}.2`; + +async function firecrackerScript(op, args) { + const [, name] = args; + if (op === "check") { + if (process.env.FAKE_FC_NO_KVM) { console.error("there is no /dev/kvm (the Lima instance needs nestedVirtualization: true, an M3 or newer and macOS 15+)"); return 1; } + return 0; + } + if (op === "disk") { + const disk = file("fc", "disks", `${args[1]}.json`); + if (existsSync(disk)) return 0; + saveJson(disk, { name: args[1], size: args[2] }); + process.stdout.write("made\n"); + return 0; + } + if (op === "create") { + if (existsSync(fcDir(name))) { console.error(`${fcDir(name)} already exists`); return 17; } + const used = existsSync(file("fc", "vms")) ? readdirSync(file("fc", "vms")).map((vm) => readJson(join(fcDir(vm), "vm.json")).index) : []; + let index = 1; + while (used.includes(index)) index++; + saveJson(join(fcDir(name), "vm.json"), { index, store: args[2], cpus: Number(args[3]), mem: Number(args[4]), vmm: "stopped" }); + writeFileSync(join(fcDir(name), "meta.json"), stdin()); + return 0; + } + if (op === "boot" || op === "stop") { + const vm = readJson(join(fcDir(name), "vm.json")); + if (!vm) return 0; + if (op === "stop") endWorker(name); + vm.vmm = op === "boot" ? "running" : "stopped"; + saveJson(join(fcDir(name), "vm.json"), vm); + if (op === "stop" && args[2] === "delete") rmSync(fcDir(name), { recursive: true, force: true }); + return 0; + } + if (op === "inspect") { + const vm = readJson(join(fcDir(name), "vm.json")); + if (!vm) return 3; + process.stdout.write(`${vm.vmm}\n${fcIp(name)}\n${readFileSync(join(fcDir(name), "meta.json"), "utf8")}`); + return 0; + } + if (op === "guest") { + const guestArgv = args.slice(2).map(unquote); + const workerPort = async () => { + const port = await freePort(); + writeFileSync(join(fcDir(name), "worker.port"), `${port}\n`); + return port; + }; + return guestCommand(name, guestArgv, workerPort); + } + console.error(`fake firecracker host does not know ${op}`); + return 1; +} + +/** The forward to a microVM: lazy, it reads the worker's port when a client connects. */ +function forward(hostPort, ip) { + const server = createServer((client) => { + client.on("error", () => {}); + const vm = (existsSync(file("fc", "vms")) ? readdirSync(file("fc", "vms")) : []).find((name) => fcIp(name) === ip); + const portFile = vm ? join(fcDir(vm), "worker.port") : null; + let tries = 0; + const dial = () => { + const port = portFile && existsSync(portFile) ? Number(readFileSync(portFile, "utf8").trim()) : NaN; + if (!Number.isFinite(port)) return tries++ < 20 ? setTimeout(dial, 50) : client.destroy(); + const upstream = connect(port, "127.0.0.1"); + upstream.on("error", () => client.destroy()); + client.pipe(upstream); + upstream.pipe(client); + }; + dial(); + }); + server.on("error", (error) => { console.error(`bind [127.0.0.1]:${hostPort}: ${error.code === "EADDRINUSE" ? "Address already in use" : error.message}`); process.exit(255); }); + server.listen(hostPort, "127.0.0.1"); +} + +async function ssh() { + if (argv.includes("-N")) { + log(argv); + const spec = /^127\.0\.0\.1:(\d+):([\d.]+):(\d+)$/.exec(argv[argv.indexOf("-L") + 1] ?? ""); + if (!spec) fail("ssh: no forward to open", 255); + return forward(Number(spec[1]), spec[2]); + } + const dash = argv.indexOf("--"); + const host = argv[dash - 1].replace(/^lima-/, ""); + const remote = argv.slice(dash + 1).map(unquote); + log([...argv.slice(0, dash + 1), ...remote]); + if (remote[0] !== "sudo" || remote[1] !== "-n" || remote[2] !== "--") fail(`fake ssh: not a root command: ${remote.join(" ")}`, 255); + const args = remote.slice(3); + const vm = readJson(vmFile(host)); + if (!vm || vm.status !== "Running") fail(`ssh: connect to lima-${host}: Connection refused`, 255); + const marker = args[0] === "sh" && /^# layerfs-firecracker:(\w+)/.exec(args[2] ?? "")?.[1]; + if (marker) process.exit(await firecrackerScript(marker, args.slice(4))); + if (args[0] === "sh" && args[2] === "rm -f \"$1\"") { rmSync(file("fc", "disks", `${args[4].split("/").pop().replace(/\.ext4$/, "")}.json`), { force: true }); return; } + const port = vm.config.portForwards?.find((rule) => rule.guestPort)?.hostPort; + process.exit(await guestCommand(host, args, async () => port)); +} + +if (tool === "limactl") limactl(); +else if (tool === "ssh") ssh(); +else fail(`fake lima: call me as limactl or ssh, not ${tool}`); diff --git a/api/runtime/test/fixture/fake-ssh.cjs b/api/runtime/test/fixture/fake-ssh.cjs index f2616f42af..e8b9f9549b 100644 --- a/api/runtime/test/fixture/fake-ssh.cjs +++ b/api/runtime/test/fixture/fake-ssh.cjs @@ -139,14 +139,38 @@ function shellScript(script, args) { return 0; } -/** The unpack end of a bundle copy: `mkdir -p DEST && tar -C DEST -xf -`. */ +/** The unpack end of a bundle copy: `mkdir -p DEST && tar -C DEST -xf -`. + * Each entry's name in the stream, as a Linux host's tar would create it, is + * appended to `copies.jsonl`: the Mac's own tar folds AppleDouble `._` entries + * back into attributes when it unpacks, so the guest tree cannot show them. */ function unpack(script) { const match = /tar -C ('([^']+)'|\S+) -xf -/.exec(script); const destination = guestIn(match ? match[2] ?? match[1] : "/layerfs/bundle"); mkdirSync(destination, { recursive: true }); const tar = spawn("tar", ["-C", destination, "-xf", "-"], { stdio: ["pipe", "ignore", "inherit"] }); + const chunks = []; + process.stdin.on("data", (chunk) => chunks.push(chunk)); process.stdin.pipe(tar.stdin); - tar.on("close", (code) => process.exit(code ?? 0)); + tar.on("close", (code) => { + appendFileSync(join(state, "copies.jsonl"), `${JSON.stringify({ destination: match ? match[2] ?? match[1] : null, names: entryNames(Buffer.concat(chunks)) })}\n`); + process.exit(code ?? 0); + }); +} + +/** The names of a ustar stream's entries (pax and GNU headers skipped). */ +function entryNames(bytes) { + const names = []; + for (let at = 0; at + 512 <= bytes.length; ) { + const header = bytes.subarray(at, at + 512); + if (header.every((byte) => byte === 0)) break; + const text = (from, to) => header.subarray(from, to).toString("latin1").replace(/\0.*$/s, ""); + const size = parseInt(text(124, 136).trim() || "0", 8); + const kind = String.fromCharCode(header[156]); + const prefix = text(257, 262) === "ustar" ? text(345, 500) : ""; + if (!"xgLK".includes(kind)) names.push(prefix ? `${prefix}/${text(0, 100)}` : text(0, 100)); + at += 512 + Math.ceil(size / 512) * 512; + } + return names; } async function main() { diff --git a/api/runtime/test/runtime.mjs b/api/runtime/test/runtime.mjs index 263589fbca..1afdd31669 100644 --- a/api/runtime/test/runtime.mjs +++ b/api/runtime/test/runtime.mjs @@ -1,6 +1,6 @@ // @layerfs/runtime with the agent's stand-in binding and a stub Docker (#428): // no Store, Docker or daemon. One case per command: -// node api/runtime/test/runtime.mjs surface|home-mode|projects|init|state|events|leftovers|sandboxes|volumes|transport-order|macos-worker|worker-frames|docker-default|worker-docker|stores +// node api/runtime/test/runtime.mjs surface|home-mode|projects|init|state|events|leftovers|sandboxes|volumes|transport-order|macos-worker|windows-worker|worker-frames|docker-default|worker-docker|stores|backend import assert from "node:assert/strict"; import { appendFileSync, chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; @@ -19,11 +19,11 @@ const selected = process.argv[2]; const work = mkdtempSync(join(tmpdir(), "layerfs-runtime-")); const home = join(work, "home"); const IMAGE = `sha256:${"a".repeat(64)}`; -/** A runtime on Linux whose Docker CLI calls go to `docker(args)`; `calls` lists them. */ +/** A runtime on Linux whose Docker CLI calls (its Docker group's `run`) go to `docker(args)`; `calls` lists them. */ async function opened(docker = () => "", settings = {}) { const runtime = await LayerFSRuntime.open({ home, image: IMAGE, daemon: "/bin/daemon", volumes: join(work, "volumes"), platform: "linux", sweep: false, ...settings }); const calls = []; - runtime.platform = { ...runtime.platform, docker: async (_settings, args) => { calls.push(args); return docker(args); } }; + runtime.platform = { ...runtime.platform, docker: { ...runtime.platform.docker, run: async (_settings, args) => { calls.push(args); return docker(args); } } }; return { runtime, calls }; } const project = (name) => { mkdirSync(join(home, name), { recursive: true }); writeFileSync(join(home, name, "project.record"), "x"); }; @@ -100,7 +100,12 @@ try { mkdirSync(join(source, "src"), { recursive: true }); writeFileSync(join(source, "README.md"), "hello\n"); writeFileSync(join(source, "src", "a.js"), "1\n"); - const { runtime, calls } = await opened(); + // no volume exists, unless `taken` says so + let taken = false; + const { runtime, calls } = await opened((args) => { + if (args[0] === "volume" && args[1] === "inspect" && !taken) throw Object.assign(new Error("no such volume"), { stderr: "Error: No such volume" }); + return ""; + }); // checked before anything changes for (const [name, folder, options, code] of [["Bad", source, {}, "InvalidInput"], ["shop", "relative", {}, "InvalidInput"], ["shop", join(work, "none"), {}, "InvalidInput"], ["shop", source, { image: "latest" }, "InvalidInput"], ...[0, -5, 2.5, "60000", null].map((timeout) => ["shop", source, { timeout }, "InvalidInput"])]) { await assert.rejects(runtime.project.start_init(name, folder, options), { code }); @@ -120,11 +125,14 @@ try { const done = await until(await runtime.project.start_init("shop", source)); assert.equal(done.step, "done", JSON.stringify(done.error)); assert.deepEqual(done.totals, { entries: 4, files: 2, bytes: 8 }); - assert.equal(calls[0].join(" "), `volume create --label layerfs.role=store --label layerfs.home=${home} --label layerfs.project=shop ${calls[0].at(-1)}`); - assert.match(calls[0].at(-1), /^layerfs-shop-store-[0-9a-z]+$/); + // the project's own Store: its volume is looked for (and must not exist), then made with its labels + assert.deepEqual(calls[0].slice(0, 2), ["volume", "inspect"]); + assert.equal(calls[1].join(" "), `volume create --label layerfs.role=store --label layerfs.home=${home} --label layerfs.project=shop ${calls[1].at(-1)}`); + assert.match(calls[1].at(-1), /^layerfs-shop-store-[0-9a-z]+$/); + assert.equal(calls[0].at(-1), calls[1].at(-1)); const init = native.args[native.calls.lastIndexOf("project.init")]; - assert.deepEqual([init.path, init.name, init.storePath, init.deploy.volume], [source, "shop", join(work, "volumes", calls[0].at(-1), "_data/global/store.sqlite"), calls[0].at(-1)]); - assert.equal((await runtime.project.list()).find((p) => p.name === "shop").volume, calls[0].at(-1)); + assert.deepEqual([init.path, init.name, init.storePath, init.deploy.volume], [source, "shop", join(work, "volumes", calls[1].at(-1), "_data/global/store.sqlite"), calls[1].at(-1)]); + assert.equal((await runtime.project.list()).find((p) => p.name === "shop").volume, calls[1].at(-1)); assert.equal(init.timeoutMs, 300_000, "no timeout: LayerFS.init's 300 s default, none of the runtime's own"); // a timeout passes through to LayerFS.init as timeoutMs; the record keeps none calls.length = 0; @@ -137,21 +145,28 @@ try { calls.length = 0; const late = await until(await runtime.project.start_init("late", source, { timeout: 1 })); assert.deepEqual([late.step, late.error.code], ["failed", "Failed"]); - assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "create"], ["volume", "rm"]]); + assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "inspect"], ["volume", "create"], ["volume", "rm"]]); delete native.initRefusal; // a failed Init removes what it made; an uncertain one keeps it and is recorded native.initRefusal = { code: "InvalidInput", message: "Mode", detail: null }; calls.length = 0; const failed = await until(await runtime.project.start_init("bad", source)); assert.deepEqual([failed.step, failed.error.code], ["failed", "InvalidInput"]); - assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "create"], ["volume", "rm"]]); + assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "inspect"], ["volume", "create"], ["volume", "rm"]]); native.initRefusal = { code: "Unknown", message: "lost", detail: null }; calls.length = 0; const unsure = await until(await runtime.project.start_init("unsure", source)); assert.equal(unsure.error.code, "Unknown"); - assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "create"]], "nothing is removed on a guess"); + assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "inspect"], ["volume", "create"]], "nothing is removed on a guess"); assert.equal(JSON.parse(readFileSync(join(home, ".runtime", "init-failures.jsonl"), "utf8").trim()).project.name, "unsure"); delete native.initRefusal; + // an existing volume is refused, not reused, and left as it was (#527 step 10b) + taken = true; + calls.length = 0; + const clash = await until(await runtime.project.start_init("clash", source)); + assert.deepEqual([clash.step, clash.error.code], ["failed", "Exists"]); + assert.deepEqual(calls.map((c) => c.slice(0, 2)), [["volume", "inspect"]], "no volume is made or removed"); + assert.equal((await runtime.project.list()).some((p) => p.name === "clash"), false); await runtime.close(); } else if (selected === "state") { const { runtime } = await opened(); @@ -212,7 +227,7 @@ try { mkdirSync(join(home, ".runtime", "projects"), { recursive: true }); writeFileSync(join(home, ".runtime", "projects", "shop.json"), JSON.stringify({ name: "shop", volume: "vol-shop" })); const inspected = (name, project, status, size, ports = {}) => ({ Name: `/${name}`, State: { Status: status, Running: status === "running", StartedAt: "2026-10-24T01:00:00Z", FinishedAt: status === "running" ? "0001-01-01T00:00:00Z" : "2026-10-24T02:00:00Z" }, Config: { Image: IMAGE, Labels: { "layerfs.role": "sandbox", "layerfs.project": project, "layerfs.sandbox": name.at(-1) } }, NetworkSettings: { Ports: ports }, SizeRw: size }); - const ps = ["layerfs-shop-1\trunning\tUp\tshop\t1\timg", "layerfs-shop-2\texited\tExited (0)\tshop\t2\timg", "layerfs-shop-3\tcreated\tCreated\tshop\t3\timg", "layerfs-gone-1\texited\tExited\tgone\t1\timg", "layerfs-issue9-shop-1\texited\tExited\tshop\t1\timg"].join("\n"); + let ps = ["layerfs-shop-1\trunning\tUp\tshop\t1\timg", "layerfs-shop-2\texited\tExited (0)\tshop\t2\timg", "layerfs-shop-3\tcreated\tCreated\tshop\t3\timg", "layerfs-gone-1\texited\tExited\tgone\t1\timg", "layerfs-issue9-shop-1\texited\tExited\tshop\t1\timg"].join("\n"); const { runtime, calls } = await opened((args) => { if (args[0] === "ps") return args.includes("-q") ? "id1\nid2\nid3" : ps; if (args[0] === "inspect") { @@ -226,17 +241,53 @@ try { assert.deepEqual(listed.map((c) => [c.name, c.state, c.scratch, c.owned]), [["layerfs-gone-1", "exited", 1_000_000, false], ["layerfs-shop-1", "running", 4096, true]]); assert.deepEqual([listed[1].ports, listed[1].finishedAt, listed[0].finishedAt], [[{ container: "30421/tcp", host: "127.0.0.1", port: 54321 }], null, "2026-10-24T02:00:00Z"]); assert.deepEqual(calls.find((c) => c[0] === "inspect"), ["inspect", "--size", "id1", "id2", "id3"]); - // sweep: only shop has an ended container of this home's own naming; created ones and other projects are left alone + // #527 step 12: on Linux a project's native and namespaces Sandboxes are read from its records + // (runtime.sandbox.records, every backend, no deployment matched) and listed beside the containers + native.recordList = { shop: [ + { sandbox: "1", name: "layerfs-shop-1", runtime: "docker", image: IMAGE, state: "running", workspaces: 0 }, + { sandbox: "4", name: "layerfs-shop-4", runtime: "native", image: "local", state: "running", workspaces: 1 }, + { sandbox: "5", name: "layerfs-shop-5", runtime: "namespaces", image: IMAGE, state: "stopped", workspaces: 0 }, + ] }; + const asked = native.calls.length; + const both = await runtime.sandbox.list(); + assert.deepEqual(native.args.slice(asked).filter((a, i) => native.calls[asked + i] === "runtime.sandbox.records").map((a) => [a.project, a.home, "deploy" in a]), [["shop", home, false]], "one records call per project, with no deployment"); + assert.deepEqual(both.map((c) => [c.name, c.runtime, c.state, c.running, c.owned]), [ + ["layerfs-gone-1", "docker", "exited", false, false], ["layerfs-shop-1", "docker", "running", true, true], + ["layerfs-shop-4", "native", "running", true, true], ["layerfs-shop-5", "namespaces", "stopped", false, true], + ]); + assert.deepEqual([both[2].scratch, both[2].ports, both[2].sandbox], [null, [], "4"]); + // removing the Store sees the running native Sandbox as a holder: Busy, and with stopSandboxes + // still Busy (it is not Docker's to remove), naming it, before any docker rm + const removing = calls.length; + await assert.rejects(runtime.project.delete("shop", { confirm: "shop" }), { code: "Busy" }); + await assert.rejects(runtime.project.delete("shop", { confirm: "shop", stopSandboxes: true }), { code: "Busy", message: /Sandbox 4 of shop \(native\).*LAYERFS_SANDBOX/ }); + assert.deepEqual(calls.slice(removing).filter((c) => c[0] === "rm" || c[0] === "volume"), [], "nothing was removed"); + assert.ok(existsSync(join(home, "shop"))); + // a stopped one holds nothing: only the containers are removed then (none run on the volume here) + native.recordList = { shop: [{ sandbox: "4", name: "layerfs-shop-4", runtime: "native", image: "local", state: "stopped", workspaces: 0 }] }; + const { storeHolders } = await import("../src/platform/docker/stores.js"); + assert.deepEqual((await storeHolders(runtime, { name: "shop", volume: "vol-shop", legacy: true })).filter((h) => h.runtime), []); + delete native.recordList; + // sweep: only shop has an ended container of a project of this home; created ones and other projects are left alone native.reclaimed = ["2"]; const before = native.calls.length; assert.deepEqual(await runtime.sandbox.sweep(), { reclaimed: { shop: ["2"] }, failed: [] }); assert.deepEqual(native.calls.slice(before).filter((c) => c.startsWith("runtime.")), ["runtime.sandbox.reclaim"]); assert.equal(calls.filter((c) => c[0] === "rm").length, 0, "the sweep deletes through the project's records, never by name"); + // the project is found by the container's labels, not by its name: an ended container labelled + // shop whose name is not `shop-` still has shop's own records decide (#527 step 12) + ps = "layerfs-renamed-7\texited\tExited (0)\tshop\t7\timg"; + native.reclaimed = ["7"]; + assert.deepEqual(await runtime.sandbox.sweep(), { reclaimed: { shop: ["7"] }, failed: [] }); + ps = ["layerfs-shop-1\trunning\tUp\tshop\t1\timg", "layerfs-gone-1\texited\tExited\tgone\t1\timg"].join("\n"); + const quiet = native.calls.length; + assert.deepEqual(await runtime.sandbox.sweep(), { reclaimed: {}, failed: [] }, "a running container or one of no project of this home starts no reclaim"); + assert.equal(native.calls.slice(quiet).filter((c) => c === "runtime.sandbox.reclaim").length, 0); delete native.reclaimed; await runtime.close(); // open sweeps once in the background; status reports it and close waits for it const swept = await LayerFSRuntime.open({ home, image: IMAGE, daemon: "/bin/daemon", volumes: join(work, "volumes"), platform: "linux" }); - swept.platform = { ...swept.platform, docker: async (_s, args) => (args[0] === "version" ? "27.0.1" : args[0] === "ps" ? ps : "") }; + swept.platform = { ...swept.platform, docker: { ...swept.platform.docker, run: async (_s, args) => (args[0] === "version" ? "27.0.1" : args[0] === "ps" ? ps : "") } }; assert.equal((await swept.status()).sweep.state, "running"); await swept.close(); assert.equal(swept.swept.state, "done"); @@ -319,15 +370,15 @@ try { } else if (selected === "macos-worker") { // the macOS worker's start with a stubbed docker CLI and a stand-in worker const { fakeWorker } = await import("../../agent/test/fixture/fake-worker.mjs"); - const macos = (await import("../src/platform/macos/index.js")).default; + const macos = (await import("../src/platform/docker/macos.js")).default; const worker = await fakeWorker(undefined, { anySecret: true }); const bundle = join(work, "bundle"); mkdirSync(bundle); writeFileSync(join(bundle, "manifest.json"), JSON.stringify({ build_id: "build-1" })); const calls = []; let started = false; - const real = macos.docker; - macos.docker = async (_settings, args, options = {}) => { + const real = macos.docker.run; + macos.docker.run = async (_settings, args, options = {}) => { calls.push({ args, env: options.env }); const [verb] = args; if (verb === "inspect" && !started) throw Object.assign(new Error("inspect"), { stderr: "Error: No such object: layerfs-worker" }); @@ -364,11 +415,40 @@ try { assert.equal("oldStore" in (await runtime.status()), false, "no older Store container is looked for"); // nothing but the worker is started or removed assert.deepEqual(calls.filter((c) => ["stop", "rm", "run"].includes(c.args[0])).map((c) => c.args[0]), ["run"]); + // before a Store's volume goes, the worker is asked to close its cached + // Store of it (#527 §10: this was a no-op on macOS) + await macos.releaseStore(runtime.settings, { volume: "lfs-shop-store-1" }); + const release = worker.calls.find((call) => call.fn === "releaseStore"); + assert.equal(release?.args.storePath, "/var/lib/docker/volumes/lfs-shop-store-1/_data/global/store.sqlite"); + await assert.rejects(macos.releaseStore(runtime.settings, { volume: "../x" }), { code: "InvalidInput" }); await runtime.close(); } finally { - macos.docker = real; + macos.docker.run = real; + worker.close(); + } + } else if (selected === "windows-worker") { + // the Windows worker's releaseStore, with a stand-in worker: before a Store's volume goes, + // a running worker closes its cached Store of it; with no endpoint (no worker ever started) + // or one that does not answer, nothing holds it and Store removal is not failed here + const { fakeWorker } = await import("../../agent/test/fixture/fake-worker.mjs"); + const windows = (await import("../src/platform/docker/windows/index.js")).default; + const settings = { home: join(work, "windows-home"), wsl: { home: "/home/me/.layerfs" } }; + const store = { name: "shop", volume: "lfs-shop-store-1", legacy: true }; + assert.equal(existsSync(join(settings.home, "worker", "endpoint.json")), false); + assert.equal(await windows.releaseStore(settings, store), undefined, "no endpoint: nothing to release"); + const worker = await fakeWorker(() => ({ value: null })); + try { + mkdirSync(join(settings.home, "worker"), { recursive: true }); + worker.endpoint(join(settings.home, "worker", "endpoint.json"), settings.wsl.home); + await windows.releaseStore(settings, store); + assert.deepEqual(worker.calls.map((c) => [c.fn, c.args.home, c.args.storePath]), [["releaseStore", "/home/me/.layerfs", "/var/lib/docker/volumes/lfs-shop-store-1/_data/global/store.sqlite"]]); + await assert.rejects(windows.releaseStore(settings, { volume: "../x" }), { code: "InvalidInput" }); + } finally { worker.close(); } + // the endpoint of a worker that has ended: it answers no ping, so it holds no Store + await windows.releaseStore(settings, store); + assert.equal(worker.calls.length, 1, "no release was sent to a worker that is gone"); } else if (selected === "worker-frames") { // the real worker/server.js on a stand-in sealed bundle and binding: the // unauthenticated first frame is capped, a silent connection ends after @@ -697,8 +777,35 @@ try { assert.equal(JSON.parse(readFileSync(join(home, "stores.json"), "utf8")).version, 2); rmSync(folder, { recursive: true, force: true }); await runtime.close(); + } else if (selected === "backend") { + // #527 F4: the local deployment names Docker; ambient native settings in this process do not leak into it + const ambient = { SANDBOX: "native", SANDBOX_BACKEND: "namespaces", LOCAL_DIR: "/ambient/local", IMAGE_ARCHIVE: "/ambient/image.tar" }; + for (const [name, value] of Object.entries(ambient)) process.env[`LAYERFS_${name}`] = value; + try { + const { runtime } = await opened(); + project("shop"); + mkdirSync(join(home, ".runtime", "projects"), { recursive: true }); + writeFileSync(join(home, ".runtime", "projects", "shop.json"), JSON.stringify({ name: "shop", volume: "vol-shop" })); + native.sandboxList = []; + native.workspaceList = []; + const before = native.calls.length; + await runtime.project.get_state("shop"); + const deploy = native.args[before].deploy; + assert.equal(native.calls[before], "project.list_branches"); + assert.equal(deploy.sandbox, "docker", "the local placement names its backend"); + assert.deepEqual(["sandboxBackend", "localDir", "imageArchive"].filter((name) => name in deploy), [], "no native-only setting leaks in"); + assert.equal(deploy.volume, "vol-shop"); + const { deploymentEnv } = await import("../src/clients.js"); + const pg = deploymentEnv(runtime.settings, runtime.platform, { name: "api", kind: "postgresql", store: "main" }); + assert.deepEqual([pg.SANDBOX, pg.SANDBOX_BACKEND, pg.LOCAL_DIR, pg.IMAGE_ARCHIVE], ["docker", "", "", ""], "a PostgreSQL project's deployment names it too"); + await runtime.close(); + // the ambient values are this process's again once the client is made + assert.deepEqual(Object.keys(ambient).map((name) => process.env[`LAYERFS_${name}`]), Object.values(ambient)); + } finally { + for (const name of Object.keys(ambient)) delete process.env[`LAYERFS_${name}`]; + } } else { - throw new Error("select surface, home-mode, projects, init, state, events, leftovers, sandboxes, volumes, transport-order, macos-worker, worker-frames, docker-default, worker-docker or stores"); + throw new Error("select surface, home-mode, projects, init, state, events, leftovers, sandboxes, volumes, transport-order, macos-worker, worker-frames, docker-default, worker-docker, stores or backend"); } } finally { rmSync(work, { recursive: true, force: true }); diff --git a/api/runtime/test/verify/cells/cell.mjs b/api/runtime/test/verify/cells/cell.mjs new file mode 100644 index 0000000000..f12feee913 --- /dev/null +++ b/api/runtime/test/verify/cells/cell.mjs @@ -0,0 +1,151 @@ +// One cell on one project, as a LayerFS agent process (#527, #516 class B). +// Settings come only from the environment, like any agent's; the SDK is the +// pinned bundle's (`LFS527_AGENT`, its api/agent/src/index.js). +// node cell.mjs +// Protocol, all on one Branch `lane`, forked untimed from `main` (Init +// publishes the source as main's Layer and makes no Branch; a Workspace mounts +// a Branch), and in one Sandbox, created untimed next and reused by every phase: +// setup (C09-C11) mount, exec the setup body, Commit, unmount; +// warm-up mount, exec the timed line, unmount with discard (no Commit); +// timed [host lock] mount, exec, Commit, unmount (no discard) [unlock]; +// verify fresh mount, exec the Sandbox identity and the verifier, unmount with discard; +// close the Sandbox. +// The lock is asked of the parent: this process prints `LFS527-LOCK acquire` +// and waits for one stdin line `LFS527-LOCK granted `, then prints +// `LFS527-LOCK release`. The last stdout line is `LFS527-RESULT `. +import { createInterface } from "node:readline"; +import { pathToFileURL } from "node:url"; +import { CF, IDENTITY, command, parseIdentity, parseTimed, timedLine, verifier } from "./workloads.mjs"; + +const [cell, project] = process.argv.slice(2); +const BRANCH = "lane"; +const out = { cell, project, branch: BRANCH, ok: false, cause: null, phases: {}, steps: [] }; +const now = () => performance.now(); +const round = (ms) => Math.round(ms * 1000) / 1000; +const errorOf = (error) => ({ code: error?.code ?? null, message: String(error?.message ?? error).slice(0, 2000), detail: error?.detail ?? null }); + +const lines = createInterface({ input: process.stdin }); +const pending = []; +lines.on("line", (line) => pending.shift()?.(line)); +const nextLine = () => new Promise((resolve) => pending.push(resolve)); + +/** One SDK call, its wall time and what it answered or refused, recorded under `name`. */ +async function step(name, call) { + const at = now(); + try { + const value = await call(); + out.steps.push({ name, ms: round(now() - at), ok: true }); + return { value, ms: round(now() - at) }; + } catch (error) { + out.steps.push({ name, ms: round(now() - at), ok: false, error: errorOf(error) }); + const failed = new Error(`${name}: ${error?.code ?? ""} ${error?.message ?? error}`.trim()); + failed.step = name; + throw failed; + } +} + +const exec = (layerfs, ws, text, label) => step(label, () => layerfs.workspace.exec(ws, text, `lfs527 ${cell} ${label}`)); +const execSummary = ({ value, ms }) => ({ wallMs: ms, exitCode: value.exitCode, stdout: value.stdout?.slice(0, 2000), stderr: value.stderr?.slice(0, 2000), ...parseTimed(value.stdout) }); + +if (!CF[cell] || !project || !process.env.LFS527_AGENT) { + console.error("usage: LFS527_AGENT=/api/agent/src/index.js node cell.mjs "); + process.exit(2); +} +const { LayerFS } = await import(pathToFileURL(process.env.LFS527_AGENT).href); +let layerfs, sandbox; +const mounted = new Set(); +try { + layerfs = (await step("open", () => LayerFS.open(project))).value; + out.fork = (await step("branch.fork", () => layerfs.branch.fork(BRANCH, "main"))).value; + const created = (await step("sandbox.create", () => layerfs.sandbox.create())).value; + sandbox = created.sandbox; + out.sandbox = created; + + const line = timedLine(command(cell)); + const mount = async (label) => { + const result = await step(`${label}.mount`, () => layerfs.workspace.mount(sandbox, BRANCH)); + mounted.add(result.value); + return result; + }; + const unmount = async (label, ws, discard) => { + const result = await step(`${label}.unmount`, () => layerfs.workspace.unmount(ws, discard)); + mounted.delete(ws); + return result; + }; + + if (CF[cell][1]) { + const { value: ws } = await mount("setup"); + const ran = execSummary(await exec(layerfs, ws, CF[cell][1], "setup.exec")); + if (ran.exitCode !== 0) throw Object.assign(new Error(`setup body exited ${ran.exitCode}: ${ran.stderr}`), { step: "setup.exec" }); + const committed = await step("setup.commit", () => layerfs.workspace.commit(ws, `lfs527 ${cell} setup`)); + const left = await unmount("setup", ws, false); + out.phases.setup = { exec: ran, commitKind: committed.value?.kind, commit: committed.value, unmount: left.value }; + } + + { + const mountAt = await mount("warmup"); + const ran = execSummary(await exec(layerfs, mountAt.value, line, "warmup.exec")); + // a warm-up's changes are never committed: discard drops them with the mount + const left = await unmount("warmup", mountAt.value, true); + out.phases.warmup = { mountMs: mountAt.ms, exec: ran, unmountMs: left.ms, unmount: left.value }; + } + + // the timed phase, under the host-wide lock + const askedAt = now(); + console.log("LFS527-LOCK acquire"); + const granted = await nextLine(); + if (!granted.startsWith("LFS527-LOCK granted")) throw Object.assign(new Error(`lock not granted: ${granted}`), { step: "lock" }); + out.lock = { askedMs: round(now() - askedAt), ...JSON.parse(granted.slice("LFS527-LOCK granted".length).trim() || "{}") }; + try { + const mountAt = await mount("timed"); + const ws = mountAt.value; + const ran = execSummary(await exec(layerfs, ws, line, "timed.exec")); + const committed = await step("timed.commit", () => layerfs.workspace.commit(ws, `lfs527 ${cell}`)); + const left = await unmount("timed", ws, false); + out.phases.timed = { + mountMs: mountAt.ms, image: ws.image ?? null, workspace: { sandbox: ws.sandbox, path: ws.path }, + exec: ran, commitMs: committed.ms, commitKind: committed.value?.kind ?? null, commit: committed.value, + unmountMs: left.ms, unmount: left.value, + }; + } finally { + console.log("LFS527-LOCK release"); + } + + { + const { value: ws } = await mount("verify"); + const identity = await exec(layerfs, ws, IDENTITY, "verify.identity"); + out.where = parseIdentity(identity.value.stdout); + const checked = await exec(layerfs, ws, verifier(cell), "verify.exec"); + await unmount("verify", ws, true); + out.phases.verify = { exitCode: checked.value.exitCode, stdout: checked.value.stdout.slice(0, 2000), stderr: checked.value.stderr.slice(0, 2000) }; + } + + const timed = out.phases.timed; + const problems = []; + if (timed.exec.exitCode !== 0) problems.push(`exec exit ${timed.exec.exitCode}`); + if (timed.exec.rc !== 0) problems.push(`body exit ${timed.exec.rc}`); + if (!["Committed", "UpToDate"].includes(timed.commitKind)) problems.push(`Commit kind ${timed.commitKind}`); + if (out.phases.verify.exitCode !== 0 || !/^VERIFY OK$/m.test(out.phases.verify.stdout)) problems.push(`verifier: ${out.phases.verify.stdout.trim()} ${out.phases.verify.stderr.trim()}`.trim()); + out.ok = problems.length === 0; + out.cause = problems.join("; ") || null; +} catch (error) { + out.ok = false; + out.cause = error.message; + out.failedStep = error.step ?? null; +} finally { + // whatever happened: force-unmount what is still mounted, then close the Sandbox + for (const ws of mounted) { + await layerfs.workspace.unmount(ws, true, true).then( + () => out.steps.push({ name: "cleanup.unmount", ok: true }), + (error) => out.steps.push({ name: "cleanup.unmount", ok: false, error: errorOf(error) }), + ); + } + if (sandbox) { + // not part of the verdict (PASS = verifier, Commit, clean unmount); the driver's teardown reports leftovers + await step("sandbox.close", () => layerfs.sandbox.close(sandbox)).catch((error) => { out.closeError = error.message; }); + } + await layerfs?.close().catch(() => {}); + lines.close(); +} +console.log(`LFS527-RESULT ${JSON.stringify(out)}`); +process.exit(0); diff --git a/api/runtime/test/verify/cells/run.mjs b/api/runtime/test/verify/cells/run.mjs new file mode 100644 index 0000000000..de8c5abd5c --- /dev/null +++ b/api/runtime/test/verify/cells/run.mjs @@ -0,0 +1,614 @@ +// The #527 platform pass driver: one cell on one platform row, one sample. +// node run.mjs --out [options] +// node run.mjs refusals --out [options] +// It makes a fresh project (Init from an empty folder) through the row's +// route, runs cell.mjs as its own agent process with that row's environment, +// writes one receipt JSON (never overwriting one), then deletes the project +// and everything it made, also on failure. Only the timed phase holds the +// host-wide lock (an atomic mkdir under ~/.cache/layerfs-test). The whole +// invocation is bounded at --budget-ms (default 115 s). +// +// Rows: macos-docker, macos-native, linux-docker, linux-native, +// linux-namespaces, vm-apple-container, vm-microsandbox, vm-ssh, refusals. +// A linux-* row given on macOS re-runs this file as root inside the Lima VM +// (LFS527_LIMA_VM, default lfs527-linux) and relays the lock over stdio. +// +// Options (each also an environment variable): +// --linux-bundle LFS527_LINUX_BUNDLE sealed Linux bundle (macos-docker, linux-*) +// --macos-bundle LFS527_MACOS_BUNDLE sealed macOS bundle (macos-native, refusals) +// --vm-bundle LFS527_VM_BUNDLE Linux bundle copy carrying images/.tar (vm-*) +// --image LFS527_IMAGE Sandbox image digest (default: the bundle's images.sandbox) +// --image-archive LFS527_IMAGE_ARCHIVE docker-archive of the image (linux-namespaces) +// --provider LFS527_PROVIDER refusals vm-docker: the VM provider (default apple-container) +// --budget-ms LFS527_BUDGET_MS the invocation's deadline (default 115000) +// --lock-relay ask the parent for the lock over stdio (set by the Lima relay) +// Other settings: LFS527_DOCKER (macOS Docker socket), LFS527_WORK (work root), +// LFS527_LOCK (lock dir), LFS527_LOCK_WAIT_MS (default 45000), LFS527_VM_CPUS / +// LFS527_VM_MEMORY (default 4 / 4G), LFS527_LIMA_VM, LFS527_LIMA_NODE, and for +// vm-ssh the runtime's own LAYERFS_SSH_* settings. vm-firecracker runs in the +// Lima vz host LFS527_FIRECRACKER_LIMA (default lfs527-vzkvm) from +// LFS527_FIRECRACKER_DIR (default /var/lib/lfs527-firecracker), with 2G of +// memory unless LFS527_VM_MEMORY says otherwise (the host has 4 GiB). +import { spawn, execFileSync } from "node:child_process"; +import { createHash } from "node:crypto"; +import { chmodSync, copyFileSync, existsSync, renameSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs"; +import { homedir, hostname, loadavg, release, cpus, totalmem } from "node:os"; +import { dirname, join } from "node:path"; +import { createInterface } from "node:readline"; +import { fileURLToPath, pathToFileURL } from "node:url"; +import { CF, command, sha256 } from "./workloads.mjs"; + +const SELF = fileURLToPath(import.meta.url); +const HERE = dirname(SELF); +const CELL = join(HERE, "cell.mjs"); +const ROWS = ["macos-docker", "macos-native", "linux-docker", "linux-native", "linux-namespaces", "vm-apple-container", "vm-microsandbox", "vm-lima", "vm-firecracker", "vm-ssh", "refusals"]; +const REFUSALS = ["macos-namespaces", "vm-docker"]; + +// ---- arguments ------------------------------------------------------------ +const argv = process.argv.slice(2); +const [row, cell] = argv; +const flag = (name, envName, fallback = undefined) => { + const at = argv.indexOf(`--${name}`); + return at >= 0 ? argv[at + 1] : process.env[envName] || fallback; +}; +const relay = argv.includes("--lock-relay"); +const outDir = flag("out", "LFS527_OUT"); +const budgetMs = Number(flag("budget-ms", "LFS527_BUDGET_MS", "115000")); +const deadline = Date.now() + budgetMs; +const opts = { + linuxBundle: flag("linux-bundle", "LFS527_LINUX_BUNDLE"), + macosBundle: flag("macos-bundle", "LFS527_MACOS_BUNDLE"), + vmBundle: flag("vm-bundle", "LFS527_VM_BUNDLE"), + image: flag("image", "LFS527_IMAGE"), + imageArchive: flag("image-archive", "LFS527_IMAGE_ARCHIVE"), + provider: flag("provider", "LFS527_PROVIDER", "apple-container"), +}; +if (!ROWS.includes(row) || (row === "refusals" ? !REFUSALS.includes(cell) : !CF[cell]) || (!outDir && !relay)) { + console.error(`usage: node run.mjs <${ROWS.join("|")}> --out [--linux-bundle P] [--macos-bundle P] [--vm-bundle P] [--image D] [--image-archive P]`); + process.exit(2); +} + +const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +const log = (...args) => console.error(`[lfs527 ${row} ${cell}]`, ...args); +const fileSha = (path) => createHash("sha256").update(readFileSync(path)).digest("hex"); +const errorOf = (error) => ({ code: error?.code ?? null, message: String(error?.message ?? error).slice(0, 2000), detail: error?.detail ?? null }); +const id = `${Date.now().toString(36)}${process.pid.toString(36)}`.slice(-10); +const prefix = `lfs527-${id}-`; +const project = (row === "refusals" ? "refusal" : cell.toLowerCase()); + +const receipt = { + receipt: "lfs527-cell/1", + row, cell, verdict: null, cause: null, + project, prefix, + startedAt: new Date().toISOString(), + host: { hostname: hostname(), platform: process.platform, release: release(), cpus: cpus().length, memBytes: totalmem(), node: process.version, uid: process.getuid?.() }, + runner: { "run.mjs": fileSha(SELF), "cell.mjs": fileSha(CELL), "workloads.mjs": fileSha(join(HERE, "workloads.mjs")) }, + load1: { start: loadavg()[0] }, + constructionWorkers: "1", + driver: {}, + teardown: [], +}; +if (row !== "refusals") { + receipt.body = { sha256: sha256(CF[cell][0]), commandSha256: sha256(command(cell)), setupSha256: CF[cell][1] ? sha256(CF[cell][1]) : null }; +} + +// ---- bundle identity -------------------------------------------------------- +/** The bundle's manifest identity, and every manifest file's sha256 checked once. */ +function bundleIdentity(bundle) { + const manifest = JSON.parse(readFileSync(join(bundle, "manifest.json"), "utf8")); + const mismatched = Object.entries(manifest.files ?? {}).filter(([path, hash]) => !existsSync(join(bundle, path)) || fileSha(join(bundle, path)) !== hash).map(([path]) => path); + return { + path: bundle, id: manifest.build_id, platform: manifest.platform, profile: manifest.profile, + sourceCommit: manifest.source?.head ?? null, sourceSha256: manifest.source?.sha256 ?? null, + manifestSha256: fileSha(join(bundle, "manifest.json")), images: manifest.images ?? null, + filesChecked: Object.keys(manifest.files ?? {}).length, mismatched, + imageArchives: existsSync(join(bundle, "images")) ? readdirSync(join(bundle, "images")) : [], + }; +} +const apiUrl = (bundle, path) => pathToFileURL(join(bundle, "api", path)).href; +const agentPath = (bundle) => join(bundle, "api", "agent", "src", "index.js"); + +// ---- the host-wide lock ----------------------------------------------------- +const LOCK = flag("lock", "LFS527_LOCK", join(homedir(), ".cache", "layerfs-test", "lfs527-sample.lock")); +const LOCK_WAIT_MS = Number(process.env.LFS527_LOCK_WAIT_MS || 45_000); +let stdinLines = null; +const pendingStdin = []; +function parentLine() { + if (!stdinLines) { + stdinLines = createInterface({ input: process.stdin }); + stdinLines.on("line", (line) => pendingStdin.shift()?.(line)); + } + return new Promise((resolve) => pendingStdin.push(resolve)); +} + +/** Takes the lock: {waitMs, load1, ...}. In relay mode the parent takes it. */ +async function acquireLock() { + if (relay) { + console.log("LFS527-LOCK acquire"); + const line = await parentLine(); + if (!line.startsWith("LFS527-LOCK granted")) throw new Error(`the parent did not grant the lock: ${line}`); + return { ...JSON.parse(line.slice("LFS527-LOCK granted".length).trim()), relayed: true, load1Local: loadavg()[0] }; + } + mkdirSync(dirname(LOCK), { recursive: true }); + const asked = Date.now(), until = Math.min(asked + LOCK_WAIT_MS, deadline - 30_000); + let staleRemoved = null; + for (;;) { + try { + mkdirSync(LOCK); + writeFileSync(join(LOCK, "owner.json"), JSON.stringify({ pid: process.pid, hostname: hostname(), row, cell, at: new Date().toISOString() })); + return { lock: LOCK, waitMs: Date.now() - asked, load1: loadavg()[0], grantedAt: new Date().toISOString(), staleRemoved }; + } catch (error) { + if (error.code !== "EEXIST") throw error; + } + // an owner of this host whose process is gone left it: removed once, recorded + try { + const owner = JSON.parse(readFileSync(join(LOCK, "owner.json"), "utf8")); + let alive = true; + try { process.kill(owner.pid, 0); } catch (error) { alive = error.code !== "ESRCH"; } + if (owner.hostname === hostname() && !alive && !staleRemoved) { + rmSync(LOCK, { recursive: true, force: true }); + staleRemoved = owner; + continue; + } + } catch {} + if (Date.now() >= until) throw new Error(`the host lock ${LOCK} was not free within ${Date.now() - asked} ms`); + await sleep(100); + } +} +function releaseLock() { + if (relay) console.log("LFS527-LOCK release"); + else rmSync(LOCK, { recursive: true, force: true }); +} + +/** + * Runs a child that speaks the lock protocol on its stdout and stdin and ends + * with one ` ` line. Killed at `ms`; a lock it holds is released. + */ +function runChild(file, args, env, ms, marker) { + return new Promise((resolve) => { + const child = spawn(file, args, { env, stdio: ["pipe", "pipe", "pipe"] }); + const err = [], lock = { grants: [] }; + let result = null, holding = false, killed = false; + const timer = setTimeout(() => { killed = true; child.kill("SIGKILL"); }, ms); + createInterface({ input: child.stdout }).on("line", async (line) => { + if (line === "LFS527-LOCK acquire") { + try { + const grant = await acquireLock(); + holding = true; + lock.grants.push(grant); + child.stdin.write(`LFS527-LOCK granted ${JSON.stringify(grant)}\n`); + } catch (error) { + lock.error = error.message; + child.stdin.write(`LFS527-LOCK refused ${JSON.stringify(error.message)}\n`); + } + } else if (line === "LFS527-LOCK release") { + if (holding) releaseLock(); + holding = false; + } else if (line.startsWith(`${marker} `)) { + result = JSON.parse(line.slice(marker.length + 1)); + } else { + err.push(`stdout: ${line}\n`); + } + }); + child.stderr.on("data", (chunk) => err.push(chunk.toString())); + child.on("close", (code, signal) => { + clearTimeout(timer); + if (holding) releaseLock(); + resolve({ code, signal, killed, result, lock, stderr: err.join("").slice(-4000) }); + }); + }); +} + +// ---- helpers shared by rows ------------------------------------------------ +const workRoot = () => process.env.LFS527_WORK || (process.platform === "linux" ? "/var/lib/lfs527" : join(homedir(), ".cache", "layerfs-test")); +/** A fresh work folder: home (0700), an empty Init source and the row's own folders. */ +function makeWork() { + mkdirSync(workRoot(), { recursive: true, mode: 0o755 }); + const work = mkdtempSync(join(workRoot(), "lfs527-")); + chmodSync(work, 0o755); // a native Linux Sandbox's commands (501:20) traverse it + receipt.driver.work = work; // named at once, so a setup cut at the deadline still names it + const home = join(work, "home"), source = join(work, "src"); + mkdirSync(home, { mode: 0o700 }); + mkdirSync(source); + return { work, home, source }; +} +/** The child's environment: this process's without any LAYERFS_ setting, then the row's. */ +function agentEnv(rowEnv, bundle) { + const base = Object.fromEntries(Object.entries(process.env).filter(([name]) => !name.startsWith("LAYERFS_"))); + return { ...base, ...rowEnv, LAYERFS_CONSTRUCTION_WORKERS: "1", LFS527_AGENT: agentPath(bundle) }; +} +const prefixed = (env) => Object.fromEntries(Object.entries(env).filter(([, value]) => value !== undefined && value !== "").map(([key, value]) => [`LAYERFS_${key}`, value])); +const teardownStep = async (name, call) => { + try { + const value = await call(); + receipt.teardown.push({ name, ok: true, ...(value === undefined ? {} : { value }) }); + } catch (error) { + receipt.teardown.push({ name, ok: false, error: errorOf(error) }); + } +}; +/** Init through @layerfs/runtime: one job, read until it ends or the deadline. */ +async function initThrough(runtime, name, source) { + let job = await runtime.project.start_init(name, source); + while (!job.ended && Date.now() < deadline - 30_000) { + await sleep(100); + job = await runtime.project.get_init(job); + } + if (job.step !== "done") throw Object.assign(new Error(`Init ${job.step}: ${JSON.stringify(job.error)}`), { code: job.error?.code }); + return (await runtime.project.list()).find((entry) => entry.name === name); +} +const docker = (socket, ...args) => execFileSync("docker", [...(socket ? ["-H", `unix://${socket}`] : []), ...args], { encoding: "utf8", timeout: 30_000 }).trim(); +/** Removes the containers and volumes this run's prefix names, and nothing else. */ +function removeDockerLeftovers(socket) { + const removed = []; + for (const name of docker(socket, "ps", "-a", "--filter", `name=^${prefix}`, "--format", "{{.Names}}").split("\n").filter(Boolean)) { docker(socket, "rm", "-f", name); removed.push(name); } + for (const name of docker(socket, "volume", "ls", "--filter", `name=^${prefix}`, "--format", "{{.Name}}").split("\n").filter(Boolean)) { docker(socket, "volume", "rm", name); removed.push(name); } + return removed; +} + +/** A row on @layerfs/runtime: open it, make the project, and its teardown. */ +async function runtimeRow({ bundle, settings, extraEnv = () => ({}), socket, after = async () => {} }) { + const { LayerFSRuntime } = await import(apiUrl(bundle, "runtime/src/index.js")); + const { deploymentEnv } = await import(apiUrl(bundle, "runtime/src/clients.js")); + const { work, home, source } = makeWork(); + receipt.driver.work = work; + let runtime = null; + const teardown = async () => { + if (runtime) { + await teardownStep("project.delete", () => runtime.project.delete(project, { confirm: project, stopSandboxes: true })); + await after(runtime); + await teardownStep("runtime.close", () => runtime.close()); + } + if (socket !== undefined) await teardownStep("docker leftovers", () => removeDockerLeftovers(socket)); + await teardownStep("work", () => rmSync(work, { recursive: true, force: true })); + }; + try { + runtime = await LayerFSRuntime.open({ home, bundle, containerPrefix: prefix, sweep: false, ...settings }); + const at = Date.now(); + const made = await initThrough(runtime, project, source); + receipt.driver.initMs = Date.now() - at; + receipt.driver.volume = made?.volume ?? null; + const env = { ...prefixed(deploymentEnv(runtime.settings, runtime.platform, made)), ...extraEnv(home) }; + return { env, teardown, runtime, made }; + } catch (error) { + error.teardown = teardown; + throw error; + } +} + +/** A row on the SDK alone (native, namespaces): LayerFS.init in this process. */ +async function sdkRow({ bundle, rowEnv }) { + const { work, home, source } = makeWork(); + receipt.driver.work = work; + const local = join(work, "local"), store = join(work, "store"); + mkdirSync(local, { mode: 0o755 }); + chmodSync(local, 0o755); + mkdirSync(store, { mode: 0o700 }); + const env = { + LAYERFS_SANDBOX: "native", LAYERFS_NATIVE: join(bundle, "layerfs.node"), LAYERFS_DAEMON: join(bundle, "layerfs-daemon"), + LAYERFS_LOCAL_DIR: local, LAYERFS_STORE_PATH: join(store, "store.sqlite"), LAYERFS_HOME: home, LAYERFS_CONTAINER_PREFIX: prefix, + ...rowEnv, + }; + for (const name of Object.keys(process.env)) if (name.startsWith("LAYERFS_")) delete process.env[name]; + Object.assign(process.env, env, { LAYERFS_CONSTRUCTION_WORKERS: "1" }); + const { LayerFS } = await import(pathToFileURL(agentPath(bundle)).href); + const teardown = async () => { + // close every Sandbox of the project, force-unmounting what is still mounted + await teardownStep("sandboxes", async () => { + const client = await LayerFS.open(project); + const closed = []; + try { + for (const { sandbox } of (await client.project.list_sandboxes(1000, 0)).items) { + for (const ws of (await client.sandbox.list_workspaces(sandbox, 1000, 0)).items ?? []) await client.workspace.unmount({ sandbox: ws.sandbox, path: ws.path }, true, true); + await client.sandbox.close(sandbox); + closed.push(sandbox); + } + } finally { + await client.close(); + } + return closed; + }); + await teardownStep("leftover mounts and processes", () => { + const mounts = execFileSync(process.platform === "linux" ? "cat" : "mount", process.platform === "linux" ? ["/proc/mounts"] : [], { encoding: "utf8" }).split("\n").filter((line) => line.includes(work)); + let pids = ""; + try { pids = execFileSync("pgrep", ["-f", work], { encoding: "utf8" }).trim(); } catch {} + return { mounts, pids: pids.split("\n").filter(Boolean) }; + }); + await teardownStep("work", () => rmSync(work, { recursive: true, force: true })); + }; + try { + if (process.platform === "linux") { + receipt.driver.fs = execFileSync("findmnt", ["-n", "-o", "FSTYPE", "-T", work], { encoding: "utf8" }).trim(); + receipt.driver.maxUserNamespaces = readFileSync("/proc/sys/user/max_user_namespaces", "utf8").trim(); + } + const at = Date.now(); + const created = await LayerFS.init(project, source); + receipt.driver.initMs = Date.now() - at; + receipt.driver.init = created.created ?? null; + await created.close(); + return { env, teardown, LayerFS }; + } catch (error) { + error.teardown = teardown; + throw error; + } +} + +// ---- rows ------------------------------------------------------------------- +const need = (value, name) => { + if (!value) throw Object.assign(new Error(`${name} is required for ${row}`), { code: "InvalidInput" }); + return value; +}; +const macDocker = () => process.env.LFS527_DOCKER || join(homedir(), ".docker", "run", "docker.sock"); +const vmSize = (provider) => ({ cpus: Number(process.env.LFS527_VM_CPUS || 4), memory: process.env.LFS527_VM_MEMORY || (provider === "firecracker" ? "2G" : "4G") }); + +const SETUP = { + async "macos-docker"() { + const bundle = need(opts.linuxBundle, "--linux-bundle"); + const image = opts.image || bundleIdentity(bundle).images?.sandbox; + const socket = macDocker(); + receipt.imageDigest = image; + const made = await runtimeRow({ + bundle, socket, + settings: { image, docker: socket, platform: "macos" }, + extraEnv: (home) => ({ LAYERFS_WORKER_ENDPOINT: join(home, "worker", "endpoint.json") }), + }); + return { ...made, bundle }; + }, + async "macos-native"() { + const bundle = need(opts.macosBundle, "--macos-bundle"); + receipt.imageDigest = null; // a native Sandbox runs on the Mac itself + return { ...(await sdkRow({ bundle, rowEnv: {} })), bundle }; + }, + async "linux-docker"() { + const bundle = need(opts.linuxBundle, "--linux-bundle"); + const image = opts.image || bundleIdentity(bundle).images?.sandbox; + receipt.imageDigest = image; + // on Linux the runtime runs Init in this process, with the bundle's addon + process.env.LAYERFS_NATIVE = join(bundle, "layerfs.node"); + const made = await runtimeRow({ + bundle, socket: null, + settings: { image, platform: "linux" }, + extraEnv: () => ({ LAYERFS_NATIVE: join(bundle, "layerfs.node") }), + }); + return { ...made, bundle }; + }, + async "linux-native"() { + const bundle = need(opts.linuxBundle, "--linux-bundle"); + receipt.imageDigest = null; // the VM's own userland + return { ...(await sdkRow({ bundle, rowEnv: {} })), bundle }; + }, + async "linux-namespaces"() { + const bundle = need(opts.linuxBundle, "--linux-bundle"); + const image = opts.image || bundleIdentity(bundle).images?.sandbox; + receipt.imageDigest = image; + receipt.imageArchive = need(opts.imageArchive, "--image-archive"); + return { ...(await sdkRow({ bundle, rowEnv: { LAYERFS_SANDBOX: "namespaces", LAYERFS_IMAGE: image, LAYERFS_IMAGE_ARCHIVE: opts.imageArchive } })), bundle }; + }, + "vm-apple-container": () => vmRow("apple-container"), + "vm-microsandbox": () => vmRow("microsandbox"), + "vm-lima": () => vmRow("lima"), + "vm-firecracker": () => vmRow("firecracker"), + "vm-ssh": () => vmRow("ssh"), +}; + +async function vmRow(provider) { + const bundle = need(opts.vmBundle, "--vm-bundle"); + if (provider === "ssh" && !process.env.LAYERFS_SSH_STATE_DIR) { + // the SSH provider's session records go in this run's own folder (removed with it) + process.env.LAYERFS_SSH_STATE_DIR = join(workRoot(), `lfs527-ssh-state-${id}`); + receipt.driver.sshStateDir = process.env.LAYERFS_SSH_STATE_DIR; + } + if (provider === "firecracker") { + // the provider's settings, read by the runtime in this process; its + // microVM records go in this run's own folder (removed with it) + process.env.LAYERFS_FIRECRACKER_LIMA ||= process.env.LFS527_FIRECRACKER_LIMA || "lfs527-vzkvm"; + process.env.LAYERFS_FIRECRACKER_DIR ||= process.env.LFS527_FIRECRACKER_DIR || "/var/lib/lfs527-firecracker"; + process.env.LAYERFS_FIRECRACKER_STATE_DIR ||= join(workRoot(), `lfs527-firecracker-state-${id}`); + receipt.driver.firecracker = { lima: process.env.LAYERFS_FIRECRACKER_LIMA, dir: process.env.LAYERFS_FIRECRACKER_DIR, stateDir: process.env.LAYERFS_FIRECRACKER_STATE_DIR }; + } + const made = await runtimeRow({ + bundle, + settings: { placement: `vm:${provider}`, ...(provider === "ssh" ? {} : { vm: vmSize(provider) }) }, + after: async (runtime) => { + if (provider === "ssh") { + // vm:ssh never touches the user's disk on delete (ssh.js removeStore is + // empty); this run's Store, Sandbox folders, home entry and import copy on + // the pass's own SSH host are removed here, with one ssh command + await teardownStep("ssh host files", () => { + const ssh = runtime.settings.vm.ssh, store = ssh.storePath; + const args = ["-p", String(ssh.port), "-o", "BatchMode=yes", ...(ssh.identityFile ? ["-i", ssh.identityFile] : []), + ...(ssh.knownHostsFile ? ["-o", `UserKnownHostsFile=${ssh.knownHostsFile}`] : []), + "-o", `StrictHostKeyChecking=${ssh.strictHostKeyChecking === true ? "yes" : ssh.strictHostKeyChecking || "yes"}`, + `${ssh.user}@${ssh.host}`, "--", `rm -rf ${store}/global ${store}/local /layerfs/store/global /layerfs/store/local /layerfs/home/${project} /layerfs/import`]; + execFileSync("ssh", args, { encoding: "utf8", timeout: 30_000 }); + return store; + }); + } + await teardownStep("vm.delete", () => runtime.vm.delete(project, { confirm: "delete", discardStore: true })); + if (provider === "ssh") await teardownStep("ssh state", () => rmSync(process.env.LAYERFS_SSH_STATE_DIR, { recursive: true, force: true })); + if (provider === "firecracker") await teardownStep("firecracker state", () => rmSync(process.env.LAYERFS_FIRECRACKER_STATE_DIR, { recursive: true, force: true })); + }, + }); + receipt.imageDigest = made.env.LAYERFS_IMAGE ?? null; + receipt.driver.vm = await made.runtime.vm.status(project).catch((error) => errorOf(error)); + return { ...made, bundle }; +} + +// ---- refusals ----------------------------------------------------------------- +/** One call whose refusal is the observation: { ok, code, message }. */ +async function observe(call) { + try { + const value = await call(); + return { refused: false, value: JSON.parse(JSON.stringify(value ?? null)) }; + } catch (error) { + return { refused: true, ...errorOf(error) }; + } +} + +async function refusals() { + if (cell === "macos-namespaces") { + const bundle = need(opts.macosBundle, "--macos-bundle"); + receipt.bundle = bundleIdentity(bundle); + const made = await sdkRow({ bundle, rowEnv: {} }); + teardowns.push(made.teardown); + const image = opts.image || receipt.bundle.images?.sandbox; + // step 11: LAYERFS_SANDBOX=namespaces; the former pair (native + + // LAYERFS_SANDBOX_BACKEND=namespaces, kept one release) is observed too + const attempt = async (extra, named = { LAYERFS_SANDBOX: "namespaces" }) => { + Object.assign(process.env, named, extra); + let client = null; + const opened = await observe(async () => { client = await made.LayerFS.open(project); return "opened"; }); + const created = client ? await observe(() => client.sandbox.create()) : null; + if (created && !created.refused) await client.sandbox.close(created.value.sandbox).catch(() => {}); + await client?.close(); + delete process.env.LAYERFS_SANDBOX_BACKEND; + process.env.LAYERFS_SANDBOX = made.env.LAYERFS_SANDBOX; + delete process.env.LAYERFS_IMAGE; + delete process.env.LAYERFS_IMAGE_ARCHIVE; + return { opened, created }; + }; + const without = await attempt({}); + const withImage = await attempt({ LAYERFS_IMAGE: image, LAYERFS_IMAGE_ARCHIVE: join(made.env.LAYERFS_LOCAL_DIR, "none.tar") }); + const former = await attempt({ LAYERFS_IMAGE: image, LAYERFS_IMAGE_ARCHIVE: join(made.env.LAYERFS_LOCAL_DIR, "none.tar") }, { LAYERFS_SANDBOX: "native", LAYERFS_SANDBOX_BACKEND: "namespaces" }); + receipt.observed = { + "LAYERFS_SANDBOX=namespaces, no image settings": without, + "LAYERFS_SANDBOX=namespaces, with LAYERFS_IMAGE and LAYERFS_IMAGE_ARCHIVE": withImage, + "former pair native + LAYERFS_SANDBOX_BACKEND=namespaces, with image settings": former, + }; + const codes = [without, withImage, former].map((seen) => seen.created?.code ?? seen.opened?.code); + receipt.verdict = codes.every((code) => code === "Unsupported") ? "PASS" : "FAIL"; + receipt.cause = `expected Unsupported three times; answered ${codes.map((code) => code ?? "no refusal").join(", ")}`; + return; + } + // vm-docker: what a caller who asks for Docker Sandboxes on a vm: home gets + const bundle = need(opts.vmBundle, "--vm-bundle"); + receipt.bundle = bundleIdentity(bundle); + const { LayerFSRuntime } = await import(apiUrl(bundle, "runtime/src/index.js")); + receipt.observed = {}; + receipt.observed["placement vm:docker"] = await observe(() => LayerFSRuntime.open({ home: join(workRoot(), `lfs527-refusal-${id}`), placement: "vm:docker" })); + rmSync(join(workRoot(), `lfs527-refusal-${id}`), { recursive: true, force: true }); + const made = await vmRow(opts.provider); + teardowns.push(made.teardown); + const { LayerFS } = await import(pathToFileURL(agentPath(bundle)).href); + const attempt = async (extra) => { + const saved = { ...process.env }; + Object.assign(process.env, made.env, extra); + let client = null; + const opened = await observe(async () => { client = await LayerFS.open(project); return "opened"; }); + for (const name of Object.keys(process.env)) if (!(name in saved)) delete process.env[name]; + Object.assign(process.env, saved); + const created = client ? await observe(() => client.sandbox.create()) : null; + if (created && !created.refused) await client.sandbox.close(created.value.sandbox).catch(() => {}); + await client?.close(); + return { opened, created }; + }; + receipt.observed[`LAYERFS_SANDBOX=docker on vm:${opts.provider}`] = await attempt({ LAYERFS_SANDBOX: "docker", LAYERFS_VOLUME: `${prefix}none`, LAYERFS_DOCKER: "/var/run/docker.sock", LAYERFS_IMAGE: receipt.bundle.images?.sandbox }); + receipt.observed[`LAYERFS_SANDBOX_BACKEND=docker on vm:${opts.provider}`] = await attempt({ LAYERFS_SANDBOX_BACKEND: "docker" }); + // documented answers (e9b9646148, step 11): vm:docker is no provider, Docker + // on a vm: home is Unsupported before it is sent, and the former + // LAYERFS_SANDBOX_BACKEND never names docker + const codeOf = (seen) => seen?.created?.code ?? seen?.opened?.code ?? seen?.code ?? null; + const expected = { "placement vm:docker": "Unsupported", [`LAYERFS_SANDBOX=docker on vm:${opts.provider}`]: "Unsupported", [`LAYERFS_SANDBOX_BACKEND=docker on vm:${opts.provider}`]: "InvalidInput" }; + const answered = Object.fromEntries(Object.keys(expected).map((name) => [name, codeOf(receipt.observed[name])])); + receipt.verdict = Object.entries(expected).every(([name, code]) => answered[name] === code) ? "PASS" : "FAIL"; + receipt.cause = `expected ${JSON.stringify(expected)}; answered ${JSON.stringify(answered)}`; +} + +// ---- the run ------------------------------------------------------------------ +const teardowns = []; +function writeReceipt() { + receipt.endedAt = new Date().toISOString(); + receipt.load1.end = loadavg()[0]; + const text = JSON.stringify(receipt, null, 2); + if (relay) console.log(`LFS527-RECEIPT ${JSON.stringify(receipt)}`); + if (outDir) { + mkdirSync(outDir, { recursive: true }); + const file = join(outDir, `${row}-${cell}-${receipt.startedAt.replace(/[:.]/g, "")}-${id}.json`); + writeFileSync(file, `${text}\n`, { flag: "wx" }); + log(`receipt ${file}: ${receipt.verdict}${receipt.cause ? ` (${receipt.cause})` : ""}`); + } +} + +/** A linux-* row asked for on macOS: this file again, as root in the Lima VM, with the lock relayed. */ +async function viaLima() { + const vm = process.env.LFS527_LIMA_VM || "lfs527-linux"; + // The VM reads the Mac's home over a 9p mount that can serve a stale copy of + // an edited file, so the runner runs from a content-named copy under + // ~/.cache/layerfs-test (a new folder per runner version), and the inner + // run's runner hashes must equal this one's. + const version = sha256(Object.values(receipt.runner).join("")).slice(0, 16); + const runner = join(homedir(), ".cache", "layerfs-test", `lfs527-runner-${version}`); + if (!existsSync(join(runner, "run.mjs"))) { + mkdirSync(`${runner}.tmp-${id}`, { recursive: true }); + for (const name of ["run.mjs", "cell.mjs", "workloads.mjs"]) copyFileSync(join(HERE, name), join(`${runner}.tmp-${id}`, name)); + renameSync(`${runner}.tmp-${id}`, runner); + } + const pass = Object.entries(process.env).filter(([name]) => name.startsWith("LFS527_") && name !== "LFS527_OUT").map(([name, value]) => `${name}=${value}`); + const args = ["shell", "--workdir", "/", vm, "sudo", "env", ...pass, + ...(opts.linuxBundle ? [`LFS527_LINUX_BUNDLE=${opts.linuxBundle}`] : []), ...(opts.image ? [`LFS527_IMAGE=${opts.image}`] : []), + ...(opts.imageArchive ? [`LFS527_IMAGE_ARCHIVE=${opts.imageArchive}`] : []), + process.env.LFS527_LIMA_NODE || "node", join(runner, "run.mjs"), row, cell, "--lock-relay", "--budget-ms", String(deadline - Date.now() - 5_000)]; + const ran = await runChild("limactl", args, process.env, deadline - Date.now(), "LFS527-RECEIPT"); + if (ran.result) { + const inner = ran.result.runner; + Object.assign(receipt, ran.result, { via: { lima: vm, lock: ran.lock, exit: ran.code, stderr: ran.stderr.slice(-1500) }, startedAt: receipt.startedAt, runner: receipt.runner, host: receipt.host, load1Outer: receipt.load1, runnerCopy: runner }); + if (JSON.stringify(inner) !== JSON.stringify(receipt.runner)) { + receipt.verdict = "FAIL"; + receipt.cause = `the VM ran another runner: ${JSON.stringify(inner)}`; + } + } else { + receipt.verdict = "FAIL"; + receipt.cause = `the Lima run ended without a receipt (exit ${ran.code}${ran.killed ? ", killed at the deadline" : ""})`; + receipt.via = { lima: vm, lock: ran.lock, exit: ran.code, signal: ran.signal, stderr: ran.stderr }; + } +} + +try { + if (row.startsWith("linux-") && process.platform === "darwin") { + await viaLima(); + } else if (row === "refusals") { + await refusals(); + } else { + const at = Date.now(); + // Setup is bounded by the invocation's deadline too: a setup still running + // 15 s before it is recorded as a failure, so the receipt is written before + // the outer bound kills this process (C01/C02 of the 50e2c2bc87 pass had none). + // What it made then is named by this run's prefix for the sweep to remove. + let late; + const made = await Promise.race([ + SETUP[row]().catch((error) => { throw Object.assign(error, { phase: "setup" }); }), + new Promise((_, reject) => { late = setTimeout(() => reject(Object.assign(new Error(`setup did not finish within ${Math.round((deadline - 15_000 - at) / 1000)} s; left for cleanup: ${receipt.driver.work ?? "no work folder yet"} and anything named ${prefix}*`), { phase: "setup" })), Math.max(0, deadline - 15_000 - Date.now())); }), + ]).finally(() => clearTimeout(late)); + teardowns.push(made.teardown); + receipt.driver.setupMs = Date.now() - at; + receipt.bundle = bundleIdentity(made.bundle); + receipt.sourceCommit = receipt.bundle.sourceCommit; + receipt.env = Object.fromEntries(Object.entries(made.env).filter(([name]) => name !== "LAYERFS_SSH_IDENTITY")); + const childMs = deadline - Date.now() - (row.startsWith("vm-") ? 30_000 : 20_000); + if (childMs < 15_000) throw Object.assign(new Error(`only ${childMs} ms left for the cell after setup`), { phase: "setup" }); + receipt.driver.cellBudgetMs = childMs; + const ran = await runChild(process.execPath, [CELL, cell, project], agentEnv(made.env, made.bundle), childMs, "LFS527-RESULT"); + receipt.lock = ran.lock.grants[0] ?? (ran.lock.error ? { error: ran.lock.error } : null); + receipt.cellResult = ran.result; + receipt.cellExit = { code: ran.code, signal: ran.signal, killed: ran.killed, stderr: ran.stderr }; + const timed = ran.result?.phases?.timed; + receipt.timings = timed ? { + mountMs: timed.mountMs, execWallMs: timed.exec.wallMs, commandMs: timed.exec.ms, commitMs: timed.commitMs, commitKind: timed.commitKind, unmountMs: timed.unmountMs, + } : null; + receipt.where = ran.result?.where ?? null; + receipt.imageDigest = timed?.image && timed.image !== "local" ? timed.image : receipt.imageDigest; + receipt.verdict = ran.result?.ok ? "PASS" : "FAIL"; + receipt.cause = ran.result ? ran.result.cause : `the cell ended without a result (exit ${ran.code}${ran.killed ? ", killed at its deadline" : ""}): ${ran.stderr.slice(-500)}`; + } +} catch (error) { + if (error.teardown && !teardowns.includes(error.teardown)) teardowns.push(error.teardown); + receipt.verdict = "FAIL"; + receipt.cause = `${error.phase ?? "run"}: ${error.code ?? ""} ${error.message}`.trim(); + receipt.error = errorOf(error); +} finally { + const at = Date.now(); + for (const teardown of teardowns.reverse()) await teardown().catch((error) => receipt.teardown.push({ name: "teardown", ok: false, error: errorOf(error) })); + if (!receipt.via) receipt.driver.teardownMs = Date.now() - at; // a relayed run keeps the inner driver's + receipt.teardownOk = receipt.teardown.every((entry) => entry.ok) && !receipt.teardown.some((entry) => entry.value?.mounts?.length || entry.value?.pids?.length); + writeReceipt(); +} +process.exit(receipt.verdict === "PASS" || receipt.verdict === "OBSERVED" ? 0 : 1); diff --git a/api/runtime/test/verify/cells/workloads.mjs b/api/runtime/test/verify/cells/workloads.mjs new file mode 100644 index 0000000000..f3a65cc9ae --- /dev/null +++ b/api/runtime/test/verify/cells/workloads.mjs @@ -0,0 +1,133 @@ +// The twelve R7 cells (#516, #527): bodies, setup and one verifier per cell. +// The bodies are byte-exact copies of `CF` in +// benchmark/cluster-two/cells/workloads.py at 196c714b0b^ (MK1000, MKTREE, DD); +// each runs as `/bin/bash -o pipefail -c "{ ; } >/dev/null"` like that +// file's COMMANDS. A verifier is one bash script run by `workspace.exec` in a +// fresh mount of the committed Branch; it prints `VERIFY OK` and exits 0, or +// prints `VERIFY FAIL ` and exits 1. It uses only tools whose options +// GNU (the Linux image), BSD (macOS native runs commands on the Mac) and +// busybox share: find, sort, cksum, wc, awk, cmp -n, seq, sed, tr. +import { createHash } from "node:crypto"; + +const MK1000 = "for i in $(seq 1 1000); do echo $i > f$i; done"; +const MKTREE = "for a in $(seq 1 10); do for b in $(seq 1 10); do mkdir -p $a/$b; for c in $(seq 1 10); do touch $a/$b/$c; done; done; done"; +const DD = "dd if=/dev/zero of=big bs=1M count=64 status=none"; +const BIG = 67108864; + +/** cell -> [body, setup body ("" when the base is empty)] */ +export const CF = { + C01: [MK1000, ""], + C02: [MK1000 + "; for i in $(seq 1 1000); do stat f$i; done", ""], + C03: [MK1000 + "; rm f*", ""], + C04: [MKTREE, ""], + C05: [MKTREE + "; find . -type f | wc -l", ""], + C06: [DD, ""], + C07: [DD + "; cp big big2", ""], + C08: [DD + "; cat big > /dev/null", ""], + C09: ["cat big > /dev/null", DD], + C10: ["cp big big2", DD], + C11: [DD + " conv=notrunc", DD], + C12: ["git init -q; for i in $(seq 1 100); do echo $i > f$i; done; git add -A; git -c user.email=a@b -c user.name=a commit -qm init", ""], +}; + +export const sha256 = (text) => createHash("sha256").update(text).digest("hex"); +/** The command the cell runs, exactly as workloads.py's COMMANDS has it. */ +export const command = (cell) => `{ ${CF[cell][0]}; } >/dev/null`; +const quote = (text) => `'${text.replaceAll("'", "'\\''")}'`; + +/** + * Settings put in place before the clock starts, outside the hashed command: + * a C locale and no system or user Git configuration (on macOS native the + * command runs as this user, whose ~/.gitconfig could add filters or signing), + * the fixed dates of workloads.py's ENV. + */ +const PRELUDE = "export LANG=C LC_ALL=C GIT_CONFIG_NOSYSTEM=1 GIT_CONFIG_GLOBAL=/dev/null GIT_AUTHOR_DATE=2026-10-03T00:00:00Z GIT_COMMITTER_DATE=2026-10-03T00:00:00Z"; + +/** + * The exec line: the command timed on the Sandbox's own clock. Its own output + * goes to /dev/null inside; the only line printed is + * `LFS527 `. + */ +export function timedLine(text) { + return `${PRELUDE}; s=$(date +%s%N); /bin/bash -o pipefail -c ${quote(text)}; rc=$?; e=$(date +%s%N); echo "LFS527 $rc $s $e"`; +} + +/** { rc, ms } from a timedLine's stdout; ms is null unless both stamps are nanoseconds since the + * epoch (at least 16 digits): busybox `date` has no `%N` and prints whole seconds. */ +export function parseTimed(stdout) { + const found = /^LFS527 (\S+) (\S+) (\S+)$/m.exec(stdout ?? ""); + if (!found) return { rc: null, ms: null }; + const rc = /^\d+$/.test(found[1]) ? Number(found[1]) : null; + const ns = (text) => /^\d{16,}$/.test(text); + const ms = ns(found[2]) && ns(found[3]) ? Number(BigInt(found[3]) - BigInt(found[2])) / 1e6 : null; + return { rc, ms }; +} + +// ---- verifiers ------------------------------------------------------------ + +const HEAD = `${PRELUDE} +fail() { echo "VERIFY FAIL $*"; exit 1; } +count() { wc -l | tr -d ' '; } +# exact names: the sorted list of every path under the root, compared by cksum +names() { find . -mindepth 1 "$@" | LC_ALL=C sort | cksum; }`; + +/** f holds "\\n" and nothing else, for i in 1..n */ +const numbered = (n) => ` +[ "$(find . -mindepth 1 -path ./.git -prune -o ! -type f -print | count)" = 0 ] || fail "an entry other than a regular file" +[ "$(cat $(seq 1 ${n} | sed 's/^/f/') | cksum)" = "$(seq 1 ${n} | cksum)" ] || fail "f1..f${n} contents" +wc -c $(seq 1 ${n} | sed 's/^/f/') | awk '$2 != "total" && $1 != length(substr($2, 2)) + 1 { print "size", $2; bad = 1 } END { exit bad }' || fail "a file of the wrong size"`; + +const bigs = (files) => files.map((name) => ` +[ -f ${name} ] || fail "${name} missing" +[ "$(wc -c < ${name} | tr -d ' ')" = ${BIG} ] || fail "${name} size $(wc -c < ${name})" +cmp -n ${BIG} ${name} /dev/zero >/dev/null || fail "${name} is not ${BIG} zero bytes"`).join(""); + +const exactNames = (list, ...findArgs) => ` +[ "$(names ${findArgs.join(" ")})" = "$({ ${list}; } | LC_ALL=C sort | cksum)" ] || fail "names: $(find . -mindepth 1 ${findArgs.join(" ")} | count) entries; unexpected: $(find . -mindepth 1 ${findArgs.join(" ")} | grep -v -E '^[.]/(f[0-9]+|[0-9]+(/[0-9]+)*|big2?)$' | head -5 | tr '\\n' ' ')"`; + +const FILES = (n) => `for i in $(seq 1 ${n}); do echo ./f$i; done`; +const TREE = "for a in $(seq 1 10); do echo ./$a; for b in $(seq 1 10); do echo ./$a/$b; for c in $(seq 1 10); do echo ./$a/$b/$c; done; done; done"; + +const CHECKS = { + numbered: exactNames(FILES(1000)) + numbered(1000), + empty: ` +[ "$(find . -mindepth 1 | count)" = 0 ] || fail "root is not empty: $(find . -mindepth 1 | count) entries"`, + tree: exactNames(TREE) + ` +[ "$(find . -mindepth 1 -type d | count)" = 110 ] || fail "directories" +[ "$(find . -type f | count)" = 1000 ] || fail "files" +[ "$(find . -type f -size +0c | count)" = 0 ] || fail "a file is not empty"`, + big: exactNames("echo ./big") + bigs(["big"]), + big2: exactNames("echo ./big; echo ./big2") + bigs(["big", "big2"]), + git: exactNames(FILES(100), "-path ./.git -prune -o -print") + ` +[ -d .git ] || fail ".git missing"` + numbered(100) + ` +g() { git -c safe.directory='*' -c core.fsmonitor=false "$@"; } +[ "$(g rev-list --count HEAD)" = 1 ] || fail "commits: $(g rev-list --count HEAD 2>&1)" +[ "$(g ls-files | count)" = 100 ] || fail "tracked files" +[ "$(g log -1 --format=%s)" = init ] || fail "commit subject" +[ -z "$(g status --porcelain)" ] || fail "status not clean: $(g status --porcelain | head -3)"`, +}; + +const VERIFIER = { + C01: "numbered", C02: "numbered", C03: "empty", C04: "tree", C05: "tree", C06: "big", + C07: "big2", C08: "big", C09: "big", C10: "big2", C11: "big", C12: "git", +}; + +/** The verifier script of a cell. */ +export const verifier = (cell) => `${HEAD}${CHECKS[VERIFIER[cell]]} +echo "VERIFY OK"`; + +/** One untimed exec on the Sandbox's side: where it runs. */ +export const IDENTITY = [ + "echo kernel=$(uname -sr)", + "echo machine=$(uname -m)", + "echo cpus=$(nproc 2>/dev/null || sysctl -n hw.ncpu)", + "echo memKiB=$(awk '/^MemTotal:/ { print $2 }' /proc/meminfo 2>/dev/null)", + "echo memBytes=$(sysctl -n hw.memsize 2>/dev/null)", + "echo cpuMax=$(cat /sys/fs/cgroup/cpu.max 2>/dev/null)", + "echo id=$(id -u):$(id -g)", +].join("; "); + +/** IDENTITY's stdout as an object. */ +export const parseIdentity = (stdout) => Object.fromEntries((stdout ?? "").split("\n").filter((line) => line.includes("=")).map((line) => [line.slice(0, line.indexOf("=")), line.slice(line.indexOf("=") + 1) || null])); + +export const CELLS = Object.keys(CF); diff --git a/api/runtime/test/verify/runtime_real.mjs b/api/runtime/test/verify/runtime_real.mjs index 3ef19977d8..e034a6ce2a 100644 --- a/api/runtime/test/verify/runtime_real.mjs +++ b/api/runtime/test/verify/runtime_real.mjs @@ -26,7 +26,7 @@ const runtime = await LayerFSRuntime.open({ const docker = []; runtime.platform = { ...runtime.platform, - async docker(settings, args) { + docker: { ...runtime.platform.docker, async run(settings, args) { docker.push(args.slice(0, 2).join(" ")); // Init labels the volume (--label ...), so its name is the last argument if (args[0] === "volume" && args[1] === "create") { mkdirSync(join(volumes, args.at(-1), "_data"), { recursive: true }); return args.at(-1); } @@ -34,7 +34,7 @@ runtime.platform = { if (args[0] === "version") return "stub"; if (args[0] === "ps") return ""; throw new Error(`unexpected docker ${args.join(" ")}`); - }, + } }, }; const name = `rt-${Date.now().toString(36)}`; const source = mkdtempSync(join(tmpdir(), "layerfs-rt-")); diff --git a/api/runtime/test/verify/vm_real.mjs b/api/runtime/test/verify/vm_real.mjs index 2f1a584179..39c9fcd496 100644 --- a/api/runtime/test/verify/vm_real.mjs +++ b/api/runtime/test/verify/vm_real.mjs @@ -14,7 +14,9 @@ // onto a root that boot did not start, the next `sandbox.create` reclaims it and // reuses its number, and that Sandbox runs from the same unpacked image. Everything it made (both VMs, their Store disks, the home and // the sources) is removed afterwards. -// node api/runtime/test/verify/vm_real.mjs [microsandbox|apple-container] +// node api/runtime/test/verify/vm_real.mjs [microsandbox|apple-container|lima|firecracker] +// vm:firecracker needs its Lima host (LAYERFS_FIRECRACKER_LIMA, see api/docs/runtime.md). +// VM_REAL_PREFIX (default `lfs-`) starts every VM, disk and container name. // Needs that provider's CLI and the bundle built for the host's Linux VM // (aarch64 on an M-series Mac), with a Sandbox image at `images/<64 hex>.tar`. // Under 2 minutes for small source folders; the first run pulls the image. @@ -28,7 +30,7 @@ import { join } from "node:path"; import { fileURLToPath } from "node:url"; const SELF = fileURLToPath(import.meta.url); -const CLI = { microsandbox: "msb", "apple-container": "container" }; +const CLI = { microsandbox: "msb", "apple-container": "container", lima: "limactl", firecracker: "limactl" }; /** An agent process: it names its project, and the endpoint of that project's VM comes from the deployment. */ async function agent(project, deployment, phase = undefined, extra = {}) { @@ -202,7 +204,7 @@ if (process.argv[2] === "agent") { const [bundle, provider = "microsandbox"] = process.argv.slice(2); if (!CLI[provider] || !bundle || process.platform !== "darwin") { - console.error("usage: vm_real.mjs [microsandbox|apple-container] (macOS host)"); + console.error("usage: vm_real.mjs [microsandbox|apple-container|lima|firecracker] (macOS host)"); process.exit(2); } if (!existsSync(bundle)) { @@ -214,13 +216,17 @@ const { deploymentEnv } = await import("../../src/clients.js"); const { endpointFile } = await import("../../src/platform/shared.js"); // the provider module of the VM this run uses: the verify script reads the VM's // own disk (filesystem, image cache), which no public call answers -const DRIVER = { microsandbox: "../../src/platform/vm/microsandbox.js", "apple-container": "../../src/platform/vm/apple-container.js" }; +const DRIVER = { + microsandbox: "../../src/platform/vm/microsandbox.js", "apple-container": "../../src/platform/vm/apple-container.js", + lima: "../../src/platform/vm/lima.js", firecracker: "../../src/platform/vm/firecracker.js", +}; const driver = (await import(DRIVER[provider])).default; const shared = process.env.LAYERFS_TEST_DIR || join(homedir(), ".cache", "layerfs-test"); mkdirSync(shared, { recursive: true }); -const work = mkdtempSync(join(shared, `lfs-${provider}-`)); -const home = join(work, "home"), id = Date.now().toString(36), prefix = `lfs-${provider}-${id}-`; +const PREFIX = process.env.VM_REAL_PREFIX || "lfs-"; +const work = mkdtempSync(join(shared, `${PREFIX}${provider}-`)); +const home = join(work, "home"), id = Date.now().toString(36), prefix = `${PREFIX}${provider}-${id}-`; const sources = {}; for (const [name, text] of [["shop", "# Shop\n"], ["blog", "# Blog\n"]]) { sources[name] = join(work, name); @@ -327,9 +333,12 @@ try { // VM kept is the same directory, and the record it left is reclaimed by the // resume phase, which then starts a Sandbox on that same unpack assert.deepEqual((await disk("shop")).stat, unpacked.stat, "the image cache survived the VM restart unchanged"); - // the Sandbox the reboot ended is still a record in the home, not a running Sandbox - const record = join(home, "shop", "sandboxes", left, "sandbox.record"); - assert.ok(existsSync(record), `the Sandbox record survived the VM restart: ${record}`); + // the Sandbox the reboot ended is still a record in the home, not a running Sandbox. + // A microVM provider mounts this home in the guest; Firecracker shares no folder, + // so its guest home is its own and the record is read there + const record = join("shop", "sandboxes", left, "sandbox.record"); + const recorded = async () => (provider === "firecracker" ? (await guest("shop", `test -f /layerfs/home/${record} && echo yes`)) === "yes" : existsSync(join(home, record))); + assert.ok(await recorded(), `the Sandbox record survived the VM restart: ${record}`); console.log("stopped and restarted the project's VM: ok"); // the restarted worker takes a new secret, and the project's Commit is still readable @@ -338,7 +347,7 @@ try { const resumed = await agent("shop", shopEnv, "resume", { AGENT_LEFTOVER: left }); assert.equal(resumed.code, 0, resumed.text); console.log(resumed.text.trim()); - assert.ok(!existsSync(record), "the record the previous boot left was reclaimed by the resumed agent"); + assert.ok(!(await recorded()), "the record the previous boot left was reclaimed by the resumed agent"); // removing one project takes its own VM and Store disk, and leaves the other alone const removed = await runtime.project.delete("blog", { confirm: "blog", stopSandboxes: true }); diff --git a/api/runtime/test/vm_placement.mjs b/api/runtime/test/vm_placement.mjs index a1bf156c16..afd61f0f4d 100644 --- a/api/runtime/test/vm_placement.mjs +++ b/api/runtime/test/vm_placement.mjs @@ -5,9 +5,10 @@ // fixture keeps one VM record per project, maps each guest's absolute paths // under a temp folder, and starts the adapter's bundle worker so step ④'s // readiness is real. -// node api/runtime/test/vm_placement.mjs settings|flow|two|bundle|delete|hosts|apple-container +// node api/runtime/test/vm_placement.mjs settings|flow|two|bundle|delete|hosts|stores|apple-container|ssh|lima|firecracker|cleanup import assert from "node:assert/strict"; import { chmodSync, cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs"; +import { execFileSync } from "node:child_process"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; @@ -17,6 +18,7 @@ const SOURCE = fileURLToPath(new URL("../src", import.meta.url)); const MSB = fileURLToPath(new URL("fixture/fake-msb.cjs", import.meta.url)); const CONTAINER = fileURLToPath(new URL("fixture/fake-container.cjs", import.meta.url)); const SSH = fileURLToPath(new URL("fixture/fake-ssh.cjs", import.meta.url)); +const LIMA = fileURLToPath(new URL("fixture/fake-lima.cjs", import.meta.url)); process.env.LAYERFS_NATIVE = FAKE; const { LayerFSRuntime } = await import("@layerfs/runtime"); const { resolveSettings, missing, callHome, GUEST } = await import("../src/settings.js"); @@ -49,6 +51,23 @@ function standIn(name, fixture, state) { }; } +/** The `limactl` and `ssh` stand-ins of vm:lima and vm:firecracker: one fixture, two names on PATH. */ +function limaStandIn(state) { + const bin = join(work, "lima-bin"); + mkdirSync(bin, { recursive: true }); + for (const tool of ["limactl", "ssh"]) { + writeFileSync(join(bin, tool), `#!/bin/sh\nexec "${process.execPath}" "${LIMA}" ${tool} "$@"\n`); + chmodSync(join(bin, tool), 0o755); + } + const saved = { PATH: process.env.PATH }; + process.env.PATH = `${bin}:${saved.PATH}`; + Object.assign(process.env, { FAKE_LIMA_STATE: state, FAKE_LIMA_NATIVE: FAKE, LIMA_HOME: join(state, "lima-home") }); + return () => { + process.env.PATH = saved.PATH; + for (const name of ["FAKE_LIMA_STATE", "FAKE_LIMA_NATIVE", "LIMA_HOME", "LAYERFS_FIRECRACKER_LIMA", "LAYERFS_FIRECRACKER_STATE_DIR", "FAKE_FC_NO_KVM"]) delete process.env[name]; + }; +} + /** A sealed Linux bundle with the adapter's worker and the real SDK packages it imports. * `image` adds a Sandbox image archive at `images/.tar` (H38's convention, V7). */ function makeBundle(tag = "build-one", image = null) { @@ -65,6 +84,8 @@ function makeBundle(tag = "build-one", image = null) { } const calls = (state) => (existsSync(join(state, "calls.jsonl")) ? readFileSync(join(state, "calls.jsonl"), "utf8").trim().split("\n").filter(Boolean).map((line) => JSON.parse(line).argv) : []); +/** The remote command of a stand-in `ssh` call (unquoted by the fixture), or null. */ +const remoteOf = (argv) => (argv.includes("--") ? argv.slice(argv.indexOf("--") + 1) : null); /** Every await that could wait on a provider has a ceiling here, so a stuck * call fails this case with a name instead of hanging the harness. */ @@ -117,6 +138,21 @@ try { assert.deepEqual([sized.vm.cpus, sized.vm.storeSize], [3, "64G"]); assert.throws(() => resolveSettings({ home, platform: "linux", placement: "vm:nope" }), { code: "Unsupported", message: /vm:microsandbox or vm:apple-container/ }); assert.throws(() => resolveSettings({ home, platform: "linux", placement: "nope" }), { code: "InvalidInput", message: /local.*vm:/ }); + // #527 step 8: each provider runs on its own host systems, refused when the settings resolve + assert.throws(() => resolveSettings({ home, platform: "linux", placement: "vm:apple-container" }), { code: "Unsupported", message: /vm:apple-container runs on macOS hosts, not Linux/ }); + assert.throws(() => resolveSettings({ home, platform: "windows", placement: "vm:apple-container" }), { code: "Unsupported", message: /runs on macOS hosts, not Windows/ }); + for (const provider of ["microsandbox", "ssh"]) { + assert.throws(() => resolveSettings({ home, platform: "windows", placement: `vm:${provider}` }), { code: "Unsupported", message: new RegExp(`vm:${provider} runs on Linux and macOS hosts, not Windows`) }); + for (const host of ["linux", "macos"]) assert.equal(resolveSettings({ home, platform: host, placement: `vm:${provider}` }).placement.provider, provider); + } + assert.equal(resolveSettings({ home, platform: "macos", placement: "vm:apple-container" }).placement.provider, "apple-container"); + // Lima makes vz instances (Virtualization.framework), and Firecracker runs nested in one + for (const provider of ["lima", "firecracker"]) { + for (const host of ["linux", "windows"]) { + assert.throws(() => resolveSettings({ home, platform: host, placement: `vm:${provider}` }), { code: "Unsupported", message: new RegExp(`vm:${provider} runs on macOS hosts, not ${host === "linux" ? "Linux" : "Windows"}`) }); + } + assert.equal(resolveSettings({ home, platform: "macos", placement: `vm:${provider}`, bundle: "/b" }).placement.provider, provider); + } assert.throws(() => resolveSettings({ home, platform: "linux", placement: "vm:microsandbox", vm: { memory: "8" } }), { code: "InvalidInput", message: /memory/ }); // vm:ssh settings const sshSettings = resolveSettings({ @@ -186,10 +222,16 @@ try { assert.equal(existsSync(guestPath(state, vmName("shop"), `/layerfs/bundle/images/${image}.tar`)), true, "the image archive came in with the bundle"); // the client side: this project's deployment, and this project's endpoint + // #527 F4: the VM deployment names its backend; a host LAYERFS_SANDBOX or the former + // LAYERFS_SANDBOX_BACKEND does not replace it (step 11: it is LAYERFS_SANDBOX=namespaces) + process.env.LAYERFS_SANDBOX = "docker"; + process.env.LAYERFS_SANDBOX_BACKEND = "native"; const env = deploymentEnv(runtime.settings, runtime.platform, { name: "shop" }); + delete process.env.LAYERFS_SANDBOX; + delete process.env.LAYERFS_SANDBOX_BACKEND; assert.equal(env.WORKER_ENDPOINT, endpointFile(home, "shop"), "agents an integration launches reach this project's VM"); assert.equal(env.STORE_PATH, `${GUEST.store}/global/store.sqlite`, "the Store disk is the Store's directory"); - assert.equal(env.SANDBOX_BACKEND, "namespaces"); + assert.deepEqual([env.SANDBOX, env.SANDBOX_BACKEND], ["namespaces", ""]); assert.equal(env.IMAGE, `sha256:${image}`, "a bundle with an image gives the deployment its digest"); assert.equal(env.IMAGE_ARCHIVE, `${GUEST.bundle}/images/${image}.tar`, "and the archive in this VM's own copy of the bundle"); assert.equal(env.LOCAL_DIR, `${GUEST.store}/local`, "Sandbox directories are on the Store disk, never the VM's own root"); @@ -251,7 +293,7 @@ try { assert.deepEqual(listed.vms.map((vm) => [vm.project, vm.state, vm.worker.port]).sort(), [["blog", "running", blog.port], ["shop", "running", shop.port]]); // the hook project.delete uses takes that project's VM and disk, and nothing else // (the whole call, a Sandbox closing included, is vm_real.mjs's, with a real VM) - await runtime.platform.removeStore(runtime, { name: "blog", volume: "lfs-blog-store-1" }); + await runtime.platform.removeStore(runtime, { name: "blog", volume: "lfs-blog-store-1", legacy: true }); assert.equal(existsSync(join(state, "vms", `${vmName("blog")}.json`)), false, "the project's VM is gone"); assert.ok(calls(state).some((argv) => argv[0] === "volume" && argv[1] === "remove" && argv[2] === storeName("blog"))); assert.equal(existsSync(join(state, "vms", `${vmName("shop")}.json`)), true, "the other project's VM is untouched"); @@ -351,6 +393,55 @@ try { await runtime.close(); restoreWorker(work); } + } else if (selected === "stores") { + // #527 F3: a `vm:` home keeps no Store of its own (one Store per project, in its VM), so + // every call on the home's Stores, remotes or PostgreSQL refuses Unsupported before any effect + makeBundle(); + const state = join(work, "msb"); + mkdirSync(state); + const restore = standIn("msb", MSB, state); + const runtime = await LayerFSRuntime.open({ home, bundle, placement: "vm:microsandbox", containerPrefix: prefix, platform: "linux", sweep: false }); + try { + project("shop"); + // a PostgreSQL Store a registry could still hold + writeFileSync(join(home, "stores.json"), JSON.stringify({ version: 2, stores: [{ name: "pgs", kind: "postgresql", connection: "pgc", schema: "pgs", synchronousCommit: "off", created: 1, projects: [{ name: "pga" }] }] })); + const source = join(work, "source"); + mkdirSync(source); + const refused = { code: "Unsupported", message: /vm:microsandbox home: each project's Store is in that project's own VM/ }; + const url = "postgresql://user@db/layerfs"; + await assert.rejects(runtime.store.create("fresh"), refused); + await assert.rejects(runtime.store.start_load("r2", { file: "fresh" }), refused); + await assert.rejects(runtime.store.start_publish("shop", { remote: "r2" }), refused); + await assert.rejects(runtime.store.start_push("shop"), refused); + await assert.rejects(runtime.store.start_send("shop", { remote: "r2", file: "copy" }), refused); + await assert.rejects(runtime.store.remove("shop", { confirm: "shop" }), refused); + await assert.rejects(runtime.store.attach_postgresql({ name: "pg2", connection: "pgc", schema: "pg2", url }), refused); + await assert.rejects(runtime.store.start_import_postgresql("shop", { connection: "pgc", schema: "pg3", url }), refused); + await assert.rejects(runtime.remote.list(), refused); + await assert.rejects(runtime.remote.add({ name: "r2", provider: "minio" }), refused); + await assert.rejects(runtime.postgresql.status({ url }), refused); + await assert.rejects(runtime.project.start_init("blog", source, { store: "shop" }), { ...refused, message: /runtime\.project\.start_init into a Store/ }); + // the platform hooks those calls reach refuse too, rather than crash on `project.name` or + // map every Store of the home to the one guest path each VM holds its own Store at + await assert.rejects(runtime.platform.init(runtime.settings), refused); + assert.throws(() => runtime.platform.storePath(runtime.settings, "lfs-shop-store-1"), refused); + // the Store hooks are keyed by Store, and a VM holds only its project's own (#527 step 10b) + for (const hook of ["createStore", "storeHolders", "removeStore"]) { + await assert.rejects(runtime.platform[hook](runtime, { name: "fresh", volume: "lfs-store-fresh" }), refused, hook); + } + await assert.rejects(runtime.platform.releaseStore(runtime.settings, { name: "fresh", volume: "lfs-store-fresh" }), refused); + // a PostgreSQL project is refused before its client is made + await assert.rejects(runtime.project.get_state("pga", undefined, { store: "pgs", url }), { code: "Unsupported", message: /PostgreSQL Store pgs.*vm:microsandbox/ }); + // nothing reached the provider: no VM, no disk, no copy + assert.deepEqual(calls(state), [], "every refusal came before any effect"); + assert.equal(existsSync(endpointFile(home, "shop")), false); + // the home's Stores are still listed, from its records, with no stats asked of any process + assert.deepEqual((await runtime.store.list()).map((s) => [s.name, s.kind, s.bytes]), [["pgs", "postgresql", null], ["shop", "sqlite", null]]); + } finally { + restore(); + await runtime.close(); + restoreWorker(work); + } } else if (selected === "apple-container") { makeBundle(); const state = join(work, "container"); @@ -379,8 +470,31 @@ try { // the verified 1.6.1 inspect shape: the adapter reads this VM's state, store and home const entry = await runtime.vm.status("shop"); assert.deepEqual([entry.state, entry.store, entry.home, entry.worker.state], ["running", storeName("shop"), home, "running"]); - // copying the bundle into an Apple Container VM is `container copy HOST NAME:DEST` - assert.ok(first.some((argv) => argv[0] === "copy" && argv[2] === `${vmName("shop")}:/layerfs/bundle`)); + // the bundle reaches the VM through a staging folder in the home it already + // mounts, and the guest copies it onto its own disk: no `container copy` + // (35 MB/s on 1.6.1, #527), and the staging folder is gone afterwards + assert.ok(!first.some((argv) => argv[0] === "copy"), "no `container copy`"); + const staged = first.find((argv) => argv[0] === "exec" && /cp -Rp/.test(argv.join(" ")) && argv.at(-1) === "/layerfs/bundle"); + assert.ok(staged, "the guest copied the bundle from the home bind mount"); + assert.match(staged.at(-2), /^\/layerfs\/home\/\.vm-copy-[^/]+\/c$/); + assert.ok(existsSync(join(state, "guest", vmName("shop"), "layerfs/bundle/manifest.json")), "the VM owns its copy"); + assert.deepEqual(readdirSync(home).filter((name) => name.startsWith(".vm-copy-")), [], "no staging folder is left in the home"); + // the same route serves an Init source; a folder inside the home is read in place, never staged into itself + const source = join(work, "src"); + mkdirSync(join(source, "d"), { recursive: true }); + writeFileSync(join(source, "d", "a.txt"), "a\n"); + const container = (await import("../src/platform/vm/apple-container.js")).default; + await deadline(30_000, "copy", container.copy(vmName("shop"), source, "/layerfs/import/x")); + assert.equal(readFileSync(join(state, "guest", vmName("shop"), "layerfs/import/x/d/a.txt"), "utf8"), "a\n"); + assert.deepEqual(readdirSync(home).filter((name) => name.startsWith(".vm-copy-")), []); + mkdirSync(join(home, "inside"), { recursive: true }); + writeFileSync(join(home, "inside", "b.txt"), "b\n"); + await deadline(30_000, "copy", container.copy(vmName("shop"), join(home, "inside"), "/layerfs/import/z")); + assert.equal(readFileSync(join(state, "guest", vmName("shop"), "layerfs/import/z/b.txt"), "utf8"), "b\n"); + assert.equal(calls(state).filter((argv) => argv[0] === "exec").at(-1).at(-2), "/layerfs/home/inside", "read in place through the bind mount"); + // a failed guest copy still removes the staging folder, and is reported + await assert.rejects(container.copy(vmName("shop"), join(work, "no-such-folder"), "/layerfs/import/y"), /ENOENT|no such file/i); + assert.deepEqual(readdirSync(home).filter((name) => name.startsWith(".vm-copy-")), []); } finally { restore(); await runtime.close(); @@ -406,6 +520,20 @@ try { assert.ok(first.some((argv) => argv.includes("StrictHostKeyChecking=yes")), "host key checking stays on"); assert.ok(!first.some((argv) => argv.includes("StrictHostKeyChecking=no")), "never turned off behind the user's back"); assert.ok(first.some((argv) => argv.some((value) => typeof value === "string" && value.includes("tar -C"))), "the bundle arrives as one tar stream"); + if (process.platform === "darwin") { + // a folder whose entries carry macOS metadata (com.apple.provenance, + // which this process's files get) arrives without the Mac tar's + // AppleDouble `._` entries (#527 platform pass: an Init source copied + // this way stored `._.` in the project) + const source = join(work, "xattr-source"); + mkdirSync(source); + writeFileSync(join(source, "a.txt"), "a\n"); + for (const path of [source, join(source, "a.txt")]) execFileSync("xattr", ["-w", "com.apple.provenance", "", path]); + const ssh = (await import("../src/platform/vm/ssh.js")); + await deadline(30_000, "copy", ssh.copy(vmName("shop"), source, "/layerfs/import/xattr")); + const copied = readFileSync(join(state, "copies.jsonl"), "utf8").trim().split("\n").map((line) => JSON.parse(line)).find((copy) => copy.destination === "/layerfs/import/xattr"); + assert.deepEqual(copied.names.sort(), ["./", "./a.txt"], JSON.stringify(copied.names)); + } const entry = await deadline(30_000, "vm.status", runtime.vm.status("shop")); assert.deepEqual([entry.state, entry.worker.state], ["running", "running"]); // the endpoint the worker was written at is this host's forwarded port @@ -425,6 +553,155 @@ try { restore(); restoreWorker(work); } + } else if (selected === "lima") { + makeBundle("build-one", "c".repeat(64)); + const state = join(work, "lima"); + mkdirSync(state); + const restore = limaStandIn(state); + const runtime = await LayerFSRuntime.open({ home, bundle, placement: "vm:lima", containerPrefix: prefix, platform: "macos", sweep: false }); + try { + const started = await deadline(60_000, "worker.start", runtime.worker.start("shop")); + assert.deepEqual([started.vm.state, started.worker.state, started.vm.store, started.vm.home], ["running", "running", storeName("shop"), home]); + const endpoint = endpointAt("shop"); + assert.equal(endpoint.vm.provider, "lima"); + // Lima finds a formatted disk by its ext4 label `lima-` (16 bytes at most): a longer + // name would be formatted again at every boot, so the disk has a short name of its own + const { diskName, template: limaTemplate } = await import("../src/platform/vm/lima.js"); + const disk = diskName(storeName("shop")); + assert.match(disk, /^lfs[0-9a-f]{8}$/); + assert.ok(`lima-${disk}`.length <= 16); + const first = calls(state); + // ① a raw Lima disk (vz needs raw) of the configured size, made before the instance + const made = first.find((argv) => argv[0] === "disk" && argv[1] === "create"); + assert.deepEqual(made, ["disk", "create", disk, "--size", "20GiB", "--format", "raw"]); + const create = first.findIndex((argv) => argv[0] === "create"); + assert.ok(create > first.indexOf(made), "the Store disk is made before the instance"); + assert.deepEqual(first[create], ["create", "--name", vmName("shop"), "--tty=false", "-"], "the template comes on stdin"); + const { template } = JSON.parse(readFileSync(join(state, "vms", `${vmName("shop")}.json`), "utf8")); + assert.deepEqual([template.vmType, template.cpus, template.memory, template.mountType], ["vz", 2, "2GiB", "virtiofs"]); + assert.deepEqual(template.mounts, [{ location: home, mountPoint: "/layerfs/home", writable: true }]); + assert.deepEqual(template.additionalDisks, [{ name: disk, format: true, fsType: "ext4" }], "Lima formats the Store disk ext4 on first attach"); + assert.deepEqual(template.param, { LAYERFS_STORE: storeName("shop"), LAYERFS_HOME: home }, "the instance keeps the Store volume's name and its home"); + // ④ the one forwarded port, private to this host's loopback; every other guest port is ignored + assert.deepEqual(template.portForwards, [ + { guestPort: 7070, hostIP: "127.0.0.1", hostPort: endpoint.port }, + { guestIP: "0.0.0.0", guestPortRange: [1, 65535], ignore: true }, + ]); + // the OCI default does not describe a Lima disk: the Ubuntu cloud image is booted, and Node.js is installed checked + assert.match(template.images[0].location, /ubuntu-24\.04-server-cloudimg-arm64\.img$/); + assert.match(template.provision[0].script, /nodejs\.org\/dist\/v22\.[0-9.]+\/SHASUMS256\.txt/); + assert.match(template.provision[0].script, /sha256sum -c/); + // every guest command is root through the instance's own ssh.config + const remote = first.filter((argv) => argv[0] === "-F").map((argv) => [argv[1], argv[2], remoteOf(argv)]); + assert.ok(remote.length > 0 && remote.every(([config, target, argv]) => config === join(state, "lima-home", vmName("shop"), "ssh.config") && target === `lima-${vmName("shop")}` && argv.slice(0, 3).join(" ") === "sudo -n --")); + const scripts = remote.map(([, , argv]) => argv.join(" ")); + assert.ok(scripts.some((line) => line.includes("mount --bind") && line.endsWith(`/mnt/lima-${disk}`)), "the Store disk is bind-mounted at the Store directory"); + assert.ok(scripts.some((line) => /max_user_namespaces/.test(line)), "step ③ blocked user namespaces"); + assert.ok(scripts.some((line) => /nohup node/.test(line)), "step ③ started the worker"); + // step ② through the home the instance mounts: a private staging folder the guest copies from, then removed + assert.ok(scripts.some((line) => /cp -Rp/.test(line) && /\/layerfs\/home\/\.vm-copy-[^/ ]+\/c \/layerfs\/bundle$/.test(line)), "the guest copied the staged bundle onto its own disk"); + assert.deepEqual(readdirSync(home).filter((entry) => entry.startsWith(".vm-copy-")), [], "no staging folder is left in the home"); + assert.equal(existsSync(guestPath(state, vmName("shop"), `/layerfs/bundle/images/${"c".repeat(64)}.tar`)), true, "with its Sandbox image"); + assert.ok(!JSON.stringify(first).includes(endpoint.secret), "no call carried the secret in its arguments"); + assert.match(readFileSync(guestPath(state, vmName("shop"), "/layerfs/state/worker.env"), "utf8"), new RegExp(`^LAYERFS_WORKER_SECRET=${endpoint.secret}$`, "m")); + // a settings image that names a Lima disk is booted as it is + assert.deepEqual(JSON.parse(limaTemplate({ name: "x", image: "https://example.com/a.img", cpus: 1, memory: "512M", home, storeName: "d", hostPort: 1, workerPort: 7070 })).images, [{ location: "https://example.com/a.img" }]); + // ⑤ stop keeps the instance and its disk; a start boots it and attaches the disk again + assert.equal((await deadline(30_000, "vm.stop", runtime.vm.stop("shop"))).state, "stopped"); + const again = await deadline(60_000, "worker.start after stop", runtime.worker.start("shop")); + assert.deepEqual([again.vm.state, again.worker.state], ["running", "running"]); + assert.equal(calls(state).filter((argv) => argv[0] === "create").length, 1, "started, not created again"); + assert.equal(calls(state).filter((argv) => remoteOf(argv)?.join(" ").includes("mount --bind")).length, 2, "the bind mount a reboot drops is made again"); + assert.equal(endpointAt("shop").port, endpoint.port, "the instance keeps its forwarded port"); + // V8, then a delete that keeps the disk, then one that discards it + project("shop"); + await assert.rejects(runtime.vm.delete("shop", { confirm: "delete" }), { code: "Unsupported", message: /never destroys a Store that was not pushed/ }); + forget("shop"); + assert.equal((await runtime.vm.delete("shop", { confirm: "delete" })).store, "kept"); + assert.ok(calls(state).some((argv) => argv.join(" ") === `delete --force ${vmName("shop")}`)); + assert.ok(!calls(state).some((argv) => argv[0] === "disk" && argv[1] === "delete"), "Lima keeps the disk when its instance goes"); + await runtime.worker.start("shop"); + assert.equal(calls(state).filter((argv) => argv[0] === "disk" && argv[1] === "create").length, 1, "the kept disk is attached to the new instance, not made again"); + assert.equal((await runtime.vm.delete("shop", { confirm: "delete", discardStore: true })).store, "discarded"); + assert.ok(calls(state).some((argv) => argv.join(" ") === `disk delete ${disk}`)); + } finally { + restore(); + await runtime.close(); + restoreWorker(work); + } + } else if (selected === "firecracker") { + makeBundle(); + const state = join(work, "lima"); + mkdirSync(join(state, "vms"), { recursive: true }); + const restore = limaStandIn(state); + // the Firecracker host is a Lima vz instance the user made and named + process.env.LAYERFS_FIRECRACKER_LIMA = "lfs-vm-test-fc-host"; + process.env.LAYERFS_FIRECRACKER_STATE_DIR = join(state, "sessions"); + const runtime = await LayerFSRuntime.open({ home, bundle, placement: "vm:firecracker", containerPrefix: prefix, platform: "macos", sweep: false }); + try { + await assert.rejects(runtime.worker.start("shop"), /no Lima instance lfs-vm-test-fc-host to run Firecracker in/); + writeFileSync(join(state, "vms", "lfs-vm-test-fc-host.json"), JSON.stringify({ status: "Running", config: { vmType: "vz", nestedVirtualization: true } })); + // a host without /dev/kvm is refused by fact, before any disk or VM + process.env.FAKE_FC_NO_KVM = "1"; + await assert.rejects(runtime.worker.start("shop"), /there is no \/dev\/kvm/); + delete process.env.FAKE_FC_NO_KVM; + assert.equal(existsSync(join(state, "fc")), false, "nothing was made on a host that cannot run it"); + + const started = await deadline(60_000, "worker.start", runtime.worker.start("shop")); + assert.deepEqual([started.vm.state, started.worker.state, started.vm.store, started.vm.home], ["running", "running", storeName("shop"), home]); + const blog = await deadline(60_000, "worker.start blog", runtime.worker.start("blog")); + assert.equal(blog.worker.state, "running"); + const marked = (op) => calls(state).filter((argv) => remoteOf(argv)?.[5]?.startsWith(`# layerfs-firecracker:${op}`)); + // every host step is root in the named Lima host, in its folder + assert.ok(marked("create").every((argv) => argv[2] === "lima-lfs-vm-test-fc-host" && remoteOf(argv)[7] === "/var/lib/layerfs-firecracker")); + assert.deepEqual(marked("create").map((argv) => remoteOf(argv).slice(8)), [ + [vmName("shop"), `/var/lib/layerfs-firecracker/disks/${storeName("shop")}.ext4`, "2", "2048"], + [vmName("blog"), `/var/lib/layerfs-firecracker/disks/${storeName("blog")}.ext4`, "2", "2048"], + ], "one microVM per project, each on its own Store disk file, sized from settings.vm"); + assert.equal(marked("disk").length, 2); + assert.equal(marked("boot").length, 2); + // ④ a forward from this host's loopback to each microVM's own address + const shopEndpoint = endpointAt("shop"), blogEndpoint = endpointAt("blog"); + const forwards = calls(state).filter((argv) => argv.includes("-N")).map((argv) => argv[argv.indexOf("-L") + 1]); + assert.deepEqual(forwards, [`127.0.0.1:${shopEndpoint.port}:172.30.1.2:7070`, `127.0.0.1:${blogEndpoint.port}:172.30.2.2:7070`]); + assert.ok(calls(state).filter((argv) => argv.includes("-N")).every((argv) => argv.includes("ExitOnForwardFailure=yes") && argv.includes("ControlPath=none")), "its own connection: a forward handed to Lima's control master would outlive its record"); + assert.notEqual(shopEndpoint.secret, blogEndpoint.secret); + assert.ok(!JSON.stringify(calls(state)).includes(shopEndpoint.secret), "no call carried a secret in its arguments"); + // ② ③ in the microVM, through the host's guest script + const guestCalls = marked("guest").map((argv) => remoteOf(argv).slice(9).join(" ")); + assert.ok(guestCalls.some((line) => /max_user_namespaces/.test(line))); + assert.ok(guestCalls.some((line) => /nohup node/.test(line))); + assert.ok(guestCalls.some((line) => line.includes("tar -C") && line.endsWith("/layerfs/bundle"))); + assert.equal(existsSync(guestPath(state, vmName("shop"), "/layerfs/bundle/.sealed")), true, "the bundle reached the microVM"); + assert.equal(readFileSync(guestPath(state, vmName("shop"), "/proc/sys/user/max_user_namespaces"), "utf8").trim(), "0"); + // a forward that ended reads as a stopped VM; start opens it again without a boot + process.kill(JSON.parse(readFileSync(join(state, "sessions", `${vmName("shop")}.json`), "utf8")).pid); + await new Promise((resolve) => setTimeout(resolve, 200)); + assert.equal((await runtime.vm.status("shop")).state, "stopped"); + const reopened = await deadline(60_000, "worker.start after the forward ended", runtime.worker.start("shop")); + assert.deepEqual([reopened.vm.state, reopened.worker.state], ["running", "running"]); + assert.equal(marked("boot").length, 2, "the microVM still ran: no second boot"); + assert.equal(endpointAt("shop").port, shopEndpoint.port, "the same port"); + // ⑤ stop resets the microVM and ends the forward; start boots it again + assert.equal((await runtime.vm.stop("shop")).state, "stopped"); + assert.equal(marked("stop").length, 1); + assert.equal(existsSync(join(state, "sessions", `${vmName("shop")}.json`)), false, "its forward record is gone"); + assert.equal((await deadline(60_000, "worker.start after stop", runtime.worker.start("shop"))).worker.state, "running"); + assert.equal(marked("boot").length, 3); + // V8 and the delete that discards the Store disk file + project("shop"); + await assert.rejects(runtime.vm.delete("shop", { confirm: "delete" }), { code: "Unsupported", message: /never destroys a Store that was not pushed/ }); + forget("shop"); + assert.equal((await runtime.vm.delete("shop", { confirm: "delete", discardStore: true })).store, "discarded"); + assert.equal(existsSync(join(state, "fc", "vms", vmName("shop"))), false, "the VM's folder is gone"); + assert.equal(existsSync(join(state, "fc", "disks", `${storeName("shop")}.json`)), false, "and its Store disk"); + assert.equal(existsSync(join(state, "fc", "disks", `${storeName("blog")}.json`)), true, "the other project's disk stays"); + assert.equal((await runtime.vm.status("blog")).worker.state, "running"); + } finally { + restore(); + await runtime.close(); + restoreWorker(work); + } } else if (selected === "cleanup") { // H39v's two findings: a provider create that fails must leave nothing // behind — no Store volume for Apple Container (the CLI makes one before it @@ -466,7 +743,7 @@ try { rmSync(hidden, { recursive: true, force: true }); } } else { - throw new Error("select settings, flow, two, bundle, delete, hosts, apple-container, ssh or cleanup"); + throw new Error("select settings, flow, two, bundle, delete, hosts, stores, apple-container, ssh, lima, firecracker or cleanup"); } } finally { rmSync(work, { recursive: true, force: true }); @@ -478,7 +755,7 @@ process.exit(0); /** The stand-in's worker outlives its CLI: end it from the pid the fixture wrote. */ function restoreWorker(folder) { - for (const provider of ["msb", "container", "ssh"]) { + for (const provider of ["msb", "container", "ssh", "lima"]) { const guests = join(folder, provider, "guest"); if (existsSync(guests)) { for (const vm of readdirSync(guests)) { @@ -493,7 +770,7 @@ function restoreWorker(folder) { for (const file of readdirSync(sessions)) { try { const session = JSON.parse(readFileSync(join(sessions, file), "utf8")); - if (session.forwardPid) process.kill(session.forwardPid); + if (session.forwardPid ?? session.pid) process.kill(session.forwardPid ?? session.pid); } catch {} } } diff --git a/core/docs/architecture/71-ordinary-engine-runtime-foundation.md b/core/docs/architecture/71-ordinary-engine-runtime-foundation.md index c4d60a7467..debd77528d 100644 --- a/core/docs/architecture/71-ordinary-engine-runtime-foundation.md +++ b/core/docs/architecture/71-ordinary-engine-runtime-foundation.md @@ -24,7 +24,7 @@ fields; nested Arguments/lookalikes cannot change them. Known root exit requires Running=false and a present code; null is never zero. PID is diagnostic only. A later observation does not resolve an earlier original lost-operation receipt. -`backend/docker/` owns standard HTTP/JSON/multiplex framing. Requests count escaped +`platform/docker/` owns standard HTTP/JSON/multiplex framing. Requests count escaped metadata locally then stream through an8KiB buffer; this is not a second runtime operation. Responses retain the same buffered reader through101 and validate the multiplexed media type. Content-Length/chunk sizes/frame lengths are scalar diff --git a/core/docs/architecture/76-native-mount-session.md b/core/docs/architecture/76-native-mount-session.md index 4932c3641d..a77a50f81c 100644 --- a/core/docs/architecture/76-native-mount-session.md +++ b/core/docs/architecture/76-native-mount-session.md @@ -14,14 +14,14 @@ Scope and receipts are in the [R2](../issues/307/R2-COMPLETION-20261008.md) and ## Ownership -Dependency is daemon → fuse → workspace. [Fuse](../../crates/layerfs-fuse/src/session/mod.rs) +Dependency is daemon → fuse → workspace. [Fuse](../../../engine/crates/layerfs-fuse/src/session/mod.rs) owns the connection: direct mount syscalls, the patched fuser session, receive loops, request accounting and connection drain. The daemon owns the registry, overall Ready, unmount composition and the engine/Store owners. Fuse contains no daemon command, registry or application setting, and neither side registers, supervises, signals or times out a command. -[Assembly](../../crates/layerfs-daemon/src/application/filesystem.rs) runs once +[Assembly](../../../engine/crates/layerfs-daemon/src/application/filesystem.rs) runs once before control readiness. It starts the one shared [Dispatch](75-native-request-service.md) for the daemon's existing Overlay Owner and direct Store; no device is opened and nothing is mounted until an explicit @@ -52,7 +52,7 @@ owner's subsequent2026-10-12 Store admission rule can wait before one SQL attemp for cooperating writers, as scoped by the integration contract; no failed Commit Begin is replayed. -[`NativeSession::attach`](../../crates/layerfs-fuse/src/session/startup.rs) is one +[`NativeSession::attach`](../../../engine/crates/layerfs-fuse/src/session/startup.rs) is one attempt with no retry. In order it builds the callback adapter, creates the mount directory (an existing path is refused), opens the device, calls `mount(2)`, completes the handshake through `Session::from_fd`, spawns the session owner and @@ -63,7 +63,7 @@ The mount is type `fuse`, source `layerfs`, flags `nosuid,nodev,noatime`, with `rootmode=40000`, `default_permissions`, `allow_other` and `max_read=131072`. The mount owner is the daemon identity; projected inode ownership is the command identity. Kernel permission checks, not a library uid filter, decide access. -[Negotiation](../../crates/layerfs-fuse/src/mount/profile.rs) requests 128 KiB +[Negotiation](../../../engine/crates/layerfs-fuse/src/mount/profile.rs) requests 128 KiB write and readahead windows, background and congestion limits of 1, and adds no optional capability; writeback caching stays absent. @@ -91,9 +91,9 @@ and no request capacity. ## Callback dispositions and accounting Every kernel operation the pinned adapter can receive has one declared -[disposition](../../crates/layerfs-fuse/src/request/callbacks.rs), and every +[disposition](../../../engine/crates/layerfs-fuse/src/request/callbacks.rs), and every received unit is counted once by -[opcode and disposal](../../crates/layerfs-fuse/src/request/accounting.rs): +[opcode and disposal](../../../engine/crates/layerfs-fuse/src/request/accounting.rs): | Disposition | Operations | | --- | --- | @@ -119,12 +119,12 @@ admitted, charged and disposed independently. ## Control records -[Bridge](../../crates/layerfs-bridge/src/control_native.rs) adds records without +[Bridge](../../../engine/crates/layerfs-bridge/src/control_mount.rs) adds records without changing any existing byte encoding: - Requests `Attach(WorkspaceToken)` and `Locate(WorkspaceId)`. - Replies `Ready`, `Located` and `Retained`, and `Activity::Attaching`. -- R6, in [`control_forced.rs`](../../crates/layerfs-bridge/src/control_forced.rs): +- R6, in [`control_forced.rs`](../../../engine/crates/layerfs-bridge/src/control_forced.rs): request `ForceUnmount`, reply `ForceUnmounted`, `NativePhase::Stopping`, `TeardownStage::Abort` and `TeardownCustody.forced`; listed in [native control](68-native-workspace-control.md#forced-unmount-records). @@ -140,7 +140,7 @@ phase, the Ready record, whether detach is known and `NativeWork` counters copie from maintained state. Status performs no syscall and one existing engine observation; it never settles an unknown. -The [SDK mount](../../crates/layerfs-api/src/sandbox/mount.rs) exposes the +The [SDK mount](../../../engine/crates/layerfs-api/src/sandbox/mount.rs) exposes the two-acknowledgement mount without a Project argument. Bind/attach and lost-reply locate are available only in the hidden component-proof/recovery module. If the second acknowledgement fails, MountFailure retains the already bound Workspace; @@ -172,7 +172,7 @@ within a daemon, so neither is a directory or an engine mount incarnation. ## Normal unmount -[Unmount](../../crates/layerfs-daemon/src/control/detach.rs) first refuses +[Unmount](../../../engine/crates/layerfs-daemon/src/control/detach.rs) first refuses uncommitted changes with `Dirty` unless the request discards them ([architecture 82](82-sdk-call-channel.md#workspace-control-changes)). It keeps its existing Commit-custody admission and then, for an attached Workspace: @@ -186,7 +186,7 @@ its existing Commit-custody admission and then, for an attached Workspace: answer is the fence. 2. **Detach known.** Admission stops and waiters wake. Already admitted work keeps its original disposition. -3. **Drain.** [`drain`](../../crates/layerfs-fuse/src/session/drain.rs) +3. **Drain.** [`drain`](../../../engine/crates/layerfs-fuse/src/session/drain.rs) establishes that every created loop is joined, the owner and watcher returned, no received, admitted or retained request remains, and releases the lane. `drain_wait` is an observation deadline. A stop at `Join` means the @@ -216,7 +216,7 @@ failures retain the recorded abort effects in `TeardownCustody.forced`. [`ForceUnmount`](80-forced-teardown.md) takes the session out of the entry the same way, into phase `Stopping`, after its own before-effect guard. It then uses the abort control bound at Attach for exactly one write, lets -[`force_drain`](../../crates/layerfs-fuse/src/session/force.rs) establish the +[`force_drain`](../../../engine/crates/layerfs-fuse/src/session/force.rs) establish the same drain predicate as step 3 and make the connection's one plain detach afterwards, and finishes with the same revocation and Close as steps 4 and 5. Its stops use the same stages plus `Abort`, and carry the forced facts. Once @@ -228,11 +228,12 @@ before any syscall: the forced path owns its single detach. A successful plain detach aborts the connection, so the kernel may never deliver the asynchronous RELEASE and FORGET units for references it held. Revocation is therefore qualified by connection drain rather than by an empty handle set. -[`revoke_native_mount`](../../crates/layerfs-overlay/src/lifetime/native.rs) is +[`revoke_kernel_mount`](../../../engine/crates/layerfs-overlay/src/lifetime/kernel.rs) (formerly `revoke_native_mount`) is refused only while a native request source or read association remains; file handles, directory handles and lookup counts are retired by -[automatic maintenance](../../crates/layerfs-overlay/src/maintenance/native.rs) -in indexed windows of at most 64 rows per turn: file handles, open directory +automatic maintenance (its module `maintenance/native.rs` was removed by +`1ad1e90f48`, which moved Workspace open state into daemon memory; this +paragraph predates that change) in indexed windows of at most 64 rows per turn: file handles, open directory headers, lookup groups by serial cursor, then the mount row. This supersedes the earlier rule that an outstanding handle refused revocation. The mount row fences whole-namespace cleanup until retirement ends, so a terminal unmount reply does @@ -244,7 +245,7 @@ refusal cannot see one. Such a request is accounted by the connection drain that precedes revocation on both paths: it stays admitted in its lane until its future ends, and `Revoke` is submitted only after the drain observed nothing received and nothing admitted. -[`forced_unmount.rs`](../../crates/layerfs-daemon/tests/forced_unmount.rs) +[`forced_unmount.rs`](../../../engine/crates/layerfs-daemon/tests/forced_unmount.rs) stages a READ parked for a Store reader on a real mount: the engine's row counts equal those of the idle descriptor, normal Unmount is `Busy` at `unmount:kernel` with no effect, and Force ends the request through the @@ -258,7 +259,7 @@ daemon does not wait or retry on its behalf. ## Sandbox access -The Docker [container configuration](../../crates/layerfs-sandbox/src/backend/docker/container.rs) +The Docker [container configuration](../../../engine/crates/layerfs-sandbox/src/platform/docker/create.rs) adds exactly `CapAdd: ["CAP_SYS_ADMIN"]`, one `/dev/fuse` device mapping and `apparmor=unconfined`, keeping `Privileged: false` and `no-new-privileges=true`. Since 2026-10-10 (owner decision C-1) it also sends one inline system-call @@ -269,7 +270,7 @@ no copy of a Workspace mount can exist outside the daemon's namespace and a normal Unmount stays truthful against any holder. A tool that needs an unprivileged user namespace fails in a Workspace command with `EPERM`. The filter replaces the Engine's default one for this container. -[Topology inspection](../../crates/layerfs-sandbox/src/backend/docker/topology.rs) +[Topology inspection](../../../engine/crates/layerfs-sandbox/src/platform/docker/topology.rs) requires exactly that set: a missing, widened or additional capability, device or security option is not reported as the daemon endpoint. Commands still run as the nonroot command identity with an empty effective capability set. diff --git a/core/docs/architecture/nfs-native-lifecycle.md b/core/docs/architecture/nfs-native-lifecycle.md index 775159664e..a0b1a43c56 100644 --- a/core/docs/architecture/nfs-native-lifecycle.md +++ b/core/docs/architecture/nfs-native-lifecycle.md @@ -13,7 +13,7 @@ exceed it, and interrupting a helper cannot prove its kernel effect was undone. Removing Sandbox ownership from the wait resolves the serialization problem without trading it for earlier unknown outcomes. -[`control/export_helper.rs`](../../crates/layerfs-daemon/src/control/export_helper.rs) +[`control/export_helper.rs`](../../../engine/crates/layerfs-daemon/src/control/export_helper.rs) owns each NFS mount, unmount, force and optional flush helper attempt. The public `Helper` and `HELPER_WAIT` exports remain available from `control`. One attempt gets 60 seconds of exit observation. At expiry or an observation @@ -103,7 +103,7 @@ success; durable recovery of that lost result is not claimed. ## Stop before daemon termination -[`backend/native/sandbox.rs`](../../crates/layerfs-sandbox/src/backend/native/sandbox.rs) +[`platform/native/sandbox.rs`](../../../engine/crates/layerfs-sandbox/src/platform/native/sandbox.rs) attempts detach below that Sandbox's own directory before TERM/KILL, while its NFS server can still answer client writeback. A detach failure is logged and does not prevent the existing daemon and process-group stop. Stop remains crash diff --git a/core/docs/architecture/proposal/sandbox-command-launcher.md b/core/docs/architecture/proposal/sandbox-command-launcher.md index 4c056b7c8f..1668a9c803 100644 --- a/core/docs/architecture/proposal/sandbox-command-launcher.md +++ b/core/docs/architecture/proposal/sandbox-command-launcher.md @@ -15,7 +15,7 @@ Every `sandbox.exec` starts a new process through the Docker Engine (`sdk/js/native/src/exec.rs` → `layerfs_api::internal::exec` → -`layerfs-sandbox/src/backend/docker/`): +`layerfs-sandbox/src/platform/docker/`): 1. `POST /containers/{id}/exec` on a new Unix-socket connection (`Connection: close`); 2. `POST /exec/{id}/start`, upgraded and attached for output; @@ -218,7 +218,7 @@ Instead, within the current route: - `sandbox.exec` keeps one Docker exec per call (create, start, inspect). - #352 F-029: exec stops running the full `discovery::refresh()` on every call (one daemon `workspace.status` per mounted Workspace). -- Docker Engine connection reuse in `layerfs-sandbox/src/backend/docker/http.rs` +- Docker Engine connection reuse in `layerfs-sandbox/src/platform/docker/client/http.rs` instead of a new Unix-socket connection per request, one attempt per request. Both go to the #352 fixer as small fixes. The gates judge LayerFS work separately from process start (the split one-shot probe). diff --git a/core/docs/issues/527/PLATFORM-PASS.md b/core/docs/issues/527/PLATFORM-PASS.md new file mode 100644 index 0000000000..4a0bbb7e47 --- /dev/null +++ b/core/docs/issues/527/PLATFORM-PASS.md @@ -0,0 +1,540 @@ +# #527 platform pass: twelve cells on every platform + +> **Status:** Dated planning checkpoint; not release evidence or a product contract. + +Written 2026-11-01 on branch `claude/issue527-platform-pass-e05aa3`, based on +`layerfs_v2_0_0` at `81f8758bcf`. The terminal acceptance pass of #527 ("Sandbox +platform integration and consolidation"): every platform this Mac can run, through +the twelve #516 cells C01–C12. Nothing is pushed or merged; that waits for the owner. + +- **Final commit:** the product is final at `97d408cc51`. This document and the + receipts are committed after it (docs only). +- **Receipts:** `receipts//` beside this file. Each JSON names its row, + cell, verdict, cause, timings, load, identities, lock and teardown. +- **Owner decisions applied:** D1–D7, all at their recommended option (2026-11-01). + The four #516 VMs are real `vm:` providers (owner, 2026-11-01). +- **Delegation:** the owner was asleep and the parent session held the delegated + authority. Reversible choices made during the pass are listed under "Decisions + taken during the pass". + +## Result + +All 120 cells PASS on ten platform rows, and both refusals PASS. + +| Platform (row) | C01 | C02 | C03 | C04 | C05 | C06 | C07 | C08 | C09 | C10 | C11 | C12 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| macOS, local, docker (macos-docker) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| macOS, local, native (macos-native) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| macOS, local, namespaces | REFUSED (expected) | | | | | | | | | | | | +| Linux, local, docker (linux-docker) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| Linux, local, native (linux-native) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| Linux, local, namespaces (linux-namespaces) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| vm:apple-container, namespaces | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| vm:microsandbox, namespaces | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| vm:lima (vz), namespaces | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| vm:firecracker (nested in Lima vz; pass/fail only) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| vm:ssh, namespaces | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | +| vm:*, docker | REFUSED (expected) | | | | | | | | | | | | +| Windows, local, docker (WSL2 worker) | NOT_RUN — no Windows host | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | +| Windows, local, native or namespaces | REFUSED by design (step 8); NOT_RUN on a Windows host | | | | | | | | | | | | + +The refusals are one cell each, since a refused platform runs no cell body. + +- **macOS namespaces** (`refusals-macos-namespaces`, 5431c7e4a9): PASS. The answer + was `Unsupported` three times: for `LAYERFS_SANDBOX=namespaces` without the image + settings, with them, and for the former pair (`native` + + `LAYERFS_SANDBOX_BACKEND=namespaces`). The message is "… namespaces is Linux only; + use native". +- **Docker on a vm: home** (`refusals-vm-docker`): + - At 5431c7e4a9 it was **OBSERVED**, a product finding. + - Placement `vm:docker` was refused `Unsupported` (no such provider). + - `LAYERFS_SANDBOX_BACKEND=docker` was refused `InvalidInput`. + - But `LAYERFS_SANDBOX=docker` on `vm:apple-container` reached the VM's worker + and ended **`Failed`** at Create/Volume with `Io NotFound` (`attempted: false`, + nothing made). The VM's Linux has no Docker Engine. + - Fixed by `e9b9646148`: the agent's worker client refuses a Docker (or unset) + deployment to a worker whose endpoint names a VM, with `Unsupported`, before + sending it. + - Rerun at 97d408cc51: **PASS**, with all three answers as documented. + + Both receipts are kept. + +## Receipt identities and why they count at the final commit + +| Receipts | Product commit | Linux bundle (manifest sha256) | macOS bundle | VM bundle (identity) | run.mjs | +| --- | --- | --- | --- | --- | --- | +| `receipts/5431c7e4a9/` (120 cells, 2 refusals) | 5431c7e4a9 | build-linux-bd7ac86d… | build-macos-c88772be… (`326dd203…`) | cells-bd7ac86d (`a4cc65f2…`) | `9569db7c` ×97, `e8aa4f90` ×25 | +| `receipts/97d408cc51/` (refusals vm-docker) | 97d408cc51 | build-linux-4ee01388… | — | cells-4ee01388 (`8fd20df6…`) | `e8aa4f90` | + +- **Sandbox images.** Docker rows use `sha256:afa1ef9c…` (the index digest, arm64, + node 24). Namespaces and VM rows use the same image as an uncompressed + docker-archive named by its config digest `sha256:1d91885d…`, which the namespaces + backend requires. +- **Why the 5431c7e4a9 receipts count at 97d408cc51** (parent decision, AGENTS.md + §3.4: reuse evidence a change does not affect). `git diff 5431c7e4a9 97d408cc51` + touches four files: + - `api/agent/src/transport/worker_client.js`, the only product file: +5 lines, a + refusal on the path where a Docker deployment is sent to a vm: worker; + - its test; + - one sentence of `api/docs/agent.md`; + - the runner's vm-docker refusal branch (`run.mjs`, `9569db7c` → `e8aa4f90`). + + No row's cell body sends a Docker deployment to a vm: worker. The tests that + change touched were run once at 97d408cc51 and all passed: + - `native_deployment`, `calls` (39) and `exec_output`; + - all 12 `vm_placement` modes; + - `runtime.mjs` macos-worker, windows-worker, worker-frames and worker-docker. + + The log is `receipts/97d408cc51/js-checks-97d408cc51.log`. +- **Runner hash in the middle of the pass.** `97d408cc51` was committed while the + rows were running, and the rows read `run.mjs` from the worktree. So 25 cells + started after it carry `e8aa4f90`: + - linux-namespaces C12; + - vm-microsandbox C08–C12; + - vm-lima C11–C12; + - vm-firecracker C08–C12; + - vm-ssh C01–C12. + + The two runners differ only inside the `refusals vm-docker` branch, which these + cells never enter. `cell.mjs` (`4d8c3431…`) and `workloads.mjs` (`e22d812d…`) are + the same in every receipt. + +## Rows running at the same time + +The final pass ran in five parallel groups: +- macOS rows and the refusals; +- the Linux rows; +- Apple Container then Microsandbox; +- Lima then SSH; +- Firecracker. + +The runner's host-wide lock lets only one timed sample run at a time. Setup, +warm-up and verification may overlap other rows. The overlaps below come from the +receipts' `startedAt`/`endedAt`; the runner was not changed mid-pass to record them. +No cell failed, so no contention rerun was needed (parent rule: such a rerun would +be labelled and shown beside the first receipt). + +| Row | Cells run (UTC) | run.mjs | Rows running at the same time (any cell) | Cells with no other row | +| --- | --- | --- | --- | ---: | +| macos-docker | 21:36:13–21:37:39 | `9569db7c` ×12 | linux-docker, vm-apple-container, vm-firecracker, vm-lima | 0 | +| macos-native | 21:37:52–21:40:15 | `9569db7c` ×12 | linux-docker, linux-namespaces, linux-native, vm-apple-container, vm-firecracker, vm-lima | 0 | +| linux-docker | 21:36:13–21:38:06 | `9569db7c` ×12 | macos-docker, macos-native, vm-apple-container, vm-firecracker, vm-lima | 0 | +| linux-native | 21:38:14–21:39:42 | `9569db7c` ×12 | macos-native, vm-apple-container, vm-firecracker, vm-lima | 0 | +| linux-namespaces | 21:39:47–21:44:08 | `9569db7c` ×11, `e8aa4f90` ×1 | macos-native, refusals macos-namespaces, refusals vm-docker, vm-apple-container, vm-firecracker, vm-lima, vm-microsandbox | 0 | +| vm-apple-container | 21:36:13–21:41:09 | `9569db7c` ×12 | linux-docker, linux-namespaces, linux-native, macos-docker, macos-native, refusals macos-namespaces, refusals vm-docker, vm-firecracker, vm-lima | 0 | +| vm-microsandbox | 21:41:32–21:45:33 | `9569db7c` ×7, `e8aa4f90` ×5 | linux-namespaces, vm-firecracker, vm-lima | 0 | +| vm-lima | 21:36:13–21:44:58 | `9569db7c` ×10, `e8aa4f90` ×2 | linux-docker, linux-namespaces, linux-native, macos-docker, macos-native, refusals macos-namespaces, refusals vm-docker, vm-apple-container, vm-firecracker, vm-microsandbox | 0 | +| vm-firecracker | 21:34:12–21:48:53 | `9569db7c` ×7, `e8aa4f90` ×5 | linux-docker, linux-namespaces, linux-native, macos-docker, macos-native, refusals macos-namespaces, refusals vm-docker, vm-apple-container, vm-lima, vm-microsandbox, vm-ssh | 1 | +| vm-ssh | 21:45:46–21:50:08 | `e8aa4f90` ×12 | vm-firecracker | 1 | +| refusals macos-namespaces | 21:40:22–21:40:22 | `9569db7c` ×1 | linux-namespaces, vm-apple-container, vm-firecracker, vm-lima | 0 | +| refusals vm-docker | 21:40:26–21:40:26 | `9569db7c` ×1 | linux-namespaces, vm-apple-container, vm-firecracker, vm-lima | 0 | + +## Setup and budget per row + +Every cell runs in one command of at most 120 s, with a 115 s runner budget. + +| Row | Project setup (`driver.initMs`) | Budget left for the cell | +| --- | --- | --- | +| macos-docker | 1.1–8.0 s | 86–94 s | +| macos-native | 0.02–1.7 s | 93–95 s | +| linux-docker / -native / -namespaces | ≤ 0.6 s | 87–90 s | +| vm-apple-container | 6.8–18.9 s | 66–78 s | +| vm-microsandbox | 8.4–14.2 s | 71–76 s | +| vm-lima | 28.7–42.0 s | 43–56 s | +| vm-firecracker | 35.6–48.1 s | 37–49 s | +| vm-ssh | 13.8–22.5 s | 62–71 s | + +## The first pass (50e2c2bc87), kept + +`receipts/50e2c2bc87/` holds the first pass, run before the gated steps. + +| Row | Result | +| --- | --- | +| linux-docker | 12/12 PASS | +| linux-native | 12/12 PASS | +| linux-namespaces | 12/12 PASS, but `teardownOk` false: a namespaces Sandbox reopened through a helper path that no longer existed (fixed by `44d41efa33`) | +| macos-docker | 12/12 PASS | +| macos-native | 12/12 PASS | +| vm-microsandbox | 12/12 PASS | +| vm-ssh | 12/12 PASS | +| vm-apple-container | 6 PASS, 6 FAIL in setup (below) | +| refusal macos-namespaces | PASS; it found the ordering fixed by `cb7dc814ea` | + +The six vm-apple-container failures were all in setup: +- **The cause:** project setup took 67–78 s, because `container copy` moved the + 2.6 GB bundle at about 35 MB/s. +- **C03, C07, C08, C12:** stopped at the runner's 15 s minimum budget. +- **C01, C02:** killed by the 120 s bound with no receipt, because setup was not + bounded by the runner's deadline. That runner flaw is fixed in `a1bf3fd4b6`. +- **The fix,** `915522d51b`: the bundle is staged through the home bind mount, and + the guest copies it onto its own disk. Setup dropped to 6.8–18.9 s. + +`receipts/ac-fix-try/` is the one diagnostic proof cell for that fix. It ran on a +derived bundle, not a sealed one. + +## §10 checks + +| Check | Outcome | +| --- | --- | +| `vm_real.mjs` Apple Container and Microsandbox | PASS at the base bundle with the h39 busybox image: Apple Container 30.6 s (attempt 1 failed on the test image's missing bash; the image was then rebuilt with a static bash), Microsandbox 8.2 s. Both rows also pass 12/12 at the final pass | +| `vm_real.mjs` Lima vz and Firecracker (new) | PASS on the providers branch with the h39 bundle and `34d49eb577`: Lima 65.2 s, Firecracker 87.3 s | +| Real `vm:ssh` run | vm-ssh 12/12 PASS (the target is the Lima VM `lfs527-ssh`) | +| `namespaces_userns`, `namespaces_lifecycle` as root | 1/1 and 5/5 in the Lima VM at `44d41efa33`, and again at the ends of steps 9b and 9c (`2d6770fb47`); `layerfs-sandbox` is unchanged since then | +| Linux native end to end as root | linux-native 12/12 PASS | +| Bare macOS SDK with a Docker deployment | `kernel_guard` admits the APFS Store (by design, D5); Init, fork and write succeed; Docker `sandbox.create` fails at Listener ("daemon I/O: No such file or directory") and leaves nothing behind. **Open finding:** `kernel_guard` checks the OS, not the deployment, so this combination reaches Docker and then fails. Recommendation: refuse a Docker deployment in-process on macOS before Init. Not done here | +| macOS worker `releaseStore` | Was a no-op; fixed by `c8f5d8378b`. `macos_real.mjs` at 97d408cc51: PASS in 2.7 s. `project.delete` with the worker holding the Store removed the volume with no error and left nothing behind | +| Windows build (D6) | `layerfs-sandbox` passes Clippy for `x86_64-pc-windows-msvc`, and a build-only `windows-build` CI lane that reports and never gates was added. `layerfs-node` and `layerfs-api` do not compile for Windows: `layerfs-store-service` has 14 Unix-only errors (permission modes, `MetadataExt::uid`, `nix::sys::statvfs`, `STORE_HEADROOM_BYTES`), not gated in this pass. No Windows host: Windows rows NOT_RUN | + +Every helper also ran its own checks before committing. Each commit's message lists +them: Clippy `-D warnings` on macOS and Linux, the product boundary guard, Linux +tests as root, and every `runtime.mjs` and `vm_placement.mjs` mode. + +## Decisions taken during the pass + +All of these are reversible. The owner's own decisions are D1–D7 and the +four-VM requirement. + +1. **Cell protocol details:** + - each cell forks branch `lane` from `main`; + - the warm-up run is unmounted with discard, with no Commit; + - each cell uses one Sandbox, made by `sandbox.create`. +2. **Linux rows run as root in a Lima QEMU VM** (`lfs527-linux`, Ubuntu 24.04, + kernel 6.8.0-147, 4 vCPUs, 4 GiB), because this Mac has no Linux host. The runner + relays into it. It is QEMU because vz was blocked when the VM was made (Lima + 1.0.4). The `vm:ssh` target `lfs527-ssh` is the same kind of VM. +3. **Namespaces and VM rows use the config-digest archive** `1d91885d…`. The + namespaces backend refuses gzip layers and index-digest names. +4. **Release bundles, sealed by `tools/worktree.py build`,** for every row. The VM + bundle is a copy carrying `images/.tar`. +5. **`brew upgrade lima` from 1.0.4 to 2.2.1**, at the user's request to solve the + Lima issue. + - Cause: Lima 1.0.4's gvisor-tap-vsock v0.8.2 watches `/private/var/run` and + fails on Docker Desktop's `docker.sock` symlink (the same cause #516 found). + - colima had no instance. The old keg was removed after the QEMU VMs were + deleted. +6. **Apple Container: stage through the home bind mount** rather than bind-mount + the bundle at VM create. Bind-mounting at create would make a VM unable to + restart once the bundle folder is gone. +7. **Firecracker** uses #516's recipe, all downloads checksum-verified: + - Firecracker v1.17.0, CI kernel 6.18.56, a CI Ubuntu 24.04 rootfs with Node + v22.23.4; + - run nested in Lima vz `lfs527-vzkvm` (4 vCPUs, 4 GiB, `nestedVirtualization`, + 1,100 huge pages); + - each microVM gets 2G and no virtual PMU. + The two-hop bundle stream fit (36–48 s), so the parent's fallback (stage the + bundle in the Lima host) was not needed. +8. **Lima Store disks are named `lfs` + 8 hex characters.** A longer name was cut + to ext4's 16-byte label, so Lima reformatted the disk on every boot. +9. **The final pass ran in five parallel groups**, with the host lock serializing + timed samples. Overlaps are derived from the receipt timestamps. +10. **The runner changed mid-pass** (`97d408cc51`, vm-docker branch only). This is + disclosed above rather than rerunning the 25 cells. +11. **The 5431c7e4a9 receipts are kept for the final commit** (parent decision); the + diff scope is above. +12. **Step 10b behaviour change, accepted by the parent:** Init refuses `Exists` + when its Store volume already exists, instead of reusing it. +13. **Step 12 discovery** uses a new backend-agnostic Rust call, + `runtime.sandbox.records` (parent-approved). A record of another backend is + listed, never reopened. +14. **Windows `releaseStore`** returns quietly when no worker ever started. +15. **The agent refuses a backend by where its Sandbox runs** (`34d49eb577`): Linux + for a worker, this OS otherwise. Found by the vm:lima real proof: + `cb7dc814ea` had refused every vm: row run from macOS. +16. **Docker on a vm: home is refused `Unsupported`** before it is sent + (`e9b9646148`). +17. **Step 7 departures** (Rust helper): + - only `local.rs`'s other-platform branch was removed; those in `sandbox.rs` and + `discovery.rs` stay live on other targets; + - the JSON parser is `json.rs` beside `json/`, because the guard forbids code in + `mod.rs`; + - `ContainerId::random` is built on Linux and macOS only. + +## Findings not fixed in this pass + +- **`kernel_guard` on macOS checks the OS, not the deployment** (§10 row above). +- **`layerfs-store-service` does not compile for Windows** (14 errors), so + `layerfs-node` and `layerfs-api` cannot be gated for Windows yet. +- **`discovery.rs` is at 997 lines**, just under the 999-line ceiling. +- **`lima.js` copies the bundle through the home mount** in the same way as + `apple-container.js`, as duplicated code. The VM providers' `df -kP` parsing + could use `shared.js` `dfFree`. +- **`76-native-mount-session.md`'s revocation paragraph is stale.** +- **A comment in `api/agent/src/index.js` is wrong:** it says + `LAYERFS_SANDBOX_BACKEND` is read per call, but it is read when the client is + made. +- **`vm:ssh` leaves `/layerfs/{home,store}` and a bind mount on its host.** The + runner removes them; the provider does not. +- **Removed tests:** `native_platform::windows_is_refused_before_any_effect`, + deleted with `Runtime::Windows` (step 7). + +## Commits + +Production LOC uses `tools/production_loc.py` on the first parent and the staged +tree. The scope is core, engine and api; the reference is absent (retired R9c; last +counted 65,417 at tree 498dd1917812). Every commit message carries its own line. +Over the branch: **123141 → 123811 (delta +670)**. Of that, +402 is the two new VM +providers and +143 is step 12's discovery call. + +| Commit | Subject | Production LOC | +| --- | --- | --- | +| `133145ffe2` | node: one Sandbox name for every backend (#527 step 5) | 123141 -> 123133 (delta -8) | +| `527c32f626` | sandbox: the provider alone chooses FUSE or NFS (#527 step 6) | 123133 -> 123145 (delta +12) | +| `c6f5dd227d` | sandbox: provider/ into types/, LaunchFailure into the runtime (#527 step 9a) | 123145 -> 123137 (delta -8) | +| `27d1784df3` | runtime: vm: homes refuse Store-level calls before any effect (#527 step 2) | 123137 -> 123155 (delta +18) | +| `18b0810804` | runtime: both deployments name the Sandbox backend (#527 step 3) | 123155 -> 123158 (delta +3) | +| `4083e75590` | runtime, agent: refuse VM providers and native backends on hosts they do not run on (#527 step 8) | 123158 -> 123165 (delta +7) | +| `7080ac9160` | runtime: platform capabilities replace platform.name branches in Init (#527 step 10d) | 123165 -> 123167 (delta +2) | +| `9952d16451` | docs: fix the platform documentation drift of F7 (#527 step 1) | 123167 -> 123167 (delta 0) | +| `24c3c5f828` | sandbox: unpack a Debian image's root entry and long link targets | 123167 -> 123188 (delta +21) | +| `781e1c0236` | runtime: vm:ssh copies carry no AppleDouble files | 123188 -> 123188 (delta 0) | +| `38ad8ab4c2` | node: reopen requires the deployment's own backend (#527 step 4) | 123188 -> 123194 (delta +6) | +| `50e2c2bc87` | test: the twelve-cell runner for the #527 platform pass | 123194 -> 123194 (delta 0) | +| `cb7dc814ea` | agent: refuse namespaces off Linux before reading its image settings | 123194 -> 123197 (delta +3) | +| `c8f5d8378b` | runtime: the macOS worker releases a Store before its volume goes | 123197 -> 123206 (delta +9) | +| `44d41efa33` | sandbox: a namespaces Sandbox reopens with its own helper copy | 123206 -> 123217 (delta +11) | +| `ab00731d51` | sandbox: drop Runtime::Windows, build layerfs-sandbox for Windows (#527 step 7) | 123217 -> 123204 (delta -13) | +| `ad7cb42ee9` | sandbox: backend/ into platform/, json/ and root files (#527 step 9b) | 123204 -> 123207 (delta +3) | +| `2d6770fb47` | sandbox: Docker's files by role, docker/client/, os, ExecExit (#527 step 9c) | 123207 -> 123182 (delta -25) | +| `34d49eb577` | agent: refuse a backend by where its Sandbox runs, not by this OS | 123182 -> 123184 (delta +2) | +| `9b307f35cb` | runtime: the local placement's Docker group under platform/docker/ (#527 step 10a) | 123184 -> 123205 (delta +21) | +| `3f28127edc` | runtime: Store hooks keyed by Store; createStore makes every Store volume (#527 step 10b) | 123205 -> 123209 (delta +4) | +| `9a241c04f2` | runtime: F11's duplicates land once (#527 step 10c) | 123209 -> 123216 (delta +7) | +| `72bd04ccfb` | runtime: sweep finds ended Sandboxes by their labels, not their names (#527 step 12, sweep only) | 123216 -> 123214 (delta -2) | +| `915522d51b` | runtime: Apple Container copies a folder through the home bind mount (#527 platform pass) | 123214 -> 123233 (delta +19) | +| `89226d75e3` | node, agent, runtime: one Sandbox setting, LAYERFS_SANDBOX=docker\|native\|namespaces (#527 step 11) | 123233 -> 123262 (delta +29) | +| `d82d6a3d58` | node, runtime: every backend's Sandbox records listed, and local discovery reads them (#527 step 12, discovery) | 123262 -> 123405 (delta +143) | +| `a1f91f0a9f` | runtime: Windows releases a Store quietly when no worker holds it | 123405 -> 123406 (delta +1) | +| `a1bf3fd4b6` | test: a cell's setup is bounded by the runner's deadline | 123406 -> 123406 (delta 0) | +| `09bf9d1bb0` | docs: AGENTS.md names native macOS as a direct Store exception (#527 D5) | 123406 -> 123406 (delta 0) | +| `d610a82ac1` | test: the cell runner's vm-lima and vm-firecracker rows | 123406 -> 123406 (delta 0) | +| `b39550bd5c` | runtime: vm:lima placement (#527 platform pass) | 123406 -> 123560 (delta +154) | +| `a8cb674f03` | runtime: vm:firecracker placement (#527 platform pass) | 123560 -> 123808 (delta +248) | +| `5431c7e4a9` | test: the cell runner names namespaces with the one Sandbox setting | 123808 -> 123808 (delta 0) | +| `e9b9646148` | agent: a vm: home refuses a Docker deployment before sending it | 123808 -> 123811 (delta +3) | +| `97d408cc51` | test: the vm-docker refusal cell expects the documented answers | 123811 -> 123811 (delta 0) | + +## Cleanup + +Removed: +- **VMs:** every per-cell VM, microVM, Sandbox, container and volume (each cell's + teardown, checked by every row helper), and the pass's Lima VMs `lfs527-linux`, + `lfs527-ssh` and `lfs527-vzkvm` with their disks. +- **Lima:** Lima's download cache (`limactl prune`) and the old Lima 1.0.4 keg. +- **Pulled images:** `node:22-trixie-slim` from Apple Container and Microsandbox. +- **Apple Container:** its service is stopped (the pass had started it). +- **Caches under `~/.cache/layerfs-test`:** the bundle copies, the image archives + (2.7 GB + 0.9 GB + the 6 MB h39 image), the runner copies, the SSH test keys, and + the scratch folders `lfs527-tests-2` and `lfs527-vmreal`. +- **Receipt folders:** the originals (copied here first). +- **Helper worktrees and branches:** `claude/issue527-{js-steps,js-gated,vm-providers,apple-container,lead-side}`, + whose commits are all on this branch. + +Kept: +- **This worktree**, its sealed bundles (166 MB) and its private Cargo target + volumes, warm for the owner's review. Export a cleanup scope for them + (`tools/worktree.py cleanup-scope --release-caches`) once the branch is merged or + dropped. +- **`~/.lima`** (Lima's SSH key and two empty folders), recreated by this pass. + Removing it was refused by this session's permission check; delete it by hand if + it is not wanted. +- **The Docker build cache** of two failed slim-image builds. It is shared, so it + was not pruned. + +Host free space after cleanup: 225.7 GB. Docker guest: 41 GB free. + +## Appendix: per-row identities and timings + +Timings are diagnostic: one sample per cell, never rerun for speed. vm-firecracker +timings describe the nesting (two hypervisors) and are not comparable with other +rows. "lock wait" is the time a cell waited for the host-wide sampling lock. + +### linux-docker + +Where: Linux 6.8.0-147-generic aarch64, 4 vCPUs, 3.8 GiB, cpu.max max 100000; image sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 0.0–10.8; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 813.5 | 867.1 | 16.4 | 189.6 (Committed) | 10.6 | 304.0 | +| C02 | PASS | 1807.0 | 1880.8 | 7.8 | 120.4 (Committed) | 5.7 | 0.0 | +| C03 | PASS | 1330.3 | 1362.7 | 6.4 | 38.3 (UpToDate) | 8.8 | 0.0 | +| C04 | PASS | 2224.1 | 2318.8 | 23.5 | 273.2 (Committed) | 30.7 | 0.0 | +| C05 | PASS | 1395.2 | 1421.0 | 10.9 | 138.6 (Committed) | 4.2 | 915.0 | +| C06 | PASS | 224.0 | 249.1 | 4.0 | 650.7 (Committed) | 14.2 | 0.0 | +| C07 | PASS | 608.9 | 1078.0 | 7.1 | 719.3 (Committed) | 20.8 | 1.0 | +| C08 | PASS | 223.4 | 249.3 | 4.5 | 332.3 (Committed) | 10.2 | 0.0 | +| C09 | PASS | 67.9 | 90.0 | 10.6 | 1.4 (UpToDate) | 4.6 | 0.0 | +| C10 | PASS | 349.5 | 375.1 | 9.2 | 61.4 (Committed) | 16.7 | 609.0 | +| C11 | PASS | 176.1 | 198.7 | 8.4 | 163.2 (UpToDate) | 12.5 | 0.0 | +| C12 | PASS | 486.7 | 520.0 | 7.3 | 74.4 (Committed) | 4.3 | 1.0 | + +### linux-native + +Where: Linux 6.8.0-147-generic aarch64, 4 vCPUs, 3.8 GiB, cpu.max None; image None; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 0.4–9.3; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 658.1 | 661.6 | 5.2 | 101.7 (Committed) | 4.1 | 3437.0 | +| C02 | PASS | 1163.1 | 1167.0 | 4.6 | 100.2 (Committed) | 2.8 | 0.0 | +| C03 | PASS | 1089.3 | 1093.9 | 6.4 | 32.5 (UpToDate) | 4.4 | 0.0 | +| C04 | PASS | 1401.7 | 1408.8 | 10.5 | 132.8 (Committed) | 4.8 | 3094.0 | +| C05 | PASS | 933.1 | 936.0 | 3.6 | 109.0 (Committed) | 3.0 | 0.0 | +| C06 | PASS | 221.1 | 225.0 | 3.5 | 323.7 (Committed) | 12.5 | 508.0 | +| C07 | PASS | 592.2 | 595.2 | 3.8 | 753.6 (Committed) | 22.8 | 0.0 | +| C08 | PASS | 254.9 | 258.9 | 3.8 | 327.7 (Committed) | 14.0 | 0.0 | +| C09 | PASS | 113.3 | 117.0 | 7.4 | 0.7 (UpToDate) | 4.7 | 0.0 | +| C10 | PASS | 604.9 | 611.1 | 9.1 | 63.5 (Committed) | 18.4 | 1.0 | +| C11 | PASS | 367.0 | 372.5 | 8.9 | 157.8 (UpToDate) | 12.8 | 2.0 | +| C12 | PASS | 347.2 | 350.6 | 5.1 | 46.3 (Committed) | 3.0 | 0.0 | + +### linux-namespaces + +Where: Linux 6.8.0-147-generic aarch64, 4 vCPUs, 3.8 GiB, cpu.max None; image sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 0.8–12.3; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 548.2 | 567.4 | 3.8 | 179.8 (Committed) | 3.8 | 4.0 | +| C02 | PASS | 2010.0 | 2042.0 | 46.6 | 214.9 (Committed) | 5.8 | 2.0 | +| C03 | PASS | 828.4 | 847.4 | 4.0 | 14.6 (UpToDate) | 2.3 | 2.0 | +| C04 | PASS | 1286.6 | 1301.0 | 3.9 | 114.3 (Committed) | 2.5 | 0.0 | +| C05 | PASS | 1270.4 | 1288.7 | 3.9 | 107.7 (Committed) | 2.9 | 3.0 | +| C06 | PASS | 203.9 | 225.5 | 3.1 | 327.9 (Committed) | 11.2 | 1.0 | +| C07 | PASS | 501.6 | 520.3 | 3.3 | 635.9 (Committed) | 18.5 | 1.0 | +| C08 | PASS | 234.2 | 247.1 | 4.0 | 344.9 (Committed) | 9.5 | 0.0 | +| C09 | PASS | 135.0 | 151.6 | 13.1 | 0.8 (UpToDate) | 7.0 | 2.0 | +| C10 | PASS | 300.7 | 321.2 | 7.7 | 51.1 (Committed) | 12.6 | 1.0 | +| C11 | PASS | 129.1 | 145.5 | 6.6 | 145.9 (UpToDate) | 10.3 | 0.0 | +| C12 | PASS | 245.9 | 265.2 | 3.9 | 43.5 (Committed) | 2.1 | 1.0 | + +### macos-docker + +Where: Linux 6.12.76-linuxkit aarch64, 8 vCPUs, 7.8 GiB, cpu.max max 100000; image sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 3.8–11.4; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 415.7 | 460.4 | 10.2 | 198.3 (Committed) | 10.9 | 1.0 | +| C02 | PASS | 1971.8 | 2074.6 | 33.1 | 125.7 (Committed) | 10.5 | 1.0 | +| C03 | PASS | 473.3 | 519.8 | 12.9 | 18.6 (UpToDate) | 8.9 | 2.0 | +| C04 | PASS | 1014.0 | 1076.4 | 13.2 | 119.7 (Committed) | 8.7 | 0.0 | +| C05 | PASS | 868.6 | 908.8 | 11.5 | 111.8 (Committed) | 7.2 | 0.0 | +| C06 | PASS | 175.3 | 211.0 | 9.6 | 330.4 (Committed) | 13.3 | 0.0 | +| C07 | PASS | 451.7 | 492.2 | 14.7 | 668.1 (Committed) | 21.8 | 1.0 | +| C08 | PASS | 222.3 | 271.8 | 12.5 | 347.8 (Committed) | 15.5 | 0.0 | +| C09 | PASS | 39.5 | 76.3 | 12.1 | 1.9 (UpToDate) | 7.9 | 0.0 | +| C10 | PASS | 212.1 | 250.7 | 12.8 | 55.5 (Committed) | 14.2 | 0.0 | +| C11 | PASS | 174.8 | 240.5 | 161.2 | 160.2 (UpToDate) | 13.9 | 28.0 | +| C12 | PASS | 243.9 | 297.0 | 16.4 | 72.7 (Committed) | 10.7 | 0.0 | + +### macos-native + +Where: Darwin 25.4.0 arm64, 14 vCPUs, 36.0 GiB, cpu.max None; image None; source 5431c7e4a9; bundle build-macos-c88772be7b1949f1af6289022adb1718; 1-min load 6.8–9.4; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 941.6 | 967.6 | 28.8 | 890.4 (Committed) | 28.9 | 0.0 | +| C02 | PASS | 7892.6 | 7913.1 | 29.8 | 283.9 (Committed) | 33.2 | 1.0 | +| C03 | PASS | 1422.8 | 1437.7 | 23.3 | 146.6 (UpToDate) | 20.6 | 0.0 | +| C04 | PASS | 7387.8 | 7492.2 | 28.9 | 939.8 (Committed) | 39.9 | 1.0 | +| C05 | PASS | 4540.2 | 4555.0 | 22.4 | 472.9 (Committed) | 36.0 | 0.0 | +| C06 | PASS | 792.6 | 838.6 | 24.8 | 664.1 (Committed) | 27.6 | 0.0 | +| C07 | PASS | 565.7 | 589.7 | 28.5 | 1128.2 (Committed) | 39.5 | 0.0 | +| C08 | PASS | 424.1 | 470.0 | 46.9 | 1222.5 (Committed) | 37.3 | 0.0 | +| C09 | PASS | 42.0 | 58.0 | 62.5 | 90.0 (UpToDate) | 21.6 | 0.0 | +| C10 | PASS | 270.1 | 289.8 | 24.8 | 448.4 (Committed) | 49.4 | 0.0 | +| C11 | PASS | 213.6 | 230.4 | 21.7 | 565.7 (UpToDate) | 32.7 | 0.0 | +| C12 | PASS | 594.5 | 614.9 | 49.9 | 838.5 (Committed) | 27.2 | 1.0 | + +### vm-apple-container + +Where: Linux 6.18.35 aarch64, 5 vCPUs, 4.0 GiB, cpu.max None; image sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 3.6–10.8; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 528.8 | 552.7 | 8.1 | 171.7 (Committed) | 9.0 | 207.0 | +| C02 | PASS | 915.4 | 936.8 | 10.1 | 110.1 (Committed) | 10.4 | 306.0 | +| C03 | PASS | 618.6 | 634.7 | 10.5 | 10.1 (UpToDate) | 8.7 | 305.0 | +| C04 | PASS | 648.4 | 669.0 | 5.6 | 142.6 (Committed) | 6.3 | 1.0 | +| C05 | PASS | 875.5 | 887.3 | 11.6 | 107.3 (Committed) | 7.6 | 8794.0 | +| C06 | PASS | 142.7 | 166.8 | 11.8 | 302.1 (Committed) | 10.0 | 916.0 | +| C07 | PASS | 294.3 | 315.5 | 3.7 | 600.0 (Committed) | 15.3 | 0.0 | +| C08 | PASS | 187.5 | 205.6 | 5.9 | 308.1 (Committed) | 113.6 | 1.0 | +| C09 | PASS | 52.9 | 73.0 | 6.6 | 1.5 (UpToDate) | 10.8 | 1.0 | +| C10 | PASS | 225.9 | 245.9 | 6.8 | 51.4 (Committed) | 12.4 | 0.0 | +| C11 | PASS | 151.0 | 168.8 | 13.9 | 162.5 (UpToDate) | 17.3 | 2.0 | +| C12 | PASS | 165.2 | 193.4 | 6.3 | 50.8 (Committed) | 6.0 | 1.0 | + +### vm-microsandbox + +Where: Linux 6.12.113 aarch64, 4 vCPUs, 3.8 GiB, cpu.max None; image sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 8.5–12.6; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 381.6 | 409.7 | 8.1 | 106.2 (Committed) | 8.9 | 26.0 | +| C02 | PASS | 968.7 | 1030.4 | 5.6 | 95.6 (Committed) | 11.5 | 1.0 | +| C03 | PASS | 530.1 | 573.4 | 6.9 | 9.4 (UpToDate) | 6.3 | 102.0 | +| C04 | PASS | 589.9 | 634.3 | 5.2 | 437.9 (Committed) | 110.8 | 0.0 | +| C05 | PASS | 842.1 | 893.1 | 6.4 | 104.0 (Committed) | 8.2 | 0.0 | +| C06 | PASS | 171.1 | 233.1 | 5.8 | 304.9 (Committed) | 11.9 | 1.0 | +| C07 | PASS | 291.5 | 340.0 | 5.4 | 586.4 (Committed) | 16.2 | 0.0 | +| C08 | PASS | 133.8 | 189.4 | 5.5 | 297.7 (Committed) | 21.6 | 1.0 | +| C09 | PASS | 84.4 | 160.3 | 11.0 | 2.9 (UpToDate) | 142.0 | 3.0 | +| C10 | PASS | 180.5 | 234.9 | 7.7 | 45.9 (Committed) | 12.9 | 0.0 | +| C11 | PASS | 104.7 | 163.3 | 8.0 | 139.8 (UpToDate) | 11.3 | 1.0 | +| C12 | PASS | 128.2 | 167.4 | 4.5 | 42.6 (Committed) | 7.7 | 1.0 | + +### vm-lima + +Where: Linux 6.8.0-147-generic aarch64, 4 vCPUs, 3.8 GiB, cpu.max None; image sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 3.8–12.5; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 272.7 | 287.7 | 10.0 | 100.1 (Committed) | 17.3 | 1.0 | +| C02 | PASS | 1066.5 | 1078.1 | 6.4 | 101.0 (Committed) | 7.4 | 1.0 | +| C03 | PASS | 656.0 | 670.1 | 9.5 | 24.1 (UpToDate) | 7.2 | 1522.0 | +| C04 | PASS | 1270.3 | 1292.6 | 11.2 | 760.5 (Committed) | 24.5 | 3.0 | +| C05 | PASS | 764.6 | 779.5 | 4.8 | 104.8 (Committed) | 6.5 | 1.0 | +| C06 | PASS | 200.8 | 332.6 | 11.0 | 479.0 (Committed) | 16.8 | 0.0 | +| C07 | PASS | 420.7 | 433.8 | 5.7 | 674.2 (Committed) | 23.6 | 2.0 | +| C08 | PASS | 176.7 | 191.2 | 6.0 | 323.1 (Committed) | 15.9 | 2.0 | +| C09 | PASS | 75.0 | 91.5 | 36.2 | 1.6 (UpToDate) | 10.3 | 0.0 | +| C10 | PASS | 256.5 | 271.8 | 11.5 | 57.4 (Committed) | 20.8 | 13.0 | +| C11 | PASS | 164.6 | 185.3 | 11.0 | 153.5 (UpToDate) | 16.8 | 6.0 | +| C12 | PASS | 164.1 | 188.4 | 4.5 | 45.6 (Committed) | 7.1 | 0.0 | + +### vm-firecracker + +Where: Linux 6.18.56+ aarch64, 4 vCPUs, 1.9 GiB, cpu.max None; image sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 3.6–11.3; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 596.0 | 643.6 | 8.3 | 120.2 (Committed) | 7.3 | 0.0 | +| C02 | PASS | 2047.6 | 2083.8 | 20.5 | 124.0 (Committed) | 8.5 | 1120.0 | +| C03 | PASS | 1173.5 | 1205.9 | 11.2 | 17.2 (UpToDate) | 4.6 | 854.0 | +| C04 | PASS | 1728.7 | 1772.1 | 10.9 | 123.1 (Committed) | 5.5 | 0.0 | +| C05 | PASS | 2159.3 | 2247.2 | 10.1 | 125.1 (Committed) | 8.1 | 3.0 | +| C06 | PASS | 359.5 | 441.9 | 24.1 | 514.8 (Committed) | 26.0 | 0.0 | +| C07 | PASS | 679.6 | 770.4 | 14.2 | 784.6 (Committed) | 34.1 | 0.0 | +| C08 | PASS | 573.6 | 896.5 | 53.2 | 523.4 (Committed) | 31.3 | 9.0 | +| C09 | PASS | 113.2 | 152.1 | 17.0 | 3.2 (UpToDate) | 7.0 | 0.0 | +| C10 | PASS | 447.6 | 518.4 | 17.5 | 100.1 (Committed) | 14.7 | 0.0 | +| C11 | PASS | 236.5 | 272.0 | 20.8 | 150.8 (UpToDate) | 10.7 | 1.0 | +| C12 | PASS | 487.8 | 530.9 | 8.5 | 60.3 (Committed) | 5.5 | 0.0 | + +### vm-ssh + +Where: Linux 6.8.0-147-generic aarch64, 4 vCPUs, 3.8 GiB, cpu.max None; image sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9; source 5431c7e4a9; bundle build-linux-bd7ac86d01304d4e89a2e98057d26d66; 1-min load 5.5–9.5; teardown clean in all: True. + +| Cell | Verdict | command ms | exec wall ms | mount ms | Commit ms (kind) | unmount ms | lock wait ms | +| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | +| C01 | PASS | 438.9 | 461.3 | 4.0 | 101.2 (Committed) | 4.1 | 1.0 | +| C02 | PASS | 1003.0 | 1017.9 | 5.9 | 97.7 (Committed) | 3.9 | 0.0 | +| C03 | PASS | 961.0 | 977.8 | 3.9 | 8.4 (UpToDate) | 3.3 | 1.0 | +| C04 | PASS | 899.2 | 919.4 | 3.8 | 108.4 (Committed) | 3.4 | 0.0 | +| C05 | PASS | 878.7 | 891.8 | 4.8 | 104.0 (Committed) | 3.7 | 1.0 | +| C06 | PASS | 190.4 | 209.6 | 4.1 | 314.6 (Committed) | 10.4 | 0.0 | +| C07 | PASS | 396.4 | 412.4 | 4.6 | 604.9 (Committed) | 17.5 | 1.0 | +| C08 | PASS | 165.5 | 177.1 | 3.7 | 306.5 (Committed) | 10.1 | 0.0 | +| C09 | PASS | 80.0 | 99.8 | 7.2 | 1.8 (UpToDate) | 6.0 | 0.0 | +| C10 | PASS | 216.8 | 239.9 | 7.0 | 51.0 (Committed) | 13.4 | 0.0 | +| C11 | PASS | 102.2 | 125.7 | 6.8 | 137.9 (UpToDate) | 10.5 | 1.0 | +| C12 | PASS | 236.0 | 253.3 | 3.9 | 45.6 (Committed) | 3.0 | 1.0 | + diff --git a/core/docs/issues/527/README.md b/core/docs/issues/527/README.md new file mode 100644 index 0000000000..b7206fe07b --- /dev/null +++ b/core/docs/issues/527/README.md @@ -0,0 +1,545 @@ +# #527 Sandbox platform integration and consolidation + +> **Status:** Design record; target LayerFS 2.0.0; not a released contract. +> Written 2026-11-01 against `layerfs_v2_0_0` at `81f8758bcf`, after the +> Area B merges (#523, #524, #525 with #427, #526). The owner answered +> D1–D7 (§9) on 2026-11-01 with the recommended options (D1: +> `platform/namespaces/`). The plan was implemented and checked by the +> terminal pass; its results, decisions and open findings are in +> [PLATFORM-PASS.md](PLATFORM-PASS.md). Findings and paths below describe +> the tree at `81f8758bcf`. + +## 1. Summary + +LayerFS now runs a Sandbox three ways (Docker, native, Linux namespaces) and +places its Store and daemons four ways (this host, Docker Desktop's VM, WSL2, +or a VM per project). The merges that added these left the code arranged by +history rather than by those two choices: + +- The Rust crate `layerfs-sandbox` keeps every backend under `backend/`, next + to OS facts, shared helpers and the helper binary's input format; + `provider/` reaches back into the runtime and into Docker. +- `@layerfs/runtime` makes 15 Docker calls in seven files, each guarded by a + flag its caller must remember. +- The backend is validated in two layers and, on a local placement, decided by + whatever `LAYERFS_SANDBOX*` values happen to be in the environment. + +This proposal names the two choices, gives each one owner, reorganizes both +packages around them, and fixes the defects found on the way. Each change is a +small commit; behaviour changes and file moves never share one (§8). + +## 2. Two choices + +| Word | Question | Values today | Owner | +| --- | --- | --- | --- | +| **Placement** | Whose Linux kernel opens the Store and runs the daemons? | `local` (this host, Docker Desktop's VM or WSL2), `vm:apple-container`, `vm:microsandbox`, `vm:ssh` | `@layerfs/runtime`: [`settings.js`][settings], `platform/` | +| **Backend** | How is one Sandbox run on that kernel? | `docker`, `native`, `namespaces` | `layerfs-sandbox`: `platform/` | + +The backend fixes the isolation: a container, Linux namespaces with a cgroup, +or none. The same folder name, `platform/`, means placement in the runtime and +backend in the Rust crate (D7). + +A VM provider only supplies the kernel. Inside the VM a Rust backend still +runs each Sandbox: `namespaces` in [#512][i512]'s route A, `docker` in its +route B. New providers such as E2B or Vercel therefore add a file to +`api/runtime/src/platform/vm/`, not a Rust backend. + +## 3. What is implemented + +### 3.1 Support matrix + +| Host | Placement | Backend | Status | Store opened by | Mount | Isolation | +| --- | --- | --- | --- | --- | --- | --- | +| Linux | local | docker | supported, default | Linux, in a Docker volume (ext4/xfs/btrfs) | FUSE | container | +| Linux | local | native | SDK only, as root; the runtime never selects it on purpose | Linux, at `LAYERFS_STORE_PATH` | FUSE | none | +| Linux | local | namespaces | SDK only: root, cgroup v2, `user.max_user_namespaces=0`, an image archive | Linux | FUSE | namespaces + cgroup | +| macOS | local | docker | supported through the worker container | Linux, in Docker Desktop's VM | FUSE | container | +| macOS | local | native | SDK only, in-process macOS addon | macOS, on apfs/hfs | loopback NFS | none | +| macOS | local | namespaces | refused `Unsupported` | — | — | — | +| Windows | local | docker | supported through the WSL2 worker | Linux, in WSL2 | FUSE | container | +| Windows | local | native, namespaces | not refused; reaches the WSL worker's Linux addon as root; untested | — | — | — | +| any | `vm:*` | namespaces (a host `LAYERFS_SANDBOX_BACKEND=native` overrides it) | implemented; only fake providers have run | Linux, on the VM's ext4 disk | FUSE | VM + namespaces | +| any | `vm:*` | docker | impossible: the VM deployment hard-codes `SANDBOX: "native"` | — | — | — | + +Sources: placement [`settings.js:40-48`][settings]; local deployment +[`clients.js:33-43`][clients]; VM deployment +[`vm/index.js:369-386`][vmindex]; backend [`runtime.rs:37-66`][noderuntime] +and [`local.rs:233-266`][nodelocal]; Store filesystems +[`kernel_guard.rs:32-90`][kernelguard]. + +### 3.2 Where each decision is made + +| Decision | Places | +| --- | --- | +| docker or native | [`client.js:73-77`][agentclient] and [`runtime.rs:57-66`][noderuntime], same message | +| native or namespaces | [`runtime.rs:37-52`][noderuntime] only; not checked in JS; ambient on a local placement | +| image needs of namespaces | [`client.js:113-117`][agentclient] and [`runtime.rs:91-114`][noderuntime] | +| FUSE or NFS | [`local.rs:315-335`][nodelocal], `native/provider.rs:93-104`, `namespaces/create.rs:194`, `layerfs-daemon/src/application/filesystem.rs:22-23` | +| Sandbox name | `layerfs-node/src/sandbox.rs:262-272`, [`local.rs:340-350`][nodelocal], `sandbox/sweep.js:23` | +| Store path inside a Docker volume | `platform/linux/index.js:34`, `platform/macos/index.js:133`, `platform/windows/index.js:138,150`, Rust `LOCATOR` | +| whether host Docker applies | `hostDocker`/`hostSandboxes` checks in `status.js`, `volume.js`, `sandbox/list.js`, `sandbox/leftovers.js`, `sandbox/sweep.js` | + +## 4. Findings + +Defects, each fixed by a step in §8: + +- **F1. `layerfs-sandbox` cannot compile on Windows.** `provider/launch.rs:2` + and the `From` impls in `provider/options.rs:139-178` use + `crate::backend` with no `cfg`, and `backend` is `#[cfg(unix)]` + (`lib.rs:5`). `layerfs-node` imports `backend::docker` without a `cfg` too. + No CI lane builds Windows. +- **F2. `Runtime::Windows` cannot exist on Windows.** It is declared in the + Unix-only `runtime.rs`, and only `tests/native_platform.rs:38` constructs + it. In `layerfs-node`, the `cfg(not(any(linux, macos)))` branch in + `local.rs:258-266` is dead on every target (`mod local` is itself gated to + Linux and macOS); the ones in `sandbox.rs:154-160` and + `discovery.rs:710-718` matter only on other Unix systems. [#452][i452] adds a + Windows Store route, not a Sandbox backend. +- **F3. Store calls crash on a `vm:` home.** `store.create` + ([`store/calls.js:123`][storecalls]), `start_load` (`store/sync.js:203`) and + `runInto` call `platform.init(settings)` with no project; the VM's `init` + reads `project.name` ([`vm/index.js:409-410`][vmindex]) and throws a plain + `TypeError` with no LayerFS code. `vm.storePath()` also ignores the volume, + so every Store would map to one guest file, and PostgreSQL Stores on `vm:` + homes are not refused explicitly. +- **F4. The local placement does not choose the backend.** Its deployment + ([`clients.js:33-43`][clients]) never sets `LAYERFS_SANDBOX`, + `_SANDBOX_BACKEND` or `_LOCAL_DIR`, so ambient values pass through; on `vm:` + a host `LAYERFS_SANDBOX_BACKEND=native` replaces `namespaces` + ([`vm/index.js:374`][vmindex]). +- **F5. Reopen is asymmetric.** A native record reopens under a namespaces + deployment (`discovery.rs:584-585` checks only `sandbox == native`); a + namespaces record under a native deployment is refused (`:680-692`). +- **F6. Local discovery sees only Docker.** On local placements + `runtime.sandbox.list`, `sweep` and `storeHolders` list containers only, so + removing a Store can miss native or namespaces holders. `vm:` homes already + use `project.list_sandboxes` ([`vm/index.js:342-348`][vmindex]). +- **F7. Documentation disagrees with code.** + + | Where | Says | Code | + | --- | --- | --- | + | [`api/docs/agent.md`][agentmd]`:150, 263-264` | native is macOS only; Linux keeps Docker only | Linux native exists (`local.rs:241-256`) | + | `agent.md:369, 373` | a namespaces Sandbox reports `image` as `local`, not a pinned image | it reports the digest (`runtime.rs:76-83`) | + | `agent.md:152, 362-364` | a record is never reopened as the other kind | see F5 | + | [`AGENTS.md`][agents] | VM providers "verified"; `project.remove` | only fakes ran; the call is `project.delete` | + | `api/cli/src/help.js:31-34` | lists the settings | omits seven `LAYERFS_*` settings | + | `layerfs-api/PROVIDERS.md:5`, `backend/windows/README.md` | four `Runtime` variants | `Namespaces` is missing | + | [`api/docs/runtime.md`][runtimemd] | anchor `#placement-one-linux-vm-per-home` | the heading is "per Store" | + | `core/docs/architecture/76-native-mount-session.md`, `nfs-native-lifecycle.md` | links into `core/crates` | the crates are in `engine/crates` | + + AGENTS.md also says direct Store access is Linux only, while + [`kernel_guard.rs:59-83`][kernelguard] accepts apfs/hfs for macOS native; + that is D5, not a doc fix. + +Structure, fixed by the layouts in §5–§6: + +- **F8. `provider/` is not a leaf.** `provider/launch.rs` needs the runtime's + `Sandbox` and `provider/options.rs` needs Docker's `SandboxRequest`. + (`types/` already is one, apart from `RuntimeError::Docker` behind + `cfg(unix)`.) +- **F9. Namespaces' use of native is hidden.** Namespaces is native with + namespaces added (`LAYERFS_SANDBOX=native`, + `LAYERFS_SANDBOX_BACKEND=namespaces`): it imports native's `Local`, + `LocalPaths`, `LocalPhase`, `LocalProcess` and `search`, Linux's `mounts`, + and five `backend/` helpers (`streams`, `listener`, `identity`, `HelperSpec`, + `json`). The imports are fine; the folders do not show the relationship. +- **F10. Docker in `@layerfs/runtime` has no home.** Docker argv is built in + `platform/shared.js` and in six files outside `platform/` (11 calls); `vm` + supplies a `docker()` that throws, and each caller checks a flag first. + `project/delete.js:65` is protected only because its container listing is. +- **F11. Small duplicates.** `STOPPED` (`shared.js:78`, `delete.js:52`); + `/var/lib/docker/volumes` (three places plus the setting default); `df -kP` + parsing (macOS, Windows, and the three VM providers); reading the worker + endpoint file (four places); the worker `releaseStore` call (Windows, VM); + `homeNames` and `removeHome` (linux, macos, vm). + +## 5. Target layout: `layerfs-sandbox` + +Scope: `engine/crates/layerfs-sandbox/src/` at `81f8758bcf`, counted with +`tools/production_loc.py --files` (blob `686d269d`). Removed files are listed +where they are today and counted in their folder; `—` marks a new file. Tests +live in `tests/` and are not counted. The listing shows D1 option C. + +```diff + src/ [8260] + lib.rs 11 (absorbs backend/mod.rs; root re-exports) + helper_spec.rs 110 (from backend/; the helper binary's input format) + runtime.rs 255 (from backend/; gains LaunchFailure; drops Windows) +- backend/ [33] (removed; partial: the rest is listed where it moves) +- mod.rs 21 (declarations move to lib.rs) +- identity.rs 12 (into types/identity.rs as ContainerId::random) + bin/ [434] (unchanged) + layerfs-sandbox-helper/ [434] + main.rs 45 + exec.rs 141 + init.rs 88 (HelperSpec import path) + mounts.rs 160 (HelperSpec import path) ++ json/ [403] (streaming JSON for Engine replies and image manifests) + mod.rs 231 (from backend/json.rs) + strings.rs 172 (from backend/) ++ platform/ [6488] (every Sandbox backend) ++ mod.rs — new (declarations) + docker/ [3078] (from backend/docker/; a container per Sandbox) + mod.rs 32 + create.rs 223 (from container.rs; stop and delete move to sandbox.rs) + endpoint.rs 273 ++ exec.rs — new (request.rs + provider_exec.rs + inspect.rs) + failure.rs 29 (from provider_failure.rs) +- headers.rs 29 (into client/body.rs) +- inspect.rs 94 (into exec.rs) + listener.rs 197 + provider.rs 118 +- provider_exec.rs 95 (into exec.rs) +- request.rs 131 (into exec.rs) + sandbox.rs 115 (from container_types.rs; gains stop, delete, DockerRecord From impls) + streams.rs 374 + topology.rs 189 + upload.rs 228 (from archive.rs) ++ client/ [951] (the Engine HTTP client) ++ mod.rs — new (declarations) + body.rs 180 (from docker/; absorbs headers.rs) + http.rs 566 (from docker/) + mux.rs 10 (from docker/) + socket.rs 119 (from docker/) + version.rs 76 (from docker/) + namespaces/ [1954] (from backend/namespaces/; Linux; D1) + mod.rs 11 + cgroup.rs 62 + create.rs 250 + exec.rs 103 + host.rs 79 + paths.rs 35 + provider.rs 194 + sandbox.rs 284 + rootfs/ [936] + mod.rs 8 + archive.rs 289 + cache.rs 121 + layers.rs 192 + tar.rs 304 + types.rs 22 + native/ [1456] (from backend/native/; one daemon process per Sandbox) + mod.rs 18 (alias platform becomes os) + create.rs 231 + exec.rs 109 + groups.rs 114 + listener.rs 56 (from backend/) + process.rs 59 + provider.rs 171 + sandbox.rs 271 + search.rs 13 + streams.rs 18 (from backend/) + linux/ [133] (from backend/linux/) + mod.rs 3 + mounts.rs 90 + process.rs 40 + macos/ [263] (from backend/macos/) + mod.rs 3 + darwin.rs 238 (the crate's only unsafe) + mounts.rs 22 +- provider/ [34] (removed; partial: the rest moves to types/) +- mod.rs 10 (into types/mod.rs) +- launch.rs 24 (into runtime.rs) + types/ [492] (values every backend shares) + mod.rs 13 (absorbs provider/mod.rs) + capabilities.rs 29 (from provider/) + execution.rs 32 + failure.rs 97 (absorbs transfer.rs) + identity.rs 62 (gains ContainerId::random) + image.rs 25 + options.rs 171 (from provider/; Docker From impls move out) + request.rs 46 +- transfer.rs 17 (into failure.rs) +``` + +- **One folder per backend, named as the setting names it.** + `platform/{docker, native, namespaces}` match the `LAYERFS_SANDBOX` values + (§7), the `Runtime` variants and the record values. `runtime.rs` stays at the + root as the one `match` over them; it also takes `LaunchFailure`. +- **The same file names for the same roles.** Each backend has `provider.rs` + (what `Runtime` holds), `create.rs` (start one Sandbox), `sandbox.rs` (a + running Sandbox: stop, delete, inspect) and `exec.rs` (one command). Docker + gets there by renaming `container_types → sandbox` and `container → create`, + moving its stop and delete into `sandbox.rs`, and joining `request`, + `provider_exec` and `inspect` into `exec.rs`. `listener.rs` and `streams.rs` + already match between Docker and native. +- **`docker/client/` is the Engine HTTP client**: `http`, `socket`, `body` + (with `headers`), `mux` and `version`. `listener.rs` and `streams.rs` still + read its `Socket`, `Body` and `mux::header`, so its `pub(super)` items become + `pub(in crate::platform::docker)`. +- **`native/` holds the local process lifecycle and its OS facts.** `linux/` + and `macos/` become children of the only code that reads them; native's + `use super::linux as platform` alias becomes `os`, so it no longer shadows + `crate::platform`. Namespaces keeps importing native's lifecycle as a + sibling, which is ordinary Rust; the doc comment on `namespaces/mod.rs` + says so. +- **Shared pieces sit at the root:** `json/` (Docker replies and namespaces' + image manifests), `helper_spec.rs` (the input format shared by namespaces and + `bin/layerfs-sandbox-helper`, compiled on every Unix as today) and `types/`. +- **`types/` takes `provider/`.** Capabilities and options move in; + `ContainerId::random` joins `identity.rs` under `cfg(unix)`; the Docker + `From` impls move to `docker/sandbox.rs` and `LaunchFailure` to + `runtime.rs`. `types/` then depends on no backend except through + `RuntimeError::Docker`. +- **Renames only where a name misleads:** the four Docker files above. `host.rs`, + `rootfs/types.rs` and `types/identity.rs` keep their names. +- **Windows:** `Runtime::Windows` and `backend/windows/README.md` go (D2); + `PROVIDERS.md` states that Windows runs the Linux build through WSL2 or a VM. + +Build notes, from reading the source (nothing was built): + +- `platform/`, `runtime.rs` (with `LaunchFailure`) and `json/` keep + `#[cfg(unix)]`; they no longer inherit it from `backend`. +- `json/mod.rs` and `strings.rs` import each other through `super::`; both + paths change. +- `native/` stays gated to Linux and macOS and `namespaces/` to Linux, as + today; `HelperSpec` stays on every Unix. + +### 5.1 Public surface + +Modules become private. The crate root re-exports what every caller uses: +`Runtime`, `Sandbox`, `LaunchFailure`, the `types/` items, the four providers, +`Docker` and `HelperSpec`. Items specific to one backend stay in one public +module per backend, re-exported at the root so no external path names +`platform/`: `layerfs_sandbox::docker::…`, `::native::…`, `::namespaces::…`. +That keeps the four `Sandbox` types apart without renaming them; a flat root +would collide on `Sandbox`. The unused `DockerInstance`, +`NativeLinuxInstance` and `NativeMacosInstance` aliases go, and `LocalExit` +becomes `ExecExit`. + +Paths that change, as occurrences in other crates, examples and tests +(grouped imports included): `backend::docker::` 22, `backend::native::` 12, +`backend::namespaces::` 5, `backend::HelperSpec` 3, `provider::` 27. The 12 +names the root exports today keep their paths. + +## 6. Target layout: `@layerfs/runtime` + +Scope: `api/runtime/src/` at `81f8758bcf`, same counter; only the files this +change touches are listed. + +```diff + src/ [2199] (partial: files this change touches) + clients.js 91 (both deployments name the backend) + index.js 145 (picks docker/ or vm/) + settings.js 117 (one Sandbox setting; host-OS check per VM provider) + status.js 26 (uses platform.docker) + volume.js 55 (uses platform.docker.disk) + platform/ [1146] + shared.js 62 (worker endpoint, homes, refusals, df parsing) ++ docker/ [295] (the local placement: Docker on this host, Docker Desktop or WSL2) ++ index.js — new (the Docker group, built on each platform's own docker call) ++ disk.js — new (disk use and volume removal for runtime.volume) + linux.js 34 (from linux/index.js) + macos.js 109 (from macos/index.js; Docker Desktop worker) ++ sandboxes.js — new (list, inspect, leftovers, remove; STOPPED) ++ stores.js — new (Store volumes, keyed by Store) + windows/ [152] (from windows/) + index.js 135 (WSL2 worker; docker through wsl.exe) + paths.js 17 + vm/ [789] (vm:: one VM per project; no Docker group) + index.js 312 (Store-keyed hooks refuse; init checks its project) + cli.js 30 + apple-container.js 91 + microsandbox.js 72 + ssh.js 284 + project/ [166] (partial) + delete.js 51 (uses platform.docker.sandboxes) + init.js 115 (platform.name branches become capabilities) + sandbox/ [94] (partial) + leftovers.js 33 (uses platform.docker.sandboxes) + list.js 40 (uses platform.docker.sandboxes) + sweep.js 21 (matches labels, not names) + store/ [326] (partial) + calls.js 139 (makeVolume moves to docker/stores.js) + sync.js 176 + volume.js 11 (Store-keyed hooks) + worker/ [33] (partial) + call.js 33 (one endpoint read and releaseStore call) +``` + +- **`platform/` keeps meaning placement, and has two children**, one per + `LAYERFS_PLACEMENT` kind: `docker/` for `local` (Docker on this host, in + Docker Desktop or in WSL2) and `vm/` for `vm:`. The three Docker + placements move into `docker/` beside what they share (D4). +- **One Docker group replaces three flags.** linux, macos and windows expose + `platform.docker`, built in `docker/index.js` from that platform's own call: + `run` (the host socket on Linux and macOS, `wsl.exe` on Windows), + `sandboxes`, `stores`, `disk` and `version`. `vm` has no `platform.docker`. + `hostDocker`, `hostSandboxes` and the throwing `vm.docker` go. A caller that + finds no group refuses `Unsupported`; that refusal is new (today + `runtime.vm` is simply absent on local placements). Helpers always reach + Docker through `runtime.platform.docker.run`, so tests can still replace it. +- **Store hooks are keyed by Store, not by project.** `createStore` and + `removeStore` join `store/calls.js` `makeVolume` and `shared.js` + `makeStore`; the `vm` versions refuse cleanly until a VM home can hold + Stores (F3). +- **F11's duplicates land once:** `STOPPED` in `docker/sandboxes.js`; the + volumes directory from `settings.volumes` in `docker/index.js`; `df -kP` + parsing, `homeNames` and `removeHome` in `shared.js`; the endpoint read and + `releaseStore` call in `worker/call.js`. +- **Branches on `platform.name` become capabilities** (`initCounts`, + `uncertainInit`; `project/init.js:110, 112, 141, 143`). `platform.name` + stays in `init-failures.jsonl` and messages. +- **Unchanged:** `worker/server.js`'s path (hard-coded in macos, windows, vm, + three test fixtures and a plugin guide) and `vm:ssh`. + +## 7. Settings + +One Sandbox setting replaces two (D3): + +| `LAYERFS_SANDBOX` | Backend | Replaces | +| --- | --- | --- | +| unset or `docker` | docker | `LAYERFS_SANDBOX` unset or `docker` | +| `native` | native | `native` with backend unset or `native` | +| `namespaces` | namespaces | `native` with `LAYERFS_SANDBOX_BACKEND=namespaces` | + +The old pair keeps working for one release. Rust +([`layerfs-node/src/runtime.rs`][noderuntime]) is the one validator and maps +the old pair; JS only checks that the fields each value needs are present. +The runtime always names the backend: local sets `docker`, and `vm:` sets +`namespaces` from its settings, not from `process.env` (F4). + +### 7.1 Names that do not change + +- Record `runtime` values `native`, `namespaces` and `local` + (`layerfs-node/src/runtime.rs:18-24`), and every `layerfs.*` label. +- Capability names `docker`, `native-linux`, `native-macos`, + `namespaces-linux`. +- The helper binary `layerfs-sandbox-helper`, `LAYERFS_SANDBOX_HELPER`, the + spec field names and their asserted errors. +- On-disk names: cgroup `layerfs`, image cache `images`, `daemon.log`, + `groups`, `LAYERFS_DAEMON_LISTEN`, `/layerfs-store`, `/layerfs-local/...`. +- `settings.platform` values, `LAYERFS_PLACEMENT` values and `platform.name` + text. +- Rust variants `Runtime::Namespaces`, `SandboxRecord::Namespaces` and + `ProviderLaunchOptions::Namespaces`. + +## 8. Plan + +Each step is one commit with its production LOC line. "Gated by" names what +must come first. + +| Step | Change | Kind | Gated by | +| --- | --- | --- | --- | +| 1 | Fix the F7 drift that no later step changes (all rows except reopen and settings; not D5) | docs | — | +| 2 | `vm:` homes refuse Store-level calls and PostgreSQL projects before any effect; `vm.init` checks its project (F3) | behaviour | — | +| 3 | Both deployments name the backend (F4) | behaviour | — | +| 4 | Reopen requires the deployment's backend (F5), with a test and the `agent.md` reopen text. Native records reopened under a namespaces deployment, including on `vm:` homes, stop reopening: a compatibility break to state in the commit | behaviour | 3 | +| 5 | One Rust `sandbox_name`, used by `sandbox.rs` and `local.rs` | behaviour | — | +| 6 | The provider alone chooses FUSE or NFS; the daemon keeps its check as an assertion | behaviour | — | +| 7 | Remove `Runtime::Windows` and the dead branches (F2); gate F1 | behaviour | D2, D6 | +| 8 | Host-OS check per VM provider (Apple Container on macOS only); JS refuses native and namespaces on Windows | behaviour | — | +| 9a | `provider/` into `types/`, `LaunchFailure` into `runtime.rs`, Docker `From` impls into Docker (F8) | move | — | +| 9b | `backend/` into `platform/`, `json/` and root files; private modules and the §5.1 public paths; callers, guard and docs updated | move | 9a, D1 | +| 9c | Docker renames and joins, `docker/client/`, the `os` alias, `ExecExit` | move | 9b | +| 10a | `platform/docker/` with the Docker group; Docker placements move in | move | D4 | +| 10b | Store-keyed hooks | behaviour | 2, 10a | +| 10c | F11 duplicates | move | 10a | +| 10d | `platform.name` branches become capabilities | move | — | +| 11 | One Sandbox setting with the mapping; CLI help lists every setting | behaviour | 3, D3 | +| 12 | Local discovery of native and namespaces Sandboxes through `project.list_sandboxes`, reusing the `vm` code (F6); `sweep` matches labels | behaviour | 5, 10a | + +Notes for the move steps: + +- **9b** updates `tools/check_product_boundary.py:21,27` (the audited + `src/backend/macos/darwin.rs`), its test + `tools/test_check_product_boundary.py:127-135` (which also names + `backend/docker/http.rs`), the `lib.rs` comment, both `PROVIDERS.md` files, + the source doc-links, and every caller in §5.1. Historical + `core/docs/issues/**` records keep their old paths. +- **Tests follow AGENTS.md's refactor rule.** Tests that drive removed + internals (`hostDocker`, the throwing `vm.docker`, `backend::` paths that no + longer exist) are deleted rather than adapted when adapting is not cheap, + listed in the commit message and covered on the new code where the behaviour + survives. Test files are renamed only if D1 picks a new folder name. + +Verification follows [`engine/AGENTS.md`][engineagents] (checks and +completion) and [`api/AGENTS.md`][apiagents]; every test command is capped at +120 s. + +## 9. Owner decisions + +- **D1. Where the namespaces backend lives, and its name.** + - **C (recommended): `platform/namespaces/`, a sibling of `docker/` and + `native/`.** The folder matches the setting value, the `Runtime` variant + and the record value; there is no extra level; no backend sits inside + another. Cost: namespaces imports native's lifecycle from a sibling. + - **B (owner direction, 2026-11-01): `platform/vm/`,** with Rust types + renamed `Vm…` and the record value `namespaces` kept. For it: the backend + exists for VM placements, and its own `mod.rs` describes "the project's + VM". Against it: the code needs root, cgroup v2 and blocked user + namespaces, not a VM; `vm` already names a placement; a VM placement can + run the `docker` backend (#512 route B); and Rust names would no longer + match the setting. + - **A: `platform/native/namespaces/`.** Shows that namespaces is native with + namespaces added. Against it: a backend sits beside the OS folders `linux/` + and `macos/`, "native" means no isolation, and paths reach five levels. +- **D2. Windows placeholder.** Remove `Runtime::Windows` and its README + (recommended), or keep a README at `platform/native/windows/`. +- **D3. Setting name.** `LAYERFS_SANDBOX=docker|native|namespaces` + (recommended), or a new `LAYERFS_ISOLATION=container|none|namespaces`. +- **D4. Runtime folders.** Nest the three Docker placements under + `platform/docker/` (recommended, §6), or keep `platform/{linux, macos, + windows}/` flat beside a helper folder `platform/docker/`. +- **D5. macOS native Store.** `kernel_guard.rs` lets the macOS addon open a + Store on apfs/hfs (#427); AGENTS.md says direct Store access is Linux only. + Add a macOS native exception to AGENTS.md, or restrict the guard. +- **D6. Windows build.** Gate the crates so they compile on Windows, with a + build-only CI lane that reports (CI never gates), or document that + `layerfs-sandbox` and `layerfs-node` are Unix only. +- **D7. One word, two meanings.** Keep `platform/` in both packages, as + placement in the runtime and backend in Rust (recommended; each package + documents its meaning), or name the Rust folder after what it holds. + +## 10. Not verified + +Reported `NOT_RUN` until done, at the commit that lands the relevant step: + +- `api/runtime/test/verify/vm_real.mjs` for Apple Container and Microsandbox + (#526 ran fake providers only), and any real `vm:ssh` run (no script + exists). +- `namespaces_userns` and `namespaces_lifecycle` as root at HEAD (one root + pass on a rehearsal tree only). +- Linux native end to end as root. +- The bare macOS SDK with a Docker deployment, to settle whether + `kernel_guard` should check the deployment instead of the OS. +- macOS `releaseStore` is a no-op although its worker caches open Stores; a + volume removal may race a Store the worker still holds (read from code, not + reproduced). +- Any Windows build (F1, D6). + +## 11. Related + +- [#512][i512] tested which agent sandboxes can replace the Docker container. + Route A (no Docker, namespaces inside the platform's VM) passed end to end + on Microsandbox, Apple Container and a Firecracker guest; Daytona and the + Lima VM ran route B (nested Docker) only. +- [#515][i515] designed the per-project VM placement; [#526][i526] implemented + it. #526 is merged into `layerfs_v2_0_0` only (`81f8758bcf`); on GitHub it + is closed against `main` without a merge. It does not support Daytona, E2B, + Vercel or Modal yet: shared-kernel runners need a seccomp filter. +- [#452][i452] adds a Windows Store route, not a Sandbox backend. +- [#523][i523], [#524][i524], [#525][i525] and [#427][i427] added native + Sandboxes on Linux and macOS. + +[settings]: ../../../../api/runtime/src/settings.js +[clients]: ../../../../api/runtime/src/clients.js +[vmindex]: ../../../../api/runtime/src/platform/vm/index.js +[storecalls]: ../../../../api/runtime/src/store/calls.js +[agentclient]: ../../../../api/agent/src/client.js +[noderuntime]: ../../../../engine/crates/layerfs-node/src/runtime.rs +[nodelocal]: ../../../../engine/crates/layerfs-node/src/local.rs +[kernelguard]: ../../../../engine/crates/layerfs-store-service/src/kernel_guard.rs +[agentmd]: ../../../../api/docs/agent.md +[runtimemd]: ../../../../api/docs/runtime.md +[agents]: ../../../../AGENTS.md +[engineagents]: ../../../../engine/AGENTS.md#checks-and-completion +[apiagents]: ../../../../api/AGENTS.md +[i427]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/427 +[i452]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/452 +[i512]: https://github.com/Ephemeral-AI-Lab/layerfs/issues/512 +[i515]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/515 +[i523]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/523 +[i524]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/524 +[i525]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/525 +[i526]: https://github.com/Ephemeral-AI-Lab/layerfs/pull/526 diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C01-2026-10-31T202525067Z-wuosaz1su0.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C01-2026-10-31T202525067Z-wuosaz1su0.json new file mode 100644 index 0000000000..3c9c32a1e4 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C01-2026-10-31T202525067Z-wuosaz1su0.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-vwuoshc2lu-", + "startedAt": "2026-10-31T20:25:25.067Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.03, + "end": 4.0146484375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-may0D8", + "initMs": 328, + "volume": "lfs527-vwuoshc2lu-c01-store-mvwuosx0", + "setupMs": 887, + "cellBudgetMs": 88799, + "teardownMs": 74 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-vwuoshc2lu-c01-store-mvwuosx0" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-may0D8/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuoshc2lu-c01-store-mvwuosx0", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuoshc2lu-c01-store-mvwuosx0/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuoshc2lu-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:27.287Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.03 + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 4.814, + "exec": { + "wallMs": 550.099, + "exitCode": 0, + "stdout": "LFS527 0 1793478326888734801 1793478327416045923\n", + "stderr": "", + "rc": 0, + "ms": 527.311122 + }, + "unmountMs": 4.312, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.498, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 494.643, + "exitCode": 0, + "stdout": "LFS527 0 1793478327458324669 1793478327932159811\n", + "stderr": "", + "rc": 0, + "ms": 473.835142 + }, + "commitMs": 101.401, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12cf7cdee016bd4fc7837ad9bbeabefc434308c04a53bba4ac447173824f48e1be", + "commit": { + "id": "12cf7cdee016bd4fc7837ad9bbeabefc434308c04a53bba4ac447173824f48e1be", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e7c7872687d3493c8c4b8201f397f6bed730ca08db422248b6ff121f17d32a9e", + "root": "fe89ef3d0c05ee2bc33099e17c07698c572c0af4f2e99e98e1f961d03cff1722", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478328025, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.59, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.85, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.575, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 200.905, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.809, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 550.087, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.307, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.476, + "ok": true + }, + { + "name": "timed.exec", + "ms": 494.638, + "ok": true + }, + { + "name": "timed.commit", + "ms": 101.395, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.586, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.49, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.683, + "ok": true + }, + { + "name": "verify.exec", + "ms": 703.147, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.011, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 178.084, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e7c7872687d3493c8c4b8201f397f6bed730ca08db422248b6ff121f17d32a9e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 8.838, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:27.287Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.03 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.498, + "execWallMs": 494.643, + "commandMs": 473.835142, + "commitMs": 101.401, + "commitKind": "Committed", + "unmountMs": 2.59 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:28.907Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:27.287Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 3.23291015625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C02-2026-10-31T202532205Z-wuoxt91t9h.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C02-2026-10-31T202532205Z-wuoxt91t9h.json new file mode 100644 index 0000000000..56744e7aa7 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C02-2026-10-31T202532205Z-wuoxt91t9h.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-vwuoxzz2yt-", + "startedAt": "2026-10-31T20:25:32.205Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.27, + "end": 5.89208984375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-tDqu1A", + "initMs": 310, + "volume": "lfs527-vwuoxzz2yt-c02-store-mvwuoyj1", + "setupMs": 990, + "cellBudgetMs": 88487, + "teardownMs": 106 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-vwuoxzz2yt-c02-store-mvwuoyj1" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-tDqu1A/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuoxzz2yt-c02-store-mvwuoyj1", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuoxzz2yt-c02-store-mvwuoyj1/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuoxzz2yt-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1215, + "load1": 5.53466796875, + "grantedAt": "2026-10-31T20:25:37.416Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.32 + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.018, + "exec": { + "wallMs": 1661.421, + "exitCode": 0, + "stdout": "LFS527 0 1793478334698419082 1793478336330029599\n", + "stderr": "", + "rc": 0, + "ms": 1631.610517 + }, + "unmountMs": 4.112, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 12.296, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 2096.215, + "exitCode": 0, + "stdout": "LFS527 0 1793478337609140568 1793478339669958344\n", + "stderr": "", + "rc": 0, + "ms": 2060.817776 + }, + "commitMs": 111.207, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12aa6d310386260d94a8d06c4422221f8546feab76e163465d2375563e826786cc", + "commit": { + "id": "12aa6d310386260d94a8d06c4422221f8546feab76e163465d2375563e826786cc", + "branch": null, + "parent": null, + "secondParent": null, + "base": "324011996d596f3c294d97806c49a7d24c1054f114bb9313aad0c02e97a43d38fe", + "root": "87d970a887eecb8fcee0ed8757830be60a57eef762d98f0003209fd35a3b2637", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478339774, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.155, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.152, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.669, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 493.326, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.01, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1661.38, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.105, + "ok": true + }, + { + "name": "timed.mount", + "ms": 12.289, + "ok": true + }, + { + "name": "timed.exec", + "ms": 2096.157, + "ok": true + }, + { + "name": "timed.commit", + "ms": 111.202, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.15, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.37, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.366, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1033.793, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.063, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 260.274, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "324011996d596f3c294d97806c49a7d24c1054f114bb9313aad0c02e97a43d38fe", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1223.74, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1215, + "load1": 5.53466796875, + "grantedAt": "2026-10-31T20:25:37.416Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.32 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 12.296, + "execWallMs": 2096.215, + "commandMs": 2060.817776, + "commitMs": 111.207, + "commitKind": "Committed", + "unmountMs": 3.155 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:41.128Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1215, + "load1": 5.53466796875, + "grantedAt": "2026-10-31T20:25:37.416Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 4.0146484375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C03-2026-10-31T202544272Z-wup74g1ui4.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C03-2026-10-31T202544272Z-wup74g1ui4.json new file mode 100644 index 0000000000..31802e4633 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C03-2026-10-31T202544272Z-wup74g1ui4.json @@ -0,0 +1,315 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-vwup7g94vc-", + "startedAt": "2026-10-31T20:25:44.272Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.5, + "end": 6.1962890625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-qlsJqJ", + "initMs": 316, + "volume": "lfs527-vwup7g94vc-c03-store-mvwup7w4", + "setupMs": 881, + "cellBudgetMs": 88815, + "teardownMs": 77 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-vwup7g94vc-c03-store-mvwup7w4" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-qlsJqJ/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwup7g94vc-c03-store-mvwup7w4", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwup7g94vc-c03-store-mvwup7w4/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwup7g94vc-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1927, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:49.119Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.45 + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.61, + "exec": { + "wallMs": 961.347, + "exitCode": 0, + "stdout": "LFS527 0 1793478346388319086 1793478347328085242\n", + "stderr": "", + "rc": 0, + "ms": 939.766156 + }, + "unmountMs": 3.021, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.057, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 827.156, + "exitCode": 0, + "stdout": "LFS527 0 1793478349290348498 1793478350096003958\n", + "stderr": "", + "rc": 0, + "ms": 805.65546 + }, + "commitMs": 8.949, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "49490820d271f02b72dff3307cf9c41b39d6e92a40edcbef3ce7b34056adbf4c", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 1.666, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.55, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.825, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 308.527, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.602, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 961.333, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.018, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.052, + "ok": true + }, + { + "name": "timed.exec", + "ms": 827.151, + "ok": true + }, + { + "name": "timed.commit", + "ms": 8.944, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 1.663, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.945, + "ok": true + }, + { + "name": "verify.identity", + "ms": 22.537, + "ok": true + }, + { + "name": "verify.exec", + "ms": 18.262, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.269, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 213.346, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32861fd7eb588a76fcbbcee26698f15d3ccba32c2e3f99f1d372b48147a7262d48", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1931.472, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1927, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:49.119Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.45 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.057, + "execWallMs": 827.156, + "commandMs": 805.65546, + "commitMs": 8.949, + "commitKind": "UpToDate", + "unmountMs": 1.666 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:50.328Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1927, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:49.119Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.30078125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C04-2026-10-31T202553517Z-wupe991v9a.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C04-2026-10-31T202553517Z-wupe991v9a.json new file mode 100644 index 0000000000..5941fdf087 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C04-2026-10-31T202553517Z-wupe991v9a.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-vwupeil57l-", + "startedAt": "2026-10-31T20:25:53.517Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.42, + "end": 7.30126953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-L4Rn8V", + "initMs": 311, + "volume": "lfs527-vwupeil57l-c04-store-mvwupezp", + "setupMs": 910, + "cellBudgetMs": 88786, + "teardownMs": 71 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-vwupeil57l-c04-store-mvwupezp" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-L4Rn8V/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwupeil57l-c04-store-mvwupezp", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwupeil57l-c04-store-mvwupezp/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwupeil57l-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 101, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:56.686Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.42 + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 4.823, + "exec": { + "wallMs": 1274.887, + "exitCode": 0, + "stdout": "LFS527 0 1793478355466393133 1793478356720048657\n", + "stderr": "", + "rc": 0, + "ms": 1253.655524 + }, + "unmountMs": 3.678, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.352, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1086.637, + "exitCode": 0, + "stdout": "LFS527 0 1793478356856451064 1793478357921687656\n", + "stderr": "", + "rc": 0, + "ms": 1065.236592 + }, + "commitMs": 107.676, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d9fa0ef30883aa8f704bed6450c759fbbb9394010e8dc8b5b595ec1edd6675de", + "commit": { + "id": "12d9fa0ef30883aa8f704bed6450c759fbbb9394010e8dc8b5b595ec1edd6675de", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d3cddefb3de135a68e2162cb63ca1aa3430f6b1b59ead6563a9b49142ccce713", + "root": "e142ee0895bd9986ae69240549d7dc49fe8c8024dc92da6448c42c4cbc1f8e41", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478358023, + "logical": 0, + "newCanonical": 109367, + "newStored": 8263, + "newMetadata": 8263, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.448, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.428, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.691, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 195.437, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.817, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1274.875, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.672, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.348, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1086.632, + "ok": true + }, + { + "name": "timed.commit", + "ms": 107.671, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.444, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.724, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.249, + "ok": true + }, + { + "name": "verify.exec", + "ms": 368.144, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.418, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 228.968, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d3cddefb3de135a68e2162cb63ca1aa3430f6b1b59ead6563a9b49142ccce713", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 105.994, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 101, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:56.686Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.42 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.352, + "execWallMs": 1086.637, + "commandMs": 1065.236592, + "commitMs": 107.676, + "commitKind": "Committed", + "unmountMs": 2.448 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:58.610Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 101, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:56.686Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.1962890625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C05-2026-10-31T202601701Z-wupkkl1w2j.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C05-2026-10-31T202601701Z-wupkkl1w2j.json new file mode 100644 index 0000000000..baa88b4835 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C05-2026-10-31T202601701Z-wupkkl1w2j.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-vwupkqt7in-", + "startedAt": "2026-10-31T20:26:01.701Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.47, + "end": 8.25244140625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-0gCRrw", + "initMs": 315, + "volume": "lfs527-vwupkqt7in-c05-store-mvwuplb6", + "setupMs": 1042, + "cellBudgetMs": 88602, + "teardownMs": 85 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-vwupkqt7in-c05-store-mvwuplb6" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-0gCRrw/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwupkqt7in-c05-store-mvwuplb6", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwupkqt7in-c05-store-mvwuplb6/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwupkqt7in-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 6290, + "load1": 8.013671875, + "grantedAt": "2026-10-31T20:26:11.892Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.54 + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.983, + "exec": { + "wallMs": 1910.069, + "exitCode": 0, + "stdout": "LFS527 0 1793478363852296851 1793478365736196894\n", + "stderr": "", + "rc": 0, + "ms": 1883.900043 + }, + "unmountMs": 4.399, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 86.301, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1562.19, + "exitCode": 0, + "stdout": "LFS527 0 1793478372232001475 1793478373710514638\n", + "stderr": "", + "rc": 0, + "ms": 1478.513163 + }, + "commitMs": 129.657, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124e8ff8e20345fb26f4ae2287cc73ba47e9d8903424ff5aa4de434fe6adb21d76", + "commit": { + "id": "124e8ff8e20345fb26f4ae2287cc73ba47e9d8903424ff5aa4de434fe6adb21d76", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3249cca94ab540228a4cda89fb6d9a6cda9e2712b0dae14e5864371ba281761c7a", + "root": "481ec2eb2115384cb5e871674b500671425c28fe05db433495b372a924b1e8ca", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478373835, + "logical": 0, + "newCanonical": 109367, + "newStored": 8251, + "newMetadata": 8251, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.588, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.089, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.668, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 297.504, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.975, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1910.057, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.393, + "ok": true + }, + { + "name": "timed.mount", + "ms": 86.293, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1562.183, + "ok": true + }, + { + "name": "timed.commit", + "ms": 129.651, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.545, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.896, + "ok": true + }, + { + "name": "verify.identity", + "ms": 37.834, + "ok": true + }, + { + "name": "verify.exec", + "ms": 589.926, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.966, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 261.316, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3249cca94ab540228a4cda89fb6d9a6cda9e2712b0dae14e5864371ba281761c7a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 6321.23, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 6290, + "load1": 8.013671875, + "grantedAt": "2026-10-31T20:26:11.892Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.54 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 86.301, + "execWallMs": 1562.19, + "commandMs": 1478.513163, + "commitMs": 129.657, + "commitKind": "Committed", + "unmountMs": 3.588 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:14.720Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 6290, + "load1": 8.013671875, + "grantedAt": "2026-10-31T20:26:11.892Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.95654296875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C06-2026-10-31T202617834Z-wupx0q1yqk.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C06-2026-10-31T202617834Z-wupx0q1yqk.json new file mode 100644 index 0000000000..12dc302def --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C06-2026-10-31T202617834Z-wupx0q1yqk.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-vwupx809tx-", + "startedAt": "2026-10-31T20:26:17.834Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.82, + "end": 8.63232421875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-vyGSuk", + "initMs": 327, + "volume": "lfs527-vwupx809tx-c06-store-mvwupxq1", + "setupMs": 971, + "cellBudgetMs": 88709, + "teardownMs": 79 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-vwupx809tx-c06-store-mvwupxq1" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-vyGSuk/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwupx809tx-c06-store-mvwupxq1", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwupx809tx-c06-store-mvwupxq1/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwupx809tx-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.63232421875, + "grantedAt": "2026-10-31T20:26:20.109Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.83 + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.909, + "exec": { + "wallMs": 381.821, + "exitCode": 0, + "stdout": "LFS527 0 1793478379878668218 1793478380236784093\n", + "stderr": "", + "rc": 0, + "ms": 358.115875 + }, + "unmountMs": 11.09, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.567, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 251.641, + "exitCode": 0, + "stdout": "LFS527 0 1793478380283192157 1793478380509680229\n", + "stderr": "", + "rc": 0, + "ms": 226.488072 + }, + "commitMs": 336.33, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1262b88e3a4a6aa4b8f943d61e802eb7705e2250907d9c63e987236b53680a316e", + "commit": { + "id": "1262b88e3a4a6aa4b8f943d61e802eb7705e2250907d9c63e987236b53680a316e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32dd6055389f82f8a74ccdac59e4b4639f32acbb24336ad7fb7bc7ef5996db9e8e", + "root": "478d6d0afb0e557f1d7f75f79af772ff651465c4234c1cf0d83104cc894bceb5", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478380791, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.258, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.345, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.708, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 277.814, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.902, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 381.774, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.083, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.56, + "ok": true + }, + { + "name": "timed.exec", + "ms": 251.634, + "ok": true + }, + { + "name": "timed.commit", + "ms": 336.324, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.252, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.827, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.517, + "ok": true + }, + { + "name": "verify.exec", + "ms": 462.88, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.239, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 233.121, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32dd6055389f82f8a74ccdac59e4b4639f32acbb24336ad7fb7bc7ef5996db9e8e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.127, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.63232421875, + "grantedAt": "2026-10-31T20:26:20.109Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.83 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.567, + "execWallMs": 251.641, + "commandMs": 226.488072, + "commitMs": 336.33, + "commitKind": "Committed", + "unmountMs": 13.258 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:21.556Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.63232421875, + "grantedAt": "2026-10-31T20:26:20.109Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.25244140625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C07-2026-10-31T202624687Z-wuq2b32066.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C07-2026-10-31T202624687Z-wuq2b32066.json new file mode 100644 index 0000000000..7f9e598485 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C07-2026-10-31T202624687Z-wuq2b32066.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-vwuq2iea6e-", + "startedAt": "2026-10-31T20:26:24.687Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.77, + "end": 9.21044921875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-Xndl5q", + "initMs": 329, + "volume": "lfs527-vwuq2iea6e-c07-store-mvwuq339", + "setupMs": 1074, + "cellBudgetMs": 88652, + "teardownMs": 93 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-vwuq2iea6e-c07-store-mvwuq339" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-Xndl5q/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuq2iea6e-c07-store-mvwuq339", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuq2iea6e-c07-store-mvwuq339/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuq2iea6e-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1018, + "load1": 9.14208984375, + "grantedAt": "2026-10-31T20:26:28.527Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.7 + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 4.937, + "exec": { + "wallMs": 726.024, + "exitCode": 0, + "stdout": "LFS527 0 1793478386924407926 1793478387625425354\n", + "stderr": "", + "rc": 0, + "ms": 701.017428 + }, + "unmountMs": 21.084, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.396, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 671.803, + "exitCode": 0, + "stdout": "LFS527 0 1793478388713866920 1793478389351120263\n", + "stderr": "", + "rc": 0, + "ms": 637.253343 + }, + "commitMs": 658.438, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e7aa2d1bc278ca1a2b4b003c7264d3f1f1d5e84691ccc8200085585afc003483", + "commit": { + "id": "12e7aa2d1bc278ca1a2b4b003c7264d3f1f1d5e84691ccc8200085585afc003483", + "branch": null, + "parent": null, + "secondParent": null, + "base": "325115902a7e3697b389f9bb472a16fcccd73398e223ab8b23f0d79ccc97af550e", + "root": "4e0063a4c48f55816f80d6a16a16b6da5abd39d581db6fc84a5abc5309578157", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478389900, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 20.047, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.649, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.683, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 442.451, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.931, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 726.007, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 21.078, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.379, + "ok": true + }, + { + "name": "timed.exec", + "ms": 671.796, + "ok": true + }, + { + "name": "timed.commit", + "ms": 658.433, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 20.041, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.148, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.077, + "ok": true + }, + { + "name": "verify.exec", + "ms": 834.43, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.052, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 202.499, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325115902a7e3697b389f9bb472a16fcccd73398e223ab8b23f0d79ccc97af550e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1026.009, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1018, + "load1": 9.14208984375, + "grantedAt": "2026-10-31T20:26:28.527Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.7 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.396, + "execWallMs": 671.803, + "commandMs": 637.253343, + "commitMs": 658.438, + "commitKind": "Committed", + "unmountMs": 20.047 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:31.089Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1018, + "load1": 9.14208984375, + "grantedAt": "2026-10-31T20:26:28.527Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.14208984375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C08-2026-10-31T202634562Z-wuq9xe20w4.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C08-2026-10-31T202634562Z-wuq9xe20w4.json new file mode 100644 index 0000000000..ca95b23871 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C08-2026-10-31T202634562Z-wuq9xe20w4.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-vwuqa4maj3-", + "startedAt": "2026-10-31T20:26:34.562Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.65, + "end": 8.79296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-Ag92Nx", + "initMs": 316, + "volume": "lfs527-vwuqa4maj3-c08-store-mvwuqan0", + "setupMs": 973, + "cellBudgetMs": 88708, + "teardownMs": 85 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-vwuqa4maj3-c08-store-mvwuqan0" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-Ag92Nx/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuqa4maj3-c08-store-mvwuqan0", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuqa4maj3-c08-store-mvwuqan0/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuqa4maj3-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.79296875, + "grantedAt": "2026-10-31T20:26:36.878Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.65 + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 10.326, + "exec": { + "wallMs": 350.952, + "exitCode": 0, + "stdout": "LFS527 0 1793478396695124982 1793478397014859719\n", + "stderr": "", + "rc": 0, + "ms": 319.734737 + }, + "unmountMs": 12.726, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.123, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 299.274, + "exitCode": 0, + "stdout": "LFS527 0 1793478397064217638 1793478397336184757\n", + "stderr": "", + "rc": 0, + "ms": 271.967119 + }, + "commitMs": 364.414, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12f934cf5dbc1c460e4391a635ddd81b1b6b4d52e460504c35fe0c8bee3d07bea4", + "commit": { + "id": "12f934cf5dbc1c460e4391a635ddd81b1b6b4d52e460504c35fe0c8bee3d07bea4", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e5d2aece2cbf8b4df246da1acb113bd8509c525e60ce3a9873f9ed8bdf556954", + "root": "086b5dae148f55c7276214088bf7d857c2d40c15fc1693739695c428f574d604", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478397645, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.013, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 13.098, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.694, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 369.43, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 10.318, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 350.942, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.719, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.117, + "ok": true + }, + { + "name": "timed.exec", + "ms": 299.267, + "ok": true + }, + { + "name": "timed.commit", + "ms": 364.408, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.007, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.343, + "ok": true + }, + { + "name": "verify.identity", + "ms": 35.232, + "ok": true + }, + { + "name": "verify.exec", + "ms": 745.393, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.209, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 200.969, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e5d2aece2cbf8b4df246da1acb113bd8509c525e60ce3a9873f9ed8bdf556954", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.547, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.79296875, + "grantedAt": "2026-10-31T20:26:36.878Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.65 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.123, + "execWallMs": 299.274, + "commandMs": 271.967119, + "commitMs": 364.414, + "commitKind": "Committed", + "unmountMs": 12.013 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:38.665Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.79296875, + "grantedAt": "2026-10-31T20:26:36.878Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.79296875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C09-2026-10-31T202642940Z-wuqge32172.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C09-2026-10-31T202642940Z-wuqge32172.json new file mode 100644 index 0000000000..1670b17e87 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C09-2026-10-31T202642940Z-wuqge32172.json @@ -0,0 +1,376 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-vwuqgqdavi-", + "startedAt": "2026-10-31T20:26:42.940Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.84, + "end": 9.89404296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-JQVm8M", + "initMs": 314, + "volume": "lfs527-vwuqgqdavi-c09-store-mvwuqhck", + "setupMs": 1109, + "cellBudgetMs": 88585, + "teardownMs": 130 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-vwuqgqdavi-c09-store-mvwuqhck" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-JQVm8M/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuqgqdavi-c09-store-mvwuqhck", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuqgqdavi-c09-store-mvwuqhck/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuqgqdavi-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.89404296875, + "grantedAt": "2026-10-31T20:26:46.649Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.85 + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 687.789, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12cd9cfa61c7139f57255aa3e166a9d7c61b1e834def8b7b942e76d4e4d60d06ab", + "commit": { + "id": "12cd9cfa61c7139f57255aa3e166a9d7c61b1e834def8b7b942e76d4e4d60d06ab", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ebf88bed92c19cbd3288f01f2d05172ff6f8e2a37b932ad22962eab02f0aac8e", + "root": "0f00edf0aeef3fcd79ffea510043a0a9e768f9f851361128f0cda5a02604ea91", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478406570, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 5.671, + "exec": { + "wallMs": 142.85, + "exitCode": 0, + "stdout": "LFS527 0 1793478406677486138 1793478406794754892\n", + "stderr": "", + "rc": 0, + "ms": 117.268754 + }, + "unmountMs": 7.993, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.291, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 213.016, + "exitCode": 0, + "stdout": "LFS527 0 1793478406853307764 1793478407036754245\n", + "stderr": "", + "rc": 0, + "ms": 183.446481 + }, + "commitMs": 2.715, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12cd9cfa61c7139f57255aa3e166a9d7c61b1e834def8b7b942e76d4e4d60d06ab", + "root": "0f00edf0aeef3fcd79ffea510043a0a9e768f9f851361128f0cda5a02604ea91", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.533, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.7, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.665, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 608.433, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.837, + "ok": true + }, + { + "name": "setup.exec", + "ms": 687.754, + "ok": true + }, + { + "name": "setup.commit", + "ms": 351.331, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.99, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.667, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 142.843, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 7.979, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.277, + "ok": true + }, + { + "name": "timed.exec", + "ms": 212.971, + "ok": true + }, + { + "name": "timed.commit", + "ms": 2.711, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.523, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.079, + "ok": true + }, + { + "name": "verify.identity", + "ms": 40.805, + "ok": true + }, + { + "name": "verify.exec", + "ms": 528.38, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.669, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 325.197, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ebf88bed92c19cbd3288f01f2d05172ff6f8e2a37b932ad22962eab02f0aac8e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 16.784, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.89404296875, + "grantedAt": "2026-10-31T20:26:46.649Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.85 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.291, + "execWallMs": 213.016, + "commandMs": 183.446481, + "commitMs": 2.715, + "commitKind": "UpToDate", + "unmountMs": 6.533 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:47.963Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.89404296875, + "grantedAt": "2026-10-31T20:26:46.649Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.44970703125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C10-2026-10-31T202651286Z-wuqmty21gm.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C10-2026-10-31T202651286Z-wuqmty21gm.json new file mode 100644 index 0000000000..026e8303d8 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C10-2026-10-31T202651286Z-wuqmty21gm.json @@ -0,0 +1,395 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-vwuqn7ab8l-", + "startedAt": "2026-10-31T20:26:51.286Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.78, + "end": 10.13720703125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-jvj8QB", + "initMs": 325, + "volume": "lfs527-vwuqn7ab8l-c10-store-mvwuqnp3", + "setupMs": 961, + "cellBudgetMs": 88730, + "teardownMs": 77 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-vwuqn7ab8l-c10-store-mvwuqnp3" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-jvj8QB/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuqn7ab8l-c10-store-mvwuqnp3", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuqn7ab8l-c10-store-mvwuqnp3/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuqn7ab8l-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:54.515Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.72 + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 422.179, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e33b2d9d4a93e6a94bd757421b1736e314fb547330c0a42307bfc139ae0f855a", + "commit": { + "id": "12e33b2d9d4a93e6a94bd757421b1736e314fb547330c0a42307bfc139ae0f855a", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c9f97727171fa5f488135f8c9d08a22edf54697faf72b8029accf9bcca7131e0", + "root": "56881bcd7b4a3f49e03370b493e313018ad53bbf7e905de7cb26b0af320de287", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478414238, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.794, + "exec": { + "wallMs": 358.476, + "exitCode": 0, + "stdout": "LFS527 0 1793478414339470478 1793478414674307455\n", + "stderr": "", + "rc": 0, + "ms": 334.836977 + }, + "unmountMs": 14.665, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.864, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 369.156, + "exitCode": 0, + "stdout": "LFS527 0 1793478414722378950 1793478415068669675\n", + "stderr": "", + "rc": 0, + "ms": 346.290725 + }, + "commitMs": 60.335, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c91ee670261868d02812f5bcda1ce99739d08f69e12b0946873f3b261594066b", + "commit": { + "id": "12c91ee670261868d02812f5bcda1ce99739d08f69e12b0946873f3b261594066b", + "branch": null, + "parent": "12e33b2d9d4a93e6a94bd757421b1736e314fb547330c0a42307bfc139ae0f855a", + "secondParent": null, + "base": "32c9f97727171fa5f488135f8c9d08a22edf54697faf72b8029accf9bcca7131e0", + "root": "d380bb6ec511fdb4e4b657fddf4ff4cbfb91c84b1b5218a7582e7120da0921ca", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478415074, + "logical": 134217728, + "newCanonical": 487, + "newStored": 295, + "newMetadata": 295, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.636, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.146, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.696, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 268.522, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.764, + "ok": true + }, + { + "name": "setup.exec", + "ms": 422.165, + "ok": true + }, + { + "name": "setup.commit", + "ms": 363.365, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.514, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.789, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 358.47, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.659, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.859, + "ok": true + }, + { + "name": "timed.exec", + "ms": 369.15, + "ok": true + }, + { + "name": "timed.commit", + "ms": 60.329, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.629, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.88, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.837, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1178.879, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.119, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 196.563, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c9f97727171fa5f488135f8c9d08a22edf54697faf72b8029accf9bcca7131e0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.735, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:54.515Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.72 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.864, + "execWallMs": 369.156, + "commandMs": 346.290725, + "commitMs": 60.335, + "commitKind": "Committed", + "unmountMs": 15.636 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:56.490Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:54.515Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.0625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C11-2026-10-31T202659597Z-wuqt8t21pu.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C11-2026-10-31T202659597Z-wuqt8t21pu.json new file mode 100644 index 0000000000..e170e7fbbf --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C11-2026-10-31T202659597Z-wuqt8t21pu.json @@ -0,0 +1,376 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-vwuqtgqblr-", + "startedAt": "2026-10-31T20:26:59.597Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.66, + "end": 10.0458984375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-6683En", + "initMs": 317, + "volume": "lfs527-vwuqtgqblr-c11-store-mvwuqtxz", + "setupMs": 934, + "cellBudgetMs": 88769, + "teardownMs": 78 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-vwuqtgqblr-c11-store-mvwuqtxz" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-6683En/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuqtgqblr-c11-store-mvwuqtxz", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuqtgqblr-c11-store-mvwuqtxz/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuqtgqblr-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:02.246Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.66 + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 257.666, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1237ddaa040a52c913a8a39d679919a0c38fb4a993fcde7ddc015889f306689f86", + "commit": { + "id": "1237ddaa040a52c913a8a39d679919a0c38fb4a993fcde7ddc015889f306689f86", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b1ad879ddb6cc3b449f701850423720622f837bc51531ab220532d5f52d9bd47", + "root": "2fe332b01d296052bb097fb1716cfffc6f4f1cf2d096f746bfc735d3f4792f3c", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478422175, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 749, + "newMetadata": 673, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.945, + "exec": { + "wallMs": 164.059, + "exitCode": 0, + "stdout": "LFS527 0 1793478422267536094 1793478422414244061\n", + "stderr": "", + "rc": 0, + "ms": 146.707967 + }, + "unmountMs": 8.933, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.03, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 152.405, + "exitCode": 0, + "stdout": "LFS527 0 1793478422452388779 1793478422586656742\n", + "stderr": "", + "rc": 0, + "ms": 134.267963 + }, + "commitMs": 158.772, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1237ddaa040a52c913a8a39d679919a0c38fb4a993fcde7ddc015889f306689f86", + "root": "2fe332b01d296052bb097fb1716cfffc6f4f1cf2d096f746bfc735d3f4792f3c", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.186, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.701, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.608, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 215.328, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.872, + "ok": true + }, + { + "name": "setup.exec", + "ms": 257.655, + "ok": true + }, + { + "name": "setup.commit", + "ms": 499.722, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.619, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.942, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 164.053, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.929, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.026, + "ok": true + }, + { + "name": "timed.exec", + "ms": 152.397, + "ok": true + }, + { + "name": "timed.commit", + "ms": 158.742, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.177, + "ok": true + }, + { + "name": "verify.mount", + "ms": 14.379, + "ok": true + }, + { + "name": "verify.identity", + "ms": 43.358, + "ok": true + }, + { + "name": "verify.exec", + "ms": 400.088, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.054, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 223.617, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b1ad879ddb6cc3b449f701850423720622f837bc51531ab220532d5f52d9bd47", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 5.779, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:02.246Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.66 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.03, + "execWallMs": 152.405, + "commandMs": 134.267963, + "commitMs": 158.772, + "commitKind": "UpToDate", + "unmountMs": 16.186 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:03.372Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:02.246Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.0458984375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C12-2026-10-31T202706883Z-wuqyv7221p.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C12-2026-10-31T202706883Z-wuqyv7221p.json new file mode 100644 index 0000000000..e0b8779083 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-docker-C12-2026-10-31T202706883Z-wuqyv7221p.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-vwuqz4tbys-", + "startedAt": "2026-10-31T20:27:06.883Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.61, + "end": 10.77197265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-PIPFgP", + "initMs": 326, + "volume": "lfs527-vwuqz4tbys-c12-store-mvwuqzos", + "setupMs": 1040, + "cellBudgetMs": 88651, + "teardownMs": 68 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-vwuqz4tbys-c12-store-mvwuqzos" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-PIPFgP/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwuqz4tbys-c12-store-mvwuqzos", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwuqz4tbys-c12-store-mvwuqzos/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuqz4tbys-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:09.492Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.64 + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.577, + "exec": { + "wallMs": 543.533, + "exitCode": 0, + "stdout": "LFS527 0 1793478429150836828 1793478429669426773\n", + "stderr": "", + "rc": 0, + "ms": 518.589945 + }, + "unmountMs": 2.694, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.827, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 366.047, + "exitCode": 0, + "stdout": "LFS527 0 1793478429711455566 1793478430048349404\n", + "stderr": "", + "rc": 0, + "ms": 336.893838 + }, + "commitMs": 50.573, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1211dbe89e1e137b68b34e9d8e3257f29b273f07828fec2e379283a493d3ec15c5", + "commit": { + "id": "1211dbe89e1e137b68b34e9d8e3257f29b273f07828fec2e379283a493d3ec15c5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "325e5f20f3cc9e5f1018e30a442e9f33a28a65b0f6ad17d076f7ebcf99a2cdd747", + "root": "f7b8cc3bddfd0e4413b53f1a7ed754ef2c0d5d559cce339687f29fec630894fb", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478430095, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26832, + "newMetadata": 6526, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.385, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 13.95, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.76, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 331.824, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.569, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 543.521, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.689, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.821, + "ok": true + }, + { + "name": "timed.exec", + "ms": 366.042, + "ok": true + }, + { + "name": "timed.commit", + "ms": 50.566, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.379, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.284, + "ok": true + }, + { + "name": "verify.identity", + "ms": 27.525, + "ok": true + }, + { + "name": "verify.exec", + "ms": 151.963, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.844, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 177.008, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325e5f20f3cc9e5f1018e30a442e9f33a28a65b0f6ad17d076f7ebcf99a2cdd747", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.224, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:09.492Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.64 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.827, + "execWallMs": 366.047, + "commandMs": 336.893838, + "commitMs": 50.573, + "commitKind": "Committed", + "unmountMs": 4.385 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:10.371Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:09.492Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.8818359375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C01-2026-10-31T202828164Z-wuspl023mj.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C01-2026-10-31T202828164Z-wuspl023mj.json new file mode 100644 index 0000000000..a678967889 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C01-2026-10-31T202828164Z-wuspl023mj.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-vwuspwxjtr-", + "startedAt": "2026-10-31T20:28:28.164Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.95, + "end": 7.47021484375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-u3qYJG", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 20, + "init": { + "kind": "Initialized", + "project": "c01", + "layer": "320112a7559dbb566bac00ccdfc87371a5da0d9a6be32c874c91145f42ede0621c", + "root": "1ac1e371f0b166f53816aba81453797c1d8bc2569cad1465a6f3bb8c4025505a", + "store": "/var/lib/lfs527/lfs527-u3qYJG/store/store.sqlite" + }, + "setupMs": 143, + "cellBudgetMs": 89569, + "teardownMs": 863 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "25844", + "25845", + "25846" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-u3qYJG/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-u3qYJG/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-u3qYJG/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuspwxjtr-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.85986328125, + "grantedAt": "2026-10-31T20:28:37.195Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.03 + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 13.08, + "exec": { + "wallMs": 589.53, + "exitCode": 0, + "stdout": "LFS527 0 1793478516830190402 1793478517383732866\n", + "stderr": "", + "rc": 0, + "ms": 553.542464 + }, + "unmountMs": 2.336, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.65, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-u3qYJG/local/lfs527-vwuspwxjtr-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 465.144, + "exitCode": 0, + "stdout": "LFS527 0 1793478517410506966 1793478517859990155\n", + "stderr": "", + "rc": 0, + "ms": 449.483189 + }, + "commitMs": 106.48, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1201ca2305452a1b9a975b709bea6af57b601139f381e5b982139a08ab0462c4b6", + "commit": { + "id": "1201ca2305452a1b9a975b709bea6af57b601139f381e5b982139a08ab0462c4b6", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320112a7559dbb566bac00ccdfc87371a5da0d9a6be32c874c91145f42ede0621c", + "root": "23f723fd2a805f314d56eaebc8dc87b6d5e4c6d03b1f58528c4198791a2146ad", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478517957, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18644, + "newMetadata": 9719, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.826, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.353, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.606, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 7615.73, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 13.072, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 589.519, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.332, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.645, + "ok": true + }, + { + "name": "timed.exec", + "ms": 465.137, + "ok": true + }, + { + "name": "timed.commit", + "ms": 106.472, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.822, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.451, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.868, + "ok": true + }, + { + "name": "verify.exec", + "ms": 674.257, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.531, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1.397, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320112a7559dbb566bac00ccdfc87371a5da0d9a6be32c874c91145f42ede0621c", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 4.637, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.85986328125, + "grantedAt": "2026-10-31T20:28:37.195Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.03 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.65, + "execWallMs": 465.144, + "commandMs": 449.483189, + "commitMs": 106.48, + "commitKind": "Committed", + "unmountMs": 2.826 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:28:39.401Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.85986328125, + "grantedAt": "2026-10-31T20:28:37.195Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.92236328125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C02-2026-10-31T202843143Z-wut15323tn.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C02-2026-10-31T202843143Z-wut15323tn.json new file mode 100644 index 0000000000..fae2433928 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C02-2026-10-31T202843143Z-wut15323tn.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-vwut1dwk0b-", + "startedAt": "2026-10-31T20:28:43.143Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.27, + "end": 7.8017578125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-pUPKwY", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c02", + "layer": "320fcded664739d65aabe12d657b22078fc923d3ea8cbd1ab61288f67662e4fc39", + "root": "58ef0925b5650f3026829101782756800f06b8bf0184697c355ceeac6508ede7", + "store": "/var/lib/lfs527/lfs527-pUPKwY/store/store.sqlite" + }, + "setupMs": 120, + "cellBudgetMs": 89639, + "teardownMs": 823 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "26080", + "26081", + "26082" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-pUPKwY/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-pUPKwY/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-pUPKwY/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwut1dwk0b-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.2626953125, + "grantedAt": "2026-10-31T20:28:52.241Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.23 + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.867, + "exec": { + "wallMs": 1490.356, + "exitCode": 0, + "stdout": "LFS527 0 1793478530968871484 1793478532429488550\n", + "stderr": "", + "rc": 0, + "ms": 1460.617066 + }, + "unmountMs": 2.71, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.873, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-pUPKwY/local/lfs527-vwut1dwk0b-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1727.468, + "exitCode": 0, + "stdout": "LFS527 0 1793478532461626489 1793478534169330637\n", + "stderr": "", + "rc": 0, + "ms": 1707.704148 + }, + "commitMs": 109.564, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120528acdf6275ffe9af6021866fc54a8fede836c122500a7fc5b2d88de161b26c", + "commit": { + "id": "120528acdf6275ffe9af6021866fc54a8fede836c122500a7fc5b2d88de161b26c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320fcded664739d65aabe12d657b22078fc923d3ea8cbd1ab61288f67662e4fc39", + "root": "dd8c64ae315c1a82719b98c557f3aafe19693b3ff90c95bb24e4ce401ab246e1", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478534270, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.48, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.639, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.629, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6970.186, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.859, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1490.344, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.705, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.868, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1727.462, + "ok": true + }, + { + "name": "timed.commit", + "ms": 109.556, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.47, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.548, + "ok": true + }, + { + "name": "verify.identity", + "ms": 44.348, + "ok": true + }, + { + "name": "verify.exec", + "ms": 926.03, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.756, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.922, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320fcded664739d65aabe12d657b22078fc923d3ea8cbd1ab61288f67662e4fc39", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 5.575, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.2626953125, + "grantedAt": "2026-10-31T20:28:52.241Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.23 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.873, + "execWallMs": 1727.468, + "commandMs": 1707.704148, + "commitMs": 109.564, + "commitKind": "Committed", + "unmountMs": 3.48 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:28:55.927Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.2626953125, + "grantedAt": "2026-10-31T20:28:52.241Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.47021484375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C03-2026-10-31T202859514Z-wutdru2435.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C03-2026-10-31T202859514Z-wutdru2435.json new file mode 100644 index 0000000000..7aa03e6558 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C03-2026-10-31T202859514Z-wutdru2435.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-vwute8ylqh-", + "startedAt": "2026-10-31T20:28:59.514Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.11, + "end": 8.505859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-iylDaG", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 46, + "init": { + "kind": "Initialized", + "project": "c03", + "layer": "32d7aec9557dc4691975a074502cb5d65f8022e4f63dc199090e0430011572d240", + "root": "5854bba722e17bdff90edde8a04b7f5296d5e9ce7b4f70a5802b816549be9d8a", + "store": "/var/lib/lfs527/lfs527-iylDaG/store/store.sqlite" + }, + "setupMs": 274, + "cellBudgetMs": 88959, + "teardownMs": 947 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "28320", + "28321", + "28322" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-iylDaG/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-iylDaG/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-iylDaG/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwute8ylqh-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.11474609375, + "grantedAt": "2026-10-31T20:29:11.787Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.09 + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 12.098, + "exec": { + "wallMs": 1095.491, + "exitCode": 0, + "stdout": "LFS527 0 1793478550932291737 1793478551976075677\n", + "stderr": "", + "rc": 0, + "ms": 1043.78394 + }, + "unmountMs": 2.355, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.609, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-iylDaG/local/lfs527-vwute8ylqh-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 1240.797, + "exitCode": 0, + "stdout": "LFS527 0 1793478552014693401 1793478553230096664\n", + "stderr": "", + "rc": 0, + "ms": 1215.403263 + }, + "commitMs": 10.299, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "5854bba722e17bdff90edde8a04b7f5296d5e9ce7b4f70a5802b816549be9d8a", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 1.899, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 37.089, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.01, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 9420.043, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 12.087, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1095.478, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.351, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.604, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1240.792, + "ok": true + }, + { + "name": "timed.commit", + "ms": 10.294, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 1.894, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.164, + "ok": true + }, + { + "name": "verify.identity", + "ms": 52.786, + "ok": true + }, + { + "name": "verify.exec", + "ms": 19.144, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.414, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1.023, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d7aec9557dc4691975a074502cb5d65f8022e4f63dc199090e0430011572d240", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.605, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.11474609375, + "grantedAt": "2026-10-31T20:29:11.787Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.09 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.609, + "execWallMs": 1240.797, + "commandMs": 1215.403263, + "commitMs": 10.299, + "commitKind": "UpToDate", + "unmountMs": 1.899 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:29:14.106Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.11474609375, + "grantedAt": "2026-10-31T20:29:11.787Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.9775390625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C04-2026-10-31T202917364Z-wutrjo24bf.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C04-2026-10-31T202917364Z-wutrjo24bf.json new file mode 100644 index 0000000000..697abcddfb --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C04-2026-10-31T202917364Z-wutrjo24bf.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-vwutrsblwh-", + "startedAt": "2026-10-31T20:29:17.364Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.08, + "end": 7.953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-4maMop", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c04", + "layer": "322f477faa6c7c9d386d8bf0ed76014ce388d26cfccf73116a29ac00751a427774", + "root": "233d721464c21281b5606ae68125ec899a3129bf1ce6003302bda864accd44f2", + "store": "/var/lib/lfs527/lfs527-4maMop/store/store.sqlite" + }, + "setupMs": 129, + "cellBudgetMs": 89468, + "teardownMs": 700 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "28537", + "28538", + "28539" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-4maMop/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-4maMop/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-4maMop/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwutrsblwh-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.03662109375, + "grantedAt": "2026-10-31T20:29:32.801Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.23 + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.73, + "exec": { + "wallMs": 1144.188, + "exitCode": 0, + "stdout": "LFS527 0 1793478571875647414 1793478572988091196\n", + "stderr": "", + "rc": 0, + "ms": 1112.443782 + }, + "unmountMs": 2.64, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.389, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-4maMop/local/lfs527-vwutrsblwh-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 1108.183, + "exitCode": 0, + "stdout": "LFS527 0 1793478573018092525 1793478574111759879\n", + "stderr": "", + "rc": 0, + "ms": 1093.667354 + }, + "commitMs": 108.398, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1253a785327032316de41d965e32bcfba46e4871996bb3c9f3dd22716cf940823b", + "commit": { + "id": "1253a785327032316de41d965e32bcfba46e4871996bb3c9f3dd22716cf940823b", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322f477faa6c7c9d386d8bf0ed76014ce388d26cfccf73116a29ac00751a427774", + "root": "2e86074eeeee79c3d8565d94ae3ffcf290da1a623402fca1fc0ff92f549ce1f1", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478574213, + "logical": 0, + "newCanonical": 109367, + "newStored": 8257, + "newMetadata": 8257, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.485, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 23.463, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.597, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 13388.02, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.724, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1144.176, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.636, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.383, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1108.177, + "ok": true + }, + { + "name": "timed.commit", + "ms": 108.393, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.482, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.889, + "ok": true + }, + { + "name": "verify.identity", + "ms": 34.794, + "ok": true + }, + { + "name": "verify.exec", + "ms": 417.326, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.026, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1.006, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322f477faa6c7c9d386d8bf0ed76014ce388d26cfccf73116a29ac00751a427774", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 8.947, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.03662109375, + "grantedAt": "2026-10-31T20:29:32.801Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.23 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.389, + "execWallMs": 1108.183, + "commandMs": 1093.667354, + "commitMs": 108.398, + "commitKind": "Committed", + "unmountMs": 2.485 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:29:35.210Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.03662109375, + "grantedAt": "2026-10-31T20:29:32.801Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.505859375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C05-2026-10-31T202938534Z-wuu7vq24nj.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C05-2026-10-31T202938534Z-wuu7vq24nj.json new file mode 100644 index 0000000000..b07f3bddbb --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C05-2026-10-31T202938534Z-wuu7vq24nj.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-vwuu87do19-", + "startedAt": "2026-10-31T20:29:38.534Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.33, + "end": 7.65869140625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-qcpPKD", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 20, + "init": { + "kind": "Initialized", + "project": "c05", + "layer": "3240b3eee86d6184874affcbfe5665c669fee4471f2ae35d124f9b1ff386b1a5b0", + "root": "8f4ade30708df16acba63cdde5f6ee4483cfb0fdda5dd475143aac651606a0b7", + "store": "/var/lib/lfs527/lfs527-qcpPKD/store/store.sqlite" + }, + "setupMs": 117, + "cellBudgetMs": 89607, + "teardownMs": 682 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "31298", + "31299", + "31300" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-qcpPKD/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-qcpPKD/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-qcpPKD/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuu87do19-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.65869140625, + "grantedAt": "2026-10-31T20:29:46.076Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.31 + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.12, + "exec": { + "wallMs": 1023.524, + "exitCode": 0, + "stdout": "LFS527 0 1793478585270166742 1793478586268295701\n", + "stderr": "", + "rc": 0, + "ms": 998.128959 + }, + "unmountMs": 2.606, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.278, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-qcpPKD/local/lfs527-vwuu87do19-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 1295.48, + "exitCode": 0, + "stdout": "LFS527 0 1793478586292810036 1793478587573605764\n", + "stderr": "", + "rc": 0, + "ms": 1280.795728 + }, + "commitMs": 103.35, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12f81eba17385543c9ca716ad9be721d0470631105d01cde104edbbf807f7d4aac", + "commit": { + "id": "12f81eba17385543c9ca716ad9be721d0470631105d01cde104edbbf807f7d4aac", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3240b3eee86d6184874affcbfe5665c669fee4471f2ae35d124f9b1ff386b1a5b0", + "root": "28e207f5ee535b1e77dab82b24924b555d4d8ca0c2e578e335283abc3d117b1e", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478587672, + "logical": 0, + "newCanonical": 109367, + "newStored": 8267, + "newMetadata": 8267, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.111, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.91, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.461, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5761.958, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.114, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1023.513, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.601, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.274, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1295.475, + "ok": true + }, + { + "name": "timed.commit", + "ms": 103.344, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.107, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.78, + "ok": true + }, + { + "name": "verify.identity", + "ms": 24.95, + "ok": true + }, + { + "name": "verify.exec", + "ms": 366.917, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.125, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.719, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3240b3eee86d6184874affcbfe5665c669fee4471f2ae35d124f9b1ff386b1a5b0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.088, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.65869140625, + "grantedAt": "2026-10-31T20:29:46.076Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.31 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.278, + "execWallMs": 1295.48, + "commandMs": 1280.795728, + "commitMs": 103.35, + "commitKind": "Committed", + "unmountMs": 2.111 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:29:48.584Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.65869140625, + "grantedAt": "2026-10-31T20:29:46.076Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.953125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C06-2026-10-31T202951727Z-wuui2724u3.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C06-2026-10-31T202951727Z-wuui2724u3.json new file mode 100644 index 0000000000..72e4a53227 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C06-2026-10-31T202951727Z-wuui2724u3.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-vwuuiaoq63-", + "startedAt": "2026-10-31T20:29:51.727Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.28, + "end": 7.357421875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-R4tB1D", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c06", + "layer": "3271e601c7516f42142799803b873389559a3f41d866309d2816aa0ee8dc1015f4", + "root": "2215741d3a63f949a00b9a9cec340f8255b65f74b3de252a285302306f96ca81", + "store": "/var/lib/lfs527/lfs527-R4tB1D/store/store.sqlite" + }, + "setupMs": 144, + "cellBudgetMs": 89501, + "teardownMs": 762 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "34064", + "34065", + "34066" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-R4tB1D/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-R4tB1D/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-R4tB1D/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuuiaoq63-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.357421875, + "grantedAt": "2026-10-31T20:29:59.709Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.38 + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.403, + "exec": { + "wallMs": 250.455, + "exitCode": 0, + "stdout": "LFS527 0 1793478599672549001 1793478599893895603\n", + "stderr": "", + "rc": 0, + "ms": 221.346602 + }, + "unmountMs": 10.519, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.453, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-R4tB1D/local/lfs527-vwuuiaoq63-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 219.309, + "exitCode": 0, + "stdout": "LFS527 0 1793478599935190910 1793478600133229945\n", + "stderr": "", + "rc": 0, + "ms": 198.039035 + }, + "commitMs": 328.837, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12483c597cc5caa57852dac19d27e4b5c2f47a65c7a5eb8eb294776bd8ea8b2573", + "commit": { + "id": "12483c597cc5caa57852dac19d27e4b5c2f47a65c7a5eb8eb294776bd8ea8b2573", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3271e601c7516f42142799803b873389559a3f41d866309d2816aa0ee8dc1015f4", + "root": "bd148404da9b14cb5a507fbab82a6dc68634821e1851a73a1c4c0ec7024bd7e3", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478600410, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.198, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.226, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.56, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6929.219, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.396, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 250.445, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.513, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.449, + "ok": true + }, + { + "name": "timed.exec", + "ms": 219.303, + "ok": true + }, + { + "name": "timed.commit", + "ms": 328.831, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.192, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.546, + "ok": true + }, + { + "name": "verify.identity", + "ms": 62.749, + "ok": true + }, + { + "name": "verify.exec", + "ms": 447.424, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.007, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.863, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3271e601c7516f42142799803b873389559a3f41d866309d2816aa0ee8dc1015f4", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 5.656, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.357421875, + "grantedAt": "2026-10-31T20:29:59.709Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.38 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.453, + "execWallMs": 219.309, + "commandMs": 198.039035, + "commitMs": 328.837, + "commitKind": "Committed", + "unmountMs": 10.198 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:30:01.579Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.357421875, + "grantedAt": "2026-10-31T20:29:59.709Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.525390625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C07-2026-10-31T203004888Z-mvwuus7s7j.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C07-2026-10-31T203004888Z-mvwuus7s7j.json new file mode 100644 index 0000000000..60ca195386 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C07-2026-10-31T203004888Z-mvwuus7s7j.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-vwuusfwqc9-", + "startedAt": "2026-10-31T20:30:04.888Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.27, + "end": 7.36376953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-Jjhd18", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c07", + "layer": "32c8625eef48800b2f90887c25b457f635c2dfe68a08449e9fc8f441789c1cf889", + "root": "b0f2d4a475030241e84bfcbee20fd5e5bac704911f9bdc2874b5b33101e34dd8", + "store": "/var/lib/lfs527/lfs527-Jjhd18/store/store.sqlite" + }, + "setupMs": 114, + "cellBudgetMs": 89579, + "teardownMs": 738 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "34286", + "34287", + "34288" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-Jjhd18/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-Jjhd18/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-Jjhd18/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuusfwqc9-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.30859375, + "grantedAt": "2026-10-31T20:30:12.066Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.49 + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.445, + "exec": { + "wallMs": 487.557, + "exitCode": 0, + "stdout": "LFS527 0 1793478611780759552 1793478612244401656\n", + "stderr": "", + "rc": 0, + "ms": 463.642104 + }, + "unmountMs": 17.937, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.356, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-Jjhd18/local/lfs527-vwuusfwqc9-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 466.954, + "exitCode": 0, + "stdout": "LFS527 0 1793478612285371878 1793478612737843205\n", + "stderr": "", + "rc": 0, + "ms": 452.471327 + }, + "commitMs": 633.347, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12833cdab6eb41da006a2f79c760949ea46a7d115eba97519ed8522940b6944bdf", + "commit": { + "id": "12833cdab6eb41da006a2f79c760949ea46a7d115eba97519ed8522940b6944bdf", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c8625eef48800b2f90887c25b457f635c2dfe68a08449e9fc8f441789c1cf889", + "root": "bb8a26357020a253934630624afef14e5454edc72cf3a33df96bfca769adf2b4", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478613273, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 837, + "newMetadata": 761, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 18.364, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.844, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.533, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5983.774, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.439, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 487.546, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 17.93, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.352, + "ok": true + }, + { + "name": "timed.exec", + "ms": 466.948, + "ok": true + }, + { + "name": "timed.commit", + "ms": 633.341, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 18.358, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.236, + "ok": true + }, + { + "name": "verify.identity", + "ms": 37.204, + "ok": true + }, + { + "name": "verify.exec", + "ms": 854.019, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.727, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.695, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c8625eef48800b2f90887c25b457f635c2dfe68a08449e9fc8f441789c1cf889", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 4.248, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.30859375, + "grantedAt": "2026-10-31T20:30:12.066Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.49 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.356, + "execWallMs": 466.954, + "commandMs": 452.471327, + "commitMs": 633.347, + "commitKind": "Committed", + "unmountMs": 18.364 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:30:14.853Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.30859375, + "grantedAt": "2026-10-31T20:30:12.066Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.24853515625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C08-2026-10-31T203018381Z-mvwuv2mlxb.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C08-2026-10-31T203018381Z-mvwuv2mlxb.json new file mode 100644 index 0000000000..6d87e1d794 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C08-2026-10-31T203018381Z-mvwuv2mlxb.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-vwuv2uxqij-", + "startedAt": "2026-10-31T20:30:18.381Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.88, + "end": 6.99365234375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-YhkJxS", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c08", + "layer": "3259844705e67aec88120a4a410dcacea20e71abe4676936fc075d3d1247c9da14", + "root": "2bca5a56f0d0d60887fb849d76d9916d6883ae4698b6b7d2795219d711270cbb", + "store": "/var/lib/lfs527/lfs527-YhkJxS/store/store.sqlite" + }, + "setupMs": 130, + "cellBudgetMs": 89591, + "teardownMs": 711 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "34512", + "34513", + "34514" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-YhkJxS/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-YhkJxS/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-YhkJxS/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuv2uxqij-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99365234375, + "grantedAt": "2026-10-31T20:30:25.007Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.89 + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 4.97, + "exec": { + "wallMs": 196.73, + "exitCode": 0, + "stdout": "LFS527 0 1793478625025369192 1793478625197216163\n", + "stderr": "", + "rc": 0, + "ms": 171.846971 + }, + "unmountMs": 8.412, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.032, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-YhkJxS/local/lfs527-vwuv2uxqij-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 192.574, + "exitCode": 0, + "stdout": "LFS527 0 1793478625231670037 1793478625405516703\n", + "stderr": "", + "rc": 0, + "ms": 173.846666 + }, + "commitMs": 314.554, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1249f889425e7ad69a3bac175a7c4c7ad1f13bfa770443e293068fe1891b9d294d", + "commit": { + "id": "1249f889425e7ad69a3bac175a7c4c7ad1f13bfa770443e293068fe1891b9d294d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3259844705e67aec88120a4a410dcacea20e71abe4676936fc075d3d1247c9da14", + "root": "acc3eccff41b6db18087c8e792b07f167fd037c4a6bb7e45bca33e9ff80516fa", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478625672, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.268, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.67, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.598, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5751.03, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.964, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 196.72, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.407, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.028, + "ok": true + }, + { + "name": "timed.exec", + "ms": 192.569, + "ok": true + }, + { + "name": "timed.commit", + "ms": 314.548, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.264, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.88, + "ok": true + }, + { + "name": "verify.identity", + "ms": 48.537, + "ok": true + }, + { + "name": "verify.exec", + "ms": 358.348, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.073, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.658, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3259844705e67aec88120a4a410dcacea20e71abe4676936fc075d3d1247c9da14", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 4.227, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99365234375, + "grantedAt": "2026-10-31T20:30:25.007Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.89 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.032, + "execWallMs": 192.574, + "commandMs": 173.846666, + "commitMs": 314.554, + "commitKind": "Committed", + "unmountMs": 9.268 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:30:26.673Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99365234375, + "grantedAt": "2026-10-31T20:30:25.007Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.36376953125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C09-2026-10-31T203030021Z-vwuvblx158.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C09-2026-10-31T203030021Z-vwuvblx158.json new file mode 100644 index 0000000000..947dfc7ae5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C09-2026-10-31T203030021Z-vwuvblx158.json @@ -0,0 +1,395 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-vwuvbudqop-", + "startedAt": "2026-10-31T20:30:30.021Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.74, + "end": 7.63330078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-EaqYhL", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c09", + "layer": "32d7f9a400eb1c105fca0ec258c2cd62da55ec181c36aa010a21df7486bb68b2aa", + "root": "13ff21384285a65c272d5b04eed76460e93e50bda25fa084240e24b825f6e434", + "store": "/var/lib/lfs527/lfs527-EaqYhL/store/store.sqlite" + }, + "setupMs": 113, + "cellBudgetMs": 89627, + "teardownMs": 849 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "34734", + "34735", + "34736" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-EaqYhL/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-EaqYhL/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-EaqYhL/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuvbudqop-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.63330078125, + "grantedAt": "2026-10-31T20:30:39.854Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.7 + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 329.426, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12bdd882a3f3f46cee2915acf61b3f1a4abad11815ddce9493e1ce490f7300b001", + "commit": { + "id": "12bdd882a3f3f46cee2915acf61b3f1a4abad11815ddce9493e1ce490f7300b001", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d7f9a400eb1c105fca0ec258c2cd62da55ec181c36aa010a21df7486bb68b2aa", + "root": "966d7596ee1f967ed0f7265bea5ba10fe70880d432525ee2bcc9a62b7a8fc059", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478639858, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.914, + "exec": { + "wallMs": 118.33, + "exitCode": 0, + "stdout": "LFS527 0 1793478639941515174 1793478640040598637\n", + "stderr": "", + "rc": 0, + "ms": 99.083463 + }, + "unmountMs": 4.602, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.817, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-EaqYhL/local/lfs527-vwuvbudqop-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 156.587, + "exitCode": 0, + "stdout": "LFS527 0 1793478640092999280 1793478640223669138\n", + "stderr": "", + "rc": 0, + "ms": 130.669858 + }, + "commitMs": 0.895, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12bdd882a3f3f46cee2915acf61b3f1a4abad11815ddce9493e1ce490f7300b001", + "root": "966d7596ee1f967ed0f7265bea5ba10fe70880d432525ee2bcc9a62b7a8fc059", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.728, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.388, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.505, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8412.031, + "ok": true + }, + { + "name": "setup.mount", + "ms": 8.623, + "ok": true + }, + { + "name": "setup.exec", + "ms": 329.407, + "ok": true + }, + { + "name": "setup.commit", + "ms": 330.501, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 9.839, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.91, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 118.324, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.589, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.811, + "ok": true + }, + { + "name": "timed.exec", + "ms": 156.574, + "ok": true + }, + { + "name": "timed.commit", + "ms": 0.89, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.715, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.298, + "ok": true + }, + { + "name": "verify.identity", + "ms": 94.706, + "ok": true + }, + { + "name": "verify.exec", + "ms": 533.176, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.58, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1.242, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d7f9a400eb1c105fca0ec258c2cd62da55ec181c36aa010a21df7486bb68b2aa", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 13.839, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.63330078125, + "grantedAt": "2026-10-31T20:30:39.854Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.7 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.817, + "execWallMs": 156.587, + "commandMs": 130.669858, + "commitMs": 0.895, + "commitKind": "UpToDate", + "unmountMs": 5.728 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:30:41.555Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.63330078125, + "grantedAt": "2026-10-31T20:30:39.854Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.673828125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C10-2026-10-31T203044811Z-vwuvn0r2qv.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C10-2026-10-31T203044811Z-vwuvn0r2qv.json new file mode 100644 index 0000000000..011df4dcb0 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C10-2026-10-31T203044811Z-vwuvn0r2qv.json @@ -0,0 +1,414 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-vwuvn9sqv0-", + "startedAt": "2026-10-31T20:30:44.811Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.56, + "end": 7.84716796875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-69v3Oq", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 23, + "init": { + "kind": "Initialized", + "project": "c10", + "layer": "320afc648b4d0a459f96ac4f4489d43e229d791c1cd2ae7aed2cec47738ddc6afa", + "root": "e868343a503e32e92b307552f63038f1c8cdec68687c816292f4778b6e4640cb", + "store": "/var/lib/lfs527/lfs527-69v3Oq/store/store.sqlite" + }, + "setupMs": 158, + "cellBudgetMs": 89543, + "teardownMs": 727 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "34964", + "34965", + "34966" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-69v3Oq/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-69v3Oq/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-69v3Oq/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuvn9sqv0-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.18212890625, + "grantedAt": "2026-10-31T20:30:57.273Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.63 + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 215.448, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1248cd39117d23aa893b0247f4dfb7fb709805504156921d4acc515a17e976f17c", + "commit": { + "id": "1248cd39117d23aa893b0247f4dfb7fb709805504156921d4acc515a17e976f17c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320afc648b4d0a459f96ac4f4489d43e229d791c1cd2ae7aed2cec47738ddc6afa", + "root": "a1c2b57d6da4898fcd975eaa49123dad48f4b2afaed715a80f570e5ab87bc11f", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478657120, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.118, + "exec": { + "wallMs": 275.58, + "exitCode": 0, + "stdout": "LFS527 0 1793478657202383752 1793478657458391945\n", + "stderr": "", + "rc": 0, + "ms": 256.008193 + }, + "unmountMs": 13.603, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.277, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-69v3Oq/local/lfs527-vwuvn9sqv0-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 243.952, + "exitCode": 0, + "stdout": "LFS527 0 1793478657502682194 1793478657727737307\n", + "stderr": "", + "rc": 0, + "ms": 225.055113 + }, + "commitMs": 51.948, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1252fa2cd548da448dce6ca655c8beb124e421810204e21fee83fd5215a7d434a6", + "commit": { + "id": "1252fa2cd548da448dce6ca655c8beb124e421810204e21fee83fd5215a7d434a6", + "branch": null, + "parent": "1248cd39117d23aa893b0247f4dfb7fb709805504156921d4acc515a17e976f17c", + "secondParent": null, + "base": "320afc648b4d0a459f96ac4f4489d43e229d791c1cd2ae7aed2cec47738ddc6afa", + "root": "624bd9155611cd7318711733ce7070582a00eb0da7934e66d349e87534d7a597", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478657730, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.748, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 26.337, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.998, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 10830.651, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.829, + "ok": true + }, + { + "name": "setup.exec", + "ms": 215.438, + "ok": true + }, + { + "name": "setup.commit", + "ms": 312.827, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.109, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.114, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 275.569, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 13.58, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.273, + "ok": true + }, + { + "name": "timed.exec", + "ms": 243.946, + "ok": true + }, + { + "name": "timed.commit", + "ms": 51.942, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.743, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.706, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.371, + "ok": true + }, + { + "name": "verify.exec", + "ms": 704.594, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.301, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1.077, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320afc648b4d0a459f96ac4f4489d43e229d791c1cd2ae7aed2cec47738ddc6afa", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.222, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.18212890625, + "grantedAt": "2026-10-31T20:30:57.273Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.63 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.277, + "execWallMs": 243.952, + "commandMs": 225.055113, + "commitMs": 51.948, + "commitKind": "Committed", + "unmountMs": 12.748 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:30:59.094Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.18212890625, + "grantedAt": "2026-10-31T20:30:57.273Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.74267578125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C11-2026-10-31T203103038Z-vwuw1313hu.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C11-2026-10-31T203103038Z-vwuw1313hu.json new file mode 100644 index 0000000000..5c89a843b5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C11-2026-10-31T203103038Z-vwuw1313hu.json @@ -0,0 +1,395 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-vwuw1e7r1i-", + "startedAt": "2026-10-31T20:31:03.038Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.58, + "end": 10.162109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-2lZWgS", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 23, + "init": { + "kind": "Initialized", + "project": "c11", + "layer": "3247f60a4ec50b4808d427c504fe06e2ddbd0d05f57207216d1b5ad3e1e5b5a41b", + "root": "15a5cc477fdd70fb186337b4c76f9fb78d6b18dd0242a7fd236d2eccab5c8b07", + "store": "/var/lib/lfs527/lfs527-2lZWgS/store/store.sqlite" + }, + "setupMs": 276, + "cellBudgetMs": 89018, + "teardownMs": 726 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "35196", + "35197", + "35198" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-2lZWgS/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-2lZWgS/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-2lZWgS/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuw1e7r1i-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.69873046875, + "grantedAt": "2026-10-31T20:31:13.532Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.61 + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 230.525, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12735b6f7b4909bf7cafb1503436539cad8c099196874613bd0da7bcbf66e7c9bb", + "commit": { + "id": "12735b6f7b4909bf7cafb1503436539cad8c099196874613bd0da7bcbf66e7c9bb", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3247f60a4ec50b4808d427c504fe06e2ddbd0d05f57207216d1b5ad3e1e5b5a41b", + "root": "011fa5e310497c6af70a1210ee8c8675a3cb35e956fd27834a08117e8df5c401", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478673520, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.214, + "exec": { + "wallMs": 137.813, + "exitCode": 0, + "stdout": "LFS527 0 1793478673603317572 1793478673722104901\n", + "stderr": "", + "rc": 0, + "ms": 118.787329 + }, + "unmountMs": 10.329, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.937, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-2lZWgS/local/lfs527-vwuw1e7r1i-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 139.296, + "exitCode": 0, + "stdout": "LFS527 0 1793478673771296028 1793478673883364433\n", + "stderr": "", + "rc": 0, + "ms": 112.068405 + }, + "commitMs": 145.523, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12735b6f7b4909bf7cafb1503436539cad8c099196874613bd0da7bcbf66e7c9bb", + "root": "011fa5e310497c6af70a1210ee8c8675a3cb35e956fd27834a08117e8df5c401", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.688, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 18.352, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.204, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8360.161, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.304, + "ok": true + }, + { + "name": "setup.exec", + "ms": 230.513, + "ok": true + }, + { + "name": "setup.commit", + "ms": 324.427, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 9.673, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.208, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 137.808, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.324, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.927, + "ok": true + }, + { + "name": "timed.exec", + "ms": 139.29, + "ok": true + }, + { + "name": "timed.commit", + "ms": 145.517, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.682, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.329, + "ok": true + }, + { + "name": "verify.identity", + "ms": 31.392, + "ok": true + }, + { + "name": "verify.exec", + "ms": 338.533, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.576, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.876, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3247f60a4ec50b4808d427c504fe06e2ddbd0d05f57207216d1b5ad3e1e5b5a41b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 5.811, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.69873046875, + "grantedAt": "2026-10-31T20:31:13.532Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.61 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.937, + "execWallMs": 139.296, + "commandMs": 112.068405, + "commitMs": 145.523, + "commitKind": "UpToDate", + "unmountMs": 9.688 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:31:14.960Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.69873046875, + "grantedAt": "2026-10-31T20:31:13.532Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.84716796875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C12-2026-10-31T203118356Z-vwuwcwk4ne.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C12-2026-10-31T203118356Z-vwuwcwk4ne.json new file mode 100644 index 0000000000..0fb5b34c21 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-namespaces-C12-2026-10-31T203118356Z-vwuwcwk4ne.json @@ -0,0 +1,353 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-vwuwd4tr7t-", + "startedAt": "2026-10-31T20:31:18.356Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.61, + "end": 9.220703125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-G1DCoC", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 15, + "init": { + "kind": "Initialized", + "project": "c12", + "layer": "32f75b09e33f2531755a465eb05f50006d90c5edb54ea1eaa20c5bd5685fd42f1d", + "root": "e22a8f7c7ee8bee882935448c36fb5e21a85b7194e2d26ea27f379da39513096", + "store": "/var/lib/lfs527/lfs527-G1DCoC/store/store.sqlite" + }, + "setupMs": 101, + "cellBudgetMs": 89681, + "teardownMs": 541 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [ + "35421", + "35422", + "35423" + ] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-G1DCoC/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-G1DCoC/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-G1DCoC/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuwd4tr7t-", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.220703125, + "grantedAt": "2026-10-31T20:31:23.922Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.52 + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 10.277, + "exec": { + "wallMs": 376.842, + "exitCode": 0, + "stdout": "LFS527 0 1793478683788982051 1793478684121780233\n", + "stderr": "", + "rc": 0, + "ms": 332.798182 + }, + "unmountMs": 1.716, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 2.836, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-G1DCoC/local/lfs527-vwuwd4tr7t-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 243.297, + "exitCode": 0, + "stdout": "LFS527 0 1793478684143205913 1793478684375442157\n", + "stderr": "", + "rc": 0, + "ms": 232.236244 + }, + "commitMs": 37.07, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "122218c5eedd02d1872bb258ea21887573481c835594567ddf17e2d612f4c65665", + "commit": { + "id": "122218c5eedd02d1872bb258ea21887573481c835594567ddf17e2d612f4c65665", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32f75b09e33f2531755a465eb05f50006d90c5edb54ea1eaa20c5bd5685fd42f1d", + "root": "a309460d9020b1e6d2bc487cec3f7a00cb086aeb45f72c455fd2ea42b718b0d3", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478684410, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26837, + "newMetadata": 6529, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 1.696, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.601, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.396, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4639.142, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 10.266, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 376.833, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 1.713, + "ok": true + }, + { + "name": "timed.mount", + "ms": 2.831, + "ok": true + }, + { + "name": "timed.exec", + "ms": 243.293, + "ok": true + }, + { + "name": "timed.commit", + "ms": 37.058, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 1.692, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.347, + "ok": true + }, + { + "name": "verify.identity", + "ms": 51.473, + "ok": true + }, + { + "name": "verify.exec", + "ms": 122.6, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 1.353, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 0.725, + "ok": false, + "error": { + "code": "Failed", + "message": "Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }", + "detail": null + } + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32f75b09e33f2531755a465eb05f50006d90c5edb54ea1eaa20c5bd5685fd42f1d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 5.463, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.220703125, + "grantedAt": "2026-10-31T20:31:23.922Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.52 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "closeError": "sandbox.close: Failed Failed: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Unsupported(\"the namespaces Sandbox runtime needs the layerfs-sandbox-helper executable beside the daemon (or LAYERFS_SANDBOX_HELPER set)\"), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None }" + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 2.836, + "execWallMs": 243.297, + "commandMs": 232.236244, + "commitMs": 37.07, + "commitKind": "Committed", + "unmountMs": 1.696 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": false, + "endedAt": "2026-10-31T20:31:24.949Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.220703125, + "grantedAt": "2026-10-31T20:31:23.922Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.162109375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C01-2026-10-31T202713616Z-wur4282285.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C01-2026-10-31T202713616Z-wur4282285.json new file mode 100644 index 0000000000..89267c334b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C01-2026-10-31T202713616Z-wur4282285.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-vwur4a0cby-", + "startedAt": "2026-10-31T20:27:13.616Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.59, + "end": 10.7900390625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-JLQGEb", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c01", + "layer": "327c0506bbe8e74acfab57a3ded537736ae9ccdb8eab3c143c59e4ea7afc94e3e3", + "root": "b364a5d6829c561beba106f2e396b304131530851ea85843f3daae757e9bfce2", + "store": "/var/lib/lfs527/lfs527-JLQGEb/store/store.sqlite" + }, + "setupMs": 139, + "cellBudgetMs": 89565, + "teardownMs": 17 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-JLQGEb/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-JLQGEb/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-JLQGEb/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwur4a0cby-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.7900390625, + "grantedAt": "2026-10-31T20:27:14.880Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.59 + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.609, + "exec": { + "wallMs": 541.823, + "exitCode": 0, + "stdout": "LFS527 0 1793478434522125426 1793478435059783230\n", + "stderr": "", + "rc": 0, + "ms": 537.657804 + }, + "unmountMs": 3.538, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.44, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-JLQGEb/local/lfs527-vwur4a0cby-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 726.977, + "exitCode": 0, + "stdout": "LFS527 0 1793478435075788247 1793478435798319780\n", + "stderr": "", + "rc": 0, + "ms": 722.531533 + }, + "commitMs": 109.364, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1228187e6e785370928dffc68013dd4bebdaedf12ec1ff8e8bf5067f98a70f3601", + "commit": { + "id": "1228187e6e785370928dffc68013dd4bebdaedf12ec1ff8e8bf5067f98a70f3601", + "branch": null, + "parent": null, + "secondParent": null, + "base": "327c0506bbe8e74acfab57a3ded537736ae9ccdb8eab3c143c59e4ea7afc94e3e3", + "root": "61240dd335a5b4c58c3e252532ee21cc7df7f53356a2c66a114a31dbd57788f6", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478435899, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.19, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.666, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.627, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.007, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.601, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 541.809, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.531, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.435, + "ok": true + }, + { + "name": "timed.exec", + "ms": 726.968, + "ok": true + }, + { + "name": "timed.commit", + "ms": 109.356, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.183, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.92, + "ok": true + }, + { + "name": "verify.identity", + "ms": 12.558, + "ok": true + }, + { + "name": "verify.exec", + "ms": 993.348, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.374, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.786, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "327c0506bbe8e74acfab57a3ded537736ae9ccdb8eab3c143c59e4ea7afc94e3e3", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.68, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.7900390625, + "grantedAt": "2026-10-31T20:27:14.880Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.59 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.44, + "execWallMs": 726.977, + "commandMs": 722.531533, + "commitMs": 109.364, + "commitKind": "Committed", + "unmountMs": 3.19 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:16.804Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.7900390625, + "grantedAt": "2026-10-31T20:27:14.880Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.77197265625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C02-2026-10-31T202719962Z-wur8yi22ep.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C02-2026-10-31T202719962Z-wur8yi22ep.json new file mode 100644 index 0000000000..e273976281 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C02-2026-10-31T202719962Z-wur8yi22ep.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-vwur980ci9-", + "startedAt": "2026-10-31T20:27:19.962Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.54, + "end": 10.56884765625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-7RTrQc", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c02", + "layer": "3250507f18185bd0cffdf6fd973bbc9859f5d5396e5a18f1462a79f8488dd1ca80", + "root": "de1361dbf3ac295560647a4942e556400eff49bf2ea134f1d3ad9fc8b504b5c0", + "store": "/var/lib/lfs527/lfs527-7RTrQc/store/store.sqlite" + }, + "setupMs": 153, + "cellBudgetMs": 89555, + "teardownMs": 16 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-7RTrQc/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-7RTrQc/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-7RTrQc/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwur980ci9-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10.966796875, + "grantedAt": "2026-10-31T20:27:22.363Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.54 + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.512, + "exec": { + "wallMs": 1308.699, + "exitCode": 0, + "stdout": "LFS527 0 1793478440935422725 1793478442240530068\n", + "stderr": "", + "rc": 0, + "ms": 1305.107343 + }, + "unmountMs": 2.538, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.293, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-7RTrQc/local/lfs527-vwur980ci9-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1417.927, + "exitCode": 0, + "stdout": "LFS527 0 1793478442560187693 1793478443973824235\n", + "stderr": "", + "rc": 0, + "ms": 1413.636542 + }, + "commitMs": 99.251, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c97e76054c4edd797d30f262865c1bd6722f5b3b838bff80283c4e6f0259113f", + "commit": { + "id": "12c97e76054c4edd797d30f262865c1bd6722f5b3b838bff80283c4e6f0259113f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3250507f18185bd0cffdf6fd973bbc9859f5d5396e5a18f1462a79f8488dd1ca80", + "root": "3df1dde5b53ecff6c685667d9136b7dcc652f65213f920e7e3c18e52d31b6d12", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478444065, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18644, + "newMetadata": 9719, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.542, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.838, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.514, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.062, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.505, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1308.688, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.534, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.288, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1417.891, + "ok": true + }, + { + "name": "timed.commit", + "ms": 99.246, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.532, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.396, + "ok": true + }, + { + "name": "verify.identity", + "ms": 8.254, + "ok": true + }, + { + "name": "verify.exec", + "ms": 572.355, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.688, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.495, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3250507f18185bd0cffdf6fd973bbc9859f5d5396e5a18f1462a79f8488dd1ca80", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 310.309, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10.966796875, + "grantedAt": "2026-10-31T20:27:22.363Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.54 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.293, + "execWallMs": 1417.927, + "commandMs": 1413.636542, + "commitMs": 99.251, + "commitKind": "Committed", + "unmountMs": 4.542 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:24.542Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10.966796875, + "grantedAt": "2026-10-31T20:27:22.363Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.966796875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C03-2026-10-31T202727814Z-wurf0m22jd.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C03-2026-10-31T202727814Z-wurf0m22jd.json new file mode 100644 index 0000000000..f80b566c33 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C03-2026-10-31T202727814Z-wurf0m22jd.json @@ -0,0 +1,316 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-vwurfafe87-", + "startedAt": "2026-10-31T20:27:27.814Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.74, + "end": 10.12255859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-Pb4q8R", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 24, + "init": { + "kind": "Initialized", + "project": "c03", + "layer": "329ad4ee87b1bb976658ead3b25afc4a15fe61f97e89e65e5093524cbce44c0c31", + "root": "2087a87cd6574b0d562df84a3f1a373d49b3cdcde7ae736aaad70478ca97bcec", + "store": "/var/lib/lfs527/lfs527-Pb4q8R/store/store.sqlite" + }, + "setupMs": 143, + "cellBudgetMs": 89567, + "teardownMs": 13 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-Pb4q8R/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-Pb4q8R/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-Pb4q8R/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwurfafe87-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:29.345Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.76 + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.507, + "exec": { + "wallMs": 766.089, + "exitCode": 0, + "stdout": "LFS527 0 1793478448766413939 1793478449528276144\n", + "stderr": "", + "rc": 0, + "ms": 761.862205 + }, + "unmountMs": 2.346, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.265, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-Pb4q8R/local/lfs527-vwurfafe87-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 844.525, + "exitCode": 0, + "stdout": "LFS527 0 1793478449542412667 1793478450383512351\n", + "stderr": "", + "rc": 0, + "ms": 841.099684 + }, + "commitMs": 9.35, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "2087a87cd6574b0d562df84a3f1a373d49b3cdcde7ae736aaad70478ca97bcec", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.68, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.082, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.469, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.596, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.501, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 766.077, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.341, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.262, + "ok": true + }, + { + "name": "timed.exec", + "ms": 844.519, + "ok": true + }, + { + "name": "timed.commit", + "ms": 9.344, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.676, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.876, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.105, + "ok": true + }, + { + "name": "verify.exec", + "ms": 3.658, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 1.417, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.976, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "329ad4ee87b1bb976658ead3b25afc4a15fe61f97e89e65e5093524cbce44c0c31", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.673, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:29.345Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.76 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.265, + "execWallMs": 844.525, + "commandMs": 841.099684, + "commitMs": 9.35, + "commitKind": "UpToDate", + "unmountMs": 2.68 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:30.283Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:29.345Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.56884765625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C04-2026-10-31T202733541Z-wurjfp22sa.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C04-2026-10-31T202733541Z-wurjfp22sa.json new file mode 100644 index 0000000000..0e9aace86a --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C04-2026-10-31T202733541Z-wurjfp22sa.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-vwurjnqedx-", + "startedAt": "2026-10-31T20:27:33.541Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.78, + "end": 10.0322265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-JSo2pz", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c04", + "layer": "32fb91d658b2b529ba4e4023b66b339fd6ad2c6619f3cfd0104d9db8c6448a7960", + "root": "98b92008da9919db1780ca4a95ec29ec84f8a2e6bb7a8e0e7ffae065a0f55933", + "store": "/var/lib/lfs527/lfs527-JSo2pz/store/store.sqlite" + }, + "setupMs": 147, + "cellBudgetMs": 89551, + "teardownMs": 13 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-JSo2pz/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-JSo2pz/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-JSo2pz/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwurjnqedx-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.0322265625, + "grantedAt": "2026-10-31T20:27:35.360Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.78 + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.105, + "exec": { + "wallMs": 1091.451, + "exitCode": 0, + "stdout": "LFS527 0 1793478454456096703 1793478455544218226\n", + "stderr": "", + "rc": 0, + "ms": 1088.121523 + }, + "unmountMs": 2.788, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 2.929, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-JSo2pz/local/lfs527-vwurjnqedx-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 1227.915, + "exitCode": 0, + "stdout": "LFS527 0 1793478455557716014 1793478456782481436\n", + "stderr": "", + "rc": 0, + "ms": 1224.765422 + }, + "commitMs": 115.26, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129230aa9e18c9f6b1682947c587ab84283043c406ff706b27f4c88872f7818621", + "commit": { + "id": "129230aa9e18c9f6b1682947c587ab84283043c406ff706b27f4c88872f7818621", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32fb91d658b2b529ba4e4023b66b339fd6ad2c6619f3cfd0104d9db8c6448a7960", + "root": "cf4e91ebc9057639f48f218258b50c6e9a5115bee8bc649425bf4228e32e48f0", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478456889, + "logical": 0, + "newCanonical": 109367, + "newStored": 8260, + "newMetadata": 8260, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.701, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.841, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.556, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.188, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.101, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1091.439, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.783, + "ok": true + }, + { + "name": "timed.mount", + "ms": 2.924, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1227.909, + "ok": true + }, + { + "name": "timed.commit", + "ms": 115.253, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.696, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.932, + "ok": true + }, + { + "name": "verify.identity", + "ms": 10.153, + "ok": true + }, + { + "name": "verify.exec", + "ms": 469.004, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.208, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.622, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32fb91d658b2b529ba4e4023b66b339fd6ad2c6619f3cfd0104d9db8c6448a7960", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.284, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.0322265625, + "grantedAt": "2026-10-31T20:27:35.360Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.78 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 2.929, + "execWallMs": 1227.915, + "commandMs": 1224.765422, + "commitMs": 115.26, + "commitKind": "Committed", + "unmountMs": 3.701 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:37.261Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.0322265625, + "grantedAt": "2026-10-31T20:27:35.360Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.12255859375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C05-2026-10-31T202740760Z-wurp0822ux.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C05-2026-10-31T202740760Z-wurp0822ux.json new file mode 100644 index 0000000000..b4c80d1249 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C05-2026-10-31T202740760Z-wurp0822ux.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-vwurpgegie-", + "startedAt": "2026-10-31T20:27:40.760Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.72, + "end": 9.55908203125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-Vwc4XN", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c05", + "layer": "322004051aae9cddb6fe0e86f1a65dd4952957a0bbb1b686d8f98fd8c4497df37d", + "root": "fa8d1e9dfc592412d537e4e6d3bd1b39f3b50ee6baf4c53e20a36f28ffb91d19", + "store": "/var/lib/lfs527/lfs527-Vwc4XN/store/store.sqlite" + }, + "setupMs": 166, + "cellBudgetMs": 89487, + "teardownMs": 14 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-Vwc4XN/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-Vwc4XN/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-Vwc4XN/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwurpgegie-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.869140625, + "grantedAt": "2026-10-31T20:27:43.129Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.72 + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.023, + "exec": { + "wallMs": 1262.942, + "exitCode": 0, + "stdout": "LFS527 0 1793478462054305694 1793478463313149721\n", + "stderr": "", + "rc": 0, + "ms": 1258.844027 + }, + "unmountMs": 2.715, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.303, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-Vwc4XN/local/lfs527-vwurpgegie-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 1254.099, + "exitCode": 0, + "stdout": "LFS527 0 1793478463328179506 1793478464579527698\n", + "stderr": "", + "rc": 0, + "ms": 1251.348192 + }, + "commitMs": 104.809, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "122678847b81d7e0ea512b51d21727275850899bc4a1994225f2bf2da6f6ee1c2f", + "commit": { + "id": "122678847b81d7e0ea512b51d21727275850899bc4a1994225f2bf2da6f6ee1c2f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322004051aae9cddb6fe0e86f1a65dd4952957a0bbb1b686d8f98fd8c4497df37d", + "root": "e13ae4001bc90a8ca11ec1104241dd94e1cf8b0365c604ca0594eb54b2df43dd", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478464677, + "logical": 0, + "newCanonical": 109367, + "newStored": 8248, + "newMetadata": 8248, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.144, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.726, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.542, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.809, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.017, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1262.931, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.709, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.298, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1254.091, + "ok": true + }, + { + "name": "timed.commit", + "ms": 104.802, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.138, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.071, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.125, + "ok": true + }, + { + "name": "verify.exec", + "ms": 402.825, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.313, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 23.728, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322004051aae9cddb6fe0e86f1a65dd4952957a0bbb1b686d8f98fd8c4497df37d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.934, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.869140625, + "grantedAt": "2026-10-31T20:27:43.129Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.72 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.303, + "execWallMs": 1254.099, + "commandMs": 1251.348192, + "commitMs": 104.809, + "commitKind": "Committed", + "unmountMs": 3.144 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:44.978Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.869140625, + "grantedAt": "2026-10-31T20:27:43.129Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.869140625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C06-2026-10-31T202748112Z-wuruog22zm.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C06-2026-10-31T202748112Z-wuruog22zm.json new file mode 100644 index 0000000000..253453897d --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C06-2026-10-31T202748112Z-wuruog22zm.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-vwurv3ain0-", + "startedAt": "2026-10-31T20:27:48.112Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.98, + "end": 9.51416015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-WKwxkL", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 28, + "init": { + "kind": "Initialized", + "project": "c06", + "layer": "3205430720db261341df19e003eff447afbfa5fc5614333c66052213678885a608", + "root": "88f2c02be6df11d02b905f64fe8671a0c3efbd9851872155d3cbab5eb1db4bbd", + "store": "/var/lib/lfs527/lfs527-WKwxkL/store/store.sqlite" + }, + "setupMs": 149, + "cellBudgetMs": 89568, + "teardownMs": 15 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-WKwxkL/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-WKwxkL/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-WKwxkL/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwurv3ain0-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 9.51416015625, + "grantedAt": "2026-10-31T20:27:49.618Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.98 + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.345, + "exec": { + "wallMs": 248.685, + "exitCode": 0, + "stdout": "LFS527 0 1793478469245825624 1793478469490168287\n", + "stderr": "", + "rc": 0, + "ms": 244.342663 + }, + "unmountMs": 10.643, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.057, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-WKwxkL/local/lfs527-vwurv3ain0-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 217.912, + "exitCode": 0, + "stdout": "LFS527 0 1793478469820356849 1793478470034622600\n", + "stderr": "", + "rc": 0, + "ms": 214.265751 + }, + "commitMs": 340.051, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d8cedd31752f69f829421301339de576d931e8fcc6fbb4d1173e31f65ae9818c", + "commit": { + "id": "12d8cedd31752f69f829421301339de576d931e8fcc6fbb4d1173e31f65ae9818c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3205430720db261341df19e003eff447afbfa5fc5614333c66052213678885a608", + "root": "16eb6df99014a6d0765cca59fb4570a243188c8dd13588f34d0887a5d7532f05", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478470314, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.694, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.443, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.595, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 13.456, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.338, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 248.672, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.636, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.052, + "ok": true + }, + { + "name": "timed.exec", + "ms": 217.905, + "ok": true + }, + { + "name": "timed.commit", + "ms": 340.044, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.687, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.302, + "ok": true + }, + { + "name": "verify.identity", + "ms": 17.043, + "ok": true + }, + { + "name": "verify.exec", + "ms": 454.908, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.279, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.898, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3205430720db261341df19e003eff447afbfa5fc5614333c66052213678885a608", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 310.536, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 9.51416015625, + "grantedAt": "2026-10-31T20:27:49.618Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.98 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.057, + "execWallMs": 217.912, + "commandMs": 214.265751, + "commitMs": 340.051, + "commitKind": "Committed", + "unmountMs": 15.694 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:50.813Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 9.51416015625, + "grantedAt": "2026-10-31T20:27:49.618Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.55908203125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C07-2026-10-31T202754171Z-wurzcr2312.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C07-2026-10-31T202754171Z-wurzcr2312.json new file mode 100644 index 0000000000..457da6b4ea --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C07-2026-10-31T202754171Z-wurzcr2312.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-vwurzmpisv-", + "startedAt": "2026-10-31T20:27:54.171Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.9, + "end": 8.83203125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-QX0jiG", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c07", + "layer": "324c916e56e2b78d65ef68b8e527cc22764cf4ca51951beff397d801334594ebde", + "root": "b2752e9d21a6b08e0b7546913ff03557212a5107e36a1633ca89be41e6299426", + "store": "/var/lib/lfs527/lfs527-QX0jiG/store/store.sqlite" + }, + "setupMs": 145, + "cellBudgetMs": 89561, + "teardownMs": 14 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-QX0jiG/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-QX0jiG/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-QX0jiG/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwurzmpisv-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.83203125, + "grantedAt": "2026-10-31T20:27:55.476Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.9 + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.094, + "exec": { + "wallMs": 491.105, + "exitCode": 0, + "stdout": "LFS527 0 1793478475157026748 1793478475644843050\n", + "stderr": "", + "rc": 0, + "ms": 487.816302 + }, + "unmountMs": 19.941, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.188, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-QX0jiG/local/lfs527-vwurzmpisv-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 469.321, + "exitCode": 0, + "stdout": "LFS527 0 1793478475678048713 1793478476144288817\n", + "stderr": "", + "rc": 0, + "ms": 466.240104 + }, + "commitMs": 656.866, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1249d5544a30af9fdcef7c3283dbf3aeebfb033e22a45180f4cc54c75007c999c8", + "commit": { + "id": "1249d5544a30af9fdcef7c3283dbf3aeebfb033e22a45180f4cc54c75007c999c8", + "branch": null, + "parent": null, + "secondParent": null, + "base": "324c916e56e2b78d65ef68b8e527cc22764cf4ca51951beff397d801334594ebde", + "root": "7d0e7444d562f550eed066902caa10e5487d59423d9214a0fa3edb0ba1447f03", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478476696, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 837, + "newMetadata": 761, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 19.565, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.288, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.521, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 16.175, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.088, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 491.093, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.935, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.183, + "ok": true + }, + { + "name": "timed.exec", + "ms": 469.315, + "ok": true + }, + { + "name": "timed.commit", + "ms": 656.842, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 19.56, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.066, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.949, + "ok": true + }, + { + "name": "verify.exec", + "ms": 849.496, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.919, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.748, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "324c916e56e2b78d65ef68b8e527cc22764cf4ca51951beff397d801334594ebde", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.57, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.83203125, + "grantedAt": "2026-10-31T20:27:55.476Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.9 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.188, + "execWallMs": 469.321, + "commandMs": 466.240104, + "commitMs": 656.866, + "commitKind": "Committed", + "unmountMs": 19.565 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:57.564Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.83203125, + "grantedAt": "2026-10-31T20:27:55.476Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.83203125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C08-2026-10-31T202800842Z-wus4i2236y.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C08-2026-10-31T202800842Z-wus4i2236y.json new file mode 100644 index 0000000000..8ec3f53dd5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C08-2026-10-31T202800842Z-wus4i2236y.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-vwus4qkiyw-", + "startedAt": "2026-10-31T20:28:00.842Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.83, + "end": 8.52490234375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-hH8aD4", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c08", + "layer": "32d5aabb9e1e1af559be5be9ecc1bb666404ba563ff0da63af8b31e23ad764b9c5", + "root": "51148a52132e068ab0d8a91bbc7a4293a3b1c0b12a68921640b5256524e9bb41", + "store": "/var/lib/lfs527/lfs527-hH8aD4/store/store.sqlite" + }, + "setupMs": 135, + "cellBudgetMs": 89583, + "teardownMs": 13 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-hH8aD4/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-hH8aD4/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-hH8aD4/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwus4qkiyw-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.52490234375, + "grantedAt": "2026-10-31T20:28:01.780Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.83 + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.394, + "exec": { + "wallMs": 221.964, + "exitCode": 0, + "stdout": "LFS527 0 1793478481738869521 1793478481956682824\n", + "stderr": "", + "rc": 0, + "ms": 217.813303 + }, + "unmountMs": 11.607, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.879, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-hH8aD4/local/lfs527-vwus4qkiyw-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 227.193, + "exitCode": 0, + "stdout": "LFS527 0 1793478481981708251 1793478482205886051\n", + "stderr": "", + "rc": 0, + "ms": 224.1778 + }, + "commitMs": 317.613, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12cc52f8a949df55c2905f5a31031188a8c626a90afd967cdd960309874d916512", + "commit": { + "id": "12cc52f8a949df55c2905f5a31031188a8c626a90afd967cdd960309874d916512", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d5aabb9e1e1af559be5be9ecc1bb666404ba563ff0da63af8b31e23ad764b9c5", + "root": "92b3fb9525e0c1a04633e96418caec682cbfbe9624d77a32fb0ca045d2f9abb3", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478482474, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.557, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.934, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.591, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.121, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.389, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 221.932, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.6, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.874, + "ok": true + }, + { + "name": "timed.exec", + "ms": 227.17, + "ok": true + }, + { + "name": "timed.commit", + "ms": 317.605, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.552, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.08, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.88, + "ok": true + }, + { + "name": "verify.exec", + "ms": 404.76, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.613, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.193, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d5aabb9e1e1af559be5be9ecc1bb666404ba563ff0da63af8b31e23ad764b9c5", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.92, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.52490234375, + "grantedAt": "2026-10-31T20:28:01.780Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.83 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.879, + "execWallMs": 227.193, + "commandMs": 224.1778, + "commitMs": 317.613, + "commitKind": "Committed", + "unmountMs": 10.557 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:02.822Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.52490234375, + "grantedAt": "2026-10-31T20:28:01.780Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.52490234375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C09-2026-10-31T202806375Z-wus8rr238b.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C09-2026-10-31T202806375Z-wus8rr238b.json new file mode 100644 index 0000000000..5ae5433a5e --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C09-2026-10-31T202806375Z-wus8rr238b.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-vwus932j4t-", + "startedAt": "2026-10-31T20:28:06.375Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.76, + "end": 8.40234375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-LpBh7d", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 26, + "init": { + "kind": "Initialized", + "project": "c09", + "layer": "3247e1691471dd7ae489f80d51a8a19f2c9f29b258e8e921cd3a47c665edac8d57", + "root": "1763768112ec1af3a1f12e3635414d818047b9925461d45f943dfab28aa9012e", + "store": "/var/lib/lfs527/lfs527-LpBh7d/store/store.sqlite" + }, + "setupMs": 158, + "cellBudgetMs": 89557, + "teardownMs": 13 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-LpBh7d/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-LpBh7d/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-LpBh7d/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwus932j4t-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.40234375, + "grantedAt": "2026-10-31T20:28:07.973Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.76 + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 262.078, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "126fee008e9c33ca4c8569a71fd3cebea7bcb73eeb032fd619d3ca3fb3e188ec43", + "commit": { + "id": "126fee008e9c33ca4c8569a71fd3cebea7bcb73eeb032fd619d3ca3fb3e188ec43", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3247e1691471dd7ae489f80d51a8a19f2c9f29b258e8e921cd3a47c665edac8d57", + "root": "c4594c072895818f360e2fcb9b7db384ee94d259d75ee6a833ce9d3ee5895fac", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478487938, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.14, + "exec": { + "wallMs": 117.299, + "exitCode": 0, + "stdout": "LFS527 0 1793478488046897380 1793478488158035347\n", + "stderr": "", + "rc": 0, + "ms": 111.137967 + }, + "unmountMs": 4.472, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.088, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-LpBh7d/local/lfs527-vwus932j4t-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 81.9, + "exitCode": 0, + "stdout": "LFS527 0 1793478488177457957 1793478488255840722\n", + "stderr": "", + "rc": 0, + "ms": 78.382765 + }, + "commitMs": 0.611, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "126fee008e9c33ca4c8569a71fd3cebea7bcb73eeb032fd619d3ca3fb3e188ec43", + "root": "c4594c072895818f360e2fcb9b7db384ee94d259d75ee6a833ce9d3ee5895fac", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.327, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.219, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.654, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.729, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.827, + "ok": true + }, + { + "name": "setup.exec", + "ms": 262.066, + "ok": true + }, + { + "name": "setup.commit", + "ms": 344.946, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 15.458, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.133, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 117.294, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.468, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.083, + "ok": true + }, + { + "name": "timed.exec", + "ms": 81.896, + "ok": true + }, + { + "name": "timed.commit", + "ms": 0.606, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.323, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.939, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.471, + "ok": true + }, + { + "name": "verify.exec", + "ms": 388.847, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.159, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 27.615, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3247e1691471dd7ae489f80d51a8a19f2c9f29b258e8e921cd3a47c665edac8d57", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 5.083, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.40234375, + "grantedAt": "2026-10-31T20:28:07.973Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.76 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.088, + "execWallMs": 81.9, + "commandMs": 78.382765, + "commitMs": 0.611, + "commitKind": "UpToDate", + "unmountMs": 4.327 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:08.541Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.40234375, + "grantedAt": "2026-10-31T20:28:07.973Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.40234375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C10-2026-10-31T202811681Z-wuscv5239m.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C10-2026-10-31T202811681Z-wuscv5239m.json new file mode 100644 index 0000000000..a8ed8867db --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C10-2026-10-31T202811681Z-wuscv5239m.json @@ -0,0 +1,396 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-vwusd37jat-", + "startedAt": "2026-10-31T20:28:11.681Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.86, + "end": 8.19287109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-68rV3C", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c10", + "layer": "32ae360aa9af98ffdbc7451b747ec5d12e40d07b6b7811a151ba44ecaeba8c553f", + "root": "760d61f75fc26a92e643c7b5e5d18302cd9d0ce954a0730d84b9f3f4b91346ce", + "store": "/var/lib/lfs527/lfs527-68rV3C/store/store.sqlite" + }, + "setupMs": 141, + "cellBudgetMs": 89598, + "teardownMs": 15 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-68rV3C/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-68rV3C/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-68rV3C/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwusd37jat-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.2099609375, + "grantedAt": "2026-10-31T20:28:13.211Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.86 + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 194.187, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e9f3da1f02395a5976148274e2a039e28ec882b8b4edc72bf96de0b5c9ffe252", + "commit": { + "id": "12e9f3da1f02395a5976148274e2a039e28ec882b8b4edc72bf96de0b5c9ffe252", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ae360aa9af98ffdbc7451b747ec5d12e40d07b6b7811a151ba44ecaeba8c553f", + "root": "5b898c28440123f73db3a1cf67346071d20988999383d0b6107a4b3e51d9e29e", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478493000, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.217, + "exec": { + "wallMs": 321.877, + "exitCode": 0, + "stdout": "LFS527 0 1793478493069466247 1793478493387918172\n", + "stderr": "", + "rc": 0, + "ms": 318.451925 + }, + "unmountMs": 12.587, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.32, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-68rV3C/local/lfs527-vwusd37jat-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 292.327, + "exitCode": 0, + "stdout": "LFS527 0 1793478493415136433 1793478493703950389\n", + "stderr": "", + "rc": 0, + "ms": 288.813956 + }, + "commitMs": 56.667, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "127b0d3f073c396ffbc0784c7622bf73e210f00efac33193162b9a4552ce6d8792", + "commit": { + "id": "127b0d3f073c396ffbc0784c7622bf73e210f00efac33193162b9a4552ce6d8792", + "branch": null, + "parent": "12e9f3da1f02395a5976148274e2a039e28ec882b8b4edc72bf96de0b5c9ffe252", + "secondParent": null, + "base": "32ae360aa9af98ffdbc7451b747ec5d12e40d07b6b7811a151ba44ecaeba8c553f", + "root": "0f11845dd3b32dc8d1c2ea11763fe7c15fbedbc7c3a708d1a8362d6bf003bcd8", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478493706, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.303, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.063, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.415, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.575, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.435, + "ok": true + }, + { + "name": "setup.exec", + "ms": 194.176, + "ok": true + }, + { + "name": "setup.commit", + "ms": 321.388, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.759, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.213, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 321.872, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.581, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.316, + "ok": true + }, + { + "name": "timed.exec", + "ms": 292.321, + "ok": true + }, + { + "name": "timed.commit", + "ms": 56.66, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.296, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.049, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.425, + "ok": true + }, + { + "name": "verify.exec", + "ms": 911.25, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.431, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.704, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ae360aa9af98ffdbc7451b747ec5d12e40d07b6b7811a151ba44ecaeba8c553f", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.631, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.2099609375, + "grantedAt": "2026-10-31T20:28:13.211Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.86 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.32, + "execWallMs": 292.327, + "commandMs": 288.813956, + "commitMs": 56.667, + "commitKind": "Committed", + "unmountMs": 13.303 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:14.578Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.2099609375, + "grantedAt": "2026-10-31T20:28:13.211Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.2099609375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C11-2026-10-31T202817953Z-wushpd23ey.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C11-2026-10-31T202817953Z-wushpd23ey.json new file mode 100644 index 0000000000..424cb3ea01 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C11-2026-10-31T202817953Z-wushpd23ey.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-vwushxqjgy-", + "startedAt": "2026-10-31T20:28:17.953Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.03, + "end": 8.17724609375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-K7fNwq", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 20, + "init": { + "kind": "Initialized", + "project": "c11", + "layer": "32751092c1579df6d3a1e2b766e2f46f55c53951186077336f555e94e3d8543b66", + "root": "2e95f3ed984d5e47e68da6874946c1f5063975f809ec6340f7882f9d67a3f390", + "store": "/var/lib/lfs527/lfs527-K7fNwq/store/store.sqlite" + }, + "setupMs": 156, + "cellBudgetMs": 89506, + "teardownMs": 17 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-K7fNwq/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-K7fNwq/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-K7fNwq/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwushxqjgy-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.17724609375, + "grantedAt": "2026-10-31T20:28:19.366Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.03 + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 187.138, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e08fa2b0d96a3cd814ddb48f4bcf39747e4668cbe9303159ee4d4f9a56842896", + "commit": { + "id": "12e08fa2b0d96a3cd814ddb48f4bcf39747e4668cbe9303159ee4d4f9a56842896", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32751092c1579df6d3a1e2b766e2f46f55c53951186077336f555e94e3d8543b66", + "root": "144ade795b3bb366af1915bbf2b31fcf61a656320436d81bd67409fdd6c844ad", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478499363, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.086, + "exec": { + "wallMs": 119.358, + "exitCode": 0, + "stdout": "LFS527 0 1793478499429646654 1793478499546188203\n", + "stderr": "", + "rc": 0, + "ms": 116.541549 + }, + "unmountMs": 10.052, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.012, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-K7fNwq/local/lfs527-vwushxqjgy-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 120.389, + "exitCode": 0, + "stdout": "LFS527 0 1793478499568455843 1793478499686150743\n", + "stderr": "", + "rc": 0, + "ms": 117.6949 + }, + "commitMs": 142.839, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12e08fa2b0d96a3cd814ddb48f4bcf39747e4668cbe9303159ee4d4f9a56842896", + "root": "144ade795b3bb366af1915bbf2b31fcf61a656320436d81bd67409fdd6c844ad", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.91, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.615, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.465, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.031, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.192, + "ok": true + }, + { + "name": "setup.exec", + "ms": 187.128, + "ok": true + }, + { + "name": "setup.commit", + "ms": 312.637, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.133, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.082, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 119.353, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.048, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.008, + "ok": true + }, + { + "name": "timed.exec", + "ms": 120.384, + "ok": true + }, + { + "name": "timed.commit", + "ms": 142.833, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.906, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.865, + "ok": true + }, + { + "name": "verify.identity", + "ms": 7.918, + "ok": true + }, + { + "name": "verify.exec", + "ms": 321.191, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.567, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.85, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32751092c1579df6d3a1e2b766e2f46f55c53951186077336f555e94e3d8543b66", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.291, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.17724609375, + "grantedAt": "2026-10-31T20:28:19.366Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.03 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.012, + "execWallMs": 120.389, + "commandMs": 117.6949, + "commitMs": 142.839, + "commitKind": "UpToDate", + "unmountMs": 9.91 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:20.059Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.17724609375, + "grantedAt": "2026-10-31T20:28:19.366Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.19287109375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C12-2026-10-31T202823329Z-wuslup23i8.json b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C12-2026-10-31T202823329Z-wuslup23i8.json new file mode 100644 index 0000000000..97c08c5468 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/linux-native-C12-2026-10-31T202823329Z-wuslup23i8.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-vwusm5jjmz-", + "startedAt": "2026-10-31T20:28:23.329Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.95, + "end": 7.92236328125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-S37qNM", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c12", + "layer": "3274c1deab94666127f35f7229599f848628de8abc56780a24c0b6eea7d5c288cf", + "root": "0e3503b41fcba66ae038607447e24edeebab7e9889ad80ca4c147c120d300783", + "store": "/var/lib/lfs527/lfs527-S37qNM/store/store.sqlite" + }, + "setupMs": 141, + "cellBudgetMs": 89620, + "teardownMs": 13 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-S37qNM/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-S37qNM/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-S37qNM/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwusm5jjmz-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.92236328125, + "grantedAt": "2026-10-31T20:28:24.341Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.95 + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 4.751, + "exec": { + "wallMs": 271.905, + "exitCode": 0, + "stdout": "LFS527 0 1793478504261599792 1793478504529747703\n", + "stderr": "", + "rc": 0, + "ms": 268.147911 + }, + "unmountMs": 1.954, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.109, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-S37qNM/local/lfs527-vwusm5jjmz-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 281.314, + "exitCode": 0, + "stdout": "LFS527 0 1793478504543492784 1793478504821847803\n", + "stderr": "", + "rc": 0, + "ms": 278.355019 + }, + "commitMs": 46.105, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1231ae32b7b9a3dd03e5716003329ac75e40265a32ce33330b194a1827d3a817a2", + "commit": { + "id": "1231ae32b7b9a3dd03e5716003329ac75e40265a32ce33330b194a1827d3a817a2", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3274c1deab94666127f35f7229599f848628de8abc56780a24c0b6eea7d5c288cf", + "root": "fada391a18f17e6ba9ca6b70a061abc850f3b2d9c083cdca15ceca5d4440ac30", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478504865, + "logical": 38413, + "newCanonical": 82507, + "newStored": 27788, + "newMetadata": 6453, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.889, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.294, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.547, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.04, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.748, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 271.895, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 1.949, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.106, + "ok": true + }, + { + "name": "timed.exec", + "ms": 281.307, + "ok": true + }, + { + "name": "timed.commit", + "ms": 46.1, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.884, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.731, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.685, + "ok": true + }, + { + "name": "verify.exec", + "ms": 130.79, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 1.917, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.376, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3274c1deab94666127f35f7229599f848628de8abc56780a24c0b6eea7d5c288cf", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.581, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.92236328125, + "grantedAt": "2026-10-31T20:28:24.341Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.95 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.109, + "execWallMs": 281.314, + "commandMs": 278.355019, + "commitMs": 46.105, + "commitKind": "Committed", + "unmountMs": 2.889 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:24.885Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.92236328125, + "grantedAt": "2026-10-31T20:28:24.341Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.17724609375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-a266423340453927" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C01-2026-10-31T202525829Z-wuosw51svs.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C01-2026-10-31T202525829Z-wuosw51svs.json new file mode 100644 index 0000000000..e85ce21ef5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C01-2026-10-31T202525829Z-wuosw51svs.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wuosw51svs-", + "startedAt": "2026-10-31T20:25:25.829Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.23291015625, + "end": 4.0146484375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-mc6qMy", + "initMs": 1119, + "volume": "lfs527-wuosw51svs-c01-store-mvwuosxo", + "setupMs": 1173, + "cellBudgetMs": 93799, + "teardownMs": 326 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wuosw51svs-c01-store-mvwuosxo" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuosw51svs-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-mc6qMy/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuosw51svs-c01-store-mvwuosxo", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuosw51svs-c01-store-mvwuosxo/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuosw51svs-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-mc6qMy/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 102, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:27.925Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.418, + "exec": { + "wallMs": 396.547, + "exitCode": 0, + "stdout": "LFS527 0 1793478327472543587 1793478327811054046\n", + "stderr": "", + "rc": 0, + "ms": 338.510459 + }, + "unmountMs": 6.918, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.967, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 380.668, + "exitCode": 0, + "stdout": "LFS527 0 1793478327972910087 1793478328311577629\n", + "stderr": "", + "rc": 0, + "ms": 338.667542 + }, + "commitMs": 118.179, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12944ec98c0ea1c866e92d7c26cf2ffb07a51ad235ffd4be580e36729888683c9f", + "commit": { + "id": "12944ec98c0ea1c866e92d7c26cf2ffb07a51ad235ffd4be580e36729888683c9f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32df9c92f1db6482f517abb6cc1ad0e7b70dae26d2c180722566cb34ad9e84e577", + "root": "23699f8d86271d5306292a8c6b1ff204e0096951dcdd6a9ae44bfa9b5df4b6d5", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478328422, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.779, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.011, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.976, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 309.977, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.414, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 396.543, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.915, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.964, + "ok": true + }, + { + "name": "timed.exec", + "ms": 380.663, + "ok": true + }, + { + "name": "timed.commit", + "ms": 118.176, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.776, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.458, + "ok": true + }, + { + "name": "verify.identity", + "ms": 59.879, + "ok": true + }, + { + "name": "verify.exec", + "ms": 454.733, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.601, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 240.023, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32df9c92f1db6482f517abb6cc1ad0e7b70dae26d2c180722566cb34ad9e84e577", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 102.312, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 102, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:27.925Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.967, + "execWallMs": 380.668, + "commandMs": 338.667542, + "commitMs": 118.179, + "commitKind": "Committed", + "unmountMs": 7.779 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:29.545Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C02-2026-10-31T202532635Z-wuoy571tbn.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C02-2026-10-31T202532635Z-wuoy571tbn.json new file mode 100644 index 0000000000..fa007c0677 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C02-2026-10-31T202532635Z-wuoy571tbn.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wuoy571tbn-", + "startedAt": "2026-10-31T20:25:32.635Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.0146484375, + "end": 5.89208984375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-jC6OTT", + "initMs": 1323, + "volume": "lfs527-wuoy571tbn-c02-store-mvwuoy6t", + "setupMs": 1379, + "cellBudgetMs": 93594, + "teardownMs": 382 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wuoy571tbn-c02-store-mvwuoy6t" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuoy571tbn-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-jC6OTT/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuoy571tbn-c02-store-mvwuoy6t", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuoy571tbn-c02-store-mvwuoy6t/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuoy571tbn-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-jC6OTT/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 5.53466796875, + "grantedAt": "2026-10-31T20:25:35.974Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 15.202, + "exec": { + "wallMs": 1331.181, + "exitCode": 0, + "stdout": "LFS527 0 1793478334676000924 1793478335957606675\n", + "stderr": "", + "rc": 0, + "ms": 1281.605751 + }, + "unmountMs": 8.704, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.349, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1210.907, + "exitCode": 0, + "stdout": "LFS527 0 1793478336025223425 1793478337190826133\n", + "stderr": "", + "rc": 0, + "ms": 1165.602708 + }, + "commitMs": 151.559, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ada164980ab8b5fcdd8de223d17440026c388c061907a3963158ad6d93c53af6", + "commit": { + "id": "12ada164980ab8b5fcdd8de223d17440026c388c061907a3963158ad6d93c53af6", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3212871a59b0d752817f6b832295b60ba7561db252686e0c6efe5740f46292c197", + "root": "4a628be0454ff3c642c5c5cb19b44342dde0766db81de6e9eeaa75de0859da07", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478337335, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18608, + "newMetadata": 9683, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.485, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.438, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.294, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 511.676, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 15.197, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1331.171, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.701, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.346, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1210.903, + "ok": true + }, + { + "name": "timed.commit", + "ms": 151.555, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.482, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.869, + "ok": true + }, + { + "name": "verify.identity", + "ms": 55.075, + "ok": true + }, + { + "name": "verify.exec", + "ms": 656.29, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 17.17, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 354.083, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3212871a59b0d752817f6b832295b60ba7561db252686e0c6efe5740f46292c197", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.265, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 5.53466796875, + "grantedAt": "2026-10-31T20:25:35.974Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.349, + "execWallMs": 1210.907, + "commandMs": 1165.602708, + "commitMs": 151.559, + "commitKind": "Committed", + "unmountMs": 8.485 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:38.841Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C03-2026-10-31T202542052Z-wup5es1u7w.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C03-2026-10-31T202542052Z-wup5es1u7w.json new file mode 100644 index 0000000000..d7aa2c52e1 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C03-2026-10-31T202542052Z-wup5es1u7w.json @@ -0,0 +1,293 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wup5es1u7w-", + "startedAt": "2026-10-31T20:25:42.052Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 5.89208984375, + "end": 6.1962890625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-zLZCBB", + "initMs": 1216, + "volume": "lfs527-wup5es1u7w-c03-store-mvwup5ga", + "setupMs": 1267, + "cellBudgetMs": 93699, + "teardownMs": 316 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wup5es1u7w-c03-store-mvwup5ga" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wup5es1u7w-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-zLZCBB/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wup5es1u7w-c03-store-mvwup5ga", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wup5es1u7w-c03-store-mvwup5ga/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wup5es1u7w-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-zLZCBB/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 5481, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:50.005Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.879, + "exec": { + "wallMs": 723.549, + "exitCode": 0, + "stdout": "LFS527 0 1793478343833665178 1793478344509540845\n", + "stderr": "", + "rc": 0, + "ms": 675.875667 + }, + "unmountMs": 7.978, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 9.876, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 667.781, + "exitCode": 0, + "stdout": "LFS527 0 1793478350044322375 1793478350676259126\n", + "stderr": "", + "rc": 0, + "ms": 631.936751 + }, + "commitMs": 15.278, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "2644a16eab1fbd3347c6a451b267efc1213a88b96271697e05b1adb7b1ee3caa", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.396, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.298, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.229, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 355.056, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.874, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 723.544, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 7.974, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.873, + "ok": true + }, + { + "name": "timed.exec", + "ms": 667.778, + "ok": true + }, + { + "name": "timed.commit", + "ms": 15.275, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.394, + "ok": true + }, + { + "name": "verify.mount", + "ms": 14.927, + "ok": true + }, + { + "name": "verify.identity", + "ms": 58.935, + "ok": true + }, + { + "name": "verify.exec", + "ms": 54.699, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 13.458, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 272.73, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3283dddc79a79e2abb48c636281039f7b08d9b1465c77202961045e4684ef380c1", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 5482.559, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 5481, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:50.005Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 9.876, + "execWallMs": 667.781, + "commandMs": 631.936751, + "commitMs": 15.278, + "commitKind": "UpToDate", + "unmountMs": 6.396 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:51.442Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C04-2026-10-31T202554711Z-wupf6f1va2.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C04-2026-10-31T202554711Z-wupf6f1va2.json new file mode 100644 index 0000000000..a844a8f9cf --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C04-2026-10-31T202554711Z-wupf6f1va2.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wupf6f1va2-", + "startedAt": "2026-10-31T20:25:54.711Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.30126953125, + "end": 6.95654296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-xXPmjM", + "initMs": 1039, + "volume": "lfs527-wupf6f1va2-c04-store-mvwupf7x", + "setupMs": 1090, + "cellBudgetMs": 93880, + "teardownMs": 302 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wupf6f1va2-c04-store-mvwupf7x" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wupf6f1va2-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-xXPmjM/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wupf6f1va2-c04-store-mvwupf7x", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wupf6f1va2-c04-store-mvwupf7x/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupf6f1va2-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-xXPmjM/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 712, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:57.940Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 18.752, + "exec": { + "wallMs": 976.776, + "exitCode": 0, + "stdout": "LFS527 0 1793478356274762503 1793478357213327087\n", + "stderr": "", + "rc": 0, + "ms": 938.564584 + }, + "unmountMs": 8.381, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 15.447, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 838.87, + "exitCode": 0, + "stdout": "LFS527 0 1793478357999350754 1793478358789710796\n", + "stderr": "", + "rc": 0, + "ms": 790.360042 + }, + "commitMs": 119.453, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b0d0ead92aa9a7413d30895544cf4a73549eadfae21b282be89cc32c34f081ba", + "commit": { + "id": "12b0d0ead92aa9a7413d30895544cf4a73549eadfae21b282be89cc32c34f081ba", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3286c924371e26d946b03ec19c5871d4f7e843551b1102e8cf24635a5b5bb2bc78", + "root": "d40f6e010510c291c92714393e881952c7a0e3fe974c3038177434317d50b6e2", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478358904, + "logical": 0, + "newCanonical": 109367, + "newStored": 8269, + "newMetadata": 8269, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.471, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.914, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.883, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 330.308, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 18.748, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 976.771, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.378, + "ok": true + }, + { + "name": "timed.mount", + "ms": 15.444, + "ok": true + }, + { + "name": "timed.exec", + "ms": 838.867, + "ok": true + }, + { + "name": "timed.commit", + "ms": 119.45, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.468, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.559, + "ok": true + }, + { + "name": "verify.identity", + "ms": 43.07, + "ok": true + }, + { + "name": "verify.exec", + "ms": 250.545, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.892, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 270.966, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3286c924371e26d946b03ec19c5871d4f7e843551b1102e8cf24635a5b5bb2bc78", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 712.946, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 712, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:57.940Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 15.447, + "execWallMs": 838.87, + "commandMs": 790.360042, + "commitMs": 119.453, + "commitKind": "Committed", + "unmountMs": 7.471 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:59.807Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C05-2026-10-31T202603112Z-wuplns1wfz.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C05-2026-10-31T202603112Z-wuplns1wfz.json new file mode 100644 index 0000000000..a78ad8b033 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C05-2026-10-31T202603112Z-wuplns1wfz.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wuplns1wfz-", + "startedAt": "2026-10-31T20:26:03.112Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.95654296875, + "end": 8.013671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-aZ4L0O", + "initMs": 1216, + "volume": "lfs527-wuplns1wfz-c05-store-mvwuplpf", + "setupMs": 1272, + "cellBudgetMs": 93692, + "teardownMs": 352 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wuplns1wfz-c05-store-mvwuplpf" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuplns1wfz-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-aZ4L0O/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuplns1wfz-c05-store-mvwuplpf", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuplns1wfz-c05-store-mvwuplpf/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuplns1wfz-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-aZ4L0O/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3943, + "load1": 8.013671875, + "grantedAt": "2026-10-31T20:26:10.229Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 18.67, + "exec": { + "wallMs": 1386.215, + "exitCode": 0, + "stdout": "LFS527 0 1793478364919181632 1793478366260166258\n", + "stderr": "", + "rc": 0, + "ms": 1340.984626 + }, + "unmountMs": 14.051, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 17.194, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1258.455, + "exitCode": 0, + "stdout": "LFS527 0 1793478370305680052 1793478371495864052\n", + "stderr": "", + "rc": 0, + "ms": 1190.184 + }, + "commitMs": 193.086, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d6af06239ad2199b812d9557eb7d84231efa3b3782789a631117d56ab9dfa713", + "commit": { + "id": "12d6af06239ad2199b812d9557eb7d84231efa3b3782789a631117d56ab9dfa713", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3243d41c8216f3f7910902c6a892113ac186adbbae0639998fcb1d06f81ffafb74", + "root": "8d42e532ee1ff6338bf68acf45ccf38cb1a074090d53c7f564d66ae97b34bceb", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478371687, + "logical": 0, + "newCanonical": 109367, + "newStored": 8263, + "newMetadata": 8263, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 107.242, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.941, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.386, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 378.244, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 18.665, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1386.203, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.047, + "ok": true + }, + { + "name": "timed.mount", + "ms": 17.191, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1258.451, + "ok": true + }, + { + "name": "timed.commit", + "ms": 193.083, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 107.238, + "ok": true + }, + { + "name": "verify.mount", + "ms": 28.181, + "ok": true + }, + { + "name": "verify.identity", + "ms": 111.778, + "ok": true + }, + { + "name": "verify.exec", + "ms": 391.038, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.876, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 269.136, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3243d41c8216f3f7910902c6a892113ac186adbbae0639998fcb1d06f81ffafb74", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 3944.1, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3943, + "load1": 8.013671875, + "grantedAt": "2026-10-31T20:26:10.229Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 17.194, + "execWallMs": 1258.455, + "commandMs": 1190.184, + "commitMs": 193.086, + "commitKind": "Committed", + "unmountMs": 107.242 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:12.972Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C06-2026-10-31T202616123Z-wupvp71ybs.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C06-2026-10-31T202616123Z-wupvp71ybs.json new file mode 100644 index 0000000000..9b1e02f2f5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C06-2026-10-31T202616123Z-wupvp71ybs.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wupvp71ybs-", + "startedAt": "2026-10-31T20:26:16.123Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.25244140625, + "end": 8.63232421875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-3BJ0po", + "initMs": 1220, + "volume": "lfs527-wupvp71ybs-c06-store-mvwupvqr", + "setupMs": 1270, + "cellBudgetMs": 93700, + "teardownMs": 315 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wupvp71ybs-c06-store-mvwupvqr" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wupvp71ybs-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-3BJ0po/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wupvp71ybs-c06-store-mvwupvqr", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wupvp71ybs-c06-store-mvwupvqr/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupvp71ybs-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-3BJ0po/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.25244140625, + "grantedAt": "2026-10-31T20:26:18.239Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 15.756, + "exec": { + "wallMs": 354.645, + "exitCode": 0, + "stdout": "LFS527 0 1793478377901799847 1793478378218013597\n", + "stderr": "", + "rc": 0, + "ms": 316.21375 + }, + "unmountMs": 15.059, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 9.406, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 263.907, + "exitCode": 0, + "stdout": "LFS527 0 1793478378283080180 1793478378508024250\n", + "stderr": "", + "rc": 0, + "ms": 224.94407 + }, + "commitMs": 354.487, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ddc16bf56cca0175f76685d52438a8629e600b7ec0aaa6129af5efbe4060a244", + "commit": { + "id": "12ddc16bf56cca0175f76685d52438a8629e600b7ec0aaa6129af5efbe4060a244", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32f4fbe159749a4b1a5738fd3989f48c708b165331af075cc9312f4b12bbaefa70", + "root": "29c9b14a028012be7a28bebe2f9fb61dbe7d35c6aba8c75e927037c9a76e1b53", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478378806, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 14.774, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.625, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.483, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 357.067, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 15.751, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 354.638, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 15.056, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.403, + "ok": true + }, + { + "name": "timed.exec", + "ms": 263.903, + "ok": true + }, + { + "name": "timed.commit", + "ms": 354.484, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 14.77, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.918, + "ok": true + }, + { + "name": "verify.identity", + "ms": 52.019, + "ok": true + }, + { + "name": "verify.exec", + "ms": 303.528, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.66, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 237.15, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32f4fbe159749a4b1a5738fd3989f48c708b165331af075cc9312f4b12bbaefa70", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.395, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.25244140625, + "grantedAt": "2026-10-31T20:26:18.239Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 9.406, + "execWallMs": 263.907, + "commandMs": 224.94407, + "commitMs": 354.487, + "commitKind": "Committed", + "unmountMs": 14.774 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:19.813Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C07-2026-10-31T202623542Z-wuq1fa1zwl.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C07-2026-10-31T202623542Z-wuq1fa1zwl.json new file mode 100644 index 0000000000..0b15fd8380 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C07-2026-10-31T202623542Z-wuq1fa1zwl.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wuq1fa1zwl-", + "startedAt": "2026-10-31T20:26:23.542Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.63232421875, + "end": 9.21044921875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Q5GMw3", + "initMs": 1320, + "volume": "lfs527-wuq1fa1zwl-c07-store-mvwuq1gt", + "setupMs": 1373, + "cellBudgetMs": 93598, + "teardownMs": 344 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wuq1fa1zwl-c07-store-mvwuq1gt" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuq1fa1zwl-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-Q5GMw3/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuq1fa1zwl-c07-store-mvwuq1gt", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuq1fa1zwl-c07-store-mvwuq1gt/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuq1fa1zwl-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Q5GMw3/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3965, + "load1": 9.21044921875, + "grantedAt": "2026-10-31T20:26:29.947Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 16.799, + "exec": { + "wallMs": 580.571, + "exitCode": 0, + "stdout": "LFS527 0 1793478385419741669 1793478385952446961\n", + "stderr": "", + "rc": 0, + "ms": 532.705292 + }, + "unmountMs": 23.131, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 27.835, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 926.31, + "exitCode": 0, + "stdout": "LFS527 0 1793478390072658005 1793478390895164922\n", + "stderr": "", + "rc": 0, + "ms": 822.506917 + }, + "commitMs": 708.08, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120ea5b6384e3f75ae7c74cb5d3f6837a8eb43ce14198e68a31ddfa281c86ec41d", + "commit": { + "id": "120ea5b6384e3f75ae7c74cb5d3f6837a8eb43ce14198e68a31ddfa281c86ec41d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "326d48c3950787b6c2144d8110e82d1b96ef62ffbb01054558d6f0ff3ea977a7af", + "root": "c161cba10c3f63c35edaca3ec4279a210ef34277c25ed94949ba00c42f7092e5", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478391495, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 25.858, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.325, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.246, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 344.122, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 16.793, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 580.562, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 23.128, + "ok": true + }, + { + "name": "timed.mount", + "ms": 27.832, + "ok": true + }, + { + "name": "timed.exec", + "ms": 926.304, + "ok": true + }, + { + "name": "timed.commit", + "ms": 708.077, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 25.855, + "ok": true + }, + { + "name": "verify.mount", + "ms": 11.279, + "ok": true + }, + { + "name": "verify.identity", + "ms": 67.243, + "ok": true + }, + { + "name": "verify.exec", + "ms": 435.07, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 12.117, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 293.018, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "326d48c3950787b6c2144d8110e82d1b96ef62ffbb01054558d6f0ff3ea977a7af", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 3966.715, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3965, + "load1": 9.21044921875, + "grantedAt": "2026-10-31T20:26:29.947Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 27.835, + "execWallMs": 926.31, + "commandMs": 822.506917, + "commitMs": 708.08, + "commitKind": "Committed", + "unmountMs": 25.858 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:32.803Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C08-2026-10-31T202636079Z-wuqb3j20yr.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C08-2026-10-31T202636079Z-wuqb3j20yr.json new file mode 100644 index 0000000000..963705192b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C08-2026-10-31T202636079Z-wuqb3j20yr.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wuqb3j20yr-", + "startedAt": "2026-10-31T20:26:36.079Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.79296875, + "end": 9.44970703125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-QwcPku", + "initMs": 1517, + "volume": "lfs527-wuqb3j20yr-c08-store-mvwuqb50", + "setupMs": 1568, + "cellBudgetMs": 93403, + "teardownMs": 323 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wuqb3j20yr-c08-store-mvwuqb50" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuqb3j20yr-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-QwcPku/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuqb3j20yr-c08-store-mvwuqb50", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuqb3j20yr-c08-store-mvwuqb50/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqb3j20yr-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-QwcPku/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.79296875, + "grantedAt": "2026-10-31T20:26:38.526Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 17.982, + "exec": { + "wallMs": 320.463, + "exitCode": 0, + "stdout": "LFS527 0 1793478398247045301 1793478398514710551\n", + "stderr": "", + "rc": 0, + "ms": 267.66525 + }, + "unmountMs": 19.104, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 17.055, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 301.578, + "exitCode": 0, + "stdout": "LFS527 0 1793478398598704342 1793478398851682759\n", + "stderr": "", + "rc": 0, + "ms": 252.978417 + }, + "commitMs": 347.352, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e03a6a022d0558a7bffe6bb6e9c5525c1a90bcf8b2bfd516177cf2db553c3ba1", + "commit": { + "id": "12e03a6a022d0558a7bffe6bb6e9c5525c1a90bcf8b2bfd516177cf2db553c3ba1", + "branch": null, + "parent": null, + "secondParent": null, + "base": "326ae6c5b63102cf796d2772b59a50f33c313ccdbc1f121cb3e93cd979b3f529b6", + "root": "90448bf69cb4fdcd0d841529fb64745260a5c81313628d39c7c6044f1cf12a16", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478399146, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.53, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.35, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.495, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 430.423, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 17.978, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 320.457, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.099, + "ok": true + }, + { + "name": "timed.mount", + "ms": 17.052, + "ok": true + }, + { + "name": "timed.exec", + "ms": 301.574, + "ok": true + }, + { + "name": "timed.commit", + "ms": 347.347, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.527, + "ok": true + }, + { + "name": "verify.mount", + "ms": 12.018, + "ok": true + }, + { + "name": "verify.identity", + "ms": 52.117, + "ok": true + }, + { + "name": "verify.exec", + "ms": 314.729, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.423, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 307.651, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "326ae6c5b63102cf796d2772b59a50f33c313ccdbc1f121cb3e93cd979b3f529b6", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.163, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.79296875, + "grantedAt": "2026-10-31T20:26:38.526Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 17.055, + "execWallMs": 301.578, + "commandMs": 252.978417, + "commitMs": 347.352, + "commitKind": "Committed", + "unmountMs": 16.53 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:40.232Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C09-2026-10-31T202643484Z-wuqgt8217m.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C09-2026-10-31T202643484Z-wuqgt8217m.json new file mode 100644 index 0000000000..13d17144ea --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C09-2026-10-31T202643484Z-wuqgt8217m.json @@ -0,0 +1,354 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wuqgt8217m-", + "startedAt": "2026-10-31T20:26:43.484Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.44970703125, + "end": 9.89404296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Owytyb", + "initMs": 1725, + "volume": "lfs527-wuqgt8217m-c09-store-mvwuqgwe", + "setupMs": 1837, + "cellBudgetMs": 93133, + "teardownMs": 388 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wuqgt8217m-c09-store-mvwuqgwe" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuqgt8217m-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-Owytyb/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuqgt8217m-c09-store-mvwuqgwe", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuqgt8217m-c09-store-mvwuqgwe/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqgt8217m-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Owytyb/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.89404296875, + "grantedAt": "2026-10-31T20:26:47.189Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 462.084, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1282da6c5d8f79e67a74625b8eac0cd3efe01116ea377d71dd43aa8b1b50ea807f", + "commit": { + "id": "1282da6c5d8f79e67a74625b8eac0cd3efe01116ea377d71dd43aa8b1b50ea807f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32fe264298c859d482bd253d5237f10234bae35b12a73deb3bc56ef6ddd6486f1e", + "root": "dc328035ede412c65738940c95a010d337387f0d4efc0fdf3694bf7150f466e6", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478406961, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 750, + "newMetadata": 674, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 16.807, + "exec": { + "wallMs": 136.433, + "exitCode": 0, + "stdout": "LFS527 0 1793478407119910138 1793478407196781222\n", + "stderr": "", + "rc": 0, + "ms": 76.871084 + }, + "unmountMs": 11.872, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 14.709, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 128.422, + "exitCode": 0, + "stdout": "LFS527 0 1793478407279045055 1793478407352804847\n", + "stderr": "", + "rc": 0, + "ms": 73.759792 + }, + "commitMs": 3.287, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1282da6c5d8f79e67a74625b8eac0cd3efe01116ea377d71dd43aa8b1b50ea807f", + "root": "dc328035ede412c65738940c95a010d337387f0d4efc0fdf3694bf7150f466e6", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.891, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.421, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.232, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 584.907, + "ok": true + }, + { + "name": "setup.mount", + "ms": 39.599, + "ok": true + }, + { + "name": "setup.exec", + "ms": 462.079, + "ok": true + }, + { + "name": "setup.commit", + "ms": 418.674, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 20.108, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 16.804, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 136.426, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.868, + "ok": true + }, + { + "name": "timed.mount", + "ms": 14.706, + "ok": true + }, + { + "name": "timed.exec", + "ms": 128.418, + "ok": true + }, + { + "name": "timed.commit", + "ms": 3.284, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.888, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.757, + "ok": true + }, + { + "name": "verify.identity", + "ms": 50.179, + "ok": true + }, + { + "name": "verify.exec", + "ms": 341.679, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 12.059, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 290.415, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32fe264298c859d482bd253d5237f10234bae35b12a73deb3bc56ef6ddd6486f1e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.315, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.89404296875, + "grantedAt": "2026-10-31T20:26:47.189Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 14.709, + "execWallMs": 128.422, + "commandMs": 73.759792, + "commitMs": 3.287, + "commitKind": "UpToDate", + "unmountMs": 10.891 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:48.444Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C10-2026-10-31T202651748Z-wuqn6s21he.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C10-2026-10-31T202651748Z-wuqn6s21he.json new file mode 100644 index 0000000000..68509a32ef --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C10-2026-10-31T202651748Z-wuqn6s21he.json @@ -0,0 +1,373 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wuqn6s21he-", + "startedAt": "2026-10-31T20:26:51.748Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0625, + "end": 10.13720703125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-nIh5jt", + "initMs": 1422, + "volume": "lfs527-wuqn6s21he-c10-store-mvwuqn88", + "setupMs": 1473, + "cellBudgetMs": 93498, + "teardownMs": 307 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wuqn6s21he-c10-store-mvwuqn88" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuqn6s21he-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-nIh5jt/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuqn6s21he-c10-store-mvwuqn88", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuqn6s21he-c10-store-mvwuqn88/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqn6s21he-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-nIh5jt/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 204, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:55.052Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 327.955, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120e0c019f3318cfb0b40d3b37a89011b2281cd24bd3509ece1c07bfecb0a64b57", + "commit": { + "id": "120e0c019f3318cfb0b40d3b37a89011b2281cd24bd3509ece1c07bfecb0a64b57", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322929584606ec824a84d4072c309246c9ed6f12fb26918d5aeb04e3942cd68c97", + "root": "7781e00dd8af786dcce9072e86fb4dc5b3c5ba4ff7ecc3d1971e57de95185809", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478414408, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 11.164, + "exec": { + "wallMs": 334.16, + "exitCode": 0, + "stdout": "LFS527 0 1793478414532619586 1793478414823937961\n", + "stderr": "", + "rc": 0, + "ms": 291.318375 + }, + "unmountMs": 22.987, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 20.241, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 408.65, + "exitCode": 0, + "stdout": "LFS527 0 1793478415117388003 1793478415480434545\n", + "stderr": "", + "rc": 0, + "ms": 363.046542 + }, + "commitMs": 64.106, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e8995d0095d0e91d7c4e8f1d2c7540fe4627d388b1fe695f7ab7b5af92762776", + "commit": { + "id": "12e8995d0095d0e91d7c4e8f1d2c7540fe4627d388b1fe695f7ab7b5af92762776", + "branch": null, + "parent": "120e0c019f3318cfb0b40d3b37a89011b2281cd24bd3509ece1c07bfecb0a64b57", + "secondParent": null, + "base": "322929584606ec824a84d4072c309246c9ed6f12fb26918d5aeb04e3942cd68c97", + "root": "00b389f1fefe0122f5be9931b843c97fa20a7c1a24a75b2b4760f22cb191f27b", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478415489, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 21.988, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.768, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.204, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 442.606, + "ok": true + }, + { + "name": "setup.mount", + "ms": 34.5, + "ok": true + }, + { + "name": "setup.exec", + "ms": 327.95, + "ok": true + }, + { + "name": "setup.commit", + "ms": 344.093, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 16.066, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.16, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 334.157, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 22.983, + "ok": true + }, + { + "name": "timed.mount", + "ms": 20.238, + "ok": true + }, + { + "name": "timed.exec", + "ms": 408.647, + "ok": true + }, + { + "name": "timed.commit", + "ms": 64.102, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 21.984, + "ok": true + }, + { + "name": "verify.mount", + "ms": 11.203, + "ok": true + }, + { + "name": "verify.identity", + "ms": 56.27, + "ok": true + }, + { + "name": "verify.exec", + "ms": 613.447, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 12.944, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 280.12, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322929584606ec824a84d4072c309246c9ed6f12fb26918d5aeb04e3942cd68c97", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 205.179, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 204, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:55.052Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 20.241, + "execWallMs": 408.65, + "commandMs": 363.046542, + "commitMs": 64.106, + "commitKind": "Committed", + "unmountMs": 21.988 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:56.851Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C11-2026-10-31T202700014Z-wuqtke21qf.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C11-2026-10-31T202700014Z-wuqtke21qf.json new file mode 100644 index 0000000000..6e03b67682 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C11-2026-10-31T202700014Z-wuqtke21qf.json @@ -0,0 +1,354 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wuqtke21qf-", + "startedAt": "2026-10-31T20:27:00.014Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0458984375, + "end": 9.8818359375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-BMbnlq", + "initMs": 1018, + "volume": "lfs527-wuqtke21qf-c11-store-mvwuqtm2", + "setupMs": 1076, + "cellBudgetMs": 93896, + "teardownMs": 310 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wuqtke21qf-c11-store-mvwuqtm2" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuqtke21qf-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-BMbnlq/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuqtke21qf-c11-store-mvwuqtm2", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuqtke21qf-c11-store-mvwuqtm2/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqtke21qf-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-BMbnlq/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:02.743Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 303.272, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1260656c2287d4c8fda99adac662f1a66e24c9b114fa2172218176a1e9cbb9aa42", + "commit": { + "id": "1260656c2287d4c8fda99adac662f1a66e24c9b114fa2172218176a1e9cbb9aa42", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3204042ea8793b7ef2a8aa0e7a37f6f8bfc64c4d9d1ca784a4bd70d798bdbe72b1", + "root": "09bea1201b472ec139a1cb4235c94f10683d7d3c88a6f61f364fe1f66c80945f", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478422250, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 10.068, + "exec": { + "wallMs": 396.897, + "exitCode": 0, + "stdout": "LFS527 0 1793478422383046173 1793478422728720798\n", + "stderr": "", + "rc": 0, + "ms": 345.674625 + }, + "unmountMs": 15.623, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 17.157, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 206.315, + "exitCode": 0, + "stdout": "LFS527 0 1793478422821227548 1793478422971143881\n", + "stderr": "", + "rc": 0, + "ms": 149.916333 + }, + "commitMs": 171.171, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1260656c2287d4c8fda99adac662f1a66e24c9b114fa2172218176a1e9cbb9aa42", + "root": "09bea1201b472ec139a1cb4235c94f10683d7d3c88a6f61f364fe1f66c80945f", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.82, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.944, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.677, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 327.775, + "ok": true + }, + { + "name": "setup.mount", + "ms": 16.147, + "ok": true + }, + { + "name": "setup.exec", + "ms": 303.267, + "ok": true + }, + { + "name": "setup.commit", + "ms": 472.991, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 20.411, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 10.065, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 396.894, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 15.62, + "ok": true + }, + { + "name": "timed.mount", + "ms": 17.153, + "ok": true + }, + { + "name": "timed.exec", + "ms": 206.312, + "ok": true + }, + { + "name": "timed.commit", + "ms": 171.168, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.816, + "ok": true + }, + { + "name": "verify.mount", + "ms": 12.004, + "ok": true + }, + { + "name": "verify.identity", + "ms": 61.403, + "ok": true + }, + { + "name": "verify.exec", + "ms": 224.957, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.734, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 319.637, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3204042ea8793b7ef2a8aa0e7a37f6f8bfc64c4d9d1ca784a4bd70d798bdbe72b1", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.382, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:02.743Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 17.157, + "execWallMs": 206.315, + "commandMs": 149.916333, + "commitMs": 171.171, + "commitKind": "UpToDate", + "unmountMs": 15.82 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:04.100Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C12-2026-10-31T202707240Z-wuqz542225.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C12-2026-10-31T202707240Z-wuqz542225.json new file mode 100644 index 0000000000..a9eff8e8ad --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-docker-C12-2026-10-31T202707240Z-wuqz542225.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wuqz542225-", + "startedAt": "2026-10-31T20:27:07.240Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.8818359375, + "end": 10.77197265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-T02Uyl", + "initMs": 1620, + "volume": "lfs527-wuqz542225-c12-store-mvwuqz6r", + "setupMs": 1677, + "cellBudgetMs": 93293, + "teardownMs": 319 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wuqz542225-c12-store-mvwuqz6r" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wuqz542225-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-T02Uyl/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-4bedac61bd884930b3b8e16af1af2a00/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wuqz542225-c12-store-mvwuqz6r", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wuqz542225-c12-store-mvwuqz6r/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqz542225-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-T02Uyl/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 202, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:09.987Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.664, + "exec": { + "wallMs": 336.6, + "exitCode": 0, + "stdout": "LFS527 0 1793478429490112218 1793478429783411343\n", + "stderr": "", + "rc": 0, + "ms": 293.299125 + }, + "unmountMs": 7.245, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.821, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 275.19, + "exitCode": 0, + "stdout": "LFS527 0 1793478430047790801 1793478430280336177\n", + "stderr": "", + "rc": 0, + "ms": 232.545376 + }, + "commitMs": 58.186, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1270678b71d57c918c314420a24e90ac46d4f8261d310920a16a9e1fa784cfb252", + "commit": { + "id": "1270678b71d57c918c314420a24e90ac46d4f8261d310920a16a9e1fa784cfb252", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32aae3d414d02a6f2bc5f770d431e86e1b7d2c14f9c1785f5bd39aeac4a123faaa", + "root": "917e599ea4a189d4ec33dd1034cdb1ca95040100243d26134710e43d81973f06", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478430338, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26915, + "newMetadata": 6522, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.807, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.672, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.191, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 407.577, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.66, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 336.593, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 7.243, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.793, + "ok": true + }, + { + "name": "timed.exec", + "ms": 275.186, + "ok": true + }, + { + "name": "timed.commit", + "ms": 58.184, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.804, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.152, + "ok": true + }, + { + "name": "verify.identity", + "ms": 57.38, + "ok": true + }, + { + "name": "verify.exec", + "ms": 118.969, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.563, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 244.035, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32aae3d414d02a6f2bc5f770d431e86e1b7d2c14f9c1785f5bd39aeac4a123faaa", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 203.376, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 202, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:09.987Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.821, + "execWallMs": 275.19, + "commandMs": 232.545376, + "commitMs": 58.186, + "commitKind": "Committed", + "unmountMs": 7.807 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:11.098Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C01-2026-10-31T202522600Z-wuoqeg1srj.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C01-2026-10-31T202522600Z-wuoqeg1srj.json new file mode 100644 index 0000000000..cb635ad79e --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C01-2026-10-31T202522600Z-wuoqeg1srj.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wuoqeg1srj-", + "startedAt": "2026-10-31T20:25:22.600Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.427734375, + "end": 3.23291015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-N4XzdU", + "initMs": 1033, + "init": { + "kind": "Initialized", + "project": "c01", + "layer": "32852a23ee14a55e97e8664dda1e5d75db55794bfe5005a4ed6e57f12d8b4a3c61", + "root": "2b5308ce47c9d613d355dec50cc36c615c5a73865614f3f9f33ff494dfbf2548", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-N4XzdU/store/store.sqlite" + }, + "setupMs": 1048, + "cellBudgetMs": 93912, + "teardownMs": 37 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-N4XzdU/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-N4XzdU/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-N4XzdU/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuoqeg1srj-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:25.149Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 28.993, + "exec": { + "wallMs": 732.007, + "exitCode": 0, + "stdout": "LFS527 0 1793478324400866000 1793478325110048000\n", + "stderr": "", + "rc": 0, + "ms": 709.182 + }, + "unmountMs": 35.554, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 23.828, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-N4XzdU/local/lfs527-wuoqeg1srj-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 701.865, + "exitCode": 0, + "stdout": "LFS527 0 1793478325186813000 1793478325873958000\n", + "stderr": "", + "rc": 0, + "ms": 687.145 + }, + "commitMs": 168.625, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12df9b79b3f50a30515acdff67722ffd7d39072ad0496e4fbad91c13f271364111", + "commit": { + "id": "12df9b79b3f50a30515acdff67722ffd7d39072ad0496e4fbad91c13f271364111", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32852a23ee14a55e97e8664dda1e5d75db55794bfe5005a4ed6e57f12d8b4a3c61", + "root": "563ae2ebb6e29aa5c8bd07f65a39a82546b690fa4c7ddbd2f72e4382b1a683b2", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478326031, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 35.947, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.652, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.491, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 594.452, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 28.987, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 731.988, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 35.549, + "ok": true + }, + { + "name": "timed.mount", + "ms": 23.825, + "ok": true + }, + { + "name": "timed.exec", + "ms": 701.85, + "ok": true + }, + { + "name": "timed.commit", + "ms": 168.62, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 35.942, + "ok": true + }, + { + "name": "verify.mount", + "ms": 26.108, + "ok": true + }, + { + "name": "verify.identity", + "ms": 41.593, + "ok": true + }, + { + "name": "verify.exec", + "ms": 327.863, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 25.404, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 54.406, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32852a23ee14a55e97e8664dda1e5d75db55794bfe5005a4ed6e57f12d8b4a3c61", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.285, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 3.23291015625, + "grantedAt": "2026-10-31T20:25:25.149Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 23.828, + "execWallMs": 701.865, + "commandMs": 687.145, + "commitMs": 168.625, + "commitKind": "Committed", + "unmountMs": 35.947 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:26.600Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C02-2026-10-31T202529784Z-wuovy01t3v.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C02-2026-10-31T202529784Z-wuovy01t3v.json new file mode 100644 index 0000000000..16da4d70fa --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C02-2026-10-31T202529784Z-wuovy01t3v.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wuovy01t3v-", + "startedAt": "2026-10-31T20:25:29.784Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.0146484375, + "end": 6.1962890625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-4HRpHR", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c02", + "layer": "328c9715b5741435d0c8af5bffe63ba4696613822a45fde4e615e01c1ae5a11b8a", + "root": "0f1cdbae9fee936ef14ba0011bab5e0e024063a840904053f678bd92516d20d6", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-4HRpHR/store/store.sqlite" + }, + "setupMs": 30, + "cellBudgetMs": 94944, + "teardownMs": 43 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-4HRpHR/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-4HRpHR/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-4HRpHR/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuovy01t3v-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 511, + "load1": 5.89208984375, + "grantedAt": "2026-10-31T20:25:39.747Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 29.262, + "exec": { + "wallMs": 9130.572, + "exitCode": 0, + "stdout": "LFS527 0 1793478329975532000 1793478339086326000\n", + "stderr": "", + "rc": 0, + "ms": 9110.794 + }, + "unmountMs": 138.861, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 72.623, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-4HRpHR/local/lfs527-wuovy01t3v-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 8952.261, + "exitCode": 0, + "stdout": "LFS527 0 1793478339842408000 1793478348770791000\n", + "stderr": "", + "rc": 0, + "ms": 8928.383 + }, + "commitMs": 280.873, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c6faeb2c586e8651b7da7f0bd4f7505d8439214bf88ff7a84f164587b76e541c", + "commit": { + "id": "12c6faeb2c586e8651b7da7f0bd4f7505d8439214bf88ff7a84f164587b76e541c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328c9715b5741435d0c8af5bffe63ba4696613822a45fde4e615e01c1ae5a11b8a", + "root": "8274de4e5991d70bcd4d8833cb0e591b3e5d6a968c1303cb3785257629c9ad2f", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478349043, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 32.175, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.794, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.629, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 26.947, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 29.255, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 9130.491, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 138.856, + "ok": true + }, + { + "name": "timed.mount", + "ms": 72.62, + "ok": true + }, + { + "name": "timed.exec", + "ms": 8952.242, + "ok": true + }, + { + "name": "timed.commit", + "ms": 280.869, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 32.169, + "ok": true + }, + { + "name": "verify.mount", + "ms": 24.552, + "ok": true + }, + { + "name": "verify.identity", + "ms": 46.109, + "ok": true + }, + { + "name": "verify.exec", + "ms": 319.588, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.535, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 48.681, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328c9715b5741435d0c8af5bffe63ba4696613822a45fde4e615e01c1ae5a11b8a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 517.135, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 511, + "load1": 5.89208984375, + "grantedAt": "2026-10-31T20:25:39.747Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 72.623, + "execWallMs": 8952.261, + "commandMs": 8928.383, + "commitMs": 280.873, + "commitKind": "Committed", + "unmountMs": 32.175 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:49.601Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C03-2026-10-31T202552637Z-wupdkt1v8m.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C03-2026-10-31T202552637Z-wupdkt1v8m.json new file mode 100644 index 0000000000..265c1d40ac --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C03-2026-10-31T202552637Z-wupdkt1v8m.json @@ -0,0 +1,290 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wupdkt1v8m-", + "startedAt": "2026-10-31T20:25:52.637Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.1962890625, + "end": 7.30126953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-04mIHs", + "initMs": 34, + "init": { + "kind": "Initialized", + "project": "c03", + "layer": "3202bdd09d14af2974becee5ba86e8c23773303bd4a9d7f34a787c5d801fd905fc", + "root": "ea3257a4c140767c910e0a2b4ac4a9c0c2d4ea60e1e9cc4b586b4459bcb89665", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-04mIHs/store/store.sqlite" + }, + "setupMs": 66, + "cellBudgetMs": 94897, + "teardownMs": 58 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-04mIHs/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-04mIHs/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-04mIHs/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupdkt1v8m-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:54.141Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 25.535, + "exec": { + "wallMs": 1275.258, + "exitCode": 0, + "stdout": "LFS527 0 1793478352861908000 1793478354121305000\n", + "stderr": "", + "rc": 0, + "ms": 1259.397 + }, + "unmountMs": 16.243, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 20.776, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-04mIHs/local/lfs527-wupdkt1v8m-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 1413.883, + "exitCode": 0, + "stdout": "LFS527 0 1793478354174663000 1793478355574991000\n", + "stderr": "", + "rc": 0, + "ms": 1400.328 + }, + "commitMs": 229.82, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "ea3257a4c140767c910e0a2b4ac4a9c0c2d4ea60e1e9cc4b586b4459bcb89665", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 18.685, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.436, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.451, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 20.288, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 25.53, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1275.236, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 16.238, + "ok": true + }, + { + "name": "timed.mount", + "ms": 20.772, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1413.87, + "ok": true + }, + { + "name": "timed.commit", + "ms": 229.814, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 18.678, + "ok": true + }, + { + "name": "verify.mount", + "ms": 25.377, + "ok": true + }, + { + "name": "verify.identity", + "ms": 42.478, + "ok": true + }, + { + "name": "verify.exec", + "ms": 15.855, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 18.772, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 48.668, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3202bdd09d14af2974becee5ba86e8c23773303bd4a9d7f34a787c5d801fd905fc", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.376, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:54.141Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 20.776, + "execWallMs": 1413.883, + "commandMs": 1400.328, + "commitMs": 229.82, + "commitKind": "UpToDate", + "unmountMs": 18.685 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:56.045Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C04-2026-10-31T202559154Z-wupilu1vg6.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C04-2026-10-31T202559154Z-wupilu1vg6.json new file mode 100644 index 0000000000..1b092a4b27 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C04-2026-10-31T202559154Z-wupilu1vg6.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wupilu1vg6-", + "startedAt": "2026-10-31T20:25:59.154Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.95654296875, + "end": 8.013671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-KY2jcE", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c04", + "layer": "327a1381b767b07faf8070f184e70e42c4cbc8ad65dcea9c6a37355ec48b6bf732", + "root": "e442c3b32880ad94e3f3faa7549417e0071122756d10f3aa1a6984e8e262c916", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-KY2jcE/store/store.sqlite" + }, + "setupMs": 27, + "cellBudgetMs": 94948, + "teardownMs": 128 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-KY2jcE/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-KY2jcE/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-KY2jcE/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupilu1vg6-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.8408203125, + "grantedAt": "2026-10-31T20:26:04.239Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 23.753, + "exec": { + "wallMs": 4898.524, + "exitCode": 0, + "stdout": "LFS527 0 1793478359323619000 1793478364206356000\n", + "stderr": "", + "rc": 0, + "ms": 4882.737 + }, + "unmountMs": 28.913, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 28.466, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-KY2jcE/local/lfs527-wupilu1vg6-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 5598.448, + "exitCode": 0, + "stdout": "LFS527 0 1793478364290461000 1793478369864919000\n", + "stderr": "", + "rc": 0, + "ms": 5574.458 + }, + "commitMs": 299.077, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125d549912f4b74a84f435f3d9da2c20b54576ea6a7655d762a3244c76cfb36d4f", + "commit": { + "id": "125d549912f4b74a84f435f3d9da2c20b54576ea6a7655d762a3244c76cfb36d4f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "327a1381b767b07faf8070f184e70e42c4cbc8ad65dcea9c6a37355ec48b6bf732", + "root": "ddec97a6dc667d582cb50946378bc0e72f6055b97a771f49eba9b556568bd7f7", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478370157, + "logical": 0, + "newCanonical": 109367, + "newStored": 8242, + "newMetadata": 8242, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 31.278, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.632, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.471, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 17.333, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 23.747, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 4898.506, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 28.908, + "ok": true + }, + { + "name": "timed.mount", + "ms": 28.461, + "ok": true + }, + { + "name": "timed.exec", + "ms": 5598.424, + "ok": true + }, + { + "name": "timed.commit", + "ms": 299.073, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 31.274, + "ok": true + }, + { + "name": "verify.mount", + "ms": 21.427, + "ok": true + }, + { + "name": "verify.identity", + "ms": 54.426, + "ok": true + }, + { + "name": "verify.exec", + "ms": 752.395, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 26.975, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 60.815, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "327a1381b767b07faf8070f184e70e42c4cbc8ad65dcea9c6a37355ec48b6bf732", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.526, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.8408203125, + "grantedAt": "2026-10-31T20:26:04.239Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 28.466, + "execWallMs": 5598.448, + "commandMs": 5574.458, + "commitMs": 299.077, + "commitKind": "Committed", + "unmountMs": 31.278 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:11.256Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C05-2026-10-31T202614510Z-wupuge1y1w.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C05-2026-10-31T202614510Z-wupuge1y1w.json new file mode 100644 index 0000000000..b90885c952 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C05-2026-10-31T202614510Z-wupuge1y1w.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wupuge1y1w-", + "startedAt": "2026-10-31T20:26:14.510Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.25244140625, + "end": 9.14208984375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-zOK3QJ", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c05", + "layer": "32156086aabe32ee82a8bdffc22246de08ae145569a5b8e97f04d230f12fd8139f", + "root": "49171c8dfad4c32ffad40f73f24227c891a047cbcb95eb1994e62954358fb513", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-zOK3QJ/store/store.sqlite" + }, + "setupMs": 80, + "cellBudgetMs": 94812, + "teardownMs": 156 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-zOK3QJ/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-zOK3QJ/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-zOK3QJ/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupuge1y1w-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 510, + "load1": 8.63232421875, + "grantedAt": "2026-10-31T20:26:20.767Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 24.456, + "exec": { + "wallMs": 5389.002, + "exitCode": 0, + "stdout": "LFS527 0 1793478374850870000 1793478380220747000\n", + "stderr": "", + "rc": 0, + "ms": 5369.877 + }, + "unmountMs": 31.977, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 22.651, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-zOK3QJ/local/lfs527-wupuge1y1w-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 5412.488, + "exitCode": 0, + "stdout": "LFS527 0 1793478380804218000 1793478386201614000\n", + "stderr": "", + "rc": 0, + "ms": 5397.396 + }, + "commitMs": 467.541, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ab7257c667b8ef1b0c37169094bfa69dec4e4242b008daadbfb9248396a77fe0", + "commit": { + "id": "12ab7257c667b8ef1b0c37169094bfa69dec4e4242b008daadbfb9248396a77fe0", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32156086aabe32ee82a8bdffc22246de08ae145569a5b8e97f04d230f12fd8139f", + "root": "ed99646d2ad912fe76008d224f44baa7effb048c4e5152fcf66950a285bed8a7", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478386659, + "logical": 0, + "newCanonical": 109367, + "newStored": 8261, + "newMetadata": 8261, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 40.425, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.233, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.534, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 28.955, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 24.449, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 5388.969, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 31.971, + "ok": true + }, + { + "name": "timed.mount", + "ms": 22.646, + "ok": true + }, + { + "name": "timed.exec", + "ms": 5412.473, + "ok": true + }, + { + "name": "timed.commit", + "ms": 467.533, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 40.417, + "ok": true + }, + { + "name": "verify.mount", + "ms": 24.52, + "ok": true + }, + { + "name": "verify.identity", + "ms": 57.352, + "ok": true + }, + { + "name": "verify.exec", + "ms": 962.242, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 43.388, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 110.092, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32156086aabe32ee82a8bdffc22246de08ae145569a5b8e97f04d230f12fd8139f", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 512.513, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 510, + "load1": 8.63232421875, + "grantedAt": "2026-10-31T20:26:20.767Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 22.651, + "execWallMs": 5412.488, + "commandMs": 5397.396, + "commitMs": 467.541, + "commitKind": "Committed", + "unmountMs": 40.425 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:28.085Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C06-2026-10-31T202631526Z-wuq7l220rh.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C06-2026-10-31T202631526Z-wuq7l220rh.json new file mode 100644 index 0000000000..1f451cc99e --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C06-2026-10-31T202631526Z-wuq7l220rh.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wuq7l220rh-", + "startedAt": "2026-10-31T20:26:31.526Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.21044921875, + "end": 8.79296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-w87T1o", + "initMs": 162, + "init": { + "kind": "Initialized", + "project": "c06", + "layer": "32a13a41bc95f384d8f25052b5645b9f1ea1c239ac913070f23a38541297eecdff", + "root": "9683333f82f5f799daa0e098d90537ddc7e4aadfab80026ac99aedd7b205df69", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-w87T1o/store/store.sqlite" + }, + "setupMs": 194, + "cellBudgetMs": 94622, + "teardownMs": 45 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-w87T1o/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-w87T1o/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-w87T1o/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuq7l220rh-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 305, + "load1": 9.21044921875, + "grantedAt": "2026-10-31T20:26:32.742Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 31.32, + "exec": { + "wallMs": 297.118, + "exitCode": 0, + "stdout": "LFS527 0 1793478392069462000 1793478392347615000\n", + "stderr": "", + "rc": 0, + "ms": 278.153 + }, + "unmountMs": 86.724, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 27.644, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-w87T1o/local/lfs527-wuq7l220rh-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 311.354, + "exitCode": 0, + "stdout": "LFS527 0 1793478392787212000 1793478393080128000\n", + "stderr": "", + "rc": 0, + "ms": 292.916 + }, + "commitMs": 599.206, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c9630c6a874f0d1cdf47b06977580fabeac0d80362c61c000a11a068984167c8", + "commit": { + "id": "12c9630c6a874f0d1cdf47b06977580fabeac0d80362c61c000a11a068984167c8", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32a13a41bc95f384d8f25052b5645b9f1ea1c239ac913070f23a38541297eecdff", + "root": "5a869ee8e81efaed08d240f4f208daf8985166e28450da01f23ca597a9d59993", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478393576, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 19.227, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.977, + "ok": true + }, + { + "name": "branch.fork", + "ms": 12.627, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 30.409, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 31.312, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 297.099, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 86.718, + "ok": true + }, + { + "name": "timed.mount", + "ms": 27.639, + "ok": true + }, + { + "name": "timed.exec", + "ms": 311.341, + "ok": true + }, + { + "name": "timed.commit", + "ms": 599.201, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 19.223, + "ok": true + }, + { + "name": "verify.mount", + "ms": 25.355, + "ok": true + }, + { + "name": "verify.identity", + "ms": 37.512, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2808.312, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.679, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 65.598, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32a13a41bc95f384d8f25052b5645b9f1ea1c239ac913070f23a38541297eecdff", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 308.333, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 305, + "load1": 9.21044921875, + "grantedAt": "2026-10-31T20:26:32.742Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 27.644, + "execWallMs": 311.354, + "commandMs": 292.916, + "commitMs": 599.206, + "commitKind": "Committed", + "unmountMs": 19.227 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:36.708Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C07-2026-10-31T202640107Z-wuqe7f214l.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C07-2026-10-31T202640107Z-wuqe7f214l.json new file mode 100644 index 0000000000..dfae6441ce --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C07-2026-10-31T202640107Z-wuqe7f214l.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wuqe7f214l-", + "startedAt": "2026-10-31T20:26:40.107Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.44970703125, + "end": 10.0625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-5hhAmZ", + "initMs": 28, + "init": { + "kind": "Initialized", + "project": "c07", + "layer": "326d465eac836e6c73d6a67b77c46b90ecc6ea0eb7207d313960d7b5bc1be2b706", + "root": "ddd5e2be80847a698abf8c7f89733ad53dcd09471c85fba7969fb3a7dcf90a7f", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-5hhAmZ/store/store.sqlite" + }, + "setupMs": 41, + "cellBudgetMs": 94908, + "teardownMs": 39 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-5hhAmZ/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-5hhAmZ/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-5hhAmZ/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqe7f214l-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.44970703125, + "grantedAt": "2026-10-31T20:26:40.805Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 28.717, + "exec": { + "wallMs": 453.77, + "exitCode": 0, + "stdout": "LFS527 0 1793478400328534000 1793478400762933000\n", + "stderr": "", + "rc": 0, + "ms": 434.399 + }, + "unmountMs": 37.912, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 28.875, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-5hhAmZ/local/lfs527-wuqe7f214l-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 499.172, + "exitCode": 0, + "stdout": "LFS527 0 1793478400850127000 1793478401331511000\n", + "stderr": "", + "rc": 0, + "ms": 481.384 + }, + "commitMs": 1430.523, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ad77be5f3a5c3383a4e0d4800fed10accef535925107a97d966686b79e0e780f", + "commit": { + "id": "12ad77be5f3a5c3383a4e0d4800fed10accef535925107a97d966686b79e0e780f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "326d465eac836e6c73d6a67b77c46b90ecc6ea0eb7207d313960d7b5bc1be2b706", + "root": "9aea9599c0121df8daaf85ebecbb8c9b64f5fa8303ba9481fadd1fca025c34fb", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478402596, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 28.404, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.982, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.579, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.783, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 28.711, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 453.748, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 37.907, + "ok": true + }, + { + "name": "timed.mount", + "ms": 28.871, + "ok": true + }, + { + "name": "timed.exec", + "ms": 499.158, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1430.518, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 28.399, + "ok": true + }, + { + "name": "verify.mount", + "ms": 21.165, + "ok": true + }, + { + "name": "verify.identity", + "ms": 39.271, + "ok": true + }, + { + "name": "verify.exec", + "ms": 5691.368, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 29.117, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 52.945, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "326d465eac836e6c73d6a67b77c46b90ecc6ea0eb7207d313960d7b5bc1be2b706", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.396, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.44970703125, + "grantedAt": "2026-10-31T20:26:40.805Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 28.875, + "execWallMs": 499.172, + "commandMs": 481.384, + "commitMs": 1430.523, + "commitKind": "Committed", + "unmountMs": 28.404 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:48.665Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C08-2026-10-31T202652433Z-wuqnpt21j5.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C08-2026-10-31T202652433Z-wuqnpt21j5.json new file mode 100644 index 0000000000..8448df2ad9 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C08-2026-10-31T202652433Z-wuqnpt21j5.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wuqnpt21j5-", + "startedAt": "2026-10-31T20:26:52.433Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0625, + "end": 10.13720703125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-veJMDh", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c08", + "layer": "3243b3586d117d052bb44c5c8c98ae637d182a33ed0481af666bc5ef8548ab119b", + "root": "dd8d4175aacc88d6995cd4f9d2deb399879d272dff29580a72fdd1968e9487b2", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-veJMDh/store/store.sqlite" + }, + "setupMs": 46, + "cellBudgetMs": 94845, + "teardownMs": 42 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-veJMDh/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-veJMDh/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-veJMDh/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqnpt21j5-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0625, + "grantedAt": "2026-10-31T20:26:53.040Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 30.241, + "exec": { + "wallMs": 250.659, + "exitCode": 0, + "stdout": "LFS527 0 1793478412773498000 1793478413006939000\n", + "stderr": "", + "rc": 0, + "ms": 233.441 + }, + "unmountMs": 29.726, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 22.866, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-veJMDh/local/lfs527-wuqnpt21j5-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 242.109, + "exitCode": 0, + "stdout": "LFS527 0 1793478413079359000 1793478413303639000\n", + "stderr": "", + "rc": 0, + "ms": 224.28 + }, + "commitMs": 432.662, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1249ff943010d6bb8cd8fd69dd8123ad972726ccff641453370434269487506016", + "commit": { + "id": "1249ff943010d6bb8cd8fd69dd8123ad972726ccff641453370434269487506016", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3243b3586d117d052bb44c5c8c98ae637d182a33ed0481af666bc5ef8548ab119b", + "root": "ba2bb01268270c425d98acfa18d5b1057be5771110d3d20843a1c12e2b750bf6", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478413663, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 24.043, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 56.984, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.785, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 26.022, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 30.233, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 250.641, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 29.721, + "ok": true + }, + { + "name": "timed.mount", + "ms": 22.861, + "ok": true + }, + { + "name": "timed.exec", + "ms": 242.098, + "ok": true + }, + { + "name": "timed.commit", + "ms": 432.655, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 24.037, + "ok": true + }, + { + "name": "verify.mount", + "ms": 28.997, + "ok": true + }, + { + "name": "verify.identity", + "ms": 56.72, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2869.644, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 20.71, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 51.988, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3243b3586d117d052bb44c5c8c98ae637d182a33ed0481af666bc5ef8548ab119b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.097, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0625, + "grantedAt": "2026-10-31T20:26:53.040Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 22.866, + "execWallMs": 242.109, + "commandMs": 224.28, + "commitMs": 432.662, + "commitKind": "Committed", + "unmountMs": 24.043 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:56.838Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C09-2026-10-31T202700053Z-wuqtlh21qi.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C09-2026-10-31T202700053Z-wuqtlh21qi.json new file mode 100644 index 0000000000..56e59d035b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C09-2026-10-31T202700053Z-wuqtlh21qi.json @@ -0,0 +1,351 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wuqtlh21qi-", + "startedAt": "2026-10-31T20:27:00.053Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0458984375, + "end": 9.8818359375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-adgpHv", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "c09", + "layer": "3255ee1dbdaf3843bf9a5c2af59a4c81c4b3100a80a90b47026db0162752253ff7", + "root": "2d65195e0a480eb2d76f3afb9f185a80bfcbb375566da903a0d441f35d1343e6", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-adgpHv/store/store.sqlite" + }, + "setupMs": 32, + "cellBudgetMs": 94923, + "teardownMs": 46 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-adgpHv/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-adgpHv/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-adgpHv/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqtlh21qi-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:01.405Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 196.124, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a50346f1bb89cb59a81c66ebd22d539cc7c16c9b7a0c5016b9f35ac719066717", + "commit": { + "id": "12a50346f1bb89cb59a81c66ebd22d539cc7c16c9b7a0c5016b9f35ac719066717", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3255ee1dbdaf3843bf9a5c2af59a4c81c4b3100a80a90b47026db0162752253ff7", + "root": "3ca3661630f4e07c5e3de0ab48fa88f34b38328941932b5acb85e61c96608bdf", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478421181, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 25.169, + "exec": { + "wallMs": 71.709, + "exitCode": 0, + "stdout": "LFS527 0 1793478421328381000 1793478421382709000\n", + "stderr": "", + "rc": 0, + "ms": 54.328 + }, + "unmountMs": 18.401, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 25.4, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-adgpHv/local/lfs527-wuqtlh21qi-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 61.142, + "exitCode": 0, + "stdout": "LFS527 0 1793478421446400000 1793478421490420000\n", + "stderr": "", + "rc": 0, + "ms": 44.02 + }, + "commitMs": 124.278, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12a50346f1bb89cb59a81c66ebd22d539cc7c16c9b7a0c5016b9f35ac719066717", + "root": "3ca3661630f4e07c5e3de0ab48fa88f34b38328941932b5acb85e61c96608bdf", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 27.76, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.627, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.681, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 17.283, + "ok": true + }, + { + "name": "setup.mount", + "ms": 26.228, + "ok": true + }, + { + "name": "setup.exec", + "ms": 196.105, + "ok": true + }, + { + "name": "setup.commit", + "ms": 825.61, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 26.919, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 25.164, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 71.695, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 18.393, + "ok": true + }, + { + "name": "timed.mount", + "ms": 25.396, + "ok": true + }, + { + "name": "timed.exec", + "ms": 61.13, + "ok": true + }, + { + "name": "timed.commit", + "ms": 124.273, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 27.755, + "ok": true + }, + { + "name": "verify.mount", + "ms": 26.42, + "ok": true + }, + { + "name": "verify.identity", + "ms": 134.925, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2911.817, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.162, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 67.308, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3255ee1dbdaf3843bf9a5c2af59a4c81c4b3100a80a90b47026db0162752253ff7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.282, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0458984375, + "grantedAt": "2026-10-31T20:27:01.405Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 25.4, + "execWallMs": 61.142, + "commandMs": 44.02, + "commitMs": 124.278, + "commitKind": "UpToDate", + "unmountMs": 27.76 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:04.868Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C10-2026-10-31T202708094Z-wuqzsu2248.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C10-2026-10-31T202708094Z-wuqzsu2248.json new file mode 100644 index 0000000000..63d2049be0 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C10-2026-10-31T202708094Z-wuqzsu2248.json @@ -0,0 +1,370 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wuqzsu2248-", + "startedAt": "2026-10-31T20:27:08.094Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.8818359375, + "end": 10.7900390625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-EqXBSO", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c10", + "layer": "32fa468120b7db5463cf81bce0c196178954081e9115559e38e5636bbbaf64728b", + "root": "96d9201a86a68a64276583383b33c25dc9f28f4ad564358c95dfe427b0d32ab3", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-EqXBSO/store/store.sqlite" + }, + "setupMs": 29, + "cellBudgetMs": 94744, + "teardownMs": 38 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-EqXBSO/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-EqXBSO/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-EqXBSO/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqzsu2248-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 711, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:10.399Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 305.177, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "122782b5835f7294ff8fefa5b4f975415efd76d0f0d3a17c318e433b91363a17aa", + "commit": { + "id": "122782b5835f7294ff8fefa5b4f975415efd76d0f0d3a17c318e433b91363a17aa", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32fa468120b7db5463cf81bce0c196178954081e9115559e38e5636bbbaf64728b", + "root": "464938841710aae8899e848758df909f893a57dc0db1b4f5422e17c1cc0bf855", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478429190, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 22.098, + "exec": { + "wallMs": 255.581, + "exitCode": 0, + "stdout": "LFS527 0 1793478429328427000 1793478429566814000\n", + "stderr": "", + "rc": 0, + "ms": 238.387 + }, + "unmountMs": 118.865, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 25.223, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-EqXBSO/local/lfs527-wuqzsu2248-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 249.006, + "exitCode": 0, + "stdout": "LFS527 0 1793478430438125000 1793478430672628000\n", + "stderr": "", + "rc": 0, + "ms": 234.503 + }, + "commitMs": 218.122, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "121bfd3eb4809aafc576d2e657811cfc306e99fb8936836d7a0a0c00d96811244f", + "commit": { + "id": "121bfd3eb4809aafc576d2e657811cfc306e99fb8936836d7a0a0c00d96811244f", + "branch": null, + "parent": "122782b5835f7294ff8fefa5b4f975415efd76d0f0d3a17c318e433b91363a17aa", + "secondParent": null, + "base": "32fa468120b7db5463cf81bce0c196178954081e9115559e38e5636bbbaf64728b", + "root": "1542ebd184c638ef8f58d51551a23733ab4db811cafe633f3a6f787075b47cfe", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478430821, + "logical": 134217728, + "newCanonical": 487, + "newStored": 295, + "newMetadata": 295, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 23.636, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.441, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.585, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.052, + "ok": true + }, + { + "name": "setup.mount", + "ms": 27.624, + "ok": true + }, + { + "name": "setup.exec", + "ms": 305.16, + "ok": true + }, + { + "name": "setup.commit", + "ms": 501.87, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 22.546, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 22.093, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 255.568, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 118.855, + "ok": true + }, + { + "name": "timed.mount", + "ms": 25.215, + "ok": true + }, + { + "name": "timed.exec", + "ms": 248.996, + "ok": true + }, + { + "name": "timed.commit", + "ms": 218.117, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 23.631, + "ok": true + }, + { + "name": "verify.mount", + "ms": 25.14, + "ok": true + }, + { + "name": "verify.identity", + "ms": 43.425, + "ok": true + }, + { + "name": "verify.exec", + "ms": 5623.464, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.377, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 50.557, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32fa468120b7db5463cf81bce0c196178954081e9115559e38e5636bbbaf64728b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 712.354, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 711, + "load1": 10.77197265625, + "grantedAt": "2026-10-31T20:27:10.399Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 25.223, + "execWallMs": 249.006, + "commandMs": 234.503, + "commitMs": 218.122, + "commitKind": "Committed", + "unmountMs": 23.636 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:16.727Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C11-2026-10-31T202719807Z-wur8u722e6.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C11-2026-10-31T202719807Z-wur8u722e6.json new file mode 100644 index 0000000000..55656062a0 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C11-2026-10-31T202719807Z-wur8u722e6.json @@ -0,0 +1,351 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wur8u722e6-", + "startedAt": "2026-10-31T20:27:19.807Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.966796875, + "end": 10.56884765625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-3bONlD", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c11", + "layer": "32b232028d118f1c2500b99bc862d978fbf78d69230cb1a1c070e407d644772146", + "root": "246da6ea899691e6d5d29379297a475ce16ccc04b2163f8fdafd033167bd1c40", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-3bONlD/store/store.sqlite" + }, + "setupMs": 34, + "cellBudgetMs": 94845, + "teardownMs": 37 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-3bONlD/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-3bONlD/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-3bONlD/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wur8u722e6-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 5, + "load1": 10.966796875, + "grantedAt": "2026-10-31T20:27:21.380Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 236.462, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1231dd3b0671986f2df55399cfa985952afa5518e0aeddf1beb5e251900f01ae61", + "commit": { + "id": "1231dd3b0671986f2df55399cfa985952afa5518e0aeddf1beb5e251900f01ae61", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b232028d118f1c2500b99bc862d978fbf78d69230cb1a1c070e407d644772146", + "root": "d98e3e9cb753eaba8334c0adac2ab0212df5ddae0e192e6c81df134483c4c408", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478441000, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 747, + "newMetadata": 671, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 23.6, + "exec": { + "wallMs": 193.803, + "exitCode": 0, + "stdout": "LFS527 0 1793478441179676000 1793478441337076000\n", + "stderr": "", + "rc": 0, + "ms": 157.4 + }, + "unmountMs": 34.606, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 23.091, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-3bONlD/local/lfs527-wur8u722e6-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 233.23, + "exitCode": 0, + "stdout": "LFS527 0 1793478441419838000 1793478441636431000\n", + "stderr": "", + "rc": 0, + "ms": 216.593 + }, + "commitMs": 686.34, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1231dd3b0671986f2df55399cfa985952afa5518e0aeddf1beb5e251900f01ae61", + "root": "d98e3e9cb753eaba8334c0adac2ab0212df5ddae0e192e6c81df134483c4c408", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 27.121, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 17.945, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.039, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 27.386, + "ok": true + }, + { + "name": "setup.mount", + "ms": 26.424, + "ok": true + }, + { + "name": "setup.exec", + "ms": 236.443, + "ok": true + }, + { + "name": "setup.commit", + "ms": 752.832, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 41.35, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 23.595, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 193.79, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 34.596, + "ok": true + }, + { + "name": "timed.mount", + "ms": 23.085, + "ok": true + }, + { + "name": "timed.exec", + "ms": 233.219, + "ok": true + }, + { + "name": "timed.commit", + "ms": 686.333, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 27.117, + "ok": true + }, + { + "name": "verify.mount", + "ms": 40.331, + "ok": true + }, + { + "name": "verify.identity", + "ms": 44.566, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2954.691, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.508, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 48.665, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b232028d118f1c2500b99bc862d978fbf78d69230cb1a1c070e407d644772146", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 7.921, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 5, + "load1": 10.966796875, + "grantedAt": "2026-10-31T20:27:21.380Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 23.091, + "execWallMs": 233.23, + "commandMs": 216.593, + "commitMs": 686.34, + "commitKind": "UpToDate", + "unmountMs": 27.121 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:25.509Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C12-2026-10-31T202729034Z-wurfyi22ka.json b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C12-2026-10-31T202729034Z-wurfyi22ka.json new file mode 100644 index 0000000000..b3ed30bed2 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/macos-native-C12-2026-10-31T202729034Z-wurfyi22ka.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wurfyi22ka-", + "startedAt": "2026-10-31T20:27:29.034Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.12255859375, + "end": 10.12255859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-hsmXsu", + "initMs": 27, + "init": { + "kind": "Initialized", + "project": "c12", + "layer": "320a0bc5851660fa867607380cf37af7f04eede9b208fd0ee863a317309ca6915b", + "root": "7869dc16ea128d3beda7648e4eabd35458ca7a7c3e793d11852000e0d52acdd1", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-hsmXsu/store/store.sqlite" + }, + "setupMs": 41, + "cellBudgetMs": 94910, + "teardownMs": 35 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-hsmXsu/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-hsmXsu/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-hsmXsu/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wurfyi22ka-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 815, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:30.808Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 28.347, + "exec": { + "wallMs": 712.183, + "exitCode": 0, + "stdout": "LFS527 0 1793478449269902000 1793478449964117000\n", + "stderr": "", + "rc": 0, + "ms": 694.215 + }, + "unmountMs": 26.096, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 24.998, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-hsmXsu/local/lfs527-wurfyi22ka-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 438.434, + "exitCode": 0, + "stdout": "LFS527 0 1793478450848685000 1793478451271568000\n", + "stderr": "", + "rc": 0, + "ms": 422.883 + }, + "commitMs": 231.24, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1290fc5c68905f168bf70ad36df80c900f1c8ef87f512f59bfd132f3c6c9c3cb9f", + "commit": { + "id": "1290fc5c68905f168bf70ad36df80c900f1c8ef87f512f59bfd132f3c6c9c3cb9f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320a0bc5851660fa867607380cf37af7f04eede9b208fd0ee863a317309ca6915b", + "root": "82ccdc5bcc866f8bba2a9b00731d4db8a3eb5b7e90ec492c955265e8ca510e34", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478451497, + "logical": 38445, + "newCanonical": 82440, + "newStored": 27853, + "newMetadata": 6534, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 17.138, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.197, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.45, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 21.669, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 28.341, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 712.161, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 26.091, + "ok": true + }, + { + "name": "timed.mount", + "ms": 24.993, + "ok": true + }, + { + "name": "timed.exec", + "ms": 438.422, + "ok": true + }, + { + "name": "timed.commit", + "ms": 231.235, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 17.131, + "ok": true + }, + { + "name": "verify.mount", + "ms": 25.257, + "ok": true + }, + { + "name": "verify.identity", + "ms": 120.67, + "ok": true + }, + { + "name": "verify.exec", + "ms": 131.437, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 15.986, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 51.137, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320a0bc5851660fa867607380cf37af7f04eede9b208fd0ee863a317309ca6915b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 817.428, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 815, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:30.808Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 24.998, + "execWallMs": 438.434, + "commandMs": 422.883, + "commitMs": 231.24, + "commitKind": "Committed", + "unmountMs": 17.138 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:31.916Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/refusals-macos-namespaces-2026-10-31T202524406Z-wuorsm1ssi.json b/core/docs/issues/527/receipts/50e2c2bc87/refusals-macos-namespaces-2026-10-31T202524406Z-wuorsm1ssi.json new file mode 100644 index 0000000000..a41acb9bf5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/refusals-macos-namespaces-2026-10-31T202524406Z-wuorsm1ssi.json @@ -0,0 +1,105 @@ +{ + "receipt": "lfs527-cell/1", + "row": "refusals", + "cell": "macos-namespaces", + "verdict": "PASS", + "cause": "expected Unsupported; sandbox.create answered Unsupported", + "project": "refusal", + "prefix": "lfs527-wuorsm1ssi-", + "startedAt": "2026-10-31T20:25:24.406Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.23291015625, + "end": 3.23291015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-F5UCY3", + "initMs": 18, + "init": { + "kind": "Initialized", + "project": "refusal", + "layer": "32113818729745a9d9329e2af601acdec6253483f97a769ab6e15434d0934df718", + "root": "9ea1d286110b86c98262d8861a82e2c309c1a1f0482d052d8cdf4addbc5e23cc", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-F5UCY3/store/store.sqlite" + }, + "teardownMs": 40 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-b89e2f87374d437099c84dad25fa790b", + "id": "build-macos-b89e2f87374d437099c84dad25fa790b", + "platform": "macos", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "61f1485cb9fa906c282598b903635f782f3fa6c1c7fa2b2d1faaf136d23bd9e2", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 206, + "mismatched": [], + "imageArchives": [] + }, + "observed": { + "namespaces, no image settings": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "InvalidInput", + "message": "InvalidInput: deploy.image is not configured (LAYERFS_IMAGE)", + "detail": null + } + }, + "namespaces, with LAYERFS_IMAGE and LAYERFS_IMAGE_ARCHIVE": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) namespaces is Linux only; use native", + "detail": null + } + } + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:24.512Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C03-2026-10-31T203127016Z-vwuwjl44p2.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C03-2026-10-31T203127016Z-vwuwjl44p2.json new file mode 100644 index 0000000000..86a5681151 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C03-2026-10-31T203127016Z-vwuwjl44p2.json @@ -0,0 +1,128 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C03", + "verdict": "FAIL", + "cause": "setup: only 6931 ms left for the cell after setup", + "project": "c03", + "prefix": "lfs527-vwuwjl44p2-", + "startedAt": "2026-10-31T20:31:27.016Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.220703125, + "end": 5.853515625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Y0U5Uz", + "initMs": 77921, + "volume": "lfs527-vwuwjl44p2-c03-store-mvwuwjlw", + "vm": { + "project": "c03", + "name": "lfs527-vwuwjl44p2-c03-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-Y0U5Uz/home", + "store": "lfs527-vwuwjl44p2-c03-vm-store", + "created": "2026-10-31T20:31:27Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 49327 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 78043, + "teardownMs": 492 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-vwuwjl44p2-c03-store-mvwuwjlw" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-vwuwjl44p2-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuwjl44p2-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Y0U5Uz/home/worker/c03.json" + }, + "error": { + "code": null, + "message": "only 6931 ms left for the cell after setup", + "detail": null + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:32:45.578Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C04-2026-10-31T203255077Z-vwuyfj95oy.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C04-2026-10-31T203255077Z-vwuyfj95oy.json new file mode 100644 index 0000000000..0ff78f9237 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C04-2026-10-31T203255077Z-vwuyfj95oy.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-vwuyfj95oy-", + "startedAt": "2026-10-31T20:32:55.077Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.3818359375, + "end": 8.2421875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-NgNJph", + "initMs": 69166, + "volume": "lfs527-vwuyfj95oy-c04-store-mvwuyfjt", + "vm": { + "project": "c04", + "name": "lfs527-vwuyfj95oy-c04-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-NgNJph/home", + "store": "lfs527-vwuyfj95oy-c04-vm-store", + "created": "2026-10-31T20:32:55Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 49455 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 69306, + "cellBudgetMs": 15665, + "teardownMs": 4115 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-vwuyfj95oy-c04-store-mvwuyfjt" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-vwuyfj95oy-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuyfj95oy-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-NgNJph/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.2822265625, + "grantedAt": "2026-10-31T20:34:08.197Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 11.744, + "exec": { + "wallMs": 562.34, + "exitCode": 0, + "stdout": "LFS527 0 1793478847670617462 1793478848174553379\n", + "stderr": "", + "rc": 0, + "ms": 503.935917 + }, + "unmountMs": 4.796, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.733, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwuyfj95oy-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 466.815, + "exitCode": 0, + "stdout": "LFS527 0 1793478848230630921 1793478848667053504\n", + "stderr": "", + "rc": 0, + "ms": 436.422583 + }, + "commitMs": 78.031, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "126f7d7717e79d2fbc1a1fc7aa44d9395677553a37b7e81d49ce32ecab2c2e4dd5", + "commit": { + "id": "126f7d7717e79d2fbc1a1fc7aa44d9395677553a37b7e81d49ce32ecab2c2e4dd5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3220ec0971a2ec53e3a1268519dd95675461968adef3fa116710b37c84dc04b38d", + "root": "2e9a26803b96418c9169ed70fb93aa426e35ae4db932ef636bcb4bb87a5a85aa", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478848736, + "logical": 0, + "newCanonical": 109367, + "newStored": 8271, + "newMetadata": 8271, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.714, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.466, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.994, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3118.324, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.739, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 562.337, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.793, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.731, + "ok": true + }, + { + "name": "timed.exec", + "ms": 466.81, + "ok": true + }, + { + "name": "timed.commit", + "ms": 78.027, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.709, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.994, + "ok": true + }, + { + "name": "verify.identity", + "ms": 28.803, + "ok": true + }, + { + "name": "verify.exec", + "ms": 145.762, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.763, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1602.427, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3220ec0971a2ec53e3a1268519dd95675461968adef3fa116710b37c84dc04b38d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 16.983, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.2822265625, + "grantedAt": "2026-10-31T20:34:08.197Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.733, + "execWallMs": 466.815, + "commandMs": 436.422583, + "commitMs": 78.031, + "commitKind": "Committed", + "unmountMs": 5.714 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:34:14.659Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C05-2026-10-31T203418501Z-vwv07wl6aq.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C05-2026-10-31T203418501Z-vwv07wl6aq.json new file mode 100644 index 0000000000..3488efec57 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C05-2026-10-31T203418501Z-vwv07wl6aq.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-vwv07wl6aq-", + "startedAt": "2026-10-31T20:34:18.501Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.2421875, + "end": 5.126953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-nphlDD", + "initMs": 69614, + "volume": "lfs527-vwv07wl6aq-c05-store-mvwv07xd", + "vm": { + "project": "c05", + "name": "lfs527-vwv07wl6aq-c05-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-nphlDD/home", + "store": "lfs527-vwv07wl6aq-c05-vm-store", + "created": "2026-10-31T20:34:18Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 49568 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 69750, + "cellBudgetMs": 15220, + "teardownMs": 703 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-vwv07wl6aq-c05-store-mvwv07xd" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-vwv07wl6aq-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwv07wl6aq-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-nphlDD/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 5.3994140625, + "grantedAt": "2026-10-31T20:35:32.287Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 18.205, + "exec": { + "wallMs": 378.557, + "exitCode": 0, + "stdout": "LFS527 0 1793478931901424962 1793478932263693712\n", + "stderr": "", + "rc": 0, + "ms": 362.26875 + }, + "unmountMs": 4.935, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.032, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwv07wl6aq-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 393.115, + "exitCode": 0, + "stdout": "LFS527 0 1793478932302945421 1793478932678900254\n", + "stderr": "", + "rc": 0, + "ms": 375.954833 + }, + "commitMs": 80.728, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12debf3dad6c9a6ac5ed1491c435e8b62257f01f6eba3394a6c3eeb30709c40690", + "commit": { + "id": "12debf3dad6c9a6ac5ed1491c435e8b62257f01f6eba3394a6c3eeb30709c40690", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d2590d07782bed35e543c0a81262e14c47cc42bb56379f7b804c3539904916da", + "root": "92fd60c9da35ccc5313e1c834f14fd587e012c0495f7ee28c73691ba900d4071", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478932753, + "logical": 0, + "newCanonical": 109367, + "newStored": 8242, + "newMetadata": 8242, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.221, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.845, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.636, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3523.356, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 18.2, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 378.55, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.924, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.031, + "ok": true + }, + { + "name": "timed.exec", + "ms": 393.11, + "ok": true + }, + { + "name": "timed.commit", + "ms": 80.722, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.217, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.694, + "ok": true + }, + { + "name": "verify.identity", + "ms": 30.103, + "ok": true + }, + { + "name": "verify.exec", + "ms": 122.219, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.29, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1572.643, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d2590d07782bed35e543c0a81262e14c47cc42bb56379f7b804c3539904916da", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 8.158, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 5.3994140625, + "grantedAt": "2026-10-31T20:35:32.287Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.032, + "execWallMs": 393.115, + "commandMs": 375.954833, + "commitMs": 80.728, + "commitKind": "Committed", + "unmountMs": 4.221 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:35:35.217Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C06-2026-10-31T203539562Z-vwv1yga6lb.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C06-2026-10-31T203539562Z-vwv1yga6lb.json new file mode 100644 index 0000000000..8fe46e2c9c --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C06-2026-10-31T203539562Z-vwv1yga6lb.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-vwv1yga6lb-", + "startedAt": "2026-10-31T20:35:39.562Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.87646484375, + "end": 3.87109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-34NeWb", + "initMs": 69084, + "volume": "lfs527-vwv1yga6lb-c06-store-mvwv1yh0", + "vm": { + "project": "c06", + "name": "lfs527-vwv1yga6lb-c06-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-34NeWb/home", + "store": "lfs527-vwv1yga6lb-c06-vm-store", + "created": "2026-10-31T20:35:39Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 49632 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 69223, + "cellBudgetMs": 15744, + "teardownMs": 698 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-vwv1yga6lb-c06-store-mvwv1yh0" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-vwv1yga6lb-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwv1yga6lb-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-34NeWb/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.8603515625, + "grantedAt": "2026-10-31T20:36:52.153Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.478, + "exec": { + "wallMs": 187.491, + "exitCode": 0, + "stdout": "LFS527 0 1793479011967997920 1793479012134726379\n", + "stderr": "", + "rc": 0, + "ms": 166.728459 + }, + "unmountMs": 14.839, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 29.716, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwv1yga6lb-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 145.633, + "exitCode": 0, + "stdout": "LFS527 0 1793479012197367045 1793479012328397504\n", + "stderr": "", + "rc": 0, + "ms": 131.030459 + }, + "commitMs": 218.767, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ed20b3bed0bfe8b5c6a615b3d07c2876559bb8c90a89f33a875ca37d7442f8e5", + "commit": { + "id": "12ed20b3bed0bfe8b5c6a615b3d07c2876559bb8c90a89f33a875ca37d7442f8e5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d3efe832d34d6402cf7647a40ebda7c26a6381e285d84240f5b4fd4c1431bed7", + "root": "60cfd437a3ff38750db6ef34cb543f9c46da8f5a119b4e8a6c52f3116e1bbb52", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793479012514, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.027, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.919, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.205, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3058.843, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.472, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 187.487, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.836, + "ok": true + }, + { + "name": "timed.mount", + "ms": 29.713, + "ok": true + }, + { + "name": "timed.exec", + "ms": 145.63, + "ok": true + }, + { + "name": "timed.commit", + "ms": 218.764, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.025, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.203, + "ok": true + }, + { + "name": "verify.identity", + "ms": 24.839, + "ok": true + }, + { + "name": "verify.exec", + "ms": 138.68, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.005, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1031.918, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d3efe832d34d6402cf7647a40ebda7c26a6381e285d84240f5b4fd4c1431bed7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 3.258, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.8603515625, + "grantedAt": "2026-10-31T20:36:52.153Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 29.716, + "execWallMs": 145.633, + "commandMs": 131.030459, + "commitMs": 218.767, + "commitKind": "Committed", + "unmountMs": 8.027 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:36:54.465Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C07-2026-10-31T203658654Z-vwv3nha7l4.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C07-2026-10-31T203658654Z-vwv3nha7l4.json new file mode 100644 index 0000000000..e561532abc --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C07-2026-10-31T203658654Z-vwv3nha7l4.json @@ -0,0 +1,128 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C07", + "verdict": "FAIL", + "cause": "setup: only 14887 ms left for the cell after setup", + "project": "c07", + "prefix": "lfs527-vwv3nha7l4-", + "startedAt": "2026-10-31T20:36:58.654Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.87109375, + "end": 4.96142578125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-dqG2Cv", + "initMs": 69962, + "volume": "lfs527-vwv3nha7l4-c07-store-mvwv3ni2", + "vm": { + "project": "c07", + "name": "lfs527-vwv3nha7l4-c07-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-dqG2Cv/home", + "store": "lfs527-vwv3nha7l4-c07-vm-store", + "created": "2026-10-31T20:36:58Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 49751 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 70087, + "teardownMs": 3505 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-vwv3nha7l4-c07-store-mvwv3ni2" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-vwv3nha7l4-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwv3nha7l4-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-dqG2Cv/home/worker/c07.json" + }, + "error": { + "code": null, + "message": "only 14887 ms left for the cell after setup", + "detail": null + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:38:12.273Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C08-2026-10-31T203816034Z-vwv5b6q938.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C08-2026-10-31T203816034Z-vwv5b6q938.json new file mode 100644 index 0000000000..a71026c2b2 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C08-2026-10-31T203816034Z-vwv5b6q938.json @@ -0,0 +1,128 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C08", + "verdict": "FAIL", + "cause": "setup: only 13038 ms left for the cell after setup", + "project": "c08", + "prefix": "lfs527-vwv5b6q938-", + "startedAt": "2026-10-31T20:38:16.034Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.80419921875, + "end": 6.7880859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-exZsKB", + "initMs": 71764, + "volume": "lfs527-vwv5b6q938-c08-store-mvwv5b7f", + "vm": { + "project": "c08", + "name": "lfs527-vwv5b6q938-c08-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-exZsKB/home", + "store": "lfs527-vwv5b6q938-c08-vm-store", + "created": "2026-10-31T20:38:16Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 49867 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 71928, + "teardownMs": 466 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-vwv5b6q938-c08-store-mvwv5b7f" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-vwv5b6q938-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwv5b6q938-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-exZsKB/home/worker/c08.json" + }, + "error": { + "code": null, + "message": "only 13038 ms left for the cell after setup", + "detail": null + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:39:28.462Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C09-2026-10-31T203933153Z-vwv6yoxazr.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C09-2026-10-31T203933153Z-vwv6yoxazr.json new file mode 100644 index 0000000000..3ee737c833 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C09-2026-10-31T203933153Z-vwv6yoxazr.json @@ -0,0 +1,378 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-vwv6yoxazr-", + "startedAt": "2026-10-31T20:39:33.153Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.96484375, + "end": 4.51123046875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-MWZi0A", + "initMs": 69629, + "volume": "lfs527-vwv6yoxazr-c09-store-mvwv6ype", + "vm": { + "project": "c09", + "name": "lfs527-vwv6yoxazr-c09-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-MWZi0A/home", + "store": "lfs527-vwv6yoxazr-c09-vm-store", + "created": "2026-10-31T20:39:33Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 50113 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 69738, + "cellBudgetMs": 15242, + "teardownMs": 927 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-vwv6yoxazr-c09-store-mvwv6ype" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-vwv6yoxazr-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwv6yoxazr-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-MWZi0A/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 4.46875, + "grantedAt": "2026-10-31T20:40:48.004Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 148.823, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12505fac56d012b37839119d73e5a5fd96dbd63ca90fd55ac61a67227eab2c27c9", + "commit": { + "id": "12505fac56d012b37839119d73e5a5fd96dbd63ca90fd55ac61a67227eab2c27c9", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3284a49aeefadb699d69fe72af52fed44e15943e33bfbbf436521fa302ecc8f7af", + "root": "de9f846369e8758c61449f0a19815f13200f5195e84cc552751766cd3c806b10", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793479247891, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.397, + "exec": { + "wallMs": 54.039, + "exitCode": 0, + "stdout": "LFS527 0 1793479247957522921 1793479247992614463\n", + "stderr": "", + "rc": 0, + "ms": 35.091542 + }, + "unmountMs": 5.533, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.599, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwv6yoxazr-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 54.263, + "exitCode": 0, + "stdout": "LFS527 0 1793479248028734463 1793479248061178380\n", + "stderr": "", + "rc": 0, + "ms": 32.443917 + }, + "commitMs": 1.241, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12505fac56d012b37839119d73e5a5fd96dbd63ca90fd55ac61a67227eab2c27c9", + "root": "de9f846369e8758c61449f0a19815f13200f5195e84cc552751766cd3c806b10", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.453, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.4, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.723, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4590.309, + "ok": true + }, + { + "name": "setup.mount", + "ms": 8.611, + "ok": true + }, + { + "name": "setup.exec", + "ms": 148.819, + "ok": true + }, + { + "name": "setup.commit", + "ms": 222.628, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 9.36, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.394, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 54.035, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.531, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.596, + "ok": true + }, + { + "name": "timed.exec", + "ms": 54.261, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.239, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.451, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.246, + "ok": true + }, + { + "name": "verify.identity", + "ms": 18.97, + "ok": true + }, + { + "name": "verify.exec", + "ms": 124.11, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.176, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1301.759, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3284a49aeefadb699d69fe72af52fed44e15943e33bfbbf436521fa302ecc8f7af", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.856, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 4.46875, + "grantedAt": "2026-10-31T20:40:48.004Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.599, + "execWallMs": 54.263, + "commandMs": 32.443917, + "commitMs": 1.241, + "commitKind": "UpToDate", + "unmountMs": 5.453 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:40:50.456Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C10-2026-10-31T204054322Z-vwv8pbmbli.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C10-2026-10-31T204054322Z-vwv8pbmbli.json new file mode 100644 index 0000000000..199fe5e934 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C10-2026-10-31T204054322Z-vwv8pbmbli.json @@ -0,0 +1,397 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-vwv8pbmbli-", + "startedAt": "2026-10-31T20:40:54.322Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.22998046875, + "end": 4.86572265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-83mZIc", + "initMs": 67024, + "volume": "lfs527-vwv8pbmbli-c10-store-mvwv8pcc", + "vm": { + "project": "c10", + "name": "lfs527-vwv8pbmbli-c10-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-83mZIc/home", + "store": "lfs527-vwv8pbmbli-c10-vm-store", + "created": "2026-10-31T20:40:54Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 50253 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 67184, + "cellBudgetMs": 17788, + "teardownMs": 1066 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-vwv8pbmbli-c10-store-mvwv8pcc" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-vwv8pbmbli-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwv8pbmbli-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-83mZIc/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 4.86572265625, + "grantedAt": "2026-10-31T20:42:05.962Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 115.728, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a3de7b91533d9dbedd185b29ddbe8294fa0a45d761333a8d029ffda161463ffb", + "commit": { + "id": "12a3de7b91533d9dbedd185b29ddbe8294fa0a45d761333a8d029ffda161463ffb", + "branch": null, + "parent": null, + "secondParent": null, + "base": "327c0a51501bb983988d5dbdb272a7ff77013c140910181a127acbd5a0d6856398", + "root": "68b6cb0afeaf9ea86770b9bca6c098201ba368c4868a8dbdd2213f83eb75f793", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793479325230, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 38.708, + "exec": { + "wallMs": 601.849, + "exitCode": 0, + "stdout": "LFS527 0 1793479325337377544 1793479325919562920\n", + "stderr": "", + "rc": 0, + "ms": 582.185376 + }, + "unmountMs": 26.503, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 22.033, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwv8pbmbli-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 189.991, + "exitCode": 0, + "stdout": "LFS527 0 1793479326009079545 1793479326178616336\n", + "stderr": "", + "rc": 0, + "ms": 169.536791 + }, + "commitMs": 34.227, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d8c1a591851e1d07b1b7dedf1922d1e3d50999df36232324682cffc71ebff116", + "commit": { + "id": "12d8c1a591851e1d07b1b7dedf1922d1e3d50999df36232324682cffc71ebff116", + "branch": null, + "parent": "12a3de7b91533d9dbedd185b29ddbe8294fa0a45d761333a8d029ffda161463ffb", + "secondParent": null, + "base": "327c0a51501bb983988d5dbdb272a7ff77013c140910181a127acbd5a0d6856398", + "root": "7827cbb1b1752089c1d173322ba54acdd28b07752a903133fab0f43a191f9d26", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793479326181, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.076, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 20.097, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.206, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3306.607, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.656, + "ok": true + }, + { + "name": "setup.exec", + "ms": 115.717, + "ok": true + }, + { + "name": "setup.commit", + "ms": 231.784, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 13.99, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 38.706, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 601.846, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 26.499, + "ok": true + }, + { + "name": "timed.mount", + "ms": 22.03, + "ok": true + }, + { + "name": "timed.exec", + "ms": 189.989, + "ok": true + }, + { + "name": "timed.commit", + "ms": 34.224, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.073, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.547, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.71, + "ok": true + }, + { + "name": "verify.exec", + "ms": 241.588, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.009, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1302.173, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "327c0a51501bb983988d5dbdb272a7ff77013c140910181a127acbd5a0d6856398", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 17.196, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 4.86572265625, + "grantedAt": "2026-10-31T20:42:05.962Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 22.033, + "execWallMs": 189.991, + "commandMs": 169.536791, + "commitMs": 34.227, + "commitKind": "Committed", + "unmountMs": 9.076 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:42:08.878Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C11-2026-10-31T204212774Z-vwvaduucx0.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C11-2026-10-31T204212774Z-vwvaduucx0.json new file mode 100644 index 0000000000..4c530f818a --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C11-2026-10-31T204212774Z-vwvaduucx0.json @@ -0,0 +1,378 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-vwvaduucx0-", + "startedAt": "2026-10-31T20:42:12.774Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 5.83740234375, + "end": 4.84912109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-1kod33", + "initMs": 69661, + "volume": "lfs527-vwvaduucx0-c11-store-mvwvadvn", + "vm": { + "project": "c11", + "name": "lfs527-vwvaduucx0-c11-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-1kod33/home", + "store": "lfs527-vwvaduucx0-c11-vm-store", + "created": "2026-10-31T20:42:12Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 50523 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 69778, + "cellBudgetMs": 15200, + "teardownMs": 863 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-vwvaduucx0-c11-store-mvwvadvn" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-vwvaduucx0-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwvaduucx0-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-1kod33/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 4.84912109375, + "grantedAt": "2026-10-31T20:43:26.430Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 144.856, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12eec9942f5095452442d2d7083aef64a2c38eeeff770b771c62e8a8671f765c16", + "commit": { + "id": "12eec9942f5095452442d2d7083aef64a2c38eeeff770b771c62e8a8671f765c16", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ce8f5f64d24a3e673cbb306e434e4696e085d66e644c95cae4c782ce8f7d465e", + "root": "b3dd4036d7aca0971e2f219231b6142c8bb0aa531a21ff7c87d20cb4e174dec9", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793479406286, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.737, + "exec": { + "wallMs": 86.442, + "exitCode": 0, + "stdout": "LFS527 0 1793479406356552754 1793479406419128963\n", + "stderr": "", + "rc": 0, + "ms": 62.576209 + }, + "unmountMs": 8.391, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.915, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwvaduucx0-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 100.056, + "exitCode": 0, + "stdout": "LFS527 0 1793479406460575546 1793479406536721254\n", + "stderr": "", + "rc": 0, + "ms": 76.145708 + }, + "commitMs": 104.442, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12eec9942f5095452442d2d7083aef64a2c38eeeff770b771c62e8a8671f765c16", + "root": "b3dd4036d7aca0971e2f219231b6142c8bb0aa531a21ff7c87d20cb4e174dec9", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.259, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.219, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.408, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3320.096, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.36, + "ok": true + }, + { + "name": "setup.exec", + "ms": 144.852, + "ok": true + }, + { + "name": "setup.commit", + "ms": 221.775, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 8.755, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.735, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 86.44, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.389, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.912, + "ok": true + }, + { + "name": "timed.exec", + "ms": 100.054, + "ok": true + }, + { + "name": "timed.commit", + "ms": 104.439, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.256, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.423, + "ok": true + }, + { + "name": "verify.identity", + "ms": 39.867, + "ok": true + }, + { + "name": "verify.exec", + "ms": 141.674, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.223, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1095.182, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ce8f5f64d24a3e673cbb306e434e4696e085d66e644c95cae4c782ce8f7d465e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.348, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 4.84912109375, + "grantedAt": "2026-10-31T20:43:26.430Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.915, + "execWallMs": 100.056, + "commandMs": 76.145708, + "commitMs": 104.442, + "commitKind": "UpToDate", + "unmountMs": 9.259 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:43:28.804Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C12-2026-10-31T204332939Z-vwvc3pndhf.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C12-2026-10-31T204332939Z-vwvc3pndhf.json new file mode 100644 index 0000000000..b9e0c98cab --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-apple-container-C12-2026-10-31T204332939Z-vwvc3pndhf.json @@ -0,0 +1,128 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C12", + "verdict": "FAIL", + "cause": "setup: only 14884 ms left for the cell after setup", + "project": "c12", + "prefix": "lfs527-vwvc3pndhf-", + "startedAt": "2026-10-31T20:43:32.939Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.62060546875, + "end": 5.36279296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Wpfc4K", + "initMs": 69947, + "volume": "lfs527-vwvc3pndhf-c12-store-mvwvc3q9", + "vm": { + "project": "c12", + "name": "lfs527-vwvc3pndhf-c12-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-Wpfc4K/home", + "store": "lfs527-vwvc3pndhf-c12-vm-store", + "created": "2026-10-31T20:43:33Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 50685 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 70091, + "teardownMs": 435 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-vwvc3pndhf-c12-store-mvwvc3q9" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-vwvc3pndhf-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwvc3pndhf-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Wpfc4K/home/worker/c12.json" + }, + "error": { + "code": null, + "message": "only 14884 ms left for the cell after setup", + "detail": null + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:44:43.490Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C01-2026-10-31T202528263Z-wuourr1t1d.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C01-2026-10-31T202528263Z-wuourr1t1d.json new file mode 100644 index 0000000000..5409ba26f3 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C01-2026-10-31T202528263Z-wuourr1t1d.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wuourr1t1d-", + "startedAt": "2026-10-31T20:25:28.263Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.23291015625, + "end": 6.1962890625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-3DZsT6", + "initMs": 8616, + "volume": "lfs527-wuourr1t1d-c01-store-mvwuousi", + "vm": { + "project": "c01", + "name": "lfs527-wuourr1t1d-c01-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-3DZsT6/home", + "store": "lfs527-wuourr1t1d-c01-vm-store", + "created": "2026-10-31T20:25:28.430178+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64320 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8772, + "cellBudgetMs": 76189, + "teardownMs": 478 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wuourr1t1d-c01-store-mvwuousi" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wuourr1t1d-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuourr1t1d-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-3DZsT6/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 8713, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:50.739Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.065, + "exec": { + "wallMs": 353.72, + "exitCode": 0, + "stdout": "LFS527 0 1793478341666742131 1793478342015835339\n", + "stderr": "", + "rc": 0, + "ms": 349.093208 + }, + "unmountMs": 8.412, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 14.728, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuourr1t1d-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 369.954, + "exitCode": 0, + "stdout": "LFS527 0 1793478350826214135 1793478351127012094\n", + "stderr": "", + "rc": 0, + "ms": 300.797959 + }, + "commitMs": 104.323, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1275e1ddcb83f78fc6615623b2ca818da2381a5133ff46497ee1a0bc906b1cb594", + "commit": { + "id": "1275e1ddcb83f78fc6615623b2ca818da2381a5133ff46497ee1a0bc906b1cb594", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ccca27ebbba710806afc3320170265635c983de529229ec42141a3945589c8ed", + "root": "0997d04e7ce2ab25d80375520f22bb3bf2539500a12fc5c8f339b3fe89ff43dd", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478351223, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.298, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.558, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.354, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4504.295, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.062, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 353.715, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.409, + "ok": true + }, + { + "name": "timed.mount", + "ms": 14.725, + "ok": true + }, + { + "name": "timed.exec", + "ms": 369.951, + "ok": true + }, + { + "name": "timed.commit", + "ms": 104.32, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.296, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.07, + "ok": true + }, + { + "name": "verify.identity", + "ms": 52.085, + "ok": true + }, + { + "name": "verify.exec", + "ms": 399.654, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 20.219, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 486.922, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ccca27ebbba710806afc3320170265635c983de529229ec42141a3945589c8ed", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 8717.643, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 8713, + "load1": 6.1962890625, + "grantedAt": "2026-10-31T20:25:50.739Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 14.728, + "execWallMs": 369.954, + "commandMs": 300.797959, + "commitMs": 104.323, + "commitKind": "Committed", + "unmountMs": 6.298 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:52.686Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C02-2026-10-31T202600876Z-wupjxn1vus.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C02-2026-10-31T202600876Z-wupjxn1vus.json new file mode 100644 index 0000000000..d90833e2be --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C02-2026-10-31T202600876Z-wupjxn1vus.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wupjxn1vus-", + "startedAt": "2026-10-31T20:26:00.876Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.95654296875, + "end": 8.25244140625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-wZvCKC", + "initMs": 9108, + "volume": "lfs527-wupjxn1vus-c02-store-mvwupjyh", + "vm": { + "project": "c02", + "name": "lfs527-wupjxn1vus-c02-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-wZvCKC/home", + "store": "lfs527-wupjxn1vus-c02-vm-store", + "created": "2026-10-31T20:26:01.050709+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64444 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9231, + "cellBudgetMs": 75741, + "teardownMs": 280 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wupjxn1vus-c02-store-mvwupjyh" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wupjxn1vus-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupjxn1vus-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-wZvCKC/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.25244140625, + "grantedAt": "2026-10-31T20:26:15.458Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.238, + "exec": { + "wallMs": 915.619, + "exitCode": 0, + "stdout": "LFS527 0 1793478374535674756 1793478375446009798\n", + "stderr": "", + "rc": 0, + "ms": 910.335042 + }, + "unmountMs": 9.4, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.409, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wupjxn1vus-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 960.883, + "exitCode": 0, + "stdout": "LFS527 0 1793478375508639715 1793478376423930840\n", + "stderr": "", + "rc": 0, + "ms": 915.291125 + }, + "commitMs": 96.279, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e0c866d3f23b52e130b22db33e024c785b6463799a0a9fe0c4ebcbd1b6c2bdef", + "commit": { + "id": "12e0c866d3f23b52e130b22db33e024c785b6463799a0a9fe0c4ebcbd1b6c2bdef", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32a4d9ddc0b74c788268a5ff7dd47208333f29ef078dc13950f726d503037a401c", + "root": "69777d928c7555fcf727844a77853aa1687018360446f96c42e5868d8d305c77", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478376511, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.019, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 3.968, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.033, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4316.459, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.234, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 915.614, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.398, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.407, + "ok": true + }, + { + "name": "timed.exec", + "ms": 960.879, + "ok": true + }, + { + "name": "timed.commit", + "ms": 96.275, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.015, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.837, + "ok": true + }, + { + "name": "verify.identity", + "ms": 57.545, + "ok": true + }, + { + "name": "verify.exec", + "ms": 564.555, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.197, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 318.189, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32a4d9ddc0b74c788268a5ff7dd47208333f29ef078dc13950f726d503037a401c", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.803, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.25244140625, + "grantedAt": "2026-10-31T20:26:15.458Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.409, + "execWallMs": 960.883, + "commandMs": 915.291125, + "commitMs": 96.279, + "commitKind": "Committed", + "unmountMs": 9.019 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:17.771Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C03-2026-10-31T202617983Z-wupx4v1ysg.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C03-2026-10-31T202617983Z-wupx4v1ysg.json new file mode 100644 index 0000000000..f7c79deb30 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C03-2026-10-31T202617983Z-wupx4v1ysg.json @@ -0,0 +1,317 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wupx4v1ysg-", + "startedAt": "2026-10-31T20:26:17.983Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.25244140625, + "end": 9.21044921875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-j0KFGU", + "initMs": 8926, + "volume": "lfs527-wupx4v1ysg-c03-store-mvwupx5l", + "vm": { + "project": "c03", + "name": "lfs527-wupx4v1ysg-c03-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-j0KFGU/home", + "store": "lfs527-wupx4v1ysg-c03-vm-store", + "created": "2026-10-31T20:26:18.150742+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64509 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9028, + "cellBudgetMs": 75930, + "teardownMs": 248 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wupx4v1ysg-c03-store-mvwupx5l" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wupx4v1ysg-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupx4v1ysg-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-j0KFGU/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.21044921875, + "grantedAt": "2026-10-31T20:26:32.163Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.414, + "exec": { + "wallMs": 467.277, + "exitCode": 0, + "stdout": "LFS527 0 1793478391688819631 1793478392151647548\n", + "stderr": "", + "rc": 0, + "ms": 462.827917 + }, + "unmountMs": 8.464, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.252, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wupx4v1ysg-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 509.86, + "exitCode": 0, + "stdout": "LFS527 0 1793478392221698131 1793478392678476381\n", + "stderr": "", + "rc": 0, + "ms": 456.77825 + }, + "commitMs": 9.104, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "cc965c074d87bc19d11a0520f4587cbce784f36d9223786283ef2121564494f6", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 11.845, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.69, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.377, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4454.879, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.411, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 467.271, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.461, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.249, + "ok": true + }, + { + "name": "timed.exec", + "ms": 509.857, + "ok": true + }, + { + "name": "timed.commit", + "ms": 9.1, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 11.842, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.947, + "ok": true + }, + { + "name": "verify.identity", + "ms": 69.511, + "ok": true + }, + { + "name": "verify.exec", + "ms": 4.646, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.228, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 536.587, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "329b33ec9dc7f91200634c9fcc96737637ad07d87c2e41ec5fff5d3c60c0ea36e8", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.779, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.21044921875, + "grantedAt": "2026-10-31T20:26:32.163Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.252, + "execWallMs": 509.86, + "commandMs": 456.77825, + "commitMs": 9.104, + "commitKind": "UpToDate", + "unmountMs": 11.845 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:33.575Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C04-2026-10-31T202633783Z-wuq9br20uo.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C04-2026-10-31T202633783Z-wuq9br20uo.json new file mode 100644 index 0000000000..b5e16e881d --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C04-2026-10-31T202633783Z-wuq9br20uo.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wuq9br20uo-", + "startedAt": "2026-10-31T20:26:33.783Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.79296875, + "end": 10.0625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-S0tZVg", + "initMs": 9206, + "volume": "lfs527-wuq9br20uo-c04-store-mvwuq9cg", + "vm": { + "project": "c04", + "name": "lfs527-wuq9br20uo-c04-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-S0tZVg/home", + "store": "lfs527-wuq9br20uo-c04-vm-store", + "created": "2026-10-31T20:26:33.946334+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64569 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9320, + "cellBudgetMs": 75650, + "teardownMs": 294 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wuq9br20uo-c04-store-mvwuq9cg" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wuq9br20uo-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuq9br20uo-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-S0tZVg/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0625, + "grantedAt": "2026-10-31T20:26:49.438Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.508, + "exec": { + "wallMs": 813.419, + "exitCode": 0, + "stdout": "LFS527 0 1793478408639147965 1793478409447363590\n", + "stderr": "", + "rc": 0, + "ms": 808.215625 + }, + "unmountMs": 8.916, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.551, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuq9br20uo-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 748.52, + "exitCode": 0, + "stdout": "LFS527 0 1793478409486869048 1793478410215249215\n", + "stderr": "", + "rc": 0, + "ms": 728.380167 + }, + "commitMs": 105.031, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a2f1a972b02c5427990618afb15834d16cceb5c95cdc51f07c98471638b99546", + "commit": { + "id": "12a2f1a972b02c5427990618afb15834d16cceb5c95cdc51f07c98471638b99546", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d6eb0c146d95ccbe0872944bae02a6d955d99af987507270505173a7568d91e9", + "root": "e9b2d95f8ece6795fa7ad15222d2982f6c89c4eb281e540b8b3821be299f3d3a", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478410312, + "logical": 0, + "newCanonical": 109367, + "newStored": 8264, + "newMetadata": 8264, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.236, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.663, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.462, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5405.354, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.504, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 813.414, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.913, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.549, + "ok": true + }, + { + "name": "timed.exec", + "ms": 748.516, + "ok": true + }, + { + "name": "timed.commit", + "ms": 105.028, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.234, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.739, + "ok": true + }, + { + "name": "verify.identity", + "ms": 38.884, + "ok": true + }, + { + "name": "verify.exec", + "ms": 328.616, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.143, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1133.348, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d6eb0c146d95ccbe0872944bae02a6d955d99af987507270505173a7568d91e9", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 3.974, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.0625, + "grantedAt": "2026-10-31T20:26:49.438Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.551, + "execWallMs": 748.52, + "commandMs": 728.380167, + "commitMs": 105.031, + "commitKind": "Committed", + "unmountMs": 6.236 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:52.113Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C05-2026-10-31T202652348Z-wuqnng21iv.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C05-2026-10-31T202652348Z-wuqnng21iv.json new file mode 100644 index 0000000000..a79d612700 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C05-2026-10-31T202652348Z-wuqnng21iv.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wuqnng21iv-", + "startedAt": "2026-10-31T20:26:52.348Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0625, + "end": 10.77197265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-UlDDyG", + "initMs": 8825, + "volume": "lfs527-wuqnng21iv-c05-store-mvwuqno7", + "vm": { + "project": "c05", + "name": "lfs527-wuqnng21iv-c05-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-UlDDyG/home", + "store": "lfs527-wuqnng21iv-c05-vm-store", + "created": "2026-10-31T20:26:52.525997+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64651 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8980, + "cellBudgetMs": 75991, + "teardownMs": 322 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wuqnng21iv-c05-store-mvwuqno7" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wuqnng21iv-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqnng21iv-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-UlDDyG/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.8818359375, + "grantedAt": "2026-10-31T20:27:06.338Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 10.051, + "exec": { + "wallMs": 740.352, + "exitCode": 0, + "stdout": "LFS527 0 1793478425598943547 1793478426334171798\n", + "stderr": "", + "rc": 0, + "ms": 735.228251 + }, + "unmountMs": 7.584, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.721, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuqnng21iv-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 927.974, + "exitCode": 0, + "stdout": "LFS527 0 1793478426425157423 1793478427280402173\n", + "stderr": "", + "rc": 0, + "ms": 855.24475 + }, + "commitMs": 108.827, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1218ce3ce602386382434314f77896f4ec70dfadccd4ad4665a797dc704b616253", + "commit": { + "id": "1218ce3ce602386382434314f77896f4ec70dfadccd4ad4665a797dc704b616253", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32be477e568eed400ee3d64e3f0cc7d50485cc26afff7bd6a16e8259feba20db32", + "root": "37f518a20ffa807e8718bf83bf313393963912571331fa51f1d74497308f6122", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478427381, + "logical": 0, + "newCanonical": 109367, + "newStored": 8270, + "newMetadata": 8270, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.82, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.455, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.195, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4152.814, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 10.047, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 740.346, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 7.581, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.718, + "ok": true + }, + { + "name": "timed.exec", + "ms": 927.971, + "ok": true + }, + { + "name": "timed.commit", + "ms": 108.824, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.817, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.555, + "ok": true + }, + { + "name": "verify.identity", + "ms": 53.892, + "ok": true + }, + { + "name": "verify.exec", + "ms": 365.306, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.037, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 883.635, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32be477e568eed400ee3d64e3f0cc7d50485cc26afff7bd6a16e8259feba20db32", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.511, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.8818359375, + "grantedAt": "2026-10-31T20:27:06.338Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.721, + "execWallMs": 927.974, + "commandMs": 855.24475, + "commitMs": 108.827, + "commitKind": "Committed", + "unmountMs": 8.82 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:09.036Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C06-2026-10-31T202714274Z-wur4ki228p.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C06-2026-10-31T202714274Z-wur4ki228p.json new file mode 100644 index 0000000000..081700b71a --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C06-2026-10-31T202714274Z-wur4ki228p.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wur4ki228p-", + "startedAt": "2026-10-31T20:27:14.274Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.7900390625, + "end": 10.12255859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-N2HllS", + "initMs": 11654, + "volume": "lfs527-wur4ki228p-c06-store-mvwur4la", + "vm": { + "project": "c06", + "name": "lfs527-wur4ki228p-c06-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-N2HllS/home", + "store": "lfs527-wur4ki228p-c06-vm-store", + "created": "2026-10-31T20:27:14.472178+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64752 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 11769, + "cellBudgetMs": 73201, + "teardownMs": 302 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wur4ki228p-c06-store-mvwur4la" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wur4ki228p-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wur4ki228p-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-N2HllS/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:30.290Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 11.358, + "exec": { + "wallMs": 166.514, + "exitCode": 0, + "stdout": "LFS527 0 1793478449806314423 1793478449967425507\n", + "stderr": "", + "rc": 0, + "ms": 161.111084 + }, + "unmountMs": 16.166, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.781, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wur4ki228p-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 160.483, + "exitCode": 0, + "stdout": "LFS527 0 1793478450322214340 1793478450457975965\n", + "stderr": "", + "rc": 0, + "ms": 135.761625 + }, + "commitMs": 301.371, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "121ce2e467890becaba21d3b456910b848b1d626820bbc61d53c71f48f52fa1bd2", + "commit": { + "id": "121ce2e467890becaba21d3b456910b848b1d626820bbc61d53c71f48f52fa1bd2", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32fcfc12cd6a78a478cd69690b9436af500374d9294887e0f010a9bf39b6ce697d", + "root": "40f55ac6f58a5254f36444e5535266783745df328aade4343f17c5c2ac599a4d", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478450714, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 11.538, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.119, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.07, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3652.024, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.35, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 166.508, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 16.163, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.778, + "ok": true + }, + { + "name": "timed.exec", + "ms": 160.48, + "ok": true + }, + { + "name": "timed.commit", + "ms": 301.368, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 11.535, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.206, + "ok": true + }, + { + "name": "verify.identity", + "ms": 53.433, + "ok": true + }, + { + "name": "verify.exec", + "ms": 267.529, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 17.168, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 605.292, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32fcfc12cd6a78a478cd69690b9436af500374d9294887e0f010a9bf39b6ce697d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 307.692, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10.12255859375, + "grantedAt": "2026-10-31T20:27:30.290Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.781, + "execWallMs": 160.483, + "commandMs": 135.761625, + "commitMs": 301.371, + "commitKind": "Committed", + "unmountMs": 11.538 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:32.024Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C07-2026-10-31T202735256Z-wurkrc22sx.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C07-2026-10-31T202735256Z-wurkrc22sx.json new file mode 100644 index 0000000000..17d2d9701b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C07-2026-10-31T202735256Z-wurkrc22sx.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wurkrc22sx-", + "startedAt": "2026-10-31T20:27:35.256Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0322265625, + "end": 9.51416015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-6dPZlj", + "initMs": 9013, + "volume": "lfs527-wurkrc22sx-c07-store-mvwurks3", + "vm": { + "project": "c07", + "name": "lfs527-wurkrc22sx-c07-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-6dPZlj/home", + "store": "lfs527-wurkrc22sx-c07-vm-store", + "created": "2026-10-31T20:27:35.420022+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64841 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9168, + "cellBudgetMs": 75804, + "teardownMs": 291 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wurkrc22sx-c07-store-mvwurks3" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wurkrc22sx-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wurkrc22sx-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-6dPZlj/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.55908203125, + "grantedAt": "2026-10-31T20:27:48.607Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.923, + "exec": { + "wallMs": 316.138, + "exitCode": 0, + "stdout": "LFS527 0 1793478468265511214 1793478468577026922\n", + "stderr": "", + "rc": 0, + "ms": 311.515708 + }, + "unmountMs": 27.583, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.215, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wurkrc22sx-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 376.99, + "exitCode": 0, + "stdout": "LFS527 0 1793478468672245464 1793478468990439423\n", + "stderr": "", + "rc": 0, + "ms": 318.193959 + }, + "commitMs": 600.66, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12fefd3d1f7f16dbad39e0701680d2fcf22090a660446f5405322ed45bb153b0bf", + "commit": { + "id": "12fefd3d1f7f16dbad39e0701680d2fcf22090a660446f5405322ed45bb153b0bf", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32f2939966110ddf70e3ad487a266baf65a8806ec4e5142bef1bc8c050acda4daa", + "root": "4ec06c001e03d1091814338a671f56ab6c79a9a7a2d27482950f666618ebc211", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478469501, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 14.787, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.002, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.296, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3731.761, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.919, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 316.133, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 27.579, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.212, + "ok": true + }, + { + "name": "timed.exec", + "ms": 376.987, + "ok": true + }, + { + "name": "timed.commit", + "ms": 600.657, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 14.784, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.937, + "ok": true + }, + { + "name": "verify.identity", + "ms": 44.911, + "ok": true + }, + { + "name": "verify.exec", + "ms": 528.754, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 17.846, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 672.904, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32f2939966110ddf70e3ad487a266baf65a8806ec4e5142bef1bc8c050acda4daa", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.994, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.55908203125, + "grantedAt": "2026-10-31T20:27:48.607Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.215, + "execWallMs": 376.99, + "commandMs": 318.193959, + "commitMs": 600.66, + "commitKind": "Committed", + "unmountMs": 14.787 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:51.170Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C08-2026-10-31T202754408Z-wurzjc231u.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C08-2026-10-31T202754408Z-wurzjc231u.json new file mode 100644 index 0000000000..efddab9e2b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C08-2026-10-31T202754408Z-wurzjc231u.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wurzjc231u-", + "startedAt": "2026-10-31T20:27:54.408Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.83203125, + "end": 8.40234375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-gBjaVq", + "initMs": 8325, + "volume": "lfs527-wurzjc231u-c08-store-mvwurzk3", + "vm": { + "project": "c08", + "name": "lfs527-wurzjc231u-c08-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-gBjaVq/home", + "store": "lfs527-wurzjc231u-c08-vm-store", + "created": "2026-10-31T20:27:54.574929+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64873 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8437, + "cellBudgetMs": 76533, + "teardownMs": 267 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wurzjc231u-c08-store-mvwurzk3" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wurzjc231u-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wurzjc231u-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-gBjaVq/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.40234375, + "grantedAt": "2026-10-31T20:28:06.709Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.735, + "exec": { + "wallMs": 219.07, + "exitCode": 0, + "stdout": "LFS527 0 1793478486525070005 1793478486686649380\n", + "stderr": "", + "rc": 0, + "ms": 161.579375 + }, + "unmountMs": 16.321, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.864, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wurzjc231u-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 198.557, + "exitCode": 0, + "stdout": "LFS527 0 1793478486762662755 1793478486914130797\n", + "stderr": "", + "rc": 0, + "ms": 151.468042 + }, + "commitMs": 304.779, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "128a40b3898921bd0b592a2c3293ceae509ebb55a632e4a6b8b3ec89bcd384757b", + "commit": { + "id": "128a40b3898921bd0b592a2c3293ceae509ebb55a632e4a6b8b3ec89bcd384757b", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322d6add9dd30041544536d205b7bb118b2e48ce689f48feac5fe8d5d0fcf09830", + "root": "907d8c2d0796360e0b186216b2ac3206cbe5a7a5d942629a78c3d4f7f7bf5450", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478487175, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.364, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.166, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.419, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3522.001, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.732, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 219.064, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 16.317, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.862, + "ok": true + }, + { + "name": "timed.exec", + "ms": 198.554, + "ok": true + }, + { + "name": "timed.commit", + "ms": 304.776, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.361, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.091, + "ok": true + }, + { + "name": "verify.identity", + "ms": 62.994, + "ok": true + }, + { + "name": "verify.exec", + "ms": 220.396, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.233, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 567.555, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322d6add9dd30041544536d205b7bb118b2e48ce689f48feac5fe8d5d0fcf09830", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 5.263, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.40234375, + "grantedAt": "2026-10-31T20:28:06.709Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.864, + "execWallMs": 198.557, + "commandMs": 151.468042, + "commitMs": 304.779, + "commitKind": "Committed", + "unmountMs": 12.364 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:08.369Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C09-2026-10-31T202811985Z-wusd3l23ae.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C09-2026-10-31T202811985Z-wusd3l23ae.json new file mode 100644 index 0000000000..6fb0cc511b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C09-2026-10-31T202811985Z-wusd3l23ae.json @@ -0,0 +1,378 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wusd3l23ae-", + "startedAt": "2026-10-31T20:28:11.985Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.2099609375, + "end": 7.92236328125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-tdD6vr", + "initMs": 8023, + "volume": "lfs527-wusd3l23ae-c09-store-mvwusd4d", + "vm": { + "project": "c09", + "name": "lfs527-wusd3l23ae-c09-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-tdD6vr/home", + "store": "lfs527-wusd3l23ae-c09-vm-store", + "created": "2026-10-31T20:28:12.147539+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64902 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8155, + "cellBudgetMs": 76816, + "teardownMs": 360 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wusd3l23ae-c09-store-mvwusd4d" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wusd3l23ae-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wusd3l23ae-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-tdD6vr/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 305, + "load1": 7.92236328125, + "grantedAt": "2026-10-31T20:28:24.732Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 138.87, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "126adc386c3c59895453b04140ffd1ef7c17d55150b060ddd767dc0190ffd1899f", + "commit": { + "id": "126adc386c3c59895453b04140ffd1ef7c17d55150b060ddd767dc0190ffd1899f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b9001b04efd23ca0c495c010510bcf1b335fd83bd958e62b54d64f68cc556d67", + "root": "85bbd46c423bade9f3fe1ab248660ac0aff862fa0dda8f3b4be43e83b78287fd", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478504254, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 749, + "newMetadata": 673, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.984, + "exec": { + "wallMs": 102.151, + "exitCode": 0, + "stdout": "LFS527 0 1793478504369267964 1793478504416969922\n", + "stderr": "", + "rc": 0, + "ms": 47.701958 + }, + "unmountMs": 8.526, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.571, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wusd3l23ae-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 94.894, + "exitCode": 0, + "stdout": "LFS527 0 1793478504787509672 1793478504836182672\n", + "stderr": "", + "rc": 0, + "ms": 48.673 + }, + "commitMs": 1.494, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "126adc386c3c59895453b04140ffd1ef7c17d55150b060ddd767dc0190ffd1899f", + "root": "85bbd46c423bade9f3fe1ab248660ac0aff862fa0dda8f3b4be43e83b78287fd", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.513, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.241, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.168, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3618.632, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.319, + "ok": true + }, + { + "name": "setup.exec", + "ms": 138.866, + "ok": true + }, + { + "name": "setup.commit", + "ms": 305.043, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.516, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.982, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 102.148, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.523, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.568, + "ok": true + }, + { + "name": "timed.exec", + "ms": 94.891, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.491, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.509, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.439, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.948, + "ok": true + }, + { + "name": "verify.exec", + "ms": 308.831, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.208, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 500.815, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b9001b04efd23ca0c495c010510bcf1b335fd83bd958e62b54d64f68cc556d67", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 306.714, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 305, + "load1": 7.92236328125, + "grantedAt": "2026-10-31T20:28:24.732Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.571, + "execWallMs": 94.894, + "commandMs": 48.673, + "commitMs": 1.494, + "commitKind": "UpToDate", + "unmountMs": 9.513 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:26.067Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C10-2026-10-31T202829295Z-wusqgf23mz.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C10-2026-10-31T202829295Z-wusqgf23mz.json new file mode 100644 index 0000000000..a88e351ff4 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C10-2026-10-31T202829295Z-wusqgf23mz.json @@ -0,0 +1,397 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wusqgf23mz-", + "startedAt": "2026-10-31T20:28:29.295Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.84814453125, + "end": 7.11181640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-u8LSVt", + "initMs": 9213, + "volume": "lfs527-wusqgf23mz-c10-store-mvwusqh9", + "vm": { + "project": "c10", + "name": "lfs527-wusqgf23mz-c10-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-u8LSVt/home", + "store": "lfs527-wusqgf23mz-c10-vm-store", + "created": "2026-10-31T20:28:29.463934+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64955 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9349, + "cellBudgetMs": 75616, + "teardownMs": 275 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wusqgf23mz-c10-store-mvwusqh9" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wusqgf23mz-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wusqgf23mz-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-u8LSVt/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.47021484375, + "grantedAt": "2026-10-31T20:28:43.274Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 131.4, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "128b6107fcf7496d6ed16077db41d3e774a7722c0c76e8a1c519ef8a29f73bdb9d", + "commit": { + "id": "128b6107fcf7496d6ed16077db41d3e774a7722c0c76e8a1c519ef8a29f73bdb9d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3216b09b2418dc7707d4bf6b93de451e360d5e0e090f57018f66d0a19144d378a5", + "root": "00100374c5e780fc27b24cdb5516f242ee4ef9f89e584384c9d6d82e75ce8645", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478522993, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.733, + "exec": { + "wallMs": 205.754, + "exitCode": 0, + "stdout": "LFS527 0 1793478523082378423 1793478523258377506\n", + "stderr": "", + "rc": 0, + "ms": 175.999083 + }, + "unmountMs": 13.708, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.441, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wusqgf23mz-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 217.311, + "exitCode": 0, + "stdout": "LFS527 0 1793478523319984339 1793478523498294048\n", + "stderr": "", + "rc": 0, + "ms": 178.309709 + }, + "commitMs": 47.383, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12348a7c53584f6a0e93e04c372d7ff3bb683e966783e8bf031081cc59ee0e2996", + "commit": { + "id": "12348a7c53584f6a0e93e04c372d7ff3bb683e966783e8bf031081cc59ee0e2996", + "branch": null, + "parent": "128b6107fcf7496d6ed16077db41d3e774a7722c0c76e8a1c519ef8a29f73bdb9d", + "secondParent": null, + "base": "3216b09b2418dc7707d4bf6b93de451e360d5e0e090f57018f66d0a19144d378a5", + "root": "4e04ee7ad816df793be741a1b20302fe7d2ebacb583ea78c41021d5c0c0e8009", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478523501, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.773, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.388, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.723, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3828.348, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.792, + "ok": true + }, + { + "name": "setup.exec", + "ms": 131.394, + "ok": true + }, + { + "name": "setup.commit", + "ms": 298.382, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.764, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.731, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 205.75, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 13.705, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.438, + "ok": true + }, + { + "name": "timed.exec", + "ms": 217.307, + "ok": true + }, + { + "name": "timed.commit", + "ms": 47.379, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.771, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.423, + "ok": true + }, + { + "name": "verify.identity", + "ms": 51.138, + "ok": true + }, + { + "name": "verify.exec", + "ms": 512.542, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.824, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 358.829, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3216b09b2418dc7707d4bf6b93de451e360d5e0e090f57018f66d0a19144d378a5", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.312, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.47021484375, + "grantedAt": "2026-10-31T20:28:43.274Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.441, + "execWallMs": 217.311, + "commandMs": 178.309709, + "commitMs": 47.383, + "commitKind": "Committed", + "unmountMs": 13.773 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:44.778Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C11-2026-10-31T202848073Z-wut4y123vr.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C11-2026-10-31T202848073Z-wut4y123vr.json new file mode 100644 index 0000000000..e0fa66cbca --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C11-2026-10-31T202848073Z-wut4y123vr.json @@ -0,0 +1,378 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wut4y123vr-", + "startedAt": "2026-10-31T20:28:48.073Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.11181640625, + "end": 8.29931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-26q4Sn", + "initMs": 8911, + "volume": "lfs527-wut4y123vr-c11-store-mvwut4yt", + "vm": { + "project": "c11", + "name": "lfs527-wut4y123vr-c11-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-26q4Sn/home", + "store": "lfs527-wut4y123vr-c11-vm-store", + "created": "2026-10-31T20:28:48.245613+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64987 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9021, + "cellBudgetMs": 75948, + "teardownMs": 299 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wut4y123vr-c11-store-mvwut4yt" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-wut4y123vr-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wut4y123vr-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-26q4Sn/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.29931640625, + "grantedAt": "2026-10-31T20:29:03.745Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 189.927, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e0b57375a9e8938563c2f6fff69f4ebdaacb7e718dd4045339682b623815a06f", + "commit": { + "id": "12e0b57375a9e8938563c2f6fff69f4ebdaacb7e718dd4045339682b623815a06f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32628ee2d94d8e91f5543a04179f2e7b4d12691d274f535c6d02a04e74a6e6e270", + "root": "66fbccf887a1617de89be1a71f2a07564db0a129c7257c71183aec28f958ff1c", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478543568, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 5.763, + "exec": { + "wallMs": 163.69, + "exitCode": 0, + "stdout": "LFS527 0 1793478543684497382 1793478543792726132\n", + "stderr": "", + "rc": 0, + "ms": 108.22875 + }, + "unmountMs": 12.482, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.017, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wut4y123vr-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 159.729, + "exitCode": 0, + "stdout": "LFS527 0 1793478543864797923 1793478543975823799\n", + "stderr": "", + "rc": 0, + "ms": 111.025876 + }, + "commitMs": 134.754, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12e0b57375a9e8938563c2f6fff69f4ebdaacb7e718dd4045339682b623815a06f", + "root": "66fbccf887a1617de89be1a71f2a07564db0a129c7257c71183aec28f958ff1c", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.108, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.253, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.179, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5862.375, + "ok": true + }, + { + "name": "setup.mount", + "ms": 10.562, + "ok": true + }, + { + "name": "setup.exec", + "ms": 189.922, + "ok": true + }, + { + "name": "setup.commit", + "ms": 299.398, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.921, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.76, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 163.686, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.479, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.015, + "ok": true + }, + { + "name": "timed.exec", + "ms": 159.726, + "ok": true + }, + { + "name": "timed.commit", + "ms": 134.751, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.105, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.64, + "ok": true + }, + { + "name": "verify.identity", + "ms": 40.165, + "ok": true + }, + { + "name": "verify.exec", + "ms": 336.48, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 11.47, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 613.145, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32628ee2d94d8e91f5543a04179f2e7b4d12691d274f535c6d02a04e74a6e6e270", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.533, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.29931640625, + "grantedAt": "2026-10-31T20:29:03.745Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.017, + "execWallMs": 159.729, + "commandMs": 111.025876, + "commitMs": 134.754, + "commitKind": "UpToDate", + "unmountMs": 13.108 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:29:05.372Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C12-2026-10-31T202908736Z-wutkw0248s.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C12-2026-10-31T202908736Z-wutkw0248s.json new file mode 100644 index 0000000000..1c29a1ff2d --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-microsandbox-C12-2026-10-31T202908736Z-wutkw0248s.json @@ -0,0 +1,336 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wutkw0248s-", + "startedAt": "2026-10-31T20:29:08.736Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.11474609375, + "end": 8.126953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-UYvleP", + "initMs": 8684, + "volume": "lfs527-wutkw0248s-c12-store-mvwutkwq", + "vm": { + "project": "c12", + "name": "lfs527-wutkw0248s-c12-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-UYvleP/home", + "store": "lfs527-wutkw0248s-c12-vm-store", + "created": "2026-10-31T20:29:08.900992+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 65037 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8791, + "cellBudgetMs": 76181, + "teardownMs": 287 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wutkw0248s-c12-store-mvwutkwq" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-wutkw0248s-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wutkw0248s-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-UYvleP/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.22509765625, + "grantedAt": "2026-10-31T20:29:22.593Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.43, + "exec": { + "wallMs": 296.534, + "exitCode": 0, + "stdout": "LFS527 0 1793478562337195547 1793478562582184756\n", + "stderr": "", + "rc": 0, + "ms": 244.989209 + }, + "unmountMs": 8.5, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.957, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wutkw0248s-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 231.842, + "exitCode": 0, + "stdout": "LFS527 0 1793478562636300589 1793478562830445714\n", + "stderr": "", + "rc": 0, + "ms": 194.145125 + }, + "commitMs": 49.735, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1237ee127ce97d84c384443baf2f8a238880a9e9e1d05b770e922938da163f35fc", + "commit": { + "id": "1237ee127ce97d84c384443baf2f8a238880a9e9e1d05b770e922938da163f35fc", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32374b27231c871e934f42c1869f55bcef282ef58897ef4968d3416a59da3ee417", + "root": "9c46e840a3867fa29897ab49639c16c27efd4b2db88410f977795402f24de615", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478562876, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26838, + "newMetadata": 6523, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.814, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.671, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.176, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4659.591, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.426, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 296.53, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.497, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.955, + "ok": true + }, + { + "name": "timed.exec", + "ms": 231.838, + "ok": true + }, + { + "name": "timed.commit", + "ms": 49.732, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.809, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.803, + "ok": true + }, + { + "name": "verify.identity", + "ms": 58.012, + "ok": true + }, + { + "name": "verify.exec", + "ms": 81.55, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.746, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1085.192, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32374b27231c871e934f42c1869f55bcef282ef58897ef4968d3416a59da3ee417", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.584, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.22509765625, + "grantedAt": "2026-10-31T20:29:22.593Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.957, + "execWallMs": 231.842, + "commandMs": 194.145125, + "commitMs": 49.735, + "commitKind": "Committed", + "unmountMs": 15.814 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:29:24.427Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C01-2026-10-31T202533534Z-wuoyu61tgt.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C01-2026-10-31T202533534Z-wuoyu61tgt.json new file mode 100644 index 0000000000..73a083a776 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C01-2026-10-31T202533534Z-wuoyu61tgt.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wuoyu61tgt-", + "startedAt": "2026-10-31T20:25:33.534Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.0146484375, + "end": 7.30126953125 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wuoyu61tgt", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-3AiAL6", + "initMs": 16248, + "volume": "lfs527-wuoyu61tgt-c01-store-mvwuoyva", + "vm": { + "project": "c01", + "name": "lfs527-wuoyu61tgt-c01-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-3AiAL6/home", + "store": "lfs527-wuoyu61tgt-c01-vm-store", + "created": "2026-10-31T20:25:33.582Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64338 + }, + "disk": { + "free": 35350052864 + } + }, + "setupMs": 16382, + "cellBudgetMs": 68562, + "teardownMs": 882 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wuoyu61tgt-c01-store-mvwuoyva" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wuoyu61tgt-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuoyu61tgt-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-3AiAL6/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1321, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:55.853Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.135, + "exec": { + "wallMs": 513.748, + "exitCode": 0, + "stdout": "LFS527 0 1793478354138532427 1793478354621161266\n", + "stderr": "", + "rc": 0, + "ms": 482.628839 + }, + "unmountMs": 3.582, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.817, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuoyu61tgt-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 636.105, + "exitCode": 0, + "stdout": "LFS527 0 1793478355967212106 1793478356588084462\n", + "stderr": "", + "rc": 0, + "ms": 620.872356 + }, + "commitMs": 100.329, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12428bfd59366f6426e494b8b0b1ab530e3b31cc8c2dd220983203677e860d624f", + "commit": { + "id": "12428bfd59366f6426e494b8b0b1ab530e3b31cc8c2dd220983203677e860d624f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32bf9b45022569fc51619a5421c1b62e53be8c6387e29543953ce0215c951137d3", + "root": "569dba02178001ba883e27087230e16515eab0e458006a406f95ff164bc126c4", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793478356680, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.772, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.357, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.82, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3966.237, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.13, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 513.742, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.58, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.815, + "ok": true + }, + { + "name": "timed.exec", + "ms": 636.102, + "ok": true + }, + { + "name": "timed.commit", + "ms": 100.326, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.769, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.591, + "ok": true + }, + { + "name": "verify.identity", + "ms": 20.089, + "ok": true + }, + { + "name": "verify.exec", + "ms": 756.095, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.456, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 210.861, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32bf9b45022569fc51619a5421c1b62e53be8c6387e29543953ce0215c951137d3", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1322.015, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1321, + "load1": 7.30126953125, + "grantedAt": "2026-10-31T20:25:55.853Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.817, + "execWallMs": 636.105, + "commandMs": 620.872356, + "commitMs": 100.329, + "commitKind": "Committed", + "unmountMs": 3.772 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:25:58.481Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C02-2026-10-31T202601803Z-wupknf1w3r.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C02-2026-10-31T202601803Z-wupknf1w3r.json new file mode 100644 index 0000000000..3b10a500b5 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C02-2026-10-31T202601803Z-wupknf1w3r.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wupknf1w3r-", + "startedAt": "2026-10-31T20:26:01.803Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.95654296875, + "end": 9.21044921875 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wupknf1w3r", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-q41t4H", + "initMs": 17356, + "volume": "lfs527-wupknf1w3r-c02-store-mvwupko7", + "vm": { + "project": "c02", + "name": "lfs527-wupknf1w3r-c02-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-q41t4H/home", + "store": "lfs527-wupknf1w3r-c02-vm-store", + "created": "2026-10-31T20:26:01.839Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64445 + }, + "disk": { + "free": 35350007808 + } + }, + "setupMs": 17504, + "cellBudgetMs": 67467, + "teardownMs": 1575 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wupknf1w3r-c02-store-mvwupko7" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wupknf1w3r-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wupknf1w3r-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-q41t4H/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2033, + "load1": 9.14208984375, + "grantedAt": "2026-10-31T20:26:26.732Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.864, + "exec": { + "wallMs": 1563.867, + "exitCode": 0, + "stdout": "LFS527 0 1793478383244564986 1793478384787152179\n", + "stderr": "", + "rc": 0, + "ms": 1542.587193 + }, + "unmountMs": 4.597, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.437, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wupknf1w3r-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1541.383, + "exitCode": 0, + "stdout": "LFS527 0 1793478386850756766 1793478388373037604\n", + "stderr": "", + "rc": 0, + "ms": 1522.280838 + }, + "commitMs": 146.201, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12f4be3fda43da9489fd9a124f9d724e3bd83b607d42a3b4fedd71c748f47748da", + "commit": { + "id": "12f4be3fda43da9489fd9a124f9d724e3bd83b607d42a3b4fedd71c748f47748da", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32745a8db591771e21a6ea96e90d80cdfb63b36bc119e90d09d60d94085a035302", + "root": "56819c0660143f2ffad2a591641248c41dc05f753a853153a4552461a6af600c", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793478388511, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.183, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.871, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.055, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3722.594, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.86, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1563.861, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.594, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.434, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1541.38, + "ok": true + }, + { + "name": "timed.commit", + "ms": 146.198, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.179, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.07, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.789, + "ok": true + }, + { + "name": "verify.exec", + "ms": 813.119, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.75, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 474.341, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32745a8db591771e21a6ea96e90d80cdfb63b36bc119e90d09d60d94085a035302", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2033.644, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2033, + "load1": 9.14208984375, + "grantedAt": "2026-10-31T20:26:26.732Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.437, + "execWallMs": 1541.383, + "commandMs": 1522.280838, + "commitMs": 146.201, + "commitKind": "Committed", + "unmountMs": 9.183 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:31.349Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C03-2026-10-31T202634951Z-wuqa8720wl.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C03-2026-10-31T202634951Z-wuqa8720wl.json new file mode 100644 index 0000000000..cb7fa50710 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C03-2026-10-31T202634951Z-wuqa8720wl.json @@ -0,0 +1,327 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wuqa8720wl-", + "startedAt": "2026-10-31T20:26:34.951Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.79296875, + "end": 10.0458984375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wuqa8720wl", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-JQ5O9g", + "initMs": 16626, + "volume": "lfs527-wuqa8720wl-c03-store-mvwuqa8y", + "vm": { + "project": "c03", + "name": "lfs527-wuqa8720wl-c03-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-JQ5O9g/home", + "store": "lfs527-wuqa8720wl-c03-vm-store", + "created": "2026-10-31T20:26:34.985Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64570 + }, + "disk": { + "free": 35349962752 + } + }, + "setupMs": 16762, + "cellBudgetMs": 68210, + "teardownMs": 913 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wuqa8720wl-c03-store-mvwuqa8y" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wuqa8720wl-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqa8720wl-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-JQ5O9g/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:56.841Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.074, + "exec": { + "wallMs": 1198.094, + "exitCode": 0, + "stdout": "LFS527 0 1793478415781147433 1793478416962102705\n", + "stderr": "", + "rc": 0, + "ms": 1180.955272 + }, + "unmountMs": 4.592, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.62, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuqa8720wl-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 1045.559, + "exitCode": 0, + "stdout": "LFS527 0 1793478416995652217 1793478418020382909\n", + "stderr": "", + "rc": 0, + "ms": 1024.730692 + }, + "commitMs": 8.629, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "bae183dc98dbd300a23e9bd0332268424463d065d7955afb9716aaa527573533", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.19, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.633, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.523, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3832.366, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.07, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1198.087, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.585, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.617, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1045.557, + "ok": true + }, + { + "name": "timed.commit", + "ms": 8.625, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.188, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.248, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.027, + "ok": true + }, + { + "name": "verify.exec", + "ms": 26.549, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.711, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 503.422, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3267fd9a04de4fa9c7740cf822150f2f037463ac7c73b7b35249d48af8fc2c4534", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.368, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.13720703125, + "grantedAt": "2026-10-31T20:26:56.841Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.62, + "execWallMs": 1045.559, + "commandMs": 1024.730692, + "commitMs": 8.629, + "commitKind": "UpToDate", + "unmountMs": 3.19 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:26:59.387Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C04-2026-10-31T202703056Z-wuqvww21uo.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C04-2026-10-31T202703056Z-wuqvww21uo.json new file mode 100644 index 0000000000..b5c48f754a --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C04-2026-10-31T202703056Z-wuqvww21uo.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wuqvww21uo-", + "startedAt": "2026-10-31T20:27:03.056Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.0458984375, + "end": 10.56884765625 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wuqvww21uo", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-SRjPVK", + "initMs": 16757, + "volume": "lfs527-wuqvww21uo-c04-store-mvwuqvxp", + "vm": { + "project": "c04", + "name": "lfs527-wuqvww21uo-c04-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-SRjPVK/home", + "store": "lfs527-wuqvww21uo-c04-vm-store", + "created": "2026-10-31T20:27:03.092Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64706 + }, + "disk": { + "free": 35349917696 + } + }, + "setupMs": 16899, + "cellBudgetMs": 68072, + "teardownMs": 980 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wuqvww21uo-c04-store-mvwuqvxp" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wuqvww21uo-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuqvww21uo-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-SRjPVK/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.56884765625, + "grantedAt": "2026-10-31T20:27:25.530Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 11.429, + "exec": { + "wallMs": 924.686, + "exitCode": 0, + "stdout": "LFS527 0 1793478444783277055 1793478445660316872\n", + "stderr": "", + "rc": 0, + "ms": 877.039817 + }, + "unmountMs": 3.332, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.052, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuqvww21uo-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 867.551, + "exitCode": 0, + "stdout": "LFS527 0 1793478445687733982 1793478446536844693\n", + "stderr": "", + "rc": 0, + "ms": 849.110711 + }, + "commitMs": 108.34, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1220634b3bb23428390b9718e2f0f38810d4634c02a55216db866ccd40f2a04ef1", + "commit": { + "id": "1220634b3bb23428390b9718e2f0f38810d4634c02a55216db866ccd40f2a04ef1", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32172396945b2e77833e867d60571957bfac59f534e004c9d544c8f6ac01ef6f0d", + "root": "27f836b447730d161a7f7e97ef77a5ebcad6f4a79217458bcd9e7a7bc8bf2cd4", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793478446637, + "logical": 0, + "newCanonical": 109367, + "newStored": 8248, + "newMetadata": 8248, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.008, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.76, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.868, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4536.508, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.425, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 924.681, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.329, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.049, + "ok": true + }, + { + "name": "timed.exec", + "ms": 867.547, + "ok": true + }, + { + "name": "timed.commit", + "ms": 108.336, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.005, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.672, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.1, + "ok": true + }, + { + "name": "verify.exec", + "ms": 309.314, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.039, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 365.844, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32172396945b2e77833e867d60571957bfac59f534e004c9d544c8f6ac01ef6f0d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.371, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.56884765625, + "grantedAt": "2026-10-31T20:27:25.530Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.052, + "execWallMs": 867.551, + "commandMs": 849.110711, + "commitMs": 108.34, + "commitKind": "Committed", + "unmountMs": 4.008 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:28.214Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C05-2026-10-31T202731442Z-wurhte22lm.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C05-2026-10-31T202731442Z-wurhte22lm.json new file mode 100644 index 0000000000..ddde8656e8 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C05-2026-10-31T202731442Z-wurhte22lm.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wurhte22lm-", + "startedAt": "2026-10-31T20:27:31.442Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.12255859375, + "end": 8.83203125 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wurhte22lm", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-lAKRnl", + "initMs": 15854, + "volume": "lfs527-wurhte22lm-c05-store-mvwurhu5", + "vm": { + "project": "c05", + "name": "lfs527-wurhte22lm-c05-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-lAKRnl/home", + "store": "lfs527-wurhte22lm-c05-vm-store", + "created": "2026-10-31T20:27:31.476Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64825 + }, + "disk": { + "free": 35349876736 + } + }, + "setupMs": 16056, + "cellBudgetMs": 68887, + "teardownMs": 917 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wurhte22lm-c05-store-mvwurhu5" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wurhte22lm-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wurhte22lm-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-lAKRnl/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.51416015625, + "grantedAt": "2026-10-31T20:27:52.667Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.244, + "exec": { + "wallMs": 927.044, + "exitCode": 0, + "stdout": "LFS527 0 1793478471904346560 1793478472796478526\n", + "stderr": "", + "rc": 0, + "ms": 892.131966 + }, + "unmountMs": 4.569, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.38, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wurhte22lm-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 888.388, + "exitCode": 0, + "stdout": "LFS527 0 1793478472831095081 1793478473696607644\n", + "stderr": "", + "rc": 0, + "ms": 865.512563 + }, + "commitMs": 117.026, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120bb99ea2b3030ea9dd76829d5c15123a8cf74625b1a3aafc801c89566f889290", + "commit": { + "id": "120bb99ea2b3030ea9dd76829d5c15123a8cf74625b1a3aafc801c89566f889290", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32227496569baf5c81ef8805c9c6892a6c76fc9ac7ac81abbf7e91196aa4b99bad", + "root": "94d9417c267072906eed0751dd4875b25755914c57982bc5466fe482d0e80607", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793478473805, + "logical": 0, + "newCanonical": 109367, + "newStored": 8258, + "newMetadata": 8258, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.344, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.231, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.614, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4057.885, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.239, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 927.038, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.566, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.377, + "ok": true + }, + { + "name": "timed.exec", + "ms": 888.384, + "ok": true + }, + { + "name": "timed.commit", + "ms": 117.023, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.341, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.902, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.219, + "ok": true + }, + { + "name": "verify.exec", + "ms": 312.606, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.428, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 194.351, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32227496569baf5c81ef8805c9c6892a6c76fc9ac7ac81abbf7e91196aa4b99bad", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.626, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.51416015625, + "grantedAt": "2026-10-31T20:27:52.667Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.38, + "execWallMs": 888.388, + "commandMs": 865.512563, + "commitMs": 117.026, + "commitKind": "Committed", + "unmountMs": 4.344 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:27:55.143Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C06-2026-10-31T202758466Z-wus2o2233d.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C06-2026-10-31T202758466Z-wus2o2233d.json new file mode 100644 index 0000000000..7fb8149c7b --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C06-2026-10-31T202758466Z-wus2o2233d.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wus2o2233d-", + "startedAt": "2026-10-31T20:27:58.466Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.83203125, + "end": 8.17724609375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wus2o2233d", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-LFqbrf", + "initMs": 14957, + "volume": "lfs527-wus2o2233d-c06-store-mvwus2ou", + "vm": { + "project": "c06", + "name": "lfs527-wus2o2233d-c06-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-LFqbrf/home", + "store": "lfs527-wus2o2233d-c06-vm-store", + "created": "2026-10-31T20:27:58.501Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64879 + }, + "disk": { + "free": 35349827584 + } + }, + "setupMs": 15093, + "cellBudgetMs": 69878, + "teardownMs": 870 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wus2o2233d-c06-store-mvwus2ou" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wus2o2233d-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wus2o2233d-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-LFqbrf/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.19287109375, + "grantedAt": "2026-10-31T20:28:17.472Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.239, + "exec": { + "wallMs": 206.052, + "exitCode": 0, + "stdout": "LFS527 0 1793478497410228407 1793478497598074957\n", + "stderr": "", + "rc": 0, + "ms": 187.84655 + }, + "unmountMs": 9.471, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.412, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wus2o2233d-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 203.188, + "exitCode": 0, + "stdout": "LFS527 0 1793478497635453010 1793478497816940198\n", + "stderr": "", + "rc": 0, + "ms": 181.487188 + }, + "commitMs": 318.353, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1273e1eb35b2e608ac180536d687d8f320a660547d8fbd585d42d463776456c3f1", + "commit": { + "id": "1273e1eb35b2e608ac180536d687d8f320a660547d8fbd585d42d463776456c3f1", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32857ea8b5e81020fd2196e8bfb730c2f08904a50bcfe5838aa33b1f06131710a2", + "root": "5099e004abe2c85034c119559c166a4064ef2119d5383ca7ca746b72eef78f79", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793478498088, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.197, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.184, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.742, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3593.901, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.235, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 206.048, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.468, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.41, + "ok": true + }, + { + "name": "timed.exec", + "ms": 203.185, + "ok": true + }, + { + "name": "timed.commit", + "ms": 318.35, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.194, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.905, + "ok": true + }, + { + "name": "verify.identity", + "ms": 27.555, + "ok": true + }, + { + "name": "verify.exec", + "ms": 472.791, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.333, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 282.394, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32857ea8b5e81020fd2196e8bfb730c2f08904a50bcfe5838aa33b1f06131710a2", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.181, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.19287109375, + "grantedAt": "2026-10-31T20:28:17.472Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.412, + "execWallMs": 203.188, + "commandMs": 181.487188, + "commitMs": 318.353, + "commitKind": "Committed", + "unmountMs": 9.197 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:19.673Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C07-2026-10-31T202823008Z-wuslls23he.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C07-2026-10-31T202823008Z-wuslls23he.json new file mode 100644 index 0000000000..8a04b38fb8 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C07-2026-10-31T202823008Z-wuslls23he.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wuslls23he-", + "startedAt": "2026-10-31T20:28:23.008Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.17724609375, + "end": 7.11181640625 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wuslls23he", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-fryWJt", + "initMs": 15543, + "volume": "lfs527-wuslls23he-c07-store-mvwuslo5", + "vm": { + "project": "c07", + "name": "lfs527-wuslls23he-c07-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-fryWJt/home", + "store": "lfs527-wuslls23he-c07-vm-store", + "created": "2026-10-31T20:28:23.101Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64945 + }, + "disk": { + "free": 35349782528 + } + }, + "setupMs": 15712, + "cellBudgetMs": 69229, + "teardownMs": 939 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wuslls23he-c07-store-mvwuslo5" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wuslls23he-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuslls23he-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-fryWJt/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 304, + "load1": 7.47021484375, + "grantedAt": "2026-10-31T20:28:43.597Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.429, + "exec": { + "wallMs": 463.203, + "exitCode": 0, + "stdout": "LFS527 0 1793478522979202766 1793478523412581734\n", + "stderr": "", + "rc": 0, + "ms": 433.378968 + }, + "unmountMs": 16.187, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.579, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuslls23he-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 456.274, + "exitCode": 0, + "stdout": "LFS527 0 1793478523760672947 1793478524195427455\n", + "stderr": "", + "rc": 0, + "ms": 434.754508 + }, + "commitMs": 624.126, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1242891451fa2f6eb43cbf73a7b9d8a816553b6ac906e7ea58835b462682f38063", + "commit": { + "id": "1242891451fa2f6eb43cbf73a7b9d8a816553b6ac906e7ea58835b462682f38063", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ed733a7dd981af14b5da220c2cf41b60655a1f0a2d44f10a73ff86e442d2830e", + "root": "8a430ad5f6d6c13849394dc15671dffc24a3b23a89d25cc762c19daf588b5988", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793478524724, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 833, + "newMetadata": 757, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.551, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.173, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.655, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3958.093, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.425, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 463.199, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 16.184, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.577, + "ok": true + }, + { + "name": "timed.exec", + "ms": 456.27, + "ok": true + }, + { + "name": "timed.commit", + "ms": 624.123, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.547, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.07, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.325, + "ok": true + }, + { + "name": "verify.exec", + "ms": 647.65, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.821, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 232.93, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ed733a7dd981af14b5da220c2cf41b60655a1f0a2d44f10a73ff86e442d2830e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 305.57, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 304, + "load1": 7.47021484375, + "grantedAt": "2026-10-31T20:28:43.597Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.579, + "execWallMs": 456.274, + "commandMs": 434.754508, + "commitMs": 624.126, + "commitKind": "Committed", + "unmountMs": 16.551 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:28:46.562Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C08-2026-10-31T202850148Z-wut6jo23wj.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C08-2026-10-31T202850148Z-wut6jo23wj.json new file mode 100644 index 0000000000..710c1dc383 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C08-2026-10-31T202850148Z-wut6jo23wj.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wut6jo23wj-", + "startedAt": "2026-10-31T20:28:50.148Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.2626953125, + "end": 8.505859375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wut6jo23wj", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-rzwKmS", + "initMs": 17645, + "volume": "lfs527-wut6jo23wj-c08-store-mvwut6ki", + "vm": { + "project": "c08", + "name": "lfs527-wut6jo23wj-c08-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-rzwKmS/home", + "store": "lfs527-wut6jo23wj-c08-vm-store", + "created": "2026-10-31T20:28:50.185Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 64990 + }, + "disk": { + "free": 35349737472 + } + }, + "setupMs": 17777, + "cellBudgetMs": 67195, + "teardownMs": 1079 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wut6jo23wj-c08-store-mvwut6ki" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wut6jo23wj-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wut6jo23wj-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-rzwKmS/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 607, + "load1": 8.11474609375, + "grantedAt": "2026-10-31T20:29:13.058Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.768, + "exec": { + "wallMs": 289.299, + "exitCode": 0, + "stdout": "LFS527 0 1793478552302830674 1793478552558232909\n", + "stderr": "", + "rc": 0, + "ms": 255.402235 + }, + "unmountMs": 19.02, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.928, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wut6jo23wj-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 237.526, + "exitCode": 0, + "stdout": "LFS527 0 1793478553215135192 1793478553438316987\n", + "stderr": "", + "rc": 0, + "ms": 223.181795 + }, + "commitMs": 338.69, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a05e921ef227e504058dc989649868a10da9460085a8c5390a98a5d99f1d31c2", + "commit": { + "id": "12a05e921ef227e504058dc989649868a10da9460085a8c5390a98a5d99f1d31c2", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328bf48e8d9fd46a8d68b5ae2dba0411047d01e42c4576e59465ac551904061311", + "root": "f7ef97bfcaaad0f68aed2eab3f3a89219ed65b9afc7ce841b7dbf28c3fe57ed8", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793478553725, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.408, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.398, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.476, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4109.555, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.764, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 289.293, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.014, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.926, + "ok": true + }, + { + "name": "timed.exec", + "ms": 237.523, + "ok": true + }, + { + "name": "timed.commit", + "ms": 338.687, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.405, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.472, + "ok": true + }, + { + "name": "verify.identity", + "ms": 28.883, + "ok": true + }, + { + "name": "verify.exec", + "ms": 557.944, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.528, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 193.952, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328bf48e8d9fd46a8d68b5ae2dba0411047d01e42c4576e59465ac551904061311", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 609.479, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 607, + "load1": 8.11474609375, + "grantedAt": "2026-10-31T20:29:13.058Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.928, + "execWallMs": 237.526, + "commandMs": 223.181795, + "commitMs": 338.69, + "commitKind": "Committed", + "unmountMs": 10.408 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:29:15.529Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C09-2026-10-31T202919103Z-wutsvz24bz.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C09-2026-10-31T202919103Z-wutsvz24bz.json new file mode 100644 index 0000000000..70808ab4df --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C09-2026-10-31T202919103Z-wutsvz24bz.json @@ -0,0 +1,388 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wutsvz24bz-", + "startedAt": "2026-10-31T20:29:19.103Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.22509765625, + "end": 7.71630859375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wutsvz24bz", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-ETUIIa", + "initMs": 17203, + "volume": "lfs527-wutsvz24bz-c09-store-mvwutswu", + "vm": { + "project": "c09", + "name": "lfs527-wutsvz24bz-c09-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-ETUIIa/home", + "store": "lfs527-wutsvz24bz-c09-vm-store", + "created": "2026-10-31T20:29:19.154Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 65100 + }, + "disk": { + "free": 35349692416 + } + }, + "setupMs": 17335, + "cellBudgetMs": 67636, + "teardownMs": 1108 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wutsvz24bz-c09-store-mvwutswu" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wutsvz24bz-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wutsvz24bz-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-ETUIIa/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.71630859375, + "grantedAt": "2026-10-31T20:29:39.550Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 188.84, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "122dc76a0a50e4884247d7a5143cae59ba89f0d26871f1d022b8a84ed1fc10235c", + "commit": { + "id": "122dc76a0a50e4884247d7a5143cae59ba89f0d26871f1d022b8a84ed1fc10235c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32231198eb062025e2efdb70f9dca1a7c0105bf040b9b6a82ccbe65916a0f8212a", + "root": "039baed6d4d358929f20416f6a126b58fc9ccfa87234472723d5b4d27608d8aa", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793478579519, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.939, + "exec": { + "wallMs": 100.477, + "exitCode": 0, + "stdout": "LFS527 0 1793478579603597838 1793478579681824946\n", + "stderr": "", + "rc": 0, + "ms": 78.227108 + }, + "unmountMs": 4.715, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.855, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wutsvz24bz-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 98.815, + "exitCode": 0, + "stdout": "LFS527 0 1793478579711785308 1793478579792415078\n", + "stderr": "", + "rc": 0, + "ms": 80.62977 + }, + "commitMs": 1.413, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "122dc76a0a50e4884247d7a5143cae59ba89f0d26871f1d022b8a84ed1fc10235c", + "root": "039baed6d4d358929f20416f6a126b58fc9ccfa87234472723d5b4d27608d8aa", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.259, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.36, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.302, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2397.586, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.996, + "ok": true + }, + { + "name": "setup.exec", + "ms": 188.835, + "ok": true + }, + { + "name": "setup.commit", + "ms": 311.551, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 9.564, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.937, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 100.474, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.713, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.852, + "ok": true + }, + { + "name": "timed.exec", + "ms": 98.812, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.411, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.257, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.445, + "ok": true + }, + { + "name": "verify.identity", + "ms": 17.343, + "ok": true + }, + { + "name": "verify.exec", + "ms": 402.073, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.174, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 241.066, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32231198eb062025e2efdb70f9dca1a7c0105bf040b9b6a82ccbe65916a0f8212a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.19, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.71630859375, + "grantedAt": "2026-10-31T20:29:39.550Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.855, + "execWallMs": 98.815, + "commandMs": 80.62977, + "commitMs": 1.413, + "commitKind": "UpToDate", + "unmountMs": 4.259 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:29:41.443Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C10-2026-10-31T202944788Z-wuucpg24q7.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C10-2026-10-31T202944788Z-wuucpg24q7.json new file mode 100644 index 0000000000..82e20cf43c --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C10-2026-10-31T202944788Z-wuucpg24q7.json @@ -0,0 +1,407 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wuucpg24q7-", + "startedAt": "2026-10-31T20:29:44.788Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.65869140625, + "end": 7.24853515625 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wuucpg24q7", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-d9gCpm", + "initMs": 14028, + "volume": "lfs527-wuucpg24q7-c10-store-mvwuucq6", + "vm": { + "project": "c10", + "name": "lfs527-wuucpg24q7-c10-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-d9gCpm/home", + "store": "lfs527-wuucpg24q7-c10-vm-store", + "created": "2026-10-31T20:29:44.821Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 65187 + }, + "disk": { + "free": 35349647360 + } + }, + "setupMs": 14157, + "cellBudgetMs": 70693, + "teardownMs": 849 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wuucpg24q7-c10-store-mvwuucq6" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wuucpg24q7-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wuucpg24q7-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-d9gCpm/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.357421875, + "grantedAt": "2026-10-31T20:30:02.681Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 182.839, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125b8f87e472cc5a849450babd17250e40099e168ebbce1e3c456b0af66b2d438b", + "commit": { + "id": "125b8f87e472cc5a849450babd17250e40099e168ebbce1e3c456b0af66b2d438b", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3212a553dd62afc77b0386f88b07d1f0ada09d09ef347940ee164c38521fb357a6", + "root": "c0789340a65b7d2ab58fcc3d3f999994e766502f0f860bffb97c48fe2b2b091c", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793478602500, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.305, + "exec": { + "wallMs": 242.468, + "exitCode": 0, + "stdout": "LFS527 0 1793478602578898077 1793478602805090757\n", + "stderr": "", + "rc": 0, + "ms": 226.19268 + }, + "unmountMs": 12.409, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.939, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wuucpg24q7-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 241.717, + "exitCode": 0, + "stdout": "LFS527 0 1793478602845671185 1793478603067675247\n", + "stderr": "", + "rc": 0, + "ms": 222.004062 + }, + "commitMs": 51.716, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129f4910e1d626a043ee91b81f6ec45e4b5001afee876d98e8785707859f493331", + "commit": { + "id": "129f4910e1d626a043ee91b81f6ec45e4b5001afee876d98e8785707859f493331", + "branch": null, + "parent": "125b8f87e472cc5a849450babd17250e40099e168ebbce1e3c456b0af66b2d438b", + "secondParent": null, + "base": "3212a553dd62afc77b0386f88b07d1f0ada09d09ef347940ee164c38521fb357a6", + "root": "6ae7346df01d44396150f031ac2454d5f44f0c6bdfe7d0a6703ff5f914d1224d", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793478603071, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.063, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.855, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.309, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2747.766, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.535, + "ok": true + }, + { + "name": "setup.exec", + "ms": 182.834, + "ok": true + }, + { + "name": "setup.commit", + "ms": 306.068, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.179, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.303, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 242.465, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.407, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.937, + "ok": true + }, + { + "name": "timed.exec", + "ms": 241.714, + "ok": true + }, + { + "name": "timed.commit", + "ms": 51.712, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.059, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.898, + "ok": true + }, + { + "name": "verify.identity", + "ms": 20.396, + "ok": true + }, + { + "name": "verify.exec", + "ms": 626.785, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.054, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 134.047, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3212a553dd62afc77b0386f88b07d1f0ada09d09ef347940ee164c38521fb357a6", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.215, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.357421875, + "grantedAt": "2026-10-31T20:30:02.681Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.939, + "execWallMs": 241.717, + "commandMs": 222.004062, + "commitMs": 51.716, + "commitKind": "Committed", + "unmountMs": 13.063 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:30:04.641Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C11-2026-10-31T203007969Z-mvwuuuld96.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C11-2026-10-31T203007969Z-mvwuuuld96.json new file mode 100644 index 0000000000..13e7e671f1 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C11-2026-10-31T203007969Z-mvwuuuld96.json @@ -0,0 +1,388 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-mvwuuuld96-", + "startedAt": "2026-10-31T20:30:07.969Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.24853515625, + "end": 6.99365234375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-mvwuuuld96", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-o6Yt5x", + "initMs": 13129, + "volume": "lfs527-mvwuuuld96-c11-store-mvwuuumv", + "vm": { + "project": "c11", + "name": "lfs527-mvwuuuld96-c11-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-o6Yt5x/home", + "store": "lfs527-mvwuuuld96-c11-vm-store", + "created": "2026-10-31T20:30:08.030Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 65257 + }, + "disk": { + "free": 35349602304 + } + }, + "setupMs": 13289, + "cellBudgetMs": 71649, + "teardownMs": 868 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-mvwuuuld96-c11-store-mvwuuumv" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-mvwuuuld96-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-mvwuuuld96-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-o6Yt5x/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99365234375, + "grantedAt": "2026-10-31T20:30:24.695Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 186.784, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e109a32173ce763185c17ed6d6256465a17c9aea7f37829630baccb8653955ad", + "commit": { + "id": "12e109a32173ce763185c17ed6d6256465a17c9aea7f37829630baccb8653955ad", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e0320dd8a5669c65a1c84f9e32ab7b84806e19d5090abf6e9bbddcdb1f2391e7", + "root": "37805ab7db91f11ee883941b2f0ecaabf4c9b75efe66c6b957d5d0a8a3bd47fc", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793478624644, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.391, + "exec": { + "wallMs": 118.709, + "exitCode": 0, + "stdout": "LFS527 0 1793478624720009206 1793478624822403068\n", + "stderr": "", + "rc": 0, + "ms": 102.393862 + }, + "unmountMs": 9.484, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.615, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-mvwuuuld96-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 123.683, + "exitCode": 0, + "stdout": "LFS527 0 1793478624852873015 1793478624963929236\n", + "stderr": "", + "rc": 0, + "ms": 111.056221 + }, + "commitMs": 138.603, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12e109a32173ce763185c17ed6d6256465a17c9aea7f37829630baccb8653955ad", + "root": "37805ab7db91f11ee883941b2f0ecaabf4c9b75efe66c6b957d5d0a8a3bd47fc", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.089, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.212, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.619, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2641.33, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.539, + "ok": true + }, + { + "name": "setup.exec", + "ms": 186.778, + "ok": true + }, + { + "name": "setup.commit", + "ms": 309.516, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 8.921, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.389, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 118.706, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.481, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.613, + "ok": true + }, + { + "name": "timed.exec", + "ms": 123.68, + "ok": true + }, + { + "name": "timed.commit", + "ms": 138.6, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.086, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.226, + "ok": true + }, + { + "name": "verify.identity", + "ms": 19.415, + "ok": true + }, + { + "name": "verify.exec", + "ms": 335.862, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.22, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 219.795, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e0320dd8a5669c65a1c84f9e32ab7b84806e19d5090abf6e9bbddcdb1f2391e7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.541, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99365234375, + "grantedAt": "2026-10-31T20:30:24.695Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.615, + "execWallMs": 123.683, + "commandMs": 111.056221, + "commitMs": 138.603, + "commitKind": "UpToDate", + "unmountMs": 10.089 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:30:26.430Z" +} diff --git a/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C12-2026-10-31T203029685Z-vwuvbcl140.json b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C12-2026-10-31T203029685Z-vwuvbcl140.json new file mode 100644 index 0000000000..43425b7f45 --- /dev/null +++ b/core/docs/issues/527/receipts/50e2c2bc87/vm-ssh-C12-2026-10-31T203029685Z-vwuvbcl140.json @@ -0,0 +1,346 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-vwuvbcl140-", + "startedAt": "2026-10-31T20:30:29.685Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.673828125, + "end": 8.18212890625 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-vwuvbcl140", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-h0Eoz0", + "initMs": 18036, + "volume": "lfs527-vwuvbcl140-c12-store-mvwuvbde", + "vm": { + "project": "c12", + "name": "lfs527-vwuvbcl140-c12-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-h0Eoz0/home", + "store": "lfs527-vwuvbcl140-c12-vm-store", + "created": "2026-10-31T20:30:29.722Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 65408 + }, + "disk": { + "free": 35349549056 + } + }, + "setupMs": 18186, + "cellBudgetMs": 66770, + "teardownMs": 905 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-vwuvbcl140-c12-store-mvwuvbde" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-vwuvbcl140-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "7587a03bb144443d7a55f0fe0af793f0f4349985eedb93342347ef0de7de6d42", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwuvbcl140-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-h0Eoz0/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.18212890625, + "grantedAt": "2026-10-31T20:30:54.535Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.598, + "exec": { + "wallMs": 332.527, + "exitCode": 0, + "stdout": "LFS527 0 1793478654354650099 1793478654666788687\n", + "stderr": "", + "rc": 0, + "ms": 312.138588 + }, + "unmountMs": 4.563, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.394, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwuvbcl140-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 357.733, + "exitCode": 0, + "stdout": "LFS527 0 1793478654695892053 1793478655034655637\n", + "stderr": "", + "rc": 0, + "ms": 338.763584 + }, + "commitMs": 77.408, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d140983ae9f779bc29bf750911dcab6c02ef6e757958efe68243d1b6eea24ceb", + "commit": { + "id": "12d140983ae9f779bc29bf750911dcab6c02ef6e757958efe68243d1b6eea24ceb", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d02967fb3533bc1b7c28f91b7b99dce5d4c132a06f0f7b9d49766755088aa0f2", + "root": "3c6a09ad70bc8c7fc21e2e8701b1698682bdb54a7a384c806540b3ad061bdc44", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793478655110, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26847, + "newMetadata": 6523, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.221, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.55, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.066, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6205.709, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.594, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 332.522, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.559, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.391, + "ok": true + }, + { + "name": "timed.exec", + "ms": 357.73, + "ok": true + }, + { + "name": "timed.commit", + "ms": 77.405, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.219, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.259, + "ok": true + }, + { + "name": "verify.identity", + "ms": 23.71, + "ok": true + }, + { + "name": "verify.exec", + "ms": 120.733, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.969, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 779.289, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d02967fb3533bc1b7c28f91b7b99dce5d4c132a06f0f7b9d49766755088aa0f2", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.405, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.18212890625, + "grantedAt": "2026-10-31T20:30:54.535Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.394, + "execWallMs": 357.733, + "commandMs": 338.763584, + "commitMs": 77.408, + "commitKind": "Committed", + "unmountMs": 4.221 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:30:56.821Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C01-2026-10-31T213613739Z-wx7uln1480.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C01-2026-10-31T213613739Z-wx7uln1480.json new file mode 100644 index 0000000000..f01e335bdb --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C01-2026-10-31T213613739Z-wx7uln1480.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-vwx7ut5tv9-", + "startedAt": "2026-10-31T21:36:13.739Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0, + "end": 4.23583984375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-phMOjt", + "initMs": 323, + "volume": "lfs527-vwx7ut5tv9-c01-store-mvwx7vk2", + "setupMs": 1286, + "cellBudgetMs": 88208, + "teardownMs": 122 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-vwx7ut5tv9-c01-store-mvwx7vk2" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-phMOjt/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwx7ut5tv9-c01-store-mvwx7vk2", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwx7ut5tv9-c01-store-mvwx7vk2/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwx7ut5tv9-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 304, + "load1": 3.8212890625, + "grantedAt": "2026-10-31T21:36:17.454Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.08 + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.109, + "exec": { + "wallMs": 633.1, + "exitCode": 0, + "stdout": "LFS527 0 1793482576694750851 1793482577279903769\n", + "stderr": "", + "rc": 0, + "ms": 585.152918 + }, + "unmountMs": 4.886, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 16.368, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 867.146, + "exitCode": 0, + "stdout": "LFS527 0 1793482577671393499 1793482578484853113\n", + "stderr": "", + "rc": 0, + "ms": 813.459614 + }, + "commitMs": 189.568, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1296239c2eb8bcecd9a6b5a9fb9924e34e326676970b691d5ea57de454266d01f2", + "commit": { + "id": "1296239c2eb8bcecd9a6b5a9fb9924e34e326676970b691d5ea57de454266d01f2", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32342398329d6a3a14fe36b20481b5584ee6c50cca138490e3bed5c9e88ba563af", + "root": "67ee37e12979e99f6da8a956f6ab6fe5cb15509214d633bc1c480e4721b0fa49", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482578667, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.559, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 20.947, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.761, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 621.944, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.103, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 633.087, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.881, + "ok": true + }, + { + "name": "timed.mount", + "ms": 16.362, + "ok": true + }, + { + "name": "timed.exec", + "ms": 867.131, + "ok": true + }, + { + "name": "timed.commit", + "ms": 189.542, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.545, + "ok": true + }, + { + "name": "verify.mount", + "ms": 11.02, + "ok": true + }, + { + "name": "verify.identity", + "ms": 84.873, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1099.833, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.183, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 257.582, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32342398329d6a3a14fe36b20481b5584ee6c50cca138490e3bed5c9e88ba563af", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 317.648, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 304, + "load1": 3.8212890625, + "grantedAt": "2026-10-31T21:36:17.454Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.08 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 16.368, + "execWallMs": 867.146, + "commandMs": 813.459614, + "commitMs": 189.568, + "commitKind": "Committed", + "unmountMs": 10.559 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:20.230Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 304, + "load1": 3.8212890625, + "grantedAt": "2026-10-31T21:36:17.454Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 3.8212890625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C02-2026-10-31T213625103Z-wx83db14o5.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C02-2026-10-31T213625103Z-wx83db14o5.json new file mode 100644 index 0000000000..85e30183bc --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C02-2026-10-31T213625103Z-wx83db14o5.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-vwx83q2u8j-", + "startedAt": "2026-10-31T21:36:25.103Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.36, + "end": 8.2197265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-fUfbWc", + "initMs": 537, + "volume": "lfs527-vwx83q2u8j-c02-store-mvwx84uw", + "setupMs": 1999, + "cellBudgetMs": 87260, + "teardownMs": 98 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-vwx83q2u8j-c02-store-mvwx84uw" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-fUfbWc/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwx83q2u8j-c02-store-mvwx84uw", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwx83q2u8j-c02-store-mvwx84uw/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwx83q2u8j-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.15185546875, + "grantedAt": "2026-10-31T21:36:32.072Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.49 + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.89, + "exec": { + "wallMs": 2542.256, + "exitCode": 0, + "stdout": "LFS527 0 1793482589687257951 1793482592192892378\n", + "stderr": "", + "rc": 0, + "ms": 2505.634427 + }, + "unmountMs": 6.394, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.776, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1880.848, + "exitCode": 0, + "stdout": "LFS527 0 1793482592301294788 1793482594108309044\n", + "stderr": "", + "rc": 0, + "ms": 1807.014256 + }, + "commitMs": 120.408, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a77ef3a3903250faa309027d38b746adef07ad0c76e0b096b286a13e095e2397", + "commit": { + "id": "12a77ef3a3903250faa309027d38b746adef07ad0c76e0b096b286a13e095e2397", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3248c5ca941cc417af8fe164cd92021d4bc236407dacbd10ef0dda00e3b2cb26e3", + "root": "1361ca33d6db41aa4a9ca0491765ecdefb520a9b969c3e691c20342ba8604362", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482594224, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.723, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 242.681, + "ok": true + }, + { + "name": "branch.fork", + "ms": 4.955, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 843.662, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.883, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 2542.228, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.386, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.748, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1880.807, + "ok": true + }, + { + "name": "timed.commit", + "ms": 120.401, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.711, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.22, + "ok": true + }, + { + "name": "verify.identity", + "ms": 40.442, + "ok": true + }, + { + "name": "verify.exec", + "ms": 921.38, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.314, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 211.458, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3248c5ca941cc417af8fe164cd92021d4bc236407dacbd10ef0dda00e3b2cb26e3", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 21.974, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.15185546875, + "grantedAt": "2026-10-31T21:36:32.072Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.49 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.776, + "execWallMs": 1880.848, + "commandMs": 1807.014256, + "commitMs": 120.408, + "commitKind": "Committed", + "unmountMs": 5.723 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:35.413Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.15185546875, + "grantedAt": "2026-10-31T21:36:32.072Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 4.857421875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C03-2026-10-31T213635663Z-wx8bin14sz.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C03-2026-10-31T213635663Z-wx8bin14sz.json new file mode 100644 index 0000000000..cacd98b174 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C03-2026-10-31T213635663Z-wx8bin14sz.json @@ -0,0 +1,315 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-vwx8bq5w5b-", + "startedAt": "2026-10-31T21:36:35.663Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.77, + "end": 8.52197265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-HWs6H9", + "initMs": 310, + "volume": "lfs527-vwx8bq5w5b-c03-store-mvwx8cbc", + "setupMs": 1067, + "cellBudgetMs": 88528, + "teardownMs": 182 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-vwx8bq5w5b-c03-store-mvwx8cbc" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-HWs6H9/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwx8bq5w5b-c03-store-mvwx8cbc", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwx8bq5w5b-c03-store-mvwx8cbc/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwx8bq5w5b-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.52197265625, + "grantedAt": "2026-10-31T21:36:39.071Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.77 + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.488, + "exec": { + "wallMs": 1236.815, + "exitCode": 0, + "stdout": "LFS527 0 1793482597995794705 1793482599209337811\n", + "stderr": "", + "rc": 0, + "ms": 1213.543106 + }, + "unmountMs": 3.85, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.442, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1362.701, + "exitCode": 0, + "stdout": "LFS527 0 1793482599255165654 1793482600585471254\n", + "stderr": "", + "rc": 0, + "ms": 1330.3056 + }, + "commitMs": 38.28, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "00b38fe79920bb9c853d307d29a67c8f26fb32cfb60134cf484b79f07668fc0d", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.752, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.823, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.759, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 387.215, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.478, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1236.801, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.843, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.434, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1362.656, + "ok": true + }, + { + "name": "timed.commit", + "ms": 38.271, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.744, + "ok": true + }, + { + "name": "verify.mount", + "ms": 13.707, + "ok": true + }, + { + "name": "verify.identity", + "ms": 66.333, + "ok": true + }, + { + "name": "verify.exec", + "ms": 56.908, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.002, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 271.22, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325924debf5423cf7e2d8e3f074cc7e46c833436e55ae1a004d5730f9bdf90ba79", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 5.323, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.52197265625, + "grantedAt": "2026-10-31T21:36:39.071Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.77 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.442, + "execWallMs": 1362.701, + "commandMs": 1330.3056, + "commitMs": 38.28, + "commitKind": "UpToDate", + "unmountMs": 8.752 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:41.202Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.52197265625, + "grantedAt": "2026-10-31T21:36:39.071Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.2197265625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C04-2026-10-31T213646227Z-wx8jo314z6.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C04-2026-10-31T213646227Z-wx8jo314z6.json new file mode 100644 index 0000000000..bbef8bec96 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C04-2026-10-31T213646227Z-wx8jo314z6.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-vwx8jx9whs-", + "startedAt": "2026-10-31T21:36:46.227Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.88, + "end": 10.318359375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-bf9VM2", + "initMs": 415, + "volume": "lfs527-vwx8jx9whs-c04-store-mvwx8kj9", + "setupMs": 1200, + "cellBudgetMs": 88406, + "teardownMs": 240 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-vwx8jx9whs-c04-store-mvwx8kj9" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-bf9VM2/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwx8jx9whs-c04-store-mvwx8kj9", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwx8jx9whs-c04-store-mvwx8kj9/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwx8jx9whs-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.47607421875, + "grantedAt": "2026-10-31T21:36:50.805Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.97 + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.199, + "exec": { + "wallMs": 1571.786, + "exitCode": 0, + "stdout": "LFS527 0 1793482609472553590 1793482610935111576\n", + "stderr": "", + "rc": 0, + "ms": 1462.557986 + }, + "unmountMs": 6.622, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 23.54, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 2318.764, + "exitCode": 0, + "stdout": "LFS527 0 1793482611014445412 1793482613238554320\n", + "stderr": "", + "rc": 0, + "ms": 2224.108908 + }, + "commitMs": 273.248, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125991fe6562442b317b9c68119efd3eed1c7a0b03b72dbe3b0af3d38365fbb621", + "commit": { + "id": "125991fe6562442b317b9c68119efd3eed1c7a0b03b72dbe3b0af3d38365fbb621", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3231763126ad062d7783e5ff1672ad182de53a6580c62aa7cfbc0dd922528b7065", + "root": "5c5809d8c229498493a14e73e62583b1c42a5fb8a5e9ff7773bc0ce55e2bc71c", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482613565, + "logical": 0, + "newCanonical": 109367, + "newStored": 8242, + "newMetadata": 8242, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 30.732, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 19.72, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.387, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 989.907, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.191, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1571.753, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.614, + "ok": true + }, + { + "name": "timed.mount", + "ms": 23.522, + "ok": true + }, + { + "name": "timed.exec", + "ms": 2318.38, + "ok": true + }, + { + "name": "timed.commit", + "ms": 273.239, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 30.658, + "ok": true + }, + { + "name": "verify.mount", + "ms": 40.365, + "ok": true + }, + { + "name": "verify.identity", + "ms": 107.987, + "ok": true + }, + { + "name": "verify.exec", + "ms": 840.301, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 19.482, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1350.894, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3231763126ad062d7783e5ff1672ad182de53a6580c62aa7cfbc0dd922528b7065", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 16.828, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.47607421875, + "grantedAt": "2026-10-31T21:36:50.805Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.97 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 23.54, + "execWallMs": 2318.764, + "commandMs": 2224.108908, + "commitMs": 273.248, + "commitKind": "Committed", + "unmountMs": 30.732 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:56.192Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.47607421875, + "grantedAt": "2026-10-31T21:36:50.805Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.56005859375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C05-2026-10-31T213702263Z-wx8w1j15gx.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C05-2026-10-31T213702263Z-wx8w1j15gx.json new file mode 100644 index 0000000000..5370d49764 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C05-2026-10-31T213702263Z-wx8w1j15gx.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-vwx8w8wyt1-", + "startedAt": "2026-10-31T21:37:02.263Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.04, + "end": 10.640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-VJ4tYk", + "initMs": 321, + "volume": "lfs527-vwx8w8wyt1-c05-store-mvwx8wvr", + "setupMs": 1139, + "cellBudgetMs": 88385, + "teardownMs": 94 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-vwx8w8wyt1-c05-store-mvwx8wvr" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-VJ4tYk/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-vwx8w8wyt1-c05-store-mvwx8wvr", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-vwx8w8wyt1-c05-store-mvwx8wvr/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwx8w8wyt1-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 915, + "load1": 10, + "grantedAt": "2026-10-31T21:37:07.625Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.12 + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.777, + "exec": { + "wallMs": 1307.201, + "exitCode": 0, + "stdout": "LFS527 0 1793482625567278780 1793482626847821921\n", + "stderr": "", + "rc": 0, + "ms": 1280.543141 + }, + "unmountMs": 3.544, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.91, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1421.017, + "exitCode": 0, + "stdout": "LFS527 0 1793482627811064631 1793482629206278193\n", + "stderr": "", + "rc": 0, + "ms": 1395.213562 + }, + "commitMs": 138.552, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "127b65295b7d0a383aa8b19901bd6743db6072c96ec05689390403f2bfa0407845", + "commit": { + "id": "127b65295b7d0a383aa8b19901bd6743db6072c96ec05689390403f2bfa0407845", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b1804a5e935fbf3c97b4b4db4595154d59bd96dc19ec7265166468acf79ed7c3", + "root": "3b353f265ae05c0d0fee0ad0562c877479b21ef7aaa0cb20297b9cc82ea6786e", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482629338, + "logical": 0, + "newCanonical": 109367, + "newStored": 8234, + "newMetadata": 8234, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.227, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 12.984, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.93, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 1149.538, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.77, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1307.189, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.54, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.904, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1421.012, + "ok": true + }, + { + "name": "timed.commit", + "ms": 138.545, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.213, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.495, + "ok": true + }, + { + "name": "verify.identity", + "ms": 40.294, + "ok": true + }, + { + "name": "verify.exec", + "ms": 461.864, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.555, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 232.583, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b1804a5e935fbf3c97b4b4db4595154d59bd96dc19ec7265166468acf79ed7c3", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 923.146, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 915, + "load1": 10, + "grantedAt": "2026-10-31T21:37:07.625Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.12 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.91, + "execWallMs": 1421.017, + "commandMs": 1395.213562, + "commitMs": 138.552, + "commitKind": "Committed", + "unmountMs": 4.227 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:10.080Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 915, + "load1": 10, + "grantedAt": "2026-10-31T21:37:07.625Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.65185546875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C06-2026-10-31T213713071Z-wx94dr15sn.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C06-2026-10-31T213713071Z-wx94dr15sn.json new file mode 100644 index 0000000000..7239f9e2b7 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C06-2026-10-31T213713071Z-wx94dr15sn.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wx94o3114g-", + "startedAt": "2026-10-31T21:37:13.071Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.27, + "end": 10.5888671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-iLjCUF", + "initMs": 423, + "volume": "lfs527-wx94o3114g-c06-store-mvwx9565", + "setupMs": 1069, + "cellBudgetMs": 88675, + "teardownMs": 87 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wx94o3114g-c06-store-mvwx9565" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-iLjCUF/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx94o3114g-c06-store-mvwx9565", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx94o3114g-c06-store-mvwx9565/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx94o3114g-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5888671875, + "grantedAt": "2026-10-31T21:37:15.464Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.17 + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.509, + "exec": { + "wallMs": 447.55, + "exitCode": 0, + "stdout": "LFS527 0 1793482635170483354 1793482635596453359\n", + "stderr": "", + "rc": 0, + "ms": 425.970005 + }, + "unmountMs": 12.027, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.021, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 249.135, + "exitCode": 0, + "stdout": "LFS527 0 1793482635642144716 1793482635866183956\n", + "stderr": "", + "rc": 0, + "ms": 224.03924 + }, + "commitMs": 650.743, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a0d8ea187a3d7c77ca5d791ac7fd816add296295154360ce6ebdad4794a9eea4", + "commit": { + "id": "12a0d8ea187a3d7c77ca5d791ac7fd816add296295154360ce6ebdad4794a9eea4", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3248a92de7ce8f6334f7ed38058796ad41eeca31000d5cf6fd6544d0f7432e6386", + "root": "53b8277bc174b9ea541845ce90bc3c1e54924a3e6b49e3d17e111960b06f7879", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482636460, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 14.236, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.697, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.667, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 251.678, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.503, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 447.536, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.021, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.017, + "ok": true + }, + { + "name": "timed.exec", + "ms": 249.128, + "ok": true + }, + { + "name": "timed.commit", + "ms": 650.737, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 14.186, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.263, + "ok": true + }, + { + "name": "verify.identity", + "ms": 34.669, + "ok": true + }, + { + "name": "verify.exec", + "ms": 494.442, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.024, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 206.096, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3248a92de7ce8f6334f7ed38058796ad41eeca31000d5cf6fd6544d0f7432e6386", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.007, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5888671875, + "grantedAt": "2026-10-31T21:37:15.464Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.17 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.021, + "execWallMs": 249.135, + "commandMs": 224.03924, + "commitMs": 650.743, + "commitKind": "Committed", + "unmountMs": 14.236 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:17.249Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5888671875, + "grantedAt": "2026-10-31T21:37:15.464Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.640625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C07-2026-10-31T213721420Z-wx9ato163v.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C07-2026-10-31T213721420Z-wx9ato163v.json new file mode 100644 index 0000000000..16256b0c71 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C07-2026-10-31T213721420Z-wx9ato163v.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wx9b1511h4-", + "startedAt": "2026-10-31T21:37:21.420Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.07, + "end": 10.79931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-eRwAkg", + "initMs": 423, + "volume": "lfs527-wx9b1511h4-c07-store-mvwx9bl7", + "setupMs": 1142, + "cellBudgetMs": 88494, + "teardownMs": 80 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wx9b1511h4-c07-store-mvwx9bl7" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-eRwAkg/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9b1511h4-c07-store-mvwx9bl7", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9b1511h4-c07-store-mvwx9bl7/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9b1511h4-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:25.966Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.99 + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 12.369, + "exec": { + "wallMs": 2135.285, + "exitCode": 0, + "stdout": "LFS527 0 1793482643952434042 1793482646031682132\n", + "stderr": "", + "rc": 0, + "ms": 2079.24809 + }, + "unmountMs": 25.203, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.094, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1077.964, + "exitCode": 0, + "stdout": "LFS527 0 1793482646592535592 1793482647201387786\n", + "stderr": "", + "rc": 0, + "ms": 608.852194 + }, + "commitMs": 719.288, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "127f68ecf6081aa645f0029afcb11c34d12145371cef9339a4762dfd61a9fd5e78", + "commit": { + "id": "127f68ecf6081aa645f0029afcb11c34d12145371cef9339a4762dfd61a9fd5e78", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322424ccc356fd1530b193b978834a06f0f2cd366d5a8eb254cc4322e66b9bfc0a", + "root": "c9c6b8d79c9197402470cce5e01fbae92b56183ee92f31be4d9cbd5f9b99ffcd", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482647815, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 20.796, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 12.071, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.666, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 505.225, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 12.359, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 2135.091, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 25.196, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.087, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1077.958, + "ok": true + }, + { + "name": "timed.commit", + "ms": 719.281, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 20.79, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.937, + "ok": true + }, + { + "name": "verify.identity", + "ms": 27.49, + "ok": true + }, + { + "name": "verify.exec", + "ms": 945.313, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.117, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 342.46, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322424ccc356fd1530b193b978834a06f0f2cd366d5a8eb254cc4322e66b9bfc0a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 55.156, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:25.966Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.99 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.094, + "execWallMs": 1077.964, + "commandMs": 608.852194, + "commitMs": 719.288, + "commitKind": "Committed", + "unmountMs": 20.796 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:29.231Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:25.966Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.38134765625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C08-2026-10-31T213732344Z-wx9j9416kl.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C08-2026-10-31T213732344Z-wx9j9416kl.json new file mode 100644 index 0000000000..46ed95d41e --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C08-2026-10-31T213732344Z-wx9j9416kl.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wx9jgo11u0-", + "startedAt": "2026-10-31T21:37:32.344Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.91, + "end": 10.25439453125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-gIENys", + "initMs": 312, + "volume": "lfs527-wx9jgo11u0-c08-store-mvwx9jwd", + "setupMs": 872, + "cellBudgetMs": 88853, + "teardownMs": 94 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wx9jgo11u0-c08-store-mvwx9jwd" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-gIENys/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9jgo11u0-c08-store-mvwx9jwd", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9jgo11u0-c08-store-mvwx9jwd/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9jgo11u0-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.25439453125, + "grantedAt": "2026-10-31T21:37:34.272Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.91 + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.938, + "exec": { + "wallMs": 258.787, + "exitCode": 0, + "stdout": "LFS527 0 1793482654169629835 1793482654404803122\n", + "stderr": "", + "rc": 0, + "ms": 235.173287 + }, + "unmountMs": 11.945, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.452, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 249.346, + "exitCode": 0, + "stdout": "LFS527 0 1793482654452267784 1793482654675706915\n", + "stderr": "", + "rc": 0, + "ms": 223.439131 + }, + "commitMs": 332.272, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c9ec99adc802a60c7c2e03b0cc11f1250e794643413962f39483bf71f5e7e650", + "commit": { + "id": "12c9ec99adc802a60c7c2e03b0cc11f1250e794643413962f39483bf71f5e7e650", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e01a4c24965cec28e3b43f4a383df793b964064df4c7b221c3216775045f24f1", + "root": "83d8ee67f5a34276eb0c9944328ea3a79f58c08072b5a594fbb89c382c693e4a", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482654952, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.198, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.626, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.559, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 222.099, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.931, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 258.776, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.938, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.445, + "ok": true + }, + { + "name": "timed.exec", + "ms": 249.34, + "ok": true + }, + { + "name": "timed.commit", + "ms": 332.266, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.193, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.077, + "ok": true + }, + { + "name": "verify.identity", + "ms": 27.841, + "ok": true + }, + { + "name": "verify.exec", + "ms": 448.369, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.855, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 303.333, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e01a4c24965cec28e3b43f4a383df793b964064df4c7b221c3216775045f24f1", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.41, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.25439453125, + "grantedAt": "2026-10-31T21:37:34.272Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.91 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.452, + "execWallMs": 249.346, + "commandMs": 223.439131, + "commitMs": 332.272, + "commitKind": "Committed", + "unmountMs": 10.198 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:35.787Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.25439453125, + "grantedAt": "2026-10-31T21:37:34.272Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.79931640625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C09-2026-10-31T213739059Z-wx9ofn16sd.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C09-2026-10-31T213739059Z-wx9ofn16sd.json new file mode 100644 index 0000000000..5ed7254f0a --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C09-2026-10-31T213739059Z-wx9ofn16sd.json @@ -0,0 +1,376 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wx9opc126s-", + "startedAt": "2026-10-31T21:37:39.059Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.99, + "end": 9.75341796875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-bGZmmS", + "initMs": 315, + "volume": "lfs527-wx9opc126s-c09-store-mvwx9p6p", + "setupMs": 937, + "cellBudgetMs": 88798, + "teardownMs": 160 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wx9opc126s-c09-store-mvwx9p6p" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-bGZmmS/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9opc126s-c09-store-mvwx9p6p", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9opc126s-c09-store-mvwx9p6p/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9opc126s-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.75341796875, + "grantedAt": "2026-10-31T21:37:41.862Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1 + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 271.847, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "121000c7934e82ba50b48ffd452bee603fa72ae58af9b159e20deaf9293cf5c99f", + "commit": { + "id": "121000c7934e82ba50b48ffd452bee603fa72ae58af9b159e20deaf9293cf5c99f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32797f12c725415736a853657695550fbf547caec4c070012a573e74dc31316131", + "root": "158b971901cda897ef3c638ad4b223ccdd0f28ae9bfb3719b2b181222de46f19", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793482661768, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 6.668, + "exec": { + "wallMs": 142.291, + "exitCode": 0, + "stdout": "LFS527 0 1793482661888397606 1793482661999030621\n", + "stderr": "", + "rc": 0, + "ms": 110.633015 + }, + "unmountMs": 5.794, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.583, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 90.03, + "exitCode": 0, + "stdout": "LFS527 0 1793482662044573893 1793482662112447201\n", + "stderr": "", + "rc": 0, + "ms": 67.873308 + }, + "commitMs": 1.431, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "121000c7934e82ba50b48ffd452bee603fa72ae58af9b159e20deaf9293cf5c99f", + "root": "158b971901cda897ef3c638ad4b223ccdd0f28ae9bfb3719b2b181222de46f19", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.623, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.123, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.638, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 399.445, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.933, + "ok": true + }, + { + "name": "setup.exec", + "ms": 271.823, + "ok": true + }, + { + "name": "setup.commit", + "ms": 383.031, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 15.196, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.659, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 142.269, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.789, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.57, + "ok": true + }, + { + "name": "timed.exec", + "ms": 90.015, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.427, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.618, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.6, + "ok": true + }, + { + "name": "verify.identity", + "ms": 44.49, + "ok": true + }, + { + "name": "verify.exec", + "ms": 381.482, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.612, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 520.006, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32797f12c725415736a853657695550fbf547caec4c070012a573e74dc31316131", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 6.025, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.75341796875, + "grantedAt": "2026-10-31T21:37:41.862Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.583, + "execWallMs": 90.03, + "commandMs": 67.873308, + "commitMs": 1.431, + "commitKind": "UpToDate", + "unmountMs": 4.623 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:43.127Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.75341796875, + "grantedAt": "2026-10-31T21:37:41.862Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.75341796875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C10-2026-10-31T213747053Z-wx9ulp174s.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C10-2026-10-31T213747053Z-wx9ulp174s.json new file mode 100644 index 0000000000..241845e29c --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C10-2026-10-31T213747053Z-wx9ulp174s.json @@ -0,0 +1,395 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wx9wab12k2-", + "startedAt": "2026-10-31T21:37:47.053Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.91, + "end": 9.41259765625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-XNdvTL", + "initMs": 537, + "volume": "lfs527-wx9wab12k2-c10-store-mvwx9x0m", + "setupMs": 1475, + "cellBudgetMs": 88120, + "teardownMs": 92 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wx9wab12k2-c10-store-mvwx9x0m" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-XNdvTL/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9wab12k2-c10-store-mvwx9x0m", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9wab12k2-c10-store-mvwx9x0m/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9wab12k2-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 609, + "load1": 9.41259765625, + "grantedAt": "2026-10-31T21:37:54.417Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.85 + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 358.627, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a92353cdca7ab2e7b9456d4904df52a0034352ac64ce235a287fd1ea8e8bad1d", + "commit": { + "id": "12a92353cdca7ab2e7b9456d4904df52a0034352ac64ce235a287fd1ea8e8bad1d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "325bba2fb32e99de5b151c6afed3080a6d6cb8172c19b47497f0dd6a6df64f93e4", + "root": "c5ee61ea429e1d8beb312ea789d89dc07e90ae77e1324120c0b3ea21449071cc", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793482673507, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.505, + "exec": { + "wallMs": 357.378, + "exitCode": 0, + "stdout": "LFS527 0 1793482673601816088 1793482673930914607\n", + "stderr": "", + "rc": 0, + "ms": 329.098519 + }, + "unmountMs": 15.222, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 9.248, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 375.112, + "exitCode": 0, + "stdout": "LFS527 0 1793482674601732319 1793482674951225864\n", + "stderr": "", + "rc": 0, + "ms": 349.493545 + }, + "commitMs": 61.391, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1221be2835f4b2af5472ded878376780408ce66cc8ffb441e6db301e9fc3c55479", + "commit": { + "id": "1221be2835f4b2af5472ded878376780408ce66cc8ffb441e6db301e9fc3c55479", + "branch": null, + "parent": "12a92353cdca7ab2e7b9456d4904df52a0034352ac64ce235a287fd1ea8e8bad1d", + "secondParent": null, + "base": "325bba2fb32e99de5b151c6afed3080a6d6cb8172c19b47497f0dd6a6df64f93e4", + "root": "00251d0f20b14b9eac6233a99da04492c51599f4d7544590190174cf78ac9193", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793482674956, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.685, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 42.886, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.559, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 1541.576, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.976, + "ok": true + }, + { + "name": "setup.exec", + "ms": 358.606, + "ok": true + }, + { + "name": "setup.commit", + "ms": 323.136, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.453, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.5, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 357.369, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 15.209, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.243, + "ok": true + }, + { + "name": "timed.exec", + "ms": 375.095, + "ok": true + }, + { + "name": "timed.commit", + "ms": 61.384, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.678, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.096, + "ok": true + }, + { + "name": "verify.identity", + "ms": 33.223, + "ok": true + }, + { + "name": "verify.exec", + "ms": 716.126, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.317, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 204.979, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325bba2fb32e99de5b151c6afed3080a6d6cb8172c19b47497f0dd6a6df64f93e4", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 619.264, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 609, + "load1": 9.41259765625, + "grantedAt": "2026-10-31T21:37:54.417Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.85 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 9.248, + "execWallMs": 375.112, + "commandMs": 349.493545, + "commitMs": 61.391, + "commitKind": "Committed", + "unmountMs": 16.685 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:55.975Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 609, + "load1": 9.41259765625, + "grantedAt": "2026-10-31T21:37:54.417Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.13232421875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C11-2026-10-31T213759433Z-wxa45l17ho.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C11-2026-10-31T213759433Z-wxa45l17ho.json new file mode 100644 index 0000000000..1931b6bcbe --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C11-2026-10-31T213759433Z-wxa45l17ho.json @@ -0,0 +1,376 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxa4co12xi-", + "startedAt": "2026-10-31T21:37:59.433Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.78, + "end": 9.29931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-8d08Jg", + "initMs": 308, + "volume": "lfs527-wxa4co12xi-c11-store-mvwxa4vb", + "setupMs": 974, + "cellBudgetMs": 88658, + "teardownMs": 87 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wxa4co12xi-c11-store-mvwxa4vb" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-8d08Jg/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wxa4co12xi-c11-store-mvwxa4vb", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wxa4co12xi-c11-store-mvwxa4vb/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxa4co12xi-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.29931640625, + "grantedAt": "2026-10-31T21:38:02.208Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.78 + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 271.219, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125020dec2b8a6a886d9889a2d6fc1e21d09c9c669a2b3d9bacc35608b0d10c2fc", + "commit": { + "id": "125020dec2b8a6a886d9889a2d6fc1e21d09c9c669a2b3d9bacc35608b0d10c2fc", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3288b14722bbebefa97396582b3a798f6bdc706c7b1eb16a5002c78b30d5d6a346", + "root": "20bf878fa1c938f811ecaa17760dba2fa4b0dae1838dac3fdac4f73cae9252f9", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793482682072, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.395, + "exec": { + "wallMs": 195.434, + "exitCode": 0, + "stdout": "LFS527 0 1793482682164193503 1793482682337917554\n", + "stderr": "", + "rc": 0, + "ms": 173.724051 + }, + "unmountMs": 12.858, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.358, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 198.685, + "exitCode": 0, + "stdout": "LFS527 0 1793482682388206653 1793482682564275521\n", + "stderr": "", + "rc": 0, + "ms": 176.068868 + }, + "commitMs": 163.204, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "125020dec2b8a6a886d9889a2d6fc1e21d09c9c669a2b3d9bacc35608b0d10c2fc", + "root": "20bf878fa1c938f811ecaa17760dba2fa4b0dae1838dac3fdac4f73cae9252f9", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.528, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.347, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.851, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 308.418, + "ok": true + }, + { + "name": "setup.mount", + "ms": 5.756, + "ok": true + }, + { + "name": "setup.exec", + "ms": 271.206, + "ok": true + }, + { + "name": "setup.commit", + "ms": 329.118, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.682, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.39, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 195.426, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.851, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.351, + "ok": true + }, + { + "name": "timed.exec", + "ms": 198.679, + "ok": true + }, + { + "name": "timed.commit", + "ms": 163.197, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.522, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.396, + "ok": true + }, + { + "name": "verify.identity", + "ms": 35.148, + "ok": true + }, + { + "name": "verify.exec", + "ms": 534.8, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.637, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 207.68, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3288b14722bbebefa97396582b3a798f6bdc706c7b1eb16a5002c78b30d5d6a346", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 5.284, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.29931640625, + "grantedAt": "2026-10-31T21:38:02.208Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.78 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.358, + "execWallMs": 198.685, + "commandMs": 176.068868, + "commitMs": 163.204, + "commitKind": "UpToDate", + "unmountMs": 12.528 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:03.497Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.29931640625, + "grantedAt": "2026-10-31T21:38:02.208Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.29931640625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C12-2026-10-31T213806739Z-wxa9si182g.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C12-2026-10-31T213806739Z-wxa9si182g.json new file mode 100644 index 0000000000..23f3524a51 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-docker-C12-2026-10-31T213806739Z-wxa9si182g.json @@ -0,0 +1,334 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-docker", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxa9ze13au-", + "startedAt": "2026-10-31T21:38:06.739Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.72, + "end": 9.505859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-xoMXcE", + "initMs": 433, + "volume": "lfs527-wxa9ze13au-c12-store-mvwxaakm", + "setupMs": 1193, + "cellBudgetMs": 88357, + "teardownMs": 122 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wxa9ze13au-c12-store-mvwxaakm" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-xoMXcE/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/var/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wxa9ze13au-c12-store-mvwxaakm", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wxa9ze13au-c12-store-mvwxaakm/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxa9ze13au-", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.505859375, + "grantedAt": "2026-10-31T21:38:10.045Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.74 + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.841, + "exec": { + "wallMs": 857.414, + "exitCode": 0, + "stdout": "LFS527 0 1793482689344069450 1793482690169487396\n", + "stderr": "", + "rc": 0, + "ms": 825.417946 + }, + "unmountMs": 4.756, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.288, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 519.975, + "exitCode": 0, + "stdout": "LFS527 0 1793482690234594238 1793482690721338417\n", + "stderr": "", + "rc": 0, + "ms": 486.744179 + }, + "commitMs": 74.368, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129fb63c24494dde509fa99f23f94dffa36175176ab5b2cf169fb50148e7cbb450", + "commit": { + "id": "129fb63c24494dde509fa99f23f94dffa36175176ab5b2cf169fb50148e7cbb450", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320a422c9c57a62ce2e5cefe4471299745af89949703bc4f7e4afaf80e8bf2681f", + "root": "a80a6d77db2169432a939b54eaf51e584db22f2d9cd83d1b93e4b86a77c29478", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793482690794, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26831, + "newMetadata": 6526, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.279, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 17.382, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.692, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 460.979, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.834, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 857.39, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.749, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.281, + "ok": true + }, + { + "name": "timed.exec", + "ms": 519.957, + "ok": true + }, + { + "name": "timed.commit", + "ms": 74.357, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.272, + "ok": true + }, + { + "name": "verify.mount", + "ms": 40.137, + "ok": true + }, + { + "name": "verify.identity", + "ms": 66.114, + "ok": true + }, + { + "name": "verify.exec", + "ms": 231.105, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.713, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 474.181, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320a422c9c57a62ce2e5cefe4471299745af89949703bc4f7e4afaf80e8bf2681f", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 17.92, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.505859375, + "grantedAt": "2026-10-31T21:38:10.045Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.74 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.288, + "execWallMs": 519.975, + "commandMs": 486.744179, + "commitMs": 74.368, + "commitKind": "Committed", + "unmountMs": 4.279 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:11.637Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.505859375, + "grantedAt": "2026-10-31T21:38:10.045Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.11474609375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C01-2026-10-31T213947586Z-wxcflu1g6b.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C01-2026-10-31T213947586Z-wxcflu1g6b.json new file mode 100644 index 0000000000..d2ad589a3a --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C01-2026-10-31T213947586Z-wxcflu1g6b.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wxcfsg1b6c-", + "startedAt": "2026-10-31T21:39:47.586Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.76, + "end": 7.38232421875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-NfIqTi", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c01", + "layer": "32eeb4dc1bf0f88942f3f3033120618b5fe20643307ce2fed58cffccfdb4741480", + "root": "3db557ecb740c13db2eca5a7b4ff8d3eb90ca0a29437ba568cd65fe00a5c0afd", + "store": "/var/lib/lfs527/lfs527-NfIqTi/store/store.sqlite" + }, + "setupMs": 151, + "cellBudgetMs": 89543, + "teardownMs": 933 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-NfIqTi/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-NfIqTi/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-NfIqTi/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxcfsg1b6c-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 4, + "load1": 7.5029296875, + "grantedAt": "2026-10-31T21:40:26.657Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.07 + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 66.733, + "exec": { + "wallMs": 569.138, + "exitCode": 0, + "stdout": "LFS527 0 1793482826257996248 1793482826731097583\n", + "stderr": "", + "rc": 0, + "ms": 473.101335 + }, + "unmountMs": 20.393, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.758, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-NfIqTi/local/lfs527-wxcfsg1b6c-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 567.447, + "exitCode": 0, + "stdout": "LFS527 0 1793482826830549116 1793482827378776660\n", + "stderr": "", + "rc": 0, + "ms": 548.227544 + }, + "commitMs": 179.797, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124ca6043f7b038c07224d00726bbb2bffde34215caa575653dbc42d0357d07915", + "commit": { + "id": "124ca6043f7b038c07224d00726bbb2bffde34215caa575653dbc42d0357d07915", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32eeb4dc1bf0f88942f3f3033120618b5fe20643307ce2fed58cffccfdb4741480", + "root": "00bb65d2b6a0ab453549816db0b3207f5f6984ac363099131f19244695da5b8e", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482827549, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.809, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.731, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.655, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 37653.072, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 66.715, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 569.124, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 20.385, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.752, + "ok": true + }, + { + "name": "timed.exec", + "ms": 567.42, + "ok": true + }, + { + "name": "timed.commit", + "ms": 179.787, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.804, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.026, + "ok": true + }, + { + "name": "verify.identity", + "ms": 136.205, + "ok": true + }, + { + "name": "verify.exec", + "ms": 989.832, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.01, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 542.625, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32eeb4dc1bf0f88942f3f3033120618b5fe20643307ce2fed58cffccfdb4741480", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 56.398, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 4, + "load1": 7.5029296875, + "grantedAt": "2026-10-31T21:40:26.657Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.07 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.758, + "execWallMs": 567.447, + "commandMs": 548.227544, + "commitMs": 179.797, + "commitKind": "Committed", + "unmountMs": 3.809 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:30.099Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 4, + "load1": 7.5029296875, + "grantedAt": "2026-10-31T21:40:26.657Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.1455078125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C02-2026-10-31T214033958Z-wxdfdy1hbp.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C02-2026-10-31T214033958Z-wxdfdy1hbp.json new file mode 100644 index 0000000000..4d56b04858 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C02-2026-10-31T214033958Z-wxdfdy1hbp.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wxdfn01bda-", + "startedAt": "2026-10-31T21:40:33.958Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.06, + "end": 8.80078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-M8Jq08", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c02", + "layer": "328adb45b8cd19085272f1fdf813fd5f748b161b0623a8cc3636931ec8016099ac", + "root": "bf1c21d354d8fd0e3a71de037344c5867c5e2096b145c1feff8da1f82449c091", + "store": "/var/lib/lfs527/lfs527-M8Jq08/store/store.sqlite" + }, + "setupMs": 117, + "cellBudgetMs": 89615, + "teardownMs": 1189 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-M8Jq08/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-M8Jq08/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-M8Jq08/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxdfn01bda-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 8.87060546875, + "grantedAt": "2026-10-31T21:40:48.813Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.13 + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 13.67, + "exec": { + "wallMs": 2402.589, + "exitCode": 0, + "stdout": "LFS527 0 1793482846557768326 1793482848924727715\n", + "stderr": "", + "rc": 0, + "ms": 2366.959389 + }, + "unmountMs": 10.911, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 46.551, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-M8Jq08/local/lfs527-wxdfn01bda-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 2042.038, + "exitCode": 0, + "stdout": "LFS527 0 1793482849038182131 1793482851048204888\n", + "stderr": "", + "rc": 0, + "ms": 2010.022757 + }, + "commitMs": 214.883, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "127f9f25ac5a9df9db90a47d7eef9b1d9fa54267a3291744fa73bdb2b1dd18dafe", + "commit": { + "id": "127f9f25ac5a9df9db90a47d7eef9b1d9fa54267a3291744fa73bdb2b1dd18dafe", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328adb45b8cd19085272f1fdf813fd5f748b161b0623a8cc3636931ec8016099ac", + "root": "964c0e294dd75c91a51c7c9e14d659b7452c702cf68033664e69adc659afdd3b", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482851241, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18644, + "newMetadata": 9719, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.759, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.4, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.597, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 11707.276, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 13.663, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 2402.498, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.904, + "ok": true + }, + { + "name": "timed.mount", + "ms": 46.542, + "ok": true + }, + { + "name": "timed.exec", + "ms": 2042.009, + "ok": true + }, + { + "name": "timed.commit", + "ms": 214.875, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.753, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.22, + "ok": true + }, + { + "name": "verify.identity", + "ms": 70.201, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1020.088, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.567, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1003.382, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328adb45b8cd19085272f1fdf813fd5f748b161b0623a8cc3636931ec8016099ac", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 24.041, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 8.87060546875, + "grantedAt": "2026-10-31T21:40:48.813Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.13 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 46.551, + "execWallMs": 2042.038, + "commandMs": 2010.022757, + "commitMs": 214.883, + "commitKind": "Committed", + "unmountMs": 5.759 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:54.496Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 8.87060546875, + "grantedAt": "2026-10-31T21:40:48.813Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.111328125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C03-2026-10-31T214059991Z-wxdzh31hw3.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C03-2026-10-31T214059991Z-wxdzh31hw3.json new file mode 100644 index 0000000000..e5f33e0e04 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C03-2026-10-31T214059991Z-wxdzh31hw3.json @@ -0,0 +1,319 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wxdzz41d3l-", + "startedAt": "2026-10-31T21:40:59.991Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.09, + "end": 9.57666015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-mLBd6p", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 65, + "init": { + "kind": "Initialized", + "project": "c03", + "layer": "3281af76a330510e06b402c3857b8ace901bcee57fed52adb174d52c8e7dd44317", + "root": "4b497885b245c8ae3bf8813207b596c3eaf99b5e447e8aca7607794f120265f7", + "store": "/var/lib/lfs527/lfs527-mLBd6p/store/store.sqlite" + }, + "setupMs": 271, + "cellBudgetMs": 89037, + "teardownMs": 834 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-mLBd6p/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-mLBd6p/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-mLBd6p/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxdzz41d3l-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.626953125, + "grantedAt": "2026-10-31T21:41:16.229Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.31 + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 27.984, + "exec": { + "wallMs": 969.028, + "exitCode": 0, + "stdout": "LFS527 0 1793482875530851662 1793482876353837369\n", + "stderr": "", + "rc": 0, + "ms": 822.985707 + }, + "unmountMs": 2.024, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.955, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-mLBd6p/local/lfs527-wxdzz41d3l-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 847.427, + "exitCode": 0, + "stdout": "LFS527 0 1793482876403043919 1793482877231434252\n", + "stderr": "", + "rc": 0, + "ms": 828.390333 + }, + "commitMs": 14.563, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "4b497885b245c8ae3bf8813207b596c3eaf99b5e447e8aca7607794f120265f7", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.251, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 27.621, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.313, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 13448.864, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 27.976, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 969.017, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.016, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.949, + "ok": true + }, + { + "name": "timed.exec", + "ms": 847.421, + "ok": true + }, + { + "name": "timed.commit", + "ms": 14.558, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.248, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.052, + "ok": true + }, + { + "name": "verify.identity", + "ms": 111.568, + "ok": true + }, + { + "name": "verify.exec", + "ms": 50.071, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.955, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 617.994, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3281af76a330510e06b402c3857b8ace901bcee57fed52adb174d52c8e7dd44317", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 23.12, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.626953125, + "grantedAt": "2026-10-31T21:41:16.229Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.31 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.955, + "execWallMs": 847.427, + "commandMs": 828.390333, + "commitMs": 14.563, + "commitKind": "UpToDate", + "unmountMs": 2.251 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:18.765Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.626953125, + "grantedAt": "2026-10-31T21:41:16.229Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.056640625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C04-2026-10-31T214122070Z-wxegie1ics.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C04-2026-10-31T214122070Z-wxegie1ics.json new file mode 100644 index 0000000000..0164d0c2ff --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C04-2026-10-31T214122070Z-wxegie1ics.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxegsr1d9n-", + "startedAt": "2026-10-31T21:41:22.070Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.2, + "end": 9.8486328125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-I1vigH", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 21, + "init": { + "kind": "Initialized", + "project": "c04", + "layer": "32917ca55860501f5d1e8dbe41859397d5fc51df691dd83563ebd33c1c950660b7", + "root": "d67b96cdee8cff1c20de8653ad7383a69ea6b1e5833cad797a33a46bbe624e55", + "store": "/var/lib/lfs527/lfs527-I1vigH/store/store.sqlite" + }, + "setupMs": 160, + "cellBudgetMs": 89441, + "teardownMs": 782 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-I1vigH/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-I1vigH/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-I1vigH/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxegsr1d9n-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.8486328125, + "grantedAt": "2026-10-31T21:41:35.447Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.32 + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.21, + "exec": { + "wallMs": 1320.53, + "exitCode": 0, + "stdout": "LFS527 0 1793482894313908432 1793482895587378089\n", + "stderr": "", + "rc": 0, + "ms": 1273.469657 + }, + "unmountMs": 3.002, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.867, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-I1vigH/local/lfs527-wxegsr1d9n-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 1301.037, + "exitCode": 0, + "stdout": "LFS527 0 1793482895616258865 1793482896902851360\n", + "stderr": "", + "rc": 0, + "ms": 1286.592495 + }, + "commitMs": 114.343, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12add2a02c6bba7f8014365629376876e798e6643f11d35de67ff91e654239a3c5", + "commit": { + "id": "12add2a02c6bba7f8014365629376876e798e6643f11d35de67ff91e654239a3c5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32917ca55860501f5d1e8dbe41859397d5fc51df691dd83563ebd33c1c950660b7", + "root": "18776f3ef3e347620c553f53a04a383dd459bdfeac384881a29458d2b3927645", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482897009, + "logical": 0, + "newCanonical": 109367, + "newStored": 8246, + "newMetadata": 8246, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.481, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 24.214, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.469, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 11018.557, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.203, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1320.518, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.995, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.863, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1301.031, + "ok": true + }, + { + "name": "timed.commit", + "ms": 114.336, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.477, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.855, + "ok": true + }, + { + "name": "verify.identity", + "ms": 30.777, + "ok": true + }, + { + "name": "verify.exec", + "ms": 483.777, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.184, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 191.072, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32917ca55860501f5d1e8dbe41859397d5fc51df691dd83563ebd33c1c950660b7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.818, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.8486328125, + "grantedAt": "2026-10-31T21:41:35.447Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.32 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.867, + "execWallMs": 1301.037, + "commandMs": 1286.592495, + "commitMs": 114.343, + "commitKind": "Committed", + "unmountMs": 2.481 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:38.401Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.8486328125, + "grantedAt": "2026-10-31T21:41:35.447Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.57666015625 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C05-2026-10-31T214141629Z-wxevlp1ijt.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C05-2026-10-31T214141629Z-wxevlp1ijt.json new file mode 100644 index 0000000000..5c9436cb0b --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C05-2026-10-31T214141629Z-wxevlp1ijt.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxevth1fee-", + "startedAt": "2026-10-31T21:41:41.629Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.21, + "end": 9.8515625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-TLiZdc", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 26, + "init": { + "kind": "Initialized", + "project": "c05", + "layer": "32c35718deb466dac263b5954d24a0d59341793f02c714e267e27bc9b2f1a283b0", + "root": "6ec37362d7408e70f15b33cab43a2fe43b8f831402370405d5f313c7ec4ba610", + "store": "/var/lib/lfs527/lfs527-TLiZdc/store/store.sqlite" + }, + "setupMs": 168, + "cellBudgetMs": 89507, + "teardownMs": 773 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-TLiZdc/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-TLiZdc/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-TLiZdc/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxevth1fee-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 9.751953125, + "grantedAt": "2026-10-31T21:41:58.406Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.3 + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 11.217, + "exec": { + "wallMs": 1402.641, + "exitCode": 0, + "stdout": "LFS527 0 1793482917184045106 1793482918529343999\n", + "stderr": "", + "rc": 0, + "ms": 1345.298893 + }, + "unmountMs": 3.288, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.939, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-TLiZdc/local/lfs527-wxevth1fee-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 1288.677, + "exitCode": 0, + "stdout": "LFS527 0 1793482918578414631 1793482919848771839\n", + "stderr": "", + "rc": 0, + "ms": 1270.357208 + }, + "commitMs": 107.731, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125113854b51d900837fceecc6123623de59861d10823752f52c43d1a800a54688", + "commit": { + "id": "125113854b51d900837fceecc6123623de59861d10823752f52c43d1a800a54688", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c35718deb466dac263b5954d24a0d59341793f02c714e267e27bc9b2f1a283b0", + "root": "da78093e4e791559c1c2af88be0b1540d68c3a6b976f8a8c4cc6333fd7384d5e", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482919950, + "logical": 0, + "newCanonical": 109367, + "newStored": 8251, + "newMetadata": 8251, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.86, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 15.236, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.165, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14542.132, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.207, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1402.579, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.282, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.934, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1288.665, + "ok": true + }, + { + "name": "timed.commit", + "ms": 107.725, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.855, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.727, + "ok": true + }, + { + "name": "verify.identity", + "ms": 47.084, + "ok": true + }, + { + "name": "verify.exec", + "ms": 380.445, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.197, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 239.435, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c35718deb466dac263b5954d24a0d59341793f02c714e267e27bc9b2f1a283b0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 22.015, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 9.751953125, + "grantedAt": "2026-10-31T21:41:58.406Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.3 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.939, + "execWallMs": 1288.677, + "commandMs": 1270.357208, + "commitMs": 107.731, + "commitKind": "Committed", + "unmountMs": 2.86 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:42:01.289Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 9.751953125, + "grantedAt": "2026-10-31T21:41:58.406Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.0205078125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C06-2026-10-31T214204571Z-wxfdaz1j1v.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C06-2026-10-31T214204571Z-wxfdaz1j1v.json new file mode 100644 index 0000000000..4730c97ba4 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C06-2026-10-31T214204571Z-wxfdaz1j1v.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxfdhr1hjb-", + "startedAt": "2026-10-31T21:42:04.571Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.4, + "end": 9.91552734375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-hxsFxB", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 25, + "init": { + "kind": "Initialized", + "project": "c06", + "layer": "32062996531310e87fb9b5a1f2481e9e96997a5449dcb03c3e6d59b0c841d9adea", + "root": "4031b7157743aedb71480e13a6788c6a1d1fe623ae355e00ed69ac16d863dcf0", + "store": "/var/lib/lfs527/lfs527-hxsFxB/store/store.sqlite" + }, + "setupMs": 162, + "cellBudgetMs": 89440, + "teardownMs": 796 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-hxsFxB/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-hxsFxB/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-hxsFxB/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxfdhr1hjb-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.91552734375, + "grantedAt": "2026-10-31T21:42:14.627Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.33 + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 13.442, + "exec": { + "wallMs": 262.393, + "exitCode": 0, + "stdout": "LFS527 0 1793482934551229008 1793482934761882992\n", + "stderr": "", + "rc": 0, + "ms": 210.653984 + }, + "unmountMs": 10.188, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.146, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-hxsFxB/local/lfs527-wxfdhr1hjb-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 225.511, + "exitCode": 0, + "stdout": "LFS527 0 1793482934801390942 1793482935005248018\n", + "stderr": "", + "rc": 0, + "ms": 203.857076 + }, + "commitMs": 327.94, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12cb16098d32e34f453a47d6a7f2c5aa7ce5146c02ff635cbf95352189b9352d3b", + "commit": { + "id": "12cb16098d32e34f453a47d6a7f2c5aa7ce5146c02ff635cbf95352189b9352d3b", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32062996531310e87fb9b5a1f2481e9e96997a5449dcb03c3e6d59b0c841d9adea", + "root": "6ff6b266d1793d828932ca227b47f38ca2dda022bc71e4b90234849e6f5d9f66", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482935279, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 11.208, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.223, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.71, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8917.667, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 13.435, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 262.379, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.181, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.142, + "ok": true + }, + { + "name": "timed.exec", + "ms": 225.504, + "ok": true + }, + { + "name": "timed.commit", + "ms": 327.934, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 11.202, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.773, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.972, + "ok": true + }, + { + "name": "verify.exec", + "ms": 445.728, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.725, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 252.744, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32062996531310e87fb9b5a1f2481e9e96997a5449dcb03c3e6d59b0c841d9adea", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 4.42, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.91552734375, + "grantedAt": "2026-10-31T21:42:14.627Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.33 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.146, + "execWallMs": 225.511, + "commandMs": 203.857076, + "commitMs": 327.94, + "commitKind": "Committed", + "unmountMs": 11.208 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:42:16.752Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.91552734375, + "grantedAt": "2026-10-31T21:42:14.627Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.783203125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C07-2026-10-31T214219916Z-wxfp581j4w.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C07-2026-10-31T214219916Z-wxfp581j4w.json new file mode 100644 index 0000000000..cdf02f49f4 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C07-2026-10-31T214219916Z-wxfp581j4w.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxfpcx1hpf-", + "startedAt": "2026-10-31T21:42:19.916Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.23, + "end": 12.2763671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-UyyJer", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 24, + "init": { + "kind": "Initialized", + "project": "c07", + "layer": "324923a20784923f0ac502d79a9dcf88540269701122b9d9abcb73214e0fe9ac55", + "root": "5bbb166082dacb26285001138ed19a9f95b83815d46f2eb106554ef4c96045d0", + "store": "/var/lib/lfs527/lfs527-UyyJer/store/store.sqlite" + }, + "setupMs": 230, + "cellBudgetMs": 89172, + "teardownMs": 776 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-UyyJer/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-UyyJer/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-UyyJer/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxfpcx1hpf-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.64697265625, + "grantedAt": "2026-10-31T21:42:41.712Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.45 + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.395, + "exec": { + "wallMs": 472.053, + "exitCode": 0, + "stdout": "LFS527 0 1793482961387770205 1793482961832984938\n", + "stderr": "", + "rc": 0, + "ms": 445.214733 + }, + "unmountMs": 18.125, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.285, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-UyyJer/local/lfs527-wxfpcx1hpf-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 520.302, + "exitCode": 0, + "stdout": "LFS527 0 1793482961884002690 1793482962385591469\n", + "stderr": "", + "rc": 0, + "ms": 501.588779 + }, + "commitMs": 635.937, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1265c726ce418dc46458b953183cea72f89dc8308ba4eda539e8d8e92b6b4afb83", + "commit": { + "id": "1265c726ce418dc46458b953183cea72f89dc8308ba4eda539e8d8e92b6b4afb83", + "branch": null, + "parent": null, + "secondParent": null, + "base": "324923a20784923f0ac502d79a9dcf88540269701122b9d9abcb73214e0fe9ac55", + "root": "e3f03556e16d364c73869d464affa87b214f9a3b6f36c454926b5043b3e4fec6", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482962919, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 18.48, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 19.262, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.001, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 19997.277, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.389, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 472.042, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 18.118, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.28, + "ok": true + }, + { + "name": "timed.exec", + "ms": 520.295, + "ok": true + }, + { + "name": "timed.commit", + "ms": 635.93, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 18.474, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.068, + "ok": true + }, + { + "name": "verify.identity", + "ms": 35.993, + "ok": true + }, + { + "name": "verify.exec", + "ms": 896.982, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.624, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 403.812, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "324923a20784923f0ac502d79a9dcf88540269701122b9d9abcb73214e0fe9ac55", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 10.73, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.64697265625, + "grantedAt": "2026-10-31T21:42:41.712Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.45 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.285, + "execWallMs": 520.302, + "commandMs": 501.588779, + "commitMs": 635.937, + "commitKind": "Committed", + "unmountMs": 18.48 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:42:45.054Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.64697265625, + "grantedAt": "2026-10-31T21:42:41.712Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 10.40234375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C08-2026-10-31T214248349Z-wxgb311jw6.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C08-2026-10-31T214248349Z-wxgb311jw6.json new file mode 100644 index 0000000000..187b36efb3 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C08-2026-10-31T214248349Z-wxgb311jw6.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxgbb21hvu-", + "startedAt": "2026-10-31T21:42:48.349Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.5, + "end": 11.45849609375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-e121QI", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c08", + "layer": "32d95a39a910ee3f8f35fd4818154be3d69f932e1c85e8ded9be55e60f64967a03", + "root": "58638c0c6c8e40da5c034b578c4045b779ff7ba9cfc66e0db56417acebb31d56", + "store": "/var/lib/lfs527/lfs527-e121QI/store/store.sqlite" + }, + "setupMs": 171, + "cellBudgetMs": 89462, + "teardownMs": 768 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-e121QI/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-e121QI/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-e121QI/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxgbb21hvu-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.6728515625, + "grantedAt": "2026-10-31T21:42:58.622Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.42 + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 13.033, + "exec": { + "wallMs": 237.131, + "exitCode": 0, + "stdout": "LFS527 0 1793482978539403559 1793482978755634201\n", + "stderr": "", + "rc": 0, + "ms": 216.230642 + }, + "unmountMs": 9.822, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.999, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-e121QI/local/lfs527-wxgbb21hvu-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 247.077, + "exitCode": 0, + "stdout": "LFS527 0 1793482978790185725 1793482979024355692\n", + "stderr": "", + "rc": 0, + "ms": 234.169967 + }, + "commitMs": 344.856, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b86bcc3ef376977b63de1bf289fc61bb47bd58155ddc8b9a3e98e13645631e77", + "commit": { + "id": "12b86bcc3ef376977b63de1bf289fc61bb47bd58155ddc8b9a3e98e13645631e77", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d95a39a910ee3f8f35fd4818154be3d69f932e1c85e8ded9be55e60f64967a03", + "root": "203e9c4abdbdfea835334e2e326e5e935a54cd296202065ca4a92eaefd3c82cf", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482979318, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 9.507, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.621, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.829, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 9146.384, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 13.026, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 237.12, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.815, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.995, + "ok": true + }, + { + "name": "timed.exec", + "ms": 247.071, + "ok": true + }, + { + "name": "timed.commit", + "ms": 344.849, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 9.501, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.336, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.81, + "ok": true + }, + { + "name": "verify.exec", + "ms": 385.703, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.298, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1586.2, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d95a39a910ee3f8f35fd4818154be3d69f932e1c85e8ded9be55e60f64967a03", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 7.499, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.6728515625, + "grantedAt": "2026-10-31T21:42:58.622Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.42 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.999, + "execWallMs": 247.077, + "commandMs": 234.169967, + "commitMs": 344.856, + "commitKind": "Committed", + "unmountMs": 9.507 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:02.040Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.6728515625, + "grantedAt": "2026-10-31T21:42:58.622Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 12.2763671875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C09-2026-10-31T214305697Z-wxgogx1k4l.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C09-2026-10-31T214305697Z-wxgogx1k4l.json new file mode 100644 index 0000000000..8bdd427140 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C09-2026-10-31T214305697Z-wxgogx1k4l.json @@ -0,0 +1,380 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxgoo01i20-", + "startedAt": "2026-10-31T21:43:05.697Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.28, + "end": 11.18115234375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-dUyNzl", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c09", + "layer": "32f98cdc70fbbcd6f37681e82edbbdd3583b93a12ffa500c942e2244442b1511f1", + "root": "9e2b63330a5f232a6cc183dcb3ce242815f88e7f129595fd5049f0163178c712", + "store": "/var/lib/lfs527/lfs527-dUyNzl/store/store.sqlite" + }, + "setupMs": 154, + "cellBudgetMs": 89512, + "teardownMs": 926 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-dUyNzl/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-dUyNzl/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-dUyNzl/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxgoo01i20-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:21.613Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.36 + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 312.756, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d799da015ebb7221790e797cb99d0441af13603e096196b7e522e11342bbb76d", + "commit": { + "id": "12d799da015ebb7221790e797cb99d0441af13603e096196b7e522e11342bbb76d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32f98cdc70fbbcd6f37681e82edbbdd3583b93a12ffa500c942e2244442b1511f1", + "root": "59905f31678103fdd0bbe851127206db97d8816d715261c2cf502851cea3d9f9", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793483001457, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.062, + "exec": { + "wallMs": 165.709, + "exitCode": 0, + "stdout": "LFS527 0 1793483001551285400 1793483001692740466\n", + "stderr": "", + "rc": 0, + "ms": 141.455066 + }, + "unmountMs": 5.953, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 13.118, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-dUyNzl/local/lfs527-wxgoo01i20-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 151.621, + "exitCode": 0, + "stdout": "LFS527 0 1793483001794694494 1793483001929728394\n", + "stderr": "", + "rc": 0, + "ms": 135.0339 + }, + "commitMs": 0.813, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12d799da015ebb7221790e797cb99d0441af13603e096196b7e522e11342bbb76d", + "root": "59905f31678103fdd0bbe851127206db97d8816d715261c2cf502851cea3d9f9", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.039, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.33, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.84, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14234.809, + "ok": true + }, + { + "name": "setup.mount", + "ms": 11.84, + "ok": true + }, + { + "name": "setup.exec", + "ms": 312.746, + "ok": true + }, + { + "name": "setup.commit", + "ms": 336.505, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 12.858, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.057, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 165.702, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.894, + "ok": true + }, + { + "name": "timed.mount", + "ms": 13.111, + "ok": true + }, + { + "name": "timed.exec", + "ms": 151.608, + "ok": true + }, + { + "name": "timed.commit", + "ms": 0.811, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.026, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.479, + "ok": true + }, + { + "name": "verify.identity", + "ms": 67.468, + "ok": true + }, + { + "name": "verify.exec", + "ms": 455.67, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.039, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 572.581, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32f98cdc70fbbcd6f37681e82edbbdd3583b93a12ffa500c942e2244442b1511f1", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 65.95, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:21.613Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.36 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 13.118, + "execWallMs": 151.621, + "commandMs": 135.0339, + "commitMs": 0.813, + "commitKind": "UpToDate", + "unmountMs": 7.039 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:23.861Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:21.613Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 11.34130859375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C10-2026-10-31T214326937Z-wxh4ux1khz.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C10-2026-10-31T214326937Z-wxh4ux1khz.json new file mode 100644 index 0000000000..1e48c000b6 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C10-2026-10-31T214326937Z-wxh4ux1khz.json @@ -0,0 +1,399 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxh51x1i8e-", + "startedAt": "2026-10-31T21:43:26.937Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.25, + "end": 11.57080078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-8opObn", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 21, + "init": { + "kind": "Initialized", + "project": "c10", + "layer": "3241b1914fec7937586b349706d1c2d10d9d38fb028ace21b7fe3e040d70ef3c99", + "root": "930ec9ade99519e614a5bcc0191a69df9cde3b596a8ac8effab6eda3a0cad5a7", + "store": "/var/lib/lfs527/lfs527-8opObn/store/store.sqlite" + }, + "setupMs": 158, + "cellBudgetMs": 89531, + "teardownMs": 787 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-8opObn/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-8opObn/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-8opObn/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxh51x1i8e-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.62060546875, + "grantedAt": "2026-10-31T21:43:38.284Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.21 + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 238.793, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12811f90dacfab8ae3edf3a3c92a5d884d9a931fc74d20ccd8c670b4db9b3adbc4", + "commit": { + "id": "12811f90dacfab8ae3edf3a3c92a5d884d9a931fc74d20ccd8c670b4db9b3adbc4", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3241b1914fec7937586b349706d1c2d10d9d38fb028ace21b7fe3e040d70ef3c99", + "root": "256fb09e34ed6af86ba8247a977adabf390ae77359824c512fd6359d1d8cf638", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793483017981, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.621, + "exec": { + "wallMs": 369.442, + "exitCode": 0, + "stdout": "LFS527 0 1793483018065474246 1793483018414623419\n", + "stderr": "", + "rc": 0, + "ms": 349.149173 + }, + "unmountMs": 14.425, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.717, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-8opObn/local/lfs527-wxh51x1i8e-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 321.22, + "exitCode": 0, + "stdout": "LFS527 0 1793483018462836801 1793483018763518134\n", + "stderr": "", + "rc": 0, + "ms": 300.681333 + }, + "commitMs": 51.126, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129aa01f629f26f19ba68ee1b4819377f7654f025c2912574138e56358d9fa9466", + "commit": { + "id": "129aa01f629f26f19ba68ee1b4819377f7654f025c2912574138e56358d9fa9466", + "branch": null, + "parent": "12811f90dacfab8ae3edf3a3c92a5d884d9a931fc74d20ccd8c670b4db9b3adbc4", + "secondParent": null, + "base": "3241b1914fec7937586b349706d1c2d10d9d38fb028ace21b7fe3e040d70ef3c99", + "root": "86fac17f5efeec3ade2dc37d7f631e0d48d2be60c5d879ba4584b1630964f5d6", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793483018766, + "logical": 134217728, + "newCanonical": 487, + "newStored": 297, + "newMetadata": 297, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.626, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.836, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.618, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 9638.554, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.347, + "ok": true + }, + { + "name": "setup.exec", + "ms": 238.782, + "ok": true + }, + { + "name": "setup.commit", + "ms": 318.235, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.759, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.616, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 369.436, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.419, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.706, + "ok": true + }, + { + "name": "timed.exec", + "ms": 321.213, + "ok": true + }, + { + "name": "timed.commit", + "ms": 51.12, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.618, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.615, + "ok": true + }, + { + "name": "verify.identity", + "ms": 30.676, + "ok": true + }, + { + "name": "verify.exec", + "ms": 978.096, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.378, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1869.81, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3241b1914fec7937586b349706d1c2d10d9d38fb028ace21b7fe3e040d70ef3c99", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 4.826, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.62060546875, + "grantedAt": "2026-10-31T21:43:38.284Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.21 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.717, + "execWallMs": 321.22, + "commandMs": 300.681333, + "commitMs": 51.126, + "commitKind": "Committed", + "unmountMs": 12.626 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:42.383Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.62060546875, + "grantedAt": "2026-10-31T21:43:38.284Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 11.18115234375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C11-2026-10-31T214345845Z-wxhjg51kn2.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C11-2026-10-31T214345845Z-wxhjg51kn2.json new file mode 100644 index 0000000000..2424b69b05 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C11-2026-10-31T214345845Z-wxhjg51kn2.json @@ -0,0 +1,380 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxhjmr1iew-", + "startedAt": "2026-10-31T21:43:45.845Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.1, + "end": 11.787109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-opuQKx", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 24, + "init": { + "kind": "Initialized", + "project": "c11", + "layer": "3262f35a4268ace9f5dbce434540b12234ed9ab93a071c40da215648b06ecdb564", + "root": "f22ebb3de5109e326c802dd274d4b8f4ac18133e6bb37863450e7490630edde6", + "store": "/var/lib/lfs527/lfs527-opuQKx/store/store.sqlite" + }, + "setupMs": 120, + "cellBudgetMs": 89601, + "teardownMs": 761 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-opuQKx/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-opuQKx/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-opuQKx/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxhjmr1iew-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 12.46533203125, + "grantedAt": "2026-10-31T21:44:02.938Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.14 + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 266.902, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1229f72e380179e31b7de002efcd18694549a75c1436e19fc1c5bc161c8ea99d97", + "commit": { + "id": "1229f72e380179e31b7de002efcd18694549a75c1436e19fc1c5bc161c8ea99d97", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3262f35a4268ace9f5dbce434540b12234ed9ab93a071c40da215648b06ecdb564", + "root": "62e7adabe6c15b2b95cd99d4af42805fa04d4223e7bb1753e1693a8846dd9f77", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793483042833, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.816, + "exec": { + "wallMs": 170.737, + "exitCode": 0, + "stdout": "LFS527 0 1793483042922237714 1793483043069017413\n", + "stderr": "", + "rc": 0, + "ms": 146.779699 + }, + "unmountMs": 9.469, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.634, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-opuQKx/local/lfs527-wxhjmr1iew-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 145.511, + "exitCode": 0, + "stdout": "LFS527 0 1793483043112359393 1793483043241415918\n", + "stderr": "", + "rc": 0, + "ms": 129.056525 + }, + "commitMs": 145.901, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1229f72e380179e31b7de002efcd18694549a75c1436e19fc1c5bc161c8ea99d97", + "root": "62e7adabe6c15b2b95cd99d4af42805fa04d4223e7bb1753e1693a8846dd9f77", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.282, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.45, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.644, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15663.993, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.354, + "ok": true + }, + { + "name": "setup.exec", + "ms": 266.889, + "ok": true + }, + { + "name": "setup.commit", + "ms": 317.168, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.188, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.812, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 170.729, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.459, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.629, + "ok": true + }, + { + "name": "timed.exec", + "ms": 145.505, + "ok": true + }, + { + "name": "timed.commit", + "ms": 145.895, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.275, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.788, + "ok": true + }, + { + "name": "verify.identity", + "ms": 35.128, + "ok": true + }, + { + "name": "verify.exec", + "ms": 363.586, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.95, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 779.321, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3262f35a4268ace9f5dbce434540b12234ed9ab93a071c40da215648b06ecdb564", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 10.564, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 12.46533203125, + "grantedAt": "2026-10-31T21:44:02.938Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.14 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.634, + "execWallMs": 145.511, + "commandMs": 129.056525, + "commitMs": 145.901, + "commitKind": "UpToDate", + "unmountMs": 10.282 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:05.231Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 12.46533203125, + "grantedAt": "2026-10-31T21:44:02.938Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 12.00537109375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C12-2026-10-31T214408571Z-wxi0zf1l2b.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C12-2026-10-31T214408571Z-wxi0zf1l2b.json new file mode 100644 index 0000000000..5d1354b282 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-namespaces-C12-2026-10-31T214408571Z-wxi0zf1l2b.json @@ -0,0 +1,338 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-namespaces", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxi16u1ila-", + "startedAt": "2026-10-31T21:44:08.571Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 1.21, + "end": 10.76220703125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-kPT10P", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 21, + "init": { + "kind": "Initialized", + "project": "c12", + "layer": "32d3591f18f041f7123e69d7664d26469ce6d1da78e156f6d8c2d3038bd532fc63", + "root": "f946d5060d869c0cbbaa00247dbe0a3e8305535f1ad1da56e2e095996231d73a", + "store": "/var/lib/lfs527/lfs527-kPT10P/store/store.sqlite" + }, + "setupMs": 127, + "cellBudgetMs": 89606, + "teardownMs": 697 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "imageArchive": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-kPT10P/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-kPT10P/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-kPT10P/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxi16u1ila-", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/Users/yifanxu/.cache/layerfs-test/lfs527-images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.43798828125, + "grantedAt": "2026-10-31T21:44:17.923Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.18 + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.82, + "exec": { + "wallMs": 366.95, + "exitCode": 0, + "stdout": "LFS527 0 1793483057727683088 1793483058066860123\n", + "stderr": "", + "rc": 0, + "ms": 339.177035 + }, + "unmountMs": 1.681, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.919, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-kPT10P/local/lfs527-wxi16u1ila-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 265.166, + "exitCode": 0, + "stdout": "LFS527 0 1793483058096919811 1793483058342814948\n", + "stderr": "", + "rc": 0, + "ms": 245.895137 + }, + "commitMs": 43.513, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120827da2d10700a69ef4b6c83d8bded9b3973e2fab3ff7ea41fa9d527a13fe9a0", + "commit": { + "id": "120827da2d10700a69ef4b6c83d8bded9b3973e2fab3ff7ea41fa9d527a13fe9a0", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d3591f18f041f7123e69d7664d26469ce6d1da78e156f6d8c2d3038bd532fc63", + "root": "b53ad74f2e69325d8153ed76c1dbde41fdf617b157f3a585bc5c75c0bf3c6b28", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793483058383, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26832, + "newMetadata": 6523, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.059, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.136, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.597, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8330.271, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.814, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 366.939, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 1.676, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.915, + "ok": true + }, + { + "name": "timed.exec", + "ms": 265.16, + "ok": true + }, + { + "name": "timed.commit", + "ms": 43.506, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.053, + "ok": true + }, + { + "name": "verify.mount", + "ms": 2.622, + "ok": true + }, + { + "name": "verify.identity", + "ms": 22.681, + "ok": true + }, + { + "name": "verify.exec", + "ms": 113.864, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 1.604, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 196.936, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d3591f18f041f7123e69d7664d26469ce6d1da78e156f6d8c2d3038bd532fc63", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 4.788, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.43798828125, + "grantedAt": "2026-10-31T21:44:17.923Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 1.18 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.919, + "execWallMs": 265.166, + "commandMs": 245.895137, + "commitMs": 43.513, + "commitKind": "Committed", + "unmountMs": 2.059 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:19.296Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.43798828125, + "grantedAt": "2026-10-31T21:44:17.923Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 11.787109375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-641eda835112048a" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C01-2026-10-31T213814929Z-wxag4118rt.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C01-2026-10-31T213814929Z-wxag4118rt.json new file mode 100644 index 0000000000..0962bfe8d7 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C01-2026-10-31T213814929Z-wxag4118rt.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wxagee13ob-", + "startedAt": "2026-10-31T21:38:14.929Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.68, + "end": 9.267578125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-0I1zj0", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 25, + "init": { + "kind": "Initialized", + "project": "c01", + "layer": "32faf345a001491f3fbf7dd6f92b66cc45085bb1dc02203d0fd381a7c0ef2c1e60", + "root": "28a12e8275f87411b11e1c114d5effed24db83dc83148a3fb213cf24326769ab", + "store": "/var/lib/lfs527/lfs527-0I1zj0/store/store.sqlite" + }, + "setupMs": 170, + "cellBudgetMs": 89453, + "teardownMs": 16 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-0I1zj0/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-0I1zj0/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-0I1zj0/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxagee13ob-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3437, + "load1": 9.267578125, + "grantedAt": "2026-10-31T21:38:19.975Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.63 + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.56, + "exec": { + "wallMs": 616.418, + "exitCode": 0, + "stdout": "LFS527 0 1793482696067620512 1793482696679713807\n", + "stderr": "", + "rc": 0, + "ms": 612.093295 + }, + "unmountMs": 3.939, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.185, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-0I1zj0/local/lfs527-wxagee13ob-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 661.569, + "exitCode": 0, + "stdout": "LFS527 0 1793482700134720102 1793482700792838454\n", + "stderr": "", + "rc": 0, + "ms": 658.118352 + }, + "commitMs": 101.669, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12787887022d8c437453f01db200a91ff211009aec755135cb25cb8a3c36b0b908", + "commit": { + "id": "12787887022d8c437453f01db200a91ff211009aec755135cb25cb8a3c36b0b908", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32faf345a001491f3fbf7dd6f92b66cc45085bb1dc02203d0fd381a7c0ef2c1e60", + "root": "4ea5ef720732d06846a0da65e7bf7351ebd82250d95bfe4fffd1af0158f1c26b", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482700885, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.118, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 14.07, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.691, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.951, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.555, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 616.405, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.934, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.179, + "ok": true + }, + { + "name": "timed.exec", + "ms": 661.562, + "ok": true + }, + { + "name": "timed.commit", + "ms": 101.662, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.111, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.222, + "ok": true + }, + { + "name": "verify.identity", + "ms": 12.384, + "ok": true + }, + { + "name": "verify.exec", + "ms": 932.753, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.184, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.476, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32faf345a001491f3fbf7dd6f92b66cc45085bb1dc02203d0fd381a7c0ef2c1e60", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 3442.122, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3437, + "load1": 9.267578125, + "grantedAt": "2026-10-31T21:38:19.975Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.63 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.185, + "execWallMs": 661.569, + "commandMs": 658.118352, + "commitMs": 101.669, + "commitKind": "Committed", + "unmountMs": 4.118 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:21.768Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3437, + "load1": 9.267578125, + "grantedAt": "2026-10-31T21:38:19.975Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 9.46533203125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C02-2026-10-31T213824901Z-wxant119in.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C02-2026-10-31T213824901Z-wxant119in.json new file mode 100644 index 0000000000..ec18800d6a --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C02-2026-10-31T213824901Z-wxant119in.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wxanzz13up-", + "startedAt": "2026-10-31T21:38:24.901Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.58, + "end": 8.31640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-HkOVru", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 23, + "init": { + "kind": "Initialized", + "project": "c02", + "layer": "32c7bceeabd06c41f7548407384df29fc0e4842bb6a604ba12f8c5fb777112555d", + "root": "9efc746e3fd224eabff34a00b26a0b476c9d7560102fbfea4e303df748ea15b9", + "store": "/var/lib/lfs527/lfs527-HkOVru/store/store.sqlite" + }, + "setupMs": 133, + "cellBudgetMs": 89597, + "teardownMs": 15 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-HkOVru/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-HkOVru/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-HkOVru/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxanzz13up-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.60546875, + "grantedAt": "2026-10-31T21:38:26.926Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.58 + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.833, + "exec": { + "wallMs": 1332.245, + "exitCode": 0, + "stdout": "LFS527 0 1793482705735488122 1793482707063435302\n", + "stderr": "", + "rc": 0, + "ms": 1327.94718 + }, + "unmountMs": 5.614, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.636, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-HkOVru/local/lfs527-wxanzz13up-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1166.956, + "exitCode": 0, + "stdout": "LFS527 0 1793482707085540243 1793482708248687323\n", + "stderr": "", + "rc": 0, + "ms": 1163.14708 + }, + "commitMs": 100.158, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120b5682a32a31c95583aa6f4f56038f78609c2c09a2c1c9977524882e86b7507e", + "commit": { + "id": "120b5682a32a31c95583aa6f4f56038f78609c2c09a2c1c9977524882e86b7507e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c7bceeabd06c41f7548407384df29fc0e4842bb6a604ba12f8c5fb777112555d", + "root": "c6f09f64238dfe51fa746d50f43d74fe0df03a0f3d7a859738bcb39b495959ee", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482708340, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.845, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.995, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.628, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.774, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.826, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1332.19, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.602, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.628, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1166.949, + "ok": true + }, + { + "name": "timed.commit", + "ms": 100.152, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.84, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.715, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.419, + "ok": true + }, + { + "name": "verify.exec", + "ms": 711.213, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.728, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.453, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c7bceeabd06c41f7548407384df29fc0e4842bb6a604ba12f8c5fb777112555d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 6.066, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.60546875, + "grantedAt": "2026-10-31T21:38:26.926Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.58 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.636, + "execWallMs": 1166.956, + "commandMs": 1163.14708, + "commitMs": 100.158, + "commitKind": "Committed", + "unmountMs": 2.845 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:28.997Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.60546875, + "grantedAt": "2026-10-31T21:38:26.926Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 8.60546875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C03-2026-10-31T213836396Z-wxawoc1a0l.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C03-2026-10-31T213836396Z-wxawoc1a0l.json new file mode 100644 index 0000000000..c631f59698 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C03-2026-10-31T213836396Z-wxawoc1a0l.json @@ -0,0 +1,316 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wxay2y15ko-", + "startedAt": "2026-10-31T21:38:36.396Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.49, + "end": 7.50537109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-53jNEV", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 57, + "init": { + "kind": "Initialized", + "project": "c03", + "layer": "329857cd685af9704b7097581747861c8c52e699287f11520340e567a95daed46b", + "root": "3e73cf0a922c96e48446db5a2c11bb555eb4c7f97d24f9dd0729ffc9c24e2338", + "store": "/var/lib/lfs527/lfs527-53jNEV/store/store.sqlite" + }, + "setupMs": 178, + "cellBudgetMs": 89413, + "teardownMs": 29 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-53jNEV/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-53jNEV/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-53jNEV/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxay2y15ko-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.50537109375, + "grantedAt": "2026-10-31T21:38:40.055Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.45 + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.443, + "exec": { + "wallMs": 1281.609, + "exitCode": 0, + "stdout": "LFS527 0 1793482718918307650 1793482720191713026\n", + "stderr": "", + "rc": 0, + "ms": 1273.405376 + }, + "unmountMs": 4.19, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.411, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-53jNEV/local/lfs527-wxay2y15ko-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 1093.938, + "exitCode": 0, + "stdout": "LFS527 0 1793482720217258205 1793482721306594571\n", + "stderr": "", + "rc": 0, + "ms": 1089.336366 + }, + "commitMs": 32.504, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "3e73cf0a922c96e48446db5a2c11bb555eb4c7f97d24f9dd0729ffc9c24e2338", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.376, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 15.712, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.585, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.674, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.43, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1281.542, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.177, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.403, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1093.888, + "ok": true + }, + { + "name": "timed.commit", + "ms": 32.497, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.371, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.485, + "ok": true + }, + { + "name": "verify.identity", + "ms": 16.092, + "ok": true + }, + { + "name": "verify.exec", + "ms": 5.142, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.957, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 27.411, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "329857cd685af9704b7097581747861c8c52e699287f11520340e567a95daed46b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 8.027, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.50537109375, + "grantedAt": "2026-10-31T21:38:40.055Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.45 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.411, + "execWallMs": 1093.938, + "commandMs": 1089.336366, + "commitMs": 32.504, + "commitKind": "UpToDate", + "unmountMs": 4.376 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:41.328Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.50537109375, + "grantedAt": "2026-10-31T21:38:40.055Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.810546875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C04-2026-10-31T213845493Z-wxb3p11bco.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C04-2026-10-31T213845493Z-wxb3p11bco.json new file mode 100644 index 0000000000..323aaa2767 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C04-2026-10-31T213845493Z-wxb3p11bco.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxb41x15qf-", + "startedAt": "2026-10-31T21:38:45.493Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.41, + "end": 7.1455078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-m3lwd4", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 60, + "init": { + "kind": "Initialized", + "project": "c04", + "layer": "320cc9d11033dae56e356bb06cba8f92d54a1d28823518a9a19c296725700265ae", + "root": "c43cf34851980100d6f726eb92ccc861dbaa2e6644ca632888854a3bb496992f", + "store": "/var/lib/lfs527/lfs527-m3lwd4/store/store.sqlite" + }, + "setupMs": 203, + "cellBudgetMs": 89422, + "teardownMs": 19 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-m3lwd4/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-m3lwd4/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-m3lwd4/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxb41x15qf-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3094, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:51.174Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.38 + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 13.843, + "exec": { + "wallMs": 1496.399, + "exitCode": 0, + "stdout": "LFS527 0 1793482726729066562 1793482728220285808\n", + "stderr": "", + "rc": 0, + "ms": 1491.219246 + }, + "unmountMs": 3.705, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.547, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-m3lwd4/local/lfs527-wxb41x15qf-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 1408.756, + "exitCode": 0, + "stdout": "LFS527 0 1793482731345452785 1793482732747110521\n", + "stderr": "", + "rc": 0, + "ms": 1401.657736 + }, + "commitMs": 132.83, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12869a622669cb1c1e2d36da15a33e370f90cf75b6cc27de7e189efeabb6444fdd", + "commit": { + "id": "12869a622669cb1c1e2d36da15a33e370f90cf75b6cc27de7e189efeabb6444fdd", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320cc9d11033dae56e356bb06cba8f92d54a1d28823518a9a19c296725700265ae", + "root": "91246635d84653476b27f3bb74a88e5fbfa0896b988962be9fc0db14ca8fafbd", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482732873, + "logical": 0, + "newCanonical": 109367, + "newStored": 8252, + "newMetadata": 8252, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.787, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.672, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.637, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.83, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 13.832, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1496.386, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.698, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.528, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1408.727, + "ok": true + }, + { + "name": "timed.commit", + "ms": 132.821, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.769, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.642, + "ok": true + }, + { + "name": "verify.identity", + "ms": 11.657, + "ok": true + }, + { + "name": "verify.exec", + "ms": 364.113, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.915, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.567, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320cc9d11033dae56e356bb06cba8f92d54a1d28823518a9a19c296725700265ae", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 3103.988, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3094, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:51.174Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.38 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.547, + "execWallMs": 1408.756, + "commandMs": 1401.657736, + "commitMs": 132.83, + "commitKind": "Committed", + "unmountMs": 4.787 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:53.201Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3094, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:51.174Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.984375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C05-2026-10-31T213856304Z-wxbc1c1cvx.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C05-2026-10-31T213856304Z-wxbc1c1cvx.json new file mode 100644 index 0000000000..211b2a5e71 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C05-2026-10-31T213856304Z-wxbc1c1cvx.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxbc8817uy-", + "startedAt": "2026-10-31T21:38:56.304Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.43, + "end": 6.8955078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-7lulVK", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 26, + "init": { + "kind": "Initialized", + "project": "c05", + "layer": "3286d660c24d341092275759f6368738a558ac830052c9460a5e7017aa0406252e", + "root": "48d0267ecfa567e119bbbbe23504678c88a81c2a4ca004f159848909fb072fe0", + "store": "/var/lib/lfs527/lfs527-7lulVK/store/store.sqlite" + }, + "setupMs": 137, + "cellBudgetMs": 89606, + "teardownMs": 14 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-7lulVK/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-7lulVK/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-7lulVK/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbc8817uy-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.9736328125, + "grantedAt": "2026-10-31T21:38:57.944Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.43 + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.053, + "exec": { + "wallMs": 977.945, + "exitCode": 0, + "stdout": "LFS527 0 1793482737111861767 1793482738086443894\n", + "stderr": "", + "rc": 0, + "ms": 974.582127 + }, + "unmountMs": 2.973, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.647, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-7lulVK/local/lfs527-wxbc8817uy-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 936.045, + "exitCode": 0, + "stdout": "LFS527 0 1793482738100852356 1793482739033990280\n", + "stderr": "", + "rc": 0, + "ms": 933.137924 + }, + "commitMs": 108.969, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12cc37ca8032270d6371d3f9c9f3b8d0162a1103a0ee9622413c71b5055ab85a13", + "commit": { + "id": "12cc37ca8032270d6371d3f9c9f3b8d0162a1103a0ee9622413c71b5055ab85a13", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3286d660c24d341092275759f6368738a558ac830052c9460a5e7017aa0406252e", + "root": "e8d309bd0f27224121d4d0f3fb34ccebe275282ded80339c9340b707225dafee", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482739135, + "logical": 0, + "newCanonical": 109367, + "newStored": 8255, + "newMetadata": 8255, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.046, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.667, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.471, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.976, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.048, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 977.933, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 2.967, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.642, + "ok": true + }, + { + "name": "timed.exec", + "ms": 936.039, + "ok": true + }, + { + "name": "timed.commit", + "ms": 108.962, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.041, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.528, + "ok": true + }, + { + "name": "verify.identity", + "ms": 8.21, + "ok": true + }, + { + "name": "verify.exec", + "ms": 303.03, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.527, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.618, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3286d660c24d341092275759f6368738a558ac830052c9460a5e7017aa0406252e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.465, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.9736328125, + "grantedAt": "2026-10-31T21:38:57.944Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.43 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.647, + "execWallMs": 936.045, + "commandMs": 933.137924, + "commitMs": 108.969, + "commitKind": "Committed", + "unmountMs": 3.046 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:59.375Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.9736328125, + "grantedAt": "2026-10-31T21:38:57.944Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.9736328125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C06-2026-10-31T213902708Z-wxbgz81egm.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C06-2026-10-31T213902708Z-wxbgz81egm.json new file mode 100644 index 0000000000..65beac9840 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C06-2026-10-31T213902708Z-wxbgz81egm.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxbh5q19zj-", + "startedAt": "2026-10-31T21:39:02.708Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.39, + "end": 6.82373046875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-Siy2lL", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c06", + "layer": "328118efb65a60d9f5700ff213179bbcc16a5a514d7076c1b5891194f15404303f", + "root": "260faa617e6907c9348b484dd686961d5d8f2b9ee42d004379ffdf0f0cee9217", + "store": "/var/lib/lfs527/lfs527-Siy2lL/store/store.sqlite" + }, + "setupMs": 132, + "cellBudgetMs": 89590, + "teardownMs": 16 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-Siy2lL/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-Siy2lL/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-Siy2lL/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbh5q19zj-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 508, + "load1": 6.82373046875, + "grantedAt": "2026-10-31T21:39:04.199Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.39 + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.579, + "exec": { + "wallMs": 301.651, + "exitCode": 0, + "stdout": "LFS527 0 1793482743523124330 1793482743820682002\n", + "stderr": "", + "rc": 0, + "ms": 297.557672 + }, + "unmountMs": 14.362, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.477, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-Siy2lL/local/lfs527-wxbh5q19zj-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 224.956, + "exitCode": 0, + "stdout": "LFS527 0 1793482744357706588 1793482744578792766\n", + "stderr": "", + "rc": 0, + "ms": 221.086178 + }, + "commitMs": 323.722, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124c9a163d232049eda6915809ec896ccf516e3302ea6558b57f05a1a0017cfce2", + "commit": { + "id": "124c9a163d232049eda6915809ec896ccf516e3302ea6558b57f05a1a0017cfce2", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328118efb65a60d9f5700ff213179bbcc16a5a514d7076c1b5891194f15404303f", + "root": "c1dda3b3f4c2c22be177536d2ff8a4a7ae5d0bddb3fbd6222866fe6de7da2752", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482744849, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.518, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.131, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.528, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 13.387, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.573, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 301.63, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.351, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.472, + "ok": true + }, + { + "name": "timed.exec", + "ms": 224.95, + "ok": true + }, + { + "name": "timed.commit", + "ms": 323.716, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.511, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.496, + "ok": true + }, + { + "name": "verify.identity", + "ms": 10.607, + "ok": true + }, + { + "name": "verify.exec", + "ms": 455.495, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.449, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.2, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328118efb65a60d9f5700ff213179bbcc16a5a514d7076c1b5891194f15404303f", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 514.338, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 508, + "load1": 6.82373046875, + "grantedAt": "2026-10-31T21:39:04.199Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.39 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.477, + "execWallMs": 224.956, + "commandMs": 221.086178, + "commitMs": 323.722, + "commitKind": "Committed", + "unmountMs": 12.518 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:05.311Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 508, + "load1": 6.82373046875, + "grantedAt": "2026-10-31T21:39:04.199Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.8955078125 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C07-2026-10-31T213908531Z-wxblgz1f24.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C07-2026-10-31T213908531Z-wxblgz1f24.json new file mode 100644 index 0000000000..eef79ae319 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C07-2026-10-31T213908531Z-wxblgz1f24.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxblnj1a5e-", + "startedAt": "2026-10-31T21:39:08.531Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.6, + "end": 6.99755859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-9AhKjy", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 24, + "init": { + "kind": "Initialized", + "project": "c07", + "layer": "325a63bbd5e36b4e55495e23169bd48447652ab3a66a67ea2f96ec356cd06745e5", + "root": "7201f50b11ac85da37795c796d4dca36e94e4f10508a442b2ef01c11c3c4e99f", + "store": "/var/lib/lfs527/lfs527-9AhKjy/store/store.sqlite" + }, + "setupMs": 173, + "cellBudgetMs": 89425, + "teardownMs": 18 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-9AhKjy/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-9AhKjy/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-9AhKjy/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxblnj1a5e-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99755859375, + "grantedAt": "2026-10-31T21:39:10.095Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.71 + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.176, + "exec": { + "wallMs": 521.27, + "exitCode": 0, + "stdout": "LFS527 0 1793482749703448441 1793482750220697046\n", + "stderr": "", + "rc": 0, + "ms": 517.248605 + }, + "unmountMs": 19.606, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.818, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-9AhKjy/local/lfs527-wxblnj1a5e-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 595.225, + "exitCode": 0, + "stdout": "LFS527 0 1793482750252323754 1793482750844520473\n", + "stderr": "", + "rc": 0, + "ms": 592.196719 + }, + "commitMs": 753.591, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e6d5cfe03675596df2dc1f0a5bcd1d79cafa0fa9c6087febd771ae8b9f3bc5cc", + "commit": { + "id": "12e6d5cfe03675596df2dc1f0a5bcd1d79cafa0fa9c6087febd771ae8b9f3bc5cc", + "branch": null, + "parent": null, + "secondParent": null, + "base": "325a63bbd5e36b4e55495e23169bd48447652ab3a66a67ea2f96ec356cd06745e5", + "root": "b56eb92490e036bcdde4965d2b590e0cab2bdc161393a0b0f8bf314934722d9a", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482751484, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 22.766, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 12.615, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.761, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.256, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.167, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 521.256, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.601, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.814, + "ok": true + }, + { + "name": "timed.exec", + "ms": 595.218, + "ok": true + }, + { + "name": "timed.commit", + "ms": 753.577, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 22.761, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.275, + "ok": true + }, + { + "name": "verify.identity", + "ms": 13.958, + "ok": true + }, + { + "name": "verify.exec", + "ms": 804.8, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.12, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.662, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325a63bbd5e36b4e55495e23169bd48447652ab3a66a67ea2f96ec356cd06745e5", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.82, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99755859375, + "grantedAt": "2026-10-31T21:39:10.095Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.71 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.818, + "execWallMs": 595.225, + "commandMs": 592.196719, + "commitMs": 753.591, + "commitKind": "Committed", + "unmountMs": 22.766 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:12.387Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99755859375, + "grantedAt": "2026-10-31T21:39:10.095Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.82373046875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C08-2026-10-31T213915712Z-wxbr0g1f87.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C08-2026-10-31T213915712Z-wxbr0g1f87.json new file mode 100644 index 0000000000..05514811ab --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C08-2026-10-31T213915712Z-wxbr0g1f87.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxbr7j1abg-", + "startedAt": "2026-10-31T21:39:15.712Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.66, + "end": 7.07763671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-88G7oP", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c08", + "layer": "32de45b34f5d25cd292ef9fca538af742e58b30d09e48fbd3edcbf842a09a34054", + "root": "57a59f9be7815a5f06ce28ed9fc36680accad5e473a4d720a53b0bd9b09fb08c", + "store": "/var/lib/lfs527/lfs527-88G7oP/store/store.sqlite" + }, + "setupMs": 133, + "cellBudgetMs": 89593, + "teardownMs": 18 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-88G7oP/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-88G7oP/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-88G7oP/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbr7j1abg-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.07763671875, + "grantedAt": "2026-10-31T21:39:16.657Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.66 + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.992, + "exec": { + "wallMs": 252.731, + "exitCode": 0, + "stdout": "LFS527 0 1793482756541624932 1793482756789850623\n", + "stderr": "", + "rc": 0, + "ms": 248.225691 + }, + "unmountMs": 12.229, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.801, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-88G7oP/local/lfs527-wxbr7j1abg-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 258.941, + "exitCode": 0, + "stdout": "LFS527 0 1793482756815993198 1793482757070891482\n", + "stderr": "", + "rc": 0, + "ms": 254.898284 + }, + "commitMs": 327.737, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12125f7711fbd63e54ba1d918fd10d1910525000f2b83ab039c5eca4ab142c1ff8", + "commit": { + "id": "12125f7711fbd63e54ba1d918fd10d1910525000f2b83ab039c5eca4ab142c1ff8", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32de45b34f5d25cd292ef9fca538af742e58b30d09e48fbd3edcbf842a09a34054", + "root": "c71f32166e0429f5fdfd3ed1531fb345206313736c88896081fb7c81e1de4982", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482757346, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 14.021, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.766, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.623, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.586, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.979, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 252.715, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.22, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.793, + "ok": true + }, + { + "name": "timed.exec", + "ms": 258.933, + "ok": true + }, + { + "name": "timed.commit", + "ms": 327.73, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 14.014, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.901, + "ok": true + }, + { + "name": "verify.identity", + "ms": 10.617, + "ok": true + }, + { + "name": "verify.exec", + "ms": 498.9, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.09, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.322, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32de45b34f5d25cd292ef9fca538af742e58b30d09e48fbd3edcbf842a09a34054", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 5.316, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.07763671875, + "grantedAt": "2026-10-31T21:39:16.657Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.66 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.801, + "execWallMs": 258.941, + "commandMs": 254.898284, + "commitMs": 327.737, + "commitKind": "Committed", + "unmountMs": 14.021 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:17.858Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.07763671875, + "grantedAt": "2026-10-31T21:39:16.657Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.07763671875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C09-2026-10-31T213921127Z-wxbv6v1fe3.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C09-2026-10-31T213921127Z-wxbv6v1fe3.json new file mode 100644 index 0000000000..f0a2165675 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C09-2026-10-31T213921127Z-wxbv6v1fe3.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxbvdx1ahd-", + "startedAt": "2026-10-31T21:39:21.127Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.6, + "end": 6.9912109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-bv2gGk", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 27, + "init": { + "kind": "Initialized", + "project": "c09", + "layer": "325db5aa1ddc205090c07155fc5082b8a987f4338c82a5b3534ab279f9a43fad60", + "root": "de87e3596e913be2a8228e6ddce9174fba156880faa356b88286a554d5fa6f50", + "store": "/var/lib/lfs527/lfs527-bv2gGk/store/store.sqlite" + }, + "setupMs": 163, + "cellBudgetMs": 89475, + "teardownMs": 13 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-bv2gGk/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-bv2gGk/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-bv2gGk/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbvdx1ahd-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.9912109375, + "grantedAt": "2026-10-31T21:39:22.649Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.6 + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 235.388, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a1acda21770fd84d6ac8b9ebac5a0f7cdf40cc9f5c8b6fc4190f2ccb195c7f61", + "commit": { + "id": "12a1acda21770fd84d6ac8b9ebac5a0f7cdf40cc9f5c8b6fc4190f2ccb195c7f61", + "branch": null, + "parent": null, + "secondParent": null, + "base": "325db5aa1ddc205090c07155fc5082b8a987f4338c82a5b3534ab279f9a43fad60", + "root": "2aaa2dce9d6763f820b3c0c6c2bc2e296dc3b419fa98c841fea8662e8927692e", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793482762613, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.95, + "exec": { + "wallMs": 106.893, + "exitCode": 0, + "stdout": "LFS527 0 1793482762684479096 1793482762787597169\n", + "stderr": "", + "rc": 0, + "ms": 103.118073 + }, + "unmountMs": 6.609, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.417, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-bv2gGk/local/lfs527-wxbvdx1ahd-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 116.964, + "exitCode": 0, + "stdout": "LFS527 0 1793482762810585680 1793482762923850285\n", + "stderr": "", + "rc": 0, + "ms": 113.264605 + }, + "commitMs": 0.665, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12a1acda21770fd84d6ac8b9ebac5a0f7cdf40cc9f5c8b6fc4190f2ccb195c7f61", + "root": "2aaa2dce9d6763f820b3c0c6c2bc2e296dc3b419fa98c841fea8662e8927692e", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.698, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.795, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.672, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14.912, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.652, + "ok": true + }, + { + "name": "setup.exec", + "ms": 235.377, + "ok": true + }, + { + "name": "setup.commit", + "ms": 323.409, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.364, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.946, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 106.886, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.603, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.411, + "ok": true + }, + { + "name": "timed.exec", + "ms": 116.957, + "ok": true + }, + { + "name": "timed.commit", + "ms": 0.662, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.693, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.58, + "ok": true + }, + { + "name": "verify.identity", + "ms": 11.846, + "ok": true + }, + { + "name": "verify.exec", + "ms": 486.661, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.294, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 24.209, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325db5aa1ddc205090c07155fc5082b8a987f4338c82a5b3534ab279f9a43fad60", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.953, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.9912109375, + "grantedAt": "2026-10-31T21:39:22.649Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.6 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.417, + "execWallMs": 116.964, + "commandMs": 113.264605, + "commitMs": 0.665, + "commitKind": "UpToDate", + "unmountMs": 4.698 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:23.355Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.9912109375, + "grantedAt": "2026-10-31T21:39:22.649Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.9912109375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C10-2026-10-31T213926596Z-wxbzes1fmc.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C10-2026-10-31T213926596Z-wxbzes1fmc.json new file mode 100644 index 0000000000..b247e5a371 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C10-2026-10-31T213926596Z-wxbzes1fmc.json @@ -0,0 +1,396 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxbzw61and-", + "startedAt": "2026-10-31T21:39:26.596Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.56, + "end": 7.4052734375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-OnkAVI", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 51, + "init": { + "kind": "Initialized", + "project": "c10", + "layer": "3279ac32c23dfa26fc85e0e62bca243ef4726fbfae18d76fd86e0c0b9c52cbff66", + "root": "3bcee93bf3a4ea4fe3fe9fb5fb2834a5fb515b45d5a7945d82814dde741b804a", + "store": "/var/lib/lfs527/lfs527-OnkAVI/store/store.sqlite" + }, + "setupMs": 214, + "cellBudgetMs": 89245, + "teardownMs": 28 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-OnkAVI/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-OnkAVI/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-OnkAVI/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbzw61and-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.4052734375, + "grantedAt": "2026-10-31T21:39:30.025Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.67 + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 760.485, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c0c9207fdd95466d4368f2bd5e8d8a69ab5a7914ab3b6cf585df9ce0d9773460", + "commit": { + "id": "12c0c9207fdd95466d4368f2bd5e8d8a69ab5a7914ab3b6cf585df9ce0d9773460", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3279ac32c23dfa26fc85e0e62bca243ef4726fbfae18d76fd86e0c0b9c52cbff66", + "root": "7844daa0a3a9f276fc9f2a217ae36934d4bf03b2e250c6901b9e067b08261d1c", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793482769298, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 15.681, + "exec": { + "wallMs": 754.106, + "exitCode": 0, + "stdout": "LFS527 0 1793482769407974766 1793482770146228076\n", + "stderr": "", + "rc": 0, + "ms": 738.25331 + }, + "unmountMs": 16.823, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 9.125, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-OnkAVI/local/lfs527-wxbzw61and-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 611.145, + "exitCode": 0, + "stdout": "LFS527 0 1793482770191202404 1793482770796140529\n", + "stderr": "", + "rc": 0, + "ms": 604.938125 + }, + "commitMs": 63.531, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12dcd8983ee9ece62092d5a752877933036ef6b673cfc2f8696e9fd5938a6d3b96", + "commit": { + "id": "12dcd8983ee9ece62092d5a752877933036ef6b673cfc2f8696e9fd5938a6d3b96", + "branch": null, + "parent": "12c0c9207fdd95466d4368f2bd5e8d8a69ab5a7914ab3b6cf585df9ce0d9773460", + "secondParent": null, + "base": "3279ac32c23dfa26fc85e0e62bca243ef4726fbfae18d76fd86e0c0b9c52cbff66", + "root": "aefd54ca73d5e5139a3d2eada71732df6d58d78df33d80010f230a82a41bfebd", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793482770801, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 18.437, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 13.18, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.766, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 16.347, + "ok": true + }, + { + "name": "setup.mount", + "ms": 12.044, + "ok": true + }, + { + "name": "setup.exec", + "ms": 760.471, + "ok": true + }, + { + "name": "setup.commit", + "ms": 389.378, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 23.18, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 15.675, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 754.099, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 16.817, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.117, + "ok": true + }, + { + "name": "timed.exec", + "ms": 611.138, + "ok": true + }, + { + "name": "timed.commit", + "ms": 63.525, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 18.359, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.277, + "ok": true + }, + { + "name": "verify.identity", + "ms": 36.093, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1455.27, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 20.699, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 32.93, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3279ac32c23dfa26fc85e0e62bca243ef4726fbfae18d76fd86e0c0b9c52cbff66", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 12.639, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.4052734375, + "grantedAt": "2026-10-31T21:39:30.025Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.67 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 9.125, + "execWallMs": 611.145, + "commandMs": 604.938125, + "commitMs": 63.531, + "commitKind": "Committed", + "unmountMs": 18.437 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:32.379Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.4052734375, + "grantedAt": "2026-10-31T21:39:30.025Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 6.83154296875 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C11-2026-10-31T213935623Z-wxc6dj1fvg.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C11-2026-10-31T213935623Z-wxc6dj1fvg.json new file mode 100644 index 0000000000..5168580d3c --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C11-2026-10-31T213935623Z-wxc6dj1fvg.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxc6km1atj-", + "startedAt": "2026-10-31T21:39:35.623Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.62, + "end": 7.81005859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-FGraFh", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 28, + "init": { + "kind": "Initialized", + "project": "c11", + "layer": "3204ceacbf4d6c842869503973c52aff41a69c17c3fc7e501a751e967e1f2639f7", + "root": "bbc7b5ed533ea514b940d361991356b19584a7ec9e21094a1d4be29930de25f2", + "store": "/var/lib/lfs527/lfs527-FGraFh/store/store.sqlite" + }, + "setupMs": 192, + "cellBudgetMs": 89366, + "teardownMs": 21 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-FGraFh/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-FGraFh/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-FGraFh/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxc6km1atj-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 7.53271484375, + "grantedAt": "2026-10-31T21:39:37.979Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.62 + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 537.741, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1278fa12c2c1cd51f650309d3f03c55ecf40e95e87e3f629e0272222e03236f812", + "commit": { + "id": "1278fa12c2c1cd51f650309d3f03c55ecf40e95e87e3f629e0272222e03236f812", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3204ceacbf4d6c842869503973c52aff41a69c17c3fc7e501a751e967e1f2639f7", + "root": "657d4e2bbdccd927241c6f2ae4898cd0f39f96beef7760d678ef369750df49b3", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793482777621, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.623, + "exec": { + "wallMs": 294.06, + "exitCode": 0, + "stdout": "LFS527 0 1793482777807978071 1793482778096379002\n", + "stderr": "", + "rc": 0, + "ms": 288.400931 + }, + "unmountMs": 14.129, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.869, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-FGraFh/local/lfs527-wxc6km1atj-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 372.451, + "exitCode": 0, + "stdout": "LFS527 0 1793482778145395654 1793482778512368941\n", + "stderr": "", + "rc": 0, + "ms": 366.973287 + }, + "commitMs": 157.784, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1278fa12c2c1cd51f650309d3f03c55ecf40e95e87e3f629e0272222e03236f812", + "root": "657d4e2bbdccd927241c6f2ae4898cd0f39f96beef7760d678ef369750df49b3", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.798, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 13.858, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.024, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 16.576, + "ok": true + }, + { + "name": "setup.mount", + "ms": 15.365, + "ok": true + }, + { + "name": "setup.exec", + "ms": 537.712, + "ok": true + }, + { + "name": "setup.commit", + "ms": 395.983, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 103.826, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.618, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 294.053, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.122, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.861, + "ok": true + }, + { + "name": "timed.exec", + "ms": 372.445, + "ok": true + }, + { + "name": "timed.commit", + "ms": 157.778, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.792, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.198, + "ok": true + }, + { + "name": "verify.identity", + "ms": 13.972, + "ok": true + }, + { + "name": "verify.exec", + "ms": 592.218, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.298, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.278, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3204ceacbf4d6c842869503973c52aff41a69c17c3fc7e501a751e967e1f2639f7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 19.703, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 7.53271484375, + "grantedAt": "2026-10-31T21:39:37.979Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.62 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.869, + "execWallMs": 372.451, + "commandMs": 366.973287, + "commitMs": 157.784, + "commitKind": "UpToDate", + "unmountMs": 12.798 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:39.237Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 7.53271484375, + "grantedAt": "2026-10-31T21:39:37.979Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.53271484375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C12-2026-10-31T213942416Z-wxcbm81g0j.json b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C12-2026-10-31T213942416Z-wxcbm81g0j.json new file mode 100644 index 0000000000..c2c76e502e --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/linux-native-C12-2026-10-31T213942416Z-wxcbm81g0j.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "linux-native", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxcbtd1azl-", + "startedAt": "2026-10-31T21:39:42.416Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 0.57, + "end": 8.1455078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/var/lib/lfs527/lfs527-jLzzHP", + "fs": "ext4", + "maxUserNamespaces": "0", + "initMs": 25, + "init": { + "kind": "Initialized", + "project": "c12", + "layer": "3274ef6222bcb53e06a1d9a9f8324f7510a9fb847ea711de0084ba826f1719b662", + "root": "f4df97eb2fe625b91f11a87787b1e01ca28a16995f236f60524104911a871a53", + "store": "/var/lib/lfs527/lfs527-jLzzHP/store/store.sqlite" + }, + "setupMs": 155, + "cellBudgetMs": 89491, + "teardownMs": 15 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/var/lib/lfs527/lfs527-jLzzHP/local", + "LAYERFS_STORE_PATH": "/var/lib/lfs527/lfs527-jLzzHP/store/store.sqlite", + "LAYERFS_HOME": "/var/lib/lfs527/lfs527-jLzzHP/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxcbtd1azl-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.1455078125, + "grantedAt": "2026-10-31T21:39:43.922Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.57 + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.376, + "exec": { + "wallMs": 687.309, + "exitCode": 0, + "stdout": "LFS527 0 1793482783380060599 1793482784063431488\n", + "stderr": "", + "rc": 0, + "ms": 683.370889 + }, + "unmountMs": 3.861, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.054, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/var/lib/lfs527/lfs527-jLzzHP/local/lfs527-wxcbtd1azl-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 350.576, + "exitCode": 0, + "stdout": "LFS527 0 1793482784081280659 1793482784428521420\n", + "stderr": "", + "rc": 0, + "ms": 347.240761 + }, + "commitMs": 46.316, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e7f53bc4084f3c2ca01c49fb99cdb9db51fe3d5675ddf9bb504b696d5b7a4b78", + "commit": { + "id": "12e7f53bc4084f3c2ca01c49fb99cdb9db51fe3d5675ddf9bb504b696d5b7a4b78", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3274ef6222bcb53e06a1d9a9f8324f7510a9fb847ea711de0084ba826f1719b662", + "root": "067dd968359fa44fa6e773e4856d27148ac75f3dae4759e0dc9b54014f4dbcc6", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793482784471, + "logical": 38413, + "newCanonical": 82507, + "newStored": 27796, + "newMetadata": 6459, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 2.962, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 9.859, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.635, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.375, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.368, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 687.298, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.856, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.05, + "ok": true + }, + { + "name": "timed.exec", + "ms": 350.569, + "ok": true + }, + { + "name": "timed.commit", + "ms": 46.311, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 2.956, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.329, + "ok": true + }, + { + "name": "verify.identity", + "ms": 9.937, + "ok": true + }, + { + "name": "verify.exec", + "ms": 166.64, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.738, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 25.181, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3274ef6222bcb53e06a1d9a9f8324f7510a9fb847ea711de0084ba826f1719b662", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 5.144, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.1455078125, + "grantedAt": "2026-10-31T21:39:43.922Z", + "staleRemoved": null, + "relayed": true, + "load1Local": 0.57 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.054, + "execWallMs": 350.576, + "commandMs": 347.240761, + "commitMs": 46.316, + "commitKind": "Committed", + "unmountMs": 2.962 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:44.577Z", + "via": { + "lima": "lfs527-linux", + "lock": { + "grants": [ + { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.1455078125, + "grantedAt": "2026-10-31T21:39:43.922Z", + "staleRemoved": null + } + ] + }, + "exit": 0, + "stderr": "" + }, + "load1Outer": { + "start": 7.81005859375 + }, + "runnerCopy": "/Users/yifanxu/.cache/layerfs-test/lfs527-runner-9e95de0ba8694c2b" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C01-2026-10-31T213613838Z-wx7uoe148m.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C01-2026-10-31T213613838Z-wx7uoe148m.json new file mode 100644 index 0000000000..76deabe9e9 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C01-2026-10-31T213613838Z-wx7uoe148m.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wx7uoe148m-", + "startedAt": "2026-10-31T21:36:13.838Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.8212890625, + "end": 4.23583984375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Nrfkcy", + "initMs": 1522, + "volume": "lfs527-wx7uoe148m-c01-store-mvwx7uqq", + "setupMs": 1604, + "cellBudgetMs": 93367, + "teardownMs": 1138 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wx7uoe148m-c01-store-mvwx7uqq" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx7uoe148m-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-Nrfkcy/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx7uoe148m-c01-store-mvwx7uqq", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx7uoe148m-c01-store-mvwx7uqq/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx7uoe148m-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Nrfkcy/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.8212890625, + "grantedAt": "2026-10-31T21:36:16.752Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 30.331, + "exec": { + "wallMs": 410.595, + "exitCode": 0, + "stdout": "LFS527 0 1793482576381189637 1793482576733608137\n", + "stderr": "", + "rc": 0, + "ms": 352.4185 + }, + "unmountMs": 10.917, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.18, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 460.441, + "exitCode": 0, + "stdout": "LFS527 0 1793482576798831096 1793482577214566804\n", + "stderr": "", + "rc": 0, + "ms": 415.735708 + }, + "commitMs": 198.272, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1207b87648cfbd2ab3d5304c443fbe79a5824cd553d15f4e8b3f03eaa8d47a68e1", + "commit": { + "id": "1207b87648cfbd2ab3d5304c443fbe79a5824cd553d15f4e8b3f03eaa8d47a68e1", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3297c81d951a413f7c42f04253f364ef6260a7ab2330d5d8d5e077d8b6a93e4c4b", + "root": "5db34f16ac15e433788e95afe2526fc621fe3f571eb61c9fb91ff987d285b2e5", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482577408, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.884, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.485, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.865, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 653.448, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 30.326, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 410.59, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.915, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.177, + "ok": true + }, + { + "name": "timed.exec", + "ms": 460.437, + "ok": true + }, + { + "name": "timed.commit", + "ms": 198.267, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.88, + "ok": true + }, + { + "name": "verify.mount", + "ms": 18.874, + "ok": true + }, + { + "name": "verify.identity", + "ms": 85.983, + "ok": true + }, + { + "name": "verify.exec", + "ms": 831.112, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 14.032, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 441.336, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3297c81d951a413f7c42f04253f364ef6260a7ab2330d5d8d5e077d8b6a93e4c4b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.513, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 3.8212890625, + "grantedAt": "2026-10-31T21:36:16.752Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.18, + "execWallMs": 460.441, + "commandMs": 415.735708, + "commitMs": 198.272, + "commitKind": "Committed", + "unmountMs": 10.884 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:19.969Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C02-2026-10-31T213623285Z-wx81yt14ls.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C02-2026-10-31T213623285Z-wx81yt14ls.json new file mode 100644 index 0000000000..85e6864924 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C02-2026-10-31T213623285Z-wx81yt14ls.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wx81yt14ls-", + "startedAt": "2026-10-31T21:36:23.285Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.23583984375, + "end": 8.15185546875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-jzPUY7", + "initMs": 1923, + "volume": "lfs527-wx81yt14ls-c02-store-mvwx8225", + "setupMs": 2033, + "cellBudgetMs": 92914, + "teardownMs": 648 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wx81yt14ls-c02-store-mvwx8225" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx81yt14ls-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-jzPUY7/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx81yt14ls-c02-store-mvwx8225", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx81yt14ls-c02-store-mvwx8225/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx81yt14ls-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-jzPUY7/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 4.857421875, + "grantedAt": "2026-10-31T21:36:28.142Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 24.189, + "exec": { + "wallMs": 2121.584, + "exitCode": 0, + "stdout": "LFS527 0 1793482586058267627 1793482588083480295\n", + "stderr": "", + "rc": 0, + "ms": 2025.212668 + }, + "unmountMs": 25.204, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 33.11, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 2074.569, + "exitCode": 0, + "stdout": "LFS527 0 1793482588268849295 1793482590240696296\n", + "stderr": "", + "rc": 0, + "ms": 1971.847001 + }, + "commitMs": 125.738, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120d8b8708da213ccc27211048d3ebe43812b7dbbbb188492c629cf6232c1dd713", + "commit": { + "id": "120d8b8708da213ccc27211048d3ebe43812b7dbbbb188492c629cf6232c1dd713", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32481f6d71bd0f71d66ed8b49d5a5ddc652c7acbf8c6f1000d73ac2e3bc137dbc9", + "root": "cc509f54ed5a627aa82ef5985954c5b7b2b66db69b15c9de7b7ab019941560a0", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482590364, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.503, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.814, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.754, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 524.313, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 24.184, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 2121.574, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 25.2, + "ok": true + }, + { + "name": "timed.mount", + "ms": 33.106, + "ok": true + }, + { + "name": "timed.exec", + "ms": 2074.563, + "ok": true + }, + { + "name": "timed.commit", + "ms": 125.735, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.5, + "ok": true + }, + { + "name": "verify.mount", + "ms": 14.773, + "ok": true + }, + { + "name": "verify.identity", + "ms": 60.597, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1042.647, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 17.436, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 341.147, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32481f6d71bd0f71d66ed8b49d5a5ddc652c7acbf8c6f1000d73ac2e3bc137dbc9", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 4.326, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 4.857421875, + "grantedAt": "2026-10-31T21:36:28.142Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 33.11, + "execWallMs": 2074.569, + "commandMs": 1971.847001, + "commitMs": 125.738, + "commitKind": "Committed", + "unmountMs": 10.503 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:32.520Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C03-2026-10-31T213650791Z-wx8n6v153p.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C03-2026-10-31T213650791Z-wx8n6v153p.json new file mode 100644 index 0000000000..e298f5df0f --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C03-2026-10-31T213650791Z-wx8n6v153p.json @@ -0,0 +1,293 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wx8n6v153p-", + "startedAt": "2026-10-31T21:36:50.791Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.47607421875, + "end": 9.65185546875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-ZdsAKg", + "initMs": 7996, + "volume": "lfs527-wx8n6v153p-c03-store-mvwx8njh", + "setupMs": 8446, + "cellBudgetMs": 86336, + "teardownMs": 343 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wx8n6v153p-c03-store-mvwx8njh" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx8n6v153p-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-ZdsAKg/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx8n6v153p-c03-store-mvwx8njh", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx8n6v153p-c03-store-mvwx8njh/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx8n6v153p-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-ZdsAKg/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.65185546875, + "grantedAt": "2026-10-31T21:37:00.572Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 17.717, + "exec": { + "wallMs": 602.331, + "exitCode": 0, + "stdout": "LFS527 0 1793482619996074546 1793482620549829630\n", + "stderr": "", + "rc": 0, + "ms": 553.755084 + }, + "unmountMs": 9.214, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 12.93, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 519.839, + "exitCode": 0, + "stdout": "LFS527 0 1793482620619876713 1793482621093176755\n", + "stderr": "", + "rc": 0, + "ms": 473.300042 + }, + "commitMs": 18.561, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "17d516975ae582520f9f11a5c40105719932766f704598b7a32eafe664c6b545", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.894, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.533, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.989, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 318.465, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 17.713, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 602.323, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.211, + "ok": true + }, + { + "name": "timed.mount", + "ms": 12.927, + "ok": true + }, + { + "name": "timed.exec", + "ms": 519.835, + "ok": true + }, + { + "name": "timed.commit", + "ms": 18.558, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.891, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.1, + "ok": true + }, + { + "name": "verify.identity", + "ms": 96.444, + "ok": true + }, + { + "name": "verify.exec", + "ms": 51.035, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.414, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 258.982, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32043b398f2090e44bb8bbae3e99c0bd6384ba80e15ac62e3cd47683794c0e9021", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 2.817, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.65185546875, + "grantedAt": "2026-10-31T21:37:00.572Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 12.93, + "execWallMs": 519.839, + "commandMs": 473.300042, + "commitMs": 18.561, + "commitKind": "UpToDate", + "unmountMs": 8.894 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:01.903Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C04-2026-10-31T213702262Z-wx8w1i15gw.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C04-2026-10-31T213702262Z-wx8w1i15gw.json new file mode 100644 index 0000000000..4867a0e754 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C04-2026-10-31T213702262Z-wx8w1i15gw.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wx8w1i15gw-", + "startedAt": "2026-10-31T21:37:02.262Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.65185546875, + "end": 10 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-v5iB6F", + "initMs": 1119, + "volume": "lfs527-wx8w1i15gw-c04-store-mvwx8w37", + "setupMs": 1173, + "cellBudgetMs": 93796, + "teardownMs": 336 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wx8w1i15gw-c04-store-mvwx8w37" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx8w1i15gw-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-v5iB6F/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx8w1i15gw-c04-store-mvwx8w37", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx8w1i15gw-c04-store-mvwx8w37/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx8w1i15gw-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-v5iB6F/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10, + "grantedAt": "2026-10-31T21:37:05.188Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 22.232, + "exec": { + "wallMs": 1245.555, + "exitCode": 0, + "stdout": "LFS527 0 1793482623967880798 1793482625163636923\n", + "stderr": "", + "rc": 0, + "ms": 1195.756125 + }, + "unmountMs": 10.034, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 13.188, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 1076.396, + "exitCode": 0, + "stdout": "LFS527 0 1793482625248556173 1793482626262549174\n", + "stderr": "", + "rc": 0, + "ms": 1013.993001 + }, + "commitMs": 119.723, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "126f57162f2d0f8300272a5c2dadb6323d918a577b2b8b4cbbfff16d0292a8e62d", + "commit": { + "id": "126f57162f2d0f8300272a5c2dadb6323d918a577b2b8b4cbbfff16d0292a8e62d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32392e446fb8d39e377ac2e939cfdd852b7016441ab1ea88fd6da5c94181776ebb", + "root": "7b8d9c251d5c385a0d8813c895e792438e02bdb407ff920688f91dbd27c1144b", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482626382, + "logical": 0, + "newCanonical": 109367, + "newStored": 8253, + "newMetadata": 8253, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.713, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.89, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.839, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 380.024, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 22.228, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1245.55, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.031, + "ok": true + }, + { + "name": "timed.mount", + "ms": 13.184, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1076.391, + "ok": true + }, + { + "name": "timed.commit", + "ms": 119.719, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.71, + "ok": true + }, + { + "name": "verify.mount", + "ms": 11.562, + "ok": true + }, + { + "name": "verify.identity", + "ms": 51.86, + "ok": true + }, + { + "name": "verify.exec", + "ms": 347.407, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.195, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 269.851, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32392e446fb8d39e377ac2e939cfdd852b7016441ab1ea88fd6da5c94181776ebb", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.245, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10, + "grantedAt": "2026-10-31T21:37:05.188Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 13.188, + "execWallMs": 1076.396, + "commandMs": 1013.993001, + "commitMs": 119.723, + "commitKind": "Committed", + "unmountMs": 8.713 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:07.435Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C05-2026-10-31T213707710Z-wx908u15lg.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C05-2026-10-31T213707710Z-wx908u15lg.json new file mode 100644 index 0000000000..162110a303 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C05-2026-10-31T213707710Z-wx908u15lg.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wx908u15lg-", + "startedAt": "2026-10-31T21:37:07.710Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10, + "end": 10.640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-gkGsTK", + "initMs": 1218, + "volume": "lfs527-wx908u15lg-c05-store-mvwx90ag", + "setupMs": 1273, + "cellBudgetMs": 93699, + "teardownMs": 369 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wx908u15lg-c05-store-mvwx90ag" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx908u15lg-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-gkGsTK/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx908u15lg-c05-store-mvwx90ag", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx908u15lg-c05-store-mvwx90ag/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx908u15lg-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-gkGsTK/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.640625, + "grantedAt": "2026-10-31T21:37:10.469Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 18.077, + "exec": { + "wallMs": 989.049, + "exitCode": 0, + "stdout": "LFS527 0 1793482629510884717 1793482630449140634\n", + "stderr": "", + "rc": 0, + "ms": 938.255917 + }, + "unmountMs": 7.469, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.46, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 908.771, + "exitCode": 0, + "stdout": "LFS527 0 1793482630510513551 1793482631379103385\n", + "stderr": "", + "rc": 0, + "ms": 868.589834 + }, + "commitMs": 111.815, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124ba8ee46d44d1859648d7bb975afd9b525b62aa0594539b3e67347a2b6a7be13", + "commit": { + "id": "124ba8ee46d44d1859648d7bb975afd9b525b62aa0594539b3e67347a2b6a7be13", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3291d1608f92ee4929137053c296868611f1f9d8d8de7cf4671f7d377246e17300", + "root": "8faaa5919a6529d3072190ba852bedf5945a4519a45a3173ab77d963f4728707", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482631485, + "logical": 0, + "newCanonical": 109367, + "newStored": 8250, + "newMetadata": 8250, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.196, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.571, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.153, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 376.441, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 18.073, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 989.041, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 7.466, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.457, + "ok": true + }, + { + "name": "timed.exec", + "ms": 908.766, + "ok": true + }, + { + "name": "timed.commit", + "ms": 111.813, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.193, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.894, + "ok": true + }, + { + "name": "verify.identity", + "ms": 48.005, + "ok": true + }, + { + "name": "verify.exec", + "ms": 284.452, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.532, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 277.722, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3291d1608f92ee4929137053c296868611f1f9d8d8de7cf4671f7d377246e17300", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.235, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.640625, + "grantedAt": "2026-10-31T21:37:10.469Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.46, + "execWallMs": 908.771, + "commandMs": 868.589834, + "commitMs": 111.815, + "commitKind": "Committed", + "unmountMs": 7.196 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:12.507Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C06-2026-10-31T213712746Z-wx944q15rf.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C06-2026-10-31T213712746Z-wx944q15rf.json new file mode 100644 index 0000000000..79330d1e56 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C06-2026-10-31T213712746Z-wx944q15rf.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wx944q15rf-", + "startedAt": "2026-10-31T21:37:12.746Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.640625, + "end": 10.5888671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-PDDCi9", + "initMs": 1117, + "volume": "lfs527-wx944q15rf-c06-store-mvwx946c", + "setupMs": 1171, + "cellBudgetMs": 93800, + "teardownMs": 496 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wx944q15rf-c06-store-mvwx946c" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx944q15rf-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-PDDCi9/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx944q15rf-c06-store-mvwx946c", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx944q15rf-c06-store-mvwx946c/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx944q15rf-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-PDDCi9/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5888671875, + "grantedAt": "2026-10-31T21:37:14.764Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.191, + "exec": { + "wallMs": 241.9, + "exitCode": 0, + "stdout": "LFS527 0 1793482634539492178 1793482634739965261\n", + "stderr": "", + "rc": 0, + "ms": 200.473083 + }, + "unmountMs": 13.08, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 9.567, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 211.024, + "exitCode": 0, + "stdout": "LFS527 0 1793482634799955303 1793482634975261511\n", + "stderr": "", + "rc": 0, + "ms": 175.306208 + }, + "commitMs": 330.418, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "126b174d3ba258bb1da65703fe848c617eb3455e480ab4d662f1c1ff7d39053665", + "commit": { + "id": "126b174d3ba258bb1da65703fe848c617eb3455e480ab4d662f1c1ff7d39053665", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328b57c5fa6d5590eac9e6d50a2a40e9fe9868851072d2fa858225b73b3cc48c66", + "root": "c8e5a44da10071ff6a09edfeaf264b4bbbd41cdc1e724146a5a536a94deb4ae6", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482635257, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.255, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.382, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.682, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 486.327, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.184, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 241.895, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 13.077, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.564, + "ok": true + }, + { + "name": "timed.exec", + "ms": 211.021, + "ok": true + }, + { + "name": "timed.commit", + "ms": 330.412, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.252, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.917, + "ok": true + }, + { + "name": "verify.identity", + "ms": 49.761, + "ok": true + }, + { + "name": "verify.exec", + "ms": 236.994, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.965, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 252.016, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328b57c5fa6d5590eac9e6d50a2a40e9fe9868851072d2fa858225b73b3cc48c66", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.137, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5888671875, + "grantedAt": "2026-10-31T21:37:14.764Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 9.567, + "execWallMs": 211.024, + "commandMs": 175.306208, + "commitMs": 330.418, + "commitKind": "Committed", + "unmountMs": 13.255 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:16.388Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C07-2026-10-31T213716586Z-wx973e15z1.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C07-2026-10-31T213716586Z-wx973e15z1.json new file mode 100644 index 0000000000..4be1d310fd --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C07-2026-10-31T213716586Z-wx973e15z1.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wx973e15z1-", + "startedAt": "2026-10-31T21:37:16.586Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.5888671875, + "end": 10.38134765625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Njf34S", + "initMs": 1522, + "volume": "lfs527-wx973e15z1-c07-store-mvwx9754", + "setupMs": 1581, + "cellBudgetMs": 93388, + "teardownMs": 353 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wx973e15z1-c07-store-mvwx9754" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx973e15z1-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-Njf34S/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx973e15z1-c07-store-mvwx9754", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx973e15z1-c07-store-mvwx9754/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx973e15z1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Njf34S/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.38134765625, + "grantedAt": "2026-10-31T21:37:19.631Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 17.741, + "exec": { + "wallMs": 828.197, + "exitCode": 0, + "stdout": "LFS527 0 1793482638821291680 1793482639592103014\n", + "stderr": "", + "rc": 0, + "ms": 770.811334 + }, + "unmountMs": 23.525, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 14.72, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 492.221, + "exitCode": 0, + "stdout": "LFS527 0 1793482639680494305 1793482640132237958\n", + "stderr": "", + "rc": 0, + "ms": 451.743653 + }, + "commitMs": 668.09, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a36c514ca4a6b1c411eb288d0944bdf89a3b4d2d8b799b158efbbc0eeed2c14d", + "commit": { + "id": "12a36c514ca4a6b1c411eb288d0944bdf89a3b4d2d8b799b158efbbc0eeed2c14d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32009754909d6c58f300d40849a0ec295eda15e22e58aae4d19937aa816c839b89", + "root": "a060c6f5f167ce54be512b9aa29a4e180a2a50a0f3d67ac8725245f921bace0f", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482640698, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 21.828, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.901, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.177, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 455.416, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 17.735, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 828.191, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 23.522, + "ok": true + }, + { + "name": "timed.mount", + "ms": 14.717, + "ok": true + }, + { + "name": "timed.exec", + "ms": 492.218, + "ok": true + }, + { + "name": "timed.commit", + "ms": 668.085, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 21.824, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.001, + "ok": true + }, + { + "name": "verify.identity", + "ms": 37.605, + "ok": true + }, + { + "name": "verify.exec", + "ms": 442.91, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.676, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 252.553, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32009754909d6c58f300d40849a0ec295eda15e22e58aae4d19937aa816c839b89", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 2.488, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.38134765625, + "grantedAt": "2026-10-31T21:37:19.631Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 14.72, + "execWallMs": 492.221, + "commandMs": 451.743653, + "commitMs": 668.09, + "commitKind": "Committed", + "unmountMs": 21.828 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:21.940Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C08-2026-10-31T213722168Z-wx9beg165q.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C08-2026-10-31T213722168Z-wx9beg165q.json new file mode 100644 index 0000000000..7265fa2687 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C08-2026-10-31T213722168Z-wx9beg165q.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wx9beg165q-", + "startedAt": "2026-10-31T21:37:22.168Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.38134765625, + "end": 11.3916015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-YsNM6l", + "initMs": 1118, + "volume": "lfs527-wx9beg165q-c08-store-mvwx9bg6", + "setupMs": 1178, + "cellBudgetMs": 93793, + "teardownMs": 883 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wx9beg165q-c08-store-mvwx9bg6" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx9beg165q-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-YsNM6l/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9beg165q-c08-store-mvwx9bg6", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9beg165q-c08-store-mvwx9bg6/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9beg165q-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-YsNM6l/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:24.374Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 41.536, + "exec": { + "wallMs": 358.965, + "exitCode": 0, + "stdout": "LFS527 0 1793482644043740543 1793482644341904252\n", + "stderr": "", + "rc": 0, + "ms": 298.163709 + }, + "unmountMs": 19.888, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 12.512, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 271.751, + "exitCode": 0, + "stdout": "LFS527 0 1793482644428102418 1793482644650393168\n", + "stderr": "", + "rc": 0, + "ms": 222.29075 + }, + "commitMs": 347.759, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12bbbcc8b88ef7c94f5c1425e4bc41b5f9571c5ab2106c0c1008062563d9bcd14d", + "commit": { + "id": "12bbbcc8b88ef7c94f5c1425e4bc41b5f9571c5ab2106c0c1008062563d9bcd14d", + "branch": null, + "parent": null, + "secondParent": null, + "base": "320fb411a4552f51257ac2ac0cd9bd34992badb95272d5572538589551307a33ba", + "root": "9588cf131c8970820f71448d36519a30c3c9a4b9f69f957ea369b232d21992a1", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482644945, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.514, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.429, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.742, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 499.34, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 41.532, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 358.959, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.884, + "ok": true + }, + { + "name": "timed.mount", + "ms": 12.509, + "ok": true + }, + { + "name": "timed.exec", + "ms": 271.747, + "ok": true + }, + { + "name": "timed.commit", + "ms": 347.756, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.51, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.628, + "ok": true + }, + { + "name": "verify.identity", + "ms": 67.025, + "ok": true + }, + { + "name": "verify.exec", + "ms": 302.289, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 16.037, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 433.021, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320fb411a4552f51257ac2ac0cd9bd34992badb95272d5572538589551307a33ba", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.38, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:24.374Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 12.512, + "execWallMs": 271.751, + "commandMs": 222.29075, + "commitMs": 347.759, + "commitKind": "Committed", + "unmountMs": 15.514 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:26.739Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C09-2026-10-31T213727031Z-wx9f5j16ch.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C09-2026-10-31T213727031Z-wx9f5j16ch.json new file mode 100644 index 0000000000..628b18c006 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C09-2026-10-31T213727031Z-wx9f5j16ch.json @@ -0,0 +1,354 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wx9f5j16ch-", + "startedAt": "2026-10-31T21:37:27.031Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.3916015625, + "end": 10.79931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-0AxhFY", + "initMs": 1115, + "volume": "lfs527-wx9f5j16ch-c09-store-mvwx9f74", + "setupMs": 1170, + "cellBudgetMs": 93799, + "teardownMs": 386 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wx9f5j16ch-c09-store-mvwx9f74" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx9f5j16ch-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-0AxhFY/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9f5j16ch-c09-store-mvwx9f74", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9f5j16ch-c09-store-mvwx9f74/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9f5j16ch-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-0AxhFY/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.79931640625, + "grantedAt": "2026-10-31T21:37:29.378Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 245.527, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1213779987e4e8354b6eab74d67e4c90fd3a10a5a3f200cee543f47100d49f3772", + "commit": { + "id": "1213779987e4e8354b6eab74d67e4c90fd3a10a5a3f200cee543f47100d49f3772", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c4d17542f6900ae988434ba6b88f640cb4d537eb238dfbe63fb846695b03ffe7", + "root": "271e7010bce46f326a9f0bc5839d08bc13d26c1c2acd0036b7fb706820ebdd40", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793482649187, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 9.141, + "exec": { + "wallMs": 96.954, + "exitCode": 0, + "stdout": "LFS527 0 1793482649306600254 1793482649361909296\n", + "stderr": "", + "rc": 0, + "ms": 55.309042 + }, + "unmountMs": 9.368, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 12.122, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 76.312, + "exitCode": 0, + "stdout": "LFS527 0 1793482649422602962 1793482649462083046\n", + "stderr": "", + "rc": 0, + "ms": 39.480084 + }, + "commitMs": 1.908, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1213779987e4e8354b6eab74d67e4c90fd3a10a5a3f200cee543f47100d49f3772", + "root": "271e7010bce46f326a9f0bc5839d08bc13d26c1c2acd0036b7fb706820ebdd40", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.853, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.519, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.265, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 359.004, + "ok": true + }, + { + "name": "setup.mount", + "ms": 13.926, + "ok": true + }, + { + "name": "setup.exec", + "ms": 245.521, + "ok": true + }, + { + "name": "setup.commit", + "ms": 329.81, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 13.197, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.139, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 96.951, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.365, + "ok": true + }, + { + "name": "timed.mount", + "ms": 12.119, + "ok": true + }, + { + "name": "timed.exec", + "ms": 76.309, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.906, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.85, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.942, + "ok": true + }, + { + "name": "verify.identity", + "ms": 50.733, + "ok": true + }, + { + "name": "verify.exec", + "ms": 205.63, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.565, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 239.122, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c4d17542f6900ae988434ba6b88f640cb4d537eb238dfbe63fb846695b03ffe7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.136, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.79931640625, + "grantedAt": "2026-10-31T21:37:29.378Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 12.122, + "execWallMs": 76.312, + "commandMs": 39.480084, + "commitMs": 1.908, + "commitKind": "UpToDate", + "unmountMs": 7.853 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:30.380Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C10-2026-10-31T213730652Z-wx9hy416i1.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C10-2026-10-31T213730652Z-wx9hy416i1.json new file mode 100644 index 0000000000..59ac8d7074 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C10-2026-10-31T213730652Z-wx9hy416i1.json @@ -0,0 +1,373 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wx9hy416i1-", + "startedAt": "2026-10-31T21:37:30.652Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.79931640625, + "end": 10.25439453125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-7JhJve", + "initMs": 1118, + "volume": "lfs527-wx9hy416i1-c10-store-mvwx9hzu", + "setupMs": 1179, + "cellBudgetMs": 93782, + "teardownMs": 319 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wx9hy416i1-c10-store-mvwx9hzu" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx9hy416i1-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-7JhJve/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9hy416i1-c10-store-mvwx9hzu", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9hy416i1-c10-store-mvwx9hzu/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9hy416i1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-7JhJve/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.79931640625, + "grantedAt": "2026-10-31T21:37:33.140Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 229.314, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125de7292557c514f73012d21a40599f5a11217270ee36dbcb832fc3c5dc71aa70", + "commit": { + "id": "125de7292557c514f73012d21a40599f5a11217270ee36dbcb832fc3c5dc71aa70", + "branch": null, + "parent": null, + "secondParent": null, + "base": "321c7aeae041d79bca02bcf4eef2970bc2aa192213aa5af388aa52ec41323103d6", + "root": "8236541e2180a28ae4bebc48c576b4a061fd793d7d402848d94c293b8ac6672d", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793482652777, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.744, + "exec": { + "wallMs": 264.684, + "exitCode": 0, + "stdout": "LFS527 0 1793482652889419381 1793482653113573672\n", + "stderr": "", + "rc": 0, + "ms": 224.154291 + }, + "unmountMs": 21.078, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 12.776, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 250.704, + "exitCode": 0, + "stdout": "LFS527 0 1793482653187027756 1793482653399082964\n", + "stderr": "", + "rc": 0, + "ms": 212.055208 + }, + "commitMs": 55.51, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1297c6cf9c1c64657f5a7d60bab32e11fa83981cce0dc9f03b9b75902681d0e7c6", + "commit": { + "id": "1297c6cf9c1c64657f5a7d60bab32e11fa83981cce0dc9f03b9b75902681d0e7c6", + "branch": null, + "parent": "125de7292557c514f73012d21a40599f5a11217270ee36dbcb832fc3c5dc71aa70", + "secondParent": null, + "base": "321c7aeae041d79bca02bcf4eef2970bc2aa192213aa5af388aa52ec41323103d6", + "root": "61081e5490ac8d4bfeae05e723a50e5b4f10766b7014b8cb02ad4dbb06ddddbf", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793482653406, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 14.249, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.901, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.633, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 317.175, + "ok": true + }, + { + "name": "setup.mount", + "ms": 21.353, + "ok": true + }, + { + "name": "setup.exec", + "ms": 229.306, + "ok": true + }, + { + "name": "setup.commit", + "ms": 325.287, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 13.339, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.742, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 264.68, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 21.075, + "ok": true + }, + { + "name": "timed.mount", + "ms": 12.773, + "ok": true + }, + { + "name": "timed.exec", + "ms": 250.7, + "ok": true + }, + { + "name": "timed.commit", + "ms": 55.507, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 14.245, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.294, + "ok": true + }, + { + "name": "verify.identity", + "ms": 41.769, + "ok": true + }, + { + "name": "verify.exec", + "ms": 454.829, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.15, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 230.569, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "321c7aeae041d79bca02bcf4eef2970bc2aa192213aa5af388aa52ec41323103d6", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.097, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.79931640625, + "grantedAt": "2026-10-31T21:37:33.140Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 12.776, + "execWallMs": 250.704, + "commandMs": 212.055208, + "commitMs": 55.51, + "commitKind": "Committed", + "unmountMs": 14.249 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:34.544Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C11-2026-10-31T213734749Z-wx9l3x16o3.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C11-2026-10-31T213734749Z-wx9l3x16o3.json new file mode 100644 index 0000000000..1b48ae4fda --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C11-2026-10-31T213734749Z-wx9l3x16o3.json @@ -0,0 +1,354 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wx9l3x16o3-", + "startedAt": "2026-10-31T21:37:34.749Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.25439453125, + "end": 9.75341796875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-0de9oD", + "initMs": 1320, + "volume": "lfs527-wx9l3x16o3-c11-store-mvwx9l5h", + "setupMs": 1373, + "cellBudgetMs": 93598, + "teardownMs": 408 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wx9l3x16o3-c11-store-mvwx9l5h" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx9l3x16o3-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-0de9oD/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9l3x16o3-c11-store-mvwx9l5h", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9l3x16o3-c11-store-mvwx9l5h/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9l3x16o3-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-0de9oD/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 28, + "load1": 10.25439453125, + "grantedAt": "2026-10-31T21:37:37.976Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 226.065, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c7b787270d8962703a85909315bbc713993a4fd07716e81e1b8d65f8f0a1110e", + "commit": { + "id": "12c7b787270d8962703a85909315bbc713993a4fd07716e81e1b8d65f8f0a1110e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32cbf743b9028a461b06cd61c2488200d8388c5071f955f022814922f199425dc3", + "root": "7b2e23df12dab4f26230e2425929ddd299010d872adf6b78cd060957b2fb48b4", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793482657074, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.977, + "exec": { + "wallMs": 349.97, + "exitCode": 0, + "stdout": "LFS527 0 1793482657200356924 1793482657370232466\n", + "stderr": "", + "rc": 0, + "ms": 169.875542 + }, + "unmountMs": 307.35, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 161.177, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/3" + }, + "exec": { + "wallMs": 240.542, + "exitCode": 0, + "stdout": "LFS527 0 1793482658199857966 1793482658374685758\n", + "stderr": "", + "rc": 0, + "ms": 174.827792 + }, + "commitMs": 160.184, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12c7b787270d8962703a85909315bbc713993a4fd07716e81e1b8d65f8f0a1110e", + "root": "7b2e23df12dab4f26230e2425929ddd299010d872adf6b78cd060957b2fb48b4", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.92, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.43, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.374, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 334.285, + "ok": true + }, + { + "name": "setup.mount", + "ms": 13.652, + "ok": true + }, + { + "name": "setup.exec", + "ms": 226.056, + "ok": true + }, + { + "name": "setup.commit", + "ms": 335.807, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 16.956, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.974, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 349.956, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 307.342, + "ok": true + }, + { + "name": "timed.mount", + "ms": 161.172, + "ok": true + }, + { + "name": "timed.exec", + "ms": 240.536, + "ok": true + }, + { + "name": "timed.commit", + "ms": 160.179, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.913, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.868, + "ok": true + }, + { + "name": "verify.identity", + "ms": 52.813, + "ok": true + }, + { + "name": "verify.exec", + "ms": 197.82, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.105, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 256.025, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32cbf743b9028a461b06cd61c2488200d8388c5071f955f022814922f199425dc3", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 93.2, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 28, + "load1": 10.25439453125, + "grantedAt": "2026-10-31T21:37:37.976Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 161.177, + "execWallMs": 240.542, + "commandMs": 174.827792, + "commitMs": 160.184, + "commitKind": "UpToDate", + "unmountMs": 13.92 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:39.494Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C12-2026-10-31T213739691Z-wx9ox716vh.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C12-2026-10-31T213739691Z-wx9ox716vh.json new file mode 100644 index 0000000000..3fc3dcca94 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-docker-C12-2026-10-31T213739691Z-wx9ox716vh.json @@ -0,0 +1,312 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-docker", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wx9ox716vh-", + "startedAt": "2026-10-31T21:37:39.691Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.75341796875, + "end": 9.13232421875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-DN5h3Y", + "initMs": 1418, + "volume": "lfs527-wx9ox716vh-c12-store-mvwx9oz4", + "setupMs": 1484, + "cellBudgetMs": 93486, + "teardownMs": 702 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wx9ox716vh-c12-store-mvwx9oz4" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "docker leftovers", + "ok": true, + "value": [ + "lfs527-wx9ox716vh-worker" + ] + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-DN5h3Y/home", + "LAYERFS_SANDBOX": "docker", + "LAYERFS_DOCKER": "/Users/yifanxu/.docker/run/docker.sock", + "LAYERFS_IMAGE": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-linux-bd7ac86d01304d4e89a2e98057d26d66/layerfs-daemon", + "LAYERFS_VOLUME": "lfs527-wx9ox716vh-c12-store-mvwx9oz4", + "LAYERFS_STORE_PATH": "/var/lib/docker/volumes/lfs527-wx9ox716vh-c12-store-mvwx9oz4/_data/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9ox716vh-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-DN5h3Y/home/worker/endpoint.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.13232421875, + "grantedAt": "2026-10-31T21:37:43.729Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 29.62, + "exec": { + "wallMs": 1166.248, + "exitCode": 0, + "stdout": "LFS527 0 1793482662615118469 1793482663645753344\n", + "stderr": "", + "rc": 0, + "ms": 1030.634875 + }, + "unmountMs": 29.03, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 16.445, + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "workspace": { + "sandbox": "1", + "path": "/workspaces/2" + }, + "exec": { + "wallMs": 297.026, + "exitCode": 0, + "stdout": "LFS527 0 1793482663793100719 1793482664036976761\n", + "stderr": "", + "rc": 0, + "ms": 243.876042 + }, + "commitMs": 72.743, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1215883db6595afed9501606229badcb5d16f9d6063044bc003e99554050717a28", + "commit": { + "id": "1215883db6595afed9501606229badcb5d16f9d6063044bc003e99554050717a28", + "branch": null, + "parent": null, + "secondParent": null, + "base": "326dde3cabee5ffdd49824172c3e8a933cb488a0a90c2d55c49e4a6486049f06ab", + "root": "0aa7a7e3b91de958b7b3e5f71476710aa58a338b29a1bcdd8ceba9aa503e559d", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793482664106, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26916, + "newMetadata": 6521, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.723, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.644, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.875, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 1215.523, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 29.61, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1166.236, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 29.026, + "ok": true + }, + { + "name": "timed.mount", + "ms": 16.44, + "ok": true + }, + { + "name": "timed.exec", + "ms": 297.021, + "ok": true + }, + { + "name": "timed.commit", + "ms": 72.74, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.72, + "ok": true + }, + { + "name": "verify.mount", + "ms": 12.888, + "ok": true + }, + { + "name": "verify.identity", + "ms": 57.175, + "ok": true + }, + { + "name": "verify.exec", + "ms": 245.102, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.571, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 596.748, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "326dde3cabee5ffdd49824172c3e8a933cb488a0a90c2d55c49e4a6486049f06ab", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "lock": { + "askedMs": 1.55, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.13232421875, + "grantedAt": "2026-10-31T21:37:43.729Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 16.445, + "execWallMs": 297.026, + "commandMs": 243.876042, + "commitMs": 72.743, + "commitKind": "Committed", + "unmountMs": 10.723 + }, + "where": { + "kernel": "Linux 6.12.76-linuxkit", + "machine": "aarch64", + "cpus": "8", + "memKiB": "8126948", + "memBytes": null, + "cpuMax": "max 100000", + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:45.768Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C01-2026-10-31T213752893Z-wx9z3x1765.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C01-2026-10-31T213752893Z-wx9z3x1765.json new file mode 100644 index 0000000000..b973458b69 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C01-2026-10-31T213752893Z-wx9z3x1765.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wx9z3x1765-", + "startedAt": "2026-10-31T21:37:52.893Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.36181640625, + "end": 9.29931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-nQAwJq", + "initMs": 1667, + "init": { + "kind": "Initialized", + "project": "c01", + "layer": "32e7ceafb8fe327d933021525a033d281cfc4ac0a57fceed4e1bef805be0062a3a", + "root": "e6a6d6d037e508548904247d7dbafa7a292ea13039fa454e89e108d52a59c01a", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-nQAwJq/store/store.sqlite" + }, + "setupMs": 1744, + "cellBudgetMs": 93199, + "teardownMs": 35 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-nQAwJq/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-nQAwJq/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-nQAwJq/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9z3x1765-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.41259765625, + "grantedAt": "2026-10-31T21:37:56.477Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 53.142, + "exec": { + "wallMs": 920.334, + "exitCode": 0, + "stdout": "LFS527 0 1793482675536199000 1793482676431162000\n", + "stderr": "", + "rc": 0, + "ms": 894.963 + }, + "unmountMs": 42.686, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 28.811, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-nQAwJq/local/lfs527-wx9z3x1765-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 967.551, + "exitCode": 0, + "stdout": "LFS527 0 1793482676531539000 1793482677473094000\n", + "stderr": "", + "rc": 0, + "ms": 941.555 + }, + "commitMs": 890.432, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "128b94e4b8ddc7a4a6561c45eec5321e7d98a4020b9c28d78ef0a6ef820dc85b45", + "commit": { + "id": "128b94e4b8ddc7a4a6561c45eec5321e7d98a4020b9c28d78ef0a6ef820dc85b45", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e7ceafb8fe327d933021525a033d281cfc4ac0a57fceed4e1bef805be0062a3a", + "root": "53c0e60ec39d838e574857de90898e6d8e34997e30f9c7d4bf4b86614495caa3", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482678354, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 28.912, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 20.111, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.82, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 665, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 53.136, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 920.31, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 42.682, + "ok": true + }, + { + "name": "timed.mount", + "ms": 28.806, + "ok": true + }, + { + "name": "timed.exec", + "ms": 967.538, + "ok": true + }, + { + "name": "timed.commit", + "ms": 890.426, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 28.907, + "ok": true + }, + { + "name": "verify.mount", + "ms": 24.04, + "ok": true + }, + { + "name": "verify.identity", + "ms": 45.776, + "ok": true + }, + { + "name": "verify.exec", + "ms": 333.516, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 27.058, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 46.617, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e7ceafb8fe327d933021525a033d281cfc4ac0a57fceed4e1bef805be0062a3a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.26, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.41259765625, + "grantedAt": "2026-10-31T21:37:56.477Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 28.811, + "execWallMs": 967.551, + "commandMs": 941.555, + "commitMs": 890.432, + "commitKind": "Committed", + "unmountMs": 28.912 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:58.915Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C02-2026-10-31T213802134Z-wxa68m17lq.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C02-2026-10-31T213802134Z-wxa68m17lq.json new file mode 100644 index 0000000000..eb148249f2 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C02-2026-10-31T213802134Z-wxa68m17lq.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wxa68m17lq-", + "startedAt": "2026-10-31T21:38:02.134Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.29931640625, + "end": 9.267578125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-pKCixA", + "initMs": 29, + "init": { + "kind": "Initialized", + "project": "c02", + "layer": "32797acbc876f0ec50b096f38bddab598d6e19538ec4ec68d231533d68ba6cec8f", + "root": "6f476eef65773e556a2521b677f8de9dc6e085a77d0444c46ce04a5439d03156", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-pKCixA/store/store.sqlite" + }, + "setupMs": 45, + "cellBudgetMs": 94878, + "teardownMs": 36 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-pKCixA/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-pKCixA/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-pKCixA/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxa68m17lq-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.505859375, + "grantedAt": "2026-10-31T21:38:11.643Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 21.128, + "exec": { + "wallMs": 9223.254, + "exitCode": 0, + "stdout": "LFS527 0 1793482682377455000 1793482691581462000\n", + "stderr": "", + "rc": 0, + "ms": 9204.007 + }, + "unmountMs": 55.242, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 29.789, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-pKCixA/local/lfs527-wxa68m17lq-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 7913.136, + "exitCode": 0, + "stdout": "LFS527 0 1793482691693021000 1793482699585659000\n", + "stderr": "", + "rc": 0, + "ms": 7892.638 + }, + "commitMs": 283.865, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "122821d2e1e6fd70d0bba0d7b88698c2d4f1b380a95ee3861a8d79a2063520d01e", + "commit": { + "id": "122821d2e1e6fd70d0bba0d7b88698c2d4f1b380a95ee3861a8d79a2063520d01e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32797acbc876f0ec50b096f38bddab598d6e19538ec4ec68d231533d68ba6cec8f", + "root": "1536f40d022438cfa7f80c414ea521203c190570d5fe1df6b92f7d87135da6f2", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482699860, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 33.216, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.927, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.648, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 17.617, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 21.12, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 9223.202, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 55.237, + "ok": true + }, + { + "name": "timed.mount", + "ms": 29.785, + "ok": true + }, + { + "name": "timed.exec", + "ms": 7913.12, + "ok": true + }, + { + "name": "timed.commit", + "ms": 283.86, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 33.211, + "ok": true + }, + { + "name": "verify.mount", + "ms": 21.407, + "ok": true + }, + { + "name": "verify.identity", + "ms": 42.852, + "ok": true + }, + { + "name": "verify.exec", + "ms": 355.092, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 22.568, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 47.989, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32797acbc876f0ec50b096f38bddab598d6e19538ec4ec68d231533d68ba6cec8f", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 4.074, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.505859375, + "grantedAt": "2026-10-31T21:38:11.643Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 29.789, + "execWallMs": 7913.136, + "commandMs": 7892.638, + "commitMs": 283.865, + "commitKind": "Committed", + "unmountMs": 33.216 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:20.439Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C03-2026-10-31T213823621Z-wxamth19gh.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C03-2026-10-31T213823621Z-wxamth19gh.json new file mode 100644 index 0000000000..7fdf4cd846 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C03-2026-10-31T213823621Z-wxamth19gh.json @@ -0,0 +1,290 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wxamth19gh-", + "startedAt": "2026-10-31T21:38:23.621Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.267578125, + "end": 8.60546875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-qS0ggJ", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c03", + "layer": "3267d333ae0fbdb32d63a1ab078e41ad20f71e62f4c6cb17581e20d1c3ea304b15", + "root": "768dc43aa9cd5be545482a1ee3a4bd63cb02a1141f4636b0e732753bfec4688d", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-qS0ggJ/store/store.sqlite" + }, + "setupMs": 33, + "cellBudgetMs": 94925, + "teardownMs": 32 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-qS0ggJ/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-qS0ggJ/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-qS0ggJ/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxamth19gh-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.60546875, + "grantedAt": "2026-10-31T21:38:25.129Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 21.787, + "exec": { + "wallMs": 1305.236, + "exitCode": 0, + "stdout": "LFS527 0 1793482703821894000 1793482705108497000\n", + "stderr": "", + "rc": 0, + "ms": 1286.603 + }, + "unmountMs": 17.119, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 23.319, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-qS0ggJ/local/lfs527-wxamth19gh-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 1437.723, + "exitCode": 0, + "stdout": "LFS527 0 1793482705166877000 1793482706589629000\n", + "stderr": "", + "rc": 0, + "ms": 1422.752 + }, + "commitMs": 146.58, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "768dc43aa9cd5be545482a1ee3a4bd63cb02a1141f4636b0e732753bfec4688d", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 20.589, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.54, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.474, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.14, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 21.781, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1305.22, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 17.113, + "ok": true + }, + { + "name": "timed.mount", + "ms": 23.314, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1437.705, + "ok": true + }, + { + "name": "timed.commit", + "ms": 146.575, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 20.583, + "ok": true + }, + { + "name": "verify.mount", + "ms": 21.706, + "ok": true + }, + { + "name": "verify.identity", + "ms": 38.058, + "ok": true + }, + { + "name": "verify.exec", + "ms": 15.67, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 13.948, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 48.14, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3267d333ae0fbdb32d63a1ab078e41ad20f71e62f4c6cb17581e20d1c3ea304b15", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.498, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.60546875, + "grantedAt": "2026-10-31T21:38:25.129Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 23.319, + "execWallMs": 1437.723, + "commandMs": 1422.752, + "commitMs": 146.58, + "commitKind": "UpToDate", + "unmountMs": 20.589 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:26.935Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C04-2026-10-31T213830092Z-wxart819r5.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C04-2026-10-31T213830092Z-wxart819r5.json new file mode 100644 index 0000000000..1e81822509 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C04-2026-10-31T213830092Z-wxart819r5.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxart819r5-", + "startedAt": "2026-10-31T21:38:30.092Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.31640625, + "end": 7.1455078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-4JxUWw", + "initMs": 22, + "init": { + "kind": "Initialized", + "project": "c04", + "layer": "32ffae899d725402fb5aab40af513105c31d9a58455f26f14bb4b1fed27f5a9751", + "root": "4c7287b55f702e6ce5a449a92b624d818cd807be9bd213006b9227a82e6b6a6a", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-4JxUWw/store/store.sqlite" + }, + "setupMs": 35, + "cellBudgetMs": 94940, + "teardownMs": 45 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-4JxUWw/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-4JxUWw/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-4JxUWw/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxart819r5-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.50537109375, + "grantedAt": "2026-10-31T21:38:41.890Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 22.762, + "exec": { + "wallMs": 11286.43, + "exitCode": 0, + "stdout": "LFS527 0 1793482710387369000 1793482721640788000\n", + "stderr": "", + "rc": 0, + "ms": 11253.419 + }, + "unmountMs": 204.319, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 28.907, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-4JxUWw/local/lfs527-wxart819r5-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 7492.202, + "exitCode": 0, + "stdout": "LFS527 0 1793482722022146000 1793482729409970000\n", + "stderr": "", + "rc": 0, + "ms": 7387.824 + }, + "commitMs": 939.754, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "128cb7d0cb42c00eb92b94a84ecbcf4eb78d2c7769fb2623d16f387c2d8ddfe8ad", + "commit": { + "id": "128cb7d0cb42c00eb92b94a84ecbcf4eb78d2c7769fb2623d16f387c2d8ddfe8ad", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ffae899d725402fb5aab40af513105c31d9a58455f26f14bb4b1fed27f5a9751", + "root": "a5bd57735e5b5fb9d90324a63403c099cb73b12ad85c6a804b582d0afb10a322", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482730347, + "logical": 0, + "newCanonical": 109367, + "newStored": 8239, + "newMetadata": 8239, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 39.871, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 127.397, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.538, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.833, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 22.755, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 11286.217, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 204.314, + "ok": true + }, + { + "name": "timed.mount", + "ms": 28.902, + "ok": true + }, + { + "name": "timed.exec", + "ms": 7492.118, + "ok": true + }, + { + "name": "timed.commit", + "ms": 939.747, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 39.866, + "ok": true + }, + { + "name": "verify.mount", + "ms": 26.688, + "ok": true + }, + { + "name": "verify.identity", + "ms": 57.96, + "ok": true + }, + { + "name": "verify.exec", + "ms": 586.903, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 21.623, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 64.808, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ffae899d725402fb5aab40af513105c31d9a58455f26f14bb4b1fed27f5a9751", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 18.515, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.50537109375, + "grantedAt": "2026-10-31T21:38:41.890Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 28.907, + "execWallMs": 7492.202, + "commandMs": 7387.824, + "commitMs": 939.754, + "commitKind": "Committed", + "unmountMs": 39.871 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:51.211Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C05-2026-10-31T213854435Z-wxbalf1ceg.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C05-2026-10-31T213854435Z-wxbalf1ceg.json new file mode 100644 index 0000000000..5e16b312b2 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C05-2026-10-31T213854435Z-wxbalf1ceg.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxbalf1ceg-", + "startedAt": "2026-10-31T21:38:54.435Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.9736328125, + "end": 6.82373046875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-dle9lU", + "initMs": 17, + "init": { + "kind": "Initialized", + "project": "c05", + "layer": "327598dcac622dbd032fc5dbba8f61b03153860a7fdf138780266bddca930977e1", + "root": "4a66db25e6c1470e10568cb04258b5744dac0b5606b5edca9e19286189c65841", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-dle9lU/store/store.sqlite" + }, + "setupMs": 33, + "cellBudgetMs": 94924, + "teardownMs": 35 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-dle9lU/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-dle9lU/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-dle9lU/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbalf1ceg-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.8955078125, + "grantedAt": "2026-10-31T21:38:59.014Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 26.578, + "exec": { + "wallMs": 4368.466, + "exitCode": 0, + "stdout": "LFS527 0 1793482734624456000 1793482738979262000\n", + "stderr": "", + "rc": 0, + "ms": 4354.806 + }, + "unmountMs": 32.005, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 22.378, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-dle9lU/local/lfs527-wxbalf1ceg-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 4555.024, + "exitCode": 0, + "stdout": "LFS527 0 1793482739050316000 1793482743590495000\n", + "stderr": "", + "rc": 0, + "ms": 4540.179 + }, + "commitMs": 472.857, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c94e9f7250027cca6ce539cda8d71d4de332dffac9e4549c6da6c5ae30aeaa2e", + "commit": { + "id": "12c94e9f7250027cca6ce539cda8d71d4de332dffac9e4549c6da6c5ae30aeaa2e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "327598dcac622dbd032fc5dbba8f61b03153860a7fdf138780266bddca930977e1", + "root": "7321ed3e0e2945757261df34b78bf9463c4f5f09d751a482c9fd42d71e8efced", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482744056, + "logical": 0, + "newCanonical": 109367, + "newStored": 8237, + "newMetadata": 8237, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 35.956, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.34, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.503, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 17.903, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 26.572, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 4368.448, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 32, + "ok": true + }, + { + "name": "timed.mount", + "ms": 22.372, + "ok": true + }, + { + "name": "timed.exec", + "ms": 4555, + "ok": true + }, + { + "name": "timed.commit", + "ms": 472.849, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 35.948, + "ok": true + }, + { + "name": "verify.mount", + "ms": 26.191, + "ok": true + }, + { + "name": "verify.identity", + "ms": 39.592, + "ok": true + }, + { + "name": "verify.exec", + "ms": 509.711, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.795, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 112.017, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "327598dcac622dbd032fc5dbba8f61b03153860a7fdf138780266bddca930977e1", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.202, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.8955078125, + "grantedAt": "2026-10-31T21:38:59.014Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 22.378, + "execWallMs": 4555.024, + "commandMs": 4540.179, + "commitMs": 472.857, + "commitKind": "Committed", + "unmountMs": 35.956 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:04.858Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C06-2026-10-31T213908073Z-wxbl491ezq.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C06-2026-10-31T213908073Z-wxbl491ezq.json new file mode 100644 index 0000000000..60d9d9c8b5 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C06-2026-10-31T213908073Z-wxbl491ezq.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxbl491ezq-", + "startedAt": "2026-10-31T21:39:08.073Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.82373046875, + "end": 6.99755859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-nSEh7T", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c06", + "layer": "3233c343436e2f3cf6219eafb9d21a860ed83585f7a3eaddb717acdc88bc5a57db", + "root": "3281dc28a74a6e76ca4b6f05e9e8f07460e2a43625cd7552d38a6202bc861751", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-nSEh7T/store/store.sqlite" + }, + "setupMs": 31, + "cellBudgetMs": 94927, + "teardownMs": 38 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-nSEh7T/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-nSEh7T/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-nSEh7T/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbl491ezq-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.82373046875, + "grantedAt": "2026-10-31T21:39:08.499Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 24.859, + "exec": { + "wallMs": 214.235, + "exitCode": 0, + "stdout": "LFS527 0 1793482748271221000 1793482748467747000\n", + "stderr": "", + "rc": 0, + "ms": 196.526 + }, + "unmountMs": 28.454, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 24.764, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-nSEh7T/local/lfs527-wxbl491ezq-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 838.633, + "exitCode": 0, + "stdout": "LFS527 0 1793482748540027000 1793482749332624000\n", + "stderr": "", + "rc": 0, + "ms": 792.597 + }, + "commitMs": 664.077, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12f8f91e0a3cc840b20aa86d7c06b9def6e6edb67c07505ea498780aaae2f3de81", + "commit": { + "id": "12f8f91e0a3cc840b20aa86d7c06b9def6e6edb67c07505ea498780aaae2f3de81", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3233c343436e2f3cf6219eafb9d21a860ed83585f7a3eaddb717acdc88bc5a57db", + "root": "80f9a3e7a71716dfd65d1a782e2ee3fd1a0a4eecd9f0d8103405de10561715a8", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482749926, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 27.639, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.797, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.482, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.579, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 24.853, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 214.216, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 28.45, + "ok": true + }, + { + "name": "timed.mount", + "ms": 24.76, + "ok": true + }, + { + "name": "timed.exec", + "ms": 838.609, + "ok": true + }, + { + "name": "timed.commit", + "ms": 664.072, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 27.634, + "ok": true + }, + { + "name": "verify.mount", + "ms": 28.28, + "ok": true + }, + { + "name": "verify.identity", + "ms": 48.831, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2923.791, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 27.168, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 59.112, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3233c343436e2f3cf6219eafb9d21a860ed83585f7a3eaddb717acdc88bc5a57db", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.394, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.82373046875, + "grantedAt": "2026-10-31T21:39:08.499Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 24.764, + "execWallMs": 838.633, + "commandMs": 792.597, + "commitMs": 664.077, + "commitKind": "Committed", + "unmountMs": 27.639 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:13.195Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C07-2026-10-31T213916432Z-wxbrkg1f9a.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C07-2026-10-31T213916432Z-wxbrkg1f9a.json new file mode 100644 index 0000000000..411e1e25e4 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C07-2026-10-31T213916432Z-wxbrkg1f9a.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxbrkg1f9a-", + "startedAt": "2026-10-31T21:39:16.432Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.07763671875, + "end": 6.83154296875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-9SeOFU", + "initMs": 60, + "init": { + "kind": "Initialized", + "project": "c07", + "layer": "32281972d76368a5d5c3907b6aa94bb742798bd14777255c7e6ac6156597d5bc7b", + "root": "483d3bccbfd6254fc70fb9e8082ee92e9a787d507b632101b9a5b60f81759a4f", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-9SeOFU/store/store.sqlite" + }, + "setupMs": 199, + "cellBudgetMs": 94520, + "teardownMs": 116 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-9SeOFU/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-9SeOFU/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-9SeOFU/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbrkg1f9a-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.07763671875, + "grantedAt": "2026-10-31T21:39:17.831Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 30.788, + "exec": { + "wallMs": 740.842, + "exitCode": 0, + "stdout": "LFS527 0 1793482757099737000 1793482757771287000\n", + "stderr": "", + "rc": 0, + "ms": 671.55 + }, + "unmountMs": 55.675, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 28.525, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-9SeOFU/local/lfs527-wxbrkg1f9a-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 589.687, + "exitCode": 0, + "stdout": "LFS527 0 1793482757882502000 1793482758448249000\n", + "stderr": "", + "rc": 0, + "ms": 565.747 + }, + "commitMs": 1128.215, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ad9c27225b64eae59d051399fc2153189189bc115aea6676c3c215a3ad6e972e", + "commit": { + "id": "12ad9c27225b64eae59d051399fc2153189189bc115aea6676c3c215a3ad6e972e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32281972d76368a5d5c3907b6aa94bb742798bd14777255c7e6ac6156597d5bc7b", + "root": "5b52a89d4a1c437221b8e366e42b91d064112d59c41b6743c7d04becb8e64b52", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482759212, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 39.453, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.711, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.513, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 18.586, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 30.779, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 740.816, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 55.669, + "ok": true + }, + { + "name": "timed.mount", + "ms": 28.52, + "ok": true + }, + { + "name": "timed.exec", + "ms": 589.675, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1128.209, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 39.447, + "ok": true + }, + { + "name": "verify.mount", + "ms": 26.465, + "ok": true + }, + { + "name": "verify.identity", + "ms": 234.558, + "ok": true + }, + { + "name": "verify.exec", + "ms": 5607.954, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 61.616, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 66.12, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32281972d76368a5d5c3907b6aa94bb742798bd14777255c7e6ac6156597d5bc7b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.85, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.07763671875, + "grantedAt": "2026-10-31T21:39:17.831Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 28.525, + "execWallMs": 589.687, + "commandMs": 565.747, + "commitMs": 1128.215, + "commitKind": "Committed", + "unmountMs": 39.453 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:25.762Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C08-2026-10-31T213929571Z-wxc1pf1fnb.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C08-2026-10-31T213929571Z-wxc1pf1fnb.json new file mode 100644 index 0000000000..b099096f1c --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C08-2026-10-31T213929571Z-wxc1pf1fnb.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxc1pf1fnb-", + "startedAt": "2026-10-31T21:39:29.571Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.4052734375, + "end": 7.53271484375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-NwzuYe", + "initMs": 24, + "init": { + "kind": "Initialized", + "project": "c08", + "layer": "32242f8b2d85eaa24d961993d56badec4dcae01e8cbcb1369b62fd8c9681c07890", + "root": "f36f16ceb0e13ec63c4f41e044ba4f1a5d3a96bf9f51b16021ea416cb4b17762", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-NwzuYe/store/store.sqlite" + }, + "setupMs": 54, + "cellBudgetMs": 94829, + "teardownMs": 37 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-NwzuYe/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-NwzuYe/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-NwzuYe/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxc1pf1fnb-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.4052734375, + "grantedAt": "2026-10-31T21:39:31.128Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 29.831, + "exec": { + "wallMs": 1113.206, + "exitCode": 0, + "stdout": "LFS527 0 1793482770016048000 1793482771050592000\n", + "stderr": "", + "rc": 0, + "ms": 1034.544 + }, + "unmountMs": 63.517, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 46.916, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-NwzuYe/local/lfs527-wxc1pf1fnb-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 470.037, + "exitCode": 0, + "stdout": "LFS527 0 1793482771219125000 1793482771643216000\n", + "stderr": "", + "rc": 0, + "ms": 424.091 + }, + "commitMs": 1222.537, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a65aa3cf1e36e1306580a5021e58440b75f4e277e040b4adcca15e9d5aab21d5", + "commit": { + "id": "12a65aa3cf1e36e1306580a5021e58440b75f4e277e040b4adcca15e9d5aab21d5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32242f8b2d85eaa24d961993d56badec4dcae01e8cbcb1369b62fd8c9681c07890", + "root": "df98061e1ba1be53154e99b62928cb0efc05b67920ca28367bccf33894da51e5", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482772793, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 37.289, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 12.909, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.761, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 33.056, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 29.823, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1113.186, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 63.511, + "ok": true + }, + { + "name": "timed.mount", + "ms": 46.912, + "ok": true + }, + { + "name": "timed.exec", + "ms": 470.024, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1222.531, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 37.284, + "ok": true + }, + { + "name": "verify.mount", + "ms": 19.932, + "ok": true + }, + { + "name": "verify.identity", + "ms": 41.925, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2778.988, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 20.829, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 54.568, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32242f8b2d85eaa24d961993d56badec4dcae01e8cbcb1369b62fd8c9681c07890", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 3.004, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.4052734375, + "grantedAt": "2026-10-31T21:39:31.128Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 46.916, + "execWallMs": 470.037, + "commandMs": 424.091, + "commitMs": 1222.537, + "commitKind": "Committed", + "unmountMs": 37.289 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:35.867Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C09-2026-10-31T213939133Z-wxc9311fwy.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C09-2026-10-31T213939133Z-wxc9311fwy.json new file mode 100644 index 0000000000..0ce285a044 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C09-2026-10-31T213939133Z-wxc9311fwy.json @@ -0,0 +1,351 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxc9311fwy-", + "startedAt": "2026-10-31T21:39:39.133Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.81005859375, + "end": 8.1455078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-MSnmTI", + "initMs": 23, + "init": { + "kind": "Initialized", + "project": "c09", + "layer": "32cda881c1ad00f130ba378c7861a5ca3be7186f9a565551ec1726fbdcd2ce0a49", + "root": "4fa145cd6bdfe901d233b2e65c1fe06494d28c0d30c8a3a1818af9e161e6ab5c", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-MSnmTI/store/store.sqlite" + }, + "setupMs": 42, + "cellBudgetMs": 94903, + "teardownMs": 42 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-MSnmTI/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-MSnmTI/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-MSnmTI/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxc9311fwy-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.81005859375, + "grantedAt": "2026-10-31T21:39:41.314Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 301.691, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1278a9706bcc5f54236039478f34c82e2c20b68d6dd8a99879d5a40c2740dcb76a", + "commit": { + "id": "1278a9706bcc5f54236039478f34c82e2c20b68d6dd8a99879d5a40c2740dcb76a", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32cda881c1ad00f130ba378c7861a5ca3be7186f9a565551ec1726fbdcd2ce0a49", + "root": "33bf663778414717234c108a5223d29a4fab960f3bac459af2e09ada76a36740", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793482781112, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 26.073, + "exec": { + "wallMs": 58.117, + "exitCode": 0, + "stdout": "LFS527 0 1793482781247828000 1793482781289354000\n", + "stderr": "", + "rc": 0, + "ms": 41.526 + }, + "unmountMs": 21.417, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 62.482, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-MSnmTI/local/lfs527-wxc9311fwy-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 58.03, + "exitCode": 0, + "stdout": "LFS527 0 1793482781392235000 1793482781434269000\n", + "stderr": "", + "rc": 0, + "ms": 42.034 + }, + "commitMs": 90.032, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1278a9706bcc5f54236039478f34c82e2c20b68d6dd8a99879d5a40c2740dcb76a", + "root": "33bf663778414717234c108a5223d29a4fab960f3bac459af2e09ada76a36740", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 21.551, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.423, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.793, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 82.628, + "ok": true + }, + { + "name": "setup.mount", + "ms": 29.158, + "ok": true + }, + { + "name": "setup.exec", + "ms": 301.671, + "ok": true + }, + { + "name": "setup.commit", + "ms": 1470.714, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 20.648, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 26.068, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 58.105, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 21.408, + "ok": true + }, + { + "name": "timed.mount", + "ms": 62.478, + "ok": true + }, + { + "name": "timed.exec", + "ms": 58.019, + "ok": true + }, + { + "name": "timed.commit", + "ms": 90.027, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 21.545, + "ok": true + }, + { + "name": "verify.mount", + "ms": 21.832, + "ok": true + }, + { + "name": "verify.identity", + "ms": 45.895, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2813.161, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 21.488, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 50.809, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32cda881c1ad00f130ba378c7861a5ca3be7186f9a565551ec1726fbdcd2ce0a49", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.661, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.81005859375, + "grantedAt": "2026-10-31T21:39:41.314Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 62.482, + "execWallMs": 58.03, + "commandMs": 42.034, + "commitMs": 90.032, + "commitKind": "UpToDate", + "unmountMs": 21.551 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:44.551Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C10-2026-10-31T213947659Z-wxcfnv1g6n.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C10-2026-10-31T213947659Z-wxcfnv1g6n.json new file mode 100644 index 0000000000..7cdca84d55 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C10-2026-10-31T213947659Z-wxcfnv1g6n.json @@ -0,0 +1,370 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxcfnv1g6n-", + "startedAt": "2026-10-31T21:39:47.659Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.1455078125, + "end": 7.88916015625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-O6iWNF", + "initMs": 29, + "init": { + "kind": "Initialized", + "project": "c10", + "layer": "32901c7ca4f67e2158352fbbcffff9ce7a0271fea8758163909e89323298f20b7e", + "root": "a8230bf4b5e4e32f5b9d8fa5675eb24429dc6142f3f66c8bc165cbe9a056620a", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-O6iWNF/store/store.sqlite" + }, + "setupMs": 44, + "cellBudgetMs": 94885, + "teardownMs": 67 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-O6iWNF/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-O6iWNF/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-O6iWNF/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxcfnv1g6n-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.0537109375, + "grantedAt": "2026-10-31T21:39:48.964Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 216.242, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12dd988b662a3c2ef4c0d99063ccdc170c4bf9e951e33a0420df6979b91ea847c5", + "commit": { + "id": "12dd988b662a3c2ef4c0d99063ccdc170c4bf9e951e33a0420df6979b91ea847c5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32901c7ca4f67e2158352fbbcffff9ce7a0271fea8758163909e89323298f20b7e", + "root": "e2e660ebfb95b62dd40a7abf9523290e524a8329824d4ad1a9c2bebe56312db8", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793482788492, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 47.727, + "exec": { + "wallMs": 285.728, + "exitCode": 0, + "stdout": "LFS527 0 1793482788663027000 1793482788929517000\n", + "stderr": "", + "rc": 0, + "ms": 266.49 + }, + "unmountMs": 31.244, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 24.802, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-O6iWNF/local/lfs527-wxcfnv1g6n-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 289.814, + "exitCode": 0, + "stdout": "LFS527 0 1793482789008342000 1793482789278400000\n", + "stderr": "", + "rc": 0, + "ms": 270.058 + }, + "commitMs": 448.429, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1242d1164568151ded2ae758655bd4b278466ca374a4842e10c07877c0d46ed908", + "commit": { + "id": "1242d1164568151ded2ae758655bd4b278466ca374a4842e10c07877c0d46ed908", + "branch": null, + "parent": "12dd988b662a3c2ef4c0d99063ccdc170c4bf9e951e33a0420df6979b91ea847c5", + "secondParent": null, + "base": "32901c7ca4f67e2158352fbbcffff9ce7a0271fea8758163909e89323298f20b7e", + "root": "701a6f786a1c43800d5a8bb96d35af5d5ec087391f27bb069d7a021cd9d9eb89", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793482789537, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 49.424, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.436, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.558, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15.989, + "ok": true + }, + { + "name": "setup.mount", + "ms": 22.457, + "ok": true + }, + { + "name": "setup.exec", + "ms": 216.218, + "ok": true + }, + { + "name": "setup.commit", + "ms": 480.392, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 23.531, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 47.723, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 285.715, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 31.229, + "ok": true + }, + { + "name": "timed.mount", + "ms": 24.797, + "ok": true + }, + { + "name": "timed.exec", + "ms": 289.803, + "ok": true + }, + { + "name": "timed.commit", + "ms": 448.424, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 49.418, + "ok": true + }, + { + "name": "verify.mount", + "ms": 30.791, + "ok": true + }, + { + "name": "verify.identity", + "ms": 48.586, + "ok": true + }, + { + "name": "verify.exec", + "ms": 5494.648, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 58.969, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 107.357, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32901c7ca4f67e2158352fbbcffff9ce7a0271fea8758163909e89323298f20b7e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 2.714, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.0537109375, + "grantedAt": "2026-10-31T21:39:48.964Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 24.802, + "execWallMs": 289.814, + "commandMs": 270.058, + "commitMs": 448.429, + "commitKind": "Committed", + "unmountMs": 49.424 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:55.627Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C11-2026-10-31T214000431Z-wxcpin1ghl.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C11-2026-10-31T214000431Z-wxcpin1ghl.json new file mode 100644 index 0000000000..ebc6975315 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C11-2026-10-31T214000431Z-wxcpin1ghl.json @@ -0,0 +1,351 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxcpin1ghl-", + "startedAt": "2026-10-31T21:40:00.431Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.93896484375, + "end": 8.49951171875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-oW8U8F", + "initMs": 71, + "init": { + "kind": "Initialized", + "project": "c11", + "layer": "329ddb1dba0783bcf89f12be025eddc28e1222e1defb32a5bf2ff90e372f02b421", + "root": "12b2160faa29a388ffff577092d6f2ca671c29cc4495ac9165621067b1d267df", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-oW8U8F/store/store.sqlite" + }, + "setupMs": 110, + "cellBudgetMs": 94166, + "teardownMs": 36 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-oW8U8F/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-oW8U8F/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-oW8U8F/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxcpin1ghl-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.54345703125, + "grantedAt": "2026-10-31T21:40:08.344Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 742.702, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c453841386e922ad9deccd5e3138a0ccbfc70ad9ccf5798bebc4f703cb7c71e4", + "commit": { + "id": "12c453841386e922ad9deccd5e3138a0ccbfc70ad9ccf5798bebc4f703cb7c71e4", + "branch": null, + "parent": null, + "secondParent": null, + "base": "329ddb1dba0783bcf89f12be025eddc28e1222e1defb32a5bf2ff90e372f02b421", + "root": "5c9f41a38f5a4fbaa426078bc9b8e4fc5019645af209280bf45358d81df147ed", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793482808037, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 23.226, + "exec": { + "wallMs": 161.503, + "exitCode": 0, + "stdout": "LFS527 0 1793482808163915000 1793482808310436000\n", + "stderr": "", + "rc": 0, + "ms": 146.521 + }, + "unmountMs": 29.535, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 21.7, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-oW8U8F/local/lfs527-wxcpin1ghl-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 230.435, + "exitCode": 0, + "stdout": "LFS527 0 1793482808382030000 1793482808595655000\n", + "stderr": "", + "rc": 0, + "ms": 213.625 + }, + "commitMs": 565.662, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12c453841386e922ad9deccd5e3138a0ccbfc70ad9ccf5798bebc4f703cb7c71e4", + "root": "5c9f41a38f5a4fbaa426078bc9b8e4fc5019645af209280bf45358d81df147ed", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 32.733, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 62.71, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.136, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 164.399, + "ok": true + }, + { + "name": "setup.mount", + "ms": 43.504, + "ok": true + }, + { + "name": "setup.exec", + "ms": 742.677, + "ok": true + }, + { + "name": "setup.commit", + "ms": 4661.464, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 19.933, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 23.222, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 161.491, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 29.527, + "ok": true + }, + { + "name": "timed.mount", + "ms": 21.692, + "ok": true + }, + { + "name": "timed.exec", + "ms": 230.421, + "ok": true + }, + { + "name": "timed.commit", + "ms": 565.658, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 32.728, + "ok": true + }, + { + "name": "verify.mount", + "ms": 23.19, + "ok": true + }, + { + "name": "verify.identity", + "ms": 73.834, + "ok": true + }, + { + "name": "verify.exec", + "ms": 2789.457, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 22.996, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 46.359, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "329ddb1dba0783bcf89f12be025eddc28e1222e1defb32a5bf2ff90e372f02b421", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 3.584, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.54345703125, + "grantedAt": "2026-10-31T21:40:08.344Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 21.7, + "execWallMs": 230.435, + "commandMs": 213.625, + "commitMs": 565.662, + "commitKind": "UpToDate", + "unmountMs": 32.733 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:12.196Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C12-2026-10-31T214015465Z-wxd1491gu8.json b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C12-2026-10-31T214015465Z-wxd1491gu8.json new file mode 100644 index 0000000000..2bc183485c --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/macos-native-C12-2026-10-31T214015465Z-wxd1491gu8.json @@ -0,0 +1,309 @@ +{ + "receipt": "lfs527-cell/1", + "row": "macos-native", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxd1491gu8-", + "startedAt": "2026-10-31T21:40:15.465Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.21923828125, + "end": 7.72119140625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-kEEmlO", + "initMs": 19, + "init": { + "kind": "Initialized", + "project": "c12", + "layer": "32ae62f1d52cac0765a6a1ba22f6fdd2e544148673a3fb4ad8953edaf587099df3", + "root": "f8442a9c4971814829f515f6f9d96ee91d2dc6ede68bac0fc9ce578d627004a8", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-kEEmlO/store/store.sqlite" + }, + "setupMs": 43, + "cellBudgetMs": 94905, + "teardownMs": 33 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": null, + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_SANDBOX": "native", + "LAYERFS_NATIVE": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs.node", + "LAYERFS_DAEMON": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/Users/yifanxu/.cache/layerfs-test/lfs527-kEEmlO/local", + "LAYERFS_STORE_PATH": "/Users/yifanxu/.cache/layerfs-test/lfs527-kEEmlO/store/store.sqlite", + "LAYERFS_HOME": "/Users/yifanxu/.cache/layerfs-test/lfs527-kEEmlO/home", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxd1491gu8-" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.21923828125, + "grantedAt": "2026-10-31T21:40:17.013Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 21.852, + "exec": { + "wallMs": 1147.13, + "exitCode": 0, + "stdout": "LFS527 0 1793482815701897000 1793482816807891000\n", + "stderr": "", + "rc": 0, + "ms": 1105.994 + }, + "unmountMs": 178.616, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 49.898, + "image": "local", + "workspace": { + "sandbox": "1", + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-kEEmlO/local/lfs527-wxd1491gu8-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 614.897, + "exitCode": 0, + "stdout": "LFS527 0 1793482817082789000 1793482817677300000\n", + "stderr": "", + "rc": 0, + "ms": 594.511 + }, + "commitMs": 838.481, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12fd5a9cc9047777102451686e43ed3fc5396f0ad87acd5c5fa474b1258d8cbd1b", + "commit": { + "id": "12fd5a9cc9047777102451686e43ed3fc5396f0ad87acd5c5fa474b1258d8cbd1b", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ae62f1d52cac0765a6a1ba22f6fdd2e544148673a3fb4ad8953edaf587099df3", + "root": "7f8b3c485f07050b0ada7f5e9a0d674b3b0e325043147c63d7049f9798bd6c98", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793482818513, + "logical": 38445, + "newCanonical": 82440, + "newStored": 27864, + "newMetadata": 6535, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 27.17, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.817, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.439, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 41.05, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 21.845, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1147.107, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 178.611, + "ok": true + }, + { + "name": "timed.mount", + "ms": 49.892, + "ok": true + }, + { + "name": "timed.exec", + "ms": 614.882, + "ok": true + }, + { + "name": "timed.commit", + "ms": 838.471, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 27.165, + "ok": true + }, + { + "name": "verify.mount", + "ms": 27.282, + "ok": true + }, + { + "name": "verify.identity", + "ms": 59.989, + "ok": true + }, + { + "name": "verify.exec", + "ms": 335.119, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 24.388, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 54.429, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ae62f1d52cac0765a6a1ba22f6fdd2e544148673a3fb4ad8953edaf587099df3", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "local" + }, + "lock": { + "askedMs": 3.027, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.21923828125, + "grantedAt": "2026-10-31T21:40:17.013Z", + "staleRemoved": null + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 49.898, + "execWallMs": 614.897, + "commandMs": 594.511, + "commitMs": 838.481, + "commitKind": "Committed", + "unmountMs": 27.17 + }, + "where": { + "kernel": "Darwin 25.4.0", + "machine": "arm64", + "cpus": "14", + "memKiB": null, + "memBytes": "38654705664", + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:19.087Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/refusals-macos-namespaces-2026-10-31T214022220Z-wxd6bw1h20.json b/core/docs/issues/527/receipts/5431c7e4a9/refusals-macos-namespaces-2026-10-31T214022220Z-wxd6bw1h20.json new file mode 100644 index 0000000000..6fe8852550 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/refusals-macos-namespaces-2026-10-31T214022220Z-wxd6bw1h20.json @@ -0,0 +1,117 @@ +{ + "receipt": "lfs527-cell/1", + "row": "refusals", + "cell": "macos-namespaces", + "verdict": "PASS", + "cause": "expected Unsupported three times; answered Unsupported, Unsupported, Unsupported", + "project": "refusal", + "prefix": "lfs527-wxd6bw1h20-", + "startedAt": "2026-10-31T21:40:22.220Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.72119140625, + "end": 7.72119140625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-h5nJeG", + "initMs": 20, + "init": { + "kind": "Initialized", + "project": "refusal", + "layer": "32b8f9d3f1831adbaf55e873c9db8f126788374c82f0f4fdc4a8987b7503fb59a6", + "root": "6b773feeafe76a1f4ab67bdc87b03bb0e5d440f3675d8b4d68316e48866c70da", + "store": "/Users/yifanxu/.cache/layerfs-test/lfs527-h5nJeG/store/store.sqlite" + }, + "teardownMs": 46 + }, + "teardown": [ + { + "name": "sandboxes", + "ok": true, + "value": [] + }, + { + "name": "leftover mounts and processes", + "ok": true, + "value": { + "mounts": [], + "pids": [] + } + }, + { + "name": "work", + "ok": true + } + ], + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-worktrees/issue527-platform-pass-e-f55ee57a9aa7/artifacts/build-macos-c88772be7b1949f1af6289022adb1718", + "id": "build-macos-c88772be7b1949f1af6289022adb1718", + "platform": "macos", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "326dd203f1b78cd249d003514f004a90779de783bb2996a56f59c6d4365014a7", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 214, + "mismatched": [], + "imageArchives": [] + }, + "observed": { + "LAYERFS_SANDBOX=namespaces, no image settings": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: deploy.sandbox (LAYERFS_SANDBOX) namespaces is Linux only; use native", + "detail": null + } + }, + "LAYERFS_SANDBOX=namespaces, with LAYERFS_IMAGE and LAYERFS_IMAGE_ARCHIVE": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: deploy.sandbox (LAYERFS_SANDBOX) namespaces is Linux only; use native", + "detail": null + } + }, + "former pair native + LAYERFS_SANDBOX_BACKEND=namespaces, with image settings": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) namespaces is Linux only; use native", + "detail": null + } + } + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:22.592Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/refusals-vm-docker-2026-10-31T214026734Z-wxd9ta1h5b.json b/core/docs/issues/527/receipts/5431c7e4a9/refusals-vm-docker-2026-10-31T214026734Z-wxd9ta1h5b.json new file mode 100644 index 0000000000..d20b572300 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/refusals-vm-docker-2026-10-31T214026734Z-wxd9ta1h5b.json @@ -0,0 +1,140 @@ +{ + "receipt": "lfs527-cell/1", + "row": "refusals", + "cell": "vm-docker", + "verdict": "OBSERVED", + "cause": "no documented answer for Docker on a vm: home; see observed", + "project": "refusal", + "prefix": "lfs527-wxd9ta1h5b-", + "startedAt": "2026-10-31T21:40:26.734Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.5029296875, + "end": 7.18212890625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-XcjUzh", + "initMs": 12598, + "volume": "lfs527-wxd9ta1h5b-refusal-store-mvwxda2c", + "vm": { + "project": "refusal", + "name": "lfs527-wxd9ta1h5b-refusal-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-XcjUzh/home", + "store": "lfs527-wxd9ta1h5b-refusal-vm-store", + "created": "2026-10-31T21:40:28Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56010 + }, + "disk": { + "free": 21120929792 + } + }, + "teardownMs": 1874 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "refusal", + "volume": "lfs527-wxd9ta1h5b-refusal-store-mvwxda2c" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "refusal", + "name": "lfs527-wxd9ta1h5b-refusal-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "observed": { + "placement vm:docker": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: no VM provider is implemented for vm:docker; it is vm:microsandbox or vm:apple-container or vm:ssh or vm:lima or vm:firecracker", + "detail": null + }, + "LAYERFS_SANDBOX=docker on vm:apple-container": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "Failed", + "message": "Failed: sandbox create stopped at Create: Provider(LaunchFailure { phase: Create, identity: None, cause: Docker(Create(SandboxCreateFailure { request: SandboxRequest { image: \"sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e\", store_volume: Some(\"lfs527-wxd9ta1h5b-none\"), port: 30421, labels: [(\"layerfs.role\", \"sandbox\"), (\"layerfs.project\", \"refusal\"), (\"layerfs.sandbox\", \"1\")] }, phase: Volume, transfer: WireFailure { attempted: false, sent_bytes: 0, request_header_bytes: 0, sent_body_bytes: 0, pending_request: PendingRequest { bytes: 0 }, status: None, cause: Io(Os { code: 2, kind: NotFound, message: \"No such file or directory\" }), fence_error: None, observed_exec: None, observed_container: None, requested_container: None, requested_exec: None, error_body: None } })) })", + "detail": { + "container": null, + "removed": false, + "log": null + } + } + }, + "LAYERFS_SANDBOX_BACKEND=docker on vm:apple-container": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "InvalidInput", + "message": "InvalidInput: deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) is native or namespaces, not docker; it is replaced by LAYERFS_SANDBOX=native or namespaces", + "detail": null + } + } + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "teardownOk": true, + "endedAt": "2026-10-31T21:40:41.725Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C01-2026-10-31T213613539Z-wx7ug3145e.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C01-2026-10-31T213613539Z-wx7ug3145e.json new file mode 100644 index 0000000000..40720906bc --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C01-2026-10-31T213613539Z-wx7ug3145e.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wx7ug3145e-", + "startedAt": "2026-10-31T21:36:13.539Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.6318359375, + "end": 8.2197265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-aN7L7x", + "initMs": 9148, + "volume": "lfs527-wx7ug3145e-c01-store-mvwx7ugy", + "vm": { + "project": "c01", + "name": "lfs527-wx7ug3145e-c01-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-aN7L7x/home", + "store": "lfs527-wx7ug3145e-c01-vm-store", + "created": "2026-10-31T21:36:13Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55164 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 9270, + "cellBudgetMs": 75697, + "teardownMs": 1153 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wx7ug3145e-c01-store-mvwx7ugy" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wx7ug3145e-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx7ug3145e-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-aN7L7x/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 207, + "load1": 8.15185546875, + "grantedAt": "2026-10-31T21:36:30.409Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 16.155, + "exec": { + "wallMs": 620.329, + "exitCode": 0, + "stdout": "LFS527 0 1793482589852851548 1793482590440525007\n", + "stderr": "", + "rc": 0, + "ms": 587.673459 + }, + "unmountMs": 11.567, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.144, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx7ug3145e-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 552.694, + "exitCode": 0, + "stdout": "LFS527 0 1793482590694407924 1793482591223205632\n", + "stderr": "", + "rc": 0, + "ms": 528.797708 + }, + "commitMs": 171.668, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1287a6e93891e6392f054851d98821e38e64776e454748bb3f4774f6d7c065e03f", + "commit": { + "id": "1287a6e93891e6392f054851d98821e38e64776e454748bb3f4774f6d7c065e03f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b117b3ceee907fe01373c68b00af138c64b2e47314f37981cd452a4e16be7193", + "root": "b856aba0c343498c4233e007b13ad9923152cf9dc01074b60997a4c9c9178f87", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482591386, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.988, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.198, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.556, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6514.145, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 16.149, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 620.323, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.564, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.14, + "ok": true + }, + { + "name": "timed.exec", + "ms": 552.691, + "ok": true + }, + { + "name": "timed.commit", + "ms": 171.664, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.985, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.119, + "ok": true + }, + { + "name": "verify.identity", + "ms": 38.847, + "ok": true + }, + { + "name": "verify.exec", + "ms": 698.504, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.095, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 891.624, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b117b3ceee907fe01373c68b00af138c64b2e47314f37981cd452a4e16be7193", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 211.259, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 207, + "load1": 8.15185546875, + "grantedAt": "2026-10-31T21:36:30.409Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.144, + "execWallMs": 552.694, + "commandMs": 528.797708, + "commitMs": 171.668, + "commitKind": "Committed", + "unmountMs": 8.988 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:36:33.953Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C02-2026-10-31T213644476Z-wx8ibg14wm.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C02-2026-10-31T213644476Z-wx8ibg14wm.json new file mode 100644 index 0000000000..334cf9fb44 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C02-2026-10-31T213644476Z-wx8ibg14wm.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wx8ibg14wm-", + "startedAt": "2026-10-31T21:36:44.476Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.56005859375, + "end": 10.640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-zhOhJp", + "initMs": 17433, + "volume": "lfs527-wx8ibg14wm-c02-store-mvwx8idd", + "vm": { + "project": "c02", + "name": "lfs527-wx8ibg14wm-c02-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-zhOhJp/home", + "store": "lfs527-wx8ibg14wm-c02-vm-store", + "created": "2026-10-31T21:36:44Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55282 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 17601, + "cellBudgetMs": 67365, + "teardownMs": 946 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wx8ibg14wm-c02-store-mvwx8idd" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wx8ibg14wm-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx8ibg14wm-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-zhOhJp/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10, + "grantedAt": "2026-10-31T21:37:06.496Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.057, + "exec": { + "wallMs": 968.653, + "exitCode": 0, + "stdout": "LFS527 0 1793482624946663800 1793482625894129718\n", + "stderr": "", + "rc": 0, + "ms": 947.465918 + }, + "unmountMs": 8.27, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.067, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx8ibg14wm-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 936.778, + "exitCode": 0, + "stdout": "LFS527 0 1793482626240907259 1793482627156287551\n", + "stderr": "", + "rc": 0, + "ms": 915.380292 + }, + "commitMs": 110.109, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1287a9b5ba92f6913ed0c56e27eb74364accf96dbcea68464ac26d9884352cf796", + "commit": { + "id": "1287a9b5ba92f6913ed0c56e27eb74364accf96dbcea68464ac26d9884352cf796", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3263970d10c86ac0188e277a31b6441dbd04b5bb223628bd1a535cdde5d3f623b0", + "root": "1e56a06186ffb39211f6dd8ca5ee284635af8e15a07e7060e539e808dc7ec303", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482627252, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.388, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.379, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.867, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3027.153, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.053, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 968.647, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.267, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.065, + "ok": true + }, + { + "name": "timed.exec", + "ms": 936.775, + "ok": true + }, + { + "name": "timed.commit", + "ms": 110.106, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.386, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.369, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.866, + "ok": true + }, + { + "name": "verify.exec", + "ms": 433.243, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 13.258, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1180.053, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3263970d10c86ac0188e277a31b6441dbd04b5bb223628bd1a535cdde5d3f623b0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 307.19, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 306, + "load1": 10, + "grantedAt": "2026-10-31T21:37:06.496Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.067, + "execWallMs": 936.778, + "commandMs": 915.380292, + "commitMs": 110.109, + "commitKind": "Committed", + "unmountMs": 10.388 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:10.174Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C03-2026-10-31T213713256Z-wx94iw15ta.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C03-2026-10-31T213713256Z-wx94iw15ta.json new file mode 100644 index 0000000000..aa029ff3e6 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C03-2026-10-31T213713256Z-wx94iw15ta.json @@ -0,0 +1,316 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wx94iw15ta-", + "startedAt": "2026-10-31T21:37:13.256Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.640625, + "end": 10.79931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-xhTbhY", + "initMs": 9428, + "volume": "lfs527-wx94iw15ta-c03-store-mvwx94jo", + "vm": { + "project": "c03", + "name": "lfs527-wx94iw15ta-c03-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-xhTbhY/home", + "store": "lfs527-wx94iw15ta-c03-vm-store", + "created": "2026-10-31T21:37:13Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55414 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 9546, + "cellBudgetMs": 75422, + "teardownMs": 920 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wx94iw15ta-c03-store-mvwx94jo" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wx94iw15ta-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx94iw15ta-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-xhTbhY/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 305, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:27.808Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 16.766, + "exec": { + "wallMs": 527.933, + "exitCode": 0, + "stdout": "LFS527 0 1793482647424483172 1793482647893052505\n", + "stderr": "", + "rc": 0, + "ms": 468.569333 + }, + "unmountMs": 5.732, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.501, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx94iw15ta-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 634.723, + "exitCode": 0, + "stdout": "LFS527 0 1793482648231447964 1793482648850090298\n", + "stderr": "", + "rc": 0, + "ms": 618.642334 + }, + "commitMs": 10.124, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "d30d57630be76456cf2af2c9bc3d40b9f66cba1318158aaeabb77e577b63cd50", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.657, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.996, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.584, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4051.286, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 16.763, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 527.928, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.729, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.498, + "ok": true + }, + { + "name": "timed.exec", + "ms": 634.72, + "ok": true + }, + { + "name": "timed.commit", + "ms": 10.117, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.653, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.319, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.071, + "ok": true + }, + { + "name": "verify.exec", + "ms": 7.986, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.926, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1164.95, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b23c96ca62d64f5360cba18f88a6679e97ef813d2dfee99eeb528c0bdddd560d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 305.868, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 305, + "load1": 11.3916015625, + "grantedAt": "2026-10-31T21:37:27.808Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.501, + "execWallMs": 634.723, + "commandMs": 618.642334, + "commitMs": 10.124, + "commitKind": "UpToDate", + "unmountMs": 8.657 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:30.609Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C04-2026-10-31T213733813Z-wx9kdx16l1.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C04-2026-10-31T213733813Z-wx9kdx16l1.json new file mode 100644 index 0000000000..33927c26b6 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C04-2026-10-31T213733813Z-wx9kdx16l1.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wx9kdx16l1-", + "startedAt": "2026-10-31T21:37:33.813Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.25439453125, + "end": 9.41259765625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-p9H7Rx", + "initMs": 7130, + "volume": "lfs527-wx9kdx16l1-c04-store-mvwx9kep", + "vm": { + "project": "c04", + "name": "lfs527-wx9kdx16l1-c04-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-p9H7Rx/home", + "store": "lfs527-wx9kdx16l1-c04-vm-store", + "created": "2026-10-31T21:37:33Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55508 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 7281, + "cellBudgetMs": 77685, + "teardownMs": 1325 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wx9kdx16l1-c04-store-mvwx9kep" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wx9kdx16l1-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9kdx16l1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-p9H7Rx/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.36181640625, + "grantedAt": "2026-10-31T21:37:53.566Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 13.522, + "exec": { + "wallMs": 711.605, + "exitCode": 0, + "stdout": "LFS527 0 1793482672888214467 1793482673574588300\n", + "stderr": "", + "rc": 0, + "ms": 686.373833 + }, + "unmountMs": 41.554, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.566, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx9kdx16l1-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 668.98, + "exitCode": 0, + "stdout": "LFS527 0 1793482673647716759 1793482674296091551\n", + "stderr": "", + "rc": 0, + "ms": 648.374792 + }, + "commitMs": 142.575, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ed71a24b8ba649a060f63a21cc0688ab1fbacf508fc66a91de091348d0deba06", + "commit": { + "id": "12ed71a24b8ba649a060f63a21cc0688ab1fbacf508fc66a91de091348d0deba06", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322e4592a9354394528c8e37b2ca766d287343d3cf89a93e9be8511f28e931c718", + "root": "d357510bc78429981ed560c28c5532f95d4c178b40c45590036cde684aef17b2", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482674430, + "logical": 0, + "newCanonical": 109367, + "newStored": 8269, + "newMetadata": 8269, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.349, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.177, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.41, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 11560.072, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 13.515, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 711.601, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 41.551, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.563, + "ok": true + }, + { + "name": "timed.exec", + "ms": 668.977, + "ok": true + }, + { + "name": "timed.commit", + "ms": 142.571, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.344, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.553, + "ok": true + }, + { + "name": "verify.identity", + "ms": 36.932, + "ok": true + }, + { + "name": "verify.exec", + "ms": 256.155, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 31.584, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 803.159, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322e4592a9354394528c8e37b2ca766d287343d3cf89a93e9be8511f28e931c718", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.16, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.36181640625, + "grantedAt": "2026-10-31T21:37:53.566Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.566, + "execWallMs": 668.98, + "commandMs": 648.374792, + "commitMs": 142.575, + "commitKind": "Committed", + "unmountMs": 6.349 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:56.852Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C05-2026-10-31T213759997Z-wxa4l917i3.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C05-2026-10-31T213759997Z-wxa4l917i3.json new file mode 100644 index 0000000000..5ab94a4e36 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C05-2026-10-31T213759997Z-wxa4l917i3.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxa4l917i3-", + "startedAt": "2026-10-31T21:37:59.997Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.29931640625, + "end": 8.60546875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-9fdPt6", + "initMs": 6826, + "volume": "lfs527-wxa4l917i3-c05-store-mvwxa4m2", + "vm": { + "project": "c05", + "name": "lfs527-wxa4l917i3-c05-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-9fdPt6/home", + "store": "lfs527-wxa4l917i3-c05-vm-store", + "created": "2026-10-31T21:38:00Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55589 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 6948, + "cellBudgetMs": 78021, + "teardownMs": 4045 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wxa4l917i3-c05-store-mvwxa4m2" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wxa4l917i3-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxa4l917i3-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-9fdPt6/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 8794, + "load1": 9.267578125, + "grantedAt": "2026-10-31T21:38:20.797Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.976, + "exec": { + "wallMs": 886.976, + "exitCode": 0, + "stdout": "LFS527 0 1793482691005029796 1793482691879142630\n", + "stderr": "", + "rc": 0, + "ms": 874.112834 + }, + "unmountMs": 8.023, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.629, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxa4l917i3-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 887.344, + "exitCode": 0, + "stdout": "LFS527 0 1793482700707479217 1793482701582950093\n", + "stderr": "", + "rc": 0, + "ms": 875.470876 + }, + "commitMs": 107.339, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12c14f1d8d0ab169467398a03b1fffb9ef5c301f0be1bb0ab7cbab412d61e02aaf", + "commit": { + "id": "12c14f1d8d0ab169467398a03b1fffb9ef5c301f0be1bb0ab7cbab412d61e02aaf", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328facc805b3366eeabfba8a3b90a463cc8dde826f690a463f58fcd21fb8ab16d5", + "root": "1be6ac3541079e0e02dd52f9c38680f37a805c62a264736357ddcec47201ee34", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482701682, + "logical": 0, + "newCanonical": 109367, + "newStored": 8249, + "newMetadata": 8249, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.614, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.184, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.753, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4055.907, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.972, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 886.971, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.02, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.626, + "ok": true + }, + { + "name": "timed.exec", + "ms": 887.34, + "ok": true + }, + { + "name": "timed.commit", + "ms": 107.336, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.61, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.115, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.371, + "ok": true + }, + { + "name": "verify.exec", + "ms": 230.509, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.575, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 26.367, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328facc805b3366eeabfba8a3b90a463cc8dde826f690a463f58fcd21fb8ab16d5", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 8796.47, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 8794, + "load1": 9.267578125, + "grantedAt": "2026-10-31T21:38:20.797Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.629, + "execWallMs": 887.344, + "commandMs": 875.470876, + "commitMs": 107.339, + "commitKind": "Committed", + "unmountMs": 7.614 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:26.161Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C06-2026-10-31T213829379Z-wxar9f19q1.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C06-2026-10-31T213829379Z-wxar9f19q1.json new file mode 100644 index 0000000000..9881efa336 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C06-2026-10-31T213829379Z-wxar9f19q1.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxar9f19q1-", + "startedAt": "2026-10-31T21:38:29.379Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.31640625, + "end": 6.9736328125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-x43zfs", + "initMs": 18932, + "volume": "lfs527-wxar9f19q1-c06-store-mvwxara6", + "vm": { + "project": "c06", + "name": "lfs527-wxar9f19q1-c06-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-x43zfs/home", + "store": "lfs527-wxar9f19q1-c06-vm-store", + "created": "2026-10-31T21:38:29Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55668 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 19066, + "cellBudgetMs": 65882, + "teardownMs": 827 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wxar9f19q1-c06-store-mvwxara6" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wxar9f19q1-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxar9f19q1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-x43zfs/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 916, + "load1": 6.9736328125, + "grantedAt": "2026-10-31T21:38:54.084Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.979, + "exec": { + "wallMs": 170.7, + "exitCode": 0, + "stdout": "LFS527 0 1793482733109952760 1793482733252160385\n", + "stderr": "", + "rc": 0, + "ms": 142.207625 + }, + "unmountMs": 10.146, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.778, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxar9f19q1-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 166.826, + "exitCode": 0, + "stdout": "LFS527 0 1793482734216070219 1793482734358804053\n", + "stderr": "", + "rc": 0, + "ms": 142.733834 + }, + "commitMs": 302.15, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12cf28aa3ab4f0051f776fba8cb00bb7715da061fb7767fd07704f38a15d754d22", + "commit": { + "id": "12cf28aa3ab4f0051f776fba8cb00bb7715da061fb7767fd07704f38a15d754d22", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32cddd5394c36518316adbfdb05fc6156d14d3713454b44aa59bb367d1fb67d3f4", + "root": "f926724aa8d493d06c9f695fef2410ac2a10dd0e6d759f87886c525b1abaced0", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482734617, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.04, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 41.219, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.001, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4377.061, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.975, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 170.694, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.142, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.776, + "ok": true + }, + { + "name": "timed.exec", + "ms": 166.822, + "ok": true + }, + { + "name": "timed.commit", + "ms": 302.147, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.037, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.202, + "ok": true + }, + { + "name": "verify.identity", + "ms": 33.759, + "ok": true + }, + { + "name": "verify.exec", + "ms": 162.864, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.024, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 776.134, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32cddd5394c36518316adbfdb05fc6156d14d3713454b44aa59bb367d1fb67d3f4", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 917.899, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 916, + "load1": 6.9736328125, + "grantedAt": "2026-10-31T21:38:54.084Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.778, + "execWallMs": 166.826, + "commandMs": 142.733834, + "commitMs": 302.15, + "commitKind": "Committed", + "unmountMs": 10.04 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:56.392Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C07-2026-10-31T213901369Z-wxbfy11e3g.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C07-2026-10-31T213901369Z-wxbfy11e3g.json new file mode 100644 index 0000000000..903d1aa539 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C07-2026-10-31T213901369Z-wxbfy11e3g.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxbfy11e3g-", + "startedAt": "2026-10-31T21:39:01.369Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.8955078125, + "end": 6.9912109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-bm42I7", + "initMs": 6897, + "volume": "lfs527-wxbfy11e3g-c07-store-mvwxbfyu", + "vm": { + "project": "c07", + "name": "lfs527-wxbfy11e3g-c07-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-bm42I7/home", + "store": "lfs527-wxbfy11e3g-c07-vm-store", + "created": "2026-10-31T21:39:01Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55729 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 7026, + "cellBudgetMs": 77931, + "teardownMs": 5370 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wxbfy11e3g-c07-store-mvwxbfyu" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wxbfy11e3g-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbfy11e3g-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-bm42I7/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99755859375, + "grantedAt": "2026-10-31T21:39:12.576Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 9.19, + "exec": { + "wallMs": 354.202, + "exitCode": 0, + "stdout": "LFS527 0 1793482751776398754 1793482752108206380\n", + "stderr": "", + "rc": 0, + "ms": 331.807626 + }, + "unmountMs": 15.089, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.747, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxbfy11e3g-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 315.546, + "exitCode": 0, + "stdout": "LFS527 0 1793482752150171005 1793482752444434963\n", + "stderr": "", + "rc": 0, + "ms": 294.263958 + }, + "commitMs": 600.038, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b3c5c2208f75c8b8425867fbf15e965fcbc1ded042e5aacc147f3a1b9034e203", + "commit": { + "id": "12b3c5c2208f75c8b8425867fbf15e965fcbc1ded042e5aacc147f3a1b9034e203", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ba81c81c7e53323227bb5c8b6cc15dfa37f9064fa57e0522ced606635ae29271", + "root": "aec69deb06e4291cd687c87a35193d9d4f0bed4d0d10eff746905bb76132eaca", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482752953, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.325, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.955, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.098, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3684.038, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.187, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 354.198, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 15.086, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.745, + "ok": true + }, + { + "name": "timed.exec", + "ms": 315.542, + "ok": true + }, + { + "name": "timed.commit", + "ms": 600.035, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.322, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.872, + "ok": true + }, + { + "name": "verify.identity", + "ms": 57.892, + "ok": true + }, + { + "name": "verify.exec", + "ms": 335.777, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.002, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 975.802, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ba81c81c7e53323227bb5c8b6cc15dfa37f9064fa57e0522ced606635ae29271", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.718, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 6.99755859375, + "grantedAt": "2026-10-31T21:39:12.576Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.747, + "execWallMs": 315.546, + "commandMs": 294.263958, + "commitMs": 600.038, + "commitKind": "Committed", + "unmountMs": 15.325 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:20.267Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C08-2026-10-31T213923365Z-wxbwx11fis.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C08-2026-10-31T213923365Z-wxbwx11fis.json new file mode 100644 index 0000000000..8c7ff78150 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C08-2026-10-31T213923365Z-wxbwx11fis.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxbwx11fis-", + "startedAt": "2026-10-31T21:39:23.365Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.9912109375, + "end": 7.81005859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-4XIB5a", + "initMs": 11341, + "volume": "lfs527-wxbwx11fis-c08-store-mvwxbwxu", + "vm": { + "project": "c08", + "name": "lfs527-wxbwx11fis-c08-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-4XIB5a/home", + "store": "lfs527-wxbwx11fis-c08-vm-store", + "created": "2026-10-31T21:39:23Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55800 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 11460, + "cellBudgetMs": 73419, + "teardownMs": 891 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wxbwx11fis-c08-store-mvwxbwxu" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wxbwx11fis-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxbwx11fis-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-4XIB5a/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.81005859375, + "grantedAt": "2026-10-31T21:39:40.038Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 136.766, + "exec": { + "wallMs": 234, + "exitCode": 0, + "stdout": "LFS527 0 1793482780009776257 1793482780220361507\n", + "stderr": "", + "rc": 0, + "ms": 210.58525 + }, + "unmountMs": 12.636, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.913, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxbwx11fis-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 205.649, + "exitCode": 0, + "stdout": "LFS527 0 1793482780260141882 1793482780447656882\n", + "stderr": "", + "rc": 0, + "ms": 187.515 + }, + "commitMs": 308.059, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12063a1f71b162238a963fda67cc9c82a94e7f3b4e1920767d93534da51bab19b5", + "commit": { + "id": "12063a1f71b162238a963fda67cc9c82a94e7f3b4e1920767d93534da51bab19b5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "322639e51e41c78f830f1e5e081cbad6380f120925d02bcdf090b1b27ae9176d87", + "root": "689dd4def100f20585bfa93780f06368307a6acf58c13a2378b9e854557677f1", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482780712, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 113.607, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.143, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.376, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4648.604, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 136.762, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 233.996, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.633, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.91, + "ok": true + }, + { + "name": "timed.exec", + "ms": 205.645, + "ok": true + }, + { + "name": "timed.commit", + "ms": 308.056, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 113.604, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.497, + "ok": true + }, + { + "name": "verify.identity", + "ms": 30.968, + "ok": true + }, + { + "name": "verify.exec", + "ms": 201.705, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.259, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 139.616, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "322639e51e41c78f830f1e5e081cbad6380f120925d02bcdf090b1b27ae9176d87", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 3.018, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 7.81005859375, + "grantedAt": "2026-10-31T21:39:40.038Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.913, + "execWallMs": 205.649, + "commandMs": 187.515, + "commitMs": 308.059, + "commitKind": "Committed", + "unmountMs": 113.607 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:41.954Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C09-2026-10-31T213944978Z-wxcdle1g26.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C09-2026-10-31T213944978Z-wxcdle1g26.json new file mode 100644 index 0000000000..04e4ae6789 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C09-2026-10-31T213944978Z-wxcdle1g26.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxcdle1g26-", + "startedAt": "2026-10-31T21:39:44.978Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.1455078125, + "end": 8.49951171875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-BDjkqP", + "initMs": 7794, + "volume": "lfs527-wxcdle1g26-c09-store-mvwxcdmd", + "vm": { + "project": "c09", + "name": "lfs527-wxcdle1g26-c09-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-BDjkqP/home", + "store": "lfs527-wxcdle1g26-c09-vm-store", + "created": "2026-10-31T21:39:45Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55877 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 7932, + "cellBudgetMs": 77022, + "teardownMs": 2247 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wxcdle1g26-c09-store-mvwxcdmd" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wxcdle1g26-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxcdle1g26-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-BDjkqP/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.54345703125, + "grantedAt": "2026-10-31T21:40:06.466Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 402.888, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1271cfb3ca60cdf416237a5d962eee1cafc85a4d0e53be0fac51f151b8ec187817", + "commit": { + "id": "1271cfb3ca60cdf416237a5d962eee1cafc85a4d0e53be0fac51f151b8ec187817", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e013719c30dbff5937861f7e3d3f2765341bc88d4f2c73ee71fe2d4ee149777e", + "root": "b3a067212b5136e74816b216319f3d70186ba41143ac89a95e306cf40eb486aa", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793482806337, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 5.275, + "exec": { + "wallMs": 75.377, + "exitCode": 0, + "stdout": "LFS527 0 1793482806424198301 1793482806477627009\n", + "stderr": "", + "rc": 0, + "ms": 53.428708 + }, + "unmountMs": 8.111, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.616, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxcdle1g26-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 72.98, + "exitCode": 0, + "stdout": "LFS527 0 1793482806518566759 1793482806571481092\n", + "stderr": "", + "rc": 0, + "ms": 52.914333 + }, + "commitMs": 1.489, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "1271cfb3ca60cdf416237a5d962eee1cafc85a4d0e53be0fac51f151b8ec187817", + "root": "b3a067212b5136e74816b216319f3d70186ba41143ac89a95e306cf40eb486aa", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.846, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.997, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.713, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 12383.847, + "ok": true + }, + { + "name": "setup.mount", + "ms": 168.831, + "ok": true + }, + { + "name": "setup.exec", + "ms": 402.882, + "ok": true + }, + { + "name": "setup.commit", + "ms": 357.169, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.034, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.268, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 75.374, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.109, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.614, + "ok": true + }, + { + "name": "timed.exec", + "ms": 72.976, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.487, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.843, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.644, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.651, + "ok": true + }, + { + "name": "verify.exec", + "ms": 206.958, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.038, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 952.512, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e013719c30dbff5937861f7e3d3f2765341bc88d4f2c73ee71fe2d4ee149777e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 5.841, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.54345703125, + "grantedAt": "2026-10-31T21:40:06.466Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.616, + "execWallMs": 72.98, + "commandMs": 52.914333, + "commitMs": 1.489, + "commitKind": "UpToDate", + "unmountMs": 10.846 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:10.009Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C10-2026-10-31T214013621Z-wxczp11gqh.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C10-2026-10-31T214013621Z-wxczp11gqh.json new file mode 100644 index 0000000000..631ed45994 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C10-2026-10-31T214013621Z-wxczp11gqh.json @@ -0,0 +1,396 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxczp11gqh-", + "startedAt": "2026-10-31T21:40:13.621Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.49951171875, + "end": 7.111328125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-lKAO4n", + "initMs": 10581, + "volume": "lfs527-wxczp11gqh-c10-store-mvwxczqa", + "vm": { + "project": "c10", + "name": "lfs527-wxczp11gqh-c10-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-lKAO4n/home", + "store": "lfs527-wxczp11gqh-c10-vm-store", + "created": "2026-10-31T21:40:14Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55972 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 10749, + "cellBudgetMs": 74109, + "teardownMs": 1589 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wxczp11gqh-c10-store-mvwxczqa" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wxczp11gqh-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxczp11gqh-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-lKAO4n/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.38232421875, + "grantedAt": "2026-10-31T21:40:29.628Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 186.316, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "122f16cee30eea71d608344a6a9c14b44e2f0e22769c9a2d2ca52ebfcf44bfe446", + "commit": { + "id": "122f16cee30eea71d608344a6a9c14b44e2f0e22769c9a2d2ca52ebfcf44bfe446", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32453a1c5b603406db3bee4d524684192924bf331cd1cbb7aed804b8232a7035b2", + "root": "3eec261ecb96879f4295eee26c6ceeecf9ae566dc5c400e7828d66b2bbac3a98", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793482829580, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 5.518, + "exec": { + "wallMs": 234.649, + "exitCode": 0, + "stdout": "LFS527 0 1793482829671582215 1793482829878884173\n", + "stderr": "", + "rc": 0, + "ms": 207.301958 + }, + "unmountMs": 13.106, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.773, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxczp11gqh-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 245.934, + "exitCode": 0, + "stdout": "LFS527 0 1793482829921730506 1793482830147592340\n", + "stderr": "", + "rc": 0, + "ms": 225.861834 + }, + "commitMs": 51.402, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124a548e7ea286d61ed4586bcdc6674ebf51bea0cc59953eea596efe0b85cacb84", + "commit": { + "id": "124a548e7ea286d61ed4586bcdc6674ebf51bea0cc59953eea596efe0b85cacb84", + "branch": null, + "parent": "122f16cee30eea71d608344a6a9c14b44e2f0e22769c9a2d2ca52ebfcf44bfe446", + "secondParent": null, + "base": "32453a1c5b603406db3bee4d524684192924bf331cd1cbb7aed804b8232a7035b2", + "root": "dcecaf5354b5d25276ec324d2a4458d51dca366bf947d2cb856d9872e03fac96", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793482830151, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.439, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.74, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.517, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4222.385, + "ok": true + }, + { + "name": "setup.mount", + "ms": 21.393, + "ok": true + }, + { + "name": "setup.exec", + "ms": 186.311, + "ok": true + }, + { + "name": "setup.commit", + "ms": 314.134, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 10.841, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.514, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 234.646, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 13.102, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.771, + "ok": true + }, + { + "name": "timed.exec", + "ms": 245.932, + "ok": true + }, + { + "name": "timed.commit", + "ms": 51.4, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.436, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.734, + "ok": true + }, + { + "name": "verify.identity", + "ms": 38.954, + "ok": true + }, + { + "name": "verify.exec", + "ms": 353.349, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.518, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1935.827, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32453a1c5b603406db3bee4d524684192924bf331cd1cbb7aed804b8232a7035b2", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.489, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.38232421875, + "grantedAt": "2026-10-31T21:40:29.628Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.773, + "execWallMs": 245.934, + "commandMs": 225.861834, + "commitMs": 51.402, + "commitKind": "Committed", + "unmountMs": 12.439 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:33.881Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C11-2026-10-31T214037917Z-wxdifx1hdq.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C11-2026-10-31T214037917Z-wxdifx1hdq.json new file mode 100644 index 0000000000..8276c30db7 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C11-2026-10-31T214037917Z-wxdifx1hdq.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxdifx1hdq-", + "startedAt": "2026-10-31T21:40:37.917Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.111328125, + "end": 9.1318359375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-zoCg1G", + "initMs": 12268, + "volume": "lfs527-wxdifx1hdq-c11-store-mvwxdih7", + "vm": { + "project": "c11", + "name": "lfs527-wxdifx1hdq-c11-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-zoCg1G/home", + "store": "lfs527-wxdifx1hdq-c11-vm-store", + "created": "2026-10-31T21:40:38Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56040 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 12660, + "cellBudgetMs": 72057, + "teardownMs": 2253 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wxdifx1hdq-c11-store-mvwxdih7" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-wxdifx1hdq-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxdifx1hdq-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-zoCg1G/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.056640625, + "grantedAt": "2026-10-31T21:41:00.484Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 298.677, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "127991dc5c1bab2c60d5a2f3445e651295a1d38ebd29cb407c63e8b988822ccfed", + "commit": { + "id": "127991dc5c1bab2c60d5a2f3445e651295a1d38ebd29cb407c63e8b988822ccfed", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32bd8e9d3c52c59de61b1ea92a33a48428145fc099d30e56106e525f9b1e1fcb8a", + "root": "eff7345223a4b9d9cc4316f6a8f11bb07175e8a57e2131a372fa44d81d92e3ba", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793482859935, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 6.636, + "exec": { + "wallMs": 189.663, + "exitCode": 0, + "stdout": "LFS527 0 1793482860056138551 1793482860218107177\n", + "stderr": "", + "rc": 0, + "ms": 161.968626 + }, + "unmountMs": 16.047, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 13.917, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxdifx1hdq-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 168.781, + "exitCode": 0, + "stdout": "LFS527 0 1793482860284226010 1793482860435205968\n", + "stderr": "", + "rc": 0, + "ms": 150.979958 + }, + "commitMs": 162.487, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "127991dc5c1bab2c60d5a2f3445e651295a1d38ebd29cb407c63e8b988822ccfed", + "root": "eff7345223a4b9d9cc4316f6a8f11bb07175e8a57e2131a372fa44d81d92e3ba", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 17.261, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.349, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.891, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8065.683, + "ok": true + }, + { + "name": "setup.mount", + "ms": 73.705, + "ok": true + }, + { + "name": "setup.exec", + "ms": 298.671, + "ok": true + }, + { + "name": "setup.commit", + "ms": 480.322, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 27.544, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.632, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 189.659, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 16.041, + "ok": true + }, + { + "name": "timed.mount", + "ms": 13.901, + "ok": true + }, + { + "name": "timed.exec", + "ms": 168.778, + "ok": true + }, + { + "name": "timed.commit", + "ms": 162.484, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 17.256, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.853, + "ok": true + }, + { + "name": "verify.identity", + "ms": 54.307, + "ok": true + }, + { + "name": "verify.exec", + "ms": 315.359, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 31.074, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 2757.386, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32bd8e9d3c52c59de61b1ea92a33a48428145fc099d30e56106e525f9b1e1fcb8a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 15.047, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.056640625, + "grantedAt": "2026-10-31T21:41:00.484Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 13.917, + "execWallMs": 168.781, + "commandMs": 150.979958, + "commitMs": 162.487, + "commitKind": "UpToDate", + "unmountMs": 17.261 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:06.273Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C12-2026-10-31T214109810Z-wxe71u1hzz.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C12-2026-10-31T214109810Z-wxe71u1hzz.json new file mode 100644 index 0000000000..9a7c4fe5f2 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-apple-container-C12-2026-10-31T214109810Z-wxe71u1hzz.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxe71u1hzz-", + "startedAt": "2026-10-31T21:41:09.810Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.681640625, + "end": 9.0498046875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-H2UK6l", + "initMs": 10877, + "volume": "lfs527-wxe71u1hzz-c12-store-mvwxe731", + "vm": { + "project": "c12", + "name": "lfs527-wxe71u1hzz-c12-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-H2UK6l/home", + "store": "lfs527-wxe71u1hzz-c12-vm-store", + "created": "2026-10-31T21:41:10Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56087 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 11021, + "cellBudgetMs": 73943, + "teardownMs": 1124 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wxe71u1hzz-c12-store-mvwxe731" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-wxe71u1hzz-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxe71u1hzz-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-H2UK6l/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.0498046875, + "grantedAt": "2026-10-31T21:41:26.197Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 11.962, + "exec": { + "wallMs": 264.225, + "exitCode": 0, + "stdout": "LFS527 0 1793482885593137382 1793482885837471965\n", + "stderr": "", + "rc": 0, + "ms": 244.334583 + }, + "unmountMs": 9.994, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.252, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxe71u1hzz-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 193.422, + "exitCode": 0, + "stdout": "LFS527 0 1793482885889299924 1793482886054485465\n", + "stderr": "", + "rc": 0, + "ms": 165.185541 + }, + "commitMs": 50.819, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1222a095b7f9b01c07099c0c97b3243f86f10b1dcee0c80ff98485bd29691b686e", + "commit": { + "id": "1222a095b7f9b01c07099c0c97b3243f86f10b1dcee0c80ff98485bd29691b686e", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32073220b4b755a57e4930ecc072eed55bdde7865c6f80bc15cc0d24e63fca75d8", + "root": "3b12b832ea4880679831540c97002fafb0aa48f846015542ab21d2de3f6ee233", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793482886098, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26830, + "newMetadata": 6521, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.988, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.934, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.421, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4974.016, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.958, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 264.22, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.99, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.25, + "ok": true + }, + { + "name": "timed.exec", + "ms": 193.419, + "ok": true + }, + { + "name": "timed.commit", + "ms": 50.815, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.985, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.42, + "ok": true + }, + { + "name": "verify.identity", + "ms": 28.499, + "ok": true + }, + { + "name": "verify.exec", + "ms": 71.497, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.369, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 951.789, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32073220b4b755a57e4930ecc072eed55bdde7865c6f80bc15cc0d24e63fca75d8", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.552, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.0498046875, + "grantedAt": "2026-10-31T21:41:26.197Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.252, + "execWallMs": 193.422, + "commandMs": 165.185541, + "commitMs": 50.819, + "commitKind": "Committed", + "unmountMs": 5.988 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:28.646Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C01-2026-10-31T213412344Z-wx58xk13lu.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C01-2026-10-31T213412344Z-wx58xk13lu.json new file mode 100644 index 0000000000..fb181d3b0a --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C01-2026-10-31T213412344Z-wx58xk13lu.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wx58xk13lu-", + "startedAt": "2026-10-31T21:34:12.344Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 4.39892578125, + "end": 4.974609375 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wx58xk13lu" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-a2wbim", + "initMs": 35627, + "volume": "lfs527-wx58xk13lu-c01-store-mvwx58yn", + "vm": { + "project": "c01", + "name": "lfs527-wx58xk13lu-c01-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-a2wbim/home", + "store": "lfs527-wx58xk13lu-c01-vm-store", + "created": "2026-10-31T21:34:12.531Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55082 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 35924, + "cellBudgetMs": 49025, + "teardownMs": 10354 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wx58xk13lu-c01-store-mvwx58yn" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wx58xk13lu-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx58xk13lu-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-a2wbim/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 5.7841796875, + "grantedAt": "2026-10-31T21:35:00.897Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 47.969, + "exec": { + "wallMs": 839.716, + "exitCode": 0, + "stdout": "LFS527 0 1793482500078770646 1793482500733021979\n", + "stderr": "", + "rc": 0, + "ms": 654.251333 + }, + "unmountMs": 12.908, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.332, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx58xk13lu-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 643.6, + "exitCode": 0, + "stdout": "LFS527 0 1793482500810750604 1793482501406750021\n", + "stderr": "", + "rc": 0, + "ms": 595.999417 + }, + "commitMs": 120.235, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12714220424ed048f16321b5b09ac0b525a8e2c74bd3f0aabdaf2c67a126eccdfe", + "commit": { + "id": "12714220424ed048f16321b5b09ac0b525a8e2c74bd3f0aabdaf2c67a126eccdfe", + "branch": null, + "parent": null, + "secondParent": null, + "base": "323214e5baf85ec948fca2b8c652cfebd2567b823343a18bcd8328e21a00d07423", + "root": "14fa81c6bf7faad53b5a52a939b150693a04b625463e98f7f55f6ac6a6d6d3cb", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482501518, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.277, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 16.829, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.08, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 11594.614, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 47.962, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 839.711, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.905, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.33, + "ok": true + }, + { + "name": "timed.exec", + "ms": 643.596, + "ok": true + }, + { + "name": "timed.commit", + "ms": 120.232, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.274, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.481, + "ok": true + }, + { + "name": "verify.identity", + "ms": 138.822, + "ok": true + }, + { + "name": "verify.exec", + "ms": 993.055, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.067, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 250.736, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "323214e5baf85ec948fca2b8c652cfebd2567b823343a18bcd8328e21a00d07423", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.197, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 5.7841796875, + "grantedAt": "2026-10-31T21:35:00.897Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.332, + "execWallMs": 643.6, + "commandMs": 595.999417, + "commitMs": 120.235, + "commitKind": "Committed", + "unmountMs": 7.277 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:35:13.431Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C02-2026-10-31T213613515Z-wx7uff145d.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C02-2026-10-31T213613515Z-wx7uff145d.json new file mode 100644 index 0000000000..080c727896 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C02-2026-10-31T213613515Z-wx7uff145d.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wx7uff145d-", + "startedAt": "2026-10-31T21:36:13.515Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.6318359375, + "end": 10.25439453125 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wx7uff145d" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-2CLcz0", + "initMs": 48099, + "volume": "lfs527-wx7uff145d-c02-store-mvwx7ugj", + "vm": { + "project": "c02", + "name": "lfs527-wx7uff145d-c02-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-2CLcz0/home", + "store": "lfs527-wx7uff145d-c02-vm-store", + "created": "2026-10-31T21:36:13.675Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55165 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 48409, + "cellBudgetMs": 36541, + "teardownMs": 10607 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wx7uff145d-c02-store-mvwx7ugj" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wx7uff145d-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx7uff145d-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-2CLcz0/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1120, + "load1": 10.38134765625, + "grantedAt": "2026-10-31T21:37:20.922Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 19.576, + "exec": { + "wallMs": 2510.422, + "exitCode": 0, + "stdout": "LFS527 0 1793482637901384237 1793482640213894363\n", + "stderr": "", + "rc": 0, + "ms": 2312.510126 + }, + "unmountMs": 21.969, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 20.538, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx7uff145d-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 2083.832, + "exitCode": 0, + "stdout": "LFS527 0 1793482641468858072 1793482643516476614\n", + "stderr": "", + "rc": 0, + "ms": 2047.618542 + }, + "commitMs": 124.004, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b584ec948ffc3489ba69a3b278da108faec5114177a203f23770b1a9469a58a8", + "commit": { + "id": "12b584ec948ffc3489ba69a3b278da108faec5114177a203f23770b1a9469a58a8", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32d52951da339a8e8901ac6e6a0f4d6d2327d55d594f84a72725733f545af0c728", + "root": "5e63154d6c863682274d0c894653be68adc5bee967204af89b13c44522c2e740", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482643627, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.497, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.899, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.656, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15198.712, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 19.571, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 2510.416, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 21.965, + "ok": true + }, + { + "name": "timed.mount", + "ms": 20.535, + "ok": true + }, + { + "name": "timed.exec", + "ms": 2083.829, + "ok": true + }, + { + "name": "timed.commit", + "ms": 124, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.493, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.817, + "ok": true + }, + { + "name": "verify.identity", + "ms": 107.065, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1632.241, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.299, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 315.069, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32d52951da339a8e8901ac6e6a0f4d6d2327d55d594f84a72725733f545af0c728", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1123.096, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1120, + "load1": 10.38134765625, + "grantedAt": "2026-10-31T21:37:20.922Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 20.538, + "execWallMs": 2083.832, + "commandMs": 2047.618542, + "commitMs": 124.004, + "commitKind": "Committed", + "unmountMs": 8.497 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:35.847Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C03-2026-10-31T213743998Z-wx9s8u1718.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C03-2026-10-31T213743998Z-wx9s8u1718.json new file mode 100644 index 0000000000..e2abb41a17 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C03-2026-10-31T213743998Z-wx9s8u1718.json @@ -0,0 +1,325 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wx9s8u1718-", + "startedAt": "2026-10-31T21:37:43.998Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.13232421875, + "end": 6.82373046875 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wx9s8u1718" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-IqbHH3", + "initMs": 43102, + "volume": "lfs527-wx9s8u1718-c03-store-mvwx9say", + "vm": { + "project": "c03", + "name": "lfs527-wx9s8u1718-c03-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-IqbHH3/home", + "store": "lfs527-wx9s8u1718-c03-vm-store", + "created": "2026-10-31T21:37:45.602Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55558 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 43407, + "cellBudgetMs": 41522, + "teardownMs": 10285 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wx9s8u1718-c03-store-mvwx9say" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wx9s8u1718-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx9s8u1718-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-IqbHH3/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 854, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:52.838Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 32.267, + "exec": { + "wallMs": 1520.463, + "exitCode": 0, + "stdout": "LFS527 0 1793482730801491027 1793482732216274070\n", + "stderr": "", + "rc": 0, + "ms": 1414.783043 + }, + "unmountMs": 114.93, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.197, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx9s8u1718-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 1205.895, + "exitCode": 0, + "stdout": "LFS527 0 1793482733279165112 1793482734452689237\n", + "stderr": "", + "rc": 0, + "ms": 1173.524125 + }, + "commitMs": 17.153, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "58166dd7da1bc48b339b9fae94d45436e5a6961d00c79e82012f4ee27f03237b", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.617, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.346, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.888, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 22731.284, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 32.262, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1520.458, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 114.927, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.194, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1205.892, + "ok": true + }, + { + "name": "timed.commit", + "ms": 17.15, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.615, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.18, + "ok": true + }, + { + "name": "verify.identity", + "ms": 114.98, + "ok": true + }, + { + "name": "verify.exec", + "ms": 95.047, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.015, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 435.24, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "320d9f10bd60e0e07e24c163382a60f6716c1410fa08c03f71f9e8cb05b390c2a1", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 893.553, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 854, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:52.838Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.197, + "execWallMs": 1205.895, + "commandMs": 1173.524125, + "commitMs": 17.153, + "commitKind": "UpToDate", + "unmountMs": 4.617 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:05.026Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C04-2026-10-31T213908341Z-wxblbp1f08.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C04-2026-10-31T213908341Z-wxblbp1f08.json new file mode 100644 index 0000000000..320991f235 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C04-2026-10-31T213908341Z-wxblbp1f08.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxblbp1f08-", + "startedAt": "2026-10-31T21:39:08.341Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.82373046875, + "end": 7.5029296875 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxblbp1f08" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-H7Tl6u", + "initMs": 41764, + "volume": "lfs527-wxblbp1f08-c04-store-mvwxblci", + "vm": { + "project": "c04", + "name": "lfs527-wxblbp1f08-c04-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-H7Tl6u/home", + "store": "lfs527-wxblbp1f08-c04-vm-store", + "created": "2026-10-31T21:39:08.542Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55762 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 42057, + "cellBudgetMs": 42901, + "teardownMs": 10436 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wxblbp1f08-c04-store-mvwxblci" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wxblbp1f08-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxblbp1f08-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-H7Tl6u/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.21923828125, + "grantedAt": "2026-10-31T21:40:14.004Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 33.283, + "exec": { + "wallMs": 1942.102, + "exitCode": 0, + "stdout": "LFS527 0 1793482811855555486 1793482813707306487\n", + "stderr": "", + "rc": 0, + "ms": 1851.751001 + }, + "unmountMs": 18.541, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.895, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxblbp1f08-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 1772.072, + "exitCode": 0, + "stdout": "LFS527 0 1793482813792812904 1793482815521474488\n", + "stderr": "", + "rc": 0, + "ms": 1728.661584 + }, + "commitMs": 123.108, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "123c58fe272d282ca26140474521a5c61d038889c51b44eaa90ab23e91fd073dc2", + "commit": { + "id": "123c58fe272d282ca26140474521a5c61d038889c51b44eaa90ab23e91fd073dc2", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e5ce18200e5efef4867340881b61c129b1eaf3f94f628d5e6df83c743dcacaf0", + "root": "53e1646852bd6c21a571401b012f753f3bde26d545d514fcf563edda9ae76784", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482815638, + "logical": 0, + "newCanonical": 109367, + "newStored": 8235, + "newMetadata": 8235, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.5, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.715, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.201, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 21488.375, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 33.279, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1942.097, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 18.538, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.892, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1772.069, + "ok": true + }, + { + "name": "timed.commit", + "ms": 123.104, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.498, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.694, + "ok": true + }, + { + "name": "verify.identity", + "ms": 174.281, + "ok": true + }, + { + "name": "verify.exec", + "ms": 783.197, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 15.848, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 256.525, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e5ce18200e5efef4867340881b61c129b1eaf3f94f628d5e6df83c743dcacaf0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 3.032, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.21923828125, + "grantedAt": "2026-10-31T21:40:14.004Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.895, + "execWallMs": 1772.072, + "commandMs": 1728.661584, + "commitMs": 123.108, + "commitKind": "Committed", + "unmountMs": 5.5 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:27.596Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C05-2026-10-31T214031655Z-wxddlz1h81.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C05-2026-10-31T214031655Z-wxddlz1h81.json new file mode 100644 index 0000000000..501e034ae0 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C05-2026-10-31T214031655Z-wxddlz1h81.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxddlz1h81-", + "startedAt": "2026-10-31T21:40:31.655Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.38232421875, + "end": 9.46923828125 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxddlz1h81" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-OUu7Gm", + "initMs": 47621, + "volume": "lfs527-wxddlz1h81-c05-store-mvwxddmv", + "vm": { + "project": "c05", + "name": "lfs527-wxddlz1h81-c05-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-OUu7Gm/home", + "store": "lfs527-wxddlz1h81-c05-vm-store", + "created": "2026-10-31T21:40:32.425Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56020 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 47905, + "cellBudgetMs": 37052, + "teardownMs": 10442 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wxddlz1h81-c05-store-mvwxddmv" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wxddlz1h81-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxddlz1h81-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-OUu7Gm/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 9.8486328125, + "grantedAt": "2026-10-31T21:41:37.845Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 47.914, + "exec": { + "wallMs": 2517.855, + "exitCode": 0, + "stdout": "LFS527 0 1793482895184780027 1793482897596087612\n", + "stderr": "", + "rc": 0, + "ms": 2411.307585 + }, + "unmountMs": 11.89, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.139, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxddlz1h81-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 2247.188, + "exitCode": 0, + "stdout": "LFS527 0 1793482897717106779 1793482899876423030\n", + "stderr": "", + "rc": 0, + "ms": 2159.316251 + }, + "commitMs": 125.11, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b3e3d3010aba325a49a4705550a01d33bd723928231b2bb51fdb401d11ae3c12", + "commit": { + "id": "12b3e3d3010aba325a49a4705550a01d33bd723928231b2bb51fdb401d11ae3c12", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3224ef6bb889638c210d936932a1859cb3bfcf518bcd6953151fea7ad4591ade8c", + "root": "7f5a9a73201c854c431708a05246f65e187a0bcbf908b44d9b83fc624149687e", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482899993, + "logical": 0, + "newCanonical": 109367, + "newStored": 8267, + "newMetadata": 8267, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.116, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.821, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.472, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15583.485, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 47.91, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 2517.85, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.886, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.135, + "ok": true + }, + { + "name": "timed.exec", + "ms": 2247.184, + "ok": true + }, + { + "name": "timed.commit", + "ms": 125.107, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.113, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.628, + "ok": true + }, + { + "name": "verify.identity", + "ms": 92.216, + "ok": true + }, + { + "name": "verify.exec", + "ms": 612.172, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.171, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 250.503, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3224ef6bb889638c210d936932a1859cb3bfcf518bcd6953151fea7ad4591ade8c", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 7.777, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 9.8486328125, + "grantedAt": "2026-10-31T21:41:37.845Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.139, + "execWallMs": 2247.188, + "commandMs": 2159.316251, + "commitMs": 125.11, + "commitKind": "Committed", + "unmountMs": 8.116 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:51.651Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C06-2026-10-31T214154832Z-wxf5sg1it1.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C06-2026-10-31T214154832Z-wxf5sg1it1.json new file mode 100644 index 0000000000..cb0b508d7d --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C06-2026-10-31T214154832Z-wxf5sg1it1.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxf5sg1it1-", + "startedAt": "2026-10-31T21:41:54.832Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.751953125, + "end": 11.34130859375 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxf5sg1it1" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-SJfgQa", + "initMs": 43636, + "volume": "lfs527-wxf5sg1it1-c06-store-mvwxf5t8", + "vm": { + "project": "c06", + "name": "lfs527-wxf5sg1it1-c06-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-SJfgQa/home", + "store": "lfs527-wxf5sg1it1-c06-vm-store", + "created": "2026-10-31T21:41:55.165Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56236 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 43940, + "cellBudgetMs": 41032, + "teardownMs": 10416 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wxf5sg1it1-c06-store-mvwxf5t8" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wxf5sg1it1-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxf5sg1it1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-SJfgQa/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 12.25390625, + "grantedAt": "2026-10-31T21:42:51.656Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 26.647, + "exec": { + "wallMs": 547.411, + "exitCode": 0, + "stdout": "LFS527 0 1793482971293914108 1793482971723520608\n", + "stderr": "", + "rc": 0, + "ms": 429.6065 + }, + "unmountMs": 41.927, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 24.053, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxf5sg1it1-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 441.901, + "exitCode": 0, + "stdout": "LFS527 0 1793482971880576524 1793482972240035358\n", + "stderr": "", + "rc": 0, + "ms": 359.458834 + }, + "commitMs": 514.806, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12158df8f7fdf972a0eb6c4591c74c50ec717cb2947819a8dcf9694b14544a32ac", + "commit": { + "id": "12158df8f7fdf972a0eb6c4591c74c50ec717cb2947819a8dcf9694b14544a32ac", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3200ceb9026e79e4cb1b734cdd2e39628b171f7e0a433893397c4dc559d3bac81e", + "root": "27ae6c4a41ef674799975a8b0d711553dec6681de66720a7963ba84c348089b6", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482972677, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 26.012, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.499, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.718, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 12168.342, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 26.642, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 547.406, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 41.924, + "ok": true + }, + { + "name": "timed.mount", + "ms": 24.05, + "ok": true + }, + { + "name": "timed.exec", + "ms": 441.898, + "ok": true + }, + { + "name": "timed.commit", + "ms": 514.803, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 26.008, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.549, + "ok": true + }, + { + "name": "verify.identity", + "ms": 183.139, + "ok": true + }, + { + "name": "verify.exec", + "ms": 623.938, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 13.242, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 73.209, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3200ceb9026e79e4cb1b734cdd2e39628b171f7e0a433893397c4dc559d3bac81e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.016, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 12.25390625, + "grantedAt": "2026-10-31T21:42:51.656Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 24.053, + "execWallMs": 441.901, + "commandMs": 359.458834, + "commitMs": 514.806, + "commitKind": "Committed", + "unmountMs": 26.012 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:03.989Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C07-2026-10-31T214307963Z-wxgq7v1k50.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C07-2026-10-31T214307963Z-wxgq7v1k50.json new file mode 100644 index 0000000000..7a7108c8a6 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C07-2026-10-31T214307963Z-wxgq7v1k50.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxgq7v1k50-", + "startedAt": "2026-10-31T21:43:07.963Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.34130859375, + "end": 10.76220703125 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxgq7v1k50" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-bZZiGQ", + "initMs": 43454, + "volume": "lfs527-wxgq7v1k50-c07-store-mvwxgq9a", + "vm": { + "project": "c07", + "name": "lfs527-wxgq7v1k50-c07-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-bZZiGQ/home", + "store": "lfs527-wxgq7v1k50-c07-vm-store", + "created": "2026-10-31T21:43:10.078Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56570 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 43793, + "cellBudgetMs": 41176, + "teardownMs": 10384 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wxgq7v1k50-c07-store-mvwxgq9a" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wxgq7v1k50-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxgq7v1k50-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-bZZiGQ/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.787109375, + "grantedAt": "2026-10-31T21:44:08.238Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 26.477, + "exec": { + "wallMs": 896.139, + "exitCode": 0, + "stdout": "LFS527 0 1793483047361797816 1793483048119162442\n", + "stderr": "", + "rc": 0, + "ms": 757.364626 + }, + "unmountMs": 32.929, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 14.202, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxgq7v1k50-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 770.38, + "exitCode": 0, + "stdout": "LFS527 0 1793483048309381358 1793483048988948525\n", + "stderr": "", + "rc": 0, + "ms": 679.567167 + }, + "commitMs": 784.623, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a74ddcce962a9c95d38e471e107bbaa15f6f638f97f464cbe242ac91dbd90634", + "commit": { + "id": "12a74ddcce962a9c95d38e471e107bbaa15f6f638f97f464cbe242ac91dbd90634", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c05324b0bb2dbe1d2c94acfb791611cdc552a9871795796413644a5add5942e0", + "root": "243832faacfa0c446cfc7c136776833aa91823819e4789d6e457fc2321f5b3ca", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793483049656, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 34.135, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 13.011, + "ok": true + }, + { + "name": "branch.fork", + "ms": 4.185, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 15416.091, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 26.473, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 896.133, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 32.926, + "ok": true + }, + { + "name": "timed.mount", + "ms": 14.2, + "ok": true + }, + { + "name": "timed.exec", + "ms": 770.377, + "ok": true + }, + { + "name": "timed.commit", + "ms": 784.62, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 34.132, + "ok": true + }, + { + "name": "verify.mount", + "ms": 10.848, + "ok": true + }, + { + "name": "verify.identity", + "ms": 1360.656, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1126.051, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 11.904, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 162.873, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c05324b0bb2dbe1d2c94acfb791611cdc552a9871795796413644a5add5942e0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.799, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.787109375, + "grantedAt": "2026-10-31T21:44:08.238Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 14.202, + "execWallMs": 770.38, + "commandMs": 679.567167, + "commitMs": 784.623, + "commitKind": "Committed", + "unmountMs": 34.135 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:22.903Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C08-2026-10-31T214426248Z-wxiemg1l8n.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C08-2026-10-31T214426248Z-wxiemg1l8n.json new file mode 100644 index 0000000000..f3380159eb --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C08-2026-10-31T214426248Z-wxiemg1l8n.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxiemg1l8n-", + "startedAt": "2026-10-31T21:44:26.248Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.14013671875, + "end": 8.8515625 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxiemg1l8n" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-x5btwv", + "initMs": 41139, + "volume": "lfs527-wxiemg1l8n-c08-store-mvwxien7", + "vm": { + "project": "c08", + "name": "lfs527-wxiemg1l8n-c08-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-x5btwv/home", + "store": "lfs527-wxiemg1l8n-c08-vm-store", + "created": "2026-10-31T21:44:26.392Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56753 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 41419, + "cellBudgetMs": 43550, + "teardownMs": 11266 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wxiemg1l8n-c08-store-mvwxien7" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wxiemg1l8n-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxiemg1l8n-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-x5btwv/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 9, + "load1": 10.16064453125, + "grantedAt": "2026-10-31T21:45:23.208Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 37.984, + "exec": { + "wallMs": 878.465, + "exitCode": 0, + "stdout": "LFS527 0 1793483122235949358 1793483122923455900\n", + "stderr": "", + "rc": 0, + "ms": 687.506542 + }, + "unmountMs": 76.392, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 53.175, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxiemg1l8n-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 896.457, + "exitCode": 0, + "stdout": "LFS527 0 1793483123403430442 1793483123977061525\n", + "stderr": "", + "rc": 0, + "ms": 573.631083 + }, + "commitMs": 523.401, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1210e13bf4611849437907042d52a5f1ce262988113112c50a796db0688fcf2b80", + "commit": { + "id": "1210e13bf4611849437907042d52a5f1ce262988113112c50a796db0688fcf2b80", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b5112afd07cae1dd9784b0f673aff086699b681ac5b7987f1c7bf911be5b0bc5", + "root": "db15c3bda7ae2ed9b584a2ad4853de17e399d0da007301721b00d2ddbeb61a64", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793483124468, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 31.322, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 10.796, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.313, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 14382.883, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 37.98, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 878.46, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 76.387, + "ok": true + }, + { + "name": "timed.mount", + "ms": 53.172, + "ok": true + }, + { + "name": "timed.exec", + "ms": 896.448, + "ok": true + }, + { + "name": "timed.commit", + "ms": 523.397, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 31.318, + "ok": true + }, + { + "name": "verify.mount", + "ms": 18.217, + "ok": true + }, + { + "name": "verify.identity", + "ms": 173.359, + "ok": true + }, + { + "name": "verify.exec", + "ms": 1122.882, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 16.338, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 48.092, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b5112afd07cae1dd9784b0f673aff086699b681ac5b7987f1c7bf911be5b0bc5", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 68.289, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 9, + "load1": 10.16064453125, + "grantedAt": "2026-10-31T21:45:23.208Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 53.175, + "execWallMs": 896.457, + "commandMs": 573.631083, + "commitMs": 523.401, + "commitKind": "Committed", + "unmountMs": 31.322 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:45:37.395Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C09-2026-10-31T214540863Z-wxk0731mms.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C09-2026-10-31T214540863Z-wxk0731mms.json new file mode 100644 index 0000000000..0ad90a232f --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C09-2026-10-31T214540863Z-wxk0731mms.json @@ -0,0 +1,386 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxk0731mms-", + "startedAt": "2026-10-31T21:45:40.863Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.86328125, + "end": 7.1591796875 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxk0731mms" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-6PTinZ", + "initMs": 36396, + "volume": "lfs527-wxk0731mms-c09-store-mvwxk07x", + "vm": { + "project": "c09", + "name": "lfs527-wxk0731mms-c09-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-6PTinZ/home", + "store": "lfs527-wxk0731mms-c09-vm-store", + "created": "2026-10-31T21:45:41.064Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56907 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 36697, + "cellBudgetMs": 48270, + "teardownMs": 10281 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wxk0731mms-c09-store-mvwxk07x" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wxk0731mms-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxk0731mms-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-6PTinZ/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.08935546875, + "grantedAt": "2026-10-31T21:46:29.731Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 356.136, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ce5c6c68153fff16bb46e056e92a86c625dc11a4f5737b14cdfd9e307df65448", + "commit": { + "id": "12ce5c6c68153fff16bb46e056e92a86c625dc11a4f5737b14cdfd9e307df65448", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32c1842b0c3311693202b7a8cfa2670d13aa682c393fa1808aa80252ef4c0f28b0", + "root": "502857d99942248e005a408cb076ced5980099f074094d937f5d7c9b8b6842c9", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793483189374, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 11.759, + "exec": { + "wallMs": 232.563, + "exitCode": 0, + "stdout": "LFS527 0 1793483189572579063 1793483189715721688\n", + "stderr": "", + "rc": 0, + "ms": 143.142625 + }, + "unmountMs": 9.541, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 17.004, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxk0731mms-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 152.118, + "exitCode": 0, + "stdout": "LFS527 0 1793483189785180188 1793483189898394563\n", + "stderr": "", + "rc": 0, + "ms": 113.214375 + }, + "commitMs": 3.211, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12ce5c6c68153fff16bb46e056e92a86c625dc11a4f5737b14cdfd9e307df65448", + "root": "502857d99942248e005a408cb076ced5980099f074094d937f5d7c9b8b6842c9", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.973, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 14.058, + "ok": true + }, + { + "name": "branch.fork", + "ms": 4.241, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 10985.483, + "ok": true + }, + { + "name": "setup.mount", + "ms": 56.887, + "ok": true + }, + { + "name": "setup.exec", + "ms": 356.131, + "ok": true + }, + { + "name": "setup.commit", + "ms": 371.21, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 28.734, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.756, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 232.559, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.538, + "ok": true + }, + { + "name": "timed.mount", + "ms": 17, + "ok": true + }, + { + "name": "timed.exec", + "ms": 152.115, + "ok": true + }, + { + "name": "timed.commit", + "ms": 3.209, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.969, + "ok": true + }, + { + "name": "verify.mount", + "ms": 13.645, + "ok": true + }, + { + "name": "verify.identity", + "ms": 104.78, + "ok": true + }, + { + "name": "verify.exec", + "ms": 615.101, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 18.61, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 293.774, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32c1842b0c3311693202b7a8cfa2670d13aa682c393fa1808aa80252ef4c0f28b0", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.374, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.08935546875, + "grantedAt": "2026-10-31T21:46:29.731Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 17.004, + "execWallMs": 152.118, + "commandMs": 113.214375, + "commitMs": 3.211, + "commitKind": "UpToDate", + "unmountMs": 6.973 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:46:41.241Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C10-2026-10-31T214644675Z-wxldfn1nqb.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C10-2026-10-31T214644675Z-wxldfn1nqb.json new file mode 100644 index 0000000000..be50266746 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C10-2026-10-31T214644675Z-wxldfn1nqb.json @@ -0,0 +1,405 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxldfn1nqb-", + "startedAt": "2026-10-31T21:46:44.675Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.82568359375, + "end": 8.55029296875 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxldfn1nqb" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-aHeNyY", + "initMs": 36754, + "volume": "lfs527-wxldfn1nqb-c10-store-mvwxldgg", + "vm": { + "project": "c10", + "name": "lfs527-wxldfn1nqb-c10-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-aHeNyY/home", + "store": "lfs527-wxldfn1nqb-c10-vm-store", + "created": "2026-10-31T21:46:44.849Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57062 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 37044, + "cellBudgetMs": 47928, + "teardownMs": 10249 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wxldfn1nqb-c10-store-mvwxldgg" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wxldfn1nqb-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxldfn1nqb-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-aHeNyY/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.0302734375, + "grantedAt": "2026-10-31T21:47:32.844Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 344.024, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e27221e86fda624b0908fe7ed37628ebf0df74de32664dbcfbc1782ddb3fdea6", + "commit": { + "id": "12e27221e86fda624b0908fe7ed37628ebf0df74de32664dbcfbc1782ddb3fdea6", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32a8595f43268e4194776b768f7ac437afd71c179521033efba8ec0725ac2c68ab", + "root": "15c956f42d05dad83d4d2552e631800a9e65370ecdac27cbc8bf2e0c0ad723c8", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793483252540, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 11.511, + "exec": { + "wallMs": 642.641, + "exitCode": 0, + "stdout": "LFS527 0 1793483252718642021 1793483253281510229\n", + "stderr": "", + "rc": 0, + "ms": 562.868208 + }, + "unmountMs": 19.923, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 17.548, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxldfn1nqb-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 518.413, + "exitCode": 0, + "stdout": "LFS527 0 1793483253392331396 1793483253839915104\n", + "stderr": "", + "rc": 0, + "ms": 447.583708 + }, + "commitMs": 100.054, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12eb23aae5c8f61b584dbe58458d878e0238b8339ca8ea8240a03621f74a65e956", + "commit": { + "id": "12eb23aae5c8f61b584dbe58458d878e0238b8339ca8ea8240a03621f74a65e956", + "branch": null, + "parent": "12e27221e86fda624b0908fe7ed37628ebf0df74de32664dbcfbc1782ddb3fdea6", + "secondParent": null, + "base": "32a8595f43268e4194776b768f7ac437afd71c179521033efba8ec0725ac2c68ab", + "root": "370dc115b833a4bb03bcd476dadde184e0865594dc893b5aaf8d4c6880a1dd3e", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793483253854, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 14.677, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 12.018, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.456, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 9561.077, + "ok": true + }, + { + "name": "setup.mount", + "ms": 26.019, + "ok": true + }, + { + "name": "setup.exec", + "ms": 344.019, + "ok": true + }, + { + "name": "setup.commit", + "ms": 394.626, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 27.507, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.508, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 642.638, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.92, + "ok": true + }, + { + "name": "timed.mount", + "ms": 17.545, + "ok": true + }, + { + "name": "timed.exec", + "ms": 518.41, + "ok": true + }, + { + "name": "timed.commit", + "ms": 100.05, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 14.672, + "ok": true + }, + { + "name": "verify.mount", + "ms": 15.129, + "ok": true + }, + { + "name": "verify.identity", + "ms": 154.579, + "ok": true + }, + { + "name": "verify.exec", + "ms": 885.477, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 28.993, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 57.764, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32a8595f43268e4194776b768f7ac437afd71c179521033efba8ec0725ac2c68ab", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.138, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.0302734375, + "grantedAt": "2026-10-31T21:47:32.844Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 17.548, + "execWallMs": 518.413, + "commandMs": 447.583708, + "commitMs": 100.054, + "commitKind": "Committed", + "unmountMs": 14.677 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:47:44.890Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C11-2026-10-31T214748671Z-wxmqtb1p2n.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C11-2026-10-31T214748671Z-wxmqtb1p2n.json new file mode 100644 index 0000000000..37a2272017 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C11-2026-10-31T214748671Z-wxmqtb1p2n.json @@ -0,0 +1,386 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxmqtb1p2n-", + "startedAt": "2026-10-31T21:47:48.671Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.55029296875, + "end": 7.82373046875 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxmqtb1p2n" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-hZrfq6", + "initMs": 36775, + "volume": "lfs527-wxmqtb1p2n-c11-store-mvwxmqu9", + "vm": { + "project": "c11", + "name": "lfs527-wxmqtb1p2n-c11-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-hZrfq6/home", + "store": "lfs527-wxmqtb1p2n-c11-vm-store", + "created": "2026-10-31T21:47:48.891Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57347 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 37058, + "cellBudgetMs": 47913, + "teardownMs": 10248 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wxmqtb1p2n-c11-store-mvwxmqu9" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-wxmqtb1p2n-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxmqtb1p2n-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-hZrfq6/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.56494140625, + "grantedAt": "2026-10-31T21:48:37.971Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 325.536, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "128a869596ee18d42482b46a12129a9fc11798b2dc3ed057c184dc684888fc4922", + "commit": { + "id": "128a869596ee18d42482b46a12129a9fc11798b2dc3ed057c184dc684888fc4922", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32bf28a88ca1dae819bb485310ee7a6276dcae63bbfa8af3fc5bb950d31489a269", + "root": "e9ea0205976ff040257ff98d64792b4ea2d4113fe9cc979c95b87382664c76f4", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793483317862, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 11.598, + "exec": { + "wallMs": 415.926, + "exitCode": 0, + "stdout": "LFS527 0 1793483318063325063 1793483318360736313\n", + "stderr": "", + "rc": 0, + "ms": 297.41125 + }, + "unmountMs": 31.001, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 20.762, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxmqtb1p2n-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 272.029, + "exitCode": 0, + "stdout": "LFS527 0 1793483318459949730 1793483318696450272\n", + "stderr": "", + "rc": 0, + "ms": 236.500542 + }, + "commitMs": 150.782, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "128a869596ee18d42482b46a12129a9fc11798b2dc3ed057c184dc684888fc4922", + "root": "e9ea0205976ff040257ff98d64792b4ea2d4113fe9cc979c95b87382664c76f4", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.667, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 11.342, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.503, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 10954.968, + "ok": true + }, + { + "name": "setup.mount", + "ms": 27.902, + "ok": true + }, + { + "name": "setup.exec", + "ms": 325.531, + "ok": true + }, + { + "name": "setup.commit", + "ms": 343.387, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 29.908, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 11.595, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 415.922, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 30.999, + "ok": true + }, + { + "name": "timed.mount", + "ms": 20.759, + "ok": true + }, + { + "name": "timed.exec", + "ms": 272.025, + "ok": true + }, + { + "name": "timed.commit", + "ms": 150.779, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.664, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.249, + "ok": true + }, + { + "name": "verify.identity", + "ms": 116.281, + "ok": true + }, + { + "name": "verify.exec", + "ms": 504.613, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.478, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 26.76, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32bf28a88ca1dae819bb485310ee7a6276dcae63bbfa8af3fc5bb950d31489a269", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.479, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.56494140625, + "grantedAt": "2026-10-31T21:48:37.971Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 20.762, + "execWallMs": 272.029, + "commandMs": 236.500542, + "commitMs": 150.782, + "commitKind": "UpToDate", + "unmountMs": 10.667 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:48:49.341Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C12-2026-10-31T214853062Z-wxo4hy1q2t.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C12-2026-10-31T214853062Z-wxo4hy1q2t.json new file mode 100644 index 0000000000..c6ca2e6aee --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-firecracker-C12-2026-10-31T214853062Z-wxo4hy1q2t.json @@ -0,0 +1,344 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-firecracker", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxo4hy1q2t-", + "startedAt": "2026-10-31T21:48:53.062Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.82373046875, + "end": 6.8193359375 + }, + "constructionWorkers": "1", + "driver": { + "firecracker": { + "lima": "lfs527-vzkvm", + "dir": "/var/lib/lfs527-firecracker", + "stateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-firecracker-state-wxo4hy1q2t" + }, + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Fthiix", + "initMs": 35602, + "volume": "lfs527-wxo4hy1q2t-c12-store-mvwxo4j4", + "vm": { + "project": "c12", + "name": "lfs527-wxo4hy1q2t-c12-vm", + "state": "running", + "image": "/var/lib/lfs527-firecracker/rootfs.ext4", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-Fthiix/home", + "store": "lfs527-wxo4hy1q2t-c12-vm-store", + "created": "2026-10-31T21:48:53.244Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57471 + }, + "disk": { + "free": 19866648576 + } + }, + "setupMs": 35937, + "cellBudgetMs": 49031, + "teardownMs": 10214 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wxo4hy1q2t-c12-store-mvwxo4j4" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-wxo4hy1q2t-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "firecracker state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxo4hy1q2t-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Fthiix/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.521484375, + "grantedAt": "2026-10-31T21:49:40.432Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 24.731, + "exec": { + "wallMs": 797.437, + "exitCode": 0, + "stdout": "LFS527 0 1793483380293493770 1793483380937401604\n", + "stderr": "", + "rc": 0, + "ms": 643.907834 + }, + "unmountMs": 12.254, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.466, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxo4hy1q2t-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 530.932, + "exitCode": 0, + "stdout": "LFS527 0 1793483381008786312 1793483381496537854\n", + "stderr": "", + "rc": 0, + "ms": 487.751542 + }, + "commitMs": 60.299, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b18041c38ddb235b64e7a3e3cdc351e310fa5225fdf1278842cbf8d439b88b50", + "commit": { + "id": "12b18041c38ddb235b64e7a3e3cdc351e310fa5225fdf1278842cbf8d439b88b50", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32fea2ff41743dcbfff058eb70b7e1d89b73bc9c9cefc7ad57b9163e0a54dd374b", + "root": "c2e1f6abce276b3595c90c630ce9fd8d57a63e953fa88e5f848f74afe9b83c2d", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793483381553, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26912, + "newMetadata": 6518, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.451, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 12.076, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.109, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 10494.629, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 24.727, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 797.432, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.251, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.464, + "ok": true + }, + { + "name": "timed.exec", + "ms": 530.928, + "ok": true + }, + { + "name": "timed.commit", + "ms": 60.296, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.448, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.395, + "ok": true + }, + { + "name": "verify.identity", + "ms": 83.198, + "ok": true + }, + { + "name": "verify.exec", + "ms": 252.288, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.573, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 209.227, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32fea2ff41743dcbfff058eb70b7e1d89b73bc9c9cefc7ad57b9163e0a54dd374b", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.297, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.521484375, + "grantedAt": "2026-10-31T21:49:40.432Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.466, + "execWallMs": 530.932, + "commandMs": 487.751542, + "commitMs": 60.299, + "commitKind": "Committed", + "unmountMs": 5.451 + }, + "where": { + "kernel": "Linux 6.18.56+", + "machine": "aarch64", + "cpus": "4", + "memKiB": "2034572", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:49:51.811Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C01-2026-10-31T213613810Z-wx7unm148i.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C01-2026-10-31T213613810Z-wx7unm148i.json new file mode 100644 index 0000000000..1f1c624ec0 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C01-2026-10-31T213613810Z-wx7unm148i.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wx7unm148i-", + "startedAt": "2026-10-31T21:36:13.810Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 3.8212890625, + "end": 9.65185546875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-cDkT1V", + "initMs": 33329, + "volume": "lfs527-wx7unm148i-c01-store-mvwx7uof", + "vm": { + "project": "c01", + "name": "lfs527-wx7unm148i-c01-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-cDkT1V/home", + "store": "lfs527-wx7unm148i-c01-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55166 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 33631, + "cellBudgetMs": 51208, + "teardownMs": 633 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wx7unm148i-c01-store-mvwx7uof" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wx7unm148i-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx7unm148i-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-cDkT1V/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.65185546875, + "grantedAt": "2026-10-31T21:36:59.357Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 33.587, + "exec": { + "wallMs": 420.18, + "exitCode": 0, + "stdout": "LFS527 0 1793482619014240852 1793482619334310977\n", + "stderr": "", + "rc": 0, + "ms": 320.070125 + }, + "unmountMs": 8.471, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx7unm148i-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 287.688, + "exitCode": 0, + "stdout": "LFS527 0 1793482619398479102 1793482619671159269\n", + "stderr": "", + "rc": 0, + "ms": 272.680167 + }, + "commitMs": 100.121, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12aec94d9a9c3c7502de227289c973b1fc1a0e4bd4385b8ba2cf20dabaa1b6fdd0", + "commit": { + "id": "12aec94d9a9c3c7502de227289c973b1fc1a0e4bd4385b8ba2cf20dabaa1b6fdd0", + "branch": null, + "parent": null, + "secondParent": null, + "base": "329c18a2f275f5fac810a17df08862be78451905df94390483c3f6bb51909876df", + "root": "e5991eca4e5c940d806f86662f682f8c9192599867856ab89c21683432151a0f", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482619761, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 17.255, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.773, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.753, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 11139.517, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 33.581, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 420.166, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.467, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.997, + "ok": true + }, + { + "name": "timed.exec", + "ms": 287.685, + "ok": true + }, + { + "name": "timed.commit", + "ms": 100.117, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 17.251, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.038, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.062, + "ok": true + }, + { + "name": "verify.exec", + "ms": 455.892, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.575, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 318.489, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "329c18a2f275f5fac810a17df08862be78451905df94390483c3f6bb51909876df", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 18.996, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.65185546875, + "grantedAt": "2026-10-31T21:36:59.357Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997928", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10, + "execWallMs": 287.688, + "commandMs": 272.680167, + "commitMs": 100.121, + "commitKind": "Committed", + "unmountMs": 17.255 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997928", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:37:01.236Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C02-2026-10-31T213716315Z-wx96vv15xn.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C02-2026-10-31T213716315Z-wx96vv15xn.json new file mode 100644 index 0000000000..a01cd1e62e --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C02-2026-10-31T213716315Z-wx96vv15xn.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wx96vv15xn-", + "startedAt": "2026-10-31T21:37:16.315Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.5888671875, + "end": 9.29931640625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-IzNfNr", + "initMs": 37689, + "volume": "lfs527-wx96vv15xn-c02-store-mvwx96wr", + "vm": { + "project": "c02", + "name": "lfs527-wx96vv15xn-c02-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-IzNfNr/home", + "store": "lfs527-wx96vv15xn-c02-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55422 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 37777, + "cellBudgetMs": 47111, + "teardownMs": 513 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wx96vv15xn-c02-store-mvwx96wr" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wx96vv15xn-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wx96vv15xn-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-IzNfNr/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.29931640625, + "grantedAt": "2026-10-31T21:37:58.868Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 12.492, + "exec": { + "wallMs": 1089.528, + "exitCode": 0, + "stdout": "LFS527 0 1793482677794509808 1793482678856793059\n", + "stderr": "", + "rc": 0, + "ms": 1062.283251 + }, + "unmountMs": 8.519, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.369, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wx96vv15xn-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1078.101, + "exitCode": 0, + "stdout": "LFS527 0 1793482678885523184 1793482679952043435\n", + "stderr": "", + "rc": 0, + "ms": 1066.520251 + }, + "commitMs": 101.013, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ad4a2f737c1a58c8088bc6d31b7ad743ef1322fa85058fc1200f20bd0eba654a", + "commit": { + "id": "12ad4a2f737c1a58c8088bc6d31b7ad743ef1322fa85058fc1200f20bd0eba654a", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3246ba45614f7908534e64ece237386516eb1113770aeb1839c67df704778f0a83", + "root": "73897f1c513fcbf6aaad598514dd676b609fdc809f2bc833446a744cdf902b66", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482680044, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.431, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.591, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.484, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3458.455, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 12.488, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1089.522, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.516, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.366, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1078.099, + "ok": true + }, + { + "name": "timed.commit", + "ms": 101.009, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.428, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.538, + "ok": true + }, + { + "name": "verify.identity", + "ms": 21.973, + "ok": true + }, + { + "name": "verify.exec", + "ms": 459.036, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.08, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 90.339, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3246ba45614f7908534e64ece237386516eb1113770aeb1839c67df704778f0a83", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.749, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.29931640625, + "grantedAt": "2026-10-31T21:37:58.868Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997928", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.369, + "execWallMs": 1078.101, + "commandMs": 1066.520251, + "commitMs": 101.013, + "commitKind": "Committed", + "unmountMs": 7.431 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997928", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:01.162Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C03-2026-10-31T213809573Z-wxabz918cp.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C03-2026-10-31T213809573Z-wxabz918cp.json new file mode 100644 index 0000000000..e22e1722ec --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C03-2026-10-31T213809573Z-wxabz918cp.json @@ -0,0 +1,316 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wxabz918cp-", + "startedAt": "2026-10-31T21:38:09.573Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.505859375, + "end": 7.1455078125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-4tPiDx", + "initMs": 30639, + "volume": "lfs527-wxabz918cp-c03-store-mvwxac2e", + "vm": { + "project": "c03", + "name": "lfs527-wxabz918cp-c03-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-4tPiDx/home", + "store": "lfs527-wxabz918cp-c03-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55610 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 30821, + "cellBudgetMs": 54114, + "teardownMs": 681 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wxabz918cp-c03-store-mvwxac2e" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wxabz918cp-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxabz918cp-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-4tPiDx/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1522, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:50.458Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 16.149, + "exec": { + "wallMs": 604.398, + "exitCode": 0, + "stdout": "LFS527 0 1793482728255035057 1793482728840281349\n", + "stderr": "", + "rc": 0, + "ms": 585.246292 + }, + "unmountMs": 6.67, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 9.483, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxabz918cp-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 670.056, + "exitCode": 0, + "stdout": "LFS527 0 1793482730396553433 1793482731052590892\n", + "stderr": "", + "rc": 0, + "ms": 656.037459 + }, + "commitMs": 24.13, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "425a0e1770a3c436fc072bec82dd53f242ab33381e4bfd211bba178dce5c3be8", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.161, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 8.35, + "ok": true + }, + { + "name": "branch.fork", + "ms": 3.746, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 7642.933, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 16.145, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 604.394, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.666, + "ok": true + }, + { + "name": "timed.mount", + "ms": 9.48, + "ok": true + }, + { + "name": "timed.exec", + "ms": 670.052, + "ok": true + }, + { + "name": "timed.commit", + "ms": 24.125, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.158, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.476, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.966, + "ok": true + }, + { + "name": "verify.exec", + "ms": 13.806, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.05, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1001.489, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3277f5d0724e4553f2a1862381746a4b948ddc255608f047407571d17e2990ea9d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1526.723, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1522, + "load1": 7.1455078125, + "grantedAt": "2026-10-31T21:38:50.458Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997924", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 9.483, + "execWallMs": 670.056, + "commandMs": 656.037459, + "commitMs": 24.13, + "commitKind": "UpToDate", + "unmountMs": 7.161 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997924", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:38:52.910Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C04-2026-10-31T213853122Z-wxb9ky1cd4.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C04-2026-10-31T213853122Z-wxb9ky1cd4.json new file mode 100644 index 0000000000..ee734a20ce --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C04-2026-10-31T213853122Z-wxb9ky1cd4.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxb9ky1cd4-", + "startedAt": "2026-10-31T21:38:53.122Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.1455078125, + "end": 7.4052734375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-qNNSw0", + "initMs": 29304, + "volume": "lfs527-wxb9ky1cd4-c04-store-mvwxb9m0", + "vm": { + "project": "c04", + "name": "lfs527-wxb9ky1cd4-c04-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-qNNSw0/home", + "store": "lfs527-wxb9ky1cd4-c04-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55708 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 29396, + "cellBudgetMs": 55556, + "teardownMs": 1268 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wxb9ky1cd4-c04-store-mvwxb9m0" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wxb9ky1cd4-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxb9ky1cd4-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-qNNSw0/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 6.83154296875, + "grantedAt": "2026-10-31T21:39:27.758Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 23.773, + "exec": { + "wallMs": 1342.84, + "exitCode": 0, + "stdout": "LFS527 0 1793482766512578097 1793482767693939847\n", + "stderr": "", + "rc": 0, + "ms": 1181.36175 + }, + "unmountMs": 12.844, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.172, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxb9ky1cd4-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 1292.564, + "exitCode": 0, + "stdout": "LFS527 0 1793482767744363222 1793482769014706890\n", + "stderr": "", + "rc": 0, + "ms": 1270.343668 + }, + "commitMs": 760.527, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a2d385a5e5647ffdee9d30ddf1bce6d0121bfdfd5543f03e68d483d47c774895", + "commit": { + "id": "12a2d385a5e5647ffdee9d30ddf1bce6d0121bfdfd5543f03e68d483d47c774895", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32cc01e213cbf242f869f5a68bea72976d14da4cd2334c27bb9540fe97a38e9cca", + "root": "6289e726cb31a83bd1b501a62dbb428b3c232667af147ca97681d48f7456b04f", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482769767, + "logical": 0, + "newCanonical": 109367, + "newStored": 8263, + "newMetadata": 8263, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 24.519, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.37, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.784, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3738.739, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 23.763, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1342.835, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 12.841, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.169, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1292.559, + "ok": true + }, + { + "name": "timed.commit", + "ms": 760.523, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 24.516, + "ok": true + }, + { + "name": "verify.mount", + "ms": 11.265, + "ok": true + }, + { + "name": "verify.identity", + "ms": 50.753, + "ok": true + }, + { + "name": "verify.exec", + "ms": 509.556, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 20.83, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 730.385, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32cc01e213cbf242f869f5a68bea72976d14da4cd2334c27bb9540fe97a38e9cca", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 7.869, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 6.83154296875, + "grantedAt": "2026-10-31T21:39:27.758Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997924", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.172, + "execWallMs": 1292.564, + "commandMs": 1270.343668, + "commitMs": 760.527, + "commitKind": "Committed", + "unmountMs": 24.519 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997924", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:39:32.451Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C05-2026-10-31T213932717Z-wxc44s1fq0.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C05-2026-10-31T213932717Z-wxc44s1fq0.json new file mode 100644 index 0000000000..f9fdd626a7 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C05-2026-10-31T213932717Z-wxc44s1fq0.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxc44s1fq0-", + "startedAt": "2026-10-31T21:39:32.717Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.4052734375, + "end": 8.21923828125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-MqyBSE", + "initMs": 35518, + "volume": "lfs527-wxc44s1fq0-c05-store-mvwxc45l", + "vm": { + "project": "c05", + "name": "lfs527-wxc44s1fq0-c05-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-MqyBSE/home", + "store": "lfs527-wxc44s1fq0-c05-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55832 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 35599, + "cellBudgetMs": 49307, + "teardownMs": 344 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wxc44s1fq0-c05-store-mvwxc45l" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wxc44s1fq0-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxc44s1fq0-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-MqyBSE/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.49951171875, + "grantedAt": "2026-10-31T21:40:12.551Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 14.337, + "exec": { + "wallMs": 772.197, + "exitCode": 0, + "stdout": "LFS527 0 1793482811793537716 1793482812542479675\n", + "stderr": "", + "rc": 0, + "ms": 748.941959 + }, + "unmountMs": 5.553, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.818, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxc44s1fq0-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 779.512, + "exitCode": 0, + "stdout": "LFS527 0 1793482812569283008 1793482813333864925\n", + "stderr": "", + "rc": 0, + "ms": 764.581917 + }, + "commitMs": 104.825, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12ff008de7a477072ab7aa5cb5c057950d5eee7dc5df5fcb443da89de39e787c38", + "commit": { + "id": "12ff008de7a477072ab7aa5cb5c057950d5eee7dc5df5fcb443da89de39e787c38", + "branch": null, + "parent": null, + "secondParent": null, + "base": "321399667715a2f72b600f32ed83217d1839e155a52d3bf656a5e543b791d1a3f4", + "root": "78071fcee181f1b9d669145311a0066c8e62c114743a9eb03d47e4cbb3f0167c", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793482813431, + "logical": 0, + "newCanonical": 109367, + "newStored": 8273, + "newMetadata": 8273, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.539, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.667, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.392, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3240.103, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 14.333, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 772.191, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.551, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.816, + "ok": true + }, + { + "name": "timed.exec", + "ms": 779.509, + "ok": true + }, + { + "name": "timed.commit", + "ms": 104.821, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.535, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.533, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.29, + "ok": true + }, + { + "name": "verify.exec", + "ms": 222.209, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.94, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 659.377, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "321399667715a2f72b600f32ed83217d1839e155a52d3bf656a5e543b791d1a3f4", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.293, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.49951171875, + "grantedAt": "2026-10-31T21:40:12.551Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997916", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.818, + "execWallMs": 779.512, + "commandMs": 764.581917, + "commitMs": 104.825, + "commitKind": "Committed", + "unmountMs": 6.539 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997916", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:40:14.714Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C06-2026-10-31T214014933Z-wxd0ph1gt0.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C06-2026-10-31T214014933Z-wxd0ph1gt0.json new file mode 100644 index 0000000000..c869e18683 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C06-2026-10-31T214014933Z-wxd0ph1gt0.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxd0ph1gt0-", + "startedAt": "2026-10-31T21:40:14.933Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.21923828125, + "end": 9.1318359375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-zghZ31", + "initMs": 38639, + "volume": "lfs527-wxd0ph1gt0-c06-store-mvwxd0qa", + "vm": { + "project": "c06", + "name": "lfs527-wxd0ph1gt0-c06-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-zghZ31/home", + "store": "lfs527-wxd0ph1gt0-c06-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 55973 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 38986, + "cellBudgetMs": 45700, + "teardownMs": 309 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wxd0ph1gt0-c06-store-mvwxd0qa" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wxd0ph1gt0-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxd0ph1gt0-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-zghZ31/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.056640625, + "grantedAt": "2026-10-31T21:41:03.052Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 12.28, + "exec": { + "wallMs": 349.338, + "exitCode": 0, + "stdout": "LFS527 0 1793482862700535186 1793482863022814103\n", + "stderr": "", + "rc": 0, + "ms": 322.278917 + }, + "unmountMs": 17.655, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.026, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxd0ph1gt0-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 332.598, + "exitCode": 0, + "stdout": "LFS527 0 1793482863189737728 1793482863390550895\n", + "stderr": "", + "rc": 0, + "ms": 200.813167 + }, + "commitMs": 479.043, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a75b144d416b4fbc173e97b954b8cf4b2384334ef3e844501b2731a102070fff", + "commit": { + "id": "12a75b144d416b4fbc173e97b954b8cf4b2384334ef3e844501b2731a102070fff", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3258a9471f314cd001d35e3a59b3d32453d71bbb9f8e34dd49abb9ea4d6c559289", + "root": "c3b1741681a29ebe08e5019484dab5b0617d2b19907b413b811eb1c6dcb7a0cd", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793482863811, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.819, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 7.155, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.095, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8340.827, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 12.276, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 349.333, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 17.653, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.024, + "ok": true + }, + { + "name": "timed.exec", + "ms": 332.591, + "ok": true + }, + { + "name": "timed.commit", + "ms": 479.04, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.816, + "ok": true + }, + { + "name": "verify.mount", + "ms": 14.871, + "ok": true + }, + { + "name": "verify.identity", + "ms": 59.795, + "ok": true + }, + { + "name": "verify.exec", + "ms": 320.527, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 11.772, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 791.724, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3258a9471f314cd001d35e3a59b3d32453d71bbb9f8e34dd49abb9ea4d6c559289", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.32, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.056640625, + "grantedAt": "2026-10-31T21:41:03.052Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997928", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.026, + "execWallMs": 332.598, + "commandMs": 200.813167, + "commitMs": 479.043, + "commitKind": "Committed", + "unmountMs": 16.819 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997928", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:05.405Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C07-2026-10-31T214114792Z-wxeaw81i4t.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C07-2026-10-31T214114792Z-wxeaw81i4t.json new file mode 100644 index 0000000000..6abb4a393e --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C07-2026-10-31T214114792Z-wxeaw81i4t.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxeaw81i4t-", + "startedAt": "2026-10-31T21:41:14.792Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.626953125, + "end": 9.8515625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-4pPno5", + "initMs": 37843, + "volume": "lfs527-wxeaw81i4t-c07-store-mvwxeaym", + "vm": { + "project": "c07", + "name": "lfs527-wxeaw81i4t-c07-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-4pPno5/home", + "store": "lfs527-wxeaw81i4t-c07-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56116 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 37965, + "cellBudgetMs": 46961, + "teardownMs": 491 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wxeaw81i4t-c07-store-mvwxeaym" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wxeaw81i4t-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxeaw81i4t-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-4pPno5/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.751953125, + "grantedAt": "2026-10-31T21:41:56.203Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 15.614, + "exec": { + "wallMs": 421.501, + "exitCode": 0, + "stdout": "LFS527 0 1793482915776393548 1793482916165957049\n", + "stderr": "", + "rc": 0, + "ms": 389.563501 + }, + "unmountMs": 20.252, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.672, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxeaw81i4t-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 433.776, + "exitCode": 0, + "stdout": "LFS527 0 1793482916208261924 1793482916628940465\n", + "stderr": "", + "rc": 0, + "ms": 420.678541 + }, + "commitMs": 674.237, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "127903ffc9f0d1264fab40913d830338613b6127fe457031976d47e4dc4a5fa014", + "commit": { + "id": "127903ffc9f0d1264fab40913d830338613b6127fe457031976d47e4dc4a5fa014", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32e86c79b1a4846e26790d20360e36d07e87705c3057216513397faaa1b9e1f10a", + "root": "f183cb669443ff3a1c079693cc07d057e7aab42f517c71fe7b061431694020cd", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793482917192, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 23.613, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.569, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.429, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2841.243, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 15.609, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 421.49, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 20.249, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.669, + "ok": true + }, + { + "name": "timed.exec", + "ms": 433.773, + "ok": true + }, + { + "name": "timed.commit", + "ms": 674.234, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 23.61, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.712, + "ok": true + }, + { + "name": "verify.identity", + "ms": 42.335, + "ok": true + }, + { + "name": "verify.exec", + "ms": 681.566, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 13.574, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 439.934, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32e86c79b1a4846e26790d20360e36d07e87705c3057216513397faaa1b9e1f10a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.668, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 9.751953125, + "grantedAt": "2026-10-31T21:41:56.203Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997924", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.672, + "execWallMs": 433.776, + "commandMs": 420.678541, + "commitMs": 674.237, + "commitKind": "Committed", + "unmountMs": 23.613 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997924", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:59.032Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C08-2026-10-31T214159356Z-wxf9a41iwz.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C08-2026-10-31T214159356Z-wxf9a41iwz.json new file mode 100644 index 0000000000..762d6a7c07 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C08-2026-10-31T214159356Z-wxf9a41iwz.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxf9a41iwz-", + "startedAt": "2026-10-31T21:41:59.356Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.8515625, + "end": 10.64697265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-gMTSxj", + "initMs": 30257, + "volume": "lfs527-wxf9a41iwz-c08-store-mvwxf9az", + "vm": { + "project": "c08", + "name": "lfs527-wxf9a41iwz-c08-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-gMTSxj/home", + "store": "lfs527-wxf9a41iwz-c08-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56244 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 30345, + "cellBudgetMs": 54621, + "teardownMs": 1014 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wxf9a41iwz-c08-store-mvwxf9az" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wxf9a41iwz-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxf9a41iwz-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-gMTSxj/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 11.0517578125, + "grantedAt": "2026-10-31T21:42:36.281Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 18.359, + "exec": { + "wallMs": 272.908, + "exitCode": 0, + "stdout": "LFS527 0 1793482956050124048 1793482956261235798\n", + "stderr": "", + "rc": 0, + "ms": 211.11175 + }, + "unmountMs": 14.418, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.965, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxf9a41iwz-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 191.217, + "exitCode": 0, + "stdout": "LFS527 0 1793482956300315590 1793482956477018048\n", + "stderr": "", + "rc": 0, + "ms": 176.702458 + }, + "commitMs": 323.121, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1288b381da1ed923248188062eadf297a497afc161524e040e76645725f6580ff5", + "commit": { + "id": "1288b381da1ed923248188062eadf297a497afc161524e040e76645725f6580ff5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3252289b462eff76a01db257064e0fbc0e81790696d5ad609f642184ca9f0726dd", + "root": "1a377200426898821ab4b09c02dca09ea741e6239386486013783aeb15533627", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793482956743, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 15.898, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.292, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.77, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6169.798, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 18.355, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 272.903, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.415, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.962, + "ok": true + }, + { + "name": "timed.exec", + "ms": 191.215, + "ok": true + }, + { + "name": "timed.commit", + "ms": 323.117, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 15.894, + "ok": true + }, + { + "name": "verify.mount", + "ms": 6.087, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.992, + "ok": true + }, + { + "name": "verify.exec", + "ms": 299.291, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 12.426, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 871.101, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3252289b462eff76a01db257064e0fbc0e81790696d5ad609f642184ca9f0726dd", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 3.748, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 11.0517578125, + "grantedAt": "2026-10-31T21:42:36.281Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997932", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.965, + "execWallMs": 191.217, + "commandMs": 176.702458, + "commitMs": 323.121, + "commitKind": "Committed", + "unmountMs": 15.898 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997932", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:42:39.052Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C09-2026-10-31T214239457Z-wxg4811jo1.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C09-2026-10-31T214239457Z-wxg4811jo1.json new file mode 100644 index 0000000000..2cad550012 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C09-2026-10-31T214239457Z-wxg4811jo1.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxg4811jo1-", + "startedAt": "2026-10-31T21:42:39.457Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.64697265625, + "end": 10.5009765625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-3wfbin", + "initMs": 32528, + "volume": "lfs527-wxg4811jo1-c09-store-mvwxg48v", + "vm": { + "project": "c09", + "name": "lfs527-wxg4811jo1-c09-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-3wfbin/home", + "store": "lfs527-wxg4811jo1-c09-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56422 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 32800, + "cellBudgetMs": 52134, + "teardownMs": 781 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wxg4811jo1-c09-store-mvwxg48v" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wxg4811jo1-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxg4811jo1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-3wfbin/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:20.712Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 230.315, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129c63f1a4786231f99ac1e96c1af866b79a0954d37d6edc26f3cf79c3ae23e6b1", + "commit": { + "id": "129c63f1a4786231f99ac1e96c1af866b79a0954d37d6edc26f3cf79c3ae23e6b1", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3299baf7c5ce3956b5d35cfff7d192ba5764530a446ca2300c184650a0a5cc622a", + "root": "58888bfbb495878a9b11530123a7ef6b84ee4480213f416f58b338444def111b", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793483000476, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.275, + "exec": { + "wallMs": 126.27, + "exitCode": 0, + "stdout": "LFS527 0 1793483000582499716 1793483000693732008\n", + "stderr": "", + "rc": 0, + "ms": 111.232292 + }, + "unmountMs": 14.123, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 36.207, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxg4811jo1-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 91.485, + "exitCode": 0, + "stdout": "LFS527 0 1793483000764717592 1793483000839738508\n", + "stderr": "", + "rc": 0, + "ms": 75.020916 + }, + "commitMs": 1.616, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "129c63f1a4786231f99ac1e96c1af866b79a0954d37d6edc26f3cf79c3ae23e6b1", + "root": "58888bfbb495878a9b11530123a7ef6b84ee4480213f416f58b338444def111b", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.288, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.071, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.851, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6795.665, + "ok": true + }, + { + "name": "setup.mount", + "ms": 10.592, + "ok": true + }, + { + "name": "setup.exec", + "ms": 230.308, + "ok": true + }, + { + "name": "setup.commit", + "ms": 939.952, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 27.572, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.272, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 126.267, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.12, + "ok": true + }, + { + "name": "timed.mount", + "ms": 36.203, + "ok": true + }, + { + "name": "timed.exec", + "ms": 91.478, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.614, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.284, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.731, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.496, + "ok": true + }, + { + "name": "verify.exec", + "ms": 397.346, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.179, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 381.288, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3299baf7c5ce3956b5d35cfff7d192ba5764530a446ca2300c184650a0a5cc622a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 3.962, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:20.712Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 36.207, + "execWallMs": 91.485, + "commandMs": 75.020916, + "commitMs": 1.616, + "commitKind": "UpToDate", + "unmountMs": 10.288 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:22.522Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C10-2026-10-31T214323121Z-wxh1wx1kgb.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C10-2026-10-31T214323121Z-wxh1wx1kgb.json new file mode 100644 index 0000000000..323673efc2 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C10-2026-10-31T214323121Z-wxh1wx1kgb.json @@ -0,0 +1,396 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxh1wx1kgb-", + "startedAt": "2026-10-31T21:43:23.121Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.5009765625, + "end": 12.46533203125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-VPOKrO", + "initMs": 28687, + "volume": "lfs527-wxh1wx1kgb-c10-store-mvwxh1xz", + "vm": { + "project": "c10", + "name": "lfs527-wxh1wx1kgb-c10-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-VPOKrO/home", + "store": "lfs527-wxh1wx1kgb-c10-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56604 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 28787, + "cellBudgetMs": 56177, + "teardownMs": 690 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wxh1wx1kgb-c10-store-mvwxh1xz" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wxh1wx1kgb-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxh1wx1kgb-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-VPOKrO/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 13, + "load1": 12.68017578125, + "grantedAt": "2026-10-31T21:43:58.267Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 211.6, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "120b0931ff06e6a42e575daacf6f42e16c4a81b407198b85ef80c5221d5b927b69", + "commit": { + "id": "120b0931ff06e6a42e575daacf6f42e16c4a81b407198b85ef80c5221d5b927b69", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3255c178d079c8ab3706cd7878f177ff50c4f5bf013ac9a6c5e0dac44928770d5e", + "root": "bb8d2104ba93432c1661744ee1420b2c3ee301d75fbd373d3108b84f84030bcb", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793483037848, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.875, + "exec": { + "wallMs": 305.841, + "exitCode": 0, + "stdout": "LFS527 0 1793483037945324713 1793483038228964588\n", + "stderr": "", + "rc": 0, + "ms": 283.639875 + }, + "unmountMs": 19.87, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.538, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxh1wx1kgb-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 271.826, + "exitCode": 0, + "stdout": "LFS527 0 1793483038293258838 1793483038549767713\n", + "stderr": "", + "rc": 0, + "ms": 256.508875 + }, + "commitMs": 57.383, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b65c49dbc432d7103ec453c996160c4d47d10f9e7fed17689c45a06d4bebfeb2", + "commit": { + "id": "12b65c49dbc432d7103ec453c996160c4d47d10f9e7fed17689c45a06d4bebfeb2", + "branch": null, + "parent": "120b0931ff06e6a42e575daacf6f42e16c4a81b407198b85ef80c5221d5b927b69", + "secondParent": null, + "base": "3255c178d079c8ab3706cd7878f177ff50c4f5bf013ac9a6c5e0dac44928770d5e", + "root": "16372403b76f6faf6c3f11474fa65149c4c7cdd6415a079a0a36322d3f6a0d61", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793483038555, + "logical": 134217728, + "newCanonical": 487, + "newStored": 295, + "newMetadata": 295, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 20.842, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.958, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.647, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5332.344, + "ok": true + }, + { + "name": "setup.mount", + "ms": 19.374, + "ok": true + }, + { + "name": "setup.exec", + "ms": 211.595, + "ok": true + }, + { + "name": "setup.commit", + "ms": 327.294, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 16.793, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.865, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 305.838, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 19.866, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.534, + "ok": true + }, + { + "name": "timed.exec", + "ms": 271.82, + "ok": true + }, + { + "name": "timed.commit", + "ms": 57.38, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 20.837, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.711, + "ok": true + }, + { + "name": "verify.identity", + "ms": 47.304, + "ok": true + }, + { + "name": "verify.exec", + "ms": 740.266, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 17.372, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1011.053, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3255c178d079c8ab3706cd7878f177ff50c4f5bf013ac9a6c5e0dac44928770d5e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 17.259, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 13, + "load1": 12.68017578125, + "grantedAt": "2026-10-31T21:43:58.267Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.538, + "execWallMs": 271.826, + "commandMs": 256.508875, + "commitMs": 57.383, + "commitKind": "Committed", + "unmountMs": 20.842 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:01.151Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C11-2026-10-31T214406448Z-wxhzcg1l0q.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C11-2026-10-31T214406448Z-wxhzcg1l0q.json new file mode 100644 index 0000000000..ee393e6543 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C11-2026-10-31T214406448Z-wxhzcg1l0q.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxhzcg1l0q-", + "startedAt": "2026-10-31T21:44:06.448Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.787109375, + "end": 12.0908203125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-mDcoRy", + "initMs": 41985, + "volume": "lfs527-wxhzcg1l0q-c11-store-mvwxhzdz", + "vm": { + "project": "c11", + "name": "lfs527-wxhzcg1l0q-c11-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-mDcoRy/home", + "store": "lfs527-wxhzcg1l0q-c11-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56729 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 42088, + "cellBudgetMs": 42878, + "teardownMs": 2272 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wxhzcg1l0q-c11-store-mvwxhzdz" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-wxhzcg1l0q-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxhzcg1l0q-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-mDcoRy/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 6, + "load1": 12.0908203125, + "grantedAt": "2026-10-31T21:44:54.326Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 251.673, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d0c2d801ae5339d2fef881674e9273f5d391d34fb9f83a3e71dc7243c93ec742", + "commit": { + "id": "12d0c2d801ae5339d2fef881674e9273f5d391d34fb9f83a3e71dc7243c93ec742", + "branch": null, + "parent": null, + "secondParent": null, + "base": "321c27014e5f60ef172fd5e2e5769d96ce6a038d5ced75f24db5b536f3120b09f8", + "root": "9e267a8ad72a15ba4337bf0092044453070e5b267d12030479e73e536cc71ff9", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793483093992, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.844, + "exec": { + "wallMs": 170.898, + "exitCode": 0, + "stdout": "LFS527 0 1793483094104526465 1793483094251527965\n", + "stderr": "", + "rc": 0, + "ms": 147.0015 + }, + "unmountMs": 63.843, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 10.953, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxhzcg1l0q-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 185.286, + "exitCode": 0, + "stdout": "LFS527 0 1793483094355520340 1793483094520087257\n", + "stderr": "", + "rc": 0, + "ms": 164.566917 + }, + "commitMs": 153.453, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12d0c2d801ae5339d2fef881674e9273f5d391d34fb9f83a3e71dc7243c93ec742", + "root": "9e267a8ad72a15ba4337bf0092044453070e5b267d12030479e73e536cc71ff9", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.817, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.669, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.687, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4795.567, + "ok": true + }, + { + "name": "setup.mount", + "ms": 15.518, + "ok": true + }, + { + "name": "setup.exec", + "ms": 251.667, + "ok": true + }, + { + "name": "setup.commit", + "ms": 352.152, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 18.23, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.841, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 170.895, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 63.84, + "ok": true + }, + { + "name": "timed.mount", + "ms": 10.951, + "ok": true + }, + { + "name": "timed.exec", + "ms": 185.282, + "ok": true + }, + { + "name": "timed.commit", + "ms": 153.445, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.813, + "ok": true + }, + { + "name": "verify.mount", + "ms": 7.222, + "ok": true + }, + { + "name": "verify.identity", + "ms": 178.357, + "ok": true + }, + { + "name": "verify.exec", + "ms": 456.47, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 50.904, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 701.564, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "321c27014e5f60ef172fd5e2e5769d96ce6a038d5ced75f24db5b536f3120b09f8", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 8.949, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 6, + "load1": 12.0908203125, + "grantedAt": "2026-10-31T21:44:54.326Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 10.953, + "execWallMs": 185.286, + "commandMs": 164.566917, + "commitMs": 153.453, + "commitKind": "UpToDate", + "unmountMs": 16.817 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:58.364Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C12-2026-10-31T214458591Z-wxj3kv1lp2.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C12-2026-10-31T214458591Z-wxj3kv1lp2.json new file mode 100644 index 0000000000..65d00fbb88 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-lima-C12-2026-10-31T214458591Z-wxj3kv1lp2.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-lima", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxj3kv1lp2-", + "startedAt": "2026-10-31T21:44:58.591Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 12.0908203125, + "end": 8.8515625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-majEpb", + "initMs": 30802, + "volume": "lfs527-wxj3kv1lp2-c12-store-mvwxj3lo", + "vm": { + "project": "c12", + "name": "lfs527-wxj3kv1lp2-c12-vm", + "state": "running", + "image": "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-majEpb/home", + "store": "lfs527-wxj3kv1lp2-c12-vm-store", + "created": null, + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56813 + }, + "disk": { + "free": 19864657920 + } + }, + "setupMs": 30907, + "cellBudgetMs": 53801, + "teardownMs": 1928 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wxj3kv1lp2-c12-store-mvwxj3lo" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-wxj3kv1lp2-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxj3kv1lp2-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-majEpb/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.27392578125, + "grantedAt": "2026-10-31T21:45:33.160Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.248, + "exec": { + "wallMs": 177.72, + "exitCode": 0, + "stdout": "LFS527 0 1793483132973431589 1793483133138818756\n", + "stderr": "", + "rc": 0, + "ms": 165.387167 + }, + "unmountMs": 6.196, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.489, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxj3kv1lp2-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 188.373, + "exitCode": 0, + "stdout": "LFS527 0 1793483133174814006 1793483133338956381\n", + "stderr": "", + "rc": 0, + "ms": 164.142375 + }, + "commitMs": 45.629, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12afcd786772590f22b3bd9fbf6ea479877bb5493c30c13070d295b39d95112714", + "commit": { + "id": "12afcd786772590f22b3bd9fbf6ea479877bb5493c30c13070d295b39d95112714", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32437d1779215bf625ebf008db8309616e481e94a4279c226d38566cf892c25467", + "root": "187639878e7847c2325123d0928fae7eefcf255d871e040e9b180de14be9079d", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793483133381, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26830, + "newMetadata": 6518, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.058, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.449, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.469, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2915.91, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.245, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 177.715, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.193, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.485, + "ok": true + }, + { + "name": "timed.exec", + "ms": 188.369, + "ok": true + }, + { + "name": "timed.commit", + "ms": 45.625, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.055, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.633, + "ok": true + }, + { + "name": "verify.identity", + "ms": 17.475, + "ok": true + }, + { + "name": "verify.exec", + "ms": 64.677, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.998, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 909.748, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32437d1779215bf625ebf008db8309616e481e94a4279c226d38566cf892c25467", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.045, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.27392578125, + "grantedAt": "2026-10-31T21:45:33.160Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.489, + "execWallMs": 188.373, + "commandMs": 164.142375, + "commitMs": 45.629, + "commitKind": "Committed", + "unmountMs": 7.058 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3997920", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:45:36.342Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C01-2026-10-31T214132060Z-wxeo7w1ig8.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C01-2026-10-31T214132060Z-wxeo7w1ig8.json new file mode 100644 index 0000000000..57ef3aca94 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C01-2026-10-31T214132060Z-wxeo7w1ig8.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wxeo7w1ig8-", + "startedAt": "2026-10-31T21:41:32.060Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.96533203125, + "end": 9.46923828125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-GnDwEL", + "initMs": 10474, + "volume": "lfs527-wxeo7w1ig8-c01-store-mvwxeo8q", + "vm": { + "project": "c01", + "name": "lfs527-wxeo7w1ig8-c01-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-GnDwEL/home", + "store": "lfs527-wxeo7w1ig8-c01-vm-store", + "created": "2026-10-31T21:41:32.359898+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56173 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 10657, + "cellBudgetMs": 74161, + "teardownMs": 300 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wxeo7w1ig8-c01-store-mvwxeo8q" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wxeo7w1ig8-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxeo7w1ig8-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-GnDwEL/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 26, + "load1": 9.46923828125, + "grantedAt": "2026-10-31T21:41:50.772Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 23.67, + "exec": { + "wallMs": 477.839, + "exitCode": 0, + "stdout": "LFS527 0 1793482910306176174 1793482910729891299\n", + "stderr": "", + "rc": 0, + "ms": 423.715125 + }, + "unmountMs": 11.579, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 8.055, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxeo7w1ig8-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 409.694, + "exitCode": 0, + "stdout": "LFS527 0 1793482910855682799 1793482911237301591\n", + "stderr": "", + "rc": 0, + "ms": 381.618792 + }, + "commitMs": 106.2, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12b9c5ff1d36eea3a9e5fa9c03d033a8893bd7860b759cbde53eeb899ac21947ba", + "commit": { + "id": "12b9c5ff1d36eea3a9e5fa9c03d033a8893bd7860b759cbde53eeb899ac21947ba", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32b62ac3e158ba335e0d7a943c53a7dda0ca24f135bf48100c50a7a118222ab7dc", + "root": "b0e914345fe4c8429f644bb82c98133c0f650076ec4945689ae60d0b97e66036", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793482911334, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.879, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.964, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.318, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 7200.223, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 23.666, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 477.834, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.575, + "ok": true + }, + { + "name": "timed.mount", + "ms": 8.05, + "ok": true + }, + { + "name": "timed.exec", + "ms": 409.69, + "ok": true + }, + { + "name": "timed.commit", + "ms": 106.197, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.875, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.426, + "ok": true + }, + { + "name": "verify.identity", + "ms": 51.358, + "ok": true + }, + { + "name": "verify.exec", + "ms": 364.343, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 12.472, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 552.242, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b62ac3e158ba335e0d7a943c53a7dda0ca24f135bf48100c50a7a118222ab7dc", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 75.23, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 26, + "load1": 9.46923828125, + "grantedAt": "2026-10-31T21:41:50.772Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 8.055, + "execWallMs": 409.694, + "commandMs": 381.618792, + "commitMs": 106.2, + "commitKind": "Committed", + "unmountMs": 8.879 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:41:52.598Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C02-2026-10-31T214155885Z-wxf6lp1iuq.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C02-2026-10-31T214155885Z-wxf6lp1iuq.json new file mode 100644 index 0000000000..d6111ea4aa --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C02-2026-10-31T214155885Z-wxf6lp1iuq.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wxf6lp1iuq-", + "startedAt": "2026-10-31T21:41:55.885Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.751953125, + "end": 9.56005859375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Cdp0d0", + "initMs": 8822, + "volume": "lfs527-wxf6lp1iuq-c02-store-mvwxf6mn", + "vm": { + "project": "c02", + "name": "lfs527-wxf6lp1iuq-c02-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-Cdp0d0/home", + "store": "lfs527-wxf6lp1iuq-c02-vm-store", + "created": "2026-10-31T21:41:56.074200+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56239 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8934, + "cellBudgetMs": 76036, + "teardownMs": 383 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wxf6lp1iuq-c02-store-mvwxf6mn" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wxf6lp1iuq-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxf6lp1iuq-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Cdp0d0/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.56005859375, + "grantedAt": "2026-10-31T21:42:08.873Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.231, + "exec": { + "wallMs": 869.048, + "exitCode": 0, + "stdout": "LFS527 0 1793482928011303505 1793482928876153922\n", + "stderr": "", + "rc": 0, + "ms": 864.850417 + }, + "unmountMs": 8.919, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.581, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxf6lp1iuq-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1030.418, + "exitCode": 0, + "stdout": "LFS527 0 1793482928953889047 1793482929922617756\n", + "stderr": "", + "rc": 0, + "ms": 968.728709 + }, + "commitMs": 95.643, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1222d57bfaf55e5a4d16b7158686331fa14cb5aed13b2d0c0cd036d275416befa3", + "commit": { + "id": "1222d57bfaf55e5a4d16b7158686331fa14cb5aed13b2d0c0cd036d275416befa3", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32554cf239d659c92b4e03f9b860298ddebcce211a2a883b4f735470079043c861", + "root": "e9a0dcd0dc43fcd3195ace7c9d2d1af572b216749ad80143d9f7ccd35e72b5c3", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793482930010, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 11.515, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.702, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.311, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3076.721, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.227, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 869.043, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.917, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.578, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1030.415, + "ok": true + }, + { + "name": "timed.commit", + "ms": 95.64, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 11.512, + "ok": true + }, + { + "name": "verify.mount", + "ms": 8.396, + "ok": true + }, + { + "name": "verify.identity", + "ms": 69.576, + "ok": true + }, + { + "name": "verify.exec", + "ms": 572.656, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.613, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 503.536, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32554cf239d659c92b4e03f9b860298ddebcce211a2a883b4f735470079043c861", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.441, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.56005859375, + "grantedAt": "2026-10-31T21:42:08.873Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.581, + "execWallMs": 1030.418, + "commandMs": 968.728709, + "commitMs": 95.643, + "commitKind": "Committed", + "unmountMs": 11.515 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:42:11.571Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C03-2026-10-31T214215301Z-wxfll11j36.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C03-2026-10-31T214215301Z-wxfll11j36.json new file mode 100644 index 0000000000..3bdc9f18ee --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C03-2026-10-31T214215301Z-wxfll11j36.json @@ -0,0 +1,316 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wxfll11j36-", + "startedAt": "2026-10-31T21:42:15.301Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.91552734375, + "end": 10.64697265625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-jCIOIA", + "initMs": 14236, + "volume": "lfs527-wxfll11j36-c03-store-mvwxfllu", + "vm": { + "project": "c03", + "name": "lfs527-wxfll11j36-c03-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-jCIOIA/home", + "store": "lfs527-wxfll11j36-c03-vm-store", + "created": "2026-10-31T21:42:15.468249+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56297 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 14347, + "cellBudgetMs": 70605, + "teardownMs": 628 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wxfll11j36-c03-store-mvwxfllu" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wxfll11j36-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxfll11j36-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-jCIOIA/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 102, + "load1": 11.0517578125, + "grantedAt": "2026-10-31T21:42:36.833Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 12.831, + "exec": { + "wallMs": 541.776, + "exitCode": 0, + "stdout": "LFS527 0 1793482956040204176 1793482956572016093\n", + "stderr": "", + "rc": 0, + "ms": 531.811917 + }, + "unmountMs": 155.046, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.857, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxfll11j36-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 573.41, + "exitCode": 0, + "stdout": "LFS527 0 1793482956883354843 1793482957413427302\n", + "stderr": "", + "rc": 0, + "ms": 530.072459 + }, + "commitMs": 9.356, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "cb3fe299e052504eddb3efe6c896e75ae59e7a07b90419156c87206b559c809f", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.325, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.734, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.221, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6249.349, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 12.825, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 541.771, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 155.043, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.854, + "ok": true + }, + { + "name": "timed.exec", + "ms": 573.407, + "ok": true + }, + { + "name": "timed.commit", + "ms": 9.354, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.322, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.965, + "ok": true + }, + { + "name": "verify.identity", + "ms": 55.362, + "ok": true + }, + { + "name": "verify.exec", + "ms": 3.88, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.963, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 585.673, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32eb52deb367fca2609f48ee8c0a32bc30dd835f98c449130256140c85ec579da4", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 105.665, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 102, + "load1": 11.0517578125, + "grantedAt": "2026-10-31T21:42:36.833Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.857, + "execWallMs": 573.41, + "commandMs": 530.072459, + "commitMs": 9.356, + "commitKind": "UpToDate", + "unmountMs": 6.325 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:42:38.719Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C04-2026-10-31T214242634Z-wxg6oa1jr0.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C04-2026-10-31T214242634Z-wxg6oa1jr0.json new file mode 100644 index 0000000000..1d23ab6211 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C04-2026-10-31T214242634Z-wxg6oa1jr0.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxg6oa1jr0-", + "startedAt": "2026-10-31T21:42:42.634Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.64697265625, + "end": 11.45849609375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-21U5cz", + "initMs": 9148, + "volume": "lfs527-wxg6oa1jr0-c04-store-mvwxg6p3", + "vm": { + "project": "c04", + "name": "lfs527-wxg6oa1jr0-c04-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-21U5cz/home", + "store": "lfs527-wxg6oa1jr0-c04-vm-store", + "created": "2026-10-31T21:42:42.795440+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56454 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9252, + "cellBudgetMs": 75698, + "teardownMs": 265 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wxg6oa1jr0-c04-store-mvwxg6p3" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wxg6oa1jr0-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxg6oa1jr0-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-21U5cz/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.45849609375, + "grantedAt": "2026-10-31T21:42:59.286Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.584, + "exec": { + "wallMs": 713.114, + "exitCode": 0, + "stdout": "LFS527 0 1793482978571272674 1793482979275210716\n", + "stderr": "", + "rc": 0, + "ms": 703.938042 + }, + "unmountMs": 8.088, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.243, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxg6oa1jr0-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 634.309, + "exitCode": 0, + "stdout": "LFS527 0 1793482979335412049 1793482979925346716\n", + "stderr": "", + "rc": 0, + "ms": 589.934667 + }, + "commitMs": 437.941, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1290f59027c1791db6498c00fc5fb75db87d211979a795c485d45d90d3d2e91af9", + "commit": { + "id": "1290f59027c1791db6498c00fc5fb75db87d211979a795c485d45d90d3d2e91af9", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32f42f39e3e413706106d2cb60c1708fdfc8afc57ca16c9c38287507f920a265a7", + "root": "a99dd4f5f38ef2d0bed14528964bd8d570b3c8fe6b941cd9755fe8ad8f476aaa", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793482980352, + "logical": 0, + "newCanonical": 109367, + "newStored": 8250, + "newMetadata": 8250, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 110.773, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.254, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.491, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 6539.633, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.579, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 713.108, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 8.085, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.24, + "ok": true + }, + { + "name": "timed.exec", + "ms": 634.306, + "ok": true + }, + { + "name": "timed.commit", + "ms": 437.933, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 110.769, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.635, + "ok": true + }, + { + "name": "verify.identity", + "ms": 72.51, + "ok": true + }, + { + "name": "verify.exec", + "ms": 258.27, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.596, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 500.85, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32f42f39e3e413706106d2cb60c1708fdfc8afc57ca16c9c38287507f920a265a7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.664, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.45849609375, + "grantedAt": "2026-10-31T21:42:59.286Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.243, + "execWallMs": 634.309, + "commandMs": 589.934667, + "commitMs": 437.941, + "commitKind": "Committed", + "unmountMs": 110.773 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:01.592Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C05-2026-10-31T214304920Z-wxgnvc1k3u.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C05-2026-10-31T214304920Z-wxgnvc1k3u.json new file mode 100644 index 0000000000..4466efd40f --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C05-2026-10-31T214304920Z-wxgnvc1k3u.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxgnvc1k3u-", + "startedAt": "2026-10-31T21:43:04.920Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.34130859375, + "end": 11.18115234375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-QAuNRd", + "initMs": 11098, + "volume": "lfs527-wxgnvc1k3u-c05-store-mvwxgnwd", + "vm": { + "project": "c05", + "name": "lfs527-wxgnvc1k3u-c05-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-QAuNRd/home", + "store": "lfs527-wxgnvc1k3u-c05-vm-store", + "created": "2026-10-31T21:43:05.126803+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56565 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 11228, + "cellBudgetMs": 73707, + "teardownMs": 278 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wxgnvc1k3u-c05-store-mvwxgnwd" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wxgnvc1k3u-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxgnvc1k3u-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-QAuNRd/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:23.272Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 38.176, + "exec": { + "wallMs": 963.473, + "exitCode": 0, + "stdout": "LFS527 0 1793483002349152133 1793483003259708841\n", + "stderr": "", + "rc": 0, + "ms": 910.556708 + }, + "unmountMs": 9.429, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.423, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxgnvc1k3u-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 893.14, + "exitCode": 0, + "stdout": "LFS527 0 1793483003329222675 1793483004171314592\n", + "stderr": "", + "rc": 0, + "ms": 842.091917 + }, + "commitMs": 104.027, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1285904ec904731343b698a9acd065d65d76607d94314b5337723a90d883168d01", + "commit": { + "id": "1285904ec904731343b698a9acd065d65d76607d94314b5337723a90d883168d01", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ecd8926e5ba50211bf228760916b9c5d8df4384d2f671abda176d66bf844cd26", + "root": "54366d17e66b84e124ac040109d7180f7b35193ed1f50cb24f19b761b8445771", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793483004268, + "logical": 0, + "newCanonical": 109367, + "newStored": 8254, + "newMetadata": 8254, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 8.166, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.279, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.14, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 5966.084, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 38.147, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 963.468, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 9.426, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.419, + "ok": true + }, + { + "name": "timed.exec", + "ms": 893.136, + "ok": true + }, + { + "name": "timed.commit", + "ms": 104.024, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 8.164, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.903, + "ok": true + }, + { + "name": "verify.identity", + "ms": 47.091, + "ok": true + }, + { + "name": "verify.exec", + "ms": 251.882, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.936, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 263.659, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ecd8926e5ba50211bf228760916b9c5d8df4384d2f671abda176d66bf844cd26", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.321, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 10.5009765625, + "grantedAt": "2026-10-31T21:43:23.272Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.423, + "execWallMs": 893.14, + "commandMs": 842.091917, + "commitMs": 104.027, + "commitKind": "Committed", + "unmountMs": 8.166 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:25.143Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C06-2026-10-31T214328441Z-wxh60p1kiy.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C06-2026-10-31T214328441Z-wxh60p1kiy.json new file mode 100644 index 0000000000..f861345afa --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C06-2026-10-31T214328441Z-wxh60p1kiy.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxh60p1kiy-", + "startedAt": "2026-10-31T21:43:28.441Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.18115234375, + "end": 12.00537109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-DmFVLN", + "initMs": 10216, + "volume": "lfs527-wxh60p1kiy-c06-store-mvwxh61h", + "vm": { + "project": "c06", + "name": "lfs527-wxh60p1kiy-c06-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-DmFVLN/home", + "store": "lfs527-wxh60p1kiy-c06-vm-store", + "created": "2026-10-31T21:43:28.611435+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56621 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 10331, + "cellBudgetMs": 74640, + "teardownMs": 427 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wxh60p1kiy-c06-store-mvwxh61h" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wxh60p1kiy-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxh60p1kiy-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-DmFVLN/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.57080078125, + "grantedAt": "2026-10-31T21:43:43.284Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.041, + "exec": { + "wallMs": 165.773, + "exitCode": 0, + "stdout": "LFS527 0 1793483023106885840 1793483023268207881\n", + "stderr": "", + "rc": 0, + "ms": 161.322041 + }, + "unmountMs": 13.05, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.803, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxh60p1kiy-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 233.057, + "exitCode": 0, + "stdout": "LFS527 0 1793483023350789756 1793483023521904590\n", + "stderr": "", + "rc": 0, + "ms": 171.114834 + }, + "commitMs": 304.89, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12de9464e631f00e6f062403890b180d428e609a69af2973da2b2548ca31659f79", + "commit": { + "id": "12de9464e631f00e6f062403890b180d428e609a69af2973da2b2548ca31659f79", + "branch": null, + "parent": null, + "secondParent": null, + "base": "323b72302a42437ac6dc4044674447dcb9d6463242d6d781cf9ba1b2c566edc63d", + "root": "5c5c623b48f373b408463efe87db683598c11c1f32fa84d9b72a1daf8185a277", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793483023782, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 11.853, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.326, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.316, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4230.506, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.037, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 165.769, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 13.047, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.801, + "ok": true + }, + { + "name": "timed.exec", + "ms": 233.054, + "ok": true + }, + { + "name": "timed.commit", + "ms": 304.888, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 11.849, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.96, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.133, + "ok": true + }, + { + "name": "verify.exec", + "ms": 327.485, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 63.383, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 993.028, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "323b72302a42437ac6dc4044674447dcb9d6463242d6d781cf9ba1b2c566edc63d", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.468, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 11.57080078125, + "grantedAt": "2026-10-31T21:43:43.284Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.803, + "execWallMs": 233.057, + "commandMs": 171.114834, + "commitMs": 304.89, + "commitKind": "Committed", + "unmountMs": 11.853 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:43:45.692Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C07-2026-10-31T214350330Z-wxhmwq1kq1.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C07-2026-10-31T214350330Z-wxhmwq1kq1.json new file mode 100644 index 0000000000..5b359e98db --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C07-2026-10-31T214350330Z-wxhmwq1kq1.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxhmwq1kq1-", + "startedAt": "2026-10-31T21:43:50.330Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "9569db7c1af5296bc54b8d1bd29888e3a995bb2818a52f8c182c17c9b36a6832", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 12.5654296875, + "end": 11.787109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-P9Jls0", + "initMs": 11927, + "volume": "lfs527-wxhmwq1kq1-c07-store-mvwxhmy8", + "vm": { + "project": "c07", + "name": "lfs527-wxhmwq1kq1-c07-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-P9Jls0/home", + "store": "lfs527-wxhmwq1kq1-c07-vm-store", + "created": "2026-10-31T21:43:50.548161+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56696 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 12048, + "cellBudgetMs": 72911, + "teardownMs": 283 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wxhmwq1kq1-c07-store-mvwxhmy8" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wxhmwq1kq1-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxhmwq1kq1-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-P9Jls0/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.787109375, + "grantedAt": "2026-10-31T21:44:05.935Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.122, + "exec": { + "wallMs": 335.95, + "exitCode": 0, + "stdout": "LFS527 0 1793483045585896715 1793483045917775548\n", + "stderr": "", + "rc": 0, + "ms": 331.878833 + }, + "unmountMs": 15.229, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.369, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxhmwq1kq1-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 339.966, + "exitCode": 0, + "stdout": "LFS527 0 1793483045988271340 1793483046279739965\n", + "stderr": "", + "rc": 0, + "ms": 291.468625 + }, + "commitMs": 586.387, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e6253ffdcf8f09d89fa6cab5d80a6aec41adf47b97fcb63621f8a9295863736f", + "commit": { + "id": "12e6253ffdcf8f09d89fa6cab5d80a6aec41adf47b97fcb63621f8a9295863736f", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32047f20aa2b813844b7f60f73194b877a3a28a0ec9dec7a16ad88c09fcd0e143a", + "root": "f58dd26ee654f573fd7601d4cfc590ca5fa641ca36ea599dde41dc5bd3323ba5", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793483046780, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 16.243, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.038, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.026, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3068.742, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.119, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 335.946, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 15.226, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.367, + "ok": true + }, + { + "name": "timed.exec", + "ms": 339.949, + "ok": true + }, + { + "name": "timed.commit", + "ms": 586.384, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 16.24, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.217, + "ok": true + }, + { + "name": "verify.identity", + "ms": 67.999, + "ok": true + }, + { + "name": "verify.exec", + "ms": 280.768, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.584, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 240.442, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32047f20aa2b813844b7f60f73194b877a3a28a0ec9dec7a16ad88c09fcd0e143a", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.22, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.787109375, + "grantedAt": "2026-10-31T21:44:05.935Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.369, + "execWallMs": 339.966, + "commandMs": 291.468625, + "commitMs": 586.387, + "commitKind": "Committed", + "unmountMs": 16.243 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:07.773Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C08-2026-10-31T214410908Z-wxi2sc1l2u.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C08-2026-10-31T214410908Z-wxi2sc1l2u.json new file mode 100644 index 0000000000..13fb97fee2 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C08-2026-10-31T214410908Z-wxi2sc1l2u.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxi2sc1l2u-", + "startedAt": "2026-10-31T21:44:10.908Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.5634765625, + "end": 10.14013671875 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-keQaJ2", + "initMs": 8428, + "volume": "lfs527-wxi2sc1l2u-c08-store-mvwxi2xr", + "vm": { + "project": "c08", + "name": "lfs527-wxi2sc1l2u-c08-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-keQaJ2/home", + "store": "lfs527-wxi2sc1l2u-c08-vm-store", + "created": "2026-10-31T21:44:11.277889+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56732 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8700, + "cellBudgetMs": 76272, + "teardownMs": 263 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wxi2sc1l2u-c08-store-mvwxi2xr" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wxi2sc1l2u-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxi2sc1l2u-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-keQaJ2/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.76220703125, + "grantedAt": "2026-10-31T21:44:23.326Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.097, + "exec": { + "wallMs": 140.845, + "exitCode": 0, + "stdout": "LFS527 0 1793483063036829255 1793483063172912463\n", + "stderr": "", + "rc": 0, + "ms": 136.083208 + }, + "unmountMs": 138.135, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.455, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxi2sc1l2u-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 189.428, + "exitCode": 0, + "stdout": "LFS527 0 1793483063375267172 1793483063509042964\n", + "stderr": "", + "rc": 0, + "ms": 133.775792 + }, + "commitMs": 297.696, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125d94ce928e1c43337f065190c178165112dd2c198a456b6bc0865ffd34fd7621", + "commit": { + "id": "125d94ce928e1c43337f065190c178165112dd2c198a456b6bc0865ffd34fd7621", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3253c4682c057d603a20e2f7df404fbfee2b4ac13d18d91855bf270b3ba71c3728", + "root": "cd813a953ecf5abc676e357eaeb68a44ceeabce263e228a5b902ea5385ff5d43", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793483063764, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 21.598, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 3.938, + "ok": true + }, + { + "name": "branch.fork", + "ms": 0.949, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3342.197, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.093, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 140.841, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 138.132, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.453, + "ok": true + }, + { + "name": "timed.exec", + "ms": 189.425, + "ok": true + }, + { + "name": "timed.commit", + "ms": 297.693, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 21.595, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.625, + "ok": true + }, + { + "name": "verify.identity", + "ms": 63.831, + "ok": true + }, + { + "name": "verify.exec", + "ms": 172.89, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.568, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 179.164, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3253c4682c057d603a20e2f7df404fbfee2b4ac13d18d91855bf270b3ba71c3728", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 2.93, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 10.76220703125, + "grantedAt": "2026-10-31T21:44:23.326Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.455, + "execWallMs": 189.428, + "commandMs": 133.775792, + "commitMs": 297.696, + "commitKind": "Committed", + "unmountMs": 21.598 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:24.536Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C09-2026-10-31T214427671Z-wxifpz1lao.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C09-2026-10-31T214427671Z-wxifpz1lao.json new file mode 100644 index 0000000000..bc2997104b --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C09-2026-10-31T214427671Z-wxifpz1lao.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxifpz1lao-", + "startedAt": "2026-10-31T21:44:27.671Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.14013671875, + "end": 11.17626953125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-FiziIt", + "initMs": 8528, + "volume": "lfs527-wxifpz1lao-c09-store-mvwxifqq", + "vm": { + "project": "c09", + "name": "lfs527-wxifpz1lao-c09-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-FiziIt/home", + "store": "lfs527-wxifpz1lao-c09-vm-store", + "created": "2026-10-31T21:44:27.832522+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56754 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 8636, + "cellBudgetMs": 76335, + "teardownMs": 414 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wxifpz1lao-c09-store-mvwxifqq" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wxifpz1lao-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxifpz1lao-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-FiziIt/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 10.58251953125, + "grantedAt": "2026-10-31T21:44:42.408Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 775.976, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12fac0d36cc833671702dd22f988d1030bdc291c2d2724a6d72dc7f4a3e6cb0600", + "commit": { + "id": "12fac0d36cc833671702dd22f988d1030bdc291c2d2724a6d72dc7f4a3e6cb0600", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32ef3b3690828f4f123f18834d2549102a7a76fbe4297ab78a446edcb1b6d0f0f7", + "root": "34c7912ddc9dbf64931270607f7330acbec791b75a8ec17175b04ebf796a0bec", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793483081914, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 9.604, + "exec": { + "wallMs": 128.07, + "exitCode": 0, + "stdout": "LFS527 0 1793483082167174173 1793483082235917048\n", + "stderr": "", + "rc": 0, + "ms": 68.742875 + }, + "unmountMs": 32.061, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 11.035, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxifpz1lao-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 160.299, + "exitCode": 0, + "stdout": "LFS527 0 1793483082498008465 1793483082582394673\n", + "stderr": "", + "rc": 0, + "ms": 84.386208 + }, + "commitMs": 2.873, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12fac0d36cc833671702dd22f988d1030bdc291c2d2724a6d72dc7f4a3e6cb0600", + "root": "34c7912ddc9dbf64931270607f7330acbec791b75a8ec17175b04ebf796a0bec", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 142.027, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.162, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.261, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4437.247, + "ok": true + }, + { + "name": "setup.mount", + "ms": 17.201, + "ok": true + }, + { + "name": "setup.exec", + "ms": 775.957, + "ok": true + }, + { + "name": "setup.commit", + "ms": 341.248, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 33.258, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.601, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 128.057, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 32.055, + "ok": true + }, + { + "name": "timed.mount", + "ms": 11.032, + "ok": true + }, + { + "name": "timed.exec", + "ms": 160.296, + "ok": true + }, + { + "name": "timed.commit", + "ms": 2.868, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 142.023, + "ok": true + }, + { + "name": "verify.mount", + "ms": 11.19, + "ok": true + }, + { + "name": "verify.identity", + "ms": 69.907, + "ok": true + }, + { + "name": "verify.exec", + "ms": 483.499, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 67.537, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1841.229, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32ef3b3690828f4f123f18834d2549102a7a76fbe4297ab78a446edcb1b6d0f0f7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 23.985, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 3, + "load1": 10.58251953125, + "grantedAt": "2026-10-31T21:44:42.408Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 11.035, + "execWallMs": 160.299, + "commandMs": 84.386208, + "commitMs": 2.873, + "commitKind": "UpToDate", + "unmountMs": 142.027 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:44:45.648Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C10-2026-10-31T214448830Z-wxiw1q1lmg.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C10-2026-10-31T214448830Z-wxiw1q1lmg.json new file mode 100644 index 0000000000..f7c34a552b --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C10-2026-10-31T214448830Z-wxiw1q1lmg.json @@ -0,0 +1,396 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxiw1q1lmg-", + "startedAt": "2026-10-31T21:44:48.830Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.40234375, + "end": 11.06103515625 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-cGk36T", + "initMs": 11169, + "volume": "lfs527-wxiw1q1lmg-c10-store-mvwxiw2h", + "vm": { + "project": "c10", + "name": "lfs527-wxiw1q1lmg-c10-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-cGk36T/home", + "store": "lfs527-wxiw1q1lmg-c10-vm-store", + "created": "2026-10-31T21:44:48.998143+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56804 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 11287, + "cellBudgetMs": 73685, + "teardownMs": 447 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wxiw1q1lmg-c10-store-mvwxiw2h" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wxiw1q1lmg-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxiw1q1lmg-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-cGk36T/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.06103515625, + "grantedAt": "2026-10-31T21:45:03.912Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 153.646, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1267aaf01abb3b297bfb9d4b65c3040a625a17a93f012badfaf874fd8da31088a6", + "commit": { + "id": "1267aaf01abb3b297bfb9d4b65c3040a625a17a93f012badfaf874fd8da31088a6", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32561ab35782ef2a6f62dbd20ab393a3a7fd8134b6ecf5f42322315e48523bd7b5", + "root": "ff9d7b757a758feaac7b6aa7de38e039afdb30e41b30a42cd6da960faf42adfb", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793483103573, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 9.569, + "exec": { + "wallMs": 218.328, + "exitCode": 0, + "stdout": "LFS527 0 1793483103705322215 1793483103895455631\n", + "stderr": "", + "rc": 0, + "ms": 190.133416 + }, + "unmountMs": 14.386, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.678, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxiw1q1lmg-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 234.906, + "exitCode": 0, + "stdout": "LFS527 0 1793483103973309798 1793483104153854465\n", + "stderr": "", + "rc": 0, + "ms": 180.544667 + }, + "commitMs": 45.88, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124a51791ad21ee66158d077b61d6b2b1876019e6e4f068ccdf5a3b3bfba01bbd9", + "commit": { + "id": "124a51791ad21ee66158d077b61d6b2b1876019e6e4f068ccdf5a3b3bfba01bbd9", + "branch": null, + "parent": "1267aaf01abb3b297bfb9d4b65c3040a625a17a93f012badfaf874fd8da31088a6", + "secondParent": null, + "base": "32561ab35782ef2a6f62dbd20ab393a3a7fd8134b6ecf5f42322315e48523bd7b5", + "root": "51773d7d23f0297c8b326457d093009889c4f438712b99da683180e2620e11ea", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793483104157, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 12.933, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.149, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.063, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2946.503, + "ok": true + }, + { + "name": "setup.mount", + "ms": 20.341, + "ok": true + }, + { + "name": "setup.exec", + "ms": 153.641, + "ok": true + }, + { + "name": "setup.commit", + "ms": 296.781, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 49.29, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 9.565, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 218.325, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 14.383, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.675, + "ok": true + }, + { + "name": "timed.exec", + "ms": 234.903, + "ok": true + }, + { + "name": "timed.commit", + "ms": 45.877, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 12.929, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.711, + "ok": true + }, + { + "name": "verify.identity", + "ms": 38.505, + "ok": true + }, + { + "name": "verify.exec", + "ms": 428.552, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 9.884, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 224.23, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32561ab35782ef2a6f62dbd20ab393a3a7fd8134b6ecf5f42322315e48523bd7b5", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.082, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 11.06103515625, + "grantedAt": "2026-10-31T21:45:03.912Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.678, + "execWallMs": 234.906, + "commandMs": 180.544667, + "commitMs": 45.88, + "commitKind": "Committed", + "unmountMs": 12.933 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:45:05.370Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C11-2026-10-31T214508616Z-wxjbbc1lw8.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C11-2026-10-31T214508616Z-wxjbbc1lw8.json new file mode 100644 index 0000000000..65047f1d06 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C11-2026-10-31T214508616Z-wxjbbc1lw8.json @@ -0,0 +1,377 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxjbbc1lw8-", + "startedAt": "2026-10-31T21:45:08.616Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 11.06103515625, + "end": 9.27392578125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-hyhaiE", + "initMs": 9818, + "volume": "lfs527-wxjbbc1lw8-c11-store-mvwxjbc4", + "vm": { + "project": "c11", + "name": "lfs527-wxjbbc1lw8-c11-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-hyhaiE/home", + "store": "lfs527-wxjbbc1lw8-c11-vm-store", + "created": "2026-10-31T21:45:08.776789+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56847 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9935, + "cellBudgetMs": 75014, + "teardownMs": 415 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wxjbbc1lw8-c11-store-mvwxjbc4" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-wxjbbc1lw8-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxjbbc1lw8-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-hyhaiE/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.9072265625, + "grantedAt": "2026-10-31T21:45:27.964Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 325.62, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "124b45b73430e14ef45e31239d7180d19b0a8bda0991d0a8561448aff706c344a5", + "commit": { + "id": "124b45b73430e14ef45e31239d7180d19b0a8bda0991d0a8561448aff706c344a5", + "branch": null, + "parent": null, + "secondParent": null, + "base": "325bf88adaf228a9d990d809918eadbe2bbf0b84ec6518e235d3a4795715a6e458", + "root": "9ae5c659b984a155648b7dece9921bf2a02f64ad48727f069d31d53bf32f60a8", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793483127673, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 8.324, + "exec": { + "wallMs": 181.226, + "exitCode": 0, + "stdout": "LFS527 0 1793483127832831217 1793483127946066384\n", + "stderr": "", + "rc": 0, + "ms": 113.235167 + }, + "unmountMs": 11.774, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.998, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxjbbc1lw8-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 163.312, + "exitCode": 0, + "stdout": "LFS527 0 1793483128031440092 1793483128136140509\n", + "stderr": "", + "rc": 0, + "ms": 104.700417 + }, + "commitMs": 139.773, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "124b45b73430e14ef45e31239d7180d19b0a8bda0991d0a8561448aff706c344a5", + "root": "9ae5c659b984a155648b7dece9921bf2a02f64ad48727f069d31d53bf32f60a8", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 11.323, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.262, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.074, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 8352.749, + "ok": true + }, + { + "name": "setup.mount", + "ms": 16.321, + "ok": true + }, + { + "name": "setup.exec", + "ms": 325.614, + "ok": true + }, + { + "name": "setup.commit", + "ms": 308.85, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 36.96, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.32, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 181.223, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 11.771, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.994, + "ok": true + }, + { + "name": "timed.exec", + "ms": 163.308, + "ok": true + }, + { + "name": "timed.commit", + "ms": 139.77, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 11.319, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.064, + "ok": true + }, + { + "name": "verify.identity", + "ms": 53.427, + "ok": true + }, + { + "name": "verify.exec", + "ms": 187.27, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 10.123, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1175.079, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "325bf88adaf228a9d990d809918eadbe2bbf0b84ec6518e235d3a4795715a6e458", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 6.055, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 9.9072265625, + "grantedAt": "2026-10-31T21:45:27.964Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.998, + "execWallMs": 163.312, + "commandMs": 104.700417, + "commitMs": 139.773, + "commitKind": "UpToDate", + "unmountMs": 11.323 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:45:30.140Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C12-2026-10-31T214533568Z-wxjukg1mj0.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C12-2026-10-31T214533568Z-wxjukg1mj0.json new file mode 100644 index 0000000000..c2ed2997f5 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-microsandbox-C12-2026-10-31T214533568Z-wxjukg1mj0.json @@ -0,0 +1,335 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-microsandbox", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxjukg1mj0-", + "startedAt": "2026-10-31T21:45:33.568Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.27392578125, + "end": 8.4736328125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-W0lIy0", + "initMs": 9679, + "volume": "lfs527-wxjukg1mj0-c12-store-mvwxjulm", + "vm": { + "project": "c12", + "name": "lfs527-wxjukg1mj0-c12-vm", + "state": "running", + "image": "node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-W0lIy0/home", + "store": "lfs527-wxjukg1mj0-c12-vm-store", + "created": "2026-10-31T21:45:33.870822+00:00", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56902 + }, + "disk": { + "free": 21042118656 + } + }, + "setupMs": 9841, + "cellBudgetMs": 75121, + "teardownMs": 260 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wxjukg1mj0-c12-store-mvwxjulm" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-wxjukg1mj0-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxjukg1mj0-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-W0lIy0/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.4736328125, + "grantedAt": "2026-10-31T21:45:45.631Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.897, + "exec": { + "wallMs": 132.349, + "exitCode": 0, + "stdout": "LFS527 0 1793483145494207587 1793483145622940254\n", + "stderr": "", + "rc": 0, + "ms": 128.732667 + }, + "unmountMs": 5.502, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.535, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxjukg1mj0-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 167.372, + "exitCode": 0, + "stdout": "LFS527 0 1793483145673786338 1793483145802005921\n", + "stderr": "", + "rc": 0, + "ms": 128.219583 + }, + "commitMs": 42.589, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1292e625f0cfbb87f5a5f7fbfd696f444a7f6966f292fefd96def7fd39131b6d55", + "commit": { + "id": "1292e625f0cfbb87f5a5f7fbfd696f444a7f6966f292fefd96def7fd39131b6d55", + "branch": null, + "parent": null, + "secondParent": null, + "base": "328c52e10bb3a10177b8b6fad4725fa05a3ec2f7e0452f6326a782c0f7d7ab9408", + "root": "50ef3bc6dc9071304be4c949ef7cc3b2fec10a5bb0080e0b924766271f2d2109", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793483145841, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26809, + "newMetadata": 6524, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 7.73, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.458, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.498, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 1976.117, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.894, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 132.344, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 5.499, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.533, + "ok": true + }, + { + "name": "timed.exec", + "ms": 167.369, + "ok": true + }, + { + "name": "timed.commit", + "ms": 42.585, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 7.727, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.74, + "ok": true + }, + { + "name": "verify.identity", + "ms": 40.949, + "ok": true + }, + { + "name": "verify.exec", + "ms": 163.368, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 6.868, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 113.989, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "328c52e10bb3a10177b8b6fad4725fa05a3ec2f7e0452f6326a782c0f7d7ab9408", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.401, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.4736328125, + "grantedAt": "2026-10-31T21:45:45.631Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.535, + "execWallMs": 167.372, + "commandMs": 128.219583, + "commitMs": 42.589, + "commitKind": "Committed", + "unmountMs": 7.73 + }, + "where": { + "kernel": "Linux 6.12.113", + "machine": "aarch64", + "cpus": "4", + "memKiB": "4025620", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:45:46.447Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C01-2026-10-31T214546584Z-wxk4m01mpg.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C01-2026-10-31T214546584Z-wxk4m01mpg.json new file mode 100644 index 0000000000..5f68207296 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C01-2026-10-31T214546584Z-wxk4m01mpg.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C01", + "verdict": "PASS", + "cause": null, + "project": "c01", + "prefix": "lfs527-wxk4m01mpg-", + "startedAt": "2026-10-31T21:45:46.584Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.4736328125, + "end": 8.29638671875 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxk4m01mpg", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-z67PtV", + "initMs": 22454, + "volume": "lfs527-wxk4m01mpg-c01-store-mvwxk4mt", + "vm": { + "project": "c01", + "name": "lfs527-wxk4m01mpg-c01-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-z67PtV/home", + "store": "lfs527-wxk4m01mpg-c01-vm-store", + "created": "2026-10-31T21:45:46.619Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56918 + }, + "disk": { + "free": 35322568704 + } + }, + "setupMs": 22608, + "cellBudgetMs": 62363, + "teardownMs": 881 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c01", + "volume": "lfs527-wxk4m01mpg-c01-store-mvwxk4mt" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c01", + "name": "lfs527-wxk4m01mpg-c01-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "418f8a9d6b71111a34e41a8f4d0a5ba6b1869b684f2d84d72432e65edb8e29b5", + "commandSha256": "eb02a56c9a3fdc7955ab9bd7c5b4383dad120d3a926f76a6c51e712bcee2a85a", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxk4m01mpg-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-z67PtV/home/worker/c01.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.29638671875, + "grantedAt": "2026-10-31T21:46:13.995Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C01", + "project": "c01", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 10.714, + "exec": { + "wallMs": 442.887, + "exitCode": 0, + "stdout": "LFS527 0 1793483173694558083 1793483174124386537\n", + "stderr": "", + "rc": 0, + "ms": 429.828454 + }, + "unmountMs": 4.526, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.021, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxk4m01mpg-c01-1/workspaces/2" + }, + "exec": { + "wallMs": 461.301, + "exitCode": 0, + "stdout": "LFS527 0 1793483174157345311 1793483174596292182\n", + "stderr": "", + "rc": 0, + "ms": 438.946871 + }, + "commitMs": 101.165, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "123b43dae69b440b1cc40de4ab68d2d45ab724c6167e34d2e8afe00e686252a2a6", + "commit": { + "id": "123b43dae69b440b1cc40de4ab68d2d45ab724c6167e34d2e8afe00e686252a2a6", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32011655faed1effc76c40a1a4b5ba2c93942fa00e5b46962549a66db3e880ca92", + "root": "d23cdc21b6a81a38fa463f3cf0e9cca35bc15aa06b9483e14517fbbf915c7d46", + "via": "exec", + "message": "lfs527 C01", + "mergedFrom": null, + "time": 1793483174688, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 4.129, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.957, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.386, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4248.576, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 10.71, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 442.882, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.523, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.019, + "ok": true + }, + { + "name": "timed.exec", + "ms": 461.298, + "ok": true + }, + { + "name": "timed.commit", + "ms": 101.162, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 4.126, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.782, + "ok": true + }, + { + "name": "verify.identity", + "ms": 20.446, + "ok": true + }, + { + "name": "verify.exec", + "ms": 608.174, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.128, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 202.431, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32011655faed1effc76c40a1a4b5ba2c93942fa00e5b46962549a66db3e880ca92", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.333, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.29638671875, + "grantedAt": "2026-10-31T21:46:13.995Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.021, + "execWallMs": 461.301, + "commandMs": 438.946871, + "commitMs": 101.165, + "commitKind": "Committed", + "unmountMs": 4.129 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:46:16.288Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C02-2026-10-31T214616515Z-wxkrpf1n8q.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C02-2026-10-31T214616515Z-wxkrpf1n8q.json new file mode 100644 index 0000000000..17f55362ff --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C02-2026-10-31T214616515Z-wxkrpf1n8q.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C02", + "verdict": "PASS", + "cause": null, + "project": "c02", + "prefix": "lfs527-wxkrpf1n8q-", + "startedAt": "2026-10-31T21:46:16.515Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.29638671875, + "end": 7.1591796875 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxkrpf1n8q", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-TadmVY", + "initMs": 14850, + "volume": "lfs527-wxkrpf1n8q-c02-store-mvwxkrq7", + "vm": { + "project": "c02", + "name": "lfs527-wxkrpf1n8q-c02-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-TadmVY/home", + "store": "lfs527-wxkrpf1n8q-c02-vm-store", + "created": "2026-10-31T21:46:16.550Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 56999 + }, + "disk": { + "free": 35322527744 + } + }, + "setupMs": 14983, + "cellBudgetMs": 69967, + "teardownMs": 889 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c02", + "volume": "lfs527-wxkrpf1n8q-c02-store-mvwxkrq7" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c02", + "name": "lfs527-wxkrpf1n8q-c02-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "76883ee8358e23ebea7af1931db3d7201684d1da240bc0fefec72781ff569cf6", + "commandSha256": "f1708450d58b34975627f5a620fa69cb9df17a0437235feaf302843f81dece18", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxkrpf1n8q-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-TadmVY/home/worker/c02.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.521484375, + "grantedAt": "2026-10-31T21:46:37.433Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C02", + "project": "c02", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 7.303, + "exec": { + "wallMs": 1032.165, + "exitCode": 0, + "stdout": "LFS527 0 1793483196549959610 1793483197563816835\n", + "stderr": "", + "rc": 0, + "ms": 1013.857225 + }, + "unmountMs": 4.298, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.943, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxkrpf1n8q-c02-1/workspaces/2" + }, + "exec": { + "wallMs": 1017.924, + "exitCode": 0, + "stdout": "LFS527 0 1793483197590990213 1793483198593953824\n", + "stderr": "", + "rc": 0, + "ms": 1002.963611 + }, + "commitMs": 97.669, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1257f03a2f2250e69d50715257579922d799039820207bafd11b19a3b074a475ab", + "commit": { + "id": "1257f03a2f2250e69d50715257579922d799039820207bafd11b19a3b074a475ab", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32022c3158fa71a1b27c28fac1eb5a50d0e8463d4fcddd1ef55048da218934fe57", + "root": "4b6cee367a1202e1105b7b850e9e6328e081d8e6c577126a0b2a9e13e60223d2", + "via": "exec", + "message": "lfs527 C02", + "mergedFrom": null, + "time": 1793483198683, + "logical": 3893, + "newCanonical": 124010, + "newStored": 18646, + "newMetadata": 9721, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.85, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.435, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.394, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4772.192, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 7.3, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 1032.159, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 4.295, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.939, + "ok": true + }, + { + "name": "timed.exec", + "ms": 1017.921, + "ok": true + }, + { + "name": "timed.commit", + "ms": 97.666, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.848, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.139, + "ok": true + }, + { + "name": "verify.identity", + "ms": 23.309, + "ok": true + }, + { + "name": "verify.exec", + "ms": 601.077, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 3.887, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 366.597, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32022c3158fa71a1b27c28fac1eb5a50d0e8463d4fcddd1ef55048da218934fe57", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.345, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.521484375, + "grantedAt": "2026-10-31T21:46:37.433Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.943, + "execWallMs": 1017.924, + "commandMs": 1002.963611, + "commitMs": 97.669, + "commitKind": "Committed", + "unmountMs": 3.85 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:46:40.452Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C03-2026-10-31T214640708Z-wxladg1nlx.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C03-2026-10-31T214640708Z-wxladg1nlx.json new file mode 100644 index 0000000000..4c5844ab59 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C03-2026-10-31T214640708Z-wxladg1nlx.json @@ -0,0 +1,326 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-wxladg1nlx-", + "startedAt": "2026-10-31T21:46:40.708Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.1591796875, + "end": 8.02490234375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxladg1nlx", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-wcom8A", + "initMs": 14148, + "volume": "lfs527-wxladg1nlx-c03-store-mvwxlael", + "vm": { + "project": "c03", + "name": "lfs527-wxladg1nlx-c03-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-wcom8A/home", + "store": "lfs527-wxladg1nlx-c03-vm-store", + "created": "2026-10-31T21:46:40.761Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57048 + }, + "disk": { + "free": 35322490880 + } + }, + "setupMs": 14297, + "cellBudgetMs": 70675, + "teardownMs": 906 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-wxladg1nlx-c03-store-mvwxlael" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-wxladg1nlx-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxladg1nlx-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-wcom8A/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.02490234375, + "grantedAt": "2026-10-31T21:46:59.595Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.862, + "exec": { + "wallMs": 972.562, + "exitCode": 0, + "stdout": "LFS527 0 1793483218773373389 1793483219726858098\n", + "stderr": "", + "rc": 0, + "ms": 953.484709 + }, + "unmountMs": 3.194, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.898, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxladg1nlx-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 977.774, + "exitCode": 0, + "stdout": "LFS527 0 1793483219752212994 1793483220713228803\n", + "stderr": "", + "rc": 0, + "ms": 961.015809 + }, + "commitMs": 8.412, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "f712bb2076066620e243296c04e33e6ec678e772feeb61daa3d457463dbb99d6", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.28, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.943, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.826, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3513.435, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.853, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 972.557, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.192, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.896, + "ok": true + }, + { + "name": "timed.exec", + "ms": 977.771, + "ok": true + }, + { + "name": "timed.commit", + "ms": 8.408, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.276, + "ok": true + }, + { + "name": "verify.mount", + "ms": 5.146, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.161, + "ok": true + }, + { + "name": "verify.exec", + "ms": 13.393, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.903, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 463.593, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3226048f65f6553ff38c6710f76d6bc259639adcb69ad27a80e287625c5a74cd15", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.324, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.02490234375, + "grantedAt": "2026-10-31T21:46:59.595Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.898, + "execWallMs": 977.774, + "commandMs": 961.015809, + "commitMs": 8.412, + "commitKind": "UpToDate", + "unmountMs": 3.28 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:47:02.013Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C04-2026-10-31T214702226Z-wxlqz61o0k.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C04-2026-10-31T214702226Z-wxlqz61o0k.json new file mode 100644 index 0000000000..e35b38005a --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C04-2026-10-31T214702226Z-wxlqz61o0k.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C04", + "verdict": "PASS", + "cause": null, + "project": "c04", + "prefix": "lfs527-wxlqz61o0k-", + "startedAt": "2026-10-31T21:47:02.226Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.02490234375, + "end": 9.46826171875 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxlqz61o0k", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-xBRfpe", + "initMs": 15835, + "volume": "lfs527-wxlqz61o0k-c04-store-mvwxlqzz", + "vm": { + "project": "c04", + "name": "lfs527-wxlqz61o0k-c04-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-xBRfpe/home", + "store": "lfs527-wxlqz61o0k-c04-vm-store", + "created": "2026-10-31T21:47:02.262Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57099 + }, + "disk": { + "free": 35322449920 + } + }, + "setupMs": 15971, + "cellBudgetMs": 69001, + "teardownMs": 864 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c04", + "volume": "lfs527-wxlqz61o0k-c04-store-mvwxlqzz" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c04", + "name": "lfs527-wxlqz61o0k-c04-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "bc6078a63239e725c8fb10ee5287616745bcf231705a26dabc9f93c43c66d4f9", + "commandSha256": "fe4b426dbf768ac606bb1d197278d66e441846bb00425c1f5979386745a0612e", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxlqz61o0k-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-xBRfpe/home/worker/c04.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.59619140625, + "grantedAt": "2026-10-31T21:47:21.223Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C04", + "project": "c04", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.741, + "exec": { + "wallMs": 923.536, + "exitCode": 0, + "stdout": "LFS527 0 1793483240459187280 1793483241355599258\n", + "stderr": "", + "rc": 0, + "ms": 896.411978 + }, + "unmountMs": 3.278, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.785, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxlqz61o0k-c04-1/workspaces/2" + }, + "exec": { + "wallMs": 919.371, + "exitCode": 0, + "stdout": "LFS527 0 1793483241383911299 1793483242283108709\n", + "stderr": "", + "rc": 0, + "ms": 899.19741 + }, + "commitMs": 108.409, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12fe84b7fd2012369a15545a2fc736c615f5bbabd4a6feff31eea816731dd76a7c", + "commit": { + "id": "12fe84b7fd2012369a15545a2fc736c615f5bbabd4a6feff31eea816731dd76a7c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "323a4cc3fd4ba445839a8162c31c506356c8ce82144e3848ce48b6c8d492bd5f9c", + "root": "114a4f2dc399de9676c2c44dc16b6530aef12707eec8dfad606384b709adbb37", + "via": "exec", + "message": "lfs527 C04", + "mergedFrom": null, + "time": 1793483242384, + "logical": 0, + "newCanonical": 109367, + "newStored": 8244, + "newMetadata": 8244, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.422, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.626, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.518, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2007.712, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.738, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 923.531, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.276, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.782, + "ok": true + }, + { + "name": "timed.exec", + "ms": 919.366, + "ok": true + }, + { + "name": "timed.commit", + "ms": 108.406, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.42, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.452, + "ok": true + }, + { + "name": "verify.identity", + "ms": 20.016, + "ok": true + }, + { + "name": "verify.exec", + "ms": 354.214, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.665, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 891.709, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "323a4cc3fd4ba445839a8162c31c506356c8ce82144e3848ce48b6c8d492bd5f9c", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.139, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 9.59619140625, + "grantedAt": "2026-10-31T21:47:21.223Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.785, + "execWallMs": 919.371, + "commandMs": 899.19741, + "commitMs": 108.409, + "commitKind": "Committed", + "unmountMs": 3.422 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:47:24.398Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C05-2026-10-31T214732804Z-wxmekk1osa.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C05-2026-10-31T214732804Z-wxmekk1osa.json new file mode 100644 index 0000000000..bf09986cb2 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C05-2026-10-31T214732804Z-wxmekk1osa.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C05", + "verdict": "PASS", + "cause": null, + "project": "c05", + "prefix": "lfs527-wxmekk1osa-", + "startedAt": "2026-10-31T21:47:32.804Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 9.0302734375, + "end": 8.00390625 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxmekk1osa", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-SdSsna", + "initMs": 14553, + "volume": "lfs527-wxmekk1osa-c05-store-mvwxmelj", + "vm": { + "project": "c05", + "name": "lfs527-wxmekk1osa-c05-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-SdSsna/home", + "store": "lfs527-wxmekk1osa-c05-vm-store", + "created": "2026-10-31T21:47:32.846Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57299 + }, + "disk": { + "free": 35322408960 + } + }, + "setupMs": 14699, + "cellBudgetMs": 70241, + "teardownMs": 1090 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c05", + "volume": "lfs527-wxmekk1osa-c05-store-mvwxmelj" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c05", + "name": "lfs527-wxmekk1osa-c05-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4306a767d8d5316887f0543abef12d01676bbdfdaff121fd039e56cad5742c8d", + "commandSha256": "cf432b9ee6dce623884758b85bd3fca7dd972828a668661c815313c8b402199d", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxmekk1osa-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-SdSsna/home/worker/c05.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.265625, + "grantedAt": "2026-10-31T21:47:51.517Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C05", + "project": "c05", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.286, + "exec": { + "wallMs": 926.893, + "exitCode": 0, + "stdout": "LFS527 0 1793483270743388253 1793483271648846854\n", + "stderr": "", + "rc": 0, + "ms": 905.458601 + }, + "unmountMs": 3.915, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.751, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxmekk1osa-c05-1/workspaces/2" + }, + "exec": { + "wallMs": 891.795, + "exitCode": 0, + "stdout": "LFS527 0 1793483271671908217 1793483272550631208\n", + "stderr": "", + "rc": 0, + "ms": 878.722991 + }, + "commitMs": 103.97, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "125c843831828f70e99cc92e06c34586b4994377b338ad0e9b5669fe659d7643cb", + "commit": { + "id": "125c843831828f70e99cc92e06c34586b4994377b338ad0e9b5669fe659d7643cb", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3275467672b393b82fc96d369b40a89468fd4998c3a001c7f0d18c7a3d48f42b43", + "root": "f01319e606874b0d73e1f67816c079266403f94a1ac375b38793cbf21adb5683", + "via": "exec", + "message": "lfs527 C05", + "mergedFrom": null, + "time": 1793483272647, + "logical": 0, + "newCanonical": 109367, + "newStored": 8251, + "newMetadata": 8251, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.734, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.672, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.387, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2942.772, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.282, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 926.888, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.912, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.748, + "ok": true + }, + { + "name": "timed.exec", + "ms": 891.792, + "ok": true + }, + { + "name": "timed.commit", + "ms": 103.966, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.731, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.649, + "ok": true + }, + { + "name": "verify.identity", + "ms": 16.177, + "ok": true + }, + { + "name": "verify.exec", + "ms": 334.961, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.907, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 644.917, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3275467672b393b82fc96d369b40a89468fd4998c3a001c7f0d18c7a3d48f42b43", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.221, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.265625, + "grantedAt": "2026-10-31T21:47:51.517Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.751, + "execWallMs": 891.795, + "commandMs": 878.722991, + "commitMs": 103.97, + "commitKind": "Committed", + "unmountMs": 3.734 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:47:54.617Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C06-2026-10-31T214754815Z-wxmvjz1p5t.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C06-2026-10-31T214754815Z-wxmvjz1p5t.json new file mode 100644 index 0000000000..23a5d3af11 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C06-2026-10-31T214754815Z-wxmvjz1p5t.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C06", + "verdict": "PASS", + "cause": null, + "project": "c06", + "prefix": "lfs527-wxmvjz1p5t-", + "startedAt": "2026-10-31T21:47:54.815Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.00390625, + "end": 8.1796875 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxmvjz1p5t", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-PGtAmO", + "initMs": 15637, + "volume": "lfs527-wxmvjz1p5t-c06-store-mvwxmvkp", + "vm": { + "project": "c06", + "name": "lfs527-wxmvjz1p5t-c06-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-PGtAmO/home", + "store": "lfs527-wxmvjz1p5t-c06-vm-store", + "created": "2026-10-31T21:47:54.847Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57354 + }, + "disk": { + "free": 35322363904 + } + }, + "setupMs": 15768, + "cellBudgetMs": 69205, + "teardownMs": 879 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c06", + "volume": "lfs527-wxmvjz1p5t-c06-store-mvwxmvkp" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c06", + "name": "lfs527-wxmvjz1p5t-c06-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d", + "commandSha256": "d6b326be0d11aa8b375a561c8bbad779165d5b0e0b1e9df26d6b782c3459bc73", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxmvjz1p5t-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-PGtAmO/home/worker/c06.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.1796875, + "grantedAt": "2026-10-31T21:48:14.575Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C06", + "project": "c06", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 5.597, + "exec": { + "wallMs": 200.974, + "exitCode": 0, + "stdout": "LFS527 0 1793483294513834748 1793483294701185586\n", + "stderr": "", + "rc": 0, + "ms": 187.350838 + }, + "unmountMs": 10.467, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.118, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxmvjz1p5t-c06-1/workspaces/2" + }, + "exec": { + "wallMs": 209.569, + "exitCode": 0, + "stdout": "LFS527 0 1793483294736261750 1793483294926696280\n", + "stderr": "", + "rc": 0, + "ms": 190.43453 + }, + "commitMs": 314.636, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12dd3977599f2cb7aa66d32ba077d6d5974f2f39e538b3787553ed7835d5ca32fe", + "commit": { + "id": "12dd3977599f2cb7aa66d32ba077d6d5974f2f39e538b3787553ed7835d5ca32fe", + "branch": null, + "parent": null, + "secondParent": null, + "base": "324020b1fe7748ab9480fa07f17489eea664f9c18b859438d31212228193c7d126", + "root": "8faa76b8819f0f6957d1eb867b013a9d98cb18c5c854e4f44bb4038bdfc7e4e8", + "via": "exec", + "message": "lfs527 C06", + "mergedFrom": null, + "time": 1793483295194, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.36, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.776, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.424, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3683.306, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.591, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 200.97, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.464, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.115, + "ok": true + }, + { + "name": "timed.exec", + "ms": 209.566, + "ok": true + }, + { + "name": "timed.commit", + "ms": 314.633, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.357, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.13, + "ok": true + }, + { + "name": "verify.identity", + "ms": 25.355, + "ok": true + }, + { + "name": "verify.exec", + "ms": 432.474, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.783, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 256.494, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "324020b1fe7748ab9480fa07f17489eea664f9c18b859438d31212228193c7d126", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.205, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 8.1796875, + "grantedAt": "2026-10-31T21:48:14.575Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.118, + "execWallMs": 209.569, + "commandMs": 190.43453, + "commitMs": 314.636, + "commitKind": "Committed", + "unmountMs": 10.36 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:48:16.720Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C07-2026-10-31T214816943Z-wxncmn1pgl.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C07-2026-10-31T214816943Z-wxncmn1pgl.json new file mode 100644 index 0000000000..8d1b2201be --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C07-2026-10-31T214816943Z-wxncmn1pgl.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C07", + "verdict": "PASS", + "cause": null, + "project": "c07", + "prefix": "lfs527-wxncmn1pgl-", + "startedAt": "2026-10-31T21:48:16.943Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.1796875, + "end": 8.439453125 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxncmn1pgl", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-DLu9y9", + "initMs": 14541, + "volume": "lfs527-wxncmn1pgl-c07-store-mvwxncng", + "vm": { + "project": "c07", + "name": "lfs527-wxncmn1pgl-c07-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-DLu9y9/home", + "store": "lfs527-wxncmn1pgl-c07-vm-store", + "created": "2026-10-31T21:48:16.978Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57389 + }, + "disk": { + "free": 35322327040 + } + }, + "setupMs": 14680, + "cellBudgetMs": 70292, + "teardownMs": 886 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c07", + "volume": "lfs527-wxncmn1pgl-c07-store-mvwxncng" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c07", + "name": "lfs527-wxncmn1pgl-c07-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "4d50a741653d9e90efba6eece312ea5a57b13be6142c3bfc09b57f643088e723", + "commandSha256": "429f5a14d6ed51762e2ee2453ad2081d320b49371e35edd533bfc34840a582a4", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxncmn1pgl-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-DLu9y9/home/worker/c07.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.56494140625, + "grantedAt": "2026-10-31T21:48:36.183Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C07", + "project": "c07", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.695, + "exec": { + "wallMs": 437.27, + "exitCode": 0, + "stdout": "LFS527 0 1793483315885538764 1793483316302174283\n", + "stderr": "", + "rc": 0, + "ms": 416.635519 + }, + "unmountMs": 17.025, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 4.634, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxncmn1pgl-c07-1/workspaces/2" + }, + "exec": { + "wallMs": 412.379, + "exitCode": 0, + "stdout": "LFS527 0 1793483316341229972 1793483316737637743\n", + "stderr": "", + "rc": 0, + "ms": 396.407771 + }, + "commitMs": 604.893, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12d3d104786dcad1191abcd4c0b132990cabd400a85c0f80cc62c2545e55eac341", + "commit": { + "id": "12d3d104786dcad1191abcd4c0b132990cabd400a85c0f80cc62c2545e55eac341", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32179eceb1354514e2b100aa75d5ec08e22e77d6144733de260c7149ee09e80651", + "root": "47a6db1ffcb5769235d86df2dbe32aea04a1862d6d9911425cd1808dc5205950", + "via": "exec", + "message": "lfs527 C07", + "mergedFrom": null, + "time": 1793483317251, + "logical": 134217728, + "newCanonical": 39358, + "newStored": 838, + "newMetadata": 762, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 17.541, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.791, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.52, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3997.657, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.691, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 437.266, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 17.022, + "ok": true + }, + { + "name": "timed.mount", + "ms": 4.631, + "ok": true + }, + { + "name": "timed.exec", + "ms": 412.376, + "ok": true + }, + { + "name": "timed.commit", + "ms": 604.89, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 17.538, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.734, + "ok": true + }, + { + "name": "verify.identity", + "ms": 26.249, + "ok": true + }, + { + "name": "verify.exec", + "ms": 678.737, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.619, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 194.787, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32179eceb1354514e2b100aa75d5ec08e22e77d6144733de260c7149ee09e80651", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.349, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 8.56494140625, + "grantedAt": "2026-10-31T21:48:36.183Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 4.634, + "execWallMs": 412.379, + "commandMs": 396.407771, + "commitMs": 604.893, + "commitKind": "Committed", + "unmountMs": 17.541 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:48:39.024Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C08-2026-10-31T214839306Z-wxntvu1pul.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C08-2026-10-31T214839306Z-wxntvu1pul.json new file mode 100644 index 0000000000..0eef165555 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C08-2026-10-31T214839306Z-wxntvu1pul.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C08", + "verdict": "PASS", + "cause": null, + "project": "c08", + "prefix": "lfs527-wxntvu1pul-", + "startedAt": "2026-10-31T21:48:39.306Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 8.439453125, + "end": 7.59716796875 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxntvu1pul", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-zfP72U", + "initMs": 13841, + "volume": "lfs527-wxntvu1pul-c08-store-mvwxntwl", + "vm": { + "project": "c08", + "name": "lfs527-wxntvu1pul-c08-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-zfP72U/home", + "store": "lfs527-wxntvu1pul-c08-vm-store", + "created": "2026-10-31T21:48:39.339Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57439 + }, + "disk": { + "free": 35313901568 + } + }, + "setupMs": 13976, + "cellBudgetMs": 70998, + "teardownMs": 1053 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c08", + "volume": "lfs527-wxntvu1pul-c08-store-mvwxntwl" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c08", + "name": "lfs527-wxntvu1pul-c08-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "af994b2385d66c015921c49f44fce0cdb247cb42cbe64710ad36556b418a865d", + "commandSha256": "d039d9afc57fd431e702c0b4a3f6eb23675d6baf61d92a2b2f1ece3a677d9882", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxntvu1pul-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-zfP72U/home/worker/c08.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.59716796875, + "grantedAt": "2026-10-31T21:48:55.645Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C08", + "project": "c08", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 6.953, + "exec": { + "wallMs": 184.288, + "exitCode": 0, + "stdout": "LFS527 0 1793483335605080379 1793483335771077060\n", + "stderr": "", + "rc": 0, + "ms": 165.996681 + }, + "unmountMs": 10.589, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.714, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxntvu1pul-c08-1/workspaces/2" + }, + "exec": { + "wallMs": 177.134, + "exitCode": 0, + "stdout": "LFS527 0 1793483335798652902 1793483335964127495\n", + "stderr": "", + "rc": 0, + "ms": 165.474593 + }, + "commitMs": 306.536, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "1223296d8722fe7e0428a8c4182d9980fcbf257c7cbee778f2b03112f491ae9460", + "commit": { + "id": "1223296d8722fe7e0428a8c4182d9980fcbf257c7cbee778f2b03112f491ae9460", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32958062b7c3d74ef5b163c1a2376079ead1c71cbf9cadcc1df3887e567d224a4e", + "root": "b88f8fed3d6c50624c826f2a359753bc224138c88666e73c4f36ec3689e7d1e3", + "via": "exec", + "message": "lfs527 C08", + "mergedFrom": null, + "time": 1793483336224, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.08, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.981, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.188, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2070.314, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 6.95, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 184.283, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.586, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.712, + "ok": true + }, + { + "name": "timed.exec", + "ms": 177.131, + "ok": true + }, + { + "name": "timed.commit", + "ms": 306.533, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.077, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.736, + "ok": true + }, + { + "name": "verify.identity", + "ms": 19.547, + "ok": true + }, + { + "name": "verify.exec", + "ms": 355.504, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 5.02, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 560.262, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32958062b7c3d74ef5b163c1a2376079ead1c71cbf9cadcc1df3887e567d224a4e", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.382, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.59716796875, + "grantedAt": "2026-10-31T21:48:55.645Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.714, + "execWallMs": 177.134, + "commandMs": 165.474593, + "commitMs": 306.536, + "commitKind": "Committed", + "unmountMs": 10.08 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:48:58.144Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C09-2026-10-31T214906681Z-wxof091q8m.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C09-2026-10-31T214906681Z-wxof091q8m.json new file mode 100644 index 0000000000..0aedc1b5a8 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C09-2026-10-31T214906681Z-wxof091q8m.json @@ -0,0 +1,387 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C09", + "verdict": "PASS", + "cause": null, + "project": "c09", + "prefix": "lfs527-wxof091q8m-", + "startedAt": "2026-10-31T21:49:06.681Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.216796875, + "end": 7.78173828125 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxof091q8m", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-uWOZqX", + "initMs": 15426, + "volume": "lfs527-wxof091q8m-c09-store-mvwxof10", + "vm": { + "project": "c09", + "name": "lfs527-wxof091q8m-c09-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-uWOZqX/home", + "store": "lfs527-wxof091q8m-c09-vm-store", + "created": "2026-10-31T21:49:06.715Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57482 + }, + "disk": { + "free": 35313856512 + } + }, + "setupMs": 15560, + "cellBudgetMs": 69414, + "teardownMs": 896 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c09", + "volume": "lfs527-wxof091q8m-c09-store-mvwxof10" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c09", + "name": "lfs527-wxof091q8m-c09-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "37eb10ecfa439aa69bc9e430d39ce029099fa2bb52a44a67ffef8a31ecdac9e5", + "commandSha256": "1017cbd4cd0a42bc4cd14f23c24adf54e47518ad58d7564b0eecf8badb1c6dae", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxof091q8m-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-uWOZqX/home/worker/c09.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.78173828125, + "grantedAt": "2026-10-31T21:49:26.318Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C09", + "project": "c09", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 189.516, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129748888d41071ab9f32570bbef893a399bd20d851450b3eaec92df9dc131728c", + "commit": { + "id": "129748888d41071ab9f32570bbef893a399bd20d851450b3eaec92df9dc131728c", + "branch": null, + "parent": null, + "secondParent": null, + "base": "321a1e5632246ae70312d06315c686b4255c82b60ce08fae2d0c7b7d57c202b4aa", + "root": "d319a370d2e45013eafb4775af90d116b95f8c50b8e234821ad3e7371cd6b2d8", + "via": "exec", + "message": "lfs527 C09 setup", + "mergedFrom": null, + "time": 1793483366286, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 4.508, + "exec": { + "wallMs": 97.643, + "exitCode": 0, + "stdout": "LFS527 0 1793483366374842702 1793483366448986807\n", + "stderr": "", + "rc": 0, + "ms": 74.144105 + }, + "unmountMs": 6.12, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.161, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxof091q8m-c09-1/workspaces/3" + }, + "exec": { + "wallMs": 99.788, + "exitCode": 0, + "stdout": "LFS527 0 1793483366483591778 1793483366563600928\n", + "stderr": "", + "rc": 0, + "ms": 80.00915 + }, + "commitMs": 1.759, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "129748888d41071ab9f32570bbef893a399bd20d851450b3eaec92df9dc131728c", + "root": "d319a370d2e45013eafb4775af90d116b95f8c50b8e234821ad3e7371cd6b2d8", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 6.015, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 4.921, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.352, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3357.724, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.18, + "ok": true + }, + { + "name": "setup.exec", + "ms": 189.509, + "ok": true + }, + { + "name": "setup.commit", + "ms": 312.485, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.186, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 4.505, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 97.639, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.117, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.158, + "ok": true + }, + { + "name": "timed.exec", + "ms": 99.784, + "ok": true + }, + { + "name": "timed.commit", + "ms": 1.757, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 6.012, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.405, + "ok": true + }, + { + "name": "verify.identity", + "ms": 32.612, + "ok": true + }, + { + "name": "verify.exec", + "ms": 301.624, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.929, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 194.563, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "321a1e5632246ae70312d06315c686b4255c82b60ce08fae2d0c7b7d57c202b4aa", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.43, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.78173828125, + "grantedAt": "2026-10-31T21:49:26.318Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.161, + "execWallMs": 99.788, + "commandMs": 80.00915, + "commitMs": 1.759, + "commitKind": "UpToDate", + "unmountMs": 6.015 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:49:27.872Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C10-2026-10-31T214928092Z-wxovj01qk4.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C10-2026-10-31T214928092Z-wxovj01qk4.json new file mode 100644 index 0000000000..dff930b726 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C10-2026-10-31T214928092Z-wxovj01qk4.json @@ -0,0 +1,406 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C10", + "verdict": "PASS", + "cause": null, + "project": "c10", + "prefix": "lfs527-wxovj01qk4-", + "startedAt": "2026-10-31T21:49:28.092Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 7.78173828125, + "end": 6.8193359375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxovj01qk4", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-gNJRLv", + "initMs": 14440, + "volume": "lfs527-wxovj01qk4-c10-store-mvwxovjq", + "vm": { + "project": "c10", + "name": "lfs527-wxovj01qk4-c10-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-gNJRLv/home", + "store": "lfs527-wxovj01qk4-c10-vm-store", + "created": "2026-10-31T21:49:28.125Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57529 + }, + "disk": { + "free": 35313815552 + } + }, + "setupMs": 14590, + "cellBudgetMs": 70356, + "teardownMs": 919 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c10", + "volume": "lfs527-wxovj01qk4-c10-store-mvwxovjq" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c10", + "name": "lfs527-wxovj01qk4-c10-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "60f896e83f6fa71e1713ddd4ffd7e8c14d1ecf17bddb5f191f0ea4f2bdebabed", + "commandSha256": "a4c2ff11f48eb28acd3cb6c1881a5376261e34f1e74c73887008a8885d5ed84f", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxovj01qk4-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-gNJRLv/home/worker/c10.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.2392578125, + "grantedAt": "2026-10-31T21:49:46.706Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C10", + "project": "c10", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 165.485, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "123b66488eb2e79e576fa1e2a79f0ab21063ef92fc671f10f2eba4bb70bc84180b", + "commit": { + "id": "123b66488eb2e79e576fa1e2a79f0ab21063ef92fc671f10f2eba4bb70bc84180b", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32a8ac517629cffca6e165f1b3277724ec0bf3aa6dbabf4f7c189f4f9143c8a01c", + "root": "4586d67a1051373e012903c66611d8c9f4ecfbb762d23ead36bc73ef0743769d", + "via": "exec", + "message": "lfs527 C10 setup", + "mergedFrom": null, + "time": 1793483386513, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 5.075, + "exec": { + "wallMs": 251.415, + "exitCode": 0, + "stdout": "LFS527 0 1793483386597258279 1793483386827855867\n", + "stderr": "", + "rc": 0, + "ms": 230.597588 + }, + "unmountMs": 15.235, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 7.007, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxovj01qk4-c10-1/workspaces/3" + }, + "exec": { + "wallMs": 239.931, + "exitCode": 0, + "stdout": "LFS527 0 1793483386874933383 1793483387091766410\n", + "stderr": "", + "rc": 0, + "ms": 216.833027 + }, + "commitMs": 51.018, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12e7188742ee3b415201930d5c77bbc22ac47245578456fbd69f66c8a8eeee7f1a", + "commit": { + "id": "12e7188742ee3b415201930d5c77bbc22ac47245578456fbd69f66c8a8eeee7f1a", + "branch": null, + "parent": "123b66488eb2e79e576fa1e2a79f0ab21063ef92fc671f10f2eba4bb70bc84180b", + "secondParent": null, + "base": "32a8ac517629cffca6e165f1b3277724ec0bf3aa6dbabf4f7c189f4f9143c8a01c", + "root": "c000795ee0c79e0d3976c3275158cb9b6d06a4193591b331369abd2812770317", + "via": "exec", + "message": "lfs527 C10", + "mergedFrom": null, + "time": 1793483387095, + "logical": 134217728, + "newCanonical": 487, + "newStored": 300, + "newMetadata": 300, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 13.36, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.632, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.572, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3134.24, + "ok": true + }, + { + "name": "setup.mount", + "ms": 6.079, + "ok": true + }, + { + "name": "setup.exec", + "ms": 165.478, + "ok": true + }, + { + "name": "setup.commit", + "ms": 309.196, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.098, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 5.072, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 251.411, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 15.232, + "ok": true + }, + { + "name": "timed.mount", + "ms": 7.005, + "ok": true + }, + { + "name": "timed.exec", + "ms": 239.927, + "ok": true + }, + { + "name": "timed.commit", + "ms": 51.015, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 13.357, + "ok": true + }, + { + "name": "verify.mount", + "ms": 4.581, + "ok": true + }, + { + "name": "verify.identity", + "ms": 22.628, + "ok": true + }, + { + "name": "verify.exec", + "ms": 655.703, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 8.099, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 247.953, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32a8ac517629cffca6e165f1b3277724ec0bf3aa6dbabf4f7c189f4f9143c8a01c", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.366, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 0, + "load1": 7.2392578125, + "grantedAt": "2026-10-31T21:49:46.706Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 7.007, + "execWallMs": 239.931, + "commandMs": 216.833027, + "commitMs": 51.018, + "commitKind": "Committed", + "unmountMs": 13.36 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:49:48.880Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C11-2026-10-31T214949143Z-wxpbrr1quw.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C11-2026-10-31T214949143Z-wxpbrr1quw.json new file mode 100644 index 0000000000..6244501150 --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C11-2026-10-31T214949143Z-wxpbrr1quw.json @@ -0,0 +1,387 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C11", + "verdict": "PASS", + "cause": null, + "project": "c11", + "prefix": "lfs527-wxpbrr1quw-", + "startedAt": "2026-10-31T21:49:49.143Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 6.8193359375, + "end": 6.015625 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxpbrr1quw", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-jduaYP", + "initMs": 13968, + "volume": "lfs527-wxpbrr1quw-c11-store-mvwxpbsu", + "vm": { + "project": "c11", + "name": "lfs527-wxpbrr1quw-c11-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-jduaYP/home", + "store": "lfs527-wxpbrr1quw-c11-vm-store", + "created": "2026-10-31T21:49:49.189Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57575 + }, + "disk": { + "free": 35313782784 + } + }, + "setupMs": 14115, + "cellBudgetMs": 70853, + "teardownMs": 907 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c11", + "volume": "lfs527-wxpbrr1quw-c11-store-mvwxpbsu" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c11", + "name": "lfs527-wxpbrr1quw-c11-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "b057769c09c98bda3d759364d4857cd2e1eaf64855296d2bf7a7d225a37d2b40", + "commandSha256": "53077030326a1386f2cf2523f5a850b35feaba2d8fcb1b36e9f40a742be40a0d", + "setupSha256": "68c36eedeb7daf07516db93ca0ac0263bf3859d42549f7d490b1f074475ffc9d" + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxpbrr1quw-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-jduaYP/home/worker/c11.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 6.015625, + "grantedAt": "2026-10-31T21:50:06.813Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C11", + "project": "c11", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "setup": { + "exec": { + "wallMs": 203.701, + "exitCode": 0, + "stdout": "", + "stderr": "", + "rc": null, + "ms": null + }, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "12a11f7bd7469767efeb81c1ea4657505d35137ef9ff5e79d2d91891f28848a7f8", + "commit": { + "id": "12a11f7bd7469767efeb81c1ea4657505d35137ef9ff5e79d2d91891f28848a7f8", + "branch": null, + "parent": null, + "secondParent": null, + "base": "3202b62218a7fdc70316e79c7e12379296afde6ef2fc4c1300738740cb92bd27e7", + "root": "9f634989ee21276e3c35a66aa92aa6db279cc4e4cfd0096b4ff5e2f6379d63d3", + "via": "exec", + "message": "lfs527 C11 setup", + "mergedFrom": null, + "time": 1793483406754, + "logical": 67108864, + "newCanonical": 39263, + "newStored": 748, + "newMetadata": 672, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmount": { + "kind": "Unmounted" + } + }, + "warmup": { + "mountMs": 3.967, + "exec": { + "wallMs": 122.804, + "exitCode": 0, + "stdout": "LFS527 0 1793483406834679619 1793483406939135753\n", + "stderr": "", + "rc": 0, + "ms": 104.456134 + }, + "unmountMs": 10.598, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 6.824, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxpbrr1quw-c11-1/workspaces/3" + }, + "exec": { + "wallMs": 125.662, + "exitCode": 0, + "stdout": "LFS527 0 1793483406982161566 1793483407084381975\n", + "stderr": "", + "rc": 0, + "ms": 102.220409 + }, + "commitMs": 137.856, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": "12a11f7bd7469767efeb81c1ea4657505d35137ef9ff5e79d2d91891f28848a7f8", + "root": "9f634989ee21276e3c35a66aa92aa6db279cc4e4cfd0096b4ff5e2f6379d63d3", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 10.519, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.515, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.565, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 2794.293, + "ok": true + }, + { + "name": "setup.mount", + "ms": 7.377, + "ok": true + }, + { + "name": "setup.exec", + "ms": 203.694, + "ok": true + }, + { + "name": "setup.commit", + "ms": 303.729, + "ok": true + }, + { + "name": "setup.unmount", + "ms": 11.043, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 3.965, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 122.8, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 10.596, + "ok": true + }, + { + "name": "timed.mount", + "ms": 6.822, + "ok": true + }, + { + "name": "timed.exec", + "ms": 125.657, + "ok": true + }, + { + "name": "timed.commit", + "ms": 137.843, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 10.517, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.82, + "ok": true + }, + { + "name": "verify.identity", + "ms": 29.17, + "ok": true + }, + { + "name": "verify.exec", + "ms": 321.793, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 4.962, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 213.337, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "3202b62218a7fdc70316e79c7e12379296afde6ef2fc4c1300738740cb92bd27e7", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.696, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 6.015625, + "grantedAt": "2026-10-31T21:50:06.813Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 6.824, + "execWallMs": 125.662, + "commandMs": 102.220409, + "commitMs": 137.856, + "commitKind": "UpToDate", + "unmountMs": 10.519 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:50:08.582Z" +} diff --git a/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C12-2026-10-31T215008878Z-wxpqzy1r53.json b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C12-2026-10-31T215008878Z-wxpqzy1r53.json new file mode 100644 index 0000000000..6c65ebad9b --- /dev/null +++ b/core/docs/issues/527/receipts/5431c7e4a9/vm-ssh-C12-2026-10-31T215008878Z-wxpqzy1r53.json @@ -0,0 +1,345 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-ssh", + "cell": "C12", + "verdict": "PASS", + "cause": null, + "project": "c12", + "prefix": "lfs527-wxpqzy1r53-", + "startedAt": "2026-10-31T21:50:08.878Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 5.61376953125, + "end": 5.458984375 + }, + "constructionWorkers": "1", + "driver": { + "sshStateDir": "/Users/yifanxu/.cache/layerfs-test/lfs527-ssh-state-wxpqzy1r53", + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-gy0s9J", + "initMs": 13950, + "volume": "lfs527-wxpqzy1r53-c12-store-mvwxpr0q", + "vm": { + "project": "c12", + "name": "lfs527-wxpqzy1r53-c12-vm", + "state": "running", + "image": null, + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-gy0s9J/home", + "store": "lfs527-wxpqzy1r53-c12-vm-store", + "created": "2026-10-31T21:50:08.913Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "port": 57616 + }, + "disk": { + "free": 35313737728 + } + }, + "setupMs": 14086, + "cellBudgetMs": 70884, + "teardownMs": 931 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c12", + "volume": "lfs527-wxpqzy1r53-c12-store-mvwxpr0q" + } + }, + { + "name": "ssh host files", + "ok": true, + "value": "/srv/lfs527-store" + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c12", + "name": "lfs527-wxpqzy1r53-c12-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "ssh state", + "ok": true + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "36c5a7aed5e5a44b18dc0a5de3aa3da3eea3ecac9b8affb81eb8f1c85e021fb0", + "commandSha256": "837c1465ba0066de602ad01f51efe880f08ab2ae4cbbbb65901bdbae9a48559b", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-bd7ac86d", + "id": "build-linux-bd7ac86d01304d4e89a2e98057d26d66", + "platform": "linux", + "profile": "release", + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "sourceSha256": "dea9123661697246ff5f09d4033d5ff0cc64a604ca7218fd3108355f367dfb00", + "manifestSha256": "a4cc65f236bc32e9f2cc007fe7d779a01a615b4a632c07001e0f60c662f34b18", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "5431c7e4a9ef01b9f0651682dda1d558f9837df2", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-wxpqzy1r53-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-gy0s9J/home/worker/c12.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 5.458984375, + "grantedAt": "2026-10-31T21:50:26.625Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C12", + "project": "c12", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.074, + "exec": { + "wallMs": 263.51, + "exitCode": 0, + "stdout": "LFS527 0 1793483426514957276 1793483426758550842\n", + "stderr": "", + "rc": 0, + "ms": 243.593566 + }, + "unmountMs": 3.589, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 3.881, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-wxpqzy1r53-c12-1/workspaces/2" + }, + "exec": { + "wallMs": 253.267, + "exitCode": 0, + "stdout": "LFS527 0 1793483426784702903 1793483427020691749\n", + "stderr": "", + "rc": 0, + "ms": 235.988846 + }, + "commitMs": 45.62, + "commitKind": "Committed", + "commit": { + "kind": "Committed", + "head": "129debbb5148fe0d120fe1a90149d49c9d4473898864c2f317f071de16268fa537", + "commit": { + "id": "129debbb5148fe0d120fe1a90149d49c9d4473898864c2f317f071de16268fa537", + "branch": null, + "parent": null, + "secondParent": null, + "base": "32f569d8109944bc07fedd4a4ae2f2f0b065dd6e1fde72923650c1fdc67cad7022", + "root": "7cc9e4332e2a629aaf95cd46091a36d5f8e95446ae783b06b3c902c82450f49a", + "via": "exec", + "message": "lfs527 C12", + "mergedFrom": null, + "time": 1793483427063, + "logical": 36105, + "newCanonical": 80060, + "newStored": 26834, + "newMetadata": 6517, + "displaced": null, + "lww": [], + "lwwTruncated": false + }, + "displacedHead": null, + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 3.03, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 5.246, + "ok": true + }, + { + "name": "branch.fork", + "ms": 1.611, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 3289.117, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.056, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 263.505, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 3.586, + "ok": true + }, + { + "name": "timed.mount", + "ms": 3.879, + "ok": true + }, + { + "name": "timed.exec", + "ms": 253.263, + "ok": true + }, + { + "name": "timed.commit", + "ms": 45.616, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 3.028, + "ok": true + }, + { + "name": "verify.mount", + "ms": 3.698, + "ok": true + }, + { + "name": "verify.identity", + "ms": 24.847, + "ok": true + }, + { + "name": "verify.exec", + "ms": 100.796, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 2.897, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 196.002, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32f569d8109944bc07fedd4a4ae2f2f0b065dd6e1fde72923650c1fdc67cad7022", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 1.31, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 1, + "load1": 5.458984375, + "grantedAt": "2026-10-31T21:50:26.625Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 3.881, + "execWallMs": 253.267, + "commandMs": 235.988846, + "commitMs": 45.62, + "commitKind": "Committed", + "unmountMs": 3.03 + }, + "where": { + "kernel": "Linux 6.8.0-147-generic", + "machine": "aarch64", + "cpus": "4", + "memKiB": "3994696", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T21:50:28.198Z" +} diff --git a/core/docs/issues/527/receipts/97d408cc51/js-checks-97d408cc51.log b/core/docs/issues/527/receipts/97d408cc51/js-checks-97d408cc51.log new file mode 100644 index 0000000000..73963a80ab --- /dev/null +++ b/core/docs/issues/527/receipts/97d408cc51/js-checks-97d408cc51.log @@ -0,0 +1,25 @@ +HEAD 97d408cc5160347bd66b69b4eede91c173703d42 2026-10-31T21:46:56Z + api/agent/src/transport/worker_client.js | 5 +++++ + api/agent/test/native_deployment.mjs | 27 +++++++++++++++++++++++++++ + api/docs/agent.md | 2 +- + api/runtime/test/verify/cells/run.mjs | 10 ++++++++-- + 4 files changed, 41 insertions(+), 3 deletions(-) +agent native_deployment: native_deployment: ok +agent calls: PASS calls (39 cases) +agent exec_output: exec output: ok +vm_placement settings: PASS vm_placement/settings +vm_placement flow: PASS vm_placement/flow +vm_placement two: PASS vm_placement/two +vm_placement bundle: PASS vm_placement/bundle +vm_placement delete: PASS vm_placement/delete +vm_placement hosts: PASS vm_placement/hosts +vm_placement stores: PASS vm_placement/stores +vm_placement apple-container: PASS vm_placement/apple-container +vm_placement ssh: PASS vm_placement/ssh +vm_placement lima: PASS vm_placement/lima +vm_placement firecracker: PASS vm_placement/firecracker +vm_placement cleanup: PASS vm_placement/cleanup +runtime macos-worker: PASS runtime/macos-worker +runtime windows-worker: PASS runtime/windows-worker +runtime worker-frames: PASS runtime/worker-frames +runtime worker-docker: PASS runtime/worker-docker diff --git a/core/docs/issues/527/receipts/97d408cc51/refusals-vm-docker-2026-10-31T214509567Z-wxjc1r1lwp.json b/core/docs/issues/527/receipts/97d408cc51/refusals-vm-docker-2026-10-31T214509567Z-wxjc1r1lwp.json new file mode 100644 index 0000000000..a616be3e49 --- /dev/null +++ b/core/docs/issues/527/receipts/97d408cc51/refusals-vm-docker-2026-10-31T214509567Z-wxjc1r1lwp.json @@ -0,0 +1,133 @@ +{ + "receipt": "lfs527-cell/1", + "row": "refusals", + "cell": "vm-docker", + "verdict": "PASS", + "cause": "expected {\"placement vm:docker\":\"Unsupported\",\"LAYERFS_SANDBOX=docker on vm:apple-container\":\"Unsupported\",\"LAYERFS_SANDBOX_BACKEND=docker on vm:apple-container\":\"InvalidInput\"}; answered {\"placement vm:docker\":\"Unsupported\",\"LAYERFS_SANDBOX=docker on vm:apple-container\":\"Unsupported\",\"LAYERFS_SANDBOX_BACKEND=docker on vm:apple-container\":\"InvalidInput\"}", + "project": "refusal", + "prefix": "lfs527-wxjc1r1lwp-", + "startedAt": "2026-10-31T21:45:09.567Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "e8aa4f90a4d44db8894f2c7185dcba54a332f059922e08a4a79c17e7dc0905fa", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 10.7353515625, + "end": 10.16064453125 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-U9JE8w", + "initMs": 9009, + "volume": "lfs527-wxjc1r1lwp-refusal-store-mvwxjc39", + "vm": { + "project": "refusal", + "name": "lfs527-wxjc1r1lwp-refusal-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-U9JE8w/home", + "store": "lfs527-wxjc1r1lwp-refusal-vm-store", + "created": "2026-10-31T21:45:09Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4ee01388b1e54170bbd20243afe1ca37", + "port": 56850 + }, + "disk": { + "free": 21120929792 + } + }, + "teardownMs": 1068 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "refusal", + "volume": "lfs527-wxjc1r1lwp-refusal-store-mvwxjc39" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "refusal", + "name": "lfs527-wxjc1r1lwp-refusal-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4ee01388", + "id": "build-linux-4ee01388b1e54170bbd20243afe1ca37", + "platform": "linux", + "profile": "release", + "sourceCommit": "97d408cc5160347bd66b69b4eede91c173703d42", + "sourceSha256": "c47fba689c2da30e5066d44893330790165bb3834402b5de9033d2174d82635d", + "manifestSha256": "8fd20df6ecc404b6352526c8d8db884ca6d2d88dd791e888a733cfbec696471d", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 215, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "observed": { + "placement vm:docker": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: no VM provider is implemented for vm:docker; it is vm:microsandbox or vm:apple-container or vm:ssh or vm:lima or vm:firecracker", + "detail": null + }, + "LAYERFS_SANDBOX=docker on vm:apple-container": { + "opened": { + "refused": true, + "code": "Unsupported", + "message": "Unsupported: deploy.sandbox (LAYERFS_SANDBOX) docker is not available on a vm:apple-container home: its Sandboxes are namespaces inside the project's VM lfs527-wxjc1r1lwp-refusal-vm; leave LAYERFS_SANDBOX to the runtime", + "detail": null + }, + "created": null + }, + "LAYERFS_SANDBOX_BACKEND=docker on vm:apple-container": { + "opened": { + "refused": false, + "value": "opened" + }, + "created": { + "refused": true, + "code": "InvalidInput", + "message": "InvalidInput: deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) is native or namespaces, not docker; it is replaced by LAYERFS_SANDBOX=native or namespaces", + "detail": null + } + } + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "teardownOk": true, + "endedAt": "2026-10-31T21:45:19.816Z" +} diff --git a/core/docs/issues/527/receipts/ac-fix-try/vm-apple-container-C03-2026-10-31T205753744Z-vwvujwwphn.json b/core/docs/issues/527/receipts/ac-fix-try/vm-apple-container-C03-2026-10-31T205753744Z-vwvujwwphn.json new file mode 100644 index 0000000000..90e0577940 --- /dev/null +++ b/core/docs/issues/527/receipts/ac-fix-try/vm-apple-container-C03-2026-10-31T205753744Z-vwvujwwphn.json @@ -0,0 +1,317 @@ +{ + "receipt": "lfs527-cell/1", + "row": "vm-apple-container", + "cell": "C03", + "verdict": "PASS", + "cause": null, + "project": "c03", + "prefix": "lfs527-vwvujwwphn-", + "startedAt": "2026-10-31T20:57:53.744Z", + "host": { + "hostname": "Yifans-MacBook-Pro-10.local", + "platform": "darwin", + "release": "25.4.0", + "cpus": 14, + "memBytes": 38654705664, + "node": "v24.21.0", + "uid": 501 + }, + "runner": { + "run.mjs": "164f91862f99c53e3e28f76f873013e8e13d4eb3d3cc9626d1180720794e9dcd", + "cell.mjs": "4d8c3431e3c5de3b7a261d7aff7f0b1ba816b4cbfe021d8e12d5ae3dea5cdb78", + "workloads.mjs": "e22d812db8858758dc8cae491168b881bb81489663e43b8ebac115f9eec99f62" + }, + "load1": { + "start": 2.939453125, + "end": 3.6787109375 + }, + "constructionWorkers": "1", + "driver": { + "work": "/Users/yifanxu/.cache/layerfs-test/lfs527-Wzq7xE", + "initMs": 11078, + "volume": "lfs527-vwvujwwphn-c03-store-mvwvujxs", + "vm": { + "project": "c03", + "name": "lfs527-vwvujwwphn-c03-vm", + "state": "running", + "image": "docker.io/library/node:22-trixie-slim", + "home": "/Users/yifanxu/.cache/layerfs-test/lfs527-Wzq7xE/home", + "store": "lfs527-vwvujwwphn-c03-vm-store", + "created": "2026-10-31T20:57:53Z", + "worker": { + "state": "running", + "answering": true, + "build": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "port": 52609 + }, + "disk": { + "free": 21120929792 + } + }, + "setupMs": 11214, + "cellBudgetMs": 73737, + "teardownMs": 4070 + }, + "teardown": [ + { + "name": "project.delete", + "ok": true, + "value": { + "kind": "Deleted", + "project": "c03", + "volume": "lfs527-vwvujwwphn-c03-store-mvwvujxs" + } + }, + { + "name": "vm.delete", + "ok": true, + "value": { + "project": "c03", + "name": "lfs527-vwvujwwphn-c03-vm", + "state": "missing", + "store": "kept" + } + }, + { + "name": "runtime.close", + "ok": true + }, + { + "name": "work", + "ok": true + } + ], + "body": { + "sha256": "520773ceacd8c44d633ffd1a40727ceb5d990d63a23259f28af8dd4b96fa204d", + "commandSha256": "f5b32c4a764970421c6d7a7363759df0b5dcce3bfdb63a92ebbb1e1f0872f6e2", + "setupSha256": null + }, + "imageDigest": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "bundle": { + "path": "/Users/yifanxu/.cache/layerfs-test/lfs527-bundles/cells-4bedac61-acfix", + "id": "build-linux-4bedac61bd884930b3b8e16af1af2a00", + "platform": "linux", + "profile": "release", + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "sourceSha256": "b35ec6b35a60f226287494bc283892bf3dbe290b6c47194ba90d0bb87c5c8060", + "manifestSha256": "0ffa831896d9e90dcb6cff2238a1f63dff69c45dcaa10474c00655d052918f3c", + "images": { + "build": "sha256:378b799ef43343fc64008b6a5ef456dd6bf0cb8f6ea4cec72e7b42dfc17d2cd6", + "runtime": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e", + "sandbox": "sha256:afa1ef9c27294f9c7298820c06483e6fb1ddafc43a7cc7d6dec8cd2e67abf38e" + }, + "filesChecked": 207, + "mismatched": [], + "imageArchives": [ + "1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar" + ] + }, + "sourceCommit": "50e2c2bc87c8ffbde05bca046f4b1d407ee10e7b", + "env": { + "LAYERFS_HOME": "/layerfs/home", + "LAYERFS_SANDBOX": "native", + "LAYERFS_SANDBOX_BACKEND": "namespaces", + "LAYERFS_DAEMON": "/layerfs/bundle/layerfs-daemon", + "LAYERFS_LOCAL_DIR": "/layerfs/store/local", + "LAYERFS_IMAGE": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "LAYERFS_IMAGE_ARCHIVE": "/layerfs/bundle/images/1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9.tar", + "LAYERFS_STORE_PATH": "/layerfs/store/global/store.sqlite", + "LAYERFS_CONTAINER_PREFIX": "lfs527-vwvujwwphn-", + "LAYERFS_WORKER_ENDPOINT": "/Users/yifanxu/.cache/layerfs-test/lfs527-Wzq7xE/home/worker/c03.json" + }, + "lock": { + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 3.185546875, + "grantedAt": "2026-10-31T20:58:09.703Z", + "staleRemoved": null + }, + "cellResult": { + "cell": "C03", + "project": "c03", + "branch": "lane", + "ok": true, + "cause": null, + "phases": { + "warmup": { + "mountMs": 8.711, + "exec": { + "wallMs": 416.396, + "exitCode": 0, + "stdout": "LFS527 0 1793480289363845257 1793480289760545423\n", + "stderr": "", + "rc": 0, + "ms": 396.700166 + }, + "unmountMs": 6.285, + "unmount": { + "kind": "Unmounted" + } + }, + "timed": { + "mountMs": 5.019, + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9", + "workspace": { + "sandbox": "1", + "path": "/layerfs/store/local/lfs527-vwvujwwphn-c03-1/workspaces/2" + }, + "exec": { + "wallMs": 424.697, + "exitCode": 0, + "stdout": "LFS527 0 1793480289806708215 1793480290204917924\n", + "stderr": "", + "rc": 0, + "ms": 398.209709 + }, + "commitMs": 10.27, + "commitKind": "UpToDate", + "commit": { + "kind": "UpToDate", + "head": null, + "root": "4c0e6516deb6522f32bd94c0919ee840646661013afb0fa4455ff61fb2895740", + "merged": null, + "lww": [], + "lwwTruncated": false + }, + "unmountMs": 5.89, + "unmount": { + "kind": "Unmounted" + } + }, + "verify": { + "exitCode": 0, + "stdout": "VERIFY OK\n", + "stderr": "" + } + }, + "steps": [ + { + "name": "open", + "ms": 6.412, + "ok": true + }, + { + "name": "branch.fork", + "ms": 2.127, + "ok": true + }, + { + "name": "sandbox.create", + "ms": 4195.028, + "ok": true + }, + { + "name": "warmup.mount", + "ms": 8.705, + "ok": true + }, + { + "name": "warmup.exec", + "ms": 416.38, + "ok": true + }, + { + "name": "warmup.unmount", + "ms": 6.279, + "ok": true + }, + { + "name": "timed.mount", + "ms": 5.014, + "ok": true + }, + { + "name": "timed.exec", + "ms": 424.691, + "ok": true + }, + { + "name": "timed.commit", + "ms": 10.262, + "ok": true + }, + { + "name": "timed.unmount", + "ms": 5.886, + "ok": true + }, + { + "name": "verify.mount", + "ms": 9.161, + "ok": true + }, + { + "name": "verify.identity", + "ms": 24.909, + "ok": true + }, + { + "name": "verify.exec", + "ms": 9.43, + "ok": true + }, + { + "name": "verify.unmount", + "ms": 7.588, + "ok": true + }, + { + "name": "sandbox.close", + "ms": 1922.63, + "ok": true + } + ], + "fork": { + "kind": "Forked", + "branch": "lane", + "base": "32b98023e66243c2a02a167b3dafea69fb16a2da29f10527dac839415b625e4443", + "head": null + }, + "sandbox": { + "sandbox": "1", + "image": "sha256:1d91885de27a20805af0d1b99602ace066f0514983613e391ee1f73ac8e7c2e9" + }, + "lock": { + "askedMs": 7.013, + "lock": "/Users/yifanxu/.cache/layerfs-test/lfs527-sample.lock", + "waitMs": 2, + "load1": 3.185546875, + "grantedAt": "2026-10-31T20:58:09.703Z", + "staleRemoved": null + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + } + }, + "cellExit": { + "code": 0, + "signal": null, + "killed": false, + "stderr": "" + }, + "timings": { + "mountMs": 5.019, + "execWallMs": 424.697, + "commandMs": 398.209709, + "commitMs": 10.27, + "commitKind": "UpToDate", + "unmountMs": 5.89 + }, + "where": { + "kernel": "Linux 6.18.35", + "machine": "aarch64", + "cpus": "5", + "memKiB": "4144688", + "memBytes": null, + "cpuMax": null, + "id": "501:20" + }, + "teardownOk": true, + "endedAt": "2026-10-31T20:58:16.199Z" +} diff --git a/engine/crates/layerfs-api/PROVIDERS.md b/engine/crates/layerfs-api/PROVIDERS.md index 16bd8b3cf9..449d2c39e8 100644 --- a/engine/crates/layerfs-api/PROVIDERS.md +++ b/engine/crates/layerfs-api/PROVIDERS.md @@ -2,12 +2,12 @@ Status: Current general guide. Native macOS is implemented and host-verified; Linux native is implemented, pending Linux host qualification; the Docker runtime is the default. `layerfs-sandbox` selects between them with the concrete `Runtime` enum; there are no provider traits. -`layerfs-sandbox::backend` exposes `Runtime` (a deployment's choice: `Docker`, `MacosNative`, `LinuxNative`, `Windows`) and `Sandbox` (the launched owner of one Sandbox). `layerfs_sandbox::{Runtime, Sandbox}` re-export both; `layerfs_sandbox::provider` keeps the inputs and records they share. `ExecRequest` lives in the shared types layer; its Docker re-export remains compatible. `SandboxId` aliases the existing `ContainerId`, preserving encoded identities and records. The runtime layer has no daemon control dependency. +`layerfs-sandbox` exposes `Runtime` (a deployment's choice: `Docker`, `MacosNative`, `LinuxNative`, `Namespaces` (Linux only); Windows has none and runs the Linux build through WSL2 or a VM) and `Sandbox` (the launched owner of one Sandbox). `layerfs_sandbox::{Runtime, Sandbox}` re-export both; the crate root also re-exports the inputs and records they share (formerly `layerfs_sandbox::provider`, #527 step 9a). Backend-specific items are in `layerfs_sandbox::docker`, `::native` and `::namespaces` (formerly under `layerfs_sandbox::backend`, #527 step 9b); the providers, `Docker` and `HelperSpec` are also at the root. `ExecRequest` lives in the shared types layer; its Docker re-export remains compatible. `SandboxId` aliases the existing `ContainerId`, preserving encoded identities and records. The runtime layer has no daemon control dependency. -`Runtime::MacosNative(..)` and `Runtime::LinuxNative(..)` wrap `NativeMacosProvider::new(root)` and `NativeLinuxProvider::new(root)`, the two aliases of the same native implementation whose instances share the existing local runtime owner. Each refuses the wrong platform before root access. macOS uses Darwin process facts, the `mount` table and `umount -f`; Linux uses the retained #402 `/proc` PID/start/boot checks, process groups and lazy `MNT_DETACH`. Linux requires a root daemon and a root directory traversable by command users; ordinary commands keep #402's nonroot identity (Node selects 501:20) and fixed container PATH. macOS keeps the caller identity, inherited PATH and loopback NFS. The provider explicitly selects `LAYERFS_KERNEL=fuse` on Linux and `nfs` on macOS and rejects conflicting launch overrides. Launch preserves the original single-attempt process lifecycle, native identity, inherited PATH, NFS environment and partial owner on failure. `inspect` reports exact process liveness; unknown exit/storage facts stay absent. `Runtime::Windows` refuses every operation with `RuntimeError::Unsupported` before any effect; no Windows host runtime exists. Records remain the Node binding's responsibility; runtimes neither scan directories nor infer project ownership. B8 list aggregation and doctor remain future work. +`Runtime::Namespaces(NamespaceProvider)` (Linux) runs each daemon in its own mount, PID and IPC namespaces and cgroup v2 directory, on a root overlaid on the Sandbox image; it is selected by `deploy.sandbox` `namespaces` (LAYERFS_SANDBOX; the former `deploy.sandboxBackend` `namespaces` under `deploy.sandbox` `native` is still mapped for one release, #527 step 11). `Runtime::MacosNative(..)` and `Runtime::LinuxNative(..)` wrap `NativeMacosProvider::new(root)` and `NativeLinuxProvider::new(root)`, the two aliases of the same native implementation whose instances share the existing local runtime owner. Each refuses the wrong platform before root access. macOS uses Darwin process facts, the `mount` table and `umount -f`; Linux uses the retained #402 `/proc` PID/start/boot checks, process groups and lazy `MNT_DETACH`. Linux requires a root daemon and a root directory traversable by command users; ordinary commands keep #402's nonroot identity (Node selects 501:20) and fixed container PATH. macOS keeps the caller identity, inherited PATH and loopback NFS. The provider alone selects `LAYERFS_KERNEL=fuse` on Linux and `nfs` on macOS and rejects any launch environment that names it (#527 step 6). Launch preserves the original single-attempt process lifecycle, native identity, inherited PATH, NFS environment and partial owner on failure. `inspect` reports exact process liveness; unknown exit/storage facts stay absent. There is no Windows runtime (#527 D2): Windows runs the Linux build through WSL2 or a VM. Records remain the Node binding's responsibility; runtimes neither scan directories nor infer project ownership. B8 list aggregation and doctor remain future work. `SandboxApi::with_runtime(Arc)` and `create_provider_file(ProviderCreate, store, manifest)` (or `create(ProviderCreate, project)`) launch through the deployment's runtime and return `ProviderSandbox`, whose `runtime` field is the `Sandbox` handle. Both Docker (via `Runtime::Docker(DockerProvider)`) and native runtimes route through this single unified API path. `WorkspaceApi::exec` delegates ordinary execution through `sandbox.runtime.run(...)` with streaming stdout/stderr buffers, and `api.close` drains and removes instances via `sandbox.runtime.stop(1)` and `sandbox.runtime.delete()`. Before launch, API validates authentication identities, selected Store, command identity and local resource ownership: overlay and mount home must belong to the instance, Store must live outside it, and native listen uses dynamic loopback. API encodes daemon configuration, then uses the shared TCP/Noise/Hello and Store-install pipeline in `sandbox/connection.rs`. Failures retain their phase, original cause, runtime, control, observed status, installation acknowledgement and handshake work. No automatic retry or cleanup occurs in API. -`layerfs-node` builds a `Runtime` from `deploy.sandbox` (`docker` by default, `native` on Linux and macOS), keeps the launched `Sandbox` in its Sandbox state, and reads records, image, scratch directory and background-process tracking through it. Legacy deprecated forwarders (`SandboxApi::new(Docker)`, `SandboxCreate`, `ManagedSandbox`, `from_managed`, `internal::split/exec/control_managed`) remain removed. +`layerfs-node` builds a `Runtime` from `deploy.sandbox` (`docker` by default, `native` on Linux and macOS, `namespaces` on Linux; its `runtime.rs` is the one validator, mapping the former `deploy.sandboxBackend` and refusing a conflicting pair), keeps the launched `Sandbox` in its Sandbox state, and reads records, image, scratch directory and background-process tracking through it. Legacy deprecated forwarders (`SandboxApi::new(Docker)`, `SandboxCreate`, `ManagedSandbox`, `from_managed`, `internal::split/exec/control_managed`) remain removed. The Store remains explicitly Disposable/WAL/OFF. Native macOS keeps #427's direct Store access without a worker; this refactor does not change persistence authorization or filesystem semantics. diff --git a/engine/crates/layerfs-api/examples/sandbox_kernel_mount.rs b/engine/crates/layerfs-api/examples/sandbox_kernel_mount.rs index 56fd918302..f7f5b61b15 100644 --- a/engine/crates/layerfs-api/examples/sandbox_kernel_mount.rs +++ b/engine/crates/layerfs-api/examples/sandbox_kernel_mount.rs @@ -14,8 +14,8 @@ use layerfs_bridge::{ }; use layerfs_history::{BranchId, HistoryCatalogConfig, HistoryName, LayerStackId, WorkspaceId}; use layerfs_persistence::{PersistenceConfig, SqlitePersistenceProfile}; -use layerfs_sandbox::backend::docker::{Docker, DockerProvider}; -use layerfs_sandbox::provider::{LaunchRequest, ProviderLaunchOptions}; +use layerfs_sandbox::docker::{Docker, DockerProvider}; +use layerfs_sandbox::{LaunchRequest, ProviderLaunchOptions}; use layerfs_storage::StoragePolicy; use layerfs_telemetry::timer::Timing; use std::{ diff --git a/engine/crates/layerfs-api/examples/sandbox_lifecycle.rs b/engine/crates/layerfs-api/examples/sandbox_lifecycle.rs index 609074a351..63ade49381 100644 --- a/engine/crates/layerfs-api/examples/sandbox_lifecycle.rs +++ b/engine/crates/layerfs-api/examples/sandbox_lifecycle.rs @@ -8,8 +8,8 @@ use layerfs_bridge::{ }; use layerfs_history::{BranchId, HistoryCatalogConfig, HistoryName, LayerStackId, WorkspaceId}; use layerfs_persistence::{PersistenceConfig, SqlitePersistenceProfile}; -use layerfs_sandbox::backend::docker::{Docker, DockerProvider}; -use layerfs_sandbox::provider::{LaunchRequest, ProviderLaunchOptions}; +use layerfs_sandbox::docker::{Docker, DockerProvider}; +use layerfs_sandbox::{LaunchRequest, ProviderLaunchOptions}; use layerfs_storage::StoragePolicy; use layerfs_telemetry::timer::Timing; use std::{ diff --git a/engine/crates/layerfs-api/src/sandbox/create.rs b/engine/crates/layerfs-api/src/sandbox/create.rs index 61837c6693..f191627568 100644 --- a/engine/crates/layerfs-api/src/sandbox/create.rs +++ b/engine/crates/layerfs-api/src/sandbox/create.rs @@ -68,7 +68,7 @@ pub enum SandboxCause { /// Original Engine transfer, no replay. Runtime(Box), /// Original provider launch cause; partial runtime ownership is retained separately. - Provider(Box), + Provider(Box), /// Original authentication failure; handshake work remains in the receipt. Channel(ChannelError), /// Original correlated daemon control exchange/refusal. diff --git a/engine/crates/layerfs-api/src/sandbox/exec.rs b/engine/crates/layerfs-api/src/sandbox/exec.rs index 40e0a5e449..4fa101326f 100644 --- a/engine/crates/layerfs-api/src/sandbox/exec.rs +++ b/engine/crates/layerfs-api/src/sandbox/exec.rs @@ -1,6 +1,6 @@ //! Optional ordinary Sandbox launch at the acknowledged mounted directory. use super::{MountedWorkspace, ProviderSandbox, WorkspaceApi}; -use layerfs_sandbox::{provider::ExecExit, ExecRequest, WireFailure}; +use layerfs_sandbox::{ExecExit, ExecRequest, WireFailure}; use std::io::Write; impl WorkspaceApi<'_> { diff --git a/engine/crates/layerfs-api/src/sandbox/provider.rs b/engine/crates/layerfs-api/src/sandbox/provider.rs index 3f8afc3960..8c77b26a3d 100644 --- a/engine/crates/layerfs-api/src/sandbox/provider.rs +++ b/engine/crates/layerfs-api/src/sandbox/provider.rs @@ -7,10 +7,7 @@ use layerfs_bridge::{ duplex::{public_key, ChannelWork}, provision::StoreManifest, }; -use layerfs_sandbox::{ - provider::{LaunchRequest, ProviderLaunchOptions}, - CommandIdentity, Runtime, Sandbox, -}; +use layerfs_sandbox::{CommandIdentity, LaunchRequest, ProviderLaunchOptions, Runtime, Sandbox}; use std::{fmt, sync::Arc}; /// Runtime launch and private daemon authentication inputs. @@ -200,10 +197,10 @@ impl SandboxApi { Ok(owner) => Box::new(owner), Err(mut failure) => { progress.phase = match failure.phase { - layerfs_sandbox::provider::LaunchPhase::Validate => SandboxPhase::Validate, - layerfs_sandbox::provider::LaunchPhase::Create => SandboxPhase::Create, - layerfs_sandbox::provider::LaunchPhase::Start => SandboxPhase::Start, - layerfs_sandbox::provider::LaunchPhase::Listener => SandboxPhase::Listener, + layerfs_sandbox::LaunchPhase::Validate => SandboxPhase::Validate, + layerfs_sandbox::LaunchPhase::Create => SandboxPhase::Create, + layerfs_sandbox::LaunchPhase::Start => SandboxPhase::Start, + layerfs_sandbox::LaunchPhase::Listener => SandboxPhase::Listener, }; launched = failure.instance.take(); return Err(SandboxCause::Provider(failure)); @@ -330,10 +327,10 @@ impl SandboxApi { Ok(owner) => Box::new(owner), Err(mut failure) => { progress.phase = match failure.phase { - layerfs_sandbox::provider::LaunchPhase::Validate => SandboxPhase::Validate, - layerfs_sandbox::provider::LaunchPhase::Create => SandboxPhase::Create, - layerfs_sandbox::provider::LaunchPhase::Start => SandboxPhase::Start, - layerfs_sandbox::provider::LaunchPhase::Listener => SandboxPhase::Listener, + layerfs_sandbox::LaunchPhase::Validate => SandboxPhase::Validate, + layerfs_sandbox::LaunchPhase::Create => SandboxPhase::Create, + layerfs_sandbox::LaunchPhase::Start => SandboxPhase::Start, + layerfs_sandbox::LaunchPhase::Listener => SandboxPhase::Listener, }; launched = failure.instance.take(); return Err(SandboxCause::Provider(failure)); diff --git a/engine/crates/layerfs-api/tests/provider_ownership.rs b/engine/crates/layerfs-api/tests/provider_ownership.rs index fd0e95f8b5..003056724c 100644 --- a/engine/crates/layerfs-api/tests/provider_ownership.rs +++ b/engine/crates/layerfs-api/tests/provider_ownership.rs @@ -64,9 +64,7 @@ fn native_resource_paths_are_validated_before_launch() { duplex, }; use layerfs_sandbox::{ - backend::native::NativeMacosProvider, - provider::{LaunchRequest, ProviderLaunchOptions}, - CommandIdentity, Runtime, + native::NativeMacosProvider, CommandIdentity, LaunchRequest, ProviderLaunchOptions, Runtime, }; use std::{ os::unix::fs::{MetadataExt, PermissionsExt}, diff --git a/engine/crates/layerfs-api/tests/sandbox_operations.rs b/engine/crates/layerfs-api/tests/sandbox_operations.rs index 448239d81c..ea1d764f71 100644 --- a/engine/crates/layerfs-api/tests/sandbox_operations.rs +++ b/engine/crates/layerfs-api/tests/sandbox_operations.rs @@ -12,9 +12,9 @@ use layerfs_bridge::{ daemon_setup::{DaemonLimits, DaemonSetup}, duplex, }; -use layerfs_sandbox::backend::docker::DockerProvider; -use layerfs_sandbox::provider::{LaunchRequest, ProviderLaunchOptions}; +use layerfs_sandbox::docker::DockerProvider; use layerfs_sandbox::Runtime; +use layerfs_sandbox::{LaunchRequest, ProviderLaunchOptions}; use std::{ fs, net::TcpListener, diff --git a/engine/crates/layerfs-daemon/src/application/config.rs b/engine/crates/layerfs-daemon/src/application/config.rs index 794c8e0c16..9142fea2fb 100644 --- a/engine/crates/layerfs-daemon/src/application/config.rs +++ b/engine/crates/layerfs-daemon/src/application/config.rs @@ -10,6 +10,7 @@ use std::{ pub(super) fn read(path: &Path) -> io::Result { secure_process()?; + super::filesystem::check_route()?; let mut file = OpenOptions::new() .read(true) .custom_flags((OFlag::O_NOFOLLOW | OFlag::O_CLOEXEC).bits()) diff --git a/engine/crates/layerfs-daemon/src/application/filesystem.rs b/engine/crates/layerfs-daemon/src/application/filesystem.rs index 21bfcec597..be12524498 100644 --- a/engine/crates/layerfs-daemon/src/application/filesystem.rs +++ b/engine/crates/layerfs-daemon/src/application/filesystem.rs @@ -8,7 +8,8 @@ use layerfs_bridge::daemon_setup::DaemonSetup; use std::{path::Path, sync::Arc}; /// Selects the kernel route: `nfs` serves every mount over loopback NFSv3 -/// (the native route); anything else, or unset, is FUSE. +/// (the native route); `fuse`, or unset, is FUSE. The Sandbox provider that +/// starts the daemon chooses it; [`check_route`] asserts the value. pub const KERNEL_ROUTE: &str = "LAYERFS_KERNEL"; /// Optional helper command lines (`{port}`, `{dir}` replaced) overriding the /// host client's defaults for the NFS route. @@ -22,6 +23,20 @@ pub const NFS_FLUSH: &str = "LAYERFS_NFS_FLUSH"; pub(super) fn nfs_route() -> bool { cfg!(target_os = "macos") || std::env::var(KERNEL_ROUTE).is_ok_and(|route| route == "nfs") } + +/// The provider's route choice, asserted before anything is served: `fuse` +/// or `nfs` (or unset, FUSE), and only `nfs` on macOS. A daemon started with +/// any other value refuses to start rather than serve another route. +pub(super) fn check_route() -> std::io::Result<()> { + match std::env::var(KERNEL_ROUTE).as_deref() { + Err(std::env::VarError::NotPresent) | Ok("nfs") => Ok(()), + Ok("fuse") if !cfg!(target_os = "macos") => Ok(()), + _ => Err(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "LAYERFS_KERNEL must be fuse or nfs (only nfs on macOS)", + )), + } +} /// NFS serving for the native route, from the protected setup and the /// declared helper overrides. Nothing is mounted until an explicit Attach. pub(super) fn assemble_export(setup: &DaemonSetup) -> std::io::Result>> { diff --git a/engine/crates/layerfs-node/src/discovery.rs b/engine/crates/layerfs-node/src/discovery.rs index 5333a1ad72..66307c9159 100644 --- a/engine/crates/layerfs-node/src/discovery.rs +++ b/engine/crates/layerfs-node/src/discovery.rs @@ -12,11 +12,11 @@ use layerfs_bridge::{ provision::StoreManifest, }; use layerfs_persistence::{SealedStore, SqlitePersistenceProfile}; -use layerfs_sandbox::backend::docker::{Docker, DockerProvider, SandboxRequest}; +use layerfs_sandbox::docker::{Docker, DockerProvider, SandboxRequest}; #[cfg(any(target_os = "linux", target_os = "macos"))] -use layerfs_sandbox::backend::native::{self, LocalProcess}; -use layerfs_sandbox::provider::{LocalRecord, SandboxRecord}; +use layerfs_sandbox::native::{self, LocalProcess}; use layerfs_sandbox::{CommandIdentity, ContainerId, Sandbox, WireFailure}; +use layerfs_sandbox::{LocalRecord, SandboxRecord}; use std::{ fs::{self, File, OpenOptions}, io::{Read, Write}, @@ -578,19 +578,26 @@ pub(crate) fn recorded(args: &SdkValue, id: &str, value: &SdkValue) -> Result Result { let (directory, record) = local_record_of(args, id, value)?; // with no placement (#428), a mount names its Sandbox: a record is used - // only by a native deployment, and only a native record is. A record of - // the `local` runtime (an earlier, unmerged build) is never used, so - // nothing it names is deleted - let native = args.get("deploy").is_some_and(crate::runtime::native); + // only by a deployment of its own backend, and only a native record is + // here. A native record is not reopened by a namespaces deployment + // either (#527 step 4), as a namespaces record is not by a native one. A + // record of the `local` runtime (an earlier, unmerged build) is never + // used, so nothing it names is deleted + let native = args.get("deploy").is_some_and(|deploy| { + matches!( + crate::runtime::backend(deploy), + Ok(Some(crate::runtime::Backend::Native)) + ) + }); if !native || value.get_text("runtime") != Some(NATIVE) { return Err(refused( "InvalidInput", format!( "Sandbox {id} is a {} Sandbox, but only a native deployment \ (LAYERFS_SANDBOX=native) uses a native record and none uses another; \ - Sandboxes of other runtimes are never mixed, so the record is neither used \ - nor deleted. Remove what it left by hand, then delete \ - LAYERFS_HOME/{}/sandboxes/{id}/sandbox.record", + Sandboxes of other runtimes are never \ + mixed, so the record is neither used nor deleted. Remove what it left by hand, \ + then delete LAYERFS_HOME/{}/sandboxes/{id}/sandbox.record", value.get_text("runtime").unwrap_or_default(), registry::text(args, "project")? ), @@ -630,11 +637,27 @@ fn local_record_of(args: &SdkValue, id: &str, value: &SdkValue) -> Result<(PathB ), )); } - let number = |key: &str| { - value - .get_int(key) - .ok_or_else(|| refused("InvalidInput", format!("local Sandbox record {key}"))) + let process = recorded_process(value)?; + let port = value + .get_int("port") + .ok_or_else(|| refused("InvalidInput", "local Sandbox record port"))?; + let record = LocalRecord { + name: name.to_owned(), + pid: process.pid, + start_time: process.start, + boot: process.boot, + port: u16::try_from(port).map_err(failed)?, + labels: labels(value)?, }; + Ok((directory, record)) +} +/// The daemon (native) or init (namespaces) process a local record names: +/// its id, start time and boot. A record from before boot ids has none. +#[cfg(any(target_os = "linux", target_os = "macos"))] +fn recorded_process(value: &SdkValue) -> Result { + let pid = value + .get_int("pid") + .ok_or_else(|| refused("InvalidInput", "local Sandbox record pid"))?; let boot = match value.get_text("boot") { None => None, Some(hex) => Some( @@ -644,17 +667,26 @@ fn local_record_of(args: &SdkValue, id: &str, value: &SdkValue) -> Result<(PathB .ok_or_else(|| refused("InvalidInput", "local Sandbox record boot"))?, ), }; - let record = LocalRecord { - name: name.to_owned(), - pid: u32::try_from(number("pid")?).map_err(failed)?, - start_time: registry::text(value, "start")? + Ok(LocalProcess { + pid: u32::try_from(pid).map_err(failed)?, + start: registry::text(value, "start")? .parse::() .map_err(failed)?, boot, - port: u16::try_from(number("port")?).map_err(failed)?, - labels: labels(value)?, - }; - Ok((directory, record)) + }) +} +/// Whether the process a native or namespaces record names still runs (id, +/// start time, boot), from this kernel alone: no deployment is consulted. +#[cfg(any(target_os = "linux", target_os = "macos"))] +pub(crate) fn local_running(value: &SdkValue) -> Result { + Ok(recorded_process(value)?.alive()) +} +#[cfg(not(any(target_os = "linux", target_os = "macos")))] +pub(crate) fn local_running(_: &SdkValue) -> Result { + Err(refused( + "Unsupported", + "a local process is read on Linux or macOS", + )) } /// A namespaces record is used only where this backend puts that Sandbox and /// only by a deployment that selects it: another backend never reopens or @@ -672,16 +704,16 @@ fn namespaces_record(args: &SdkValue, id: &str, value: &SdkValue) -> Result Result napi::Result crate::sync::add(&args), "runtime.remote.remove" => crate::sync::remove(&args), "runtime.sandbox.reclaim" => workspace::reclaim(&args), + "runtime.sandbox.records" => workspace::all_records(&args), "backend.daemon.sandbox.get_log" => crate::sandbox::get_log(&args), "backend.store.project.get_history" | "backend.store.project.get_storage" diff --git a/engine/crates/layerfs-node/src/local.rs b/engine/crates/layerfs-node/src/local.rs index c9cbf3b177..ae7bd894b5 100644 --- a/engine/crates/layerfs-node/src/local.rs +++ b/engine/crates/layerfs-node/src/local.rs @@ -1,6 +1,7 @@ -//! Native Sandboxes (`deploy.sandbox` `native`, LAYERFS_SANDBOX=native): -//! the project's daemon runs as a process of this user instead of in a -//! container. It isolates nothing beyond the caller's own sandbox. +//! Native and namespaces Sandboxes (`deploy.sandbox` `native` or +//! `namespaces`, LAYERFS_SANDBOX): the project's daemon runs as a process of +//! this user instead of in a container. Native isolates nothing beyond the +//! caller's own sandbox; namespaces adds Linux namespaces and a cgroup. //! //! Each Sandbox gets a directory `/-` //! with what a container held at fixed paths: its setup @@ -17,8 +18,8 @@ use crate::registry::{lock, text, SandboxState, SANDBOXES}; use layerfs_api::{sandbox::ProviderCreate, SandboxApi}; use layerfs_bridge::control::{SdkRefusal, SdkValue}; use layerfs_bridge::provision::StoreManifest; -use layerfs_sandbox::provider::{LaunchRequest, ProviderLaunchOptions}; use layerfs_sandbox::{CommandIdentity, Runtime, Sandbox}; +use layerfs_sandbox::{LaunchRequest, ProviderLaunchOptions}; use std::path::{Component, Path, PathBuf}; use std::sync::Arc; @@ -30,6 +31,7 @@ pub(crate) fn start( args: &SdkValue, directory: &Path, project: (&crate::registry::Project, StoreManifest), + backend: crate::runtime::Backend, ) -> Result, SdkRefusal> { let deploy = args .get("deploy") @@ -38,7 +40,7 @@ pub(crate) fn start( if cfg!(target_os = "linux") && crate::discovery::user().0 != 0 { return Err(refused( "Unsupported", - "LAYERFS_SANDBOX=native on Linux needs root for FUSE and commands as uid 501, gid 20; run inside the VM or CI box that isolates it", + "LAYERFS_SANDBOX=native or namespaces on Linux needs root for FUSE and commands as uid 501, gid 20; run inside the VM or CI box that isolates it", )); } let root = deploy.get_text("localDir").ok_or_else(|| { @@ -47,7 +49,6 @@ pub(crate) fn start( "deploy.localDir is not configured (LAYERFS_LOCAL_DIR); a native Sandbox needs it", ) })?; - let backend = crate::runtime::backend(deploy)?; let runtime = native_runtime(root, backend) .map_err(|error| refused("InvalidInput", format!("LAYERFS_LOCAL_DIR {root}: {error}")))?; let executable = PathBuf::from(text(deploy, "daemon")?); @@ -90,7 +91,7 @@ fn start_claimed( (runtime, backend, executable, store): (Runtime, crate::runtime::Backend, PathBuf, String), ) -> Result, SdkRefusal> { let name = text(args, "project")?; - let sandbox_name = sandbox_name(args, id)?; + let sandbox_name = crate::sandbox::sandbox_name(args, id)?; let paths = runtime.native_paths(&sandbox_name).map_err(failed)?; let path_text = |path: &Path| { path.to_str() @@ -228,14 +229,14 @@ fn start_claimed( } /// The native runtime this host offers, over `root`: macOS loopback NFS as -/// this user, or Linux FUSE with a root daemon. The other platform's -/// provider, and another OS, is refused before root access. +/// this user, or Linux FUSE with a root daemon (this module is built on those +/// two only). The other platform's provider is refused before root access. #[cfg(target_os = "macos")] fn native_runtime( root: &str, _: crate::runtime::Backend, ) -> Result { - layerfs_sandbox::backend::native::NativeMacosProvider::new(root).map(Runtime::MacosNative) + layerfs_sandbox::native::NativeMacosProvider::new(root).map(Runtime::MacosNative) } #[cfg(target_os = "linux")] @@ -245,26 +246,14 @@ fn native_runtime( ) -> Result { match backend { crate::runtime::Backend::Native => { - layerfs_sandbox::backend::native::NativeLinuxProvider::new(root) - .map(Runtime::LinuxNative) + layerfs_sandbox::native::NativeLinuxProvider::new(root).map(Runtime::LinuxNative) } crate::runtime::Backend::Namespaces => { - layerfs_sandbox::backend::namespaces::NamespaceProvider::new(root) - .map(Runtime::Namespaces) + layerfs_sandbox::namespaces::NamespaceProvider::new(root).map(Runtime::Namespaces) } } } -#[cfg(not(any(target_os = "linux", target_os = "macos")))] -fn native_runtime( - _: &str, - _: crate::runtime::Backend, -) -> Result { - Err(layerfs_sandbox::RuntimeError::Unsupported( - "native Sandbox runtime platform", - )) -} - /// How the daemon of `backend` is launched: the same local options, and for /// the namespace backend the Store file its private root binds and the image /// archive its root is unpacked from. @@ -309,12 +298,13 @@ fn launch_options( }) } -/// What a native Sandbox's daemon starts with besides `PATH`: the NFS -/// route, and the mount helper and reference overrides this process was -/// given (`LAYERFS_NFS_*`), so a test host can name its own client. +/// What a native Sandbox's daemon starts with besides `PATH` and the kernel +/// route its provider chooses: the NFS mount helper and reference overrides +/// this process was given (`LAYERFS_NFS_*`), so a test host can name its own +/// client. #[cfg(target_os = "macos")] fn native_environment() -> Vec<(String, String)> { - let mut environment = vec![("LAYERFS_KERNEL".to_owned(), "nfs".to_owned())]; + let mut environment = Vec::new(); for name in [ "LAYERFS_NFS_MOUNT", "LAYERFS_NFS_UNMOUNT", @@ -329,25 +319,10 @@ fn native_environment() -> Vec<(String, String)> { environment } +/// Nothing on Linux: the provider chooses FUSE. #[cfg(target_os = "linux")] fn native_environment() -> Vec<(String, String)> { - vec![("LAYERFS_KERNEL".to_owned(), "fuse".to_owned())] -} - -/// A local Sandbox's directory name: `-`, or -/// `.-` for a project of a shared Store (#506), -/// the name its container would have. -fn sandbox_name(args: &SdkValue, id: &str) -> Result { - let prefix = args - .get("deploy") - .and_then(|d| d.get_text("containerPrefix")) - .filter(|prefix| !prefix.is_empty()) - .unwrap_or(crate::sandbox::PREFIX); - let project = text(args, "project")?; - Ok(match crate::stores::shared_store(args)? { - Some(store) => format!("{prefix}{store}.{project}-{id}"), - None => format!("{prefix}{project}-{id}"), - }) + Vec::new() } /// Where this deployment puts Sandbox `id`: @@ -366,7 +341,7 @@ pub(crate) fn directory(args: &SdkValue, id: &str) -> Result Result { - match deploy.get_text("sandboxBackend") { - None | Some(NATIVE) => Ok(Backend::Native), - Some(NAMESPACES) if cfg!(target_os = "linux") => Ok(Backend::Namespaces), - Some(NAMESPACES) => Err(refused( +/// The backend a deployment selects (#527 D3): `deploy.sandbox` +/// (LAYERFS_SANDBOX) unset or `docker` is Docker (`None`), `native` and +/// `namespaces` the local backends. This is the one place the setting is +/// validated; the agent only checks that each value's fields are present. +/// +/// The former pair keeps working for one release: `native` with +/// `deploy.sandboxBackend` (LAYERFS_SANDBOX_BACKEND) `namespaces` is +/// namespaces, and with it unset or `native` is native. Any other +/// combination with that setting set (`namespaces` with `native`, or `docker` +/// with either) is refused, naming both settings. The namespace backend is +/// Linux only. Every refusal comes before any effect. +pub(crate) fn backend(deploy: &SdkValue) -> Result, SdkRefusal> { + let sandbox = deploy.get_text("sandbox"); + let selected = match sandbox { + None | Some("docker") => None, + Some(NATIVE) => Some(Backend::Native), + Some(NAMESPACES) => Some(Backend::Namespaces), + Some(other) => { + return Err(refused( + "InvalidInput", + format!( + "deploy.sandbox (LAYERFS_SANDBOX) is docker, native (Linux or macOS) or \ + namespaces (Linux), not {other}" + ), + )) + } + }; + let selected = match (selected, deploy.get_text("sandboxBackend")) { + (selected, None) => selected, + (Some(Backend::Native), Some(NATIVE)) => Some(Backend::Native), + (Some(Backend::Native | Backend::Namespaces), Some(NAMESPACES)) => { + Some(Backend::Namespaces) + } + (_, Some(old)) if old != NATIVE && old != NAMESPACES => { + return Err(refused( + "InvalidInput", + format!( + "deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) is native or namespaces, \ + not {old}; it is replaced by LAYERFS_SANDBOX=native or namespaces" + ), + )) + } + (_, Some(old)) => { + return Err(refused( + "InvalidInput", + format!( + "deploy.sandbox (LAYERFS_SANDBOX) {} conflicts with deploy.sandboxBackend \ + (LAYERFS_SANDBOX_BACKEND) {old}: LAYERFS_SANDBOX_BACKEND, kept for one \ + release, only refines LAYERFS_SANDBOX=native. Set LAYERFS_SANDBOX to docker, \ + native or namespaces and leave LAYERFS_SANDBOX_BACKEND unset", + sandbox.unwrap_or("unset (docker)") + ), + )) + } + }; + if selected == Some(Backend::Namespaces) && !cfg!(target_os = "linux") { + return Err(refused( "Unsupported", - "deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) namespaces is Linux only; use native", - )), - Some(other) => Err(refused( - "InvalidInput", - format!( - "deploy.sandboxBackend (LAYERFS_SANDBOX_BACKEND) is native or namespaces, not {other}" - ), - )), + "deploy.sandbox (LAYERFS_SANDBOX) namespaces is Linux only; use native", + )); } + Ok(selected) } -/// Whether the deployment selects a local daemon: `deploy.sandbox` unset or -/// `docker` is Docker, `native` is a local daemon; anything else (the -/// former `local` included) is refused before any effect. -pub(crate) fn local(deploy: &SdkValue) -> Result { - match deploy.get_text("sandbox") { - None | Some("docker") => Ok(false), - Some(NATIVE) => Ok(true), - Some(other) => Err(refused( - "InvalidInput", - format!("deploy.sandbox (LAYERFS_SANDBOX) is docker or native (Linux or macOS), not {other}"), - )), +/// The backend a Sandbox record names, from its `runtime`: Docker (`None`, +/// a Docker record has none), native or namespaces. A record of the former +/// `local` runtime, or of an unknown one, names none of them (`Err`, with +/// that runtime). +pub(crate) fn recorded(record: &SdkValue) -> Result, &str> { + match record.get_text("runtime") { + None => Ok(None), + Some(NATIVE) => Ok(Some(Backend::Native)), + Some(NAMESPACES) => Ok(Some(Backend::Namespaces)), + Some(other) => Err(other), } } -/// Whether the deployment selects the native route: FUSE on Linux, -/// loopback NFS on macOS, with no Docker. -pub(crate) fn native(deploy: &SdkValue) -> bool { - deploy.get_text("sandbox") == Some(NATIVE) -} - /// The image a Sandbox reports: its container's, the digest a namespaces /// Sandbox's root is an overlay of, or `local` for a native one. pub(crate) fn image(runtime: &Sandbox) -> String { diff --git a/engine/crates/layerfs-node/src/sandbox.rs b/engine/crates/layerfs-node/src/sandbox.rs index 142543e141..983bf70a96 100644 --- a/engine/crates/layerfs-node/src/sandbox.rs +++ b/engine/crates/layerfs-node/src/sandbox.rs @@ -20,9 +20,9 @@ use layerfs_api::{OperationFailure, SandboxApi, SandboxCause, SandboxPhase}; use layerfs_bridge::control::{SdkRefusal, SdkValue}; use layerfs_bridge::daemon_setup::{DaemonLimits, DaemonPostgres, DaemonSetup}; use layerfs_bridge::provision::StoreManifest; -use layerfs_sandbox::backend::docker::{CreatePhase, Docker, DockerProvider}; -use layerfs_sandbox::provider::{LaunchRequest, ProviderLaunchOptions}; +use layerfs_sandbox::docker::{CreatePhase, Docker, DockerProvider}; use layerfs_sandbox::Runtime; +use layerfs_sandbox::{LaunchRequest, ProviderLaunchOptions}; use std::path::{Path, PathBuf}; use std::sync::Arc; use std::time::Duration; @@ -87,6 +87,25 @@ pub(crate) fn setup(private: [u8; 32], peer: [u8; 32]) -> DaemonSetup { /// A container name prefix when the deployment sets none. pub(crate) const PREFIX: &str = "layerfs-"; +/// Sandbox `id`'s name, on every backend: `-`, or +/// `.-` for a project of a shared Store (#506). +/// The prefix is the deployment's (`layerfs-` by default; another LayerFS +/// home on the same Engine sets its own), so `docker ps` says what each +/// container is and whose, and a native or namespaces Sandbox's directory +/// carries the name its container would have. +pub(crate) fn sandbox_name(args: &SdkValue, id: &str) -> Result { + let prefix = args + .get("deploy") + .and_then(|d| d.get_text("containerPrefix")) + .filter(|prefix| !prefix.is_empty()) + .unwrap_or(PREFIX); + let project = text(args, "project")?; + Ok(match crate::stores::shared_store(args)? { + Some(store) => format!("{prefix}{store}.{project}-{id}"), + None => format!("{prefix}{project}-{id}"), + }) +} + /// The container labels of Sandbox `id` of `project`: what it is, whose, /// and which. Saved in its record, so a reopen expects the same. /// A project of a shared Store (#506) also carries `layerfs.store`. @@ -139,21 +158,21 @@ pub(crate) fn start( .get("deploy") .ok_or_else(|| refused("InvalidInput", "missing `deploy`"))?; // Inputs are read first, so a refused request leaves no creation intent. - if crate::runtime::local(deploy)? { + if let Some(backend) = crate::runtime::backend(deploy)? { let DaemonStore::File(file) = store else { return Err(refused( "Unsupported", - "a native Sandbox's daemon opens a Store file; a Sandbox of a PostgreSQL Store runs in Docker", + "a native or namespaces Sandbox's daemon opens a Store file; a Sandbox of a PostgreSQL Store runs in Docker", )); }; #[cfg(any(target_os = "linux", target_os = "macos"))] { let (project, installed) = *file; - return crate::local::start(args, directory, (&project, installed)); + return crate::local::start(args, directory, (&project, installed), backend); } #[cfg(not(any(target_os = "linux", target_os = "macos")))] { - drop(file); + drop((file, backend)); return Err(refused( "Unsupported", "LAYERFS_SANDBOX=native requires Linux (FUSE) or macOS (loopback NFS); use Docker", @@ -256,20 +275,8 @@ fn start_claimed( } DaemonStore::Postgres(selected) => daemon_setup.postgresql = Some(selected.clone()), } - // The container is `-`: the deployment's prefix - // (`layerfs-` by default; another LayerFS home on the same Engine sets - // its own), so `docker ps` says what each one is and whose. - let prefix = args - .get("deploy") - .and_then(|d| d.get_text("containerPrefix")) - .filter(|prefix| !prefix.is_empty()) - .unwrap_or(PREFIX); - // a project of a shared Store (#506): `.-` let store = crate::stores::shared_store(args)?; - let container_name = match &store { - Some(store) => format!("{prefix}{store}.{name}-{id}"), - None => format!("{prefix}{name}-{id}"), - }; + let container_name = sandbox_name(args, id)?; let docker = Docker::new(docker, ENGINE) .map_err(failed)? .naming(&container_name) @@ -351,7 +358,7 @@ fn settled(failure: &ProviderFailure) -> bool { SandboxCause::Provider(launch) => match &launch.cause { layerfs_sandbox::RuntimeError::Docker(docker_failure) => { match docker_failure.as_ref() { - layerfs_sandbox::backend::docker::ProviderFailure::Create(create) => { + layerfs_sandbox::docker::ProviderFailure::Create(create) => { create.phase == CreatePhase::Create && !matches!( create.transfer.cause, diff --git a/engine/crates/layerfs-node/src/workspace.rs b/engine/crates/layerfs-node/src/workspace.rs index 8dcb0c4ca9..90d9b4d247 100644 --- a/engine/crates/layerfs-node/src/workspace.rs +++ b/engine/crates/layerfs-node/src/workspace.rs @@ -138,8 +138,32 @@ fn observed( } } -/// The project's recorded Sandboxes, lowest number first, with each record. +/// The project's recorded Sandboxes that this deployment's backend may +/// reopen, lowest number first, with each record. A Docker record is every +/// deployment's, as before; a native or namespaces record is only its own +/// backend's, and a record of the former `local` runtime nobody's. The +/// others are left out, never refused, so one of them does not fail the +/// listing, reclaim or `sandbox.create` of the rest (#527 step 12); they are +/// neither reopened nor deleted here, and `runtime.sandbox.records` lists +/// them. Reopening one by its number is still refused (step 4). fn records(args: &SdkValue) -> Result, SdkRefusal> { + let deployed = match args.get("deploy") { + Some(deploy) => crate::runtime::backend(deploy)?, + None => None, + }; + let mut own = recorded_all(args)?; + own.retain(|(_, _, value)| match crate::runtime::recorded(value) { + Ok(None) => true, + Ok(backend) => backend == deployed, + Err(_) => false, + }); + Ok(own) +} + +/// Every recorded Sandbox of the project, lowest number first, with each record. +fn recorded_all( + args: &SdkValue, +) -> Result, SdkRefusal> { let mut found = Vec::new(); for id in crate::discovery::sandbox_ids(args)? { let directory = crate::discovery::sandbox_dir(args, &id)?; @@ -170,7 +194,8 @@ pub(crate) fn reclaim_gone(args: &SdkValue) -> Result<(), SdkRefusal> { /// counts its Workspace records. It reads records and inspects each /// container once; it starts nothing and changes nothing. A Sandbox found /// gone or stopped (an idle-closed one) is left out and its records kept: -/// `sandbox.create` and `runtime.sandbox.reclaim` remove them. +/// `sandbox.create` and `runtime.sandbox.reclaim` remove them. A Sandbox +/// of another backend than the deployment's is left out too ([`records`]). pub(crate) fn sandboxes(args: &SdkValue) -> Outcome { let mut items = Vec::new(); for (id, directory, value) in records(args)? { @@ -196,6 +221,78 @@ pub(crate) fn sandboxes(args: &SdkValue) -> Outcome { ])) } +/// `runtime.sandbox.records()`: every recorded Sandbox of the project, of +/// every backend, lowest number first: `{ sandbox, name, runtime, image, +/// state, workspaces }`, with `message` when `state` is `unknown`. `runtime` +/// is `docker`, `native`, `namespaces` (or `local`, the former runtime's); +/// `state` is `running`, `stopped`, `gone` (a Docker container no longer +/// there) or `unknown`. The deployment's backend is not consulted (#527 +/// step 12): a Docker record's container is inspected once at its own +/// Engine, a native or namespaces record's process is read from this kernel +/// by id, start time and boot, and a `local` record is never read. Nothing +/// is reopened, dialed, started or changed. +pub(crate) fn all_records(args: &SdkValue) -> Outcome { + let mut items = Vec::new(); + for (id, directory, value) in recorded_all(args)? { + let (runtime, state) = match crate::runtime::recorded(&value) { + Ok(None) => ( + "docker", + observed(args, &id, &value, &directory).map(|found| match found { + None => "running", + Some((_, true)) => "stopped", + Some((_, false)) => "gone", + }), + ), + Ok(Some(_)) => ( + value.get_text("runtime").unwrap_or_default(), + crate::discovery::local_running(&value).map(|alive| { + if alive { + "running" + } else { + "stopped" + } + }), + ), + Err(other) => ( + other, + Err(crate::job::refused( + "InvalidInput", + "a record of the former local runtime is never used", + )), + ), + }; + let mut fields = vec![ + ("sandbox", SdkValue::text(&id)), + ( + "name", + SdkValue::text(value.get_text("name").unwrap_or_default()), + ), + ("runtime", SdkValue::text(runtime)), + ( + "image", + SdkValue::text(value.get_text("image").unwrap_or_default()), + ), + ("workspaces", SdkValue::Int(recorded(&directory)? as i64)), + ]; + match state { + Ok(state) => fields.push(("state", SdkValue::text(state))), + Err(refusal) => fields.extend([ + ("state", SdkValue::text("unknown")), + ("message", SdkValue::text(refusal.message)), + ]), + } + items.push(SdkValue::Map( + (fields.into_iter()) + .map(|(name, value)| (name.to_owned(), value)) + .collect(), + )); + } + Ok(SdkValue::map([ + ("kind", SdkValue::text("ok")), + ("items", SdkValue::List(items)), + ])) +} + /// `runtime.sandbox.reclaim()`: removes the records of the project's /// Sandboxes whose containers are gone or stopped (and a stopped one's /// container), each under the project's guard, so their numbers are free diff --git a/engine/crates/layerfs-node/tests/README.md b/engine/crates/layerfs-node/tests/README.md index ac60e9b58e..2cf0bc5833 100644 --- a/engine/crates/layerfs-node/tests/README.md +++ b/engine/crates/layerfs-node/tests/README.md @@ -31,8 +31,10 @@ Node process; the fixture's fork is bounded and released on test unwinding. deployment puts that Sandbox is refused and nothing is deleted, the configured `localDir` must be absolute and plain, a stopped native Sandbox is deleted and its number freed, a damaged boot or port is refused, a native record is used only by -a native deployment, and a record of the former `local` runtime is never used or -deleted. Record handling is the same code on Linux and macOS, so it runs here; +a native deployment (another deployment's reclaim leaves it out, its close +refuses it), a record of the former `local` runtime is never used or +deleted, `LAYERFS_SANDBOX` maps the former pair and refuses conflicts, and +`runtime.sandbox.records` lists every backend's record with its state. Record handling is the same code on Linux and macOS, so it runs here; starting a native Sandbox is supported on macOS (caller identity, loopback NFS) and Linux (root daemon, nonroot 501:20 commands, FUSE). Linux lifecycle qualification also runs `layerfs-sandbox --test native_provider` as root and the SDK smoke with `LAYERFS_SANDBOX=native`. `native_admission` covers initial connection admission and its `Busy` deadline. diff --git a/engine/crates/layerfs-node/tests/native_local.rs b/engine/crates/layerfs-node/tests/native_local.rs index b6c8a7ba2d..400937fb01 100644 --- a/engine/crates/layerfs-node/tests/native_local.rs +++ b/engine/crates/layerfs-node/tests/native_local.rs @@ -250,21 +250,43 @@ fn a_docker_record_stays_docker_under_a_native_deployment() { assert!(home.0.join("proj/sandboxes/1/sandbox.record").exists()); } +/// `sandbox.close` of Sandbox 1 under a `deploy` (JavaScript object text): +/// it reopens the record, so another backend's is refused (#527 step 4). +fn close_refused_as_mixed(home: &Home, deploy: &str) { + home.node( + &format!( + "const r = await native.call('sandbox.close', {{...args, deploy:{deploy}}}); + {NEITHER} + assert.match(r.refused.message, /never mixed/);" + ), + None, + Duration::from_secs(10), + ); +} + +/// Reclaim under `deploy` leaves another backend's record out: nothing is +/// reclaimed, nothing is refused (#527 step 12). +const LEFT_OUT: &str = "assert.deepEqual(r, {value:{kind:'ok',reclaimed:[]}});"; + #[test] fn a_record_of_the_former_local_runtime_is_never_used_nor_deleted() { let home = Home::new(); let root = root(&home); let own = own(&root); - let mixed = "assert.equal(r.refused?.code, 'InvalidInput', JSON.stringify(r)); - assert.match(r.refused.message, /never mixed/); - assert.match(r.refused.message, /neither used nor deleted/);"; - // a record of the former `local` runtime is used by no deployment + let native = format!("{{sandbox:'native', localDir:{:?}}}", text(&root)); + // a record of the former `local` runtime is used by no deployment: a + // reclaim leaves it out, a reopen refuses it record(&home, "local", text(&own), "layerfs-proj-1", |_| {}); - reclaim(&home, "native", Some(text(&root)), mixed); - reclaim(&home, "docker", Some(text(&root)), mixed); + reclaim(&home, "native", Some(text(&root)), LEFT_OUT); + reclaim(&home, "docker", Some(text(&root)), LEFT_OUT); + close_refused_as_mixed(&home, &native); // nor is a native record by any deployment but a native one record(&home, "native", text(&own), "layerfs-proj-1", |_| {}); - reclaim(&home, "docker", Some(text(&root)), mixed); + reclaim(&home, "docker", Some(text(&root)), LEFT_OUT); + close_refused_as_mixed( + &home, + &format!("{{sandbox:'docker', localDir:{:?}}}", text(&root)), + ); assert!(own.join("daemon.log").exists()); assert!(home.0.join("proj/sandboxes/1/sandbox.record").exists()); // a native deployment uses its own record: stopped, it is reclaimed @@ -272,3 +294,156 @@ fn a_record_of_the_former_local_runtime_is_never_used_nor_deleted() { assert!(!own.exists()); assert!(!home.0.join("proj/sandboxes/1").exists()); } + +#[test] +fn a_native_record_is_not_reopened_by_a_namespaces_deployment() { + // #527 step 4: reopen requires the deployment's own backend both ways; a + // namespaces deployment does not take a native record as its own, and + // since step 12 its reclaim leaves the record out instead of failing + let home = Home::new(); + let root = root(&home); + let own = own(&root); + record(&home, "native", text(&own), "layerfs-proj-1", |_| {}); + reclaim(&home, "namespaces", Some(text(&root)), LEFT_OUT); + close_refused_as_mixed( + &home, + &format!("{{sandbox:'namespaces', localDir:{:?}}}", text(&root)), + ); + assert!(own.join("daemon.log").exists()); + assert!(home.0.join("proj/sandboxes/1/sandbox.record").exists()); + // the same record under a native deployment is its own: reclaimed + reclaim(&home, "native", Some(text(&root)), RECLAIMED); + assert!(!own.exists()); +} + +#[test] +fn every_backend_s_record_is_listed_with_its_runtime_and_state() { + // #527 step 12: runtime.sandbox.records lists a record of any backend + // without matching the deployment's; list_sandboxes and reclaim of a + // Docker deployment leave a native record out instead of failing + let home = Home::new(); + let root = root(&home); + let own = own(&root); + let records = + "await native.backendCall('runtime.sandbox.records', {...args, deploy:{sandbox:'docker'}})"; + let listed = + "await native.call('project.list_sandboxes', {...args, deploy:{sandbox:'docker'}})"; + // a native daemon long gone: stopped + record(&home, "native", text(&own), "layerfs-proj-1", |_| {}); + home.node( + &format!( + "assert.deepEqual({records}, {{value:{{kind:'ok', items:[{{sandbox:'1', name:'layerfs-proj-1', runtime:'native', image:'local', workspaces:0, state:'stopped'}}]}}}}); + assert.deepEqual({listed}, {{value:{{kind:'ok', items:[]}}}});" + ), + None, + Duration::from_secs(10), + ); + reclaim(&home, "docker", None, LEFT_OUT); + // a namespaces record whose process runs (this test's own): running + let stat = std::fs::read_to_string("/proc/self/stat").unwrap(); + let start = stat[stat.rfind(')').unwrap() + 2..] + .split(' ') + .nth(19) + .unwrap() + .to_owned(); + let digest = format!("sha256:{}", "a".repeat(64)); + record( + &home, + "namespaces", + text(&own), + "layerfs-proj-1", + |fields| { + set("pid", Some(SdkValue::Int(i64::from(std::process::id()))))(fields); + set("start", Some(SdkValue::text(&start)))(fields); + set("image", Some(SdkValue::text(&digest)))(fields); + }, + ); + home.node( + &format!( + "const r = {records}; + assert.deepEqual(r.value.items.map((s) => [s.runtime, s.state, s.image]), [['namespaces', 'running', {digest:?}]]); + assert.deepEqual({listed}, {{value:{{kind:'ok', items:[]}}}});" + ), + None, + Duration::from_secs(10), + ); + // a record of the former local runtime is listed and never read + record(&home, "local", text(&own), "layerfs-proj-1", |_| {}); + home.node( + &format!( + "const [item] = ({records}).value.items; + assert.deepEqual([item.runtime, item.state], ['local', 'unknown']); + assert.match(item.message, /never used/);" + ), + None, + Duration::from_secs(10), + ); + assert!(own.join("daemon.log").exists(), "listing deletes nothing"); + assert!(home.0.join("proj/sandboxes/1/sandbox.record").exists()); +} + +#[test] +fn one_sandbox_setting_maps_the_former_pair_and_refuses_conflicts() { + // #527 step 11 (D3): LAYERFS_SANDBOX=docker|native|namespaces is the one + // setting; the binding validates it and maps the former pair. A + // namespaces record makes the call read its deployment's backend. + let home = Home::new(); + let root = root(&home); + let own = own(&root); + let digest = format!("sha256:{}", "a".repeat(64)); + record( + &home, + "namespaces", + text(&own), + "layerfs-proj-1", + set("image", Some(SdkValue::text(&digest))), + ); + for (deploy, message) in [ + ( + "sandbox:'namespaces', sandboxBackend:'native'", + r"deploy\.sandbox \(LAYERFS_SANDBOX\) namespaces conflicts with deploy\.sandboxBackend \(LAYERFS_SANDBOX_BACKEND\) native", + ), + ( + "sandbox:'docker', sandboxBackend:'namespaces'", + r"\(LAYERFS_SANDBOX\) docker conflicts with .*\(LAYERFS_SANDBOX_BACKEND\) namespaces", + ), + ( + "sandboxBackend:'namespaces'", + r"\(LAYERFS_SANDBOX\) unset \(docker\) conflicts", + ), + ( + "sandbox:'native', sandboxBackend:'podman'", + r"\(LAYERFS_SANDBOX_BACKEND\) is native or namespaces, not podman", + ), + ( + "sandbox:'podman'", + r"\(LAYERFS_SANDBOX\) is docker, native \(Linux or macOS\) or namespaces \(Linux\), not podman", + ), + ] { + home.node( + &format!( + "const r = await native.backendCall('runtime.sandbox.reclaim', {{...args, deploy:{{{deploy}, localDir:{:?}}}}}); + assert.equal(r.refused?.code, 'InvalidInput', JSON.stringify(r)); + assert.match(r.refused.message, /{message}/);", + text(&root) + ), + None, + Duration::from_secs(10), + ); + } + assert!(own.join("daemon.log").exists()); + assert!(home.0.join("proj/sandboxes/1/sandbox.record").exists()); + // the former pair with the native backend named is native: a stopped + // native record is its own and is reclaimed + record(&home, "native", text(&own), "layerfs-proj-1", |_| {}); + home.node( + &format!( + "const r = await native.backendCall('runtime.sandbox.reclaim', {{...args, deploy:{{sandbox:'native', sandboxBackend:'native', localDir:{:?}}}}}); + {RECLAIMED}", + text(&root) + ), + None, + Duration::from_secs(10), + ); + assert!(!own.exists()); +} diff --git a/engine/crates/layerfs-sandbox/PROVIDERS.md b/engine/crates/layerfs-sandbox/PROVIDERS.md index 6a42ef07fd..9bdca7c78d 100644 --- a/engine/crates/layerfs-sandbox/PROVIDERS.md +++ b/engine/crates/layerfs-sandbox/PROVIDERS.md @@ -2,14 +2,35 @@ Status: Current general guide. -`backend::runtime` holds the concrete runtime choice and the launched owner. +`src/runtime.rs` holds the concrete runtime choice and the launched owner. There are no provider or instance traits: each backend is an ordinary concrete type and the only dispatch is one `match` per method. +Each backend has one folder under `src/platform/`, named as `LAYERFS_SANDBOX` +names it: `docker/`, `native/` (with its OS facts in `native/linux/` and +`native/macos/`) and `namespaces/` (Linux). Here `platform/` means the +backend; in `@layerfs/runtime` it means placement (#527 D7). The modules are +private: callers use the crate root and one public module per backend, +`layerfs_sandbox::docker`, `::native` and `::namespaces` (#527 step 9b; they +were under `layerfs_sandbox::backend`). The root re-exports `Runtime`, +`Sandbox`, `LaunchFailure`, the shared types, `Docker`, the four providers +(`DockerProvider`, `NativeMacosProvider`, `NativeLinuxProvider`, +`NamespaceProvider`) and `HelperSpec`. + +The same file names hold the same roles in every backend: `provider.rs` (what +`Runtime` holds), `create.rs` (start one Sandbox), `sandbox.rs` (a running +Sandbox: stop, delete, inspect) and `exec.rs` (one command); `listener.rs` and +`streams.rs` match between Docker and native. Docker's Engine HTTP client is +`docker/client/` (`http`, `socket`, `body`, `mux`, `version`). Native reads its +OS facts through the alias `os` (`native/linux/` or `native/macos/`). Every +backend's `run` returns the shared `ExecExit` (native's `LocalExit` is gone), +and the `DockerInstance`, `NativeLinuxInstance` and `NativeMacosInstance` +aliases are removed (#527 step 9c). + - `Runtime` is one deployment's selection and is kept for every Sandbox it starts: `Docker(DockerProvider)` (the default), `MacosNative(NativeMacosProvider)`, - `LinuxNative(NativeLinuxProvider)`, `Namespaces(NamespaceProvider)` (Linux - only) and `Windows`, a placeholder with no backend. + `LinuxNative(NativeLinuxProvider)` and `Namespaces(NamespaceProvider)` (Linux + only). `Runtime::{capabilities, local_directory, native_paths, launch, reopen, reopen_stopped}` dispatch to them. - `Sandbox` is what `Runtime::launch`/`reopen` return: `Docker(docker::Sandbox)`, @@ -17,13 +38,20 @@ type and the only dispatch is one `match` per method. `identity`, `endpoint`, `run`, `track`, `log_tail`, `inspect`, `stop`, `delete`, `scratch_directory`, `local_record` and `record`. -`layerfs_sandbox::{Runtime, Sandbox}` re-export both. `provider` keeps the -inputs and observations they share: `LaunchRequest`, `ProviderLaunchOptions`, -`LocalRecord`, `DockerRecord`, `SandboxRecord`, `ExecExit`, -`SandboxInspection`, `ProviderCapabilities` and the `LaunchPhase`/`LaunchFailure` -pair. The runtime layer has no daemon control dependency. `backend::HelperSpec` +`layerfs_sandbox::{Runtime, Sandbox, LaunchFailure}` re-export them; +`LaunchFailure` (which holds a `Sandbox`) lives beside them in +`src/runtime.rs`. The inputs and observations every backend shares are in +the crate's private `types/` and re-exported at the root: +`LaunchRequest`, `LaunchPhase`, `ProviderLaunchOptions`, `LocalRecord`, +`NamespaceRecord`, `DockerRecord`, `SandboxRecord`, `ExecExit`, +`SandboxInspection` and `ProviderCapabilities` (#527 step 9a; they were under +`layerfs_sandbox::provider`). `types/` depends on no backend except through +`RuntimeError::Docker`; the conversions between `DockerRecord` and Docker's +`SandboxRequest` are Docker's own. The runtime layer has no daemon control +dependency. `HelperSpec` (`src/helper_spec.rs`) is the namespace helper's line format; it is compiled and tested on every -platform, while only the helper that reads it is Linux only. +Unix platform, while only the helper that reads it is Linux only. `src/json/` +streams the Engine's replies and the namespace backend's image manifests. ## Docker @@ -54,18 +82,20 @@ absent. user and serves loopback NFS; `Runtime::LinuxNative(NativeLinuxProvider::new(root))` runs a root daemon serving FUSE with ordinary commands as a nonroot identity. Each refuses the wrong platform before root access, and Linux refuses a non-root -caller the same way. `backend::native` owns the one lifecycle both use; only the +caller the same way. `native` owns the one lifecycle both use; only the platform facts differ: -- `backend::macos`: `darwin.rs` (`proc_pidinfo`, `sysctl`, the `mount` table and +- `native/macos/`: `darwin.rs` (`proc_pidinfo`, `sysctl`, the `mount` table and `umount -f`) and `mounts.rs` (force detach, deepest first). -- `backend::linux`: `process.rs` (`/proc//stat`, the boot id and the +- `native/linux/`: `process.rs` (`/proc//stat`, the boot id and the process table) and `mounts.rs` (`/proc/self/mountinfo`, lazy `MNT_DETACH`). The provider validates the command identity, the environment it is given and the daemon executable, then starts one daemon in a private directory with the -platform's kernel marker (`LAYERFS_KERNEL=fuse` on Linux, `nfs` on macOS); it -rejects conflicting overrides. Launch preserves the original single-attempt +platform's kernel route (`LAYERFS_KERNEL=fuse` on Linux, `nfs` on macOS). Only +the provider names the route: a caller environment that names +`LAYERFS_KERNEL` at all is refused at `Validate` (#527 step 6), and the daemon +refuses at startup any route other than `fuse` or `nfs` (only `nfs` on macOS). Launch preserves the original single-attempt process lifecycle and partial owner on failure. `inspect` reports exact process liveness; unknown exit/storage facts stay absent. Records remain the Node binding's responsibility; runtimes neither scan directories nor infer project @@ -79,15 +109,15 @@ PID and IPC namespaces and its own cgroup v2 directory. The VM that holds this kernel is the boundary (one per Store); the namespaces keep Sandboxes on one Store out of each other. -- `backend::namespaces::create` makes the Sandbox's private directory, copies +- `namespaces/create.rs` makes the Sandbox's private directory, copies the daemon to `/bin/layerfs-daemon` (0755), writes the setup (0600) and a `HelperSpec`, makes `/sys/fs/cgroup/layerfs/`, then spawns the helper's init stage. -- `backend::namespaces::sandbox` owns the launched handle: the init process's +- `namespaces/sandbox.rs` owns the launched handle: the init process's identity, `cgroup.kill` for stop (a `SIGKILL` to everything the Sandbox started, `populated 0` awaited), cgroup and directory removal on delete, and reopen by the recorded process plus its cgroup membership. -- `backend::namespaces::exec` runs one command through the helper's exec stage. +- `namespaces/exec.rs` runs one command through the helper's exec stage. - `src/bin/layerfs-sandbox-helper` performs the calls that act on the calling process, so the product crate stays `unsafe`-free: the init stage creates the namespaces, joins the cgroup and starts the inner stage (PID 1), which mounts @@ -110,12 +140,11 @@ keeps the same physical facts as `LocalRecord`. ## Windows -`Runtime::Windows` is a placeholder: `capabilities`, `local_directory`, -`native_paths`, `launch`, `reopen` and `reopen_stopped` all refuse with the -existing `RuntimeError::Unsupported` before any effect, and no `Sandbox` variant -exists for it. No Windows host runtime is implemented; see -[`src/backend/windows/README.md`](src/backend/windows/README.md) for the planned -routes. +There is no Windows backend and no Windows variant (#527 D2). Windows runs the +Linux build: through the WSL2 worker on a local placement, or in a Linux VM +(`vm:`). The backends and `Runtime` are Unix only; the crate's shared +types still compile for Windows, and a build-only CI lane reports whether they +do (#527 D6). ## Failure and records diff --git a/engine/crates/layerfs-sandbox/examples/engine_streams.rs b/engine/crates/layerfs-sandbox/examples/engine_streams.rs index 2ef067fc16..0ae3fb7d31 100644 --- a/engine/crates/layerfs-sandbox/examples/engine_streams.rs +++ b/engine/crates/layerfs-sandbox/examples/engine_streams.rs @@ -1,6 +1,6 @@ //! Actual ordinary Engine exec/stdio/status on an explicitly caller-selected container. use layerfs_sandbox::{ - backend::docker::{Docker, ExecRequest}, + docker::{Docker, ExecRequest}, CommandIdentity, ContainerId, }; use std::{ diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/headers.rs b/engine/crates/layerfs-sandbox/src/backend/docker/headers.rs deleted file mode 100644 index 6fd3a7d096..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/docker/headers.rs +++ /dev/null @@ -1,30 +0,0 @@ -//! One strict header grammar shared by initial metadata and chunk trailers. -use std::io; -pub(super) fn field(row: &[u8]) -> io::Result<(&[u8], &[u8])> { - let colon = row - .iter() - .position(|b| *b == b':') - .ok_or_else(|| invalid("HTTP header colon"))?; - let name = &row[..colon]; - if name.is_empty() - || !name - .iter() - .all(|b| b.is_ascii_alphanumeric() || b"!#$%&'*+-.^_`|~".contains(b)) - { - return Err(invalid("HTTP header name")); - } - let mut value = &row[colon + 1..]; - while matches!(value.first(), Some(b' ' | b'\t')) { - value = &value[1..] - } - while matches!(value.last(), Some(b' ' | b'\t')) { - value = &value[..value.len() - 1] - } - if value.iter().any(|b| (*b < 32 && *b != b'\t') || *b == 127) { - return Err(invalid("HTTP header control")); - } - Ok((name, value)) -} -fn invalid(message: &'static str) -> io::Error { - io::Error::new(io::ErrorKind::InvalidData, message) -} diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/inspect.rs b/engine/crates/layerfs-sandbox/src/backend/docker/inspect.rs deleted file mode 100644 index 1a81fc2baf..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/docker/inspect.rs +++ /dev/null @@ -1,96 +0,0 @@ -//! One exact runtime observation, structurally decoded without retaining Arguments. -use super::Docker; -use crate::backend::json::{once, Json}; -use crate::{ContainerId, ExecId, ExecInspection, RuntimeError, WireFailure}; -impl Docker { - /// Reads one coherent runtime snapshot. PID is diagnostic, never a signal target. - pub fn inspect_exec( - &self, - container: ContainerId, - exec: ExecId, - ) -> Result> { - let mut response = self - .exchange_kept("GET", &format!("/exec/{exec}/json"), |_| Ok(())) - .map_err(|mut failure| { - failure.requested_container = Some(container); - failure.requested_exec = Some(exec); - failure - })?; - if response.status != 200 { - let mut failure = response.fail(RuntimeError::Http(response.status), None); - failure.requested_container = Some(container); - failure.requested_exec = Some(exec); - return Err(failure); - } - let mut id = None; - let mut owner = None; - let parsed = (|| { - let mut running = None; - let mut exit = None; - let mut pid = None; - let mut fields = 0; - let mut j = Json::new(&mut response.body); - j.object(|j, key| { - if key.equals("ID") { - once(&mut fields, 1)?; - let value = j.string(true)?; - id = Some(ExecId::parse(value.text())?); - if value.overflow { - return Err(RuntimeError::Protocol("runtime ID width")); - } - } else if key.equals("ContainerID") { - once(&mut fields, 2)?; - let value = j.string(true)?; - owner = Some(ContainerId::parse(value.text())?); - if value.overflow { - return Err(RuntimeError::Protocol("container ID width")); - } - } else if key.equals("Running") { - once(&mut fields, 4)?; - running = Some(j.boolean()?); - } else if key.equals("ExitCode") { - once(&mut fields, 8)?; - if !j.null()? { - exit = Some( - i32::try_from(j.integer()?) - .map_err(|_| RuntimeError::Protocol("runtime exit width"))?, - ); - } - } else if key.equals("Pid") { - once(&mut fields, 16)?; - pid = Some( - u32::try_from(j.integer()?) - .map_err(|_| RuntimeError::Protocol("runtime PID width"))?, - ); - } else { - j.skip(1)?; - } - Ok(()) - })?; - j.finish()?; - if fields & 15 != 15 || id != Some(exec) || owner != Some(container) { - return Err(RuntimeError::Protocol("runtime identity/required fields")); - } - Ok(ExecInspection { - container, - exec, - running: running.expect("required"), - exit_code: exit, - pid, - }) - })(); - match parsed { - Ok(inspection) => { - response.release(); - Ok(inspection) - } - Err(cause) => { - let mut failure = response.fail(cause, id); - failure.observed_container = owner; - failure.requested_container = Some(container); - failure.requested_exec = Some(exec); - Err(failure) - } - } - } -} diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/mod.rs b/engine/crates/layerfs-sandbox/src/backend/docker/mod.rs deleted file mode 100644 index e02b4a03b2..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/docker/mod.rs +++ /dev/null @@ -1,33 +0,0 @@ -//! Local Docker Engine API1.48 to 1.54, negotiated once, with exact IDs and no command replay. -mod archive; -mod body; -mod container; -mod container_types; -mod endpoint; -mod headers; -mod http; -mod inspect; -mod listener; -mod mux; -mod provider; -mod provider_exec; -mod provider_failure; -mod request; -mod socket; -mod streams; -mod topology; -mod version; -pub use archive::{UploadFailure, UploadWork}; -pub use container_types::{ - CreatePhase, Sandbox, SandboxCreateFailure, SandboxDisposition, SandboxRequest, -}; -pub use http::Docker; -pub use listener::{ListenerFailure, ListenerObservation}; -pub use provider::{DockerInstance, DockerProvider}; -pub(crate) use provider_exec::run as run_command; -pub use provider_failure::ProviderFailure; -pub use request::{ExecCreateFailure, ExecCreated, ExecRequest}; -pub use streams::{ - Attached, ExecHandle, InputCloseFailure, InputEnd, OutputFailure, OutputProgress, RuntimeInput, - RuntimeOutput, SplitFailure, StartFailure, -}; diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/provider_exec.rs b/engine/crates/layerfs-sandbox/src/backend/docker/provider_exec.rs deleted file mode 100644 index 59a415d3a5..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/docker/provider_exec.rs +++ /dev/null @@ -1,100 +0,0 @@ -//! Ordinary noninteractive provider execution, with streamed output and exact failure custody. -use super::{ProviderFailure, Sandbox}; -use crate::{provider::ExecExit, ExecRequest, RuntimeError, WireFailure}; -use std::io::Write; -fn failure(container: crate::ContainerId, cause: ProviderFailure) -> Box { - // Scalar facts describe only the deciding exchange. Owned pending bytes, - // diagnostics and fence errors remain in the original nested receipt. - let wire = match &cause { - ProviderFailure::ExecCreate(f) => Some(f.transfer.as_ref()), - ProviderFailure::ExecStart(f) => Some(f.transfer.as_ref()), - ProviderFailure::ExecInspect { failure, .. } => Some(failure.as_ref()), - _ => None, - }; - let mut outer = WireFailure::local(RuntimeError::Protocol("provider execution")); - if let Some(wire) = wire { - outer.attempted = wire.attempted; - outer.sent_bytes = wire.sent_bytes; - outer.request_header_bytes = wire.request_header_bytes; - outer.sent_body_bytes = wire.sent_body_bytes; - outer.status = wire.status; - outer.observed_exec = wire.observed_exec; - outer.observed_container = wire.observed_container; - outer.requested_exec = wire.requested_exec; - } else { - // Attachment/splitting, output and exit observation follow an attempted Start. - outer.attempted = true; - } - outer.requested_container = Some(container); - outer.requested_exec = outer.requested_exec.or_else(|| match &cause { - ProviderFailure::ExecStart(f) => Some(f.created.identity().1), - ProviderFailure::ExecOutput { handle, .. } - | ProviderFailure::ExecInspect { handle, .. } - | ProviderFailure::ExecExitUnknown { handle, .. } => Some(handle.identity().1), - _ => None, - }); - outer.cause = RuntimeError::Docker(Box::new(cause)); - outer -} -pub(crate) fn run( - sandbox: &Sandbox, - request: &ExecRequest, - mut stdout: &mut (dyn Write + Send), - mut stderr: &mut (dyn Write + Send), -) -> Result> { - if request.stdin { - return Err( - sandbox.invalid("provider run has no stdin source; use ordinary Docker streams") - ); - } - let id = sandbox.identity(); - let created = sandbox - .create_exec(request.clone()) - .map_err(|f| failure(id, ProviderFailure::ExecCreate(f)))?; - let attached = created - .start() - .map_err(|f| failure(id, ProviderFailure::ExecStart(f)))?; - let (input, output, handle) = attached - .into_parts() - .map_err(|f| failure(id, ProviderFailure::ExecSplit(f)))?; - // Stdin was disabled in the creation request; dropping it sends no cancellation. - drop(input); - let progress = match output.copy_to(&mut stdout, &mut stderr) { - Ok(progress) => progress, - Err(f) => { - return Err(failure( - id, - ProviderFailure::ExecOutput { failure: f, handle }, - )) - } - }; - let inspection = match handle.inspect() { - Ok(inspection) => inspection, - Err(f) => { - return Err(failure( - id, - ProviderFailure::ExecInspect { - failure: f, - handle, - progress, - }, - )) - } - }; - let Some(code) = inspection.known_root_exit() else { - return Err(failure( - id, - ProviderFailure::ExecExitUnknown { - inspection, - handle, - progress, - }, - )); - }; - Ok(ExecExit { - code, - pid: inspection.pid, - stdout_bytes: progress.stdout, - stderr_bytes: progress.stderr, - }) -} diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/request.rs b/engine/crates/layerfs-sandbox/src/backend/docker/request.rs deleted file mode 100644 index 5b283c9c85..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/docker/request.rs +++ /dev/null @@ -1,138 +0,0 @@ -//! One ordinary non-TTY Exec creation; exact acknowledged runtime custody. -use super::Docker; -use crate::backend::json::{once, Json}; -use crate::backend::strings::quoted; -pub use crate::ExecRequest; -use crate::{ContainerId, ExecId, RuntimeError, WireFailure}; -use std::io::{self, Write}; -impl ExecRequest { - fn encode(&self, out: &mut dyn Write) -> io::Result<()> { - out.write_all(b"{\"AttachStdout\":true,\"AttachStderr\":true,\"AttachStdin\":")?; - out.write_all(if self.stdin { b"true" } else { b"false" })?; - out.write_all(b",\"Tty\":false,\"Privileged\":false,\"User\":")?; - quoted(out, &format!("{}:{}", self.identity.uid, self.identity.gid))?; - out.write_all(b",\"WorkingDir\":")?; - quoted(out, &self.directory)?; - for (name, items) in [ - (b",\"Cmd\":".as_slice(), &self.arguments), - (b",\"Env\":".as_slice(), &self.environment), - ] { - out.write_all(name)?; - out.write_all(b"[")?; - for (n, item) in items.iter().enumerate() { - if n != 0 { - out.write_all(b",")?; - } - quoted(out, item)?; - } - out.write_all(b"]")?; - } - out.write_all(b"}") - } -} -/// One acknowledged Exec creation. Starting consumes it; no implicit replay. -#[derive(Debug)] -pub struct ExecCreated { - pub(super) docker: Docker, - pub(super) container: ContainerId, - pub(super) exec: ExecId, - pub(super) request: ExecRequest, - pub(super) start_attempted: bool, -} -/// Original request and transfer failure. A known partial ID is not a completed acknowledgment. -#[derive(Debug)] -pub struct ExecCreateFailure { - pub container: ContainerId, - pub request: ExecRequest, - pub transfer: Box, -} -impl Docker { - /// Creates one actual ordinary runtime Exec, once. This does not launch it yet. - pub fn create_exec( - &self, - container: ContainerId, - request: ExecRequest, - ) -> Result> { - let mut observed = None; - let result = (|| { - request.check().map_err(|cause| { - Box::new(WireFailure { - attempted: false, - sent_bytes: 0, - request_header_bytes: 0, - sent_body_bytes: 0, - pending_request: Default::default(), - status: None, - cause, - fence_error: None, - observed_exec: None, - observed_container: None, - requested_container: None, - requested_exec: None, - error_body: None, - }) - })?; - let mut response = - self.exchange_kept("POST", &format!("/containers/{container}/exec"), |w| { - request.encode(w) - })?; - if response.status != 201 { - return Err(response.fail(RuntimeError::Http(response.status), None)); - } - let parsed = (|| { - let mut json = Json::new(&mut response.body); - let mut fields = 0; - json.object(|j, key| { - if key.equals("Id") { - once(&mut fields, 1)?; - let value = j.string(true)?; - if value.overflow { - return Err(RuntimeError::Protocol("Exec ID length")); - } - observed = Some(ExecId::parse(value.text())?); - } else { - j.skip(1)?; - } - Ok(()) - })?; - json.finish()?; - observed.ok_or(RuntimeError::Protocol("missing Exec ID")) - })(); - match parsed { - Ok(exec) => { - response.release(); - Ok(exec) - } - Err(cause) => Err(response.fail(cause, observed)), - } - })(); - match result { - Ok(exec) => Ok(ExecCreated { - docker: self.clone(), - container, - exec, - request, - start_attempted: false, - }), - Err(mut transfer) => { - transfer.requested_container = Some(container); - Err(Box::new(ExecCreateFailure { - container, - request, - transfer, - })) - } - } - } -} - -impl ExecCreated { - /// Original acknowledged runtime identity, immutable through this owner. - pub fn identity(&self) -> (ContainerId, ExecId) { - (self.container, self.exec) - } - /// Original submitted command metadata; never a later inspection/refresh. - pub fn request(&self) -> &ExecRequest { - &self.request - } -} diff --git a/engine/crates/layerfs-sandbox/src/backend/identity.rs b/engine/crates/layerfs-sandbox/src/backend/identity.rs deleted file mode 100644 index 8e1c174c73..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/identity.rs +++ /dev/null @@ -1,16 +0,0 @@ -//! A fresh random identity in the Engine's form (64 lowercase hex, not all -//! zero), so records, names and the cgroup directory treat a local Sandbox -//! like a container. -use crate::{ContainerId, RuntimeError}; -use std::{fs::File, io::Read}; - -pub(crate) fn random() -> Result { - let mut bytes = [0u8; 32]; - File::open("/dev/urandom")?.read_exact(&mut bytes)?; - const HEX: &[u8; 16] = b"0123456789abcdef"; - let text: String = (bytes.iter()) - .flat_map(|b| [HEX[usize::from(b >> 4)], HEX[usize::from(b & 15)]]) - .map(char::from) - .collect(); - ContainerId::parse(&text) -} diff --git a/engine/crates/layerfs-sandbox/src/backend/mod.rs b/engine/crates/layerfs-sandbox/src/backend/mod.rs deleted file mode 100644 index 75d331e04a..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/mod.rs +++ /dev/null @@ -1,22 +0,0 @@ -//! Concrete ordinary runtime backends and the enum that selects one. -pub mod docker; -mod helper_spec; -#[cfg(any(target_os = "linux", target_os = "macos"))] -mod identity; -mod json; -#[cfg(target_os = "linux")] -pub(crate) mod linux; -#[cfg(any(target_os = "linux", target_os = "macos"))] -mod listener; -#[cfg(target_os = "macos")] -pub(crate) mod macos; -#[cfg(target_os = "linux")] -pub mod namespaces; -#[cfg(any(target_os = "linux", target_os = "macos"))] -pub mod native; -pub mod runtime; -#[cfg(any(target_os = "linux", target_os = "macos"))] -mod streams; -mod strings; -pub use helper_spec::HelperSpec; -pub use runtime::{Runtime, Sandbox}; diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/mod.rs b/engine/crates/layerfs-sandbox/src/backend/namespaces/mod.rs deleted file mode 100644 index 72a70747a3..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/mod.rs +++ /dev/null @@ -1,23 +0,0 @@ -//! Linux namespace Sandboxes: each Sandbox is one daemon inside its own -//! mount, PID and IPC namespaces and its own cgroup v2 directory, on the one -//! kernel and one Store disk of the project's VM. Commands enter those -//! namespaces as a nonroot identity with no capabilities and no-new-privs, -//! and `cgroup.kill` ends everything the Sandbox started. -//! -//! The lifecycle is the local one (`crate::backend::native`): a private -//! directory per Sandbox, one daemon start and one listener wait, a record of -//! the daemon's exact process and its port. What this backend adds is outside -//! that daemon: the helper that builds the private root, the namespaces and -//! the cgroup. Nothing here is retried and no effect is undone implicitly. -mod cgroup; -mod create; -mod exec; -mod host; -mod paths; -mod provider; -pub mod rootfs; -mod sandbox; - -pub use provider::NamespaceProvider; -pub use rootfs::ImageRoot; -pub use sandbox::Sandbox; diff --git a/engine/crates/layerfs-sandbox/src/backend/windows/README.md b/engine/crates/layerfs-sandbox/src/backend/windows/README.md deleted file mode 100644 index b667620c81..0000000000 --- a/engine/crates/layerfs-sandbox/src/backend/windows/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Windows:占位(尚未实现) - -状态:占位。选到 `Runtime::Windows` 时返回既有的“不支持此平台”错误 -(`RuntimeError::Unsupported`),不 panic、不新建公开错误码、不产生任何副作用。 - -## 现在有什么 - -- `layerfs_sandbox::Runtime` 的四个取值:`Docker`、`MacosNative`、 - `LinuxNative`、`Windows`。前三个已有后端,Windows 只有这个变体。 -- `Runtime::{capabilities, local_directory, launch, reopen, reopen_stopped}` - 在 Windows 上全部返回 `Unsupported`;`Sandbox` 句柄没有 Windows 分支, - 因为 Windows 上不可能启动出实例。 -- `layerfs-sandbox` 的 `backend` 只在 unix 下编译,`layerfs-node` 也只用 - unix 系统调用,所以今天在 Windows 主机上选不到这个变体:它存在的意义是 - 把“没有 Windows 宿主运行时”写进类型,而不是让调用方自己判平台。 - -## 为什么不做“Windows 本地进程”后端 - -macOS 原生的前提是:daemon 以本用户身份跑 NFS 回环服务,命令以同一身份 -运行,一切在同一个内核里。Windows 上没有等价物:LayerFS 的 FUSE 服务端是 -Linux 内核特性,Store 的 WAL 与目录锁只在一个内核内协调(见 #352 直接 -Store 访问的安全条件),命令身份、挂载可见性和进程组语义都要另建一套。 -因此 Windows 的路线不是“再写一个本地后端”,而是把 Linux 侧的能力搬到一个 -Linux 宿主里。 - -## 计划方向 - -两条路线,都由 #515 的 placement 设置表达,而不是在 Windows 本机上跑 daemon: - -1. **WSL2 分发(近期)**:Windows 上的集成适配器把 SDK 调用转发给 - 每个 LayerFS home 一个的、仅回环且带密钥的 worker;worker 在一个选定的 - WSL2 Linux 分发里直接用真实 SDK 打开共享 Store(ext4/xfs/btrfs), - 并用该分发的 Docker Engine 起 Sandbox daemon。Windows 只拥有 UI、绑定和 - trace,Linux 拥有本地句柄和项目发现。这是仓库根 `AGENTS.md` 已记录的 - Windows 例外,规则不变:只连回环、每次调用只尝试一次、丢失的回复不重放、 - 结果不确定的 Init 保留其 Linux home 和卷。 -2. **Hyper-V / VM 方向(后续)**:每个 Store 一个 Linux VM,Sandbox 是 VM 内 - 的命名空间;宿主侧只通过一条私有流连到 VM 内的 worker。见 #515 §6 - (`vm:` placement 与各 provider 的 VM/磁盘/私有流对照表)和 - #512 的实验结论。 - -## 实现时要先定的事 - -- placement 与后端选择的设置名(#515 V9 提议 `LAYERFS_PLACEMENT` 与 - `LAYERFS_SANDBOX_BACKEND`,只读 `LAYERFS_*`;集成自己的前缀由集成映射)。 -- Windows 上 `deploy.sandbox`、`deploy.localDir` 等现有设置的语义:#515 - 要求 product SDK 与 daemon 不为 Windows 改动,Windows 差异留在适配器里。 -- 到那时 `Runtime` 是否新增一个持有 worker 端点的变体(那时才需要数据), - 以及记录里如何标注该 Sandbox 由哪个运行时创建(无字段即 Docker)。 diff --git a/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/init.rs b/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/init.rs index 1576db1163..ed1daf0652 100644 --- a/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/init.rs +++ b/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/init.rs @@ -4,7 +4,7 @@ //! retries anything: a failure ends the stage and is written to the Sandbox's //! daemon log, which the start's error keeps. use super::mounts; -use layerfs_sandbox::backend::HelperSpec; +use layerfs_sandbox::HelperSpec; use nix::{ sched::{unshare, CloneFlags}, sys::wait::{waitpid, WaitStatus}, diff --git a/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/mounts.rs b/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/mounts.rs index 426faba656..e19f143f09 100644 --- a/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/mounts.rs +++ b/engine/crates/layerfs-sandbox/src/bin/layerfs-sandbox-helper/mounts.rs @@ -6,7 +6,7 @@ //! private `/proc`, `/dev` and `/tmp` are mounted over the image's own. //! Nothing the Sandbox mounts reaches the VM's mount tree: the init stage made //! this mount namespace private first. -use layerfs_sandbox::backend::HelperSpec; +use layerfs_sandbox::HelperSpec; use nix::{ mount::{mount, umount2, MntFlags, MsFlags}, unistd::chdir, diff --git a/engine/crates/layerfs-sandbox/src/backend/helper_spec.rs b/engine/crates/layerfs-sandbox/src/helper_spec.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/helper_spec.rs rename to engine/crates/layerfs-sandbox/src/helper_spec.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/json.rs b/engine/crates/layerfs-sandbox/src/json.rs similarity index 97% rename from engine/crates/layerfs-sandbox/src/backend/json.rs rename to engine/crates/layerfs-sandbox/src/json.rs index 9fdc1c7728..8daf63014a 100644 --- a/engine/crates/layerfs-sandbox/src/backend/json.rs +++ b/engine/crates/layerfs-sandbox/src/json.rs @@ -1,7 +1,9 @@ //! Shallow negotiated Engine schema, streamed without collecting unknown values. +mod strings; use crate::RuntimeError; use std::io::Read; -pub(super) struct Json { +pub(crate) use strings::quoted; +pub(crate) struct Json { input: R, peeked: Option, } @@ -48,7 +50,7 @@ impl Json { } pub fn object( &mut self, - mut field: impl FnMut(&mut Self, &super::strings::Text) -> Result<(), RuntimeError>, + mut field: impl FnMut(&mut Self, &strings::Text) -> Result<(), RuntimeError>, ) -> Result<(), RuntimeError> { self.whitespace()?; self.expect(b'{')?; @@ -223,7 +225,7 @@ impl Json { Ok(()) } } -pub(super) fn once(bits: &mut u8, bit: u8) -> Result<(), RuntimeError> { +pub(crate) fn once(bits: &mut u8, bit: u8) -> Result<(), RuntimeError> { if *bits & bit != 0 { return Err(RuntimeError::Protocol("duplicate deciding JSON field")); } diff --git a/engine/crates/layerfs-sandbox/src/backend/strings.rs b/engine/crates/layerfs-sandbox/src/json/strings.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/strings.rs rename to engine/crates/layerfs-sandbox/src/json/strings.rs index fb22cf7c79..c78ee20f26 100644 --- a/engine/crates/layerfs-sandbox/src/backend/strings.rs +++ b/engine/crates/layerfs-sandbox/src/json/strings.rs @@ -1,8 +1,8 @@ //! Streaming JSON strings with exact UTF-8 and surrogate handling. -use super::json::Json; +use super::Json; use crate::RuntimeError; use std::io::{Read, Write}; -pub(super) struct Text { +pub(crate) struct Text { bytes: [u8; 128], len: usize, pub overflow: bool, @@ -146,7 +146,7 @@ impl Json { Ok(n) } } -pub(super) fn quoted(out: &mut (impl Write + ?Sized), value: &str) -> std::io::Result<()> { +pub(crate) fn quoted(out: &mut (impl Write + ?Sized), value: &str) -> std::io::Result<()> { out.write_all(b"\"")?; for c in value.chars() { match c { diff --git a/engine/crates/layerfs-sandbox/src/lib.rs b/engine/crates/layerfs-sandbox/src/lib.rs index 497fa2024b..e4f621a2b4 100644 --- a/engine/crates/layerfs-sandbox/src/lib.rs +++ b/engine/crates/layerfs-sandbox/src/lib.rs @@ -1,14 +1,35 @@ //! Ordinary runtime operations, separate from filesystem admission and data ownership. -// unsafe only in backend/macos/darwin.rs: macOS process facts come from -// proc_pidinfo, a system call (`ps` is setuid, which Seatbelt refuses) +//! +//! `platform/` holds one folder per Sandbox backend (`docker`, `native`, +//! `namespaces`), named as `LAYERFS_SANDBOX` names them; it means the backend +//! here, while `@layerfs/runtime`'s `platform/` means placement (#527 D7). +//! `runtime.rs` is the one `match` over the backends; `types/` holds what they +//! share; `json/` and `helper_spec.rs` are the shared formats. +// unsafe only in platform/native/macos/darwin.rs: macOS process facts come +// from proc_pidinfo, a system call (`ps` is setuid, which Seatbelt refuses) #![deny(unsafe_code)] #[cfg(unix)] -pub mod backend; -pub mod provider; +mod helper_spec; +#[cfg(unix)] +mod json; +#[cfg(unix)] +mod platform; +#[cfg(unix)] +mod runtime; mod types; #[cfg(unix)] -pub use backend::{Runtime, Sandbox}; +pub use helper_spec::HelperSpec; +#[cfg(unix)] +pub use platform::docker::{self, Docker, DockerProvider}; +#[cfg(target_os = "linux")] +pub use platform::namespaces::{self, NamespaceProvider}; +#[cfg(any(target_os = "linux", target_os = "macos"))] +pub use platform::native::{self, NativeLinuxProvider, NativeMacosProvider}; +#[cfg(unix)] +pub use runtime::{LaunchFailure, Runtime, Sandbox}; pub use types::{ - CommandIdentity, ContainerId, ErrorDiagnostic, ExecId, ExecInspection, ExecRequest, Image, - PendingRequest, RuntimeError, WireFailure, + CommandIdentity, ContainerId, DockerRecord, ErrorDiagnostic, ExecExit, ExecId, ExecInspection, + ExecRequest, Image, IsolationModel, LaunchPhase, LaunchRequest, LocalRecord, MountDriver, + NamespaceRecord, PendingRequest, ProviderCapabilities, ProviderLaunchOptions, RuntimeError, + SandboxId, SandboxInspection, SandboxRecord, SearchPathPolicy, WireFailure, }; diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/body.rs b/engine/crates/layerfs-sandbox/src/platform/docker/client/body.rs similarity index 81% rename from engine/crates/layerfs-sandbox/src/backend/docker/body.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/client/body.rs index b88f58dc9e..baf19a1250 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/body.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/client/body.rs @@ -1,13 +1,14 @@ -//! Exact HTTP framing; chunk sizes are counters, never allocations. -use super::headers::field; +//! Exact HTTP framing; chunk sizes are counters, never allocations. One +//! strict header grammar ([`field`]) is shared by initial metadata and chunk +//! trailers. use std::io::{self, Read}; -pub(super) enum Framing { +pub(in crate::platform::docker) enum Framing { Fixed(u64), Chunked, Close, Hijacked, } -pub(super) struct Body { +pub(in crate::platform::docker) struct Body { inner: R, mode: Framing, remaining: u64, @@ -150,7 +151,7 @@ impl Read for Body { } } } -pub(super) fn exact(reader: &mut impl Read, out: &mut [u8]) -> io::Result<()> { +pub(in crate::platform::docker) fn exact(reader: &mut impl Read, out: &mut [u8]) -> io::Result<()> { let mut done = 0; while done < out.len() { let n = reader.read(&mut out[done..])?; @@ -161,7 +162,10 @@ pub(super) fn exact(reader: &mut impl Read, out: &mut [u8]) -> io::Result<()> { } Ok(()) } -pub(super) fn line(reader: &mut impl Read, limit: usize) -> io::Result> { +pub(in crate::platform::docker) fn line( + reader: &mut impl Read, + limit: usize, +) -> io::Result> { let mut out = Vec::with_capacity(limit.min(256)); loop { let mut one = [0]; @@ -179,6 +183,32 @@ pub(super) fn line(reader: &mut impl Read, limit: usize) -> io::Result> out.push(one[0]); } } +/// One `name: value` header row, by the one grammar both header kinds use. +pub(super) fn field(row: &[u8]) -> io::Result<(&[u8], &[u8])> { + let colon = row + .iter() + .position(|b| *b == b':') + .ok_or_else(|| invalid("HTTP header colon"))?; + let name = &row[..colon]; + if name.is_empty() + || !name + .iter() + .all(|b| b.is_ascii_alphanumeric() || b"!#$%&'*+-.^_`|~".contains(b)) + { + return Err(invalid("HTTP header name")); + } + let mut value = &row[colon + 1..]; + while matches!(value.first(), Some(b' ' | b'\t')) { + value = &value[1..] + } + while matches!(value.last(), Some(b' ' | b'\t')) { + value = &value[..value.len() - 1] + } + if value.iter().any(|b| (*b < 32 && *b != b'\t') || *b == 127) { + return Err(invalid("HTTP header control")); + } + Ok((name, value)) +} fn invalid(message: &'static str) -> io::Error { io::Error::new(io::ErrorKind::InvalidData, message) } diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/http.rs b/engine/crates/layerfs-sandbox/src/platform/docker/client/http.rs similarity index 96% rename from engine/crates/layerfs-sandbox/src/backend/docker/http.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/client/http.rs index aecc3b0ee7..d8bcb4da7d 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/http.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/client/http.rs @@ -1,7 +1,6 @@ //! One-attempt local Engine HTTP exchange and original transfer custody. use super::{ - body::{line, Body, Framing}, - headers::field, + body::{field, line, Body, Framing}, socket::Socket, }; use crate::{ErrorDiagnostic, ExecId, RuntimeError, WireFailure}; @@ -18,22 +17,22 @@ const KEPT_IDLE: Duration = Duration::from_secs(30); /// Concrete local Docker Engine endpoint. Control waits never apply to command streams. #[derive(Clone, Debug)] pub struct Docker { - pub(super) socket: PathBuf, - pub(super) control_wait: Duration, - pub(super) deadline: Option, + pub(in crate::platform::docker) socket: PathBuf, + pub(in crate::platform::docker) control_wait: Duration, + pub(in crate::platform::docker) deadline: Option, /// The name the next container this client creates gets; None lets the /// Engine choose one. - pub(super) container_name: Option, + pub(in crate::platform::docker) container_name: Option, /// One idle keep-alive connection, shared by this client's clones, for /// Exec create and inspect (#352): each takes it, or connects when it is /// absent, stale or in use, and returns it after reading its whole body. - pub(super) kept: Kept, + pub(in crate::platform::docker) kept: Kept, /// The Engine API minor version every request of this client and its /// clones uses, set by the first request (see `version.rs`). - pub(super) minor: Arc>, + pub(in crate::platform::docker) minor: Arc>, } #[derive(Clone, Default)] -pub(super) struct Kept(Arc>>); +pub(in crate::platform::docker) struct Kept(Arc>>); impl fmt::Debug for Kept { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("Kept") @@ -53,7 +52,7 @@ impl Kept { } } } -pub(super) struct Response { +pub(in crate::platform::docker) struct Response { pub status: u16, pub body: Body>, pub writer: Socket, @@ -97,7 +96,7 @@ impl Docker { self.container_name = Some(name.to_owned()); Ok(self) } - pub(super) fn exchange( + pub(in crate::platform::docker) fn exchange( &self, method: &str, path: &str, @@ -113,7 +112,7 @@ impl Docker { /// One metadata exchange on the kept keep-alive connection (Exec create /// and inspect). One attempt: a kept connection is used only while idle /// and quiet, and a failure on it is the request's failure, never resent. - pub(super) fn exchange_kept( + pub(in crate::platform::docker) fn exchange_kept( &self, method: &str, path: &str, @@ -126,7 +125,7 @@ impl Docker { }) } /// Streams one known-length body once; no pre-read or file-sized allocation. - pub(super) fn exchange_body( + pub(in crate::platform::docker) fn exchange_body( &self, method: &str, path: &str, @@ -150,7 +149,7 @@ impl Docker { let path = format!("/v1.{}{path}", self.minor()?); self.transmit(method, &path, mode, media, length, encode) } - pub(super) fn transmit( + pub(in crate::platform::docker) fn transmit( &self, method: &str, path: &str, @@ -251,7 +250,7 @@ impl Docker { } /// The connection header a request sends. #[derive(Clone, Copy)] -pub(super) enum Mode { +pub(in crate::platform::docker) enum Mode { Close, Upgrade, Keep, @@ -321,7 +320,7 @@ impl Response { result } } -pub(super) fn failure( +pub(in crate::platform::docker) fn failure( attempted: bool, sent_bytes: u64, status: Option, diff --git a/engine/crates/layerfs-sandbox/src/platform/docker/client/mod.rs b/engine/crates/layerfs-sandbox/src/platform/docker/client/mod.rs new file mode 100644 index 0000000000..99f2996074 --- /dev/null +++ b/engine/crates/layerfs-sandbox/src/platform/docker/client/mod.rs @@ -0,0 +1,11 @@ +//! The Engine HTTP client: one-attempt exchanges over the Engine's Unix +//! socket (`http`, `socket`), exact HTTP framing and header grammar (`body`), +//! the standard multiplexed stream header (`mux`) and API version +//! negotiation (`version`). The rest of the Docker backend reads its +//! `Socket`, `Body` and `mux::header` directly. +pub(in crate::platform::docker) mod body; +pub(in crate::platform::docker) mod http; +pub(in crate::platform::docker) mod mux; +pub(in crate::platform::docker) mod socket; +mod version; +pub use http::Docker; diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/mux.rs b/engine/crates/layerfs-sandbox/src/platform/docker/client/mux.rs similarity index 77% rename from engine/crates/layerfs-sandbox/src/backend/docker/mux.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/client/mux.rs index 7dfb0f4cc3..e08fd7c31c 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/mux.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/client/mux.rs @@ -1,6 +1,6 @@ //! Shared standard Engine multiplexed header; lengths remain counters. use crate::RuntimeError; -pub(super) fn header(bytes: [u8; 8]) -> Result<(u8, u32), RuntimeError> { +pub(in crate::platform::docker) fn header(bytes: [u8; 8]) -> Result<(u8, u32), RuntimeError> { if bytes[1..4] != [0; 3] || bytes[0] > 3 { return Err(RuntimeError::Protocol("standard runtime frame header")); } diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/socket.rs b/engine/crates/layerfs-sandbox/src/platform/docker/client/socket.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/docker/socket.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/client/socket.rs index 7b67d3681d..384eebf538 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/socket.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/client/socket.rs @@ -9,7 +9,7 @@ use std::{ path::Path, time::{Duration, Instant}, }; -pub(super) struct Socket { +pub(in crate::platform::docker) struct Socket { pub stream: UnixStream, pub wait: Option, pub deadline: Option, diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/version.rs b/engine/crates/layerfs-sandbox/src/platform/docker/client/version.rs similarity index 96% rename from engine/crates/layerfs-sandbox/src/backend/docker/version.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/client/version.rs index 973623a478..a01ec77702 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/version.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/client/version.rs @@ -3,7 +3,7 @@ use super::{ http::{failure, Mode}, Docker, }; -use crate::backend::json::{once, Json}; +use crate::json::{once, Json}; use crate::{ErrorDiagnostic, RuntimeError, WireFailure}; /// The oldest Engine API minor version (1.N) this client speaks: Engine 28.0. /// Before it, uploading the daemon fails (`getent unable to find entry "0:0"`: @@ -17,7 +17,7 @@ impl Docker { /// daemon older than [`OLDEST`] is refused before the request is sent. A /// daemon that does not answer it readably gets [`NEWEST`], as before /// negotiation, and its own refusal of that version reaches the caller. - pub(super) fn minor(&self) -> Result> { + pub(in crate::platform::docker) fn minor(&self) -> Result> { if let Some(minor) = self.minor.get() { return Ok(*minor); } diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/container.rs b/engine/crates/layerfs-sandbox/src/platform/docker/create.rs similarity index 75% rename from engine/crates/layerfs-sandbox/src/backend/docker/container.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/create.rs index 00e26480a4..0742b4eaf9 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/container.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/create.rs @@ -1,13 +1,13 @@ -//! One-attempt create/start/stop/delete, with no implicit adoption or volume deletion. +//! One-attempt create and start, with no implicit adoption or volume deletion. use super::{ - container_types::{CreatePhase, Sandbox, SandboxCreateFailure, SandboxRequest}, + sandbox::{CreatePhase, Sandbox, SandboxCreateFailure, SandboxRequest}, topology::SECCOMP, Docker, }; -use crate::backend::json::{once, Json}; -use crate::backend::strings::quoted; +use crate::json::quoted; +use crate::json::{once, Json}; use crate::{ContainerId, RuntimeError, WireFailure}; -use std::io::{self, Read, Write}; +use std::io::{self, Write}; impl SandboxRequest { /// Kernel mounting needs exactly one capability and one device. The /// container stays unprivileged with no-new-privileges; commands run as @@ -99,7 +99,7 @@ impl Docker { let result = (|| { request .check() - .map_err(|e| super::http::failure(false, 0, None, e, None))?; + .map_err(|e| super::client::http::failure(false, 0, None, e, None))?; phase = CreatePhase::Volume; if let Some(volume) = &request.store_volume { self.plain_volume(volume)?; @@ -189,53 +189,4 @@ impl Sandbox { self.started = true; Ok(()) } - /// Explicit whole-Sandbox process stop, once. This is crash teardown, not graceful FS drain. - /// The Engine's 304 (not running: its process already exited, or it never started) - /// is the same acknowledged stopped state. - pub fn stop(&mut self, seconds: u16) -> Result<(), Box> { - if self.stop_attempted || self.delete_attempted { - return Err(self.invalid("original container Stop admission")); - } - self.stop_attempted = true; - let path = format!("/containers/{}/stop?t={seconds}", self.id); - self.empty("POST", &path, 204) - .or_else(|failure| match failure.cause { - RuntimeError::Http(304) => Ok(()), - _ => Err(failure), - })?; - self.stopped = true; - Ok(()) - } - /// Deletes the exact acknowledged container/local writable layer once. Shared Store volume is borrowed. - pub fn delete(&mut self) -> Result<(), Box> { - if self.delete_attempted || (self.start_attempted && !self.stopped) { - return Err(self.invalid("original container Delete admission; known stop required")); - } - self.delete_attempted = true; - self.empty( - "DELETE", - &format!("/containers/{}?force=false&v=false", self.id), - 204, - )?; - self.deleted = true; - Ok(()) - } - fn empty(&self, method: &str, path: &str, status: u16) -> Result<(), Box> { - let mut response = self - .docker - .exchange(method, path, false, |_| Ok(())) - .map_err(|f| self.selected(f))?; - if response.status != status { - return Err(self.selected(response.fail(RuntimeError::Http(response.status), None))); - } - let mut byte = [0]; - match response.body.read(&mut byte) { - Ok(0) => Ok(()), - Ok(_) => Err(self.selected(response.fail( - RuntimeError::Protocol("unexpected lifecycle response body"), - None, - ))), - Err(e) => Err(self.selected(response.fail(e.into(), None))), - } - } } diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/endpoint.rs b/engine/crates/layerfs-sandbox/src/platform/docker/endpoint.rs similarity index 97% rename from engine/crates/layerfs-sandbox/src/backend/docker/endpoint.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/endpoint.rs index 16ddfe2e62..5038d517c1 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/endpoint.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/endpoint.rs @@ -1,6 +1,6 @@ //! Structurally observed exact container and loopback-published daemon endpoint. use super::Sandbox; -use crate::backend::json::{once, Json}; +use crate::json::{once, Json}; use crate::{ContainerId, RuntimeError, WireFailure}; use std::net::{IpAddr, Ipv4Addr, SocketAddr}; impl Sandbox { @@ -63,13 +63,13 @@ impl Sandbox { endpoint.ok_or_else(|| self.invalid("missing daemon endpoint")) } /// One exact deployment/state observation; absent optional facts remain absent. - pub fn inspect(&self) -> Result> { + pub fn inspect(&self) -> Result> { self.observe(false).map(|(inspection, _)| inspection) } fn observe( &self, require_running: bool, - ) -> Result<(crate::provider::SandboxInspection, Option), Box> { + ) -> Result<(crate::SandboxInspection, Option), Box> { if self.deleted { return Err(self.invalid("deleted container observation")); } @@ -261,7 +261,7 @@ impl Sandbox { return Err(RuntimeError::Protocol("missing daemon endpoint")); } Ok(( - crate::provider::SandboxInspection { + crate::SandboxInspection { identity: self.id, running: running.expect("required"), exit_code: if running == Some(false) { diff --git a/engine/crates/layerfs-sandbox/src/platform/docker/exec.rs b/engine/crates/layerfs-sandbox/src/platform/docker/exec.rs new file mode 100644 index 0000000000..05ba68d781 --- /dev/null +++ b/engine/crates/layerfs-sandbox/src/platform/docker/exec.rs @@ -0,0 +1,329 @@ +//! One ordinary command in a container: one non-TTY Exec creation with exact +//! acknowledged runtime custody, one structurally decoded inspection that +//! keeps no Arguments, and the provider's noninteractive run over them with +//! streamed output and exact failure custody. +use super::{Docker, ProviderFailure, Sandbox}; +use crate::json::quoted; +use crate::json::{once, Json}; +pub use crate::ExecRequest; +use crate::{ContainerId, ExecExit, ExecId, ExecInspection, RuntimeError, WireFailure}; +use std::io::{self, Write}; +impl ExecRequest { + fn encode(&self, out: &mut dyn Write) -> io::Result<()> { + out.write_all(b"{\"AttachStdout\":true,\"AttachStderr\":true,\"AttachStdin\":")?; + out.write_all(if self.stdin { b"true" } else { b"false" })?; + out.write_all(b",\"Tty\":false,\"Privileged\":false,\"User\":")?; + quoted(out, &format!("{}:{}", self.identity.uid, self.identity.gid))?; + out.write_all(b",\"WorkingDir\":")?; + quoted(out, &self.directory)?; + for (name, items) in [ + (b",\"Cmd\":".as_slice(), &self.arguments), + (b",\"Env\":".as_slice(), &self.environment), + ] { + out.write_all(name)?; + out.write_all(b"[")?; + for (n, item) in items.iter().enumerate() { + if n != 0 { + out.write_all(b",")?; + } + quoted(out, item)?; + } + out.write_all(b"]")?; + } + out.write_all(b"}") + } +} +/// One acknowledged Exec creation. Starting consumes it; no implicit replay. +#[derive(Debug)] +pub struct ExecCreated { + pub(super) docker: Docker, + pub(super) container: ContainerId, + pub(super) exec: ExecId, + pub(super) request: ExecRequest, + pub(super) start_attempted: bool, +} +/// Original request and transfer failure. A known partial ID is not a completed acknowledgment. +#[derive(Debug)] +pub struct ExecCreateFailure { + pub container: ContainerId, + pub request: ExecRequest, + pub transfer: Box, +} +impl Docker { + /// Creates one actual ordinary runtime Exec, once. This does not launch it yet. + pub fn create_exec( + &self, + container: ContainerId, + request: ExecRequest, + ) -> Result> { + let mut observed = None; + let result = (|| { + request.check().map_err(|cause| { + Box::new(WireFailure { + attempted: false, + sent_bytes: 0, + request_header_bytes: 0, + sent_body_bytes: 0, + pending_request: Default::default(), + status: None, + cause, + fence_error: None, + observed_exec: None, + observed_container: None, + requested_container: None, + requested_exec: None, + error_body: None, + }) + })?; + let mut response = + self.exchange_kept("POST", &format!("/containers/{container}/exec"), |w| { + request.encode(w) + })?; + if response.status != 201 { + return Err(response.fail(RuntimeError::Http(response.status), None)); + } + let parsed = (|| { + let mut json = Json::new(&mut response.body); + let mut fields = 0; + json.object(|j, key| { + if key.equals("Id") { + once(&mut fields, 1)?; + let value = j.string(true)?; + if value.overflow { + return Err(RuntimeError::Protocol("Exec ID length")); + } + observed = Some(ExecId::parse(value.text())?); + } else { + j.skip(1)?; + } + Ok(()) + })?; + json.finish()?; + observed.ok_or(RuntimeError::Protocol("missing Exec ID")) + })(); + match parsed { + Ok(exec) => { + response.release(); + Ok(exec) + } + Err(cause) => Err(response.fail(cause, observed)), + } + })(); + match result { + Ok(exec) => Ok(ExecCreated { + docker: self.clone(), + container, + exec, + request, + start_attempted: false, + }), + Err(mut transfer) => { + transfer.requested_container = Some(container); + Err(Box::new(ExecCreateFailure { + container, + request, + transfer, + })) + } + } + } +} + +impl ExecCreated { + /// Original acknowledged runtime identity, immutable through this owner. + pub fn identity(&self) -> (ContainerId, ExecId) { + (self.container, self.exec) + } + /// Original submitted command metadata; never a later inspection/refresh. + pub fn request(&self) -> &ExecRequest { + &self.request + } +} +impl Docker { + /// Reads one coherent runtime snapshot. PID is diagnostic, never a signal target. + pub fn inspect_exec( + &self, + container: ContainerId, + exec: ExecId, + ) -> Result> { + let mut response = self + .exchange_kept("GET", &format!("/exec/{exec}/json"), |_| Ok(())) + .map_err(|mut failure| { + failure.requested_container = Some(container); + failure.requested_exec = Some(exec); + failure + })?; + if response.status != 200 { + let mut failure = response.fail(RuntimeError::Http(response.status), None); + failure.requested_container = Some(container); + failure.requested_exec = Some(exec); + return Err(failure); + } + let mut id = None; + let mut owner = None; + let parsed = (|| { + let mut running = None; + let mut exit = None; + let mut pid = None; + let mut fields = 0; + let mut j = Json::new(&mut response.body); + j.object(|j, key| { + if key.equals("ID") { + once(&mut fields, 1)?; + let value = j.string(true)?; + id = Some(ExecId::parse(value.text())?); + if value.overflow { + return Err(RuntimeError::Protocol("runtime ID width")); + } + } else if key.equals("ContainerID") { + once(&mut fields, 2)?; + let value = j.string(true)?; + owner = Some(ContainerId::parse(value.text())?); + if value.overflow { + return Err(RuntimeError::Protocol("container ID width")); + } + } else if key.equals("Running") { + once(&mut fields, 4)?; + running = Some(j.boolean()?); + } else if key.equals("ExitCode") { + once(&mut fields, 8)?; + if !j.null()? { + exit = Some( + i32::try_from(j.integer()?) + .map_err(|_| RuntimeError::Protocol("runtime exit width"))?, + ); + } + } else if key.equals("Pid") { + once(&mut fields, 16)?; + pid = Some( + u32::try_from(j.integer()?) + .map_err(|_| RuntimeError::Protocol("runtime PID width"))?, + ); + } else { + j.skip(1)?; + } + Ok(()) + })?; + j.finish()?; + if fields & 15 != 15 || id != Some(exec) || owner != Some(container) { + return Err(RuntimeError::Protocol("runtime identity/required fields")); + } + Ok(ExecInspection { + container, + exec, + running: running.expect("required"), + exit_code: exit, + pid, + }) + })(); + match parsed { + Ok(inspection) => { + response.release(); + Ok(inspection) + } + Err(cause) => { + let mut failure = response.fail(cause, id); + failure.observed_container = owner; + failure.requested_container = Some(container); + failure.requested_exec = Some(exec); + Err(failure) + } + } + } +} +fn failure(container: ContainerId, cause: ProviderFailure) -> Box { + // Scalar facts describe only the deciding exchange. Owned pending bytes, + // diagnostics and fence errors remain in the original nested receipt. + let wire = match &cause { + ProviderFailure::ExecCreate(f) => Some(f.transfer.as_ref()), + ProviderFailure::ExecStart(f) => Some(f.transfer.as_ref()), + ProviderFailure::ExecInspect { failure, .. } => Some(failure.as_ref()), + _ => None, + }; + let mut outer = WireFailure::local(RuntimeError::Protocol("provider execution")); + if let Some(wire) = wire { + outer.attempted = wire.attempted; + outer.sent_bytes = wire.sent_bytes; + outer.request_header_bytes = wire.request_header_bytes; + outer.sent_body_bytes = wire.sent_body_bytes; + outer.status = wire.status; + outer.observed_exec = wire.observed_exec; + outer.observed_container = wire.observed_container; + outer.requested_exec = wire.requested_exec; + } else { + // Attachment/splitting, output and exit observation follow an attempted Start. + outer.attempted = true; + } + outer.requested_container = Some(container); + outer.requested_exec = outer.requested_exec.or_else(|| match &cause { + ProviderFailure::ExecStart(f) => Some(f.created.identity().1), + ProviderFailure::ExecOutput { handle, .. } + | ProviderFailure::ExecInspect { handle, .. } + | ProviderFailure::ExecExitUnknown { handle, .. } => Some(handle.identity().1), + _ => None, + }); + outer.cause = RuntimeError::Docker(Box::new(cause)); + outer +} +pub(crate) fn run( + sandbox: &Sandbox, + request: &ExecRequest, + mut stdout: &mut (dyn Write + Send), + mut stderr: &mut (dyn Write + Send), +) -> Result> { + if request.stdin { + return Err( + sandbox.invalid("provider run has no stdin source; use ordinary Docker streams") + ); + } + let id = sandbox.identity(); + let created = sandbox + .create_exec(request.clone()) + .map_err(|f| failure(id, ProviderFailure::ExecCreate(f)))?; + let attached = created + .start() + .map_err(|f| failure(id, ProviderFailure::ExecStart(f)))?; + let (input, output, handle) = attached + .into_parts() + .map_err(|f| failure(id, ProviderFailure::ExecSplit(f)))?; + // Stdin was disabled in the creation request; dropping it sends no cancellation. + drop(input); + let progress = match output.copy_to(&mut stdout, &mut stderr) { + Ok(progress) => progress, + Err(f) => { + return Err(failure( + id, + ProviderFailure::ExecOutput { failure: f, handle }, + )) + } + }; + let inspection = match handle.inspect() { + Ok(inspection) => inspection, + Err(f) => { + return Err(failure( + id, + ProviderFailure::ExecInspect { + failure: f, + handle, + progress, + }, + )) + } + }; + let Some(code) = inspection.known_root_exit() else { + return Err(failure( + id, + ProviderFailure::ExecExitUnknown { + inspection, + handle, + progress, + }, + )); + }; + Ok(ExecExit { + code, + pid: inspection.pid, + stdout_bytes: progress.stdout, + stderr_bytes: progress.stderr, + }) +} diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/provider_failure.rs b/engine/crates/layerfs-sandbox/src/platform/docker/failure.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/docker/provider_failure.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/failure.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/listener.rs b/engine/crates/layerfs-sandbox/src/platform/docker/listener.rs similarity index 97% rename from engine/crates/layerfs-sandbox/src/backend/docker/listener.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/listener.rs index f7b8709208..0d56018faa 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/listener.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/listener.rs @@ -1,7 +1,7 @@ //! Actual daemon stdout startup event; bounded line and multiplexed payload windows. //! A bounded read of the container's log tail, for a failed start's report. -use super::{body::exact, Sandbox}; -use super::{body::Body, socket::Socket}; +use super::client::{body::exact, body::Body, socket::Socket}; +use super::Sandbox; use crate::{RuntimeError, WireFailure}; use std::{ io::{self, BufReader, Read}, @@ -77,7 +77,7 @@ impl Sandbox { loop { let mut header = [0; 8]; exact(&mut input, &mut header)?; - let (tag, mut left) = super::mux::header(header)?; + let (tag, mut left) = super::client::mux::header(header)?; if !matches!(tag, 1 | 2) { return Err(RuntimeError::Protocol("daemon log frame")); } @@ -171,7 +171,7 @@ impl Sandbox { return Ok(()); } exact(&mut r.body, &mut header[1..])?; - let (tag, mut left) = super::mux::header(header)?; + let (tag, mut left) = super::client::mux::header(header)?; if !matches!(tag, 1 | 2) { return Err(RuntimeError::Protocol("daemon log frame")); } diff --git a/engine/crates/layerfs-sandbox/src/platform/docker/mod.rs b/engine/crates/layerfs-sandbox/src/platform/docker/mod.rs new file mode 100644 index 0000000000..b84dc1a107 --- /dev/null +++ b/engine/crates/layerfs-sandbox/src/platform/docker/mod.rs @@ -0,0 +1,27 @@ +//! Local Docker Engine API1.48 to 1.54, negotiated once, with exact IDs and no command replay. +//! One container per Sandbox: `create` starts it, `sandbox` owns it (stop, +//! delete), `exec` runs one command in it, and `client/` is the Engine HTTP +//! client the rest reads. +mod client; +mod create; +mod endpoint; +mod exec; +mod failure; +mod listener; +mod provider; +mod sandbox; +mod streams; +mod topology; +mod upload; +pub use client::Docker; +pub(crate) use exec::run as run_command; +pub use exec::{ExecCreateFailure, ExecCreated, ExecRequest}; +pub use failure::ProviderFailure; +pub use listener::{ListenerFailure, ListenerObservation}; +pub use provider::DockerProvider; +pub use sandbox::{CreatePhase, Sandbox, SandboxCreateFailure, SandboxDisposition, SandboxRequest}; +pub use streams::{ + Attached, ExecHandle, InputCloseFailure, InputEnd, OutputFailure, OutputProgress, RuntimeInput, + RuntimeOutput, SplitFailure, StartFailure, +}; +pub use upload::{UploadFailure, UploadWork}; diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/provider.rs b/engine/crates/layerfs-sandbox/src/platform/docker/provider.rs similarity index 94% rename from engine/crates/layerfs-sandbox/src/backend/docker/provider.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/provider.rs index d4171e4002..a21e417011 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/provider.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/provider.rs @@ -1,10 +1,10 @@ //! Docker's existing one-attempt runtime as a concrete backend. use super::{Docker, Sandbox, SandboxRequest}; -use crate::provider::{ +use crate::{ContainerId, RuntimeError, WireFailure}; +use crate::{ IsolationModel, LaunchFailure, LaunchPhase, LaunchRequest, MountDriver, ProviderCapabilities, ProviderLaunchOptions, SandboxRecord, SearchPathPolicy, }; -use crate::{ContainerId, RuntimeError, WireFailure}; use std::fs::File; /// Negotiation and all transfers use the supplied client's original policy and version cache. @@ -12,8 +12,6 @@ use std::fs::File; pub struct DockerProvider { docker: Docker, } -/// The original container owner, including its exact attempted/acknowledged lifecycle state. -pub type DockerInstance = Sandbox; impl DockerProvider { /// Negotiation and all transfers use the supplied client's original policy and version cache. pub fn new(docker: Docker) -> Self { @@ -89,8 +87,7 @@ impl DockerProvider { Ok(()) => Ok(instance.expect("launched")), Err(cause) => Err(Box::new(LaunchFailure { phase, - instance: instance - .map(|sandbox| Box::new(crate::backend::Sandbox::Docker(sandbox))), + instance: instance.map(|sandbox| Box::new(crate::Sandbox::Docker(sandbox))), cause, })), } diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/container_types.rs b/engine/crates/layerfs-sandbox/src/platform/docker/sandbox.rs similarity index 54% rename from engine/crates/layerfs-sandbox/src/backend/docker/container_types.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/sandbox.rs index d6e8fed32b..fd2b512098 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/container_types.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/sandbox.rs @@ -1,6 +1,8 @@ -//! Owned container lifecycle; borrowed shared Store volume is never cleanup-owned. +//! One owned container and its lifecycle: stop and delete, each attempted +//! once; the borrowed shared Store volume is never cleanup-owned. use super::Docker; -use crate::{ContainerId, RuntimeError, WireFailure}; +use crate::{ContainerId, DockerRecord, RuntimeError, SandboxRecord, WireFailure}; +use std::io::Read; /// Explicit immutable image, existing VM volume, daemon TCP port and labels. #[derive(Clone, Debug, Eq, PartialEq)] pub struct SandboxRequest { @@ -111,7 +113,8 @@ impl Sandbox { } } pub(super) fn invalid(&self, message: &'static str) -> Box { - let mut f = super::http::failure(false, 0, None, RuntimeError::Protocol(message), None); + let mut f = + super::client::http::failure(false, 0, None, RuntimeError::Protocol(message), None); f.requested_container = Some(self.id); f } @@ -119,6 +122,60 @@ impl Sandbox { f.requested_container = Some(self.id); f } + /// Explicit whole-Sandbox process stop, once. This is crash teardown, not graceful FS drain. + /// The Engine's 304 (not running: its process already exited, or it never started) + /// is the same acknowledged stopped state. + pub fn stop(&mut self, seconds: u16) -> Result<(), Box> { + if self.stop_attempted || self.delete_attempted { + return Err(self.invalid("original container Stop admission")); + } + self.stop_attempted = true; + let path = format!("/containers/{}/stop?t={seconds}", self.id); + self.empty("POST", &path, 204) + .or_else(|failure| match failure.cause { + RuntimeError::Http(304) => Ok(()), + _ => Err(failure), + })?; + self.stopped = true; + Ok(()) + } + /// Deletes the exact acknowledged container/local writable layer once. Shared Store volume is borrowed. + pub fn delete(&mut self) -> Result<(), Box> { + if self.delete_attempted || (self.start_attempted && !self.stopped) { + return Err(self.invalid("original container Delete admission; known stop required")); + } + self.delete_attempted = true; + self.empty( + "DELETE", + &format!("/containers/{}?force=false&v=false", self.id), + 204, + )?; + self.deleted = true; + Ok(()) + } + pub(super) fn empty( + &self, + method: &str, + path: &str, + status: u16, + ) -> Result<(), Box> { + let mut response = self + .docker + .exchange(method, path, false, |_| Ok(())) + .map_err(|f| self.selected(f))?; + if response.status != status { + return Err(self.selected(response.fail(RuntimeError::Http(response.status), None))); + } + let mut byte = [0]; + match response.body.read(&mut byte) { + Ok(0) => Ok(()), + Ok(_) => Err(self.selected(response.fail( + RuntimeError::Protocol("unexpected lifecycle response body"), + None, + ))), + Err(e) => Err(self.selected(response.fail(e.into(), None))), + } + } } /// Known acknowledgments only, not process or filesystem drain. #[derive(Clone, Copy, Debug, Eq, PartialEq)] @@ -128,3 +185,43 @@ pub struct SandboxDisposition { pub stopped: bool, pub deleted: bool, } +impl From for DockerRecord { + fn from(request: SandboxRequest) -> Self { + Self { + image: request.image, + store_volume: request.store_volume, + port: request.port, + labels: request.labels, + } + } +} +impl From<&SandboxRequest> for DockerRecord { + fn from(request: &SandboxRequest) -> Self { + Self { + image: request.image.clone(), + store_volume: request.store_volume.clone(), + port: request.port, + labels: request.labels.clone(), + } + } +} +impl From for SandboxRequest { + fn from(record: DockerRecord) -> Self { + Self { + image: record.image, + store_volume: record.store_volume, + port: record.port, + labels: record.labels, + } + } +} +impl From for SandboxRecord { + fn from(request: SandboxRequest) -> Self { + Self::Docker(request.into()) + } +} +impl From<&SandboxRequest> for SandboxRecord { + fn from(request: &SandboxRequest) -> Self { + Self::Docker(request.into()) + } +} diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/streams.rs b/engine/crates/layerfs-sandbox/src/platform/docker/streams.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/docker/streams.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/streams.rs index 9a014ab331..8d6640a33c 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/streams.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/streams.rs @@ -1,5 +1,6 @@ //! Standard Docker duplex streams; transport completion never implies process exit. -use super::{body::Body, http::Response, socket::Socket, ExecCreated}; +use super::client::{body::Body, http::Response, socket::Socket}; +use super::ExecCreated; use crate::{ExecInspection, RuntimeError, WireFailure}; use std::{ fmt, @@ -347,7 +348,7 @@ impl RuntimeOutput { } self.header_used += n; } - (self.tag, self.remaining) = super::mux::header(self.header)?; + (self.tag, self.remaining) = super::client::mux::header(self.header)?; if self.tag == 3 { return Err(RuntimeError::Protocol( "runtime system-error stream; original unread payload retained", diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/topology.rs b/engine/crates/layerfs-sandbox/src/platform/docker/topology.rs similarity index 99% rename from engine/crates/layerfs-sandbox/src/backend/docker/topology.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/topology.rs index 3bc9310994..21703f904d 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/topology.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/topology.rs @@ -1,6 +1,6 @@ //! Exact observed daemon identity, security and kernel-access settings, and volume placement. use super::SandboxRequest; -use crate::backend::json::{once, Json}; +use crate::json::{once, Json}; use crate::RuntimeError; use std::io::Read; /// The container's whole system-call filter. It denies creation of a user diff --git a/engine/crates/layerfs-sandbox/src/backend/docker/archive.rs b/engine/crates/layerfs-sandbox/src/platform/docker/upload.rs similarity index 96% rename from engine/crates/layerfs-sandbox/src/backend/docker/archive.rs rename to engine/crates/layerfs-sandbox/src/platform/docker/upload.rs index 79f44f975b..4e65bb668c 100644 --- a/engine/crates/layerfs-sandbox/src/backend/docker/archive.rs +++ b/engine/crates/layerfs-sandbox/src/platform/docker/upload.rs @@ -44,13 +44,13 @@ impl Sandbox { { return Err(self.invalid("original upload admission")); } - let metadata = executable - .metadata() - .map_err(|e| self.selected(super::http::failure(false, 0, None, e.into(), None)))?; + let metadata = executable.metadata().map_err(|e| { + self.selected(super::client::http::failure(false, 0, None, e.into(), None)) + })?; if !metadata.is_file() || metadata.len() == 0 || executable.stream_position().map_err(|e| { - self.selected(super::http::failure(false, 0, None, e.into(), None)) + self.selected(super::client::http::failure(false, 0, None, e.into(), None)) })? != 0 || config.is_empty() || config.len() > 8192 diff --git a/engine/crates/layerfs-sandbox/src/platform/mod.rs b/engine/crates/layerfs-sandbox/src/platform/mod.rs new file mode 100644 index 0000000000..502ac0bd48 --- /dev/null +++ b/engine/crates/layerfs-sandbox/src/platform/mod.rs @@ -0,0 +1,9 @@ +//! Every Sandbox backend, one folder each, named as `LAYERFS_SANDBOX` names +//! it: a Docker container, a native daemon process, or that process in Linux +//! namespaces and a cgroup. Callers reach them as `layerfs_sandbox::docker`, +//! `::native` and `::namespaces`; this folder's name is not public. +pub mod docker; +#[cfg(target_os = "linux")] +pub mod namespaces; +#[cfg(any(target_os = "linux", target_os = "macos"))] +pub mod native; diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/cgroup.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/cgroup.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/cgroup.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/cgroup.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/create.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/create.rs similarity index 90% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/create.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/create.rs index 0ad0c7c5c9..f36775cf4b 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/create.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/create.rs @@ -8,9 +8,9 @@ use super::{ rootfs::{self, ImageRoot}, sandbox::Sandbox, }; -use crate::backend::listener; -use crate::backend::native::{search::search_path, Local, LocalPhase, LocalProcess}; -use crate::backend::{identity, HelperSpec}; +use crate::platform::native::listener; +use crate::platform::native::{search::search_path, Local, LocalPhase, LocalProcess, KERNEL_ROUTE}; +use crate::HelperSpec; use crate::{CommandIdentity, Image, RuntimeError}; use nix::fcntl::OFlag; use std::{ @@ -50,7 +50,7 @@ pub(crate) struct CreateFailure { pub(crate) fn create( local: &Local, helper: &Path, - request: &crate::provider::LaunchRequest, + request: &crate::LaunchRequest, options: &Options, ) -> Result> { let fail = |phase, sandbox, cause| { @@ -62,7 +62,8 @@ pub(crate) fn create( }; let (paths, image) = start_request(local, helper, request, options) .map_err(|cause| fail(LocalPhase::Validate, None, cause))?; - let id = identity::random().map_err(|cause| fail(LocalPhase::Validate, None, cause))?; + let id = + crate::ContainerId::random().map_err(|cause| fail(LocalPhase::Validate, None, cause))?; let cgroup = cgroup::path(&id); // one create of the directory: a name another start holds fails here fs::DirBuilder::new() @@ -77,7 +78,7 @@ pub(crate) fn create( helper.to_owned(), image.clone(), ); - let log = match prepare(&paths, request, options, &id, &image) { + let log = match prepare(&paths, (request, helper), options, &id, &image) { Ok(log) => log, Err(cause) => return Err(fail(LocalPhase::Create, Some(sandbox), cause)), }; @@ -93,6 +94,7 @@ pub(crate) fn create( .env_clear() .env("PATH", search_path()) .envs(options.environment.iter().map(|(k, v)| (k, v))) + .env(KERNEL_ROUTE, "fuse") .current_dir(&paths.local.directory) .stdin(Stdio::null()) .stdout(output) @@ -136,7 +138,7 @@ pub(crate) fn create( fn start_request( local: &Local, helper: &Path, - request: &crate::provider::LaunchRequest, + request: &crate::LaunchRequest, options: &Options, ) -> Result<(Paths, ImageRoot), RuntimeError> { let paths = { @@ -183,15 +185,16 @@ fn start_request( Ok((paths, image)) } -/// The daemon starts with the search path and nothing else but these: no -/// `PATH` override, and only this backend's kernel choice. +/// The daemon starts with the search path, this backend's kernel route +/// (FUSE, which only the provider names) and nothing else but these: no +/// `PATH` or kernel route override. fn check_environment(environment: &[(String, String)]) -> Result<(), RuntimeError> { let invalid = environment.iter().any(|(key, value)| { key.is_empty() || key.contains(['=', '\0']) || value.contains('\0') || key == "PATH" - || (key == "LAYERFS_KERNEL" && value != "fuse") + || key == KERNEL_ROUTE }); if invalid { return Err(RuntimeError::Protocol("namespaces environment")); @@ -227,13 +230,13 @@ fn check_store(paths: &Paths, store: &Path) -> Result<(), RuntimeError> { Ok(()) } -/// The Sandbox's own directories and files, its copied executable, its init -/// spec and the empty log; returns the log file. Its overlay's writable layer +/// The Sandbox's own directories and files, its copied daemon and helper, its +/// init spec and the empty log; returns the log file. Its overlay's writable layer /// and work directory are made here, empty: the init stage mounts them with /// the image underneath. fn prepare( paths: &Paths, - request: &crate::provider::LaunchRequest, + (request, helper): (&crate::LaunchRequest, &Path), options: &Options, id: &crate::ContainerId, image: &ImageRoot, @@ -265,6 +268,8 @@ fn prepare( private(&paths.local.config)?.write_all(&request.daemon_config)?; fs::copy(&request.daemon_executable, &paths.bin)?; fs::set_permissions(&paths.bin, Permissions::from_mode(0o755))?; + fs::copy(helper, &paths.helper)?; + fs::set_permissions(&paths.helper, Permissions::from_mode(0o755))?; let spec = HelperSpec { root: paths.root.clone(), sandbox: paths.local.directory.clone(), diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/exec.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/exec.rs similarity index 97% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/exec.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/exec.rs index d17372a70e..aac15e2ab0 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/exec.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/exec.rs @@ -4,9 +4,9 @@ //! the helper's own pipes; nothing of this process's environment but the //! search path reaches it, and no stdin is offered. use super::sandbox::Sandbox; -use crate::backend::native::search::search_path; -use crate::backend::streams; -use crate::provider::ExecExit; +use crate::platform::native::search::search_path; +use crate::platform::native::streams; +use crate::ExecExit; use crate::{ExecRequest, RuntimeError, WireFailure}; use std::{ io::{self, Write}, diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/host.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/host.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/host.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/host.rs index 0107cf02bd..f558dc59a7 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/host.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/host.rs @@ -77,7 +77,7 @@ pub(crate) fn require_fuse() -> Result<(), RuntimeError> { /// Sandbox is made rather than failing inside the Sandbox's mount. pub(crate) fn require_overlay_upper(root: &Path) -> Result<(), RuntimeError> { let resolved = fs::canonicalize(root)?; - match super::super::linux::mounts::filesystem(&resolved) { + match crate::platform::native::linux::mounts::filesystem(&resolved) { Ok(kind) if !UNSUITABLE.contains(&kind.as_str()) && !kind.starts_with("fuse") => Ok(()), // an unreadable mount table is no proof either way: the mount itself // then reports what is wrong, and nothing is invented here diff --git a/engine/crates/layerfs-sandbox/src/platform/namespaces/mod.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/mod.rs new file mode 100644 index 0000000000..bce8d2bbdd --- /dev/null +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/mod.rs @@ -0,0 +1,26 @@ +//! Linux namespace Sandboxes: each Sandbox is one daemon inside its own +//! mount, PID and IPC namespaces and its own cgroup v2 directory, on the one +//! kernel and one Store disk of the project's VM. Commands enter those +//! namespaces as a nonroot identity with no capabilities and no-new-privs, +//! and `cgroup.kill` ends everything the Sandbox started. +//! +//! The lifecycle is the local one, imported from the sibling backend +//! [`super::native`] (namespaces is native with namespaces added: its +//! `Local`, `LocalPaths`, `LocalPhase`, `LocalProcess`, `search`, `listener`, +//! `streams` and Linux `mounts`): a private directory per Sandbox, one daemon +//! start and one listener wait, a record of the daemon's exact process and +//! its port. What this backend adds is outside that daemon: the helper that +//! builds the private root, the namespaces and the cgroup. Nothing here is +//! retried and no effect is undone implicitly. +mod cgroup; +mod create; +mod exec; +mod host; +mod paths; +mod provider; +pub mod rootfs; +mod sandbox; + +pub use provider::NamespaceProvider; +pub use rootfs::ImageRoot; +pub use sandbox::Sandbox; diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/paths.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/paths.rs similarity index 85% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/paths.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/paths.rs index 469f5f4f0f..2e47ab8696 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/paths.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/paths.rs @@ -1,13 +1,16 @@ //! Where one namespace Sandbox keeps its parts: the same private directory a //! local Sandbox uses, plus the executable it runs and the private root its //! mount namespace pivots to. -use crate::backend::native::LocalPaths; +use crate::platform::native::LocalPaths; use crate::RuntimeError; use std::path::PathBuf; /// The daemon executable inside the Sandbox's own `bin` directory, copied /// there once per Sandbox so nothing about it is read from the host later. pub(crate) const DAEMON: &str = "layerfs-daemon"; +/// The helper executable, copied beside it for the same reason: a later +/// process that reopens the Sandbox runs the helper it was started with. +pub(crate) const HELPER: &str = "layerfs-sandbox-helper"; /// One Sandbox's paths, all fixed from its directory name. #[derive(Clone, Debug, Eq, PartialEq)] @@ -18,6 +21,8 @@ pub(crate) struct Paths { pub(crate) bin_directory: PathBuf, /// `/bin/`, 0755 and root-owned. pub(crate) bin: PathBuf, + /// `/bin/`, 0755 and root-owned. + pub(crate) helper: PathBuf, /// The init stage's inputs, `/config/helper.spec`, 0600. pub(crate) spec: PathBuf, /// The private root, `.root`; the init stage mounts the @@ -46,6 +51,7 @@ impl Paths { Ok(Self { bin_directory: local.directory.join("bin"), bin: local.directory.join("bin").join(DAEMON), + helper: local.directory.join("bin").join(HELPER), spec: local.directory.join("config").join("helper.spec"), root: PathBuf::from(root), upper: local.directory.join("overlay").join("upper"), diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/provider.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/provider.rs similarity index 85% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/provider.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/provider.rs index 794a5c9ffa..3f27c52a1a 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/provider.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/provider.rs @@ -11,12 +11,12 @@ use super::{ rootfs, sandbox::Sandbox, }; -use crate::backend::native::{Local, LocalPaths}; -use crate::provider::{ +use crate::platform::native::{Local, LocalPaths}; +use crate::{ContainerId, RuntimeError, WireFailure}; +use crate::{ IsolationModel, LaunchFailure, LaunchPhase, LaunchRequest, MountDriver, ProviderCapabilities, ProviderLaunchOptions, SandboxRecord, SearchPathPolicy, }; -use crate::{ContainerId, RuntimeError, WireFailure}; use std::{ env, path::{Path, PathBuf}, @@ -105,14 +105,13 @@ impl NamespaceProvider { } = *failure; Box::new(LaunchFailure { phase: match phase { - crate::backend::native::LocalPhase::Validate => LaunchPhase::Validate, - crate::backend::native::LocalPhase::Create => LaunchPhase::Create, - crate::backend::native::LocalPhase::Start => LaunchPhase::Start, - crate::backend::native::LocalPhase::Listener => LaunchPhase::Listener, + crate::platform::native::LocalPhase::Validate => LaunchPhase::Validate, + crate::platform::native::LocalPhase::Create => LaunchPhase::Create, + crate::platform::native::LocalPhase::Start => LaunchPhase::Start, + crate::platform::native::LocalPhase::Listener => LaunchPhase::Listener, }, - instance: sandbox.map(|sandbox| { - Box::new(crate::backend::Sandbox::Namespaces(Box::new(sandbox))) - }), + instance: sandbox + .map(|sandbox| Box::new(crate::Sandbox::Namespaces(Box::new(sandbox)))), cause, }) }) @@ -134,7 +133,7 @@ impl NamespaceProvider { .record_paths(&record.local().name) .map_err(WireFailure::local)?; let image = self.image(record).map_err(WireFailure::local)?; - let helper = helper(None).map_err(WireFailure::local)?; + let helper = recorded_helper(&paths).map_err(WireFailure::local)?; let recorded = super::sandbox::Recorded { init: super::sandbox::process(record.local()), port: record.local().port, @@ -159,7 +158,7 @@ impl NamespaceProvider { .record_paths(&record.local().name) .map_err(WireFailure::local)?; let image = self.image(record).map_err(WireFailure::local)?; - let helper = helper(None).map_err(WireFailure::local)?; + let helper = recorded_helper(&paths).map_err(WireFailure::local)?; let recorded = super::sandbox::Recorded { init: super::sandbox::process(record.local()), port: record.local().port, @@ -182,10 +181,7 @@ impl NamespaceProvider { /// The record's image, as the root this runtime already holds: a reopen /// starts and unpacks nothing, so a record whose image is gone is refused /// rather than given a different root. - fn image( - &self, - record: &crate::provider::NamespaceRecord, - ) -> Result { + fn image(&self, record: &crate::NamespaceRecord) -> Result { let paths = self.record_paths(&record.local().name)?; let root = (paths.local.directory.parent()) .ok_or(RuntimeError::Protocol("namespaces Sandbox root"))?; @@ -193,6 +189,18 @@ impl NamespaceProvider { } } +/// The helper a reopened Sandbox runs: the copy its create put in its own +/// `bin` directory, so a later process (an in-process SDK whose executable +/// is `node`, with no LAYERFS_SANDBOX_HELPER) finds the helper the Sandbox +/// was started with. A Sandbox made before that copy existed falls back to +/// the lookup below. +fn recorded_helper(paths: &Paths) -> Result { + match std::fs::metadata(&paths.helper) { + Ok(metadata) if metadata.is_file() && metadata.len() > 0 => Ok(paths.helper.clone()), + _ => helper(None), + } +} + /// The helper this backend runs: `LAYERFS_SANDBOX_HELPER` when set, else /// beside `daemon` or beside this process (or its Cargo test runner). fn helper(daemon: Option<&Path>) -> Result { diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/archive.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/archive.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/archive.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/archive.rs index 3afd573689..d852908673 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/archive.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/archive.rs @@ -6,7 +6,7 @@ use super::{ tar::{path_of, Kind, Tape}, PATH_MAX, }; -use crate::{backend::json::Json, Image, RuntimeError}; +use crate::{json::Json, Image, RuntimeError}; use std::{ fs::{self, File, OpenOptions}, io::{self, BufReader, Read, Seek, SeekFrom}, @@ -99,13 +99,13 @@ fn parse_manifest(bytes: &[u8], image: &Image) -> Result } match key.text() { "Config" => { - crate::backend::json::once(&mut seen, 1)?; + crate::json::once(&mut seen, 1)?; let mut text = Vec::new(); reader.text_into(&mut text, PATH_MAX)?; config = Some(text); } "Layers" => { - crate::backend::json::once(&mut seen, 2)?; + crate::json::once(&mut seen, 2)?; let mut items = Vec::new(); reader.array(|entry| { if items.len() == LAYERS_MAX { diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/cache.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/cache.rs similarity index 99% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/cache.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/cache.rs index 90db445af5..3a1c6632eb 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/cache.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/cache.rs @@ -47,7 +47,7 @@ pub fn ensure(archive: &Path, image: &Image, cache: &Path) -> Result Tape { continue; } b'K' => { - self.link = Some(long_name(&self.data(PATH_MAX)?)?); + self.link = Some(link_text(until_nul(&self.data(PATH_MAX)?))?); continue; } _ => {} } let path = match self.path.take() { Some(path) => path, - None => own_name(&header)?, + None => { + let name = own_bytes(&header); + // `./`, the archive's entry for the root itself: the root + // already exists, so there is nothing to place + if kind == b'5' && is_root(&name) { + self.link = None; + continue; + } + checked(&name)? + } }; let link = match self.link.take() { Some(link) => link, @@ -202,7 +211,7 @@ impl Read for Tape { } /// The entry's own name: its `name` and, in a ustar archive, its `prefix`. -fn own_name(header: &[u8; 512]) -> Result { +fn own_bytes(header: &[u8; 512]) -> Vec { let name = text(&header[0..100]); let prefix = if &header[257..262] == b"ustar".as_slice() { text(&header[345..500]) @@ -215,7 +224,27 @@ fn own_name(header: &[u8; 512]) -> Result { bytes.push(b'/'); } bytes.extend_from_slice(name); - checked(&bytes) + bytes +} + +/// Whether a name is the root itself (`.`, `./`), whose every component is +/// `.`. +fn is_root(bytes: &[u8]) -> bool { + !bytes.is_empty() + && Path::new(OsStr::from_bytes(bytes)) + .components() + .all(|component| component == Component::CurDir) +} + +/// A link target from an extended header, taken as the header's own link +/// field is: a symbolic link's target may be absolute (it is read inside the +/// Sandbox root, never followed while unpacking), and a hard link's is +/// checked when its kind is decided. +fn link_text(bytes: &[u8]) -> Result { + if bytes.len() > PATH_MAX || bytes.contains(&0) { + return Err(refuse("the image archive's link target is too long")); + } + Ok(PathBuf::from(OsStr::from_bytes(bytes))) } /// The entry's own link target, for the two kinds that carry one. @@ -295,7 +324,7 @@ fn pax(data: &[u8]) -> Result<(Option, Option), RuntimeError> let (key, value) = (&record[..equals], &record[equals + 1..]); match key { b"path" => path = Some(checked(value)?), - b"linkpath" => link = Some(checked(value)?), + b"linkpath" => link = Some(link_text(value)?), _ => {} } } @@ -306,11 +335,15 @@ fn pax(data: &[u8]) -> Result<(Option, Option), RuntimeError> /// A GNU long name's data: the name, up to its first NUL. fn long_name(data: &[u8]) -> Result { - let name = match data.iter().position(|byte| *byte == 0) { + checked(until_nul(data)) +} + +/// A GNU long name's bytes up to its terminating NUL. +fn until_nul(data: &[u8]) -> &[u8] { + match data.iter().position(|byte| *byte == 0) { Some(end) => &data[..end], None => data, - }; - checked(name) + } } /// A header's NUL- or space-padded octal (or GNU base-256) number. diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/types.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/types.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/rootfs/types.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/rootfs/types.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/namespaces/sandbox.rs b/engine/crates/layerfs-sandbox/src/platform/namespaces/sandbox.rs similarity index 99% rename from engine/crates/layerfs-sandbox/src/backend/namespaces/sandbox.rs rename to engine/crates/layerfs-sandbox/src/platform/namespaces/sandbox.rs index 4b650396e7..a09cd2cf33 100644 --- a/engine/crates/layerfs-sandbox/src/backend/namespaces/sandbox.rs +++ b/engine/crates/layerfs-sandbox/src/platform/namespaces/sandbox.rs @@ -3,9 +3,9 @@ //! Drop cleans up; a Drop only reaps an init process this process started //! that has already exited, so it never stays a zombie of this process. use super::{cgroup, host, paths::Paths, rootfs::ImageRoot}; -use crate::backend::native::LocalProcess; -use crate::provider::{LocalRecord, NamespaceRecord, SandboxRecord}; +use crate::platform::native::LocalProcess; use crate::{ContainerId, RuntimeError, WireFailure}; +use crate::{LocalRecord, NamespaceRecord, SandboxRecord}; use std::{ fs::{self, OpenOptions}, io::{self, Read, Seek, SeekFrom}, diff --git a/engine/crates/layerfs-sandbox/src/backend/native/create.rs b/engine/crates/layerfs-sandbox/src/platform/native/create.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/native/create.rs rename to engine/crates/layerfs-sandbox/src/platform/native/create.rs index c814869456..0cb081dfd5 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/create.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/create.rs @@ -1,11 +1,11 @@ //! One local daemon start: the Sandbox's private directory, its 0600 setup, //! one spawn and its listener line. Nothing is retried. +use super::listener; use super::{ process::LocalProcess, sandbox::{Sandbox, LOG}, search::search_path, }; -use crate::backend::{identity, listener}; use crate::RuntimeError; use nix::fcntl::OFlag; use std::{ @@ -125,7 +125,7 @@ impl Local { }) } /// Starts the next daemon with `environment` besides its search path (the - /// native route's `LAYERFS_KERNEL=nfs` and its mount helpers). Nothing + /// kernel route its provider chose and the NFS mount helpers). Nothing /// else of this process's environment reaches it. pub fn environment(mut self, environment: Vec<(String, String)>) -> Self { self.environment = environment; @@ -201,7 +201,8 @@ impl Local { } })(); checked.map_err(|cause| fail(LocalPhase::Validate, None, cause))?; - let id = identity::random().map_err(|cause| fail(LocalPhase::Validate, None, cause))?; + let id = crate::ContainerId::random() + .map_err(|cause| fail(LocalPhase::Validate, None, cause))?; // one create of the directory: a name another start holds fails here fs::DirBuilder::new() .mode(0o755) diff --git a/engine/crates/layerfs-sandbox/src/backend/native/exec.rs b/engine/crates/layerfs-sandbox/src/platform/native/exec.rs similarity index 89% rename from engine/crates/layerfs-sandbox/src/backend/native/exec.rs rename to engine/crates/layerfs-sandbox/src/platform/native/exec.rs index 1478054771..2ad370773c 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/exec.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/exec.rs @@ -5,8 +5,8 @@ //! the Sandbox until it is empty, so what it leaves running ends with the //! Sandbox. use super::{groups, process, process::LocalProcess, sandbox::Sandbox, search::search_path}; -use crate::backend::streams; -use crate::{ExecRequest, RuntimeError, WireFailure}; +use crate::platform::native::streams; +use crate::{ExecExit, ExecRequest, RuntimeError, WireFailure}; use nix::sys::signal::{killpg, Signal}; use std::{ io::{self, Write}, @@ -15,29 +15,20 @@ use std::{ process::{Command, Stdio}, }; -/// One command's end: its exit code (128 + the signal for one a signal -/// ended, as the Engine reports it), its process id (diagnostic only) and the -/// bytes each stream delivered. -#[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub struct LocalExit { - pub code: i32, - pub pid: u32, - pub stdout: u64, - pub stderr: u64, -} - impl Sandbox { /// Runs `request` once while this Sandbox's daemon runs: as its uid/gid /// with no supplementary groups, in its directory, its stdout and stderr /// streamed to the sinks as they arrive, then waits for its exit. A sink /// failure closes the command's pipes, still waits for its exit, and - /// returns the sink's error. Standard input is not offered. + /// returns the sink's error. Standard input is not offered. The exit + /// code is 128 + the signal for a command a signal ended, as the Engine + /// reports it; the process id is diagnostic only. pub fn run( &self, request: &ExecRequest, stdout: &mut (dyn Write + Send), stderr: &mut (dyn Write + Send), - ) -> Result> { + ) -> Result> { check(request).map_err(|cause| self.failure(cause))?; self.endpoint()?; let mut command = Command::new(&request.arguments[0]); @@ -101,11 +92,11 @@ impl Sandbox { .code() .or_else(|| status.signal().map(|signal| 128 + signal)) .ok_or_else(|| self.invalid("local command exit status"))?; - Ok(LocalExit { + Ok(ExecExit { code, - pid, - stdout: out_bytes, - stderr: err_bytes, + pid: Some(pid), + stdout_bytes: out_bytes, + stderr_bytes: err_bytes, }) } } diff --git a/engine/crates/layerfs-sandbox/src/backend/native/groups.rs b/engine/crates/layerfs-sandbox/src/platform/native/groups.rs similarity index 99% rename from engine/crates/layerfs-sandbox/src/backend/native/groups.rs rename to engine/crates/layerfs-sandbox/src/platform/native/groups.rs index 6f18869381..939d8dcebe 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/groups.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/groups.rs @@ -10,7 +10,7 @@ //! reused and the group is not this Sandbox's. A process that leaves its //! group (`setsid`) is not followed unless it is named here too //! ([`super::Sandbox::track`]). -use super::platform; +use super::os; use super::process::{self, LocalProcess}; use nix::{fcntl::OFlag, sys::signal::Signal}; use std::{ @@ -126,7 +126,7 @@ fn members(table: &[(u32, process::Stat)], leader: LocalProcess) -> Vec { /// Every process of this kernel now, with its stat. One that ends while /// being read is left out. fn processes() -> io::Result> { - platform::processes() + os::processes() } /// A group's file name: `--`. diff --git a/engine/crates/layerfs-sandbox/src/backend/linux/mod.rs b/engine/crates/layerfs-sandbox/src/platform/native/linux/mod.rs similarity index 89% rename from engine/crates/layerfs-sandbox/src/backend/linux/mod.rs rename to engine/crates/layerfs-sandbox/src/platform/native/linux/mod.rs index 46c121526d..631c71ed2f 100644 --- a/engine/crates/layerfs-sandbox/src/backend/linux/mod.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/linux/mod.rs @@ -1,7 +1,7 @@ //! Linux platform facts for the native runtime: the daemon runs as root and //! serves FUSE, so its process facts come from `/proc` and its mounts are //! detached lazily. Only facts live here; the Sandbox lifecycle is shared -//! with macOS in [`super::native`]. +//! with macOS in [`super`]. pub(crate) mod mounts; mod process; pub(crate) use process::{boot, processes, stat}; diff --git a/engine/crates/layerfs-sandbox/src/backend/linux/mounts.rs b/engine/crates/layerfs-sandbox/src/platform/native/linux/mounts.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/linux/mounts.rs rename to engine/crates/layerfs-sandbox/src/platform/native/linux/mounts.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/linux/process.rs b/engine/crates/layerfs-sandbox/src/platform/native/linux/process.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/linux/process.rs rename to engine/crates/layerfs-sandbox/src/platform/native/linux/process.rs index 6882044b13..94329f4d93 100644 --- a/engine/crates/layerfs-sandbox/src/backend/linux/process.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/linux/process.rs @@ -1,7 +1,7 @@ //! Linux process facts for the native runtime: state, process group and start //! time from `/proc//stat`, this boot's identity from //! `/proc/sys/kernel/random/boot_id`, and every process from `/proc`. -use super::super::native::process::Stat; +use crate::platform::native::process::Stat; use std::io; use std::sync::OnceLock; diff --git a/engine/crates/layerfs-sandbox/src/backend/listener.rs b/engine/crates/layerfs-sandbox/src/platform/native/listener.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/listener.rs rename to engine/crates/layerfs-sandbox/src/platform/native/listener.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/macos/darwin.rs b/engine/crates/layerfs-sandbox/src/platform/native/macos/darwin.rs similarity index 99% rename from engine/crates/layerfs-sandbox/src/backend/macos/darwin.rs rename to engine/crates/layerfs-sandbox/src/platform/native/macos/darwin.rs index 99ba3e4a52..352749480b 100644 --- a/engine/crates/layerfs-sandbox/src/backend/macos/darwin.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/macos/darwin.rs @@ -4,7 +4,7 @@ //! identity (`sysctl`), the mount table (`mount`) and a forced unmount //! (`umount -f`). Each tool is one run with a fixed path and the C locale, //! read once; nothing is retried. -use crate::backend::native::process::Stat; +use crate::platform::native::process::Stat; use nix::{ fcntl::{fcntl, FcntlArg, OFlag}, libc, diff --git a/engine/crates/layerfs-sandbox/src/backend/macos/mod.rs b/engine/crates/layerfs-sandbox/src/platform/native/macos/mod.rs similarity index 85% rename from engine/crates/layerfs-sandbox/src/backend/macos/mod.rs rename to engine/crates/layerfs-sandbox/src/platform/native/macos/mod.rs index f9bf26868c..ac1aab1de7 100644 --- a/engine/crates/layerfs-sandbox/src/backend/macos/mod.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/macos/mod.rs @@ -1,7 +1,7 @@ //! macOS platform facts for the native runtime: the daemon serves loopback //! NFS as this user, so its process facts come from `proc_pidinfo`/`sysctl` //! and its mounts from `mount`/`umount -f`. Only facts live here; the Sandbox -//! lifecycle is shared with Linux in [`super::native`]. +//! lifecycle is shared with Linux in [`super`]. mod darwin; pub(crate) mod mounts; pub(crate) use darwin::{boot, force_unmount, mount_points, processes, stat}; diff --git a/engine/crates/layerfs-sandbox/src/backend/macos/mounts.rs b/engine/crates/layerfs-sandbox/src/platform/native/macos/mounts.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/macos/mounts.rs rename to engine/crates/layerfs-sandbox/src/platform/native/macos/mounts.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/native/mod.rs b/engine/crates/layerfs-sandbox/src/platform/native/mod.rs similarity index 75% rename from engine/crates/layerfs-sandbox/src/backend/native/mod.rs rename to engine/crates/layerfs-sandbox/src/platform/native/mod.rs index 1f1fb4ad81..726a53d7c1 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/mod.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/mod.rs @@ -10,9 +10,9 @@ //! retried. //! //! The lifecycle here is one implementation for both platforms. What differs -//! is read where it lives: [`super::macos`] supplies Darwin process facts, the +//! is read where it lives: [`macos`] supplies Darwin process facts, the //! `mount` table and `umount -f` for the loopback NFS the macOS daemon serves; -//! [`super::linux`] supplies `/proc` facts, the `mountinfo` table and a lazy +//! [`linux`] supplies `/proc` facts, the `mountinfo` table and a lazy //! `MNT_DETACH` for the FUSE mount the root daemon serves. //! //! The daemon and its commands start with one search path and nothing else of @@ -23,18 +23,23 @@ mod create; mod exec; mod groups; +#[cfg(target_os = "linux")] +pub(crate) mod linux; +pub(crate) mod listener; +#[cfg(target_os = "macos")] +pub(crate) mod macos; pub(crate) mod process; mod provider; mod sandbox; pub(crate) mod search; +pub(crate) mod streams; +pub use create::{Local, LocalCreateFailure, LocalPaths, LocalPhase}; #[cfg(target_os = "linux")] -pub(crate) use super::linux as platform; +pub(crate) use linux as os; #[cfg(target_os = "macos")] -pub(crate) use super::macos as platform; -pub use create::{Local, LocalCreateFailure, LocalPaths, LocalPhase}; -pub use exec::LocalExit; +pub(crate) use macos as os; pub use process::LocalProcess; -pub use provider::{ - NativeLinuxInstance, NativeLinuxProvider, NativeMacosInstance, NativeMacosProvider, -}; +#[cfg(target_os = "linux")] +pub(crate) use provider::KERNEL_ROUTE; +pub use provider::{NativeLinuxProvider, NativeMacosProvider}; pub use sandbox::Sandbox; diff --git a/engine/crates/layerfs-sandbox/src/backend/native/process.rs b/engine/crates/layerfs-sandbox/src/platform/native/process.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/native/process.rs rename to engine/crates/layerfs-sandbox/src/platform/native/process.rs index 74d58bf34d..1a042d2d38 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/process.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/process.rs @@ -3,7 +3,7 @@ //! never taken for the process that was started. The three facts come from //! `/proc` on Linux and from `proc_pidinfo`/`sysctl` on macOS (see //! [`super::macos`]). -pub(crate) use super::platform::{boot, stat}; +pub(crate) use super::os::{boot, stat}; use nix::{sys::signal::Signal, unistd::Pid}; use std::io; diff --git a/engine/crates/layerfs-sandbox/src/backend/native/provider.rs b/engine/crates/layerfs-sandbox/src/platform/native/provider.rs similarity index 92% rename from engine/crates/layerfs-sandbox/src/backend/native/provider.rs rename to engine/crates/layerfs-sandbox/src/platform/native/provider.rs index b5e48d9916..b00913b49b 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/provider.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/provider.rs @@ -1,12 +1,17 @@ //! The existing native runtime as a concrete backend; no alternate process engine. use super::{Local, LocalPhase, LocalProcess, Sandbox}; -use crate::provider::{ +use crate::{ContainerId, RuntimeError, WireFailure}; +use crate::{ IsolationModel, LaunchFailure, LaunchPhase, LaunchRequest, LocalRecord, MountDriver, ProviderCapabilities, ProviderLaunchOptions, SandboxRecord, SearchPathPolicy, }; -use crate::{ContainerId, RuntimeError, WireFailure}; use std::path::Path; +/// The daemon's kernel route setting (`fuse` or `nfs`). Only the provider +/// names it, from the platform it serves; a caller that names it is refused +/// (#527 step 6), and the daemon checks the value it receives. +pub(crate) const KERNEL_ROUTE: &str = "LAYERFS_KERNEL"; + #[derive(Clone, Debug)] pub struct NativeProvider { local: Local, @@ -15,10 +20,6 @@ pub struct NativeProvider { pub type NativeMacosProvider = NativeProvider; /// Native Linux processes with FUSE and a separate nonroot command identity. pub type NativeLinuxProvider = NativeProvider; -/// The existing local owner, using Darwin process facts. -pub type NativeMacosInstance = Sandbox; -/// The existing local owner, using Linux `/proc` process facts. -pub type NativeLinuxInstance = Sandbox; impl NativeProvider { /// Refuses other platforms before accessing the root or launching anything. pub fn new(root: impl AsRef) -> Result { @@ -90,16 +91,16 @@ impl NativeProvider { || key.contains(['=', '\0']) || value.contains('\0') || key == "PATH" - || (key == "LAYERFS_KERNEL" && value != if LINUX { "fuse" } else { "nfs" }) + || key == KERNEL_ROUTE }) { return Err(fail(RuntimeError::Protocol( "native command identity/environment", ))); } - environment.retain(|(key, _)| key != "LAYERFS_KERNEL"); + // The provider alone chooses the kernel route (#527 step 6). environment.push(( - "LAYERFS_KERNEL".into(), + KERNEL_ROUTE.into(), if LINUX { "fuse" } else { "nfs" }.into(), )); let local = self @@ -125,7 +126,7 @@ impl NativeProvider { }, instance: failure .sandbox - .map(|sandbox| Box::new(crate::backend::Sandbox::Native(sandbox))), + .map(|sandbox| Box::new(crate::Sandbox::Native(sandbox))), cause: failure.cause, }) }) diff --git a/engine/crates/layerfs-sandbox/src/backend/native/sandbox.rs b/engine/crates/layerfs-sandbox/src/platform/native/sandbox.rs similarity index 98% rename from engine/crates/layerfs-sandbox/src/backend/native/sandbox.rs rename to engine/crates/layerfs-sandbox/src/platform/native/sandbox.rs index 8c67717882..b158b5cabb 100644 --- a/engine/crates/layerfs-sandbox/src/backend/native/sandbox.rs +++ b/engine/crates/layerfs-sandbox/src/platform/native/sandbox.rs @@ -3,8 +3,8 @@ //! reaps a daemon this process started that has already exited. A stop //! returns only once a daemon this process started is reaped, so it never //! stays a zombie of this process. -use super::{groups, platform, process::LocalProcess}; -use crate::provider::LocalRecord; +use super::{groups, os, process::LocalProcess}; +use crate::LocalRecord; use crate::{ContainerId, RuntimeError, WireFailure}; use nix::sys::signal::Signal; use std::{ @@ -167,7 +167,7 @@ impl Sandbox { // A live NFS server can finish client writeback during detach. A // failed detach does not prevent crash teardown; Delete retains its // existing checked detach before removing anything through a mount. - if let Err(error) = platform::mounts::detach(&self.directory) { + if let Err(error) = os::mounts::detach(&self.directory) { eprintln!("local Stop detach {}: {error}", self.directory.display()); } if let Some(process) = self.process { @@ -207,7 +207,7 @@ impl Sandbox { .map_err(|error| self.io(error))?; self.ended = true; } - platform::mounts::detach(&self.directory).map_err(|error| self.io(error))?; + os::mounts::detach(&self.directory).map_err(|error| self.io(error))?; match fs::remove_dir_all(&self.directory) { Ok(()) => {} Err(error) if error.kind() == io::ErrorKind::NotFound => {} diff --git a/engine/crates/layerfs-sandbox/src/backend/native/search.rs b/engine/crates/layerfs-sandbox/src/platform/native/search.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/native/search.rs rename to engine/crates/layerfs-sandbox/src/platform/native/search.rs diff --git a/engine/crates/layerfs-sandbox/src/backend/streams.rs b/engine/crates/layerfs-sandbox/src/platform/native/streams.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/backend/streams.rs rename to engine/crates/layerfs-sandbox/src/platform/native/streams.rs diff --git a/engine/crates/layerfs-sandbox/src/provider/launch.rs b/engine/crates/layerfs-sandbox/src/provider/launch.rs deleted file mode 100644 index 0c654ad481..0000000000 --- a/engine/crates/layerfs-sandbox/src/provider/launch.rs +++ /dev/null @@ -1,26 +0,0 @@ -//! One-attempt launch failure: acknowledged partial ownership and the last phase reached. -use crate::backend::Sandbox; -use crate::RuntimeError; -use std::fmt; -#[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub enum LaunchPhase { - Validate, - Create, - Start, - Listener, -} -/// The caller retains the exact resource even when launch fails after creating it. -pub struct LaunchFailure { - pub phase: LaunchPhase, - pub instance: Option>, - pub cause: RuntimeError, -} -impl fmt::Debug for LaunchFailure { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_struct("LaunchFailure") - .field("phase", &self.phase) - .field("identity", &self.instance.as_ref().map(|i| i.identity())) - .field("cause", &self.cause) - .finish() - } -} diff --git a/engine/crates/layerfs-sandbox/src/provider/mod.rs b/engine/crates/layerfs-sandbox/src/provider/mod.rs deleted file mode 100644 index b9eee1e304..0000000000 --- a/engine/crates/layerfs-sandbox/src/provider/mod.rs +++ /dev/null @@ -1,12 +0,0 @@ -//! Runtime inputs and observations; concrete backends own their own lifecycle. -mod capabilities; -mod launch; -mod options; -pub use capabilities::{IsolationModel, MountDriver, ProviderCapabilities, SearchPathPolicy}; -pub use launch::{LaunchFailure, LaunchPhase}; -pub use options::{ - DockerRecord, ExecExit, LaunchRequest, LocalRecord, NamespaceRecord, ProviderLaunchOptions, - SandboxInspection, SandboxRecord, -}; -/// Compatible name for the existing exact 64-hex runtime identity. -pub type SandboxId = crate::ContainerId; diff --git a/engine/crates/layerfs-sandbox/src/backend/runtime.rs b/engine/crates/layerfs-sandbox/src/runtime.rs similarity index 88% rename from engine/crates/layerfs-sandbox/src/backend/runtime.rs rename to engine/crates/layerfs-sandbox/src/runtime.rs index 43ed8208a0..4347093f0f 100644 --- a/engine/crates/layerfs-sandbox/src/backend/runtime.rs +++ b/engine/crates/layerfs-sandbox/src/runtime.rs @@ -1,20 +1,17 @@ //! The concrete runtimes a Sandbox can run on: one enum names the deployment's //! choice, and [`Sandbox`] is the launched owner over it. There is no provider //! trait; each backend is a concrete type and dispatch is a `match` here. -use super::docker::{self, DockerProvider}; +use crate::platform::docker::{self, DockerProvider}; #[cfg(target_os = "linux")] -use super::namespaces::{self, NamespaceProvider}; +use crate::platform::namespaces::{self, NamespaceProvider}; #[cfg(any(target_os = "linux", target_os = "macos"))] -use super::native::{self, NativeLinuxProvider, NativeMacosProvider}; -use crate::provider::{ - ExecExit, LaunchFailure, LaunchRequest, LocalRecord, ProviderCapabilities, SandboxInspection, +use crate::platform::native::{self, NativeLinuxProvider, NativeMacosProvider}; +use crate::{ContainerId, ExecRequest, RuntimeError, WireFailure}; +use crate::{ + ExecExit, LaunchPhase, LaunchRequest, LocalRecord, ProviderCapabilities, SandboxInspection, SandboxRecord, }; -use crate::{ContainerId, ExecRequest, RuntimeError, WireFailure}; -use std::{io::Write, net::SocketAddr, path::PathBuf}; - -/// What Windows would need and does not have yet: no host runtime exists. -const WINDOWS: &str = "windows native Sandbox runtime"; +use std::{fmt, io::Write, net::SocketAddr, path::PathBuf}; /// One deployment's runtime choice, kept for every Sandbox it starts. /// @@ -35,8 +32,6 @@ pub enum Runtime { /// commands entering them as a nonroot identity (Linux). #[cfg(target_os = "linux")] Namespaces(NamespaceProvider), - /// Placeholder: selecting Windows refuses before any effect. - Windows, } impl Runtime { @@ -49,7 +44,6 @@ impl Runtime { Self::LinuxNative(provider) => Ok(provider.capabilities()), #[cfg(target_os = "linux")] Self::Namespaces(provider) => Ok(provider.capabilities()), - Self::Windows => Err(RuntimeError::Unsupported(WINDOWS)), } } @@ -64,7 +58,6 @@ impl Runtime { Self::LinuxNative(provider) => provider.paths(name).map(|paths| Some(paths.directory)), #[cfg(target_os = "linux")] Self::Namespaces(provider) => provider.paths(name).map(|paths| Some(paths.directory)), - Self::Windows => Err(RuntimeError::Unsupported(WINDOWS)), } } @@ -76,7 +69,7 @@ impl Runtime { Self::LinuxNative(provider) => provider.paths(name), #[cfg(target_os = "linux")] Self::Namespaces(provider) => provider.paths(name), - Self::Docker(_) | Self::Windows => Err(RuntimeError::Unsupported( + Self::Docker(_) => Err(RuntimeError::Unsupported( "native Sandbox paths need a native runtime", )), } @@ -94,11 +87,6 @@ impl Runtime { Self::Namespaces(provider) => provider .launch(request) .map(|sandbox| Sandbox::Namespaces(Box::new(sandbox))), - Self::Windows => Err(Box::new(LaunchFailure { - phase: crate::provider::LaunchPhase::Validate, - instance: None, - cause: RuntimeError::Unsupported(WINDOWS), - })), } } @@ -118,7 +106,6 @@ impl Runtime { Self::Namespaces(provider) => provider .reopen(id, record) .map(|sandbox| Sandbox::Namespaces(Box::new(sandbox))), - Self::Windows => Err(WireFailure::local(RuntimeError::Unsupported(WINDOWS))), } } @@ -138,7 +125,6 @@ impl Runtime { Self::Namespaces(provider) => provider .reopen_stopped(id, record) .map(|sandbox| Sandbox::Namespaces(Box::new(sandbox))), - Self::Windows => Err(WireFailure::local(RuntimeError::Unsupported(WINDOWS))), } } } @@ -184,15 +170,7 @@ impl Sandbox { match self { Self::Docker(sandbox) => docker::run_command(sandbox, request, stdout, stderr), #[cfg(any(target_os = "linux", target_os = "macos"))] - Self::Native(sandbox) => { - let exit = sandbox.run(request, stdout, stderr)?; - Ok(ExecExit { - code: exit.code, - pid: Some(exit.pid), - stdout_bytes: exit.stdout, - stderr_bytes: exit.stderr, - }) - } + Self::Native(sandbox) => sandbox.run(request, stdout, stderr), #[cfg(target_os = "linux")] Self::Namespaces(sandbox) => sandbox.run(request, stdout, stderr), } @@ -305,3 +283,19 @@ impl Sandbox { } } } + +/// The caller retains the exact resource even when launch fails after creating it. +pub struct LaunchFailure { + pub phase: LaunchPhase, + pub instance: Option>, + pub cause: RuntimeError, +} +impl fmt::Debug for LaunchFailure { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("LaunchFailure") + .field("phase", &self.phase) + .field("identity", &self.instance.as_ref().map(|i| i.identity())) + .field("cause", &self.cause) + .finish() + } +} diff --git a/engine/crates/layerfs-sandbox/src/provider/capabilities.rs b/engine/crates/layerfs-sandbox/src/types/capabilities.rs similarity index 100% rename from engine/crates/layerfs-sandbox/src/provider/capabilities.rs rename to engine/crates/layerfs-sandbox/src/types/capabilities.rs diff --git a/engine/crates/layerfs-sandbox/src/types/execution.rs b/engine/crates/layerfs-sandbox/src/types/execution.rs index 23c9dbeb0e..eecc35cfd7 100644 --- a/engine/crates/layerfs-sandbox/src/types/execution.rs +++ b/engine/crates/layerfs-sandbox/src/types/execution.rs @@ -1,5 +1,7 @@ //! Process observation is independent of pipe EOF and filesystem drain. -use super::{ContainerId, ExecId, RuntimeError}; +#[cfg(unix)] +use super::RuntimeError; +use super::{ContainerId, ExecId}; /// Explicit nonroot identity for ordinary commands. #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct CommandIdentity { @@ -7,6 +9,8 @@ pub struct CommandIdentity { pub gid: u32, } impl CommandIdentity { + /// Read by the backends only, which are Unix only. + #[cfg(unix)] pub(crate) fn check(self) -> Result<(), RuntimeError> { if self.uid == 0 || self.gid == 0 { Err(RuntimeError::Protocol("nonroot command uid/gid")) diff --git a/engine/crates/layerfs-sandbox/src/types/failure.rs b/engine/crates/layerfs-sandbox/src/types/failure.rs index 26c3b3d915..0b743b9964 100644 --- a/engine/crates/layerfs-sandbox/src/types/failure.rs +++ b/engine/crates/layerfs-sandbox/src/types/failure.rs @@ -5,7 +5,7 @@ use std::{fmt, io}; pub enum RuntimeError { /// Original Docker provider stage failure, including retained transfer/stream owners. #[cfg(unix)] - Docker(Box), + Docker(Box), Io(io::Error), Protocol(&'static str), /// Original HTTP status, with a separately retained bounded error-body diagnostic. diff --git a/engine/crates/layerfs-sandbox/src/types/identity.rs b/engine/crates/layerfs-sandbox/src/types/identity.rs index ac109c6641..fc00770f07 100644 --- a/engine/crates/layerfs-sandbox/src/types/identity.rs +++ b/engine/crates/layerfs-sandbox/src/types/identity.rs @@ -33,6 +33,21 @@ impl ContainerId { pub fn as_str(&self) -> &str { self.0.text() } + /// A fresh random identity in the Engine's form (64 lowercase hex, not + /// all zero), so records, names and the cgroup directory treat a local + /// Sandbox like a container. + #[cfg(any(target_os = "linux", target_os = "macos"))] + pub(crate) fn random() -> Result { + use std::{fs::File, io::Read}; + let mut bytes = [0u8; 32]; + File::open("/dev/urandom")?.read_exact(&mut bytes)?; + const HEX: &[u8; 16] = b"0123456789abcdef"; + let text: String = (bytes.iter()) + .flat_map(|b| [HEX[usize::from(b >> 4)], HEX[usize::from(b & 15)]]) + .map(char::from) + .collect(); + Self::parse(&text) + } } impl fmt::Debug for ContainerId { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { diff --git a/engine/crates/layerfs-sandbox/src/types/mod.rs b/engine/crates/layerfs-sandbox/src/types/mod.rs index 2d8c1768ae..59313f8e29 100644 --- a/engine/crates/layerfs-sandbox/src/types/mod.rs +++ b/engine/crates/layerfs-sandbox/src/types/mod.rs @@ -1,14 +1,25 @@ -//! Exact ordinary runtime identities, independent process/output knowledge and failures. +//! Exact ordinary runtime identities, independent process/output knowledge and +//! failures, and the launch inputs and observations every backend shares. +mod capabilities; mod execution; mod failure; mod identity; mod image; +mod options; mod request; mod transfer; +pub use capabilities::{IsolationModel, MountDriver, ProviderCapabilities, SearchPathPolicy}; pub use execution::{CommandIdentity, ExecInspection}; +#[cfg(unix)] pub(crate) use failure::STOPPED; pub use failure::{ErrorDiagnostic, RuntimeError, WireFailure}; pub use identity::{ContainerId, ExecId}; pub use image::Image; +pub use options::{ + DockerRecord, ExecExit, LaunchPhase, LaunchRequest, LocalRecord, NamespaceRecord, + ProviderLaunchOptions, SandboxInspection, SandboxRecord, +}; pub use request::ExecRequest; pub use transfer::PendingRequest; +/// Compatible name for the existing exact 64-hex runtime identity. +pub type SandboxId = ContainerId; diff --git a/engine/crates/layerfs-sandbox/src/provider/options.rs b/engine/crates/layerfs-sandbox/src/types/options.rs similarity index 79% rename from engine/crates/layerfs-sandbox/src/provider/options.rs rename to engine/crates/layerfs-sandbox/src/types/options.rs index e9e4e35223..fa2747165b 100644 --- a/engine/crates/layerfs-sandbox/src/provider/options.rs +++ b/engine/crates/layerfs-sandbox/src/types/options.rs @@ -1,6 +1,14 @@ //! Launch inputs and observations independent of the daemon control protocol. use crate::{CommandIdentity, ContainerId}; use std::{fmt, path::PathBuf, time::Duration}; +/// The last launch phase a provider reached. +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +pub enum LaunchPhase { + Validate, + Create, + Start, + Listener, +} /// Configuration bytes may contain secrets; Debug only reports their length. #[derive(Clone)] pub struct LaunchRequest { @@ -136,46 +144,6 @@ impl From<&DockerRecord> for SandboxRecord { Self::Docker(record.clone()) } } -impl From for DockerRecord { - fn from(request: crate::backend::docker::SandboxRequest) -> Self { - Self { - image: request.image, - store_volume: request.store_volume, - port: request.port, - labels: request.labels, - } - } -} -impl From<&crate::backend::docker::SandboxRequest> for DockerRecord { - fn from(request: &crate::backend::docker::SandboxRequest) -> Self { - Self { - image: request.image.clone(), - store_volume: request.store_volume.clone(), - port: request.port, - labels: request.labels.clone(), - } - } -} -impl From for crate::backend::docker::SandboxRequest { - fn from(record: DockerRecord) -> Self { - Self { - image: record.image, - store_volume: record.store_volume, - port: record.port, - labels: record.labels, - } - } -} -impl From for SandboxRecord { - fn from(request: crate::backend::docker::SandboxRequest) -> Self { - Self::Docker(request.into()) - } -} -impl From<&crate::backend::docker::SandboxRequest> for SandboxRecord { - fn from(request: &crate::backend::docker::SandboxRequest) -> Self { - Self::Docker(request.into()) - } -} #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct ExecExit { pub code: i32, diff --git a/engine/crates/layerfs-sandbox/src/types/request.rs b/engine/crates/layerfs-sandbox/src/types/request.rs index e14e795a9b..137606794f 100644 --- a/engine/crates/layerfs-sandbox/src/types/request.rs +++ b/engine/crates/layerfs-sandbox/src/types/request.rs @@ -1,5 +1,7 @@ //! Provider-independent ordinary command metadata and validation. -use crate::{CommandIdentity, RuntimeError}; +use crate::CommandIdentity; +#[cfg(unix)] +use crate::RuntimeError; use std::fmt; /// Caller-owned ordinary command metadata. No hidden shell/classifier/preparation. #[derive(Clone)] @@ -22,6 +24,7 @@ impl fmt::Debug for ExecRequest { } } impl ExecRequest { + #[cfg(unix)] pub(crate) fn check(&self) -> Result<(), RuntimeError> { self.identity.check()?; if self.arguments.is_empty() diff --git a/engine/crates/layerfs-sandbox/tests/container_labels.rs b/engine/crates/layerfs-sandbox/tests/container_labels.rs index fb960e5714..4acc7522a4 100644 --- a/engine/crates/layerfs-sandbox/tests/container_labels.rs +++ b/engine/crates/layerfs-sandbox/tests/container_labels.rs @@ -7,7 +7,7 @@ mod support { pub mod engine; } use layerfs_sandbox::{ - backend::docker::{CreatePhase, SandboxRequest}, + docker::{CreatePhase, SandboxRequest}, RuntimeError, }; use std::{ diff --git a/engine/crates/layerfs-sandbox/tests/docker_naming.rs b/engine/crates/layerfs-sandbox/tests/docker_naming.rs index edc415d56e..007795a24c 100644 --- a/engine/crates/layerfs-sandbox/tests/docker_naming.rs +++ b/engine/crates/layerfs-sandbox/tests/docker_naming.rs @@ -1,6 +1,6 @@ //! A client that names its containers takes only names the Engine accepts //! without escaping, and refuses every other before any request. -use layerfs_sandbox::backend::docker::Docker; +use layerfs_sandbox::docker::Docker; use std::time::Duration; fn client() -> Docker { diff --git a/engine/crates/layerfs-sandbox/tests/docker_provider.rs b/engine/crates/layerfs-sandbox/tests/docker_provider.rs index 58eccbc67f..306c799677 100644 --- a/engine/crates/layerfs-sandbox/tests/docker_provider.rs +++ b/engine/crates/layerfs-sandbox/tests/docker_provider.rs @@ -4,11 +4,9 @@ #[path = "support/engine.rs"] mod peer; use layerfs_sandbox::{ - backend::docker::{DockerProvider, ProviderFailure, Sandbox, SandboxRequest}, - provider::{ - DockerRecord, LaunchPhase, LaunchRequest, LocalRecord, ProviderLaunchOptions, SandboxRecord, - }, - CommandIdentity, ContainerId, ExecRequest, Runtime, RuntimeError, + docker::{DockerProvider, ProviderFailure, Sandbox, SandboxRequest}, + CommandIdentity, ContainerId, DockerRecord, ExecRequest, LaunchPhase, LaunchRequest, + LocalRecord, ProviderLaunchOptions, Runtime, RuntimeError, SandboxRecord, }; use peer::{fixed, frame, upgrade, Peer}; use std::{ diff --git a/engine/crates/layerfs-sandbox/tests/engine_keepalive.rs b/engine/crates/layerfs-sandbox/tests/engine_keepalive.rs index 7f8bc5ad60..b4dd8179f7 100644 --- a/engine/crates/layerfs-sandbox/tests/engine_keepalive.rs +++ b/engine/crates/layerfs-sandbox/tests/engine_keepalive.rs @@ -3,7 +3,7 @@ //! refused to keep is never used, and nothing is resent. #![cfg(unix)] use layerfs_sandbox::{ - backend::docker::{Docker, ExecRequest}, + docker::{Docker, ExecRequest}, CommandIdentity, ContainerId, ExecId, }; use std::{ diff --git a/engine/crates/layerfs-sandbox/tests/engine_lifecycle.rs b/engine/crates/layerfs-sandbox/tests/engine_lifecycle.rs index 3021aefe22..aa3a71c2f7 100644 --- a/engine/crates/layerfs-sandbox/tests/engine_lifecycle.rs +++ b/engine/crates/layerfs-sandbox/tests/engine_lifecycle.rs @@ -4,7 +4,7 @@ mod support { pub mod engine; } use layerfs_sandbox::{ - backend::docker::{CreatePhase, SandboxRequest}, + docker::{CreatePhase, SandboxRequest}, RuntimeError, }; use std::{ @@ -347,8 +347,7 @@ fn marker_inside_truncated_frame_keeps_evidence_and_fails_readiness() { fn reopened(status: u16, body: &[u8]) -> bool { let (docker, peer) = Peer::new(vec![fixed(status, body)], 64); let id = layerfs_sandbox::ContainerId::parse(CID).unwrap(); - let Err(failure) = layerfs_sandbox::backend::docker::Sandbox::reopen(docker, id, request()) - else { + let Err(failure) = layerfs_sandbox::docker::Sandbox::reopen(docker, id, request()) else { panic!("reopen of an unanswered container fails"); }; let calls = peer.finish(); @@ -369,8 +368,7 @@ fn a_stop_the_engine_answers_with_no_such_container_is_a_gone_container() { let gone = format!(r#"{{"message":"No such container: {CID}"}}"#); let (docker, peer) = Peer::new(vec![endpoint(), fixed(404, gone.as_bytes())], 64); let id = layerfs_sandbox::ContainerId::parse(CID).unwrap(); - let mut sandbox = - layerfs_sandbox::backend::docker::Sandbox::reopen(docker, id, request()).unwrap(); + let mut sandbox = layerfs_sandbox::docker::Sandbox::reopen(docker, id, request()).unwrap(); let failure = sandbox.stop(1).unwrap_err(); assert!(failure.container_gone()); assert!(!sandbox.disposition().stopped); @@ -393,8 +391,7 @@ fn exited() -> String { fn reopened_from(body: &str) -> Box { let (docker, peer) = Peer::new(vec![fixed(200, body.as_bytes())], 64); let id = layerfs_sandbox::ContainerId::parse(CID).unwrap(); - let Err(failure) = layerfs_sandbox::backend::docker::Sandbox::reopen(docker, id, request()) - else { + let Err(failure) = layerfs_sandbox::docker::Sandbox::reopen(docker, id, request()) else { panic!("reopen of a container that does not run fails"); }; peer.finish(); @@ -419,8 +416,8 @@ fn only_the_exact_intact_container_not_running_is_a_stopped_container() { #[test] fn provider_inspects_and_reopens_exact_running_and_stopped_deployments() { - use layerfs_sandbox::backend::docker::DockerProvider; - use layerfs_sandbox::provider::SandboxRecord; + use layerfs_sandbox::docker::DockerProvider; + use layerfs_sandbox::SandboxRecord; let id = layerfs_sandbox::ContainerId::parse(CID).unwrap(); let running = inspect().replace( r#""Running":true"#, @@ -462,7 +459,7 @@ fn provider_inspects_and_reopens_exact_running_and_stopped_deployments() { fn a_stopped_container_is_deleted_once_and_never_forced() { let id = layerfs_sandbox::ContainerId::parse(CID).unwrap(); let (docker, peer) = Peer::new(vec![fixed(204, b"")], 64); - let mut sandbox = layerfs_sandbox::backend::docker::Sandbox::stopped(docker, id, request()); + let mut sandbox = layerfs_sandbox::docker::Sandbox::stopped(docker, id, request()); assert!( sandbox.endpoint().is_err(), "a stopped Sandbox has no endpoint" @@ -477,7 +474,7 @@ fn a_stopped_container_is_deleted_once_and_never_forced() { // running again meanwhile: the Engine refuses the unforced Delete let running = br#"{"message":"cannot remove container: container is running"}"#; let (docker, peer) = Peer::new(vec![fixed(409, running)], 64); - let mut sandbox = layerfs_sandbox::backend::docker::Sandbox::stopped(docker, id, request()); + let mut sandbox = layerfs_sandbox::docker::Sandbox::stopped(docker, id, request()); assert!(sandbox.delete().is_err()); assert!(!sandbox.disposition().deleted); peer.finish(); diff --git a/engine/crates/layerfs-sandbox/tests/engine_protocol.rs b/engine/crates/layerfs-sandbox/tests/engine_protocol.rs index bbb7fb0936..30499cbe65 100644 --- a/engine/crates/layerfs-sandbox/tests/engine_protocol.rs +++ b/engine/crates/layerfs-sandbox/tests/engine_protocol.rs @@ -3,7 +3,7 @@ #[path = "support/engine.rs"] mod peer; use layerfs_sandbox::{ - backend::docker::{CreatePhase, Docker, ExecRequest, SandboxRequest}, + docker::{CreatePhase, Docker, ExecRequest, SandboxRequest}, CommandIdentity, ContainerId, ExecId, RuntimeError, }; use std::io::{self, Write}; diff --git a/engine/crates/layerfs-sandbox/tests/local_runtime.rs b/engine/crates/layerfs-sandbox/tests/local_runtime.rs index 1db9a03b7c..c4f03d3312 100644 --- a/engine/crates/layerfs-sandbox/tests/local_runtime.rs +++ b/engine/crates/layerfs-sandbox/tests/local_runtime.rs @@ -1,14 +1,12 @@ -//! The native process runtime (`backend::native`): one daemon process per +//! The native process runtime (`layerfs_sandbox::native`): one daemon process per //! Sandbox directory, observed by process id and start time, its commands run //! as their own identity, and its stop and delete each attempted once. A //! small shell script stands in for the daemon; nothing here needs root. //! The runtime is Linux only, and so are these tests. #![cfg(target_os = "linux")] use layerfs_sandbox::{ - backend::{ - docker::ExecRequest, - native::{Local, LocalPhase, LocalProcess, Sandbox}, - }, + docker::ExecRequest, + native::{Local, LocalPhase, LocalProcess, Sandbox}, CommandIdentity, RuntimeError, }; use std::{ @@ -91,8 +89,8 @@ fn run(sandbox: &Sandbox, arguments: &[&str], environment: &[&str]) -> (i32, Str }; let (mut out, mut err) = (Vec::new(), Vec::new()); let exit = sandbox.run(&request, &mut out, &mut err).unwrap(); - assert_eq!(exit.stdout, out.len() as u64); - assert_eq!(exit.stderr, err.len() as u64); + assert_eq!(exit.stdout_bytes, out.len() as u64); + assert_eq!(exit.stderr_bytes, err.len() as u64); ( exit.code, String::from_utf8(out).unwrap(), diff --git a/engine/crates/layerfs-sandbox/tests/local_search_path.rs b/engine/crates/layerfs-sandbox/tests/local_search_path.rs index a6ff147a11..3e824600bb 100644 --- a/engine/crates/layerfs-sandbox/tests/local_search_path.rs +++ b/engine/crates/layerfs-sandbox/tests/local_search_path.rs @@ -6,10 +6,8 @@ //! process's PATH, which no other test in this binary reads. #![cfg(target_os = "macos")] use layerfs_sandbox::{ - backend::{ - docker::ExecRequest, - native::{Local, Sandbox}, - }, + docker::ExecRequest, + native::{Local, Sandbox}, CommandIdentity, }; use std::{ diff --git a/engine/crates/layerfs-sandbox/tests/local_stop_mount.rs b/engine/crates/layerfs-sandbox/tests/local_stop_mount.rs index a1cb95089b..f12d574e5c 100644 --- a/engine/crates/layerfs-sandbox/tests/local_stop_mount.rs +++ b/engine/crates/layerfs-sandbox/tests/local_stop_mount.rs @@ -3,7 +3,7 @@ //! disposable: this test stops its daemon and force-detaches its mounts. #![cfg(target_os = "macos")] use layerfs_sandbox::{ - backend::native::{LocalProcess, Sandbox}, + native::{LocalProcess, Sandbox}, ContainerId, }; use std::{path::PathBuf, process::Command}; diff --git a/engine/crates/layerfs-sandbox/tests/namespaces_lifecycle.rs b/engine/crates/layerfs-sandbox/tests/namespaces_lifecycle.rs index 4322b38c3d..9a7c1984ad 100644 --- a/engine/crates/layerfs-sandbox/tests/namespaces_lifecycle.rs +++ b/engine/crates/layerfs-sandbox/tests/namespaces_lifecycle.rs @@ -17,9 +17,9 @@ mod support { pub mod image; } use layerfs_sandbox::{ - backend::namespaces::{NamespaceProvider, Sandbox}, - provider::{LaunchRequest, ProviderLaunchOptions, SandboxRecord}, - CommandIdentity, ExecRequest, Image, RuntimeError, + namespaces::{NamespaceProvider, Sandbox}, + CommandIdentity, ExecRequest, Image, LaunchRequest, ProviderLaunchOptions, RuntimeError, + SandboxRecord, }; use std::{ collections::BTreeSet, @@ -113,7 +113,7 @@ impl Fixture { startup_timeout: Duration::from_secs(10), options: ProviderLaunchOptions::Namespaces { command_identity: CommandIdentity { uid: 501, gid: 20 }, - environment: vec![("LAYERFS_KERNEL".to_owned(), "fuse".to_owned())], + environment: Vec::new(), store: self.store.join("sealed.sqlite"), image: self.image(), archive: self.archive.clone(), @@ -540,6 +540,18 @@ fn a_record_reopens_the_exact_sandbox_and_nothing_else() { .map(|record| record.local().name.as_str()), Some("sandbox-1") ); + // the Sandbox keeps its own copy of the helper beside its daemon, which a + // reopening process runs when it has no LAYERFS_SANDBOX_HELPER and its + // executable has no helper beside it (an in-process SDK's `node`) + assert_eq!( + fs::read( + fixture + .directory("sandbox-1") + .join("bin/layerfs-sandbox-helper") + ) + .unwrap(), + fs::read(helper()).unwrap() + ); // what a new process reads: the record alone, with the provider's root, // and it finds the same image under the digest the record keeps let reopened_provider = fixture.provider().unwrap(); @@ -567,7 +579,7 @@ fn a_record_reopens_the_exact_sandbox_and_nothing_else() { ); // a Docker record is refused rather than reinterpreting it - let foreign = SandboxRecord::Docker(layerfs_sandbox::provider::DockerRecord { + let foreign = SandboxRecord::Docker(layerfs_sandbox::DockerRecord { image: "sha256:0".to_owned(), store_volume: Some("volume".to_owned()), port: 30421, diff --git a/engine/crates/layerfs-sandbox/tests/namespaces_protocol.rs b/engine/crates/layerfs-sandbox/tests/namespaces_protocol.rs index 97648c3e38..e3969f16f7 100644 --- a/engine/crates/layerfs-sandbox/tests/namespaces_protocol.rs +++ b/engine/crates/layerfs-sandbox/tests/namespaces_protocol.rs @@ -2,9 +2,7 @@ //! recorded facts a reopen reads, and the refusals that keep one runtime's //! records from another. Nothing here starts a process. use layerfs_sandbox::{ - backend::HelperSpec, - provider::{DockerRecord, LocalRecord, NamespaceRecord, SandboxRecord}, - Image, + DockerRecord, HelperSpec, Image, LocalRecord, NamespaceRecord, SandboxRecord, }; use std::path::PathBuf; diff --git a/engine/crates/layerfs-sandbox/tests/namespaces_rootfs.rs b/engine/crates/layerfs-sandbox/tests/namespaces_rootfs.rs index a7cb03e528..6699c5a958 100644 --- a/engine/crates/layerfs-sandbox/tests/namespaces_rootfs.rs +++ b/engine/crates/layerfs-sandbox/tests/namespaces_rootfs.rs @@ -10,7 +10,7 @@ mod support { pub mod image; } use layerfs_sandbox::{ - backend::namespaces::rootfs::{self, ImageRoot}, + namespaces::rootfs::{self, ImageRoot}, Image, }; use std::{ @@ -222,6 +222,66 @@ fn a_path_that_is_not_plain_and_relative_is_refused() { assert_eq!(temporaries(&scratch.cache).len(), 0); } +/// One pax extended-header record, ` =\n`, whose length +/// counts itself. +fn pax_record(key: &str, value: &str) -> Vec { + let body = format!(" {key}={value}\n"); + let mut length = body.len() + 1; + while format!("{length}").len() + body.len() != length { + length += 1; + } + format!("{length}{body}").into_bytes() +} + +#[test] +fn a_debian_layers_root_entry_and_long_absolute_link_unpack() { + // what the Sandbox image's Debian base layer holds (#527 platform pass): + // an entry for `./`, the root itself, and a symbolic link whose absolute, + // non-ASCII target does not fit the header, so a pax `linkpath` carries it + let scratch = Scratch::new("debian"); + let target = format!( + "/usr/share/ca-certificates/mozilla/{}.crt", + "\u{c4}rztekammer_Root_CA_".repeat(5) + ); + let layer = Tar::new() + .directory("./", 0o755) + .directory("etc/", 0o755) + .raw( + "PaxHeaders/etc/link", + b'x', + 0o644, + &pax_record("linkpath", &target), + ) + .symlink("etc/link", "") + .file("etc/marker", 0o644, b"debian\n") + .finish(); + let path = archive(&scratch.base, "image", DIGEST, vec![layer]); + let root = unpacked(&scratch, &path, DIGEST); + let directory = root.directory(); + assert_eq!(read(&directory.join("etc/marker")), "debian\n"); + assert_eq!( + fs::read_link(directory.join("etc/link")).unwrap(), + PathBuf::from(&target) + ); + // a pax `path` is still checked like any other name + let scratch = Scratch::new("pax-path"); + let layer = Tar::new() + .raw( + "PaxHeaders/x", + b'x', + 0o644, + &pax_record("path", "/etc/outside"), + ) + .file("x", 0o644, b"x") + .finish(); + let path = archive(&scratch.base, "image", DIGEST, vec![layer]); + let error = rootfs::ensure(&path, &image(DIGEST), &scratch.cache).unwrap_err(); + assert!( + format!("{error}").contains("absolute or holds a `..` component"), + "{error}" + ); +} + #[test] fn a_symlink_cannot_redirect_a_later_layers_write() { let scratch = Scratch::new("symlink"); diff --git a/engine/crates/layerfs-sandbox/tests/namespaces_userns.rs b/engine/crates/layerfs-sandbox/tests/namespaces_userns.rs index fcfa2b0347..10a7b32142 100644 --- a/engine/crates/layerfs-sandbox/tests/namespaces_userns.rs +++ b/engine/crates/layerfs-sandbox/tests/namespaces_userns.rs @@ -6,7 +6,7 @@ //! runs in its own binary (no Sandbox runs beside it) and only as root in the //! VM or CI host that owns this kernel. #![cfg(target_os = "linux")] -use layerfs_sandbox::{backend::namespaces::NamespaceProvider, RuntimeError}; +use layerfs_sandbox::{namespaces::NamespaceProvider, RuntimeError}; use std::{fs, os::unix::fs::PermissionsExt, path::Path, path::PathBuf}; /// The kernel's limit on user namespaces. diff --git a/engine/crates/layerfs-sandbox/tests/native_platform.rs b/engine/crates/layerfs-sandbox/tests/native_platform.rs index 6788ee3d8f..4be92b66a2 100644 --- a/engine/crates/layerfs-sandbox/tests/native_platform.rs +++ b/engine/crates/layerfs-sandbox/tests/native_platform.rs @@ -1,21 +1,15 @@ //! Platform refusal precedes filesystem access; a runtime never selects another backend. #![cfg(any(target_os = "linux", target_os = "macos"))] -use layerfs_sandbox::{ - provider::{DockerRecord, LaunchPhase, LaunchRequest, ProviderLaunchOptions, SandboxRecord}, - CommandIdentity, ContainerId, Runtime, RuntimeError, -}; -use std::time::Duration; +use layerfs_sandbox::RuntimeError; #[test] fn wrong_platform_is_refused_before_root_access() { #[cfg(target_os = "macos")] - let result = layerfs_sandbox::backend::native::NativeLinuxProvider::new( - "/does-not-exist/native-provider", - ); + let result = + layerfs_sandbox::native::NativeLinuxProvider::new("/does-not-exist/native-provider"); #[cfg(target_os = "linux")] - let result = layerfs_sandbox::backend::native::NativeMacosProvider::new( - "/does-not-exist/native-provider", - ); + let result = + layerfs_sandbox::native::NativeMacosProvider::new("/does-not-exist/native-provider"); assert!(matches!(result, Err(RuntimeError::Unsupported(_)))); } @@ -23,49 +17,8 @@ fn wrong_platform_is_refused_before_root_access() { fn native_linux_requires_root_before_root_access() { if cfg!(target_os = "linux") && !nix::unistd::Uid::effective().is_root() { assert!(matches!( - layerfs_sandbox::backend::native::NativeLinuxProvider::new( - "/does-not-exist/native-provider" - ), + layerfs_sandbox::native::NativeLinuxProvider::new("/does-not-exist/native-provider"), Err(RuntimeError::Unsupported(_)) )); } } - -/// Windows has no host runtime: the placeholder variant refuses every -/// operation before any effect, and never falls back to Docker or native. -#[test] -fn windows_is_refused_before_any_effect() { - let runtime = Runtime::Windows; - assert!(matches!( - runtime.capabilities(), - Err(RuntimeError::Unsupported(_)) - )); - assert!(matches!( - runtime.local_directory("one"), - Err(RuntimeError::Unsupported(_)) - )); - let request = LaunchRequest { - name: "one".into(), - daemon_executable: "/does-not-exist/daemon".into(), - daemon_config: b"setup".to_vec(), - labels: vec![], - startup_timeout: Duration::from_secs(1), - options: ProviderLaunchOptions::Local { - command_identity: CommandIdentity { uid: 501, gid: 20 }, - environment: vec![], - }, - }; - let failure = runtime.launch(request).err().unwrap(); - assert_eq!(failure.phase, LaunchPhase::Validate); - assert!(failure.instance.is_none()); - assert!(matches!(failure.cause, RuntimeError::Unsupported(_))); - let record = SandboxRecord::Docker(DockerRecord { - image: format!("sha256:{}", "a".repeat(64)), - store_volume: Some("lfs-store".into()), - port: 30421, - labels: vec![], - }); - let id = ContainerId::parse(&"b".repeat(64)).unwrap(); - assert!(runtime.reopen(id, &record).is_err()); - assert!(runtime.reopen_stopped(id, &record).is_err()); -} diff --git a/engine/crates/layerfs-sandbox/tests/native_provider.rs b/engine/crates/layerfs-sandbox/tests/native_provider.rs index f81349ead6..aa9af66c23 100644 --- a/engine/crates/layerfs-sandbox/tests/native_provider.rs +++ b/engine/crates/layerfs-sandbox/tests/native_provider.rs @@ -1,12 +1,12 @@ //! Real native runtime lifecycle and partial launch custody through the Runtime enum. #![cfg(any(target_os = "macos", target_os = "linux"))] #[cfg(target_os = "linux")] -use layerfs_sandbox::backend::native::NativeLinuxProvider as NativeProvider; +use layerfs_sandbox::native::NativeLinuxProvider as NativeProvider; #[cfg(target_os = "macos")] -use layerfs_sandbox::backend::native::NativeMacosProvider as NativeProvider; +use layerfs_sandbox::native::NativeMacosProvider as NativeProvider; use layerfs_sandbox::{ - provider::{DockerRecord, LaunchPhase, LaunchRequest, ProviderLaunchOptions, SandboxRecord}, - CommandIdentity, Runtime, + CommandIdentity, DockerRecord, LaunchPhase, LaunchRequest, ProviderLaunchOptions, Runtime, + SandboxRecord, }; use std::{fs, os::unix::fs::PermissionsExt, time::Duration}; @@ -120,5 +120,34 @@ fn runtime_preserves_partial_launch_owner_and_reopens_the_exact_process() { provider.launch(wrong_options).err().unwrap().phase, LaunchPhase::Validate ); + // #527 step 6: the provider alone names the kernel route. A caller that + // names it is refused before anything is made; the daemon gets the + // platform's route (FUSE on Linux, NFS on macOS). + let mut named = request("named-route"); + if let ProviderLaunchOptions::Local { environment, .. } = &mut named.options { + environment.push(("LAYERFS_KERNEL".into(), "fuse".into())); + } + assert_eq!( + provider.launch(named).err().unwrap().phase, + LaunchPhase::Validate + ); + let route = base.join("route"); + fs::write( + &binary, + format!( + "#!/bin/sh\necho \"$LAYERFS_KERNEL\" > {}\necho LAYERFS_DAEMON_LISTEN 127.0.0.1:40405\nexec /bin/sleep 30\n", + route.display() + ), + ) + .unwrap(); + let mut chosen = provider.launch(request("chosen-route")).unwrap(); + let expected = if cfg!(target_os = "linux") { + "fuse\n" + } else { + "nfs\n" + }; + assert_eq!(fs::read_to_string(&route).unwrap(), expected); + chosen.stop(1).unwrap(); + chosen.delete().unwrap(); fs::remove_dir_all(base).unwrap(); } diff --git a/engine/crates/layerfs-sandbox/tests/runtime_enum.rs b/engine/crates/layerfs-sandbox/tests/runtime_enum.rs index 1f7c1ba78f..c2a0f671a3 100644 --- a/engine/crates/layerfs-sandbox/tests/runtime_enum.rs +++ b/engine/crates/layerfs-sandbox/tests/runtime_enum.rs @@ -1,5 +1,5 @@ //! The Runtime enum's Docker selection: no local directory, container capabilities. -use layerfs_sandbox::backend::docker::{Docker, DockerProvider}; +use layerfs_sandbox::docker::{Docker, DockerProvider}; use layerfs_sandbox::Runtime; use std::time::Duration; diff --git a/engine/crates/layerfs-sandbox/tests/support/engine.rs b/engine/crates/layerfs-sandbox/tests/support/engine.rs index 8918f6741c..54bf0cec5b 100644 --- a/engine/crates/layerfs-sandbox/tests/support/engine.rs +++ b/engine/crates/layerfs-sandbox/tests/support/engine.rs @@ -1,5 +1,5 @@ //! External bounded local Engine peer, through ordinary public Unix endpoint configuration. -use layerfs_sandbox::backend::docker::Docker; +use layerfs_sandbox::docker::Docker; use std::{ fs, io::{BufRead, BufReader, Read, Write}, diff --git a/tools/check_product_boundary.py b/tools/check_product_boundary.py index c6c86c6acc..cc99a989a4 100644 --- a/tools/check_product_boundary.py +++ b/tools/check_product_boundary.py @@ -18,13 +18,13 @@ # Crates whose `unsafe` surface is bounded. layerfs-storage keeps one audited # FFI module (encoding/codec.rs); Persistence has the owner-authorized macOS # seal file-control module; Sandbox reads macOS process facts through -# proc_pidinfo in backend/macos/darwin.rs. Their siblings stay unsafe-free. The +# proc_pidinfo in platform/native/macos/darwin.rs. Their siblings stay unsafe-free. The # comment in a lint name (`unsafe_code`) is not the bare word, so attr lines # never trip the scan once comments are stripped. UNSAFE_AUDITED_MODULE = { "layerfs-storage": "src/encoding/codec.rs", "layerfs-persistence": "src/backend/sqlite/lifecycle/file_control.rs", - "layerfs-sandbox": "src/backend/macos/darwin.rs", + "layerfs-sandbox": "src/platform/native/macos/darwin.rs", } UNSAFE_FREE_CRATES = ( "layerfs-content", diff --git a/tools/test_check_product_boundary.py b/tools/test_check_product_boundary.py index de0715e4f3..da06c369f3 100644 --- a/tools/test_check_product_boundary.py +++ b/tools/test_check_product_boundary.py @@ -124,15 +124,16 @@ def test_sdk_source_edges_and_unsafe_boundary(self): self.assertFalse(unsafe_violations(root, "#![forbid(unsafe_code)]\nmod init;")) def test_sandbox_active_edges_and_unsafe_boundary(self): - path = Path("engine/crates/layerfs-sandbox/src/backend/docker/http.rs") + path = Path("engine/crates/layerfs-sandbox/src/platform/docker/client/http.rs") self.assertTrue(unsafe_violations(path, "unsafe fn signal_pid() {}")) self.assertFalse(unsafe_violations(Path("engine/crates/layerfs-sandbox/src/lib.rs"), "#![deny(unsafe_code)]")) self.assertTrue(unsafe_violations(Path("engine/crates/layerfs-sandbox/src/lib.rs"), "#![forbid(unsafe_code)]")) - darwin = Path("engine/crates/layerfs-sandbox/src/backend/macos/darwin.rs") + darwin = Path("engine/crates/layerfs-sandbox/src/platform/native/macos/darwin.rs") self.assertFalse(unsafe_violations(darwin, "fn f() { unsafe { libc::proc_listallpids(); } }")) self.assertTrue( unsafe_violations( - Path("engine/crates/layerfs-sandbox/src/backend/macos/mounts.rs"), "fn f() { unsafe { call(); } }" + Path("engine/crates/layerfs-sandbox/src/platform/native/macos/mounts.rs"), + "fn f() { unsafe { call(); } }", ) ) prefix = '[package]\nname="layerfs-sandbox"\n[dependencies]\n'