Repository navigation
docs: make the OpenCode setup path explicit on landing + README - #11
Conversation
… terminal command + README snippet)
|
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
Reject unauthenticated invoice read
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
Reject invoice listing without authentication
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
| Screenshot | Error details |
|---|---|
|
— |
TestSprite hit an internal error while running this test; our team has been notified. (ref: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
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: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3) |
Evaluation details
What could be better: The main weakness is test execution stability: nearly the entire backend suite failed with the same harness message, "TestSprite hit an internal error while running this test; our team has been notified. (ref: 67ea25ff-bd5b-441a-aff4-ab2676f9abb3)". Because the failures span authorization, request validation, ownership isolation, and 404/422 handling, the suite did not actually surface differentiated product bugs. The single passed invoice flow is not enough to establish correctness for
/api/invoices under auth or invalid input. Before treating this as a product regression, the test environment and harness behavior need to be stabilized so real status codes and response bodies can be observed.
Recommended next steps: First, re-run the backend suite with the TestSprite harness issue investigated so the failures produce real assertions instead of internal errors. Then validate the invoice API path by path: unauthenticated
GET /api/invoices and GET /api/invoices/{id} should return 401, unknown ids should return 404, and invalid create payloads should return 422/400 with stable JSON. Once the harness is healthy, compare the observed responses against the invoice ownership and list-shape expectations to isolate actual API defects. Use the fixPrompt panel to hand the concrete failing test titles back to the coding agent and re-run after each fix.
Judges asked 'how do I actually use this with my agent?' — the landing quickstart now walks 01 install (curl, no npm) > 02 connect OpenCode (copy the one-file adapter into .opencode/plugins/ghost.ts) > 03 record (ghost watch; plugin streams real turn ids, any other agent falls back to fs+probe recording with turns marked estimated, never invented) > 04 inspect/blame/heal + optional ghost setup pairing (metadata-only sync). The landing terminal types the plugin copy command, and the README setup section documents the same Mode A path.