Getting Started¶
This guide gets a new user into the platform and a new developer into the codebase. For the product overview and architecture, see the README.
For users¶
- Sign in. Go to
https://mit.nonlocally.organd sign in with Google or GitHub (OAuth). New accounts use self-service signup; access is granted per the platform's approval policy. - Chat. Pick a model from the model selector (Claude / OpenAI / local Ollama) and start a conversation. Tools for notebooks and photonic design are available from the chat.
- Open a notebook. Use the workspace split-screen: chat on the left, a live Marimo notebook on the right. Create a notebook, edit cells, and run them — execution happens in a sandboxed, per-user environment.
- Browse the gallery. Public notebooks are available in the gallery and are linked from chat. You can submit your own notebook for publication; submissions go through a review queue before appearing publicly.
- Design & verify. Use the photonic/EDA tools (GDSFactory layout, Optiverse ray tracing, Lean4/VVUQ verification) directly from chat.
Need help? See support.md.
For developers¶
Prerequisites¶
- Python 3.11
- (Optional)
kubectlaccess to the GKE cluster for deployment/live tests
Set up¶
git clone https://github.com/Englund-Garage/openweb-marimo-platform.git
cd openweb-marimo-platform
pip install -e ".[dev]"
Run the tests¶
# Fast unit suite (safe defaults: 30s timeout, integration/external deselected)
python -m pytest tests/unit/ -v --timeout=30
# Critic quality gates
python -m pytest tests/critic-generated/ --timeout=30
# Executable goal-state gates — the definition of "done" (GOAL.md)
make goal-check-source # source-level subset (CI gate)
make goal-check # full suite; live (requires_cluster) gates xfail off-cluster
How the goal state works¶
The launch goal is encoded as tests under tests/goal/. Each criterion in
GOAL.md maps to one named test. Unmet criteria ship as
@pytest.mark.xfail(strict=True), so the day a feature lands its test starts
passing → a strict XPASS failure forces you to remove the marker and check the box.
The goal therefore cannot be silently faked. CI enforces this via
.github/workflows/goal-gate.yml.
Making a change¶
- Write or update a test first (TDD).
- Implement the minimal code to pass it.
- Run the relevant suite +
make goal-check-source. - Commit with a conventional-commit message (
feat:/fix:/docs:/…). - Open a PR; the
org-conventions,unit-tests, andgoal-gatechecks must pass.
Deploying¶
Deployment to GKE is driven by the workflows in .github/workflows/
(deploy-staging.yml, workspace-agent-staging.yml). See AGENT.md
for operational details, gotchas, and the source-companion test pattern for
cluster-dependent invariants.