The project notes are in PROJECT.md. Before starting the project, read the project description and develop a system architecture document (ARCHITECTURE.md). It should describe the technical design of the system. Then, PROJECT_PLAN.md should be written that describes how to build this system in discrete steps. Commit these files to Git after human review. For this project, all git commits should have a single first line, no more than 55 characters, that succinctly describes an overview of the changes. As necessary, the body of the commit message should contain bullets describing the work that was done. Then, create PROGRESS.md. This should be initialized with the first steps for the project. The development process for this should generally be: 1. Determine the current state of the project. Track the progress in PROGRESS.md, explicitly stating what was done and next steps. 2. Develop reasonable, discrete next steps to move forward with actionable acceptance criteria. 3. Complete the next steps. + You should adversarially check whether any outputs are correct. + All code units should be thoroughly unit tested. + All subsystems should be thoroughly integration tested. + Where appropriate, end-to-end tests to validate the system should be developed. 4. Checkpoint your work, committing it to git. Repeat this cycle until the system is in the desired end state.