This sounds like what TODO keywords are for. For example:

You can easily change the TODO state with shift-left/right on each heading.

#+TODO: TODO CLARIFY | CANCELLED DONE

* top-level task
** TODO something I haven't done yet
*** DONE something I've already done
    CLOSED: [2017-05-14 Sun 15:12]
**** TODO a minor improvement that I haven't done yet
* CANCELLED something I decided isn't worth doing
  CLOSED: [2017-05-14 Sun 15:13]
* CLARIFY something that needs further clarification

John

-----------------------------------
Professor John Kitchin 
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803

On Thu, May 11, 2017 at 6:52 PM, Vladimir Panteleev <thecybershadow@gmail.com> wrote:
Hello!

A lot of thanks to all org-mode developers for their work.

I've started using Emacs and org-mode last year, and have been steadily trying to migrate all of my notes from plain text to org-mode.

I have run into some difficulties with porting over my project notes and to-do lists. For example, my to-do lists generally look something like this:

- top-level task
  - something I haven't done yet
  + something I've already done
    - a minor improvement that I haven't done yet
  x something I decided isn't worth doing
  ? something that needs further clarification

My software design notes look similar:

- name of the component
  - one idea of how to implement it
  x an idea that turned out impractical/impossible/etc.
    - rationale
  + the idea I went with
    - rationale

Real example (notes for a serialization library): https://dump.thecybershadow.net/ec9518b75f1001467972fb7deee058e9/notes.txt

Although this mostly corresponds to using org-mode lists with checkboxes, the biggest obstacle I encountered is that there is no equivalent for the 'x' bullet. I've tried to simply mark off those items as checked checkboxes (and indicate the information some other way), however I've invariably found this as a regression in legibility.

So, my questions are:

- I've looked through the documentation (and source code, a bit), and though it doesn't seem like it, have I missed some org-mode functionality that would help this use case?

- Would it make sense to teach org-mode to recognize another checkbox state (e.g. [!])?

- Perhaps it's more practical to instead get org-mode to work with the syntax I already use. This would mean:
  1. Being able to customize which characters org-mode considers as list bullets
  2. Preserve each list item's individual bullet when reformatting lists
  3. Optionally, allow recognizing certain list bullet characters as counting towards statistic cookies (as either completed or not).

- Would the above changes be something I could perform myself with a reasonable amount of effort? And, would any of them make sense for inclusion into org-mode as additional options? (IMHO, a customizable alist for recognized list bullets and their effect or statistic cookies would be very nice!)

Thanks for reading this far!

--
Best regards,
 Vladimir