replace-a-system-without-guessing

Measure the thing you are replacing before you lose access to it, gate the switch on the same questions, and set the decommission date at cutover.

Procedure

  1. start start. Goes next to s1
  2. decision Can you still reach the incumbent?. Goes if access_gone to s2; if default to s3
  3. action Say plainly that there is no baseline, RO (read-only). Goes on_fail to s9; next to s4
  4. action Run real questions against it, and record, RO (read-only). Goes on_fail to s9; next to s4
  5. action Mark which answers must not get worse, RO (read-only). Goes on_fail to s9; next to s5
  6. action Run the same questions against the new one, RO (read-only). Goes on_fail to s9; next to s6
  7. decision How does it compare?. Goes if critical_worse to s9; if non_critical_worse to s7; if default to s8
  8. action Fix it and run the set again, RW (reversible-write). Goes retry to s5; next to s9
  9. action Cut over, with a date and an owner, IRR (irreversible), requires approval. Goes on_fail to s9; next to s10
  10. check The old one is actually gone. Goes on_fail to s9; next to __end_success
  11. escalate Do not switch yet. Terminal
  12. end success. Terminal

Open the graph on its own page — larger, printable, and an address you can send.

Walk it without running it — you answer what your environment would answer, and the path, the capabilities, the approvals and the distance back to an undo come out of the document. Nothing executes; there is no Run button here and there will not be one.

Trust

T2 · attested 2026-10-11 · runbooks.directory

Nobody has attested this record. That is the ordinary case: T2 is what the catalog can check on its own, and T3 needs somebody to run the procedure and sign for it.

  • Link liveness has not been checked: it needs a network and the catalog builds without one. Run pnpm gates --online where there is one.

Steps

  1. s1 decision — Can you still reach the incumbent?
  2. s2 action — Say plainly that there is no baseline (read-only)
  3. s3 action — Run real questions against it, and record (read-only)
  4. s4 action — Mark which answers must not get worse (read-only)
  5. s5 action — Run the same questions against the new one (read-only)
  6. s6 decision — How does it compare?
  7. s7 action — Fix it and run the set again (reversible-write)
  8. s8 action — Cut over, with a date and an owner (irreversible) — requires approval
  9. s10 check — The old one is actually gone
  10. s9 escalate — Do not switch yet

Capabilities

This is a privilege request. Check it against your own allowlist before running.

    Provenance

    Source
    https://github.com/microsoft/ai-agent-runbooks/blob/083f33eec889/02-patterns/Copilot-Studio-Migration-and-Modernisation/Copilot-Studio-Migration-and-Modernisation-Runbook.md
    Fetched
    2026-09-04
    Source last checked
    not since it was captured on 2026-09-04 — recorded as current
    Licence
    MIT
    How it got here
    Rewritten here from the source above, under its licence. The words and the steps are this catalog's; the procedure it describes is not this catalog's invention, and the source is where to check it.
    Highest risk in this procedure
    irreversible

    Take it with you

    Run it under supervision

    This procedure contains irreversible steps. Run it here, where the supervisor is the thing invoking the commands and therefore sees every one of them: each step is proposed before it happens and a gate stops for you. Nothing about the run leaves this machine.

    # irreversible steps: every one stops for you before it runs.
    npx @runbooks/cli run adapted/replace-a-system-without-guessing@1.0.0 --as "$(whoami)" \
      --input incumbent=<the system being replaced, while you can still reach it>