Define done for an AI coding task
Read shared.md first. Save the result with kind objective.
The deliverable is the sentence that means the user's pain is gone. Do not jump from the problem to a feature or implementation plan.
- Mirror the problem in the user's terms, including its tension. Gather only missing context that would change the objective.
- Write one sentence: "This is solved when ..." Describe the observable world after the work, not "we build", "we create" or "we implement". Split distinct problems into separate objectives rather than joining unrelated goals.
- Try to falsify each clause. Replace words such as "better" or "streamlined" with observable behavior. Ask what evidence would yield a clear yes or no.
- Test the proxy trap: could every clause be true while the original pain remains? If so, put the missing pain into the objective.
- Stop at the requested altitude. Default: an alignment sentence, saved with a short explanation of the pain and the falsifiability test. On a request for measurable verification, add artifact pointers and a proof per clause. Read references/proofs.md for that path.
Example: "Create a searchable folder" describes a solution. "This is solved when a reader can find each note from its topic, and every original note is preserved byte-for-byte" describes the end state. Counting an index file alone would miss both retrieval and preservation.
An objective can name a future output. Mark it as expected, verify the parent and inputs now, and identify the later command that proves the output. Never claim a future pointer already resolves.
If the user asks for steps, pass the objective to opascope-planning. If they ask for unattended execution, pass it to opascope-loop-builder. Alignment alone does not trigger either workflow. Return the sentence and its artifact path.