protocol.adopt/1
Adopt one revision of a generated protocol: it is adopted only with a canon diff report within the organization floor, a passing canon check report and an approval under the capability protocol.adopt, each about the revision under adoption. Evaluation reads the two reports as evidence and runs neither tool.
- Id:
protocol.adopt - Revision: 1
- Source:
protocols/protocol-adopt/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
protocol.adopt/1Adopt one revision of a generated protocol: it is adopted only with a canon diff report within the organization floor, a passing canon check report and an approval under the capability protocol.adopt, each about the revision under adoption. Evaluation reads the two reports as evidence and runs neither tool.
- Actions3
- Evidence kinds3
- Claims3
- Outcomes1
- 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 |
|---|---|---|---|
protocol.approve | approve or reject the current revision for adoption, under authority; only once it is within the floor and its checks pass. Held by a person by default; a deployment may grant it by policy for a generation built only from trusted fragments | all of claim checks.pass claim floor.respected needs protocol.adopt effect none | produces adoption_approval |
protocol.check | run canon check on the current revision and record its report | effect read | produces check_report |
protocol.diff | run canon diff of the current revision against the organization floor, as a runner outside evaluation does, and record its report | effect read | produces diff_report |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
adoption_approval | the record that a holder of protocol.adopt decided on one revision of the generated protocol; its result is approved or rejected | — | establishes adoption.approved (after diff_report about generated_protocol); establishes adoption.approved (approved about generated_protocol, independent on different_principal) |
check_report | canon check on one revision of the generated protocol; its result is passed or failed | — | establishes checks.pass (passed about generated_protocol) |
diff_report | canon diff of one revision of the generated protocol against the organization floor; its result is within_floor when the revision is within the floor, any other result when it is not | — | establishes adoption.approved (before adoption_approval about generated_protocol); establishes floor.respected (within_floor about generated_protocol) |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
adoption.approved | a principal the case lists as independent of the generation, a holder of protocol.adopt, approved the current revision, and the first canon diff report came before the first approval | all of evidence diff_report before adoption_approval about generated_protocol evidence = approved: adoption_approval | requires adopted |
checks.pass | canon check passed on the current revision | evidence = passed: check_report | requires adopted; gates protocol.approve |
floor.respected | the current revision is within the organization floor, by a canon diff report | evidence = within_floor: diff_report | requires adopted; gates protocol.approve |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Name | Description | Rule | Leads to |
|---|---|---|---|
adopted | the current revision of the generated protocol is adopted: within the floor, its checks passed, and approved under protocol.adopt | all of claim adoption.approved claim checks.pass claim floor.respected | — |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Source: protocols/protocol-adopt/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 |
|---|---|---|---|---|---|
protocol.approve | approve or reject the current revision for adoption, under authority; only once it is within the floor and its checks pass. Held by a person by default; a deployment may grant it by policy for a generation built only from trusted fragments | all of (checks.pass is TRUE; floor.respected is TRUE) | protocol.adopt | none | adoption_approval |
protocol.check | run canon check on the current revision and record its report | none | no authority | read | check_report |
protocol.diff | run canon diff of the current revision against the organization floor, as a runner outside evaluation does, and record its report | none | no authority | read | diff_report |
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 |
|---|---|---|---|
adoption_approval | the record that a holder of protocol.adopt decided on one revision of the generated protocol; its result is approved or rejected | protocol.approve | adoption.approved |
check_report | canon check on one revision of the generated protocol; its result is passed or failed | protocol.check | checks.pass |
diff_report | canon diff of one revision of the generated protocol against the organization floor; its result is within_floor when the revision is within the floor, any other result when it is not | protocol.diff | floor.respected |
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 |
|---|---|---|
adoption.approved | a principal the case lists as independent of the generation, a holder of protocol.adopt, approved the current revision, and the first canon diff report came before the first approval | all of (the first diff_report before the first adoption_approval, both about generated_protocol; evidence adoption_approval with result approved about generated_protocol, from a producer independent on different_principal) |
checks.pass | canon check passed on the current revision | evidence check_report with result passed about generated_protocol |
floor.respected | the current revision is within the organization floor, by a canon diff report | evidence diff_report with result within_floor about generated_protocol |
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.
This protocol declares no obligations.
Outcomes
The legitimate terminal interpretations of a case, and what each requires.
| Outcome | Description | Requires |
|---|---|---|
adopted | the current revision of the generated protocol is adopted: within the floor, its checks passed, and approved under protocol.adopt | all of (adoption.approved is TRUE; checks.pass is TRUE; floor.respected is TRUE) |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Artifacts
The things whose revisions evidence is bound to.
| Artifact | Description |
|---|---|
generated_protocol | the generated protocol under adoption, at one revision; the case pins that revision, and a new revision of the protocol needs its own reports and its own approval |
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_principal | the producer is another principal than the one that generated the protocol, as the case lists it |
More columns: swipe horizontally, or focus the table and use the arrow keys.