speccoder-runtime 0.12.0

Application services of speccoder: the only crate that executes anything.
Documentation
{
  "result": {
    "schema_version": 2,
    "command": "feature",
    "status": "ok",
    "exit_code": 0,
    "message": "switched to 001-graph, 6/11 tasks done (recorded in .specify/feature.json: Spec Kit's scripts and the /speckit-* commands in your editor read it too)",
    "payload": "features",
    "data": {
      "unit": "feature",
      "current": "001-graph",
      "reason": "recorded",
      "reason_text": "recorded in .specify/feature.json",
      "action": "switched",
      "features": [
        {
          "number": 1,
          "name": "001-graph",
          "title": "Spec",
          "dir": "specs/001-graph",
          "current": true,
          "done": 6,
          "tasks": 11,
          "artifacts": [
            "spec",
            "tasks"
          ]
        },
        {
          "number": 2,
          "name": "002-quick-changes",
          "title": "Quick Changes",
          "dir": "specs/002-quick-changes",
          "current": false,
          "done": 0,
          "tasks": 1,
          "artifacts": [
            "spec",
            "tasks"
          ]
        },
        {
          "number": 3,
          "name": "003-bugfixes",
          "title": "Bug Fixes",
          "dir": "specs/003-bugfixes",
          "current": false,
          "done": 0,
          "tasks": 1,
          "artifacts": [
            "spec",
            "tasks"
          ]
        }
      ]
    }
  },
  "head": "bug: signing in twice logs out",
  "status": " M specs/001-graph/spec.md\n?? .specify/feature.json\n",
  "review": {
    "requirements": {
      "FR-001": {
        "verdict": "approved",
        "line": "- **FR-001**: Users MUST log in with a passkey.",
        "sha256": "sha256:<hex>",
        "by": "Dana Example",
        "via": "web",
        "at": 0,
        "comment": "looks right"
      },
      "FR-002": {
        "verdict": "approved",
        "line": "- **FR-002**: Sessions MUST expire after thirty minutes.",
        "sha256": "sha256:<hex>",
        "by": "Dana Example",
        "via": "web",
        "at": 0
      }
    }
  }
}