{
  "provider": "gemini",
  "snapshot": "dac834cb5086c277d425e606fbaf3e62508012d3b06fa556a0fa026085fb0b20",
  "activities": [
    {
      "id": "rollback",
      "request": {
        "question": "How do I roll back a staging deployment?",
        "version": "3.5"
      },
      "status": 200,
      "response": {
        "status": "answered",
        "answer": "In shipctl 3.5, you can roll back a staging deployment by first listing known releases with `shipctl releases --env staging` and then executing `shipctl rollback --env staging --to RELEASE_ID`.",
        "citations": [
          {
            "source_id": "rollback-35:p1",
            "quote": "To undo a staging deployment in shipctl 3.5, list known releases with `shipctl releases --env staging`. Then run `shipctl rollback --env staging --to RELEASE_ID`."
          }
        ],
        "sources": [
          {
            "id": "rollback-35:p1",
            "document": "rollback-35",
            "title": "Rollback a staging release",
            "version": "3.5",
            "quote": "To undo a staging deployment in shipctl 3.5, list known releases with `shipctl releases --env staging`. Then run `shipctl rollback --env staging --to RELEASE_ID`.",
            "start": 30,
            "end": 192
          },
          {
            "id": "deploy-35:p1",
            "document": "deploy-35",
            "title": "Staging deployment",
            "version": "3.5",
            "quote": "To deploy a staging release with shipctl 3.5, run `shipctl deploy --env staging --release RELEASE_ID`. Confirm the release with `shipctl status --env staging`.",
            "start": 22,
            "end": 181
          },
          {
            "id": "deploy-35:p2",
            "document": "deploy-35",
            "title": "Staging deployment",
            "version": "3.5",
            "quote": "The deploy command waits for the rollout. A failed health check stops the rollout; inspect `shipctl logs --env staging` before trying another release.",
            "start": 183,
            "end": 333
          }
        ],
        "trace": {
          "cache_hit": false,
          "searches": 1,
          "refined": false,
          "context_bytes": 575,
          "source_reads": 3,
          "snapshot": "dac834cb5086c277d425e606fbaf3e62508012d3b06fa556a0fa026085fb0b20",
          "provider": "gemini",
          "model_requests": 1
        }
      }
    },
    {
      "id": "rotate-token",
      "request": {
        "question": "How do I rotate an API token?",
        "version": "3.5"
      },
      "status": 200,
      "response": {
        "status": "answered",
        "answer": "In shipctl 3.5, rotate an API token by first creating a replacement using `shipctl token create --name rotation`. After updating your application's secret store and verifying a request, revoke the old token using `shipctl token revoke TOKEN_ID`.",
        "citations": [
          {
            "source_id": "tokens-35:p1",
            "quote": "To rotate an API token in shipctl 3.5, create a replacement with `shipctl token create --name rotation`. Update the application's secret store and check a request before revoking the old token with `shipctl token revoke TOKEN_ID`."
          }
        ],
        "sources": [
          {
            "id": "tokens-35:p1",
            "document": "tokens-35",
            "title": "Rotate an API token",
            "version": "3.5",
            "quote": "To rotate an API token in shipctl 3.5, create a replacement with `shipctl token create --name rotation`. Update the application's secret store and check a request before revoking the old token with `shipctl token revoke TOKEN_ID`.",
            "start": 23,
            "end": 253
          },
          {
            "id": "tokens-35:p2",
            "document": "tokens-35",
            "title": "Rotate an API token",
            "version": "3.5",
            "quote": "Never put an API token in documentation, a shell history or a support message. These instructions use TOKEN_ID as a placeholder, not a credential.",
            "start": 255,
            "end": 401
          }
        ],
        "trace": {
          "cache_hit": false,
          "searches": 1,
          "refined": false,
          "context_bytes": 444,
          "source_reads": 2,
          "snapshot": "dac834cb5086c277d425e606fbaf3e62508012d3b06fa556a0fa026085fb0b20",
          "provider": "gemini",
          "model_requests": 1
        }
      }
    },
    {
      "id": "previous-version",
      "request": {
        "question": "How do I deploy staging with shipctl 3.4?",
        "version": "3.4"
      },
      "status": 200,
      "response": {
        "status": "answered",
        "answer": "In shipctl 3.4, you deploy staging by running `shipctl deploy staging --tag RELEASE_ID`.",
        "citations": [
          {
            "source_id": "deploy-34:p1",
            "quote": "In shipctl 3.4, deploy with `shipctl deploy staging --tag RELEASE_ID`."
          }
        ],
        "sources": [
          {
            "id": "deploy-34:p1",
            "document": "deploy-34",
            "title": "Staging deployment",
            "version": "3.4",
            "quote": "In shipctl 3.4, deploy with `shipctl deploy staging --tag RELEASE_ID`. Check the result with `shipctl status staging`. Version 3.5 replaces positional environments with `--env`.",
            "start": 22,
            "end": 199
          },
          {
            "id": "rollback-34:p1",
            "document": "rollback-34",
            "title": "Rollback a staging release",
            "version": "3.4",
            "quote": "In shipctl 3.4, undo a staging deployment with `shipctl rollback staging RELEASE_ID`. Check the active release with `shipctl status staging`.",
            "start": 30,
            "end": 171
          }
        ],
        "trace": {
          "cache_hit": false,
          "searches": 1,
          "refined": false,
          "context_bytes": 388,
          "source_reads": 2,
          "snapshot": "dac834cb5086c277d425e606fbaf3e62508012d3b06fa556a0fa026085fb0b20",
          "provider": "gemini",
          "model_requests": 1
        }
      }
    },
    {
      "id": "production",
      "request": {
        "question": "How does a maintainer deploy production?",
        "version": "3.5",
        "collection": "operations"
      },
      "status": 200,
      "response": {
        "status": "answered",
        "answer": "In version 3.5, production deployment requires a reviewed release and approval from the on-call maintainer, and the maintainer runs `shipctl deploy --env production --release RELEASE_ID --approval APPROVAL_ID`.",
        "citations": [
          {
            "source_id": "production-35:p1",
            "quote": "Production deployment requires a reviewed release and approval from the on-call maintainer. A maintainer runs `shipctl deploy --env production --release RELEASE_ID --approval APPROVAL_ID`."
          }
        ],
        "sources": [
          {
            "id": "production-35:p1",
            "document": "production-35",
            "title": "Production deployment approval",
            "version": "3.5",
            "quote": "Production deployment requires a reviewed release and approval from the on-call maintainer. A maintainer runs `shipctl deploy --env production --release RELEASE_ID --approval APPROVAL_ID`.",
            "start": 34,
            "end": 222
          },
          {
            "id": "production-35:p2",
            "document": "production-35",
            "title": "Production deployment approval",
            "version": "3.5",
            "quote": "If production health checks fail, the maintainer follows the approved rollback runbook and records the release ID in the incident. A reader token cannot retrieve this collection.",
            "start": 224,
            "end": 402
          }
        ],
        "trace": {
          "cache_hit": false,
          "searches": 1,
          "refined": false,
          "context_bytes": 442,
          "source_reads": 2,
          "snapshot": "dac834cb5086c277d425e606fbaf3e62508012d3b06fa556a0fa026085fb0b20",
          "provider": "gemini",
          "model_requests": 1
        }
      }
    }
  ]
}
