loop.improvement/1
One turn of improving the improvement loop itself: the loop scorecard, computed over at least three recorded self.improvement turns, shows a metric below its target on the promoted loop definition (the scenario corpus, the metric definitions, the review panel, the intake rules, the protocols and the agent profiles); a candidate change to the loop is delivered; the candidate is checked not to redefine a metric without reporting the previous definition beside it; the owner, or a role the owner delegated the grant to on record, merges it; and after at least three further turns under the candidate the metric is compared again. Accepted once the metric improved; declined when it did not. Every change to the loop is a judge-surface change, so its merge needs the owner's grant or that of a role the owner delegated it to by a revocable record; a revoked delegation grants nothing (story:judge-guard enforces it).
- Id:
loop.improvement - Revision: 1
- Source:
protocols/loop-improvement/1.yaml
Dependency graph
Which actions may produce which evidence, which claims that evidence establishes, and which outcomes and obligations rest on those claims. Hover or focus a node to trace what it rests on.
Protocol · revision 1
loop.improvement/1One turn of improving the improvement loop itself: the loop scorecard, computed over at least three recorded self.improvement turns, shows a metric below its target on the promoted loop definition (the scenario corpus, the metric definitions, the review panel, the intake rules, the protocols and the agent profiles); a candidate change to the loop is delivered; the candidate is checked not to redefine a metric without reporting the previous definition beside it; the owner, or a role the owner delegated the grant to on record, merges it; and after at least three further turns under the candidate the metric is compared again. Accepted once the metric improved; declined when it did not. Every change to the loop is a judge-surface change, so its merge needs the owner's grant or that of a role the owner delegated it to by a revocable record; a revoked delegation grants nothing (story:judge-guard enforces it).
- Actions6
- Evidence kinds4
- Claims4
- Outcomes3
- Obligations2
- Precondition, traced on hover
- Needs authority
Hover or focus a node to trace what it rests on and what rests on it. Press Enter to pin it, Escape to clear.
Protocol as text
| Name | Description | Rule | Leads to |
|---|---|---|---|
loop.change.deliver | deliver a candidate change to the loop definition: the corpus, a metric definition, the review panel, the intake rules, a protocol or an agent profile | claim loop.metric_below_target effect write | — |
loop.compare | once at least three self.improvement turns ran under the merged candidate, compare the metric with the baseline's | claim loop.change_merged effect read | produces loop_comparison |
loop.definition.check | compare the candidate's metric definitions with the baseline's | effect read | produces definition_check |
loop.finding.file | file the lowest metric as a finding against the loop | claim loop.metric_below_target effect write | — |
loop.measure | compute the loop scorecard over the recorded self.improvement cases | effect read | produces loop_measurement |
loop.merge | merge the loop candidate; the owner holds this capability, or a role the owner delegated it to by a revocable record, and a revoked delegation grants nothing (story:judge-guard enforces it) | claim loop.definition_honest needs repository.merge.judge_surface effect write | produces merge_observation |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
definition_check | the candidate's diff against the baseline's metric definitions; its result is unchanged, dual_reported (a changed definition whose previous figures are printed beside the new ones) or redefined (a changed definition without them) | — | establishes loop.definition_honest (dual_reported about loop_candidate); establishes loop.definition_honest (unchanged about loop_candidate) |
loop_comparison | the metric over at least three turns under the candidate against the same metric under the baseline; its result is improved or not_improved | — | establishes loop.metric_improved (improved about loop_candidate, independent on different_agent_run) |
loop_measurement | the loop scorecard over at least three recorded self.improvement cases at a loop definition revision; figures no validator can observe (escaped defects) enter as human-sourced counts, labelled so; its result is below_target or at_target | — | establishes loop.metric_below_target (below_target about loop_baseline) |
merge_observation | the loop candidate merged into the mainline; its result is merged | — | establishes loop.change_merged (merged about loop_candidate) |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
loop.change_merged | the current loop candidate is merged into the mainline | evidence = merged: merge_observation | requires accepted; gates loop.compare |
loop.definition_honest | the current loop candidate leaves every metric definition unchanged, or reports the previous definition's figures beside the new ones | any of evidence = dual_reported: definition_check evidence = unchanged: definition_check | requires accepted; requires honesty.required; gates loop.merge |
loop.metric_below_target | a loop metric is below its target on the baseline loop definition | evidence = below_target: loop_measurement | gates loop.change.deliver; gates loop.finding.file |
loop.metric_improved | the metric improved under the current loop candidate, observed by another agent run than the one that delivered it | evidence = improved: loop_comparison | requires accepted; requires improvement.required |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
abandoned | the loop turn closed because it was explicitly abandoned | — | — |
accepted | the loop turn closed with an honest change merged and its metric improved | all of claim loop.change_merged claim loop.definition_honest claim loop.metric_improved | — |
declined | the loop turn closed because the metric did not improve; the candidate is reverted by a further loop turn | evidence = not_improved: loop_comparison | — |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
honesty.required | a loop change never redefines a metric silently | claim loop.definition_honest | — |
improvement.required | a loop change counts only when its metric improved | claim loop.metric_improved | — |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Source: protocols/loop-improvement/1.yaml
Actions
What can be done in a case: what it needs first, which authority it requires, the class of effect it has and the evidence it may produce.
| Action | Description | Precondition | Requires capability | Effect | May produce |
|---|---|---|---|---|---|
loop.change.deliver | deliver a candidate change to the loop definition: the corpus, a metric definition, the review panel, the intake rules, a protocol or an agent profile | loop.metric_below_target is TRUE | no authority | write | no evidence |
loop.compare | once at least three self.improvement turns ran under the merged candidate, compare the metric with the baseline's | loop.change_merged is TRUE | no authority | read | loop_comparison |
loop.definition.check | compare the candidate's metric definitions with the baseline's | none | no authority | read | definition_check |
loop.finding.file | file the lowest metric as a finding against the loop | loop.metric_below_target is TRUE | no authority | write | no evidence |
loop.measure | compute the loop scorecard over the recorded self.improvement cases | none | no authority | read | loop_measurement |
loop.merge | merge the loop candidate; the owner holds this capability, or a role the owner delegated it to by a revocable record, and a revoked delegation grants nothing (story:judge-guard enforces it) | loop.definition_honest is TRUE | repository.merge.judge_surface | write | merge_observation |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Evidence kinds
The kinds of evidence this protocol admits.
| Evidence kind | Description | Produced by | Used by claims |
|---|---|---|---|
definition_check | the candidate's diff against the baseline's metric definitions; its result is unchanged, dual_reported (a changed definition whose previous figures are printed beside the new ones) or redefined (a changed definition without them) | loop.definition.check | loop.definition_honest |
loop_comparison | the metric over at least three turns under the candidate against the same metric under the baseline; its result is improved or not_improved | loop.compare | loop.metric_improved |
loop_measurement | the loop scorecard over at least three recorded self.improvement cases at a loop definition revision; figures no validator can observe (escaped defects) enter as human-sourced counts, labelled so; its result is below_target or at_target | loop.measure | loop.metric_below_target |
merge_observation | the loop candidate merged into the mainline; its result is merged | loop.merge | loop.change_merged |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Claims
Each claim is TRUE, FALSE or UNKNOWN, established from evidence by its predicate. Missing or stale evidence leaves a claim UNKNOWN, never FALSE.
| Claim | Description | True when |
|---|---|---|
loop.change_merged | the current loop candidate is merged into the mainline | evidence merge_observation with result merged about loop_candidate |
loop.definition_honest | the current loop candidate leaves every metric definition unchanged, or reports the previous definition's figures beside the new ones | any of (evidence definition_check with result dual_reported about loop_candidate; evidence definition_check with result unchanged about loop_candidate) |
loop.metric_below_target | a loop metric is below its target on the baseline loop definition | evidence loop_measurement with result below_target about loop_baseline |
loop.metric_improved | the metric improved under the current loop candidate, observed by another agent run than the one that delivered it | evidence loop_comparison with result improved about loop_candidate, from a producer independent on different_agent_run |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Obligations
What must be done before a case can be complete, and what discharges it. An obligation stays open until its predicate is TRUE; its predicate being UNKNOWN does not discharge it.
| Obligation | Description | Discharged when |
|---|---|---|
honesty.required | a loop change never redefines a metric silently | loop.definition_honest is TRUE |
improvement.required | a loop change counts only when its metric improved | loop.metric_improved is TRUE |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Outcomes
The legitimate terminal interpretations of a case, and what each requires.
| Outcome | Description | Requires |
|---|---|---|
abandoned | the loop turn closed because it was explicitly abandoned | decision explicitly_abandoned |
accepted | the loop turn closed with an honest change merged and its metric improved | all of (loop.change_merged is TRUE; loop.definition_honest is TRUE; loop.metric_improved is TRUE) |
declined | the loop turn closed because the metric did not improve; the candidate is reverted by a further loop turn | evidence loop_comparison with result not_improved about loop_candidate |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Artifacts
The things whose revisions evidence is bound to.
| Artifact | Description |
|---|---|
loop_baseline | the promoted loop definition the metric was measured on |
loop_candidate | a changed loop definition meant to raise the metric |
loop_finding | a finding against the loop, naming the metric, its target and the turns it was computed from |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Independence dimensions
What an evidence match may demand of a record's producer (independent_on). The case lists, for each producer, the dimensions on which it is independent of the case's work; a match that demands a dimension reads only records whose producer the case lists on it. A record that fails the demand neither establishes nor contradicts the match, so a match only such records would decide is UNKNOWN.
| Dimension | Description |
|---|---|
different_agent_run | the producer is another agent run than the one that delivered the candidate |
More columns: swipe horizontally, or focus the table and use the arrow keys.