Skip to content

fix: serialize filesystem paths with POSIX separators for provider APIs and add Windows CI - #5

Open
Adityakk9031 wants to merge 2 commits into
AlmanacCode:mainfrom
Adityakk9031:#4
Open

fix: serialize filesystem paths with POSIX separators for provider APIs and add Windows CI#5
Adityakk9031 wants to merge 2 commits into
AlmanacCode:mainfrom
Adityakk9031:#4

Conversation

@Adityakk9031

@Adityakk9031 Adityakk9031 commented Jul 18, 2026

Copy link
Copy Markdown

Description

This PR ensures that all filesystem paths (cwd, scriptPath, skill paths) sent to provider APIs (Claude and Codex) and written to TOML configs are serialized using POSIX forward-slash separators across all operating systems.

Key changes:

  1. scriptPath Serialization: Updated Workflow.native_input() in src/yoke/models.py to use .as_posix().
  2. Provider API cwd & Skill Paths: Updated claude.py, codex_sdk.py, codex_app_server.py, and codex_agents.py to enforce .as_posix() for working directory and skill path references sent to cloud APIs.
  3. Windows CI Leg: Added windows-latest to .github/workflows/ci.yml across Python 3.11, 3.12, and 3.13.

Testing

  • Verified pytest tests/test_workflows.py::test_file_workflow_requires_native_workflow_feature passes on Windows.
  • Verified pytest tests/test_claude_options.py passes on Windows.

Fixes #4

### Description
This PR addresses an issue where Claude-style Workflow tool payloads fail to resolve correctly when dispatched from a Windows host.

Previously, `Workflow.native_input()` serialized the `scriptPath` using `str(self.script_path)`, which evaluates to backslash-separated paths on Windows (e.g., `workflows\audit-routes.js`). When sent to the Claude API backend, these backslashes are often interpreted as literal characters in a filename rather than directory separators, causing workflow scripts to fail to load.

This change updates the serialization to explicitly use `self.script_path.as_posix()`, enforcing forward slashes on all operating systems and ensuring seamless compatibility with cloud APIs.

### Testing
- [x] Verified that `pytest tests/test_workflows.py::test_file_workflow_requires_native_workflow_feature` now passes on Windows, confirming the correct payload structure is generated.

### Related Issues
Fixes #[Insert Issue Number Here]
@Adityakk9031

Adityakk9031 commented Jul 18, 2026

Copy link
Copy Markdown
Author

@divitsheth have a look

@Adityakk9031

Copy link
Copy Markdown
Author

@rohans0509 have a look

@Adityakk9031 Adityakk9031 changed the title fix: ensure POSIX path serialization for workflow scriptPath on Windows fix: serialize filesystem paths with POSIX separators for provider APIs and add Windows CI Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Workflow scriptPath fails on Windows due to backslash path serialization

1 participant