GitHub Action commited on
Commit
bf1bb40
·
1 Parent(s): b824a76

Sync from GitHub with Git LFS

Browse files
Files changed (1) hide show
  1. 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 Evaluation container]
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
- Represents an agent’s explicit stance toward another container (goal, task, ethics_solution, or proposal).
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
- "reason": "Consistent with prior consensus and ethical policy E-17"
 
 
 
 
 
 
 
 
 
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
- | `reason` | Optional short explanation or reference to supporting evidence. |
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
- * `vote` containers can later be aggregated by `consensus_result` containers (see below).
3078
- * Votes are immutable records; updates are expressed as new versions (`related.previous_version`).
 
 
 
 
 
 
 
 
 
 
 
3079
 
3080
  ---
3081
 
3082
  **Example cases**
3083
 
3084
  * In **GMP**, votes determine task delegation or approval.
3085
- * In **EGP**, votes determine which ethical solution to adopt.
3086
- * In **CogConsensus**, votes contribute to collective decision formation (e.g., proposal approval).
3087
 
3088
  ---
3089
 
3090
  > **Note:**
3091
- > Although voting semantics may differ across protocols, all use the same standardized `vote` container class,
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
  }