Repository navigation
refactor: city modules + shadowgit hygiene (author edits, committed as-is) - #20
Conversation
…ty.css) + shadowgit excludes .ghost bookkeeping, larger diff buffer
|
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
Reject invoice listing without authentication
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
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: be81f98f-487f-4e34-b698-0f604a6ff742) |
Evaluation details
What could be better: The main problem is the repeated failure pattern across auth, retrieval, listing, and validation tests, all surfacing the same internal error reference
be81f98f-487f-4e34-b698-0f604a6ff742. That makes it hard to distinguish a product bug from a test harness or environment failure, but it still means critical invoice coverage did not complete. The highest-priority scenarios affected include unauthenticated reads, unknown-user handling, POST /api/invoices validation, and access control for Alice/Bob invoice isolation. The suite currently provides little confidence in authorization correctness or request validation behavior because almost every case failed before yielding a product-specific assertion.
Recommended next steps: First, determine whether the shared TestSprite internal error is coming from the harness/environment or from a backend crash path, because the current failures are too uniform to isolate product defects confidently. Then re-run the invoice auth and validation subset focusing on the scenarios that should produce concrete HTTP outcomes: unauthenticated invoice read/list/create, unknown
x-user-id, malformed JSON, non-numeric amount, missing customer, and cross-user invoice access. If the backend is healthy, fix any route or middleware issues that prevent these endpoints from returning the expected 401/404/422 responses. After each fix, re-run the matching tests and compare against the titled cases in the test list.
Author refactor, applied exactly as written:
node --check green on ghost.mjs, city.mjs, city-client.mjs, shadowgit.mjs.