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 includeThe 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 rerouteLet agents ask before they act (MCP)
read-only toolsRewind 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
/rewindon 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 minutesYou 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 variablesThe 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