L39 SELF-APPROVAL CHECKLIST
AI use: No AI. You check your own specification. Do not ask an assistant
whether your specification is good enough; that is the judgment this
gate exists to practise.

Do not start building until every line is YES, or until you have
written next to a NO why you are accepting it.

Date and time checked: ______________

PURPOSE
[ ] 1. I can say in one sentence what the program is for and who relies
       on it.
[ ] 2. I have named the error the person in the brief fears most, and at
       least one acceptance criterion exists to catch it.

INPUTS AND OUTPUTS
[ ] 3. Every input has a stated form (type, format, units, an example).
[ ] 4. The output has an exact form, including what comes back when the
       input is bad, empty, or has no answer.
[ ] 5. I opened the supplied file (if there is one) and looked at every
       row or section before writing this. I can name one thing in it
       that surprised me.

ASSUMPTIONS
[ ] 6. Every decision the brief did not make for me is written as an
       assumption (A1, A2 ...), not hidden inside a criterion.
[ ] 7. For each assumption I have written who would confirm it in real
       life, or that I could not confirm it and will say so in the
       write-up.

ACCEPTANCE CRITERIA
[ ] 8. Every criterion is testable: a stranger could run it and say pass
       or fail without asking me.
[ ] 9. Every criterion traces to a line of the brief or to an assumption.
[ ] 10. There is at least one criterion at each boundary (exactly the
        limit, one below, one above) that the brief mentions.
[ ] 11. There is a criterion for empty input and one for bad input.

BOUNDS (agent projects; others write N/A)
[ ] 12. Every tool is listed with exactly what it can reach.
[ ] 13. There is a step limit and at least one other stopping condition,
        written before any run.
[ ] 14. I have said what the agent does when it is unsure: stop, skip
        and report, or ask.

SCOPE
[ ] 15. It fits in about two working sessions, including testing and the
        project record. If not, I have cut it (see "Cut until it fits" in L39)
        and listed what I cut.

THE STRANGER TEST (Lesson 9)
[ ] 16. I pasted the specification, verbatim and without repair, into an
        assistant in a new chat and asked "List every question you would
        need answered before you could build this." I answered each
        question in the specification or added it as an assumption.
        (This is the one place on the checklist you may use an assistant;
        record it in your AI-use record.)

Approved by me to build:  YES / NO      Initials: ______
