← FLOOR
BAY 04
Evidence only · not a verdictqeinstein/solari-cookbook
2/3 checks · 1 to look at · 59 files · script
--- stderr ---
usage: main.py [-h]
{run,local,cloud,solari,benchmark,replay,minimize,compare,regress}
...
main.py: error: the following arguments are required: modeThis program reads SOLARI_API_KEY. Forklift never hands its own key to guest code, so the exit code above is not held against the submission. Run it with your key to judge it.
Criteria
- YES
Uses Solari sandboxes as infrastructure
Sandbox import found.
- NO
Uses Solari browser recording
No recording call.
- LOOK
Ships a real product, not a tutorial clone
- YES
No secrets in the submitted code
None committed.
Run
- AHEAD
- 40 commits
- MODE
- script · examples/timecapsule-py
- PREVIEW
- none
- STACK
- python
- BUILD
- ok
- TESTS
- none
- SECRETS
- none
Solari
SANDBOXBROWSERRECORDINGDESKTOP
packages: solari-sandbox, solari
examples/browser-profiles-ts/index.ts: browser examples/browser-quickstart-ts/index.ts: browser examples/browser-stealth-proxy-ts/index.ts: browser examples/sandbox-code-interpreter-py/main.py: sandbox examples/sandbox-quickstart-ts/index.ts: sandbox
README
- START
- python3 main.py run --futures 25
- FOUND
- yes
- PORT
- 8766
- MATCHES
- no
- NAMES SOLARI
- yes
Diff
+14709 −76 across 59 files
NEW TOP-LEVEL: .github · TESTING.md · benchmarks · examples
- .github/workflows/timecapsule.ymlA
- .gitignoreM
- README.mdM
- TESTING.mdA
- benchmarks/timecapsule-search-comparison.mdA
- examples/timecapsule-py/.gitignoreA
- examples/timecapsule-py/README.mdA
- examples/timecapsule-py/assets/timecapsule-banner.svgA
- examples/timecapsule-py/dashboard/.env.exampleA
- examples/timecapsule-py/dashboard/app/globals.cssA
- examples/timecapsule-py/dashboard/app/layout.tsxA
- examples/timecapsule-py/dashboard/app/page.tsxA
- examples/timecapsule-py/dashboard/components/ExecutionTrace.tsxA
- examples/timecapsule-py/dashboard/components/FutureTree.tsxA
- examples/timecapsule-py/dashboard/components/Inspector.tsxA
- examples/timecapsule-py/dashboard/components/RunSummary.tsxA
- examples/timecapsule-py/dashboard/dev.pyA
- examples/timecapsule-py/dashboard/eslint.config.mjsA
- examples/timecapsule-py/dashboard/lib/api.tsA
- examples/timecapsule-py/dashboard/lib/presentation.tsA
- examples/timecapsule-py/dashboard/lib/types.tsA
- examples/timecapsule-py/dashboard/next-env.d.tsA
- examples/timecapsule-py/dashboard/next.config.tsA
- examples/timecapsule-py/dashboard/package-lock.jsonA
- examples/timecapsule-py/dashboard/package.jsonA
- examples/timecapsule-py/dashboard/server.pyA
- examples/timecapsule-py/dashboard/tsconfig.jsonA
- examples/timecapsule-py/demo/future-1-minimal.jsonA
- examples/timecapsule-py/demo/replays/future-0-original.ndjsonA
- examples/timecapsule-py/demo/replays/future-1-fixed.ndjsonA
- examples/timecapsule-py/demo/replays/future-1-original.ndjsonA
- examples/timecapsule-py/demo/replays/future-2-fixed.ndjsonA
- examples/timecapsule-py/demo/replays/future-2-original.ndjsonA
- examples/timecapsule-py/demo/solari-canonical.jsonA
- examples/timecapsule-py/main.pyA
- examples/timecapsule-py/regressions/active-dispute-contact.jsonA
- examples/timecapsule-py/regressions/delayed-payment-webhook.jsonA
- examples/timecapsule-py/regressions/future-0.jsonA
- examples/timecapsule-py/regressions/future-1.jsonA
- examples/timecapsule-py/requirements.txtA
- examples/timecapsule-py/tests/test_model_agent.pyA
- examples/timecapsule-py/tests/test_product.pyA
- examples/timecapsule-py/tests/test_trust_audit.pyA
- examples/timecapsule-py/timecapsule/__init__.pyA
- examples/timecapsule-py/timecapsule/__main__.pyA
- examples/timecapsule-py/timecapsule/agents.pyA
- examples/timecapsule-py/timecapsule/benchmark.pyA
- examples/timecapsule-py/timecapsule/cli.pyA
- examples/timecapsule-py/timecapsule/core.pyA
- examples/timecapsule-py/timecapsule/evidence.pyA
- examples/timecapsule-py/timecapsule/execution.pyA
- examples/timecapsule-py/timecapsule/models.pyA
- examples/timecapsule-py/timecapsule/openrouter.pyA
- examples/timecapsule-py/timecapsule/runner.pyA
- examples/timecapsule-py/timecapsule/search.pyA
- examples/timecapsule-py/timecapsule/solari_runner.pyA
- examples/timecapsule-py/world/__init__.pyA
- examples/timecapsule-py/world/index.htmlA
- examples/timecapsule-py/world/server.pyA
Log
clone https://github.com/qeinstein/solari-cookbook.git
secret scan clean
diff 59 files +14709 -76
reviewing examples/timecapsule-py (changed in this fork)
stack python · script · examples/timecapsule-py
toolchain node v18.20.4 · npm 9.2.0 · Python 3.11.2
pip3 install -r requirements.txt
Collecting solari-browser==0.1.3
Downloading solari_browser-0.1.3-py3-none-any.whl (12 kB)
Collecting solari-sandbox==0.2.0
Downloading solari_sandbox-0.2.0-py3-none-any.whl (5.8 kB)
Collecting httpx>=0.24
Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.5/73.5 kB 4.2 MB/s eta 0:00:00
Collecting patchright<1.63,>=1.62
Downloading patchright-1.62.2-py3-none-manylinux1_x86_64.whl (47.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.7/47.7 MB 40.4 MB/s eta 0:00:00
Collecting solari-core==0.2.0
Downloading solari_core-0.2.0-py3-none-any.whl (33 kB)
Collecting websockets>=11.0
Downloading websockets-17.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (224 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.3/224.3 kB 18.9 MB/s eta 0:00:00
Collecting anyio
Downloading anyio-4.14.2-py3-none-any.whl (125 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.8/125.8 kB 12.2 MB/s eta 0:00:00
Collecting certifi
Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 137.0/137.0 kB 12.6 MB/s eta 0:00:00
Collecting httpcore==1.*
Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.8/78.8 kB 7.1 MB/s eta 0:00:00
Collecting idna
Downloading idna-3.19-py3-none-any.whl (68 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 68.5/68.5 kB 6.2 MB/s eta 0:00:00
Collecting h11>=0.16
Downloading h11-0.16.0-py3-none-any.whl (37 kB)
Collecting pyee<14,>=13
Downloading pyee-13.0.1-py3-none-any.whl (15 kB)
Collecting greenlet<4.0.0,>=3.1.1
Downloading greenlet-3.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (624 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 624.6/624.6 kB 45.2 MB/s eta 0:00:00
Collecting typing-extensions
Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.6/45.6 kB 3.8 MB/s eta 0:00:00
Installing collected packages: websockets, typing-extensions, idna, h11, greenlet, certifi, pyee, httpcore, anyio, patchright, httpx, solari-core, solari-browser, solari-sandbox
Successfully installed anyio-4.14.2 certifi-2026.7.22 greenlet-3.5.5 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.19 patchright-1.62.2 pyee-13.0.1 solari-browser-0.1.3 solari-core-0.2.0 solari-sandbox-0.2.0 typing-extensions-4.16.0 websockets-17.1
python3 main.py (reads SOLARI_API_KEY — not provided)
usage: main.py [-h]
{run,local,cloud,solari,benchmark,replay,minimize,compare,regress}
...
main.py: error: the following arguments are required: mode
script exit 2 (not judged: needs a key)
bay closed