Skip to content

Commit 0134fc4

Browse files
committed
Enhance governance documentation and specifications
This commit updates the governance documentation and specifications for the Nondominium project, focusing on the role-specific validation rules and private data handling. Key changes include: - Clarified definitions of **Agents** and **Economic Events** in governance documentation. - Introduced a new section on **Role-Specific Validation Rules**, detailing the eligibility and validation process for specialized roles (Transport, Repair, Storage). - Updated references from encrypted data storage to private entry storage in implementation plans and requirements. - Revised requirements and user stories to emphasize Nondominium Resources and their governance. - Enhanced testing documentation to reflect changes in private data handling. These updates ensure a clearer understanding of governance processes and improve compliance with Holochain's private entry model.
1 parent 52c8995 commit 0134fc4

5 files changed

Lines changed: 105 additions & 58 deletions

File tree

documentation/Testing_Infrastructure.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Our testing approach follows **Holochain community best practices** with emphasi
1212
- **DHT-Aware Testing**: Accounts for distributed timing and synchronization requirements
1313
- **Multi-Agent Focus**: Validates true peer-to-peer interactions
1414
- **Real-World Scenarios**: Tests actual governance and community workflows
15-
- **Privacy Validation**: Ensures proper encryption and access control boundaries
15+
- **Privacy Validation**: Ensures proper private entry storage and access control boundaries (see https://developer.holochain.org/build/entries/)
1616

1717
## Test Architecture
1818

@@ -65,7 +65,7 @@ tests/
6565
- Basic Connectivity Test - Verify zome function calls work
6666
- Person Creation Test - Validate profile creation functionality
6767
- Person Profile Retrieval Test - Test profile retrieval and validation
68-
- Encrypted Data Storage Test - Verify private data encryption/storage
68+
- Private Data Storage Test - Verify private entry storage
6969
- Get All Agents Test - Validate community discovery functionality
7070
- Error Handling Test - Test failure scenarios and edge cases
7171

@@ -145,7 +145,7 @@ createTestPerson() → Standard person profile
145145
createTestPersonVariation(suffix) → Unique profiles for multi-agent tests
146146

147147
// Identity and security data
148-
createTestEncryptedData() → Sample encrypted identity data
148+
createTestPrivateData() → Sample private identity data
149149
createTestRole() → Standard role assignment data
150150
```
151151

@@ -155,7 +155,7 @@ Comprehensive response validation:
155155

156156
```typescript
157157
validatePersonCreation() → Complete person entry validation
158-
validateEncryptedDataCreation() → Encrypted data validation
158+
validatePrivateDataCreation() → Private data validation
159159
validateAgentProfile() → Profile retrieval validation
160160
```
161161

documentation/governance.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ This document outlines the governance system implemented in the Nondominium proj
1010

1111
The governance system is built on the ValueFlows REA (Resource, Event, Agent) ontology:
1212

13-
- **Agents**: Individual persons or organizations who perform Economic Events affecting Economic Resources
14-
- **Economic Events**: Actions that produce, modify, consume, use, or transfer Economic Resources
13+
- **Agents**: Individual persons who perform Economic Events affecting Economic Resources
14+
- **Economic Events**: Actions that produce, modify, use, or transfer Economic Resources
1515
- **Economic Resources**: Useful goods, services, knowledge, or any other value that agents agree to account for
1616

1717
### 2. Multi-Layered Ontology
@@ -181,15 +181,33 @@ pub struct Claim {
181181
- **Transfer Conditions**: Rules for transferring resources between agents
182182
- **Maintenance Obligations**: Requirements for resource maintenance and care
183183

184+
### 4. Role-Specific Validation Rules
185+
186+
Agents seeking to acquire specialized roles such as **Transport**, **Repair**, and **Storage** must undergo additional validation, as defined in the Nondominium governance model ([Sensorica Nondominium](https://www.sensorica.co/environment/hrea-demo-for-nrp-cas/nondominium)):
187+
188+
- **Eligibility**: Only Accountable Agents or Primary Accountable Agents may request these roles.
189+
- **Validation Process**:
190+
1. The agent submits a request to acquire a specialized role (Transport, Repair, or Storage).
191+
2. The request is reviewed by one or more existing Primary Accountable Agents who already hold the relevant role.
192+
3. The reviewing agents validate the applicant's credentials, history, and, if required, their identity and prior actions.
193+
4. Upon successful validation, a ValidationReceipt is issued, and the role is granted to the agent.
194+
5. The system may require a minimum number of validators (e.g., 2-of-3 or majority) depending on the resource or process sensitivity.
195+
- **Criteria for Validation**:
196+
- Demonstrated trustworthiness and accountability (e.g., successful prior transactions, positive validation history)
197+
- Sufficient knowledge or credentials for the requested role
198+
- Compliance with any additional governance rules or obligations (e.g., maintenance standards for Storage, safety for Transport)
199+
- **Revocation**: Roles can be revoked if the agent violates governance rules, as determined by a validation process involving other Primary Accountable Agents.
200+
201+
These validation rules ensure that only qualified and trusted agents can access and perform critical roles, supporting the self-governance, capture resistance, and accountability principles of the Nondominium system.
202+
184203
## Economic Actions (VfAction)
185204

186-
The governance system supports all ValueFlows economic actions:
205+
The governance system supports almost all ValueFlows economic actions:
187206

188207
### Standard ValueFlows Actions
189208
- **Transfer**: Transfer ownership/custody
190209
- **Move**: Move resources between locations
191210
- **Use**: Use resources without consuming
192-
- **Consume**: Consume/destroy resources
193211
- **Produce**: Create/produce new resources
194212
- **Work**: Apply work/labor to resources
195213
- **Modify**: Modify existing resources
@@ -249,7 +267,7 @@ The governance system is implemented in `zome_gouvernance` with the following co
249267
### 3. Security and Privacy
250268
- **Capability-based security**: Access control through capability tokens
251269
- **Pseudonymity**: Agent identities can be pseudonymous
252-
- **Encrypted data**: Sensitive information is encrypted
270+
- **Private entries**: Sensitive information (such as user identity and PII) is stored as Holochain private entries in the agent's source chain, not as encrypted blobs on the DHT. See [Holochain Private Entries](https://developer.holochain.org/build/entries/).
253271
- **Audit trails**: All actions are recorded for accountability
254272

255273
## Governance Principles

documentation/implementation_plan.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ Based on the [Nondominium project documentation](https://www.sensorica.co/enviro
2626
- [ ] Implement validation rules for person creation
2727
- [ ] Add anchor links for agent discovery (`AllPeople -> Person`)
2828

29-
- [ ] **Encrypted Identity Storage**
30-
- [ ] Define `EncryptedAgentData` entry type
31-
- [ ] Implement encryption/decryption utilities
32-
- [ ] Link encrypted data to public profiles
29+
- [ ] **Private Identity Storage**
30+
- [ ] Define `PrivateAgentData` entry type as a Holochain private entry (see https://developer.holochain.org/build/entries/)
31+
- [ ] Link private data to public profiles
3332

3433
- [ ] **Role System Foundation**
3534
- [ ] Define `Role` entry type with validation metadata
@@ -38,7 +37,7 @@ Based on the [Nondominium project documentation](https://www.sensorica.co/enviro
3837

3938
- [ ] **Core Functions**
4039
- [ ] `create_person()` - Public profile creation
41-
- [ ] `store_encrypted_data()` - PII storage
40+
- [ ] `store_private_data()` - PII storage as a private entry
4241
- [ ] `get_agent_profile()` - Profile retrieval
4342
- [ ] `get_all_agents()` - Network discovery
4443

@@ -100,7 +99,7 @@ Based on the [Nondominium project documentation](https://www.sensorica.co/enviro
10099

101100
- [ ] **Agent Identity Validation**
102101
- [ ] `validate_agent_identity()` - Validate Simple Agent → Accountable Agent promotion
103-
- [ ] Implement encrypted profile verification
102+
- [ ] Implement private profile verification
104103
- [ ] Create validation receipt system
105104

106105
### Phase 3: Access Control & Security Layer
@@ -220,7 +219,7 @@ dnas/nondominium/zomes/
220219

221220
### 6.3 Security Metrics
222221
- [ ] No unauthorized capability escalation
223-
- [ ] All sensitive data properly encrypted
222+
- [ ] All sensitive data properly stored as private entries
224223
- [ ] Validation cannot be bypassed
225224
- [ ] Resource ownership is immutable
226225

0 commit comments

Comments
 (0)