This issue tracker backend is a reconstruction written by AceOffer, not Amazon's repository. Candidates report the comment bugs, the README's 401 / 403 and own-comment rules, and the missing request validation and identifier in issue creation, and this program reproduces them in Python; the code, schema, data, messages and two of the planted bugs are ours. Amazon's repo is a much larger project in the stack you choose.
Amazon's online assessment ends its coding section with a 60-minute debugging task in an existing repository, and one of the repos candidates report is the backend of a Jira-like issue tracker. You choose a stack before you start (reports name Spring Boot and Django), read the README and the failing tests, and fix the code; the built-in AI assistant helps with syntax and finding code but will not write the fix. Reports describe two kinds of failure, and this page has one graded part for each:
Part 1 — Comments. The most detailed report names two bugs: a comment does not show after it is created, and an edit does not show after a comment is updated. Both were simple once found: a comment was read and never saved, or never linked to its issue. The fix has to follow the README's API contract: 401 or 403 with the stated error message when the user is not authenticated or not allowed, the right success status, and a user may edit only their own comments. The tests check the status code and message the API returns, so a fix that only makes the UI look right does not pass.
This page is a stand-in. The code is a small Python backend written for AceOffer that reproduces the reported kinds of bugs in comments and issue creation, behind a README with the reported 401 / 403 and own-comment rules. Some planted bugs follow a report and some are ours (the solution says which), as are the schema, the messages, the ids and the data. Amazon's repo is a much larger toy project; one candidate says only two or three files needed changing.
The README (given at the top of the code). A missing or unknown token is 401 {"error": "Authentication required"}; editing someone else's comment is 403 {"error": "You can only edit your own comments"}; a missing issue or comment is 404. Creating a comment returns 201, editing one 200. Creating an issue returns 201 with a server-generated id (ISS-<n>, from next_id) and the caller as reporter; a payload missing a required field of ISSUE_SCHEMA is 400 {"error": "Missing required field: <name>"}, and a priority outside the schema is 400 {"error": "Invalid priority"}.
How the tests call it. Each test builds db = seed_db() and calls a handler through request(handler, *args), which turns a crash into a 500: list_comments(db, token, issue_id), create_comment(db, token, issue_id, body), update_comment(db, token, comment_id, body), get_issue(db, token, issue_id) and create_issue(db, token, payload), where payload is a dict. The seeded users' tokens are "t-ana" and "t-ben". A Response has status and body.
Other versions of this repo (not built here): a Django version whose bugs were in creating the Issue object, and an October 2026 report of bugs creating both issues and sub-issues.
Six reports from May to October 2026 describe this repo. Two are about comments: the most detailed, in Spring Boot, names the create and update bugs and the README contract, and another says comments could not be created or posted. Four are about issues: a dashboard that cannot create one, a controller that must validate the request and generate an identifier, a Django version with bugs creating the Issue object, and an October 2026 report of bugs creating issues and sub-issues. One candidate found the 100-minute coding section plus the surveys very tiring, but enjoyed the AI task.
Also reported as Jira-like Comment System
This issue tracker backend is a reconstruction written by AceOffer, not Amazon's repository. Candidates report the comment bugs, the README's 401 / 403 and own-comment rules, and the missing request validation and identifier in issue creation, and this program reproduces them in Python; the code, schema, data, messages and two of the planted bugs are ours. Amazon's repo is a much larger project in the stack you choose.
Amazon's online assessment ends its coding section with a 60-minute debugging task in an existing repository, and one of the repos candidates report is the backend of a Jira-like issue tracker. You choose a stack before you start (reports name Spring Boot and Django), read the README and the failing tests, and fix the code; the built-in AI assistant helps with syntax and finding code but will not write the fix. Reports describe two kinds of failure, and this page has one graded part for each:
Part 1 — Comments. The most detailed report names two bugs: a comment does not show after it is created, and an edit does not show after a comment is updated. Both were simple once found: a comment was read and never saved, or never linked to its issue. The fix has to follow the README's API contract: 401 or 403 with the stated error message when the user is not authenticated or not allowed, the right success status, and a user may edit only their own comments. The tests check the status code and message the API returns, so a fix that only makes the UI look right does not pass.
Part 2 — Creating an issue. In other reports the dashboard cannot create an issue. One candidate says the controller had to check the properties sent in the request, generate an identifier and create the new issue, and advises working from the schema.
This page is a stand-in. The code is a small Python backend written for AceOffer that reproduces the reported kinds of bugs in comments and issue creation, behind a README with the reported 401 / 403 and own-comment rules. Some planted bugs follow a report and some are ours (the solution says which), as are the schema, the messages, the ids and the data. Amazon's repo is a much larger toy project; one candidate says only two or three files needed changing.
The README (given at the top of the code). A missing or unknown token is 401 {"error": "Authentication required"}; editing someone else's comment is 403 {"error": "You can only edit your own comments"}; a missing issue or comment is 404. Creating a comment returns 201, editing one 200. Creating an issue returns 201 with a server-generated id (ISS-<n>, from next_id) and the caller as reporter; a payload missing a required field of ISSUE_SCHEMA is 400 {"error": "Missing required field: <name>"}, and a priority outside the schema is 400 {"error": "Invalid priority"}.
How the tests call it. Each test builds db = seed_db() and calls a handler through request(handler, *args), which turns a crash into a 500: list_comments(db, token, issue_id), create_comment(db, token, issue_id, body), update_comment(db, token, comment_id, body), get_issue(db, token, issue_id) and create_issue(db, token, payload), where payload is a dict. The seeded users' tokens are "t-ana" and "t-ben". A Response has status and body.
Other versions of this repo (not built here): a Django version whose bugs were in creating the Issue object, and an October 2026 report of bugs creating both issues and sub-issues.
Common mistakes: Fixing the bug in the UI. One candidate did this first and the tests still failed, because they check the status code and message the API returns. Reading a comment to update and never saving it, or saving a new comment without linking it to its issue.
From the reports: read the README's API contract before changing any status; the codebase is too big to read through, but only two or three files needed changes, at the handler and service level; the AI assistant helped with syntax, such as constructing a return response, but would not write the code; for issue creation, work from the schema.
Send them this page. It is free to read, no account needed.
What you just read — canonical solution, follow-up arc, what passing candidates actually did — exists for all 57 Amazon questions, refreshed monthly from new candidate reports.