Skip to content

fix(convo): recognize camelCase filePath/fileName in the shared file-path extractor#129

Open
akesling wants to merge 1 commit into
fix/convo-relative-change-keysfrom
fix/convo-generic-filepath-camelcase
Open

fix(convo): recognize camelCase filePath/fileName in the shared file-path extractor#129
akesling wants to merge 1 commit into
fix/convo-relative-change-keysfrom
fix/convo-generic-filepath-camelcase

Conversation

@akesling

@akesling akesling commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #124 (stacked on it — base will auto-retarget to main when #124 merges).

The gap

The shared derive_path file-path extractor (toolpath-convo/src/derive.rs) probed only ["file_path", "path", "filename", "file"] — no camelCase. A provider that leaves file-mutation synthesis to the shared derive (rather than pre-building Turn.file_mutations) therefore dropped a FileWrite tool's artifact when its input used the camelCase convention. opencode's tool inputs use filePath; it dodges the bug only because it pre-builds file_mutations via its own tool_input_file_path helper (which also carries snapshot diffs, so it stays). Any provider without that pre-build — or a future one — silently loses the file from change.

The fix

Add the camelCase siblings of the fields already probed: filePath (for file_path) and fileName (for filename). snake_case is probed first, so no existing input changes which field wins. One line in extract_file_path.

Tests

TDD (both red before the fix): a FileWrite tool whose input has only filePath / only fileName now produces a change entry (previously dropped). Existing snake_case and no-recognized-field tests unchanged. Full workspace build/test/clippy green.

Scope notes

  • Strictly additive — only affects newly-derived documents, and only to recover a file that was being dropped. No effect on already-shared documents.
  • Deliberately did not fold absolute_path/absolutePath (a distinct gemini-specific field) into the generic list — gemini already handles its own; that's a separate judgment.
  • toolpath-convo 0.11.3 (stacked on fix(convo): relativize file change keys against path.base #124's 0.11.2). No path-cli/toolpath-cli bump.

View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

🔍 Preview deployed: https://0481edfb.toolpath.pages.dev

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.

1 participant