Rewind showcase

Connect

From a one-line pipeline change to a fully hands-off project, or a look without any account.

Add the gate to any pipeline

no token, no service, one include

The reversibility gate is a CI/CD component. On merge request pipelines its rewind-gate job fails when a change contains something that can't be undone, with the file, line and evidence in the test report. The policy is read from the merge request's base, so a change can't relax the rules checking it.

include:
  - component: gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43319182/showcase/gate@main
    inputs:
      policy: path/to/your-policy.yaml   # optional
      fail_on: block                    # or reroute

Let agents ask before they act (MCP)

read-only tools

Rewind serves an MCP server. Agents call it to check a plan against the policy before touching anything.

https://rewind-twegh4u3wa-ew.a.run.app/mcp/

GitLab Duo: commit this as .gitlab/duo/mcp.json on the default branch.

{
  "mcpServers": {
    "rewind": {
      "type": "http",
      "url": "https://rewind-twegh4u3wa-ew.a.run.app/mcp/",
      "approvedTools": ["rewind_policy", "classify_action", "check_paths",
                        "list_checkpoints", "get_ledger", "explain_checkpoint"]
    }
  }
}

Claude Code, Cursor or any MCP client:

claude mcp add --transport http rewind https://rewind-twegh4u3wa-ew.a.run.app/mcp/
classify_action
Is this action reversible, compensatable or irreversible, and may it run hands-off?
check_paths
Which of these files are protected, and which gate rules apply to them.
rewind_policy
The whole policy in force: classes, gate rules, protected paths, privileges, review policy.
get_ledger
The ledger of a run, by run id or issue number.
list_checkpoints, explain_checkpoint
Recent checkpoints, and everything that changed since one.

Drive it from GitLab

Start a run
Label an issue rewind:auto. Rewind posts a ledger on it and keeps it current.
Undo a run
Comment /rewind on the issue or merge request (Developer role or higher).
Stop a run
Comment /rewind stop.
Status, plan
/rewind status, /rewind dry-run, /rewind help.
Accept the irreversible
Never by comment: rewind approve <run> --reason "…" with Rewind's API token.

Run Rewind on your project

about 20 minutes

You need GitLab Premium or Ultimate with the Duo Agent Platform and the Maintainer role, a pipeline that deploys with a job that fails when production is wrong, and somewhere to run Rewind's service (the scripts use Cloud Run). One Rewind instance serves one project.

git clone https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43319182/showcase.git rewind && cd rewind
make setup && cp .env.example .env
.venv/bin/rewind keys >> .env     # then set GITLAB_TOKEN, GITLAB_PROJECT_ID, Google Cloud values
.venv/bin/rewind doctor           # token, role, Duo access, APIs
./infra/gcp-setup.sh              # bucket, service accounts, keyless CI auth
./infra/deploy-rewind.sh          # the Rewind service; prints REWIND_PUBLIC_URL
.venv/bin/rewind bootstrap        # webhook, labels, feature flag, CI/CD variables

The full guide: what your pipeline and monitoring need, a starter policy, and what to adapt.

Try it without any account

The whole loop runs offline against an in-memory GitLab and Cloud Run, with this dashboard on port 8080.

git clone https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43319182/showcase.git rewind && cd rewind
make setup && make simulate

API

/api/runs
Every run, newest first (JSON).
/api/runs/<id>
One run with its change set.
/api/rewinds/<id>
A rewind report: steps, timings, verification.
/api/docs
Interactive reference. Writes (approve, stop, rewind) need the API token.