How SciStudio works
This is a user-facing overview of how SciStudio works. For full architectural detail, see the SciStudio Architecture Document.
3. Architecture Overview
| Layer | Responsibility |
|---|---|
| Frontend | User interaction |
| API | Validated access and updates |
| AI agents | Project assistance |
| Execution engine | Scheduling and processes |
| Block system | Typed work units |
| Data foundation | Types, storage, and lineage |
Plugins extend the stack; the backend remains the source of truth.
4. Data Foundation
DataObject carries type, metadata, and storage across six forms:
| Type | Meaning | Canonical storage |
|---|---|---|
Array |
Named-axis N-dimensional numeric data | Zarr |
Series |
Labelled one-dimensional data | Arrow / Parquet |
DataFrame |
Schema-defined table | Arrow / Parquet |
Text |
Small text | Memory or filesystem |
Artifact |
External-format file | Filesystem |
CompositeData |
Named mixed-data bundle | Directory of slot backends |
Canonical zone. Typed objects and storage references move between blocks. Load, save, code, app, and agent boundaries convert files.
Inheritance. Domain types extend basic forms: Image extends Array,
Spectrum extends Series, and PeakTable extends DataFrame. The registry
uses these relationships for port validation.
5. Block System
Blocks declare typed ports, configuration, and execution:
| Block type | Use |
|---|---|
IOBlock |
Load or save files |
ProcessBlock |
Transform typed data |
AppBlock |
Use an external GUI or CLI |
CodeBlock |
Run a script or notebook |
AIBlock |
Run a bounded AI step |
SubWorkflowBlock |
Reuse a workflow node |
Custom blocks extend these forms at project, user, or package scope.
6. Lineage and Reproducibility
| Surface | Role |
|---|---|
| Lineage record | Connects the workflow snapshot, parameters, block executions, inputs, outputs, environment, and status |
| Run history | Shows how a result was produced and which steps ran, failed, or skipped |
| Restore | Returns the project to a recorded run's state, after reporting any input or environment drift since |
| Git branches | Keep parallel workflow variants for different batches, instruments, cohorts, or experiments |
7. AI Agents
Four project agent surfaces:
| Surface | Role |
|---|---|
| Agent session | Interactive project help in any supported agent CLI: Claude Code, Codex, Kimi Code, or either Qoder channel |
| MCP server | 35 tools for blocks, types, workflows, runs, data, lineage, plots, project information, and opening the live GUI in a browser |
| Skills | Task guidance for workflows, block authoring, debugging, data inspection, and project QA |
AIBlock |
Bounded graph node with typed inputs, outputs, and completion. Runs on the same agent CLIs except Kimi Code, which is chat-only |
All four share project context and backend contracts. The agent CLI is user-installed and chosen per session or per block — see ai-assistant.md.
10. Plot System
Plot cards turn workflow results into figures for exploration and communication.
| Surface | Role |
|---|---|
| Plot card | Saves a visualization connected to one workflow output |
| Authoring | Uses Python or R and supports several views of one result |
| Preview and export | Displays figures in the preview panel and exports SVG, PNG, PDF, or JPEG |
| Relinking | Connects a card to a new output after workflow changes |
| AI assistance | Creates, explains, validates, runs, and relinks plot cards |
Workflows focus on producing data. Plot cards support fast visual exploration.
12. Extensibility
Domain extension surfaces:
| Surface | Adds | Lives in |
|---|---|---|
| Blocks | Workflow steps | Project, user, or package |
| Data types and formats | Data contracts and boundary conversions | Project, user, or package |
| Previewers | Type-specific views | Project or package |
Extensions use shared registries and the public API.