STAGE 1: Define the contract
Concept: Routes, methods and status codes express API behavior.
Task: Specify create, read, update and archive operations with JSON examples.
Acceptance: Document missing-resource and invalid-input responses.

My assumptions:

My work / file link:

My checks and results:

What I changed:


STAGE 2: Build the service
Concept: Async errors should reach predictable error handling.
Task: Implement or outline routing, validation and an isolated persistence layer.
Acceptance: Untrusted input is not inserted into shell commands or query strings.

My assumptions:

My work / file link:

My checks and results:

What I changed:


STAGE 3: Test the boundaries
Concept: APIs need negative tests and state transition checks.
Task: Test empty titles, missing IDs, duplicate requests and forbidden transitions.
Acceptance: A rejected request leaves stored state unchanged.

My assumptions:

My work / file link:

My checks and results:

What I changed:


STAGE 4: Document operation
Concept: A consumer needs more than a list of route names.
Task: Write local setup, example requests and a failure-recovery note.
Acceptance: Explain that authentication and production hardening are additional work if not implemented.

My assumptions:

My work / file link:

My checks and results:

What I changed:
