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

Sync from GitHub with Git LFS

Browse files
Files changed (1) hide show
  1. docs/HMP-0005.md +64 -7
docs/HMP-0005.md CHANGED
@@ -3036,7 +3036,64 @@ All evaluations are signed and verified locally.
3036
 
3037
  ---
3038
 
3039
- #### 6.2.3 Consensus computation
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3040
 
3041
  Each agent **computes a local consensus score** by aggregating received evaluations, taking trust and time into account.
3042
  There is no centralized mechanism — consensus emerges statistically across the distributed network.
@@ -3067,7 +3124,7 @@ Results are recalculated dynamically as new data arrives.
3067
 
3068
  ---
3069
 
3070
- #### 6.2.4 Consensus states
3071
 
3072
  Each container receives a local status based on:
3073
 
@@ -3085,7 +3142,7 @@ Each container receives a local status based on:
3085
 
3086
  ---
3087
 
3088
- #### 6.2.5 Consensus result containers (`consensus_result`)
3089
 
3090
  `consensus_result` containers serve to **record aggregated consensus results** and are the main artifact of CogConsensus.
3091
 
@@ -3156,7 +3213,7 @@ Each container receives a local status based on:
3156
 
3157
  ---
3158
 
3159
- #### 6.2.6 Consensus thresholds
3160
 
3161
  | Consensus type | Minimum threshold |
3162
  | -------------------------------- | ---------------------------------------------------------------------- |
@@ -3166,7 +3223,7 @@ Each container receives a local status based on:
3166
 
3167
  ---
3168
 
3169
- #### 6.2.7 Proof chains and verifiability
3170
 
3171
  Evaluations and results form a **proof chain** (`proof-chain`):
3172
 
@@ -3182,7 +3239,7 @@ Each element is signed and can be independently verified using cryptographic sig
3182
 
3183
  ---
3184
 
3185
- #### 6.2.8 Ethical consensus and alternative results
3186
 
3187
  The network allows multiple consensus results on the same object, reflecting different methodologies or ethical filters.
3188
 
@@ -3214,7 +3271,7 @@ This allows agents to explicitly indicate that a new consensus **disputes** a pr
3214
 
3215
  ---
3216
 
3217
- #### 6.2.9 Recommended agent algorithm
3218
 
3219
  ```python
3220
  # Example of a recommended algorithm for computing local consensus
 
3036
 
3037
  ---
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
+ {
3046
+ "head": {
3047
+ "class": "vote"
3048
+ },
3049
+ "payload": {
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
+ }
3060
+ ```
3061
+
3062
+ | Field | Description |
3063
+ | -------------------------- | --------------------------------------------------------------------------------------------------- |
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
+ ---
3072
+
3073
+ **Interpretation**
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
+
3096
+ #### 6.2.4 Consensus computation
3097
 
3098
  Each agent **computes a local consensus score** by aggregating received evaluations, taking trust and time into account.
3099
  There is no centralized mechanism — consensus emerges statistically across the distributed network.
 
3124
 
3125
  ---
3126
 
3127
+ #### 6.2.5 Consensus states
3128
 
3129
  Each container receives a local status based on:
3130
 
 
3142
 
3143
  ---
3144
 
3145
+ #### 6.2.6 Consensus result containers (`consensus_result`)
3146
 
3147
  `consensus_result` containers serve to **record aggregated consensus results** and are the main artifact of CogConsensus.
3148
 
 
3213
 
3214
  ---
3215
 
3216
+ #### 6.2.7 Consensus thresholds
3217
 
3218
  | Consensus type | Minimum threshold |
3219
  | -------------------------------- | ---------------------------------------------------------------------- |
 
3223
 
3224
  ---
3225
 
3226
+ #### 6.2.8 Proof chains and verifiability
3227
 
3228
  Evaluations and results form a **proof chain** (`proof-chain`):
3229
 
 
3239
 
3240
  ---
3241
 
3242
+ #### 6.2.9 Ethical consensus and alternative results
3243
 
3244
  The network allows multiple consensus results on the same object, reflecting different methodologies or ethical filters.
3245
 
 
3271
 
3272
  ---
3273
 
3274
+ #### 6.2.10 Recommended agent algorithm
3275
 
3276
  ```python
3277
  # Example of a recommended algorithm for computing local consensus