# governed-plan-loop

> Every algorithm contract in this domain is listed with its position on the derivation loop, its intent and invariant, the flow it walks, its productions as a…

Page: Ontology · Algorithms
Canonical: https://banes-lab.com/ontology/algorithms#algo-domain-governed-plan-loop

Every algorithm contract in this domain is listed with its position on the derivation loop, its intent and invariant, the flow it walks, its productions as a grammar, what it composes and is composed by, which forces and principles it answers to, what grounds it and what it grounds, and an exemplar where the record carries one. The diagram shows what composes what inside the domain.

Relations diagram

What composes what inside this domain.

```mermaid
flowchart LR
n_living_plan_state["Living Plan State"]
n_boundary_reconciliation["Boundary Reconciliation"]
n_phase_close_gate["Phase Close Gate"]
n_plan_phase_verification["Plan Phase Verification"]
n_governed_autonomous_plan_loop["Governed Autonomous Plan Loop"]
n_governed_plan_concern["<Governed Plan Concern>"]
n_phase_close_gate --> n_boundary_reconciliation
n_plan_phase_verification --> n_boundary_reconciliation
n_governed_autonomous_plan_loop --> n_living_plan_state
n_governed_autonomous_plan_loop --> n_boundary_reconciliation
n_governed_autonomous_plan_loop --> n_phase_close_gate
n_governed_autonomous_plan_loop --> n_plan_phase_verification
n_governed_plan_concern --> n_living_plan_state
n_governed_plan_concern --> n_phase_close_gate
```

### Living Plan State

- Stage: [commit](https://banes-lab.com/records/stage/commit.md)
- Axis: [representation](https://banes-lab.com/records/reason/axis-representation.md)
- Math type: [information-theory](https://banes-lab.com/records/reason/math-type-information-theory.md)
- Yields: hash | novelty-score

Details

Intent
Treat the plan as durable append/update-only state — tasks carrying status and grounding, a considerations backlog, and a dismissed-key set — maintained every turn and re-delivered on restart, so anything discovered mid-pass is retained instead of falling out of scope.

Invariant
Plan progress is authoritative persisted state, never inferred from transient conversation, and a completion is recorded only with evidence.

Flow

```text
EmitDelta → GuardTransition → AppendOnly → Persist → RenderFromState
```

Productions

```bnf
LivingPlanState ::= <PlanDelta> "->" <TransitionGuard> "->" <DurableMerge> "->" <StateRender>
TaskStatus ::= "pending" | "active" | "done"
ConsiderationStatus ::= "open" | "confirmed" | "dismissed"
DoneTransition ::= "requires" <GroundingCitation>
```

Composes
none

Composed by
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md), [<Governed Plan Concern>](https://banes-lab.com/records/algo/governed-plan-concern.md)

Named in the derivation of
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)

Forces
[state_transaction](https://banes-lab.com/records/force/state-transaction.md), [causality_ordering](https://banes-lab.com/records/force/causality-ordering.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md)

Grounds
none

Before

```text
Plan progress inferred from the conversation, so a discovery mid-pass falls out of scope on restart.
```

After

```text
plan delta → transition guard{done requires grounding} → append/update-only durable state{tasks, considerations, dismissed keys} → render from state, restart-survivable
```

### Boundary Reconciliation

- Stage: [constrain](https://banes-lab.com/records/stage/constrain.md)
- Axis: [teleology](https://banes-lab.com/records/reason/axis-teleology.md)
- Math type: [optimisation](https://banes-lab.com/records/reason/math-type-optimisation.md)
- Yields: boolean | ranking

Details

Intent
Capture considerations during a phase but act on them only at the phase boundary — triage each open consideration against code and canon into a confirmed task or a dismissed resolved-false key, deduping new opens against the confirmed and dismissed sets before triage.

Invariant
A dismissed consideration never resurfaces and the backlog converges monotonically, so the loop cannot oscillate.

Flow

```text
Capture → DeferToBoundary → DedupBeforeTriage → Triage → DryPassOrBound
```

Productions

```bnf
BoundaryReconciliation ::= <Backlog> "->" <Dedup> "->" <Triage> "->" <Termination>
Triage ::= "confirm" "->" <Task> | "dismiss" "->" <ResolvedFalse>
Dedup ::= "newOpens" "against" "(confirmed | resolvedFalse)"
Termination ::= "dryPass" | "maxReconcileRounds"
```

Composes
[Recursion Control](https://banes-lab.com/records/algo/recursion-control.md)

Composed by
[Phase Close Gate](https://banes-lab.com/records/algo/phase-close-gate.md), [Plan Phase Verification](https://banes-lab.com/records/algo/plan-phase-verification.md), [Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)

Named in the derivation of
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)

Forces
[causality_ordering](https://banes-lab.com/records/force/causality-ordering.md), [resilience_recovery](https://banes-lab.com/records/force/resilience-recovery.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md)

Grounds
none

Before

```text
Considerations acted on mid-phase, and a dismissed one resurfaces — the loop oscillates.
```

After

```text
capture during phase → act only at the boundary → dedup new opens vs (confirmed | dismissed) → triage{confirm → task | dismiss → resolved-false} → dry pass or bound
```

### Phase Close Gate

- Stage: [terminate](https://banes-lab.com/records/stage/terminate.md)
- Axis: [termination](https://banes-lab.com/records/reason/axis-termination.md)
- Math type: [optimisation](https://banes-lab.com/records/reason/math-type-optimisation.md)
- Yields: boolean | ranking

Details

Intent
Make completion a gated state of the plan rather than a judgment call — a phase closes only when all tasks are done, a dry reconciliation pass holds, verify is clean for the chosen scope, and the coverage graph confirms the ripple set; otherwise the loop returns to execution.

Invariant
Completion can never be self-declared; closure is a composed evidence-bound gate whose failure routes back to execution, never to done.

Flow

```text
AllTasksDone → DryPass → VerifyClean → CoverageConfirmed → CloseOrExecute
```

Productions

```bnf
PhaseCloseGate ::= <TaskCompletion> "&" <DryPass> "&" <VerifyResult> "&" <CoverageResult> "->" <Decision>
Decision ::= "close" | "return_to_execute"
VerifyResult ::= "scope:full" | "scope:work"
```

Composes
[Validation Gate](https://banes-lab.com/records/algo/validation-gate.md), [Boundary Reconciliation](https://banes-lab.com/records/algo/boundary-reconciliation.md)

Composed by
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md), [<Governed Plan Concern>](https://banes-lab.com/records/algo/governed-plan-concern.md)

Named in the derivation of
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)

Forces
[security_governance](https://banes-lab.com/records/force/security-governance.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md), [state_transaction](https://banes-lab.com/records/force/state-transaction.md)

Grounds
[ter-stop](https://banes-lab.com/records/reason/node-ter-stop.md)

Before

```text
The phase is self-declared done.
```

After

```text
all tasks done & dry reconciliation holds & verify clean (scope) & coverage graph confirms ripple → close | return to execute; never self-declared
```

### Plan Phase Verification

- Stage: [verify](https://banes-lab.com/records/stage/verify.md)
- Axis: [verification](https://banes-lab.com/records/reason/axis-verification.md)
- Math type: [logic](https://banes-lab.com/records/reason/math-type-logic.md)
- Yields: boolean

Details

Intent
Before a composed plan reaches the developer, the engine loops it back through evidence, completeness, and adversarial-skepticism passes, reconciles the findings into the plan, and increments a loop-owned pass counter the model cannot forge; a render boundary blocks an unverified plan.

Invariant
A plan is never presented un-reviewed, and the verification flag is written only by deterministic engine code, never by model tokens.

Flow

```text
AutoLoopback → ThreePassVerify → ReconcileFindings → LoopOwnedIncrement → PresentGate
```

Productions

```bnf
PlanPhaseVerification ::= <AutoLoopback> "->" <VerifyPasses> "->" <Reconcile> "->" <CounterIncrement> "->" <PresentGate>
VerifyPasses ::= "evidence" "," "completeness" "," "adversarial"
PresentGate ::= "verificationPasses >= 1"
Counter ::= "loop_owned" "not_model_emitted"
```

Composes
[Evidence-Gated Claim Verification](https://banes-lab.com/records/algo/evidence-gated-claim-verification.md), [Boundary Reconciliation](https://banes-lab.com/records/algo/boundary-reconciliation.md), [Recursion Control](https://banes-lab.com/records/algo/recursion-control.md)

Composed by
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)

Named in the derivation of
[Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)

Forces
[correctness_verification](https://banes-lab.com/records/force/correctness-verification.md), [security_governance](https://banes-lab.com/records/force/security-governance.md), [observability_traceability](https://banes-lab.com/records/force/observability-traceability.md)

Grounds
[ver-evidence](https://banes-lab.com/records/reason/node-ver-evidence.md)

Before

```text
A plan presented to the developer un-reviewed, its verified flag set by model tokens.
```

After

```text
auto loopback → 3 passes{evidence, completeness, adversarial} → reconcile findings → loop-owned counter (not model-emitted) → render blocked until verified
```

### Governed Autonomous Plan Loop

- Math type: [computation](https://banes-lab.com/records/reason/math-type-computation.md)
- Yields: procedure

Details

Intent
Drive a large task to completion under gates — seed per phase, investigate, execute, self-inform from canon and self-audit, capture considerations, reconcile at the boundary, and close only when the plan is a mechanically resolved state, then re-seed the next phase.

Invariant
Autonomy is bounded by gates rather than disposition — the plan can only grow with code-verified work, completion is a gated state and not a judgment call, and every step is restart-survivable.

Flow

```text
SeedPhase → Investigate → Execute → GatedSelfAuditAndInform → CaptureConsiderations → BoundaryReconcile → CloseGate → ReSeedNextPhase
```

Productions

```bnf
GovernedPlanLoop ::= <PhaseSeed> "->" <ActivityCycle> "->" <BoundaryReconciliation> "->" <PhaseCloseGate> "->" <ReSeed>
ActivityCycle ::= "investigate" "->" "execute" "->" "verify"
SelfDrive ::= <CanonSelfInform> "&" <SkepticalSweep> "&" <PlanMaintenance>
Completion ::= "gated_state" "not_judgment_call"
```

Composes
[Living Plan State](https://banes-lab.com/records/algo/living-plan-state.md), [Boundary Reconciliation](https://banes-lab.com/records/algo/boundary-reconciliation.md), [Phase Close Gate](https://banes-lab.com/records/algo/phase-close-gate.md), [Plan Phase Verification](https://banes-lab.com/records/algo/plan-phase-verification.md), [Phase-Separated Execution](https://banes-lab.com/records/algo/phase-separated-execution.md)

Forces
[state_transaction](https://banes-lab.com/records/force/state-transaction.md), [security_governance](https://banes-lab.com/records/force/security-governance.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md), [resilience_recovery](https://banes-lab.com/records/force/resilience-recovery.md), [runtime_extensibility](https://banes-lab.com/records/force/runtime-extensibility.md)

Grounds
[derivation-loop](https://banes-lab.com/ontology/reasoning/reason-loop-derivation-loop.md)

Grounded by
[constrain](https://banes-lab.com/records/stage/constrain.md)

Derivation map

commit
[Living Plan State](https://banes-lab.com/records/algo/living-plan-state.md)

constrain
[Boundary Reconciliation](https://banes-lab.com/records/algo/boundary-reconciliation.md)

verify
[Plan Phase Verification](https://banes-lab.com/records/algo/plan-phase-verification.md)

terminate
[Phase Close Gate](https://banes-lab.com/records/algo/phase-close-gate.md)

Before

```text
A long task driven from conversation memory, self-declared done, losing mid-pass discoveries on restart.
```

After

```text
seed phase → investigate → execute → gated self-audit + canon self-inform → capture + reconcile at boundary → close only on a mechanically resolved gated state → re-seed next phase
```

### <Governed Plan Concern>

- Meta record

Details

Intent
<Seed the phase> → <Investigate and execute under gates> → <Self-inform from canon and self-audit> → <Capture and reconcile considerations at the boundary> → <Close only on a mechanically resolved gated state> → <Re-seed the next phase>

Invariant
A large task reaches completion only under gates, never by disposition: the plan grows solely from code-verified work, completion is a gated state rather than a judgment call, and every step is restart-survivable.

Flow

```text
SeedPhase → GatedActivity → BoundaryReconcile → CloseGate → ReSeed
```

Productions

```bnf
GovernedPlanConcern ::= <PhaseSeed> "->" <GatedActivityCycle> "->" <BoundaryReconciliation> "->" <PhaseCloseGate> "->" <ReSeed>
GatedActivityCycle ::= "investigate" "->" "execute" "->" "gated_self_audit"
```

Composes
[Living Plan State](https://banes-lab.com/records/algo/living-plan-state.md), [Phase Close Gate](https://banes-lab.com/records/algo/phase-close-gate.md)

Forces
[state_transaction](https://banes-lab.com/records/force/state-transaction.md), [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md), [security_governance](https://banes-lab.com/records/force/security-governance.md)

Grounds
none

## Links to

- [Commit](https://banes-lab.com/records/stage/commit.md)
- [Representation](https://banes-lab.com/records/reason/axis-representation.md)
- [Information Theory](https://banes-lab.com/records/reason/math-type-information-theory.md)
- [Governed Autonomous Plan Loop](https://banes-lab.com/records/algo/governed-autonomous-plan-loop.md)
- [<Governed Plan Concern>](https://banes-lab.com/records/algo/governed-plan-concern.md)
- [state_transaction](https://banes-lab.com/records/force/state-transaction.md)
- [causality_ordering](https://banes-lab.com/records/force/causality-ordering.md)
- [correctness_verification](https://banes-lab.com/records/force/correctness-verification.md)
- [Constrain](https://banes-lab.com/records/stage/constrain.md)
- [Teleology](https://banes-lab.com/records/reason/axis-teleology.md)
- [Optimisation](https://banes-lab.com/records/reason/math-type-optimisation.md)
- [Recursion Control](https://banes-lab.com/records/algo/recursion-control.md)
- [Phase Close Gate](https://banes-lab.com/records/algo/phase-close-gate.md)
- [Plan Phase Verification](https://banes-lab.com/records/algo/plan-phase-verification.md)
- [resilience_recovery](https://banes-lab.com/records/force/resilience-recovery.md)
- [Terminate](https://banes-lab.com/records/stage/terminate.md)
- [Termination](https://banes-lab.com/records/reason/axis-termination.md)
- [Validation Gate](https://banes-lab.com/records/algo/validation-gate.md)
- [Boundary Reconciliation](https://banes-lab.com/records/algo/boundary-reconciliation.md)
- [security_governance](https://banes-lab.com/records/force/security-governance.md)
- [Ter Stop](https://banes-lab.com/records/reason/node-ter-stop.md)
- [Verify](https://banes-lab.com/records/stage/verify.md)
- [Verification](https://banes-lab.com/records/reason/axis-verification.md)
- [Logic](https://banes-lab.com/records/reason/math-type-logic.md)
- [Evidence-Gated Claim Verification](https://banes-lab.com/records/algo/evidence-gated-claim-verification.md)
- [observability_traceability](https://banes-lab.com/records/force/observability-traceability.md)
- [Ver Evidence](https://banes-lab.com/records/reason/node-ver-evidence.md)
- [Computation](https://banes-lab.com/records/reason/math-type-computation.md)
- [Living Plan State](https://banes-lab.com/records/algo/living-plan-state.md)
- [Phase-Separated Execution](https://banes-lab.com/records/algo/phase-separated-execution.md)
- [runtime_extensibility](https://banes-lab.com/records/force/runtime-extensibility.md)
- [The derivation loop](https://banes-lab.com/ontology/reasoning/reason-loop-derivation-loop.md)
