Which is my attempt to say in a cute way that there are two separate checklist stages. Which could be imagined as a checklist with two columns:
|yogurt||✓ (half full)||-|
Put another way: when you are building a checklist to go grocery shopping, first, while at the fridge or pantry, you may be selecting which items from your regular list of groceries you need to restock. I.e. select which items from your checklist template will go into the shopping list you want to buy today. While at the store you may be checking things off from that list.
Put this way, it sounds like two separate checkoffs, the first from the template producing the checklist for the second.
But, it might be nice to have both the in-stock and purchased columns in view while at the store. Say if there is a great sale on yogurt - you may already have some, but not so much that you would not mind buying more. (See my earlier rants about how it should be possible to attach notes to checklist items, as I have done above.) Therefore, the two column format above.
Put still another way: checklist items may have states that are the pair (in-stock,purchased). Some views may make the pair visible, some not.
--- This isn't just about grocery lists. Think required/verified, e.g. for a code review, where the reviewers have the option of making some check off items non-required.