You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(compile): add awf_path_prepends to CompilerExtension for chroot PATH injection
Add a new CompilerExtension trait method awf_path_prepends() that lets
extensions declare directories to prepend to PATH inside the AWF chroot.
The compiler collects these paths and generates a dedicated pipeline step
(Generate GITHUB_PATH file) that writes them to a file and sets the
GITHUB_PATH env var via ##vso[task.setvariable]. AWF natively reads this
file at startup and merges entries into the chroot PATH, bypassing the
sudo secure_path reset that strips custom PATH entries.
LeanExtension declares \C:\Users\devinejames/.elan/bin so lean, lake, and elan are
discoverable by the agent without requiring absolute paths.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: docs/template-markers.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -373,6 +373,24 @@ When no extensions declare mounts, this is replaced with `\` (a bare bash contin
373
373
374
374
AWF replaces `$HOME` with an empty directory overlay for security; only explicitly mounted subdirectories are accessible inside the chroot. Shell variables like `$HOME` are expanded at runtime by bash.
375
375
376
+
## {{ awf_path_step }}
377
+
378
+
Replaced with a dedicated pipeline step that generates a `GITHUB_PATH` file for AWF chroot PATH discovery. The step is collected from `CompilerExtension::awf_path_prepends()` — each extension can declare directories that should be on PATH inside the AWF chroot (e.g., the Lean runtime declares `$HOME/.elan/bin`).
379
+
380
+
AWF reads the `$GITHUB_PATH` environment variable (a path to a file) at startup, reads path entries from it (one per line), and merges them into `AWF_HOST_PATH` which becomes the chroot PATH. This bypasses the `sudo` `secure_path` reset that strips custom PATH entries.
381
+
382
+
When no extensions declare path prepends, this is replaced with an empty string and the step is omitted.
Should be replaced with `--enabled-tools <name>` CLI arguments for the SafeOutputs MCP HTTP server. The tool list is derived from `safe-outputs:` front matter keys plus always-on diagnostic tools (`noop`, `missing-data`, `missing-tool`, `report-incomplete`).
0 commit comments