speccoder-runtime 0.8.0

Application services of speccoder: the only crate that executes anything.
Documentation
{
  "result": {
    "schema_version": 2,
    "command": "pr",
    "status": "selection_needed",
    "exit_code": 12,
    "message": "2 features and none is current (001-graph, 002-quick-changes)",
    "code": "FEATURE-SELECTION",
    "fix": [
      "speccoder feature",
      "speccoder feature <name>",
      "speccoder pr --feature <name>"
    ],
    "fix_steps": [
      {
        "command": "speccoder feature",
        "how": "perform",
        "run": {
          "kind": "feature"
        },
        "input": "The feature",
        "text": null,
        "confirm": null,
        "feature": null
      },
      {
        "command": "speccoder feature <name>",
        "how": "perform",
        "run": {
          "kind": "feature"
        },
        "input": "The feature",
        "text": null,
        "confirm": null,
        "feature": null
      },
      {
        "command": "speccoder pr --feature <name>",
        "how": "perform",
        "run": {
          "kind": "pull_request"
        },
        "input": null,
        "text": null,
        "confirm": "Push the feature's speccoder branch and its attestation notes to `origin`, and open (or update) its draft pull request on GitHub, as you (your token).",
        "feature": null
      }
    ],
    "docs": "https://hupe1980.github.io/speccoder/docs/codes/#feature-selection"
  },
  "head": "spec(002-quick-changes): quick change: Log every sign-in",
  "status": " M specs/001-graph/spec.md\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
      }
    }
  }
}