CI: FAILURE ambient-ci

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-04-01 08:10:11ZProgram: ambient-execute-plan
Version: 0.14.0@c37ec71
plan: Runnable plan
After 0.00 seconds at 2026-04-01 08:10:11Z
steps:
- action: mkdir
  pathname: /ci
- action: mkdir
  pathname: /ci/artifacts
- action: tar_extract
  archive: /dev/vdc
  directory: /ci/src
- action: tar_extract
  archive: /dev/vdf
  directory: /ci/deps
- action: tar_extract
  archive: /dev/vde
  directory: /ci/cache
- action: shell
  shell: ln -sf /ci /workspace
- action: shell
  shell: git config --global user.name 'Ambient CI'
- action: shell
  shell: git config --global user.email ambient@example.com
- action: cargo_fmt
- action: cargo_clippy
- action: cargo_build
- action: cargo_test
- action: shell
  shell: |
    make doc
    cp ./*.html doc/*.html /ci/artifacts
    git reset --hard
    git clean -fdx
- action: custom
  name: dch
  args:
    debemail: liw@liw.fi
    debfullname: Lars Wirzenius
- action: deb
  packages: .
- action: tar_create
  archive: /dev/vde
  directory: /ci/cache
- action: tar_create
  archive: /dev/vdd
  directory: /ci/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /ci
source_dir: /ci/src
deps_dir: /ci/deps
cache_dir: /ci/cache
artifacts_dir: /ci/artifacts
envs: {}
plan: Successful action mkdir: /ci
After 0.00 seconds at 2026-04-01 08:10:11Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-04-01 08:10:11Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-04-01 08:10:11Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.00 seconds at 2026-04-01 08:10:11Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-04-01 08:10:11Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-04-01 08:10:11Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.00 seconds at 2026-04-01 08:10:11Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-04-01 08:10:11Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-04-01 08:10:11Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.04 seconds at 2026-04-01 08:10:11Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-04-01 08:10:11Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-04-01 08:10:12Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 1.33 seconds at 2026-04-01 08:10:12Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-04-01 08:10:12Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-04-01 08:10:12Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 1.34 seconds at 2026-04-01 08:10:12Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-04-01 08:10:12Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 1.35 seconds at 2026-04-01 08:10:12Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-04-01 08:10:12Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Exit code: 0
    Stderr:
    + git config --global user.name 'Ambient CI'
    
  • plan: Action succeeded shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 1.37 seconds at 2026-04-01 08:10:12Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-04-01 08:10:12Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Exit code: 0
    Stderr:
    + git config --global user.email ambient@example.com
    
  • plan: Action succeeded shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-04-01 08:10:12Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Start action cargo_fmt
After 1.39 seconds at 2026-04-01 08:10:12Z
CargoFmt(
    CargoFmt,
)
plan: Start program cargo
After 1.39 seconds at 2026-04-01 08:10:12Z
  • cargo
  • --version
plan: Program succeeded
After 1.45 seconds at 2026-04-01 08:10:12Z
Exit code: 0
Stdout:
cargo 1.94.0 (85eff7c80 2026-01-15)
plan: Start program cargo
After 1.45 seconds at 2026-04-01 08:10:12Z
  • cargo
  • clippy
  • --version
plan: Program succeeded
After 1.56 seconds at 2026-04-01 08:10:13Z
Exit code: 0
Stdout:
clippy 0.1.94 (4a4ef493e3 2026-03-02)
plan: Start program rustc
After 1.56 seconds at 2026-04-01 08:10:13Z
  • rustc
  • --version
plan: Program succeeded
After 1.61 seconds at 2026-04-01 08:10:13Z
Exit code: 0
Stdout:
rustc 1.94.0 (4a4ef493e 2026-03-02)
plan: Start program cargo
After 1.61 seconds at 2026-04-01 08:10:13Z
  • cargo
  • fmt
  • --check
plan: ERROR: Program failed
After 1.84 seconds at 2026-04-01 08:10:13Z
Exit code: 1
Stdout:
Diff in /ci/src/src/action_impl/gomod.rs:57:
         // the dependencies directory.
         context.set_env("GOMODCACHE", &gomod_dir_str);
 
-        super::spawn_in(context, &["go", "mod", "download"], tmp.path().to_path_buf())?;
+        super::spawn_in(
+            context,
+            &["go", "mod", "download"],
+            tmp.path().to_path_buf(),
+        )?;
 
         // Set environment variables so the VM plan finds the cached
         // modules without needing network access.
Diff in /ci/src/src/action_impl/pip.rs:51:
     }
 
     fn requirements_file(&self) -> &str {
-        self.requirements
-            .as_deref()
-            .unwrap_or(DEFAULT_REQUIREMENTS)
+        self.requirements.as_deref().unwrap_or(DEFAULT_REQUIREMENTS)
     }
 
     fn allow_sdist(&self) -> bool {
plan: Action failed: cargo_fmt
After 1.84 seconds at 2026-04-01 08:10:13Z
CargoFmt(
    CargoFmt,
)

Raw log messages for Ambient troubleshooting

Raw log messages

These raw log messages are meant to help Ambient developers figure out problems. You can ignore them.

  1. {
      "type": "executor_starts",
      "name": "ambient-execute-plan",
      "version": "0.14.0@c37ec71",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 538939618
      },
      "log_source": "Plan"
    }
  2. {
      "type": "runnable_plan",
      "steps": [
        {
          "action": "mkdir",
          "pathname": "/ci"
        },
        {
          "action": "mkdir",
          "pathname": "/ci/artifacts"
        },
        {
          "action": "tar_extract",
          "archive": "/dev/vdc",
          "directory": "/ci/src"
        },
        {
          "action": "tar_extract",
          "archive": "/dev/vdf",
          "directory": "/ci/deps"
        },
        {
          "action": "tar_extract",
          "archive": "/dev/vde",
          "directory": "/ci/cache"
        },
        {
          "action": "shell",
          "shell": "ln -sf /ci /workspace"
        },
        {
          "action": "shell",
          "shell": "git config --global user.name 'Ambient CI'"
        },
        {
          "action": "shell",
          "shell": "git config --global user.email ambient@example.com"
        },
        {
          "action": "cargo_fmt"
        },
        {
          "action": "cargo_clippy"
        },
        {
          "action": "cargo_build"
        },
        {
          "action": "cargo_test"
        },
        {
          "action": "shell",
          "shell": "make doc\ncp ./*.html doc/*.html /ci/artifacts\ngit reset --hard\ngit clean -fdx\n"
        },
        {
          "action": "custom",
          "name": "dch",
          "args": {
            "debemail": "liw@liw.fi",
            "debfullname": "Lars Wirzenius"
          }
        },
        {
          "action": "deb",
          "packages": "."
        },
        {
          "action": "tar_create",
          "archive": "/dev/vde",
          "directory": "/ci/cache"
        },
        {
          "action": "tar_create",
          "archive": "/dev/vdd",
          "directory": "/ci/artifacts"
        }
      ],
      "executor_drive": "/dev/vdb",
      "source_drive": "/dev/vdc",
      "artifact_drive": "/dev/vdd",
      "cache_drive": "/dev/vde",
      "deps_drive": "/dev/vdf",
      "workspace_dir": "/ci",
      "source_dir": "/ci/src",
      "deps_dir": "/ci/deps",
      "cache_dir": "/ci/cache",
      "artifacts_dir": "/ci/artifacts",
      "envs": {},
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 539303052
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 539523254
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 539767949
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 539922813
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 539948389
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 540128335
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 575339172
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1775031011,
        "nanos_since_epoch": 575369368
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 870337727
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 870373491
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 876700523
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 876722127
      },
      "log_source": "Plan"
    }
  14. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            98,
            97,
            115,
            104
          ]
        },
        {
          "Unix": [
            45,
            99
          ]
        },
        {
          "Unix": [
            115,
            101,
            116,
            32,
            45,
            120,
            101,
            117,
            111,
            32,
            112,
            105,
            112,
            101,
            102,
            97,
            105,
            108,
            10,
            108,
            110,
            32,
            45,
            115,
            102,
            32,
            47,
            99,
            105,
            32,
            47,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 876733231
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 887988484
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 890570408
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 892888761
      },
      "log_source": "Plan"
    }
  18. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            98,
            97,
            115,
            104
          ]
        },
        {
          "Unix": [
            45,
            99
          ]
        },
        {
          "Unix": [
            115,
            101,
            116,
            32,
            45,
            120,
            101,
            117,
            111,
            32,
            112,
            105,
            112,
            101,
            102,
            97,
            105,
            108,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            45,
            45,
            103,
            108,
            111,
            98,
            97,
            108,
            32,
            117,
            115,
            101,
            114,
            46,
            110,
            97,
            109,
            101,
            32,
            39,
            65,
            109,
            98,
            105,
            101,
            110,
            116,
            32,
            67,
            73,
            39,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 895463739
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 905825893
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 908616722
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 911189583
      },
      "log_source": "Plan"
    }
  22. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            98,
            97,
            115,
            104
          ]
        },
        {
          "Unix": [
            45,
            99
          ]
        },
        {
          "Unix": [
            115,
            101,
            116,
            32,
            45,
            120,
            101,
            117,
            111,
            32,
            112,
            105,
            112,
            101,
            102,
            97,
            105,
            108,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            45,
            45,
            103,
            108,
            111,
            98,
            97,
            108,
            32,
            117,
            115,
            101,
            114,
            46,
            101,
            109,
            97,
            105,
            108,
            32,
            97,
            109,
            98,
            105,
            101,
            110,
            116,
            64,
            101,
            120,
            97,
            109,
            112,
            108,
            101,
            46,
            99,
            111,
            109,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 913855877
      },
      "log_source": "Plan"
    }
  23. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.email ambient@example.com\n",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 921759802
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 924664630
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 927405090
      },
      "log_source": "Plan"
    }
  26. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 929358991
      },
      "log_source": "Plan"
    }
  27. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.94.0 (85eff7c80 2026-01-15)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 991141174
      },
      "log_source": "Plan"
    }
  28. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            99,
            108,
            105,
            112,
            112,
            121
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031012,
        "nanos_since_epoch": 993853712
      },
      "log_source": "Plan"
    }
  29. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.94 (4a4ef493e3 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 99551794
      },
      "log_source": "Plan"
    }
  30. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 99590905
      },
      "log_source": "Plan"
    }
  31. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.94.0 (4a4ef493e 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 147048934
      },
      "log_source": "Plan"
    }
  32. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            102,
            109,
            116
          ]
        },
        {
          "Unix": [
            45,
            45,
            99,
            104,
            101,
            99,
            107
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 147092056
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_failed",
      "exit_code": 1,
      "stdout": "Diff in /ci/src/src/action_impl/gomod.rs:57:\n         // the dependencies directory.\n         context.set_env(\"GOMODCACHE\", &gomod_dir_str);\n \n-        super::spawn_in(context, &[\"go\", \"mod\", \"download\"], tmp.path().to_path_buf())?;\n+        super::spawn_in(\n+            context,\n+            &[\"go\", \"mod\", \"download\"],\n+            tmp.path().to_path_buf(),\n+        )?;\n \n         // Set environment variables so the VM plan finds the cached\n         // modules without needing network access.\nDiff in /ci/src/src/action_impl/pip.rs:51:\n     }\n \n     fn requirements_file(&self) -> &str {\n-        self.requirements\n-            .as_deref()\n-            .unwrap_or(DEFAULT_REQUIREMENTS)\n+        self.requirements.as_deref().unwrap_or(DEFAULT_REQUIREMENTS)\n     }\n \n     fn allow_sdist(&self) -> bool {\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 374579613
      },
      "log_source": "Plan"
    }
  34. {
      "type": "action_failed",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 374616788
      },
      "log_source": "Plan"
    }
  35. {
      "type": "executor_ends_in_failure",
      "exit_code": 1,
      "timestamp": {
        "secs_since_epoch": 1775031013,
        "nanos_since_epoch": 374655513
      },
      "log_source": "Plan"
    }

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "patch",
  "repository": {
    "id": "rad:zwPaQSTBX8hktn22F6tHAZSFH2Fh",
    "name": "ambient-ci",
    "description": "Ambient command line tool to run CI projects locally",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV"
    ]
  },
  "action": "Created",
  "patch": {
    "id": "bec667fce1e4ab86cc5a3f2e0f880a6bbb560bb2",
    "author": {
      "id": "did:key:z6MkvsiybCuk1WDZhh2aXDx7NTiZejKgWZygMNsUuXDMNvVQ",
      "alias": "e"
    },
    "title": "feat: add pip_download and go_mod_download pre-plan actions",
    "state": {
      "status": "open",
      "conflicts": []
    },
    "before": "c37ec710c1ada18241d70f20e3a8a1e8285da6aa",
    "after": "599a08d2f6494cb7221587d619ed6be9c3952253",
    "commits": [
      "599a08d2f6494cb7221587d619ed6be9c3952253"
    ],
    "target": "c37ec710c1ada18241d70f20e3a8a1e8285da6aa",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "bec667fce1e4ab86cc5a3f2e0f880a6bbb560bb2",
        "author": {
          "id": "did:key:z6MkvsiybCuk1WDZhh2aXDx7NTiZejKgWZygMNsUuXDMNvVQ",
          "alias": "e"
        },
        "description": "Add two new pre-plan actions for downloading dependencies, following\nthe same pattern as cargo_fetch, npm_get, and deb_get:\n\n- pip_download: copies only the requirements file from the source tree,\n  then runs `pip download` to fetch packages into deps/pip/. By default\n  only pre-built wheels are downloaded (--only-binary=:all:) to avoid\n  executing setup.py. Sets PIP_FIND_LINKS and PIP_NO_INDEX plan env\n  vars so the VM installs from local packages offline.\n\n- go_mod_download: copies only go.mod and go.sum from the source tree,\n  then runs `go mod download` with GOMODCACHE pointing at deps/gomod/.\n  Sets GOMODCACHE and GONOSUMCHECK plan env vars for the VM.\n\nBoth actions follow the security principle of never exposing the full\nsource tree to the package manager during pre-plan, and never executing\nuntrusted project code.\n\nExample .radicle/ambient.yaml for a Python project:\n\n    pre_plan:\n      - action: pip_download\n    plan:\n      - action: shell\n        shell: |\n          pip install --no-index --find-links /ci/deps/pip -r requirements.txt\n          python -m pytest\n\nExample for a Go project:\n\n    pre_plan:\n      - action: go_mod_download\n    plan:\n      - action: shell\n        shell: |\n          go build ./...\n          go test ./...\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
        "base": "c37ec710c1ada18241d70f20e3a8a1e8285da6aa",
        "oid": "599a08d2f6494cb7221587d619ed6be9c3952253",
        "timestamp": 1775030992
      }
    ]
  }
}

Ambient stdout

executor from config: /usr/bin/ambient-execute-plan
executor from PATH: /usr/bin/ambient-execute-plan
run CI for rad:zwPaQSTBX8hktn22F6tHAZSFH2Fh
ERROR: CI run failed inside QEMU

Ambient stderr

<empty log>