← FLOOR

BAY 05

Evidence only · not a verdict

contactatfp/forklift · this app

3/3 checks · 1 to look at · 24 files

Self-review: the Forklift inside this sandbox ran without a Solari key, so the recording shows its UI in dry run. The live evidence for Forklift is the floor you just came from.

PREVIEW

Criteria

  • Uses Solari sandboxes as infrastructure

    Sandbox import found.

    YES
  • Uses Solari browser recording

    Found a recording call.

    YES
  • Ships a real product, not a tutorial clone

  • No secrets in the submitted code

    None committed.

    YES

Run

MODE
server
PREVIEW
answered 200 (sandbox since closed)
STACK
node · forklift.yaml
BUILD
ok
TESTS
ok
SECRETS
none

Watch recording →session u2MNPIcXfxpQ

Solari

SANDBOXBROWSERRECORDINGDESKTOP

packages: @solarisdk/sandbox, @solarisdk/browser

README.md: sandbox
README.md: browser
README.md: desktop
README.md: recording
next.config.ts: sandbox
next.config.ts: browser
lib/detect/solari.ts: sandbox
lib/detect/solari.ts: browser
lib/detect/solari.ts: desktop
lib/detect/solari.ts: recording
lib/detect/stack.ts: browser
lib/engine/pipeline.ts: sandbox

README

START
npm run start
FOUND
yes
PORT
3000
MATCHES
yes
NAMES SOLARI
yes

Console · 1

Failed to load resource: the server responded with a status of 503 ()

Network · 0

clean

Diff

+0 0 across 24 files

NEW TOP-LEVEL: .env.example · AGENTS.md · CLAUDE.md · · app · eslint.config.mjs · examples · fixtures · forklift.yaml · instrumentation.ts · lib · next-env.d.ts · next.config.ts · node-sqlite.d.ts · package-lock.json · package.json · plans · postcss.config.mjs · public · railway.toml

  • .env.exampleA
  • AGENTS.mdA
  • CLAUDE.mdA
  • /work/submission/LICENSEM
  • /work/submission/README.mdM
  • appA
  • eslint.config.mjsA
  • examplesA
  • fixturesA
  • forklift.yamlA
  • instrumentation.tsA
  • libA
  • next-env.d.tsA
  • next.config.tsA
  • node-sqlite.d.tsA
  • package-lock.jsonA
  • package.jsonA
  • plansA
  • postcss.config.mjsA
  • publicA
  • railway.tomlA
  • testsA
  • tsconfig.jsonA
  • vitest.config.tsA

Log

pack local Forklift tree into sandbox
secret scan clean
diff 24 paths vs upstream
stack node · server · forklift.yaml
node v18.20.4 → v22.23.2 (guest wants 22.x)
toolchain node v22.23.2 · npm 10.9.8 · Python 3.11.2
npm ci && npm run build
npm warn deprecated eslint@9.39.5: This version is no longer supported. Please see https://eslint.org/version-support for other options.
added 491 packages, and audited 492 packages in 11s
166 packages are looking for funding
  run `npm fund` for details
found 0 vulnerabilities
> forklift@0.1.0 build
> next build
▲ Next.js 16.3.4 (Turbopack)
✓ Running next.config.ts took 29ms
⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
Attention: Next.js now collects completely anonymous telemetry regarding usage.
This information is used to shape Next.js' roadmap and prioritize features.
You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
https://nextjs.org/telemetry
  Creating an optimized production build ...
✓ Compiled successfully in 9.4s
  Running TypeScript ...
  Finished TypeScript in 8.7s ...
  Collecting page data using 1 worker ...
  Generating static pages using 1 worker (0/5) ...
  Generating static pages using 1 worker (1/5)
  Generating static pages using 1 worker (2/5)
  Generating static pages using 1 worker (3/5)
✓ Generating static pages using 1 worker (5/5) in 197ms
Turbopack build encountered 1 warning:
./
Warning: Failed to find font override values for font `Saira Stencil`
Skipping generating a fallback font.
  Finalizing page optimization ...
├ ƒ /api/bays/[id]/screenshot
├ ƒ /api/health
├ ƒ /api/jobs
├ ƒ /api/jobs/[id]
├ ƒ /api/jobs/[id]/stream
├ ƒ /cards/[bayId]
├ ƒ /floor/[jobId]
└ ○ /verify
○  (Static)   prerendered as static content
ƒ  (Dynamic)  server-rendered on demand
npm test
> forklift@0.1.0 test
> vitest run
(!) Your Vite config uses features that are unsupported by `configLoader: 'native'`, which is planned to become the default in a future major version of Vite:
  - ESM syntax in a file loaded as CommonJS (vitest.config.ts:1:1). Use a `.mjs` extension or set `"type": "module"` in the closest package.json
Set `VITE_CONFIG_NATIVE_IGNORE_WARNING=true` to suppress this warning.
 RUN  v4.1.11 /work/submission
 ✓ tests/stack.test.ts (12 tests) 18ms
 ✓ tests/criteria.test.ts (4 tests) 0ms
 ✓ tests/solari.test.ts (3 tests) 5ms
 ✓ tests/diff.test.ts (3 tests) 5ms
 ✓ tests/parse.test.ts (4 tests) 6ms
 ✓ tests/preview.test.ts (3 tests) 3ms
 Test Files  6 passed (6)
      Tests  29 passed (29)
   Start at  16:20:36
   Duration  1.09s (transform 142ms, setup 0ms, import 237ms, tests 38ms, environment 0ms)
npm run start
preview https://4f81ce237c3786c55afb-3000.preview.getsolari.com?pt_token=eyJzYW5kYm94SWQiOiJaR1Z6YTNSdmNDMXdiMjlzTFdrdE1HVmpPRFUyWmprM04yWm1NREZoT0dZNmRtMWZNREF3TVRRM09tTnRkR28xWmpocWN6QXdkelJ1Y2pBeGRYaHdNM1JqTVRBNk1UYzRPRE0yTmpBd01ETTNNdy5sd2pnUTRPMUFLSmFIMjRETHgtOEZlZElYT2tGNEtvQ3BxekxHdGZ1SlBVIiwicG9ydCI6MzAwMCwib3JnSWQiOiJjbXRqNWY4anMwMHc0bnIwMXV4cDN0YzEwIiwiZXhwIjoxNzg4MzY5NjM4MzIwfQ.01gA94rPuYNR5GKiHhxN5104e740hsoaNrqYJiky8Qw
> forklift@0.1.0 start
> next start --hostname 0.0.0.0
preview gateway 502 — waiting for the app to bind
▲ Next.js 16.3.4
- Local:         http://localhost:3000
- Network:       http://0.0.0.0:3000
✓ Ready in 130ms
✓ Running next.config.ts took 36ms
{"msg":"access.locked","t":1788366038819,"why":"NODE_ENV=production without FORKLIFT_ACCESS_KEY. POST /api/jobs returns 503 until you set one."}
{"msg":"engine.start","t":1788366038839,"fixture":true}
recording browser session
browser session ip-10-0-11-65:1267fd6b-da55-4508-b5e3-868144ce7988:cmtj5f8js00w4nr01uxp3tc10:1788366040443._tARPOwElcu2MNPIcXfxpQ
replay ready
bay closed

MONITOR · forklift

forklift preview screenshot