GitHub Action commited on
Commit ·
d8159e6
1
Parent(s): f1b479d
Sync from GitHub with Git LFS
Browse files- docs/HMP-0005.md +95 -4
docs/HMP-0005.md
CHANGED
|
@@ -1616,12 +1616,103 @@ Optional protocols build upon the network and container foundations to provide h
|
|
| 1616 |
|
| 1617 |
---
|
| 1618 |
|
| 1619 |
-
##
|
| 1620 |
|
| 1621 |
-
CogSync provides
|
| 1622 |
-
It
|
| 1623 |
|
| 1624 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1625 |
|
| 1626 |
---
|
| 1627 |
|
|
|
|
| 1616 |
|
| 1617 |
---
|
| 1618 |
|
| 1619 |
+
## 6.1 Cognitive Synchronization (CogSync)
|
| 1620 |
|
| 1621 |
+
CogSync provides **temporal, semantic, and contextual alignment** between agents in the Mesh.
|
| 1622 |
+
It manages the propagation, replication, and refinement of data related to cognitive diaries, semantic graphs, and container metadata.
|
| 1623 |
|
| 1624 |
+
---
|
| 1625 |
+
|
| 1626 |
+
### 6.1.1 Scope and Purpose
|
| 1627 |
+
|
| 1628 |
+
CogSync is responsible for:
|
| 1629 |
+
|
| 1630 |
+
* publishing and synchronizing **cognitive diaries** (`diary_entry`, based on `workflow_entry`);
|
| 1631 |
+
* propagating and updating **semantic graphs** (`semantic_node`, `semantic_edges`, `semantic_group`);
|
| 1632 |
+
* integrating **new knowledge** into the collective cognitive space;
|
| 1633 |
+
* maintaining **cognitive context coherence** among agents.
|
| 1634 |
+
|
| 1635 |
+
> Unlike `CogConsensus`, CogSync **does not perform voting or truth validation** — its purpose is to deliver, link, and deduplicate knowledge.
|
| 1636 |
+
|
| 1637 |
+
---
|
| 1638 |
+
|
| 1639 |
+
### 6.1.2 Container Classes
|
| 1640 |
+
|
| 1641 |
+
CogSync synchronizes several basic container types:
|
| 1642 |
+
|
| 1643 |
+
| Class | Description | Recommended payload schema |
|
| 1644 |
+
| ---------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
|
| 1645 |
+
| `diary_entry` | Agent’s cognitive diary entry. Formed from internal `workflow_entry` when deemed safe for publication. | `{ "title": string, "topics": [string], "summary": string, "content": string }` |
|
| 1646 |
+
| `semantic_node` | Semantic graph node representing a concept, object, or idea. | `{ "label": string, "description": string, "aliases": [string], "fields": { key: value } }` |
|
| 1647 |
+
| `semantic_edges` | A set of edges (relations) between nodes or other containers. Recommended to group edges by topic. | `{ "domain": string, "edges": [{ "source": did, "target": did, "relation": string, "confidence": float }] }` |
|
| 1648 |
+
| `semantic_group` | Categorical group combining multiple containers by a common property. | `{ "label": string, "containers": [did], "description": string }` |
|
| 1649 |
+
|
| 1650 |
+
**Field explanations:**
|
| 1651 |
+
|
| 1652 |
+
* `title` — brief title of the entry (main idea or thesis).
|
| 1653 |
+
* `topics` — key topics or concepts addressed in the entry (used for indexing and grouping).
|
| 1654 |
+
* `summary` — short abstract of the content (1–2 sentences).
|
| 1655 |
+
* `content` — main text or agent’s reflection.
|
| 1656 |
+
* `label` — primary name of the concept or group.
|
| 1657 |
+
* `description` — definition, explanation, or characteristic.
|
| 1658 |
+
* `aliases` — synonyms or alternative forms of the concept.
|
| 1659 |
+
* `fields` — additional key–value characteristics of the concept (e.g., `{"type": "process"}`).
|
| 1660 |
+
* `edges` — array of relationships between nodes or containers (`source`, `target`, `relation`, `confidence`).
|
| 1661 |
+
* `containers` — list of containers grouped in a categorical cluster.
|
| 1662 |
+
|
| 1663 |
+
> 💡 The `evaluations` block is **not a separate container** — it is embedded in any container type and used for assessments, feedback, or refinements.
|
| 1664 |
+
|
| 1665 |
+
---
|
| 1666 |
+
|
| 1667 |
+
### 6.1.3 Synchronization and Publication Guidelines
|
| 1668 |
+
|
| 1669 |
+
1. **Deduplication & Linking**
|
| 1670 |
+
Before publishing, agents should search for existing containers (`diary_entry`, `semantic_node`, `semantic_edges`, `semantic_group`) to avoid duplication.
|
| 1671 |
+
If necessary, it is **recommended** to create a new container version with `related.previous_version` and an `evaluations` block (e.g., `{"type": "replace", "target": <did>}`).
|
| 1672 |
+
|
| 1673 |
+
2. **Selective Disclosure**
|
| 1674 |
+
|
| 1675 |
+
* Internal entries (`workflow_entry`) record the agent’s thought process and are **not published** in the Mesh.
|
| 1676 |
+
* Public `diary_entry` are derived from them, containing only aggregated and anonymized information.
|
| 1677 |
+
* `"broadcast": true` indicates that the container is allowed for open synchronization.
|
| 1678 |
+
|
| 1679 |
+
3. **Semantic Grouping Rule**
|
| 1680 |
+
When publishing `semantic_edges`, it is recommended to **group edges by topics**, including connections to adjacent nodes.
|
| 1681 |
+
Formalization: an edge belongs to a container for a topic if **at least one of its nodes relates to that topic**.
|
| 1682 |
+
This ensures thematic coherence and allows agents to update specific parts of the graph independently.
|
| 1683 |
+
|
| 1684 |
+
4. **Extended Use of `semantic_edges`**
|
| 1685 |
+
Beyond connecting graph nodes, `semantic_edges` can express relationships **between containers of any class**, e.g., `goal`, `hypothesis`, `experiment_log`.
|
| 1686 |
+
|
| 1687 |
+
5. **Versioning and Updates**
|
| 1688 |
+
Each new container version should **ideally** include `related.previous_version` links to all preceding versions.
|
| 1689 |
+
The previous container may **optionally** have an `evaluation` with `"type": "replace"` pointing to the new container — ensuring bidirectional traceability of knowledge evolution.
|
| 1690 |
+
|
| 1691 |
+
---
|
| 1692 |
+
|
| 1693 |
+
### 6.1.4 Extensibility
|
| 1694 |
+
|
| 1695 |
+
CogSync allows registration of additional container types and alternative synchronization schemes, for example:
|
| 1696 |
+
|
| 1697 |
+
* distributed **time series** (`timeseries_data`);
|
| 1698 |
+
* **experimental protocols** (`experiment_log`);
|
| 1699 |
+
* **agent state snapshots** (`agent_state_snapshot`).
|
| 1700 |
+
|
| 1701 |
+
Mesh compatibility is preserved if extended containers **adhere to the HMP container structure**, including core fields (`version`, `class`, `container_id`, `related`, `signature`, etc.).
|
| 1702 |
+
|
| 1703 |
+
---
|
| 1704 |
+
|
| 1705 |
+
### 6.1.5 Relationship to Other Core Protocols
|
| 1706 |
+
|
| 1707 |
+
* **CogSync** — propagates and synchronizes knowledge.
|
| 1708 |
+
* **CogConsensus** — aggregates evaluations and reactions, forming collective opinions.
|
| 1709 |
+
* **CogVerify** *(optional component)* — verifies integrity, signatures, and trustworthiness of data.
|
| 1710 |
+
|
| 1711 |
+
CogSync can operate independently even if consensus is not reached: its goal is to **ensure the circulation of knowledge**, not to validate its truth.
|
| 1712 |
+
|
| 1713 |
+
---
|
| 1714 |
+
|
| 1715 |
+
> 🧩 *CogSync acts as the cognitive circulatory system of the Mesh — it ensures that knowledge flows, connects, and evolves, while truth formation is handled separately by CogConsensus.*
|
| 1716 |
|
| 1717 |
---
|
| 1718 |
|