Skip to content

feat: /city 3D — the playground layout, fed by the recorder's own stream - #18

Merged
arko33 merged 1 commit into
mainfrom
feat/ghost-city-3d
Oct 21, 2026
Merged

arko33 merged 1 commit into
mainfrom
feat/ghost-city-3d

Conversation

@arko33

@arko33 arko33 commented Oct 21, 2026

Copy link
Copy Markdown
Owner

User feedback: the 2D /city card did not read like the product. This rebuilds /city with the same layout language as the published playground — 3D city center (three.js via browser CDN, importmap), session/turns panel left, selected-tower panel right with the real patch link (/diff/), turn dock bottom — all streamed from the recorder's /session on loopback.

  • Towers: files actually touched; git sessions → height = churn; non-git → low tiles + honest mode note; no demo filler ever.
  • Orbit controls with damping + slow auto-rotate; raycaster hover tooltip (path/churn/turn/patch link); click selects and lights the tower.
  • /city2d kept as the zero-dep fallback and linked from both pages (offline CDN case). Verified: node --check, sandbox non-git run — /city 200 (importmap+three), /city2d 200, checkpoints recorded.

@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ghostinthecodebase Ready Ready Preview Oct 21, 2026 7:27pm UTC

@testsprite

testsprite Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Caution

Failed Widespread failures — 23 failed

The executable subset of the backend suite does not show product behavior failures because every functional/validation case was blocked by the same TestSprite internal error reference, while 1 integration test passed. On the data available, the backend appears partially healthy but not confidently verified: 1 passed, 23 failed, with the failures all attributable to the harness rather than the API under test. Because the blocked/execution-error cases are excluded from the score, the quality score is computed on the executable subset only and should be treated as a limited signal. The repeated internal error also means current reliability is unproven for invoice auth, validation, and ownership flows.

Results: Passed 1 passed • Failed 23 failed • 24 total  ·  View Full Report ↗


Failed 23 failed tests

Failed Get own seeded invoice by id as Alice

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Create an invoice then read it back

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Create invoice with non-numeric amount returns 422 and creates nothing

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Unauthenticated request to invoices endpoint should not reveal data even if caller is otherwise valid

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Get own seeded invoice by id as Bob

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Create invoice with missing customer returns 422 and creates nothing

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Create invoice without x-user-id returns 401 and no invoice is created

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Unknown x-user-id value returns 401 on POST /api/invoices

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Return 404 for an unknown invoice id

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed List alice's own invoices

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Reject missing auth before invoice existence is evaluated

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Unknown invoice id returns not_found even for authenticated user

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Reject unauthenticated invoice read

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed List bob's own invoices

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Deny access when Alice reads Bob's invoice

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Reject invoice listing with unknown user identity

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed List invoices does not leak other users' invoice records or fields

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Create invoice with malformed JSON body returns 400 invalid_json

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Reject invoice listing without authentication

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Create and read invoice as Alice, ensuring owner isolation fields

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed List invoices with a real user session returns only that user's seeded invoice

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Read a created invoice using the id captured from create

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)


Failed Invoice list response shape is stable for seeded invoices

Screenshot Error details

—

TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)

Passed 1 passed test
Test Case Status Screenshot
Invoice visibility and retrieval flow Passed Passed —
Evaluation Evaluation details

What could be better What could be better: The main weakness is test executability, not a confirmed API regression: 23 backend cases all failed with the same message, "TestSprite hit an internal error while running this test; our team has been notified. (ref: 744806e1-cb74-47d5-bdb8-7b028ebc01fe)". That means the suite is not currently exercising key invoice flows such as GET /api/invoices/:id, POST /api/invoices, auth rejection, and validation behavior. The only concrete positive signal is the passed "Invoice visibility and retrieval flow" integration test. Until the harness issue is resolved, there is no trustworthy evidence about whether the app returns correct 401/404/422 behavior or enforces owner isolation.

Next steps Recommended next steps: First, fix the TestSprite runner issue tied to ref 744806e1-cb74-47d5-bdb8-7b028ebc01fe, because the current run cannot distinguish product bugs from infrastructure problems. Re-run the invoice suite after that and confirm the core contract around authentication, record ownership, and request validation: unauthenticated requests should be rejected, unknown users should get 401, unknown invoice ids should return 404, and invalid create payloads should return 422/400 without creating records. If the runner still fails, isolate by running only the passing integration case and one simple CRUD test at a time. See the fixPrompt panel for the copy-ready action list and verification steps.


Automated end-to-end testing powered by TestSprite

@arko33
arko33 merged commit b6862c2 into main Oct 21, 2026
4 checks passed
@arko33
arko33 deleted the feat/ghost-city-3d branch October 21, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant