Cybernetic loop
SkillDev toolsUse when the caller supplies one falsifiable out-of-happy-path invariant and a finite patch budget. Restores it through bounded candidate patches or reverts the run and reports non-convergence. Not for normal feature delivery or universal retries.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Cybernetic loop skill
What this skill tells your AI
The instructions your AI receives, as published by outlinedriven/outline-driven-development in .devin/skills/cybernetic-loop/SKILL.md and read by ahel’s review.
Contract
| Field | Bound contract |
|---|---|
| Trigger | Use only when the caller names one falsifiable invariant outside the prior happy path, such as reorganization, peer-to-peer behavior, or index recovery, together with one finite patch budget. Do not use this workflow for normal feature delivery or as a universal retry loop. |
| Authority | Reversible local: writes only budgeted candidate patches within the bounded local working-tree scope recorded before mutation; rollback is restoring the pre-run checkpoint byte-for-byte, including any pre-existing state. No remote mutation. |
| Side effect | Mutates the working tree only through candidate patches applied after the checkpoint. Keep a candidate only when the full frozen check set shows that at least one failing check now passes and no previously passing check fails; otherwise revert that candidate. On non-convergence, revert every retained candidate to the checkpoint. |
| Done | Return exactly one terminal status: already-holds when the full frozen check set passes before mutation; restored when all frozen checks pass together in one run within budget; or non-converged after restoring the checkpoint and returning the run transcript. |
Inputs
- Exactly one caller-supplied invariant stated so a check can falsify it. It must describe behavior outside the prior happy path.
- One caller-supplied finite positive-integer patch budget. Each attempted candidate patch consumes one unit whether kept or reverted.
- The repository working tree and its existing executable checks. No candidate patch or new evidence may be supplied as an assumed result.
Use only the literal run concepts invariant, executable check set, patch budget, candidate patch, check result, checkpoint, and run transcript; do not reinterpret the procedure through control-theory metaphors.
Procedure
- Validate that there is exactly one falsifiable invariant and that the patch budget is a finite positive integer. Reject normal feature work, a happy-path request, a universal retry request, or an invariant whose truth cannot be executed as a check. Done when: exactly one falsifiable invariant and a finite positive-integer budget are validated, or the run is rejected.
- Derive the smallest working-tree scope that can restore the invariant. Record that scope; any required change outside it is scope widening and must stop the run. Done when: the smallest scope is derived and recorded.
- Translate the invariant without weakening it into an executable check with explicit pass and fail results. Combine it with the repository's existing executable checks. Freeze and echo the complete check set, exact commands, pass criteria, bounded scope, and patch budget as the run contract; do not add, remove, weaken, or replace a check after this point. Done when: the frozen run contract is echoed with the complete check set, commands, criteria, scope, and budget.
- Create a checkpoint that can restore every byte in the bounded scope to its pre-run state, including pre-existing edits. If an exact checkpoint cannot be made, stop before mutation as
non-convergedwith an unavailable recovery mechanism. Done when: the checkpoint can restore every byte in the bounded scope, or the run stops asnon-converged. - Run the full frozen check set before mutation and record every check result. If all checks pass in this one run, return
already-holdswithout changing the working tree. Done when: all check results are recorded, oralready-holdsis returned. - While checks fail and budget remains, select one failing result and apply the smallest candidate patch within the bounded scope that could restore it. Spend one budget unit, run the full frozen check set, and record the patch and every result. Done when: one candidate patch is applied, budget is spent, and full check results are recorded.
- Compare that run with the immediately preceding retained state. Keep the candidate only if at least one previously failing check passes and every previously passing check still passes. Otherwise revert the candidate exactly while retaining the spent budget unit. Done when: the candidate is kept or reverted with the decision and budget recorded.
- After each full run, return
restoredonly if every frozen check passes together. Otherwise stop asnon-convergedif the budget is exhausted, an equivalent failure repeats, check results oscillate between prior states, any frozen check becomes unavailable, or restoration requires scope widening. Done when:restoredis returned ornon-convergedis declared with a named stop class. - For every
non-convergedstop, restore the whole bounded scope to the checkpoint before returning the complete run transcript. If restoration itself fails, report that recovery failure explicitly and do not claim a terminal success status. Done when: the bounded scope is restored to the checkpoint and the run transcript is returned, or recovery failure is reported.
Failure and recovery
invalid-input: stop before mutation when the invariant is not singular, falsifiable, or outside the prior happy path, or when the patch budget is not a finite positive integer.unavailable-check: a check that cannot be compiled or executed makes the runnon-converged; restore the checkpoint if mutation occurred.repeated-equivalent-failure,oscillation,budget-exhaustion, andscope-widening: stop immediately asnon-convergedand restore the whole run to its checkpoint.candidate-regression: when a candidate fails to improve at least one failing check or causes any passing check to fail, revert that candidate; the attempt still consumes budget.recovery-failure: return the failed restoration operation and remaining working-tree delta explicitly. Never reportalready-holds,restored, or a cleannon-convergedrollback unless the corresponding state was observed.
No partial retained patch is an output of non-converged; its only valid working-tree state is the checkpoint state.
Output
The frozen run contract and one terminal record: already-holds (pre-mutation check results, no patch attempted), restored (candidate patches, budget, check results, final passing run), or non-converged (stop class, all patches and results, budget consumed, checkpoint-restoration proof).
Signals
- GitHub stars
- 52
- Forks
- 9
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cybernetic-loop- Source
- github.com/outlinedriven/outline-driven-development