{
  "spec_id": "TASK-FILTER-SPEC-v1",
  "version": "1.0",
  "problem": "The user needs to switch between all tasks and unfinished tasks.",
  "in_scope": [
    "mode=all",
    "mode=unfinished",
    "return to all"
  ],
  "out_of_scope": [
    "persistence",
    "schema/data-format changes",
    "redesign",
    "unrelated refactoring"
  ],
  "constraints": [
    "Task records keep the same keys and completed semantics."
  ],
  "acceptance_criteria": {
    "AC-01": "mode=unfinished returns only tasks whose completed value is false",
    "AC-02": "mode=all returns the complete input list without changing task records"
  }
}
