Skip to content

feat(app): add sandboxed scientific script workflow - #49

Merged
nmrtist merged 2 commits into
mainfrom
feat/scientific-script-workflow
Aug 4, 2026
Merged

feat(app): add sandboxed scientific script workflow#49
nmrtist merged 2 commits into
mainfrom
feat/scientific-script-workflow

Conversation

@nmrtist

@nmrtist nmrtist commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a read-only .plotxscript workflow for processing selected project datasets
  • resolve datasets referenced by multi-selected canvases while preserving stable resource IDs
  • run scripts in a constrained Rhai sandbox with filesystem imports disabled and explicit resource limits
  • process inputs in the background and retain results or errors for every dataset
  • render script-defined summaries and allow complete JSON results to be saved
  • register script execution in the shared command catalog
  • separate scientific scripts from registered tools in the Automation interface

Security

  • reject filesystem module imports
  • bound operations, collection sizes, strings, variables, functions, nesting, and serialized output
  • expose only prepared read-only dataset snapshots to scripts

Testing

  • cargo pr-check
  • regression coverage for sandbox imports and allocation limits
  • selection, stable-ID, per-input error, command-catalog, and optional LC-method coverage

Dependency

Depends on #48. Review and merge #48 first; after it merges, this PR's diff against main will contain only the scientific script workflow changes.

@nmrtist
nmrtist changed the base branch from feat/lc-method-metadata to main August 4, 2026 13:21
@nmrtist
nmrtist merged commit ad36208 into main Aug 4, 2026
11 checks passed
@nmrtist
nmrtist deleted the feat/scientific-script-workflow branch August 4, 2026 13:33
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant