Skip to content

Conversation

@t0mdavid-m
Copy link
Member

@t0mdavid-m t0mdavid-m commented Jan 28, 2026

Summary

Modified the file handling logic to copy params.json instead of symlinking it, allowing users to modify workspace-specific parameters independently without affecting the original source files.

Key Changes

  • Updated _symlink_tree() function to detect params.json and copy it using shutil.copy2() instead of creating a symlink
  • Modified change_workspace() function to exclude params.json from symlink creation on Linux systems, falling back to copy behavior instead
  • Added documentation comments explaining why params.json receives special handling

Implementation Details

  • The changes ensure params.json is copied with metadata preservation (shutil.copy2()) rather than symlinked
  • This applies consistently across both the initial workspace setup (_symlink_tree) and workspace switching (change_workspace)
  • The logic maintains the existing behavior for all other files while providing independent parameter configuration per workspace

https://claude.ai/code/session_012dUQQTySG19toAR3FH7xme

Summary by CodeRabbit

Bug Fixes

  • Configuration files (params.json and .ini) are now copied instead of symlinked when loading demo data and switching workspaces on Linux, enabling independent modification of these configuration files.

✏️ Tip: You can customize this high-level summary in your review settings.

When copying demo files on Linux, params.json is now copied as a regular
file instead of being symlinked. This allows the params.json file to be
modified independently of the source demo data.

https://claude.ai/code/session_012dUQQTySG19toAR3FH7xme
.ini files contain TOPP tool parameter configurations that users may
modify. Like params.json, these should be copied rather than symlinked
to prevent users from affecting each other in multi-user environments.

https://claude.ai/code/session_012dUQQTySG19toAR3FH7xme
@t0mdavid-m t0mdavid-m merged commit d36bf02 into main Jan 28, 2026
4 of 7 checks passed
@coderabbitai
Copy link

coderabbitai bot commented Jan 28, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Changes to src/common/common.py modify configuration file handling. params.json and .ini files are now copied instead of symlinked in _symlink_tree and related functions, enabling independent modification of these configuration files on Linux environments.

Changes

Cohort / File(s) Summary
Configuration File Handling
src/common/common.py
Modified _symlink_tree, change_workspace, and demo data loading functions to copy params.json and .ini files instead of symlinking them, allowing independent modification of configuration files

Possibly related PRs

Poem

🐰 Copying configs with careful paws,
No longer bound by symlink's clause,
Each workspace free to find its way,
Config independence saves the day! ✨

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

3 participants