Existing projects

Limits and retention

Size caps, what gets filtered on upload, and how long a workspace stays around.

Uploads are bounded, filtered and checked before anything reaches disk, and workspaces do not live forever. None of these limits is arbitrary; each one exists because of a specific way an archive can go wrong.

Size limits

LimitDefault
Total uncompressed size64 MB
Single file size8 MB
File count2000 files

These are deployment settings, so the numbers where you are running may differ. If an upload is rejected you are told which limit it hit, not just that it failed.

Tip

Hitting the file count almost always means a build directory or a dependency folder came along. Check the skipped list; it usually names the culprit.

What is filtered out

Some directories are never taken, because they are never useful to a run and one of them alone can exhaust the file count on a real repository:

.git   .hg   .svn   node_modules   __pycache__   .venv   venv
.mypy_cache   .pytest_cache   .tox   .idea   .next
build   dist   .cache

Beyond that, three kinds of entry are rejected outright rather than filtered:

  • Paths that escape the archive. An entry pointing outside the folder it claims to be in is refused; it is a known way to write files where they do not belong.
  • Symbolic links. They can point anywhere, so they are not extracted.
  • Executable bits. Stripped from everything; nothing in an uploaded archive needs to be runnable.

The wrapper directory

Archives downloaded from a Git host arrive wrapped in a single folder named after the repo and branch, such as fifo_project-main/. That wrapper is stripped so your paths look the way they do locally.

It is not stripped when the single top-level directory is real project content. Names like rtl, src, tb, sim, docs and constraints are left alone; moving them up a level would break every relative include in your sources.

How long a workspace lives

WorkspaceKept for
In use by a chat30 days after the last activity in it. Every run refreshes that clock.
Uploaded but never used24 hours. Nothing points at it, so it is unreachable in any case.
Deleted by youRemoved immediately when you discard it or delete its chat.

Retention is measured from real activity rather than from a bookkeeping timestamp, and the files are re-checked before anything is removed; a workspace you touched recently is left alone even if its record says otherwise.

Heads up

Treat a workspace as working space, not as storage. Download anything you want to keep; your own repository is the place changes should end up.

Files we write, and never give back

A run keeps a few bookkeeping files inside the workspace: a transcript, a change report and a simulation log. They are filtered out of the file tree, the download zip and the change report, so a project you unzip over your checkout never picks up our scratch files.