Repository navigation
feat: Ghost Studio (localhost:5417) + real-data 3D playground (?live=1) - #13
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution
|
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
Reject invoice listing without authentication
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
Reject unauthenticated invoice read
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
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: 5378bd71-606f-41be-abcd-66e42098ec8d) |
Evaluation details
What could be better: The main weakness is test execution integrity: nearly every invoice test failed with the same message, "TestSprite hit an internal error while running this test; our team has been notified. (ref: 5378bd71-606f-41be-abcd-66e42098ec8d)", which prevented meaningful verification of API correctness. That obscures whether the backend has actual defects in authentication, request validation, and authorization or whether the harness/environment is unstable. The suite targeted critical behaviors such as
POST /api/invoices, GET /api/invoices, missing auth handling, unknown user identity, and unknown invoice IDs, but the results do not yet separate product bugs from test infrastructure failure.
Recommended next steps: First, resolve the test harness/internal execution issue behind ref
5378bd71-606f-41be-abcd-66e42098ec8d so the invoice suite can run to completion. Then re-run the invoice tests in smaller groups: authentication (Reject unauthenticated invoice read, Create invoice without x-user-id returns 401 and no invoice is created), validation (Create invoice with malformed JSON body returns 400 invalid_json, Create invoice with non-numeric amount returns 422 and creates nothing), and ownership/read-after-write (Create an invoice then read it back, Get own seeded invoice by id as Alice/Bob). Once the harness is stable, inspect any remaining status-code or schema mismatches and fix the backend route/validation logic accordingly. See the fixPrompt panel for a copy-ready checklist.
The real-user gap that exposed it:
ghost watchrecorded to a file, but the playground only rendered the committed demo fixture. This PR closes it.Ghost Studio — served by the recorder itself
ghost watchnow opens its own live page (http://127.0.0.1:5417, auto-opened in the browser): the session being recorded, in real time — repo, git head, turns (real prompts), checkpoints with per-file churn computed from the actual shadow-git patches, and runtime samples probed from the app./playground?live=1 — the REAL 3D city from a REAL recording
Docs: README CLI section documents Studio + ?live=1; landing quickstart step 03 updated.
Verified end-to-end on a scratch repo: OpenCode-style events + plain file edits → checkpoints attributed by turn, churn parsed per file, proxy green, studio 200, live page 200, diff endpoint serves the patch.