Scientific research is open-ended. Tasks take shape as the work progresses, and their connections can be intricate. A finding can open several new directions, each drawing on context spread across the project. Specialized tasks need custom tools, methods, and environments, which change as the research develops. Understanding the work means keeping track of both what happened and the conditions that produced it.
The philosophy I follow in building an agent workspace for this kind of research is simple: establish a few well-designed rules and constraints, then leave ample room for the work to evolve within them. Give people and agents the means to organize their work, build what they need, and respond to what they find. Let them decide how to proceed.
Polariton is built around this philosophy, on top of the DeepSeek Harness[1]. Five design choices give it its shape:
1. A graph represents the research
A project consists of connected tasks. Each task occupies a node with its own workspace directory. Edges describe relationships between tasks in terms that fit the research. The graph can change as the project develops.
2. Workers act within nodes
A worker is an agent assigned a customized environment that provides the tools it needs for its task. Several workers can work within the same node, sharing its files while approaching the task independently.
3. Workers can build the means to do their work
They can create tools, prepare versioned environments, and create other workers with different environments and tool sets. New capabilities can develop as the research calls for them, while earlier versions remain recorded.
4. Workers can change the project’s structure
A command-line interface lets them create nodes, describe relationships, and revise the graph. They can organize work as new tasks and connections emerge. These changes become part of the project’s history.
5. The work leaves a record
Graph changes are retained in an append-only log. Published checkpoints preserve the state of each node’s workspace in Git. Workers’ messages, tool calls, and results remain available for inspection, alongside their assigned environment versions. The record lets us return to earlier work and understand how it developed.
I’m open-sourcing the Polariton core on GitHub. This build gives agents room to work and defines the constraints around that work. As the research develops, I’ll release new capabilities and refinements to those constraints.