GitHub Action commited on
Commit ·
bf1bb40
1
Parent(s): b824a76
Sync from GitHub with Git LFS
Browse files- docs/HMP-0005.md +34 -13
docs/HMP-0005.md
CHANGED
|
@@ -260,7 +260,7 @@ flowchart TD
|
|
| 260 |
|
| 261 |
A[Agent A: <br>creates Goal container]
|
| 262 |
B[Agent B: <br>replies with <br>Task proposal <br>related.in_reply_to = Goal]
|
| 263 |
-
C[Agent C: <br>evaluates proposal, <br>creates
|
| 264 |
R[Result: <br>consensus_result container <br>aggregates evaluations]
|
| 265 |
|
| 266 |
subgraph Interaction["Distributed Reasoning Cycle"]
|
|
@@ -3018,6 +3018,7 @@ All evaluations are signed and verified locally.
|
|
| 3018 |
|
| 3019 |
```json
|
| 3020 |
"evaluations": {
|
|
|
|
| 3021 |
"items": [
|
| 3022 |
{
|
| 3023 |
"value": -0.4,
|
|
@@ -3038,8 +3039,7 @@ All evaluations are signed and verified locally.
|
|
| 3038 |
|
| 3039 |
#### 6.2.3 Container `vote`
|
| 3040 |
|
| 3041 |
-
|
| 3042 |
-
A `vote` container is **atomic** — one container expresses one agent’s position regarding one target container.
|
| 3043 |
|
| 3044 |
```json
|
| 3045 |
{
|
|
@@ -3050,10 +3050,20 @@ A `vote` container is **atomic** — one container expresses one agent’s posit
|
|
| 3050 |
"target_did": "did:hmp:container:ethics_solution-4fba2",
|
| 3051 |
"vote_value": 1,
|
| 3052 |
"vote_type": "approval",
|
| 3053 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3054 |
},
|
| 3055 |
"related": {
|
| 3056 |
-
"in_reply_to": "did:hmp:container:ethics_solution-4fba2",
|
|
|
|
| 3057 |
"previous_version": "did:hmp:container:vote-13452"
|
| 3058 |
}
|
| 3059 |
}
|
|
@@ -3064,8 +3074,9 @@ A `vote` container is **atomic** — one container expresses one agent’s posit
|
|
| 3064 |
| `target_did` | DID of the container being voted on (goal, task, ethics_solution, etc.). |
|
| 3065 |
| `vote_value` | Numerical or boolean representation of stance: e.g., `1` (approve), `0` (neutral/abstain), `-1` (reject). |
|
| 3066 |
| `vote_type` | Optional symbolic label for semantics (`approval`, `objection`, `support`, `abstain`, etc.). |
|
| 3067 |
-
| `
|
| 3068 |
| `related.in_reply_to` | Reference to the container the vote responds to. |
|
|
|
|
| 3069 |
| `related.previous_version` | Used if an agent revises its vote. |
|
| 3070 |
|
| 3071 |
---
|
|
@@ -3074,22 +3085,32 @@ A `vote` container is **atomic** — one container expresses one agent’s posit
|
|
| 3074 |
|
| 3075 |
* Each agent MAY publish one or more `vote` containers for a given `target_did`.
|
| 3076 |
When multiple exist, the most recent (by timestamp) is considered current.
|
| 3077 |
-
*
|
| 3078 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3079 |
|
| 3080 |
---
|
| 3081 |
|
| 3082 |
**Example cases**
|
| 3083 |
|
| 3084 |
* In **GMP**, votes determine task delegation or approval.
|
| 3085 |
-
* In **EGP**, votes
|
| 3086 |
-
* In **CogConsensus**, votes
|
| 3087 |
|
| 3088 |
---
|
| 3089 |
|
| 3090 |
> **Note:**
|
| 3091 |
-
>
|
| 3092 |
-
> ensuring interoperability and unified aggregation through `consensus_result`.
|
| 3093 |
|
| 3094 |
---
|
| 3095 |
|
|
@@ -4527,7 +4548,7 @@ This allows gradual enrichment of the trust model without schema changes.
|
|
| 4527 |
}
|
| 4528 |
},
|
| 4529 |
"related": {
|
| 4530 |
-
"in_reply_to": "did:hmp:container:peerannounce-567",
|
| 4531 |
"see_also": ["did:hmp:container:peerannounce-489"],
|
| 4532 |
"previous_version": "did:hmp:container:trust-9ab7"
|
| 4533 |
}
|
|
|
|
| 260 |
|
| 261 |
A[Agent A: <br>creates Goal container]
|
| 262 |
B[Agent B: <br>replies with <br>Task proposal <br>related.in_reply_to = Goal]
|
| 263 |
+
C[Agent C: <br>evaluates proposal, <br>creates evaluation container]
|
| 264 |
R[Result: <br>consensus_result container <br>aggregates evaluations]
|
| 265 |
|
| 266 |
subgraph Interaction["Distributed Reasoning Cycle"]
|
|
|
|
| 3018 |
|
| 3019 |
```json
|
| 3020 |
"evaluations": {
|
| 3021 |
+
"evaluations_hash": "sha256:efgh...",
|
| 3022 |
"items": [
|
| 3023 |
{
|
| 3024 |
"value": -0.4,
|
|
|
|
| 3039 |
|
| 3040 |
#### 6.2.3 Container `vote`
|
| 3041 |
|
| 3042 |
+
A `vote` container represents a **simplified, atomic evaluation** — an agent’s explicit stance toward another container (e.g., `goal`, `task`, `ethics_solution`, or `proposal`).
|
|
|
|
| 3043 |
|
| 3044 |
```json
|
| 3045 |
{
|
|
|
|
| 3050 |
"target_did": "did:hmp:container:ethics_solution-4fba2",
|
| 3051 |
"vote_value": 1,
|
| 3052 |
"vote_type": "approval",
|
| 3053 |
+
"arguments": [
|
| 3054 |
+
{
|
| 3055 |
+
"reason": "Consistent with prior consensus and ethical policy E-17",
|
| 3056 |
+
"evidence": ["did:hmp:container:abc12462"]
|
| 3057 |
+
},
|
| 3058 |
+
{
|
| 3059 |
+
"reason": "No conflict with safety constraints",
|
| 3060 |
+
"evidence": ["did:hmp:container:def772ab"]
|
| 3061 |
+
}
|
| 3062 |
+
]
|
| 3063 |
},
|
| 3064 |
"related": {
|
| 3065 |
+
"in_reply_to": ["did:hmp:container:ethics_solution-4fba2"],
|
| 3066 |
+
"depends_on": ["did:hmp:container:abc12462", "did:hmp:container:def772ab"],
|
| 3067 |
"previous_version": "did:hmp:container:vote-13452"
|
| 3068 |
}
|
| 3069 |
}
|
|
|
|
| 3074 |
| `target_did` | DID of the container being voted on (goal, task, ethics_solution, etc.). |
|
| 3075 |
| `vote_value` | Numerical or boolean representation of stance: e.g., `1` (approve), `0` (neutral/abstain), `-1` (reject). |
|
| 3076 |
| `vote_type` | Optional symbolic label for semantics (`approval`, `objection`, `support`, `abstain`, etc.). |
|
| 3077 |
+
| `arguments` | Optional array of reasoning elements that justify the vote. Each entry may include a `reason` and linked `evidence`. |
|
| 3078 |
| `related.in_reply_to` | Reference to the container the vote responds to. |
|
| 3079 |
+
| `related.depends_on` | References to containers (e.g., evidence or argumentation) used as the basis for this decision. |
|
| 3080 |
| `related.previous_version` | Used if an agent revises its vote. |
|
| 3081 |
|
| 3082 |
---
|
|
|
|
| 3085 |
|
| 3086 |
* Each agent MAY publish one or more `vote` containers for a given `target_did`.
|
| 3087 |
When multiple exist, the most recent (by timestamp) is considered current.
|
| 3088 |
+
* Votes are **immutable**; updates are published as new containers referencing the previous one via `related.previous_version`.
|
| 3089 |
+
* A `vote` container SHOULD correspond to an entry in the **evaluations** structure of the referenced container, representing the same decision context.
|
| 3090 |
+
* Agents MAY instead express their stance through other container types (`ethics_solution`, `workflow_entry`, etc.);
|
| 3091 |
+
all such contributions are aggregated through the block **evaluation**, not limited to explicit `vote` containers.
|
| 3092 |
+
|
| 3093 |
+
---
|
| 3094 |
+
|
| 3095 |
+
**Consensus interpretation**
|
| 3096 |
+
|
| 3097 |
+
During consensus computation (§6.2.4), the system considers **all containers linked in the block `evaluation`**,
|
| 3098 |
+
not only explicit `vote` containers.
|
| 3099 |
+
A `vote` thus acts as a **standardized shorthand** for agents or lightweight nodes that need to record a simple position
|
| 3100 |
+
without producing a full analytical `evaluation`.
|
| 3101 |
|
| 3102 |
---
|
| 3103 |
|
| 3104 |
**Example cases**
|
| 3105 |
|
| 3106 |
* In **GMP**, votes determine task delegation or approval.
|
| 3107 |
+
* In **EGP**, votes indicate preferred ethical solutions.
|
| 3108 |
+
* In **CogConsensus**, votes may coexist with more complex evaluations and are processed equivalently in the aggregation phase.
|
| 3109 |
|
| 3110 |
---
|
| 3111 |
|
| 3112 |
> **Note:**
|
| 3113 |
+
> The `vote` container is an **optional specialization** of the evaluation mechanism — it improves interoperability and clarity in binary or scalar decision-making, but consensus formation always relies on the full **evaluation graph**, where every relevant container (including `vote`) contributes evidence and weight.
|
|
|
|
| 3114 |
|
| 3115 |
---
|
| 3116 |
|
|
|
|
| 4548 |
}
|
| 4549 |
},
|
| 4550 |
"related": {
|
| 4551 |
+
"in_reply_to": ["did:hmp:container:peerannounce-567"],
|
| 4552 |
"see_also": ["did:hmp:container:peerannounce-489"],
|
| 4553 |
"previous_version": "did:hmp:container:trust-9ab7"
|
| 4554 |
}
|