@powerhousedao/academy 4.1.0-dev.1 → 4.1.0-dev.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/.vscode/settings.json +1 -1
  2. package/CHANGELOG.md +817 -0
  3. package/README.md +3 -3
  4. package/babel.config.js +1 -1
  5. package/blog/BeyondCommunication-ABlueprintForDevelopment.md +25 -24
  6. package/blog/TheChallengeOfChange.md +21 -21
  7. package/docs/academy/01-GetStarted/00-ExploreDemoPackage.mdx +67 -30
  8. package/docs/academy/01-GetStarted/01-CreateNewPowerhouseProject.md +38 -21
  9. package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +24 -19
  10. package/docs/academy/01-GetStarted/03-ImplementOperationReducers.md +44 -41
  11. package/docs/academy/01-GetStarted/04-BuildToDoListEditor.md +10 -10
  12. package/docs/academy/01-GetStarted/05-VetraStudio.md +164 -0
  13. package/docs/academy/01-GetStarted/06-ReactorMCP.md +58 -0
  14. package/docs/academy/01-GetStarted/home.mdx +185 -90
  15. package/docs/academy/01-GetStarted/images/Modules.png +0 -0
  16. package/docs/academy/01-GetStarted/images/VetraStudioDrive.png +0 -0
  17. package/docs/academy/01-GetStarted/styles.module.css +5 -5
  18. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/01-Prerequisites.md +46 -18
  19. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/02-StandardDocumentModelWorkflow.md +118 -68
  20. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/03-BuilderTools.md +75 -33
  21. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/_category_.json +6 -6
  22. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +30 -21
  23. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +41 -37
  24. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/03-SpecifyDocumentOperations.md +29 -25
  25. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/04-UseTheDocumentModelGenerator.md +36 -37
  26. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/05-ImplementDocumentReducers.md +128 -109
  27. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/06-ImplementDocumentModelTests.md +95 -86
  28. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/07-ExampleToDoListRepository.md +7 -9
  29. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/_category_.json +6 -6
  30. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/01-BuildingDocumentEditors.md +83 -42
  31. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/02-ConfiguringDrives.md +77 -62
  32. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +360 -349
  33. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/00-DocumentToolbar.mdx +16 -10
  34. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/01-OperationHistory.md +10 -7
  35. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/02-RevisionHistoryTimeline.md +25 -17
  36. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/_category_.json +6 -6
  37. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/01-RenownAuthenticationFlow.md +14 -7
  38. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/02-Authorization.md +0 -1
  39. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/_category_.json +5 -5
  40. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/_category_.json +1 -1
  41. package/docs/academy/02-MasteryTrack/04-WorkWithData/01-GraphQLAtPowerhouse.md +45 -33
  42. package/docs/academy/02-MasteryTrack/04-WorkWithData/02-UsingTheAPI.mdx +61 -18
  43. package/docs/academy/02-MasteryTrack/04-WorkWithData/03-UsingSubgraphs.md +105 -456
  44. package/docs/academy/02-MasteryTrack/04-WorkWithData/04-analytics-processor.md +126 -110
  45. package/docs/academy/02-MasteryTrack/04-WorkWithData/05-RelationalDbProcessor.md +98 -65
  46. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +23 -21
  47. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/best-practices.md +9 -9
  48. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/index.md +11 -23
  49. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/integration.md +25 -9
  50. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/intro.md +10 -10
  51. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/benchmarks.md +1 -1
  52. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/index.md +16 -11
  53. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/memory.md +6 -5
  54. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/schema.md +2 -2
  55. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +7 -5
  56. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +32 -58
  57. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/processors.md +1 -1
  58. package/docs/academy/02-MasteryTrack/04-WorkWithData/07-drive-analytics.md +105 -71
  59. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_01-SetupBuilderEnvironment.md +22 -0
  60. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_02-CreateNewPowerhouseProject.md +9 -8
  61. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_03-GenerateAnAnalyticsProcessor.md +28 -32
  62. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_04-UpdateAnalyticsProcessor.md +25 -26
  63. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_category_.json +1 -1
  64. package/docs/academy/02-MasteryTrack/04-WorkWithData/_category_.json +7 -7
  65. package/docs/academy/02-MasteryTrack/05-Launch/01-IntroductionToPackages.md +3 -4
  66. package/docs/academy/02-MasteryTrack/05-Launch/02-PublishYourProject.md +69 -45
  67. package/docs/academy/02-MasteryTrack/05-Launch/03-SetupEnvironment.md +70 -40
  68. package/docs/academy/02-MasteryTrack/05-Launch/04-ConfigureEnvironment.md +1 -0
  69. package/docs/academy/02-MasteryTrack/05-Launch/_category_.json +7 -7
  70. package/docs/academy/02-MasteryTrack/_category_.json +6 -6
  71. package/docs/academy/03-ExampleUsecases/Chatroom/02-CreateNewPowerhouseProject.md +5 -3
  72. package/docs/academy/03-ExampleUsecases/Chatroom/03-DefineChatroomDocumentModel.md +38 -37
  73. package/docs/academy/03-ExampleUsecases/Chatroom/04-ImplementOperationReducers.md +45 -41
  74. package/docs/academy/03-ExampleUsecases/Chatroom/05-ImplementChatroomEditor.md +14 -14
  75. package/docs/academy/03-ExampleUsecases/Chatroom/06-LaunchALocalReactor.md +6 -6
  76. package/docs/academy/03-ExampleUsecases/Chatroom/_category_.json +1 -1
  77. package/docs/academy/04-APIReferences/00-PowerhouseCLI.md +181 -68
  78. package/docs/academy/04-APIReferences/01-ReactHooks.md +649 -141
  79. package/docs/academy/04-APIReferences/04-RelationalDatabase.md +121 -113
  80. package/docs/academy/04-APIReferences/05-PHDocumentMigrationGuide.md +48 -41
  81. package/docs/academy/04-APIReferences/_category_.json +6 -6
  82. package/docs/academy/05-Architecture/00-PowerhouseArchitecture.md +1 -2
  83. package/docs/academy/05-Architecture/01-WorkingWithTheReactor.md +11 -8
  84. package/docs/academy/05-Architecture/05-DocumentModelTheory/_category_.json +1 -1
  85. package/docs/academy/05-Architecture/_category_.json +6 -6
  86. package/docs/academy/06-ComponentLibrary/00-DocumentEngineering.md +25 -23
  87. package/docs/academy/06-ComponentLibrary/02-CreateCustomScalars.md +105 -93
  88. package/docs/academy/06-ComponentLibrary/03-IntegrateIntoAReactComponent.md +1 -0
  89. package/docs/academy/06-ComponentLibrary/_category_.json +7 -7
  90. package/docs/academy/07-Cookbook.md +268 -35
  91. package/docs/academy/08-Glossary.md +7 -1
  92. package/docs/academy/TUTORIAL_VERIFICATION_ARCHITECTURE +325 -0
  93. package/docs/bookofpowerhouse/01-Overview.md +2 -2
  94. package/docs/bookofpowerhouse/02-GeneralFrameworkAndPhilosophy.md +1 -7
  95. package/docs/bookofpowerhouse/03-PowerhouseSoftwareArchitecture.md +10 -7
  96. package/docs/bookofpowerhouse/04-DevelopmentApproaches.md +10 -4
  97. package/docs/bookofpowerhouse/05-SNOsandANewModelForOSSandPublicGoods.md +23 -30
  98. package/docs/bookofpowerhouse/06-SNOsInActionAndPlatformEconomies.md +0 -7
  99. package/docusaurus.config.ts +64 -66
  100. package/package.json +9 -7
  101. package/scripts/generate-combined-cli-docs.ts +43 -13
  102. package/sidebars.ts +2 -0
  103. package/src/components/HomepageFeatures/index.tsx +171 -78
  104. package/src/components/HomepageFeatures/styles.module.css +1 -2
  105. package/src/css/custom.css +89 -89
  106. package/src/pages/_archive-homepage.tsx +17 -16
  107. package/src/theme/DocCardList/index.tsx +9 -8
  108. package/static.json +6 -6
  109. package/tsconfig.tsbuildinfo +1 -0
@@ -1,15 +1,18 @@
1
1
  # Glossary
2
2
 
3
3
  ## General Terms
4
+
4
5
  - **Powerhouse** – A network organization that provides open-source software and services to support decentralized operations for other network organizations.
5
6
  - **Scalable Network Organization (SNO)** – A network organization structured according to the Powerhouse framework, designed for sustainable and scalable growth.
6
7
  - **Powerhouse Ecosystem** – The overall environment of Powerhouse tools, applications (like Connect), concepts (document models, packages), and services.
7
8
 
8
9
  ## Technology & Framework
10
+
9
11
  - **CQRS (Command Query Responsibility Segregation)** – A pattern that separates read and write operations to improve scalability.
10
12
  - **Event Sourcing** – A method of storing system state as a sequence of immutable events rather than modifying a single record.
11
13
 
12
14
  ## Software Components
15
+
13
16
  - **Reactor** – A storage node for Powerhouse documents and files with multiple storage adapters (local, cloud, decentralized).
14
17
  - **Powerhouse Switchboard** – A scalable API service that aggregates and processes document data.
15
18
  - **Powerhouse Fusion** – A platform front-end that hosts the public marketplace for SNO interactions.
@@ -26,6 +29,7 @@
26
29
  - **Powerhouse Switchboard (Verifier Role)** – A function of Powerhouse Switchboard that validates DIDs and credentials for operations submitted via Connect, ensuring they are authorized.
27
30
 
28
31
  ## Document Modeling
32
+
29
33
  - **Action Creators (for Document Operations)** – Auto-generated helper functions creating structured "action" objects for dispatching operations to a document model's reducer.
30
34
  - **Actions (Document Actions)** – Typed objects representing an intent to change a document's state, dispatched to reducers, containing an operation type and input data.
31
35
  - **API Integration (for Document Models)** – The capability of Document Models to connect with Switchboard API or external APIs, facilitating data exchange between Powerhouse applications and other systems.
@@ -54,6 +58,7 @@
54
58
  - **Version Control (for Document Models)** – A planned feature for Document Models in Connect that will allow tracking of changes, comparison of different versions, and maintenance of data integrity over time, similar to version control systems for source code.
55
59
 
56
60
  ## Development & Tooling
61
+
57
62
  - **Boilerplate (Powerhouse Project)** – The `ph init` command's initial project structure, providing a standard starting point for new Powerhouse packages.
58
63
  - **Connect Build** – The output of the `ph connect build` command, which packages a Connect project into a distributable format. This build includes all necessary local/external packages, assets, and styles, and can be previewed locally with `ph connect preview` or deployed.
59
64
  - **Development Environment (Powerhouse)** – A local setup for developing Powerhouse applications, typically initiated with the `ph dev` command. It runs essential backend services like the Powerhouse Switchboard to enable real-time document model processing, code generation, and live updates, separate from the front-end Connect Studio.
@@ -71,14 +76,15 @@
71
76
  - **Tailwind CSS (in Connect Studio)** – Utility CSS framework integrated into Connect Studio for styling document editors.
72
77
 
73
78
  ## AI & Automation
79
+
74
80
  - **AI Assistants** – AI-powered contributors paired with human contributors to automate tasks and improve productivity.
75
81
  - **AI Contributor Modes** – Configurable states that determine the AI assistant's behavior, permissions, and task focus.
76
82
  - **Task Automation & Scaling** – The use of AI to streamline repetitive tasks, improve communications, and enhance decision-making.
77
83
  - **Decentralized Identifier (DID)** – A user-controlled, globally unique ID, used in Renown to link a user's blockchain key to actions pseudonymously.
78
84
 
79
85
  ## Organizational Concepts
86
+
80
87
  - **Ceramic** – A decentralized network for storing verifiable data, used by Powerhouse Renown for secure credential management.
81
88
  - **Decentralized Identifier (DID)** – A user-controlled, globally unique ID, used in Renown to link a user's blockchain key to actions pseudonymously.
82
89
  - **Event-Driven Architecture (EDA)** – A software design approach where system flows are determined by events that trigger actions asynchronously.
83
90
  - **Network Organization** – A group of independent contributors and teams working together towards a common purpose, relying on decentralization and resource sharing.
84
-
@@ -0,0 +1,325 @@
1
+ # Tutorial Verification System - Technical Architecture
2
+
3
+ ## Overview
4
+
5
+ This document outlines the technical architecture for an automated tutorial verification system that ensures the Powerhouse Academy tutorials remain accurate and functional as the codebase evolves.
6
+
7
+ ## System Architecture
8
+
9
+ ### 1. Test Execution Environment
10
+
11
+ ```
12
+ ┌─────────────────────────────────────────┐
13
+ │ GitHub Actions Runner (Ubuntu) │
14
+ │ ┌─────────────────────────────────────┐ │
15
+ │ │ Isolated Docker Container │ │
16
+ │ │ ├── Node.js 22 │ │
17
+ │ │ ├── pnpm │ │
18
+ │ │ ├── Powerhouse CLI (ph-cli) │ │
19
+ │ │ ├── Playwright browsers │ │
20
+ │ │ └── Temporary filesystem │ │
21
+ │ └─────────────────────────────────────┘ │
22
+ └─────────────────────────────────────────┘
23
+ ```
24
+
25
+ **Execution Environments:**
26
+ - **Development**: Local machine (`pnpm test:e2e`)
27
+ - **CI/CD**: GitHub Actions runners (automatically on PRs)
28
+ - **Scheduled**: Nightly runs to catch regressions
29
+
30
+ ### 2. Tutorial Agent Architecture
31
+
32
+ The "agent" is a test orchestrator that processes tutorials through a structured workflow:
33
+
34
+ ```typescript
35
+ // packages/tutorial-verifier/src/tutorial-agent.ts
36
+ class TutorialAgent {
37
+ async verifyTutorial(tutorialPath: string) {
38
+ // 1. Parse tutorial markdown
39
+ const steps = await this.parseTutorialSteps(tutorialPath);
40
+
41
+ // 2. Create isolated environment
42
+ const sandbox = await this.createSandbox();
43
+
44
+ // 3. Execute each step sequentially
45
+ for (const step of steps) {
46
+ await this.executeStep(step, sandbox);
47
+ await this.verifyStepOutcome(step, sandbox);
48
+ }
49
+
50
+ // 4. Generate report
51
+ return this.generateReport();
52
+ }
53
+ }
54
+ ```
55
+
56
+ ## Component Integration
57
+
58
+ ### 3. E2E Test Framework Integration
59
+
60
+ **Extends existing Playwright E2E infrastructure:**
61
+
62
+ ```typescript
63
+ // test/connect-e2e/tests/tutorial-get-started.spec.ts
64
+ import { test, expect } from '@playwright/test';
65
+
66
+ test('Tutorial: Create new to-do list document', async ({ page }) => {
67
+ const agent = new TutorialAgent();
68
+
69
+ // Phase 1: CLI Commands (no browser needed)
70
+ await agent.executeCliStep('ph init my-todo-project');
71
+ await agent.verifyFileExists('my-todo-project/package.json');
72
+
73
+ // Phase 2: Browser Automation (uses Playwright)
74
+ await agent.startConnect(); // Starts ph connect in background
75
+ await page.goto('http://localhost:3000');
76
+
77
+ // Phase 3: UI Verification (Playwright E2E)
78
+ await page.click('text=Local Drive');
79
+ await page.click('button:has-text("DocumentModel")');
80
+ await expect(page.locator('text=Document Model Editor')).toBeVisible();
81
+
82
+ // Phase 4: Cleanup
83
+ await agent.cleanup();
84
+ });
85
+ ```
86
+
87
+ ### 4. Playwright Browser Automation
88
+
89
+ **UI automation for Connect Studio interactions:**
90
+
91
+ ```typescript
92
+ // UI automation for Connect Studio
93
+ class ConnectUIAgent {
94
+ constructor(private page: Page) {}
95
+
96
+ async createDocumentModel(name: string) {
97
+ // Navigate to document creation
98
+ await this.page.click('button:has-text("DocumentModel")');
99
+
100
+ // Fill in model details
101
+ await this.page.fill('input[placeholder="Document Name"]', name);
102
+ await this.page.fill('input[placeholder="Document Type"]', `powerhouse/${name.toLowerCase()}`);
103
+
104
+ // Define schema in code editor
105
+ await this.page.click('.monaco-editor');
106
+ await this.page.keyboard.type(`
107
+ type ${name}State {
108
+ items: [TodoItem!]!
109
+ }
110
+ `);
111
+
112
+ // Save and verify
113
+ await this.page.click('button:has-text("Save")');
114
+ await expect(this.page.locator(`text=${name}.phdm.zip`)).toBeVisible();
115
+ }
116
+ }
117
+ ```
118
+
119
+ ## Execution Flow
120
+
121
+ ### 5. Tutorial Processing Pipeline
122
+
123
+ ```
124
+ Tutorial Markdown File
125
+
126
+ [Tutorial Parser]
127
+
128
+ ┌─────────────────┐
129
+ │ Execution Steps │
130
+ ├─────────────────┤
131
+ │ 1. CLI Commands │ ← Uses child_process.spawn()
132
+ │ 2. File Checks │ ← Uses fs.existsSync()
133
+ │ 3. UI Actions │ ← Uses Playwright page.click()
134
+ │ 4. Verifications│ ← Custom assertion logic
135
+ └─────────────────┘
136
+
137
+ [Report Generator]
138
+
139
+ Test Results + Screenshots
140
+ ```
141
+
142
+ ### 6. Step-by-Step Processing Example
143
+
144
+ **Tutorial Markdown:**
145
+ ```markdown
146
+ ## Quick start
147
+ Create a new Powerhouse project with a single command:
148
+ ```bash
149
+ ph init
150
+ ```
151
+
152
+ Then start Connect:
153
+ ```bash
154
+ ph connect
155
+ ```
156
+
157
+ Navigate to http://localhost:3000 and click on "Local Drive".
158
+ ```
159
+
160
+ **Agent Processing:**
161
+
162
+ ```typescript
163
+ // 1. Tutorial Parser extracts executable steps
164
+ const steps = [
165
+ { type: 'cli', command: 'ph init', expectedFiles: ['package.json'] },
166
+ { type: 'cli', command: 'ph connect', background: true },
167
+ { type: 'browser', action: 'navigate', url: 'http://localhost:3000' },
168
+ { type: 'browser', action: 'click', selector: 'text=Local Drive' }
169
+ ];
170
+
171
+ // 2. Agent executes each step
172
+ for (const step of steps) {
173
+ switch (step.type) {
174
+ case 'cli':
175
+ const result = execSync(step.command);
176
+ if (step.expectedFiles) {
177
+ for (const file of step.expectedFiles) {
178
+ assert(existsSync(file), `Expected file ${file} not found`);
179
+ }
180
+ }
181
+ break;
182
+
183
+ case 'browser':
184
+ if (step.action === 'navigate') {
185
+ await page.goto(step.url);
186
+ } else if (step.action === 'click') {
187
+ await page.click(step.selector);
188
+ }
189
+ break;
190
+ }
191
+ }
192
+ ```
193
+
194
+ ## Deployment Architecture
195
+
196
+ ### 7. Runtime Environment Distribution
197
+
198
+ ```
199
+ ┌─────────────────────────────────────────────────────────┐
200
+ │ GitHub Actions Runner │
201
+ │ │
202
+ │ ┌─────────────────┐ ┌─────────────────────────────────┐ │
203
+ │ │ Tutorial Agent │ │ Sandbox Environment │ │
204
+ │ │ (Node.js) │ │ │ │
205
+ │ │ │ │ ┌─────────────┐ │ │
206
+ │ │ • Parse MD │ │ │ ph connect │ :3000 │ │
207
+ │ │ • Execute CLI │ │ └─────────────┘ │ │
208
+ │ │ • Control tests │ │ │ │
209
+ │ └─────────────────┘ │ ┌─────────────┐ │ │
210
+ │ │ │ Playwright │ │ │
211
+ │ ┌─────────────────┐ │ │ Browser │ │ │
212
+ │ │ Report Gen │ │ └─────────────┘ │ │
213
+ │ │ • Screenshots │ │ │ │
214
+ │ │ • Error logs │ │ /tmp/tutorial-test-xyz/ │ │
215
+ │ │ • Success rates │ │ ├── my-todo-project/ │ │
216
+ │ └─────────────────┘ │ │ ├── package.json │ │
217
+ │ │ │ └── ... │ │
218
+ │ └─────────────────────────────────┘ │
219
+ └─────────────────────────────────────────────────────────┘
220
+ ```
221
+
222
+ ### 8. Integration with Existing Test Suite
223
+
224
+ **File Structure Extension:**
225
+
226
+ ```
227
+ Your Current E2E Tests:
228
+ test/connect-e2e/tests/
229
+ ├── todo-document.spec.ts ← Existing
230
+ ├── drive.spec.ts ← Existing
231
+ └── app.spec.ts ← Existing
232
+
233
+ Added Tutorial Tests:
234
+ test/connect-e2e/tests/tutorials/
235
+ ├── get-started.spec.ts ← New: Tests "Get Started" tutorial
236
+ ├── mastery-track.spec.ts ← New: Tests "Mastery Track" tutorials
237
+ └── cookbook.spec.ts ← New: Tests "Cookbook" recipes
238
+ ```
239
+
240
+ **No changes to existing code** - just additional test files that run alongside current tests.
241
+
242
+ ## Performance & Timing
243
+
244
+ ### 9. Execution Timeline
245
+
246
+ ```
247
+ 0s │ Start test
248
+ 2s │ ├── Parse tutorial markdown
249
+ 4s │ ├── Create temp directory
250
+ 6s │ ├── Run 'ph init'
251
+ 15s │ ├── Verify project structure
252
+ 20s │ ├── Start 'ph connect' (background)
253
+ 35s │ ├── Wait for Connect to be ready
254
+ 40s │ ├── Launch Playwright browser
255
+ 45s │ ├── Navigate to localhost:3000
256
+ 50s │ ├── Perform UI interactions
257
+ 55s │ ├── Verify expected elements
258
+ 60s │ ├── Take screenshots
259
+ 65s │ ├── Cleanup (kill processes, delete files)
260
+ 70s │ └── Generate report
261
+ ```
262
+
263
+ ## Implementation Phases
264
+
265
+ ### Phase 1: Proof of Concept (1-2 days)
266
+ - Single tutorial verification (Get Started)
267
+ - Basic CLI command execution
268
+ - Simple file existence checks
269
+ - Integration with existing Playwright setup
270
+
271
+ ### Phase 2: Core Features (1-2 weeks)
272
+ - Tutorial markdown parser
273
+ - Comprehensive step execution engine
274
+ - Browser automation for Connect Studio
275
+ - Error reporting and screenshots
276
+
277
+ ### Phase 3: Advanced Features (2-3 weeks)
278
+ - Multiple tutorial support
279
+ - Parallel execution
280
+ - Detailed reporting dashboard
281
+ - Integration with CI/CD pipeline
282
+
283
+ ### Phase 4: Intelligence Layer (2-3 weeks)
284
+ - Failure pattern analysis
285
+ - Automated suggestion generation
286
+ - Historical trend tracking
287
+ - LLM-powered issue diagnosis
288
+
289
+ ## Key Technical Decisions
290
+
291
+ ### Technology Stack
292
+ - **Test Framework**: Playwright (existing)
293
+ - **Runtime**: Node.js 22 + TypeScript
294
+ - **CLI Execution**: child_process.spawn()
295
+ - **File Operations**: Node.js fs module
296
+ - **Browser Automation**: Playwright
297
+ - **CI/CD**: GitHub Actions (existing)
298
+
299
+ ### Design Principles
300
+ - **Isolation**: Each test runs in isolated environment
301
+ - **Repeatability**: Tests can run multiple times with same results
302
+ - **Extensibility**: Easy to add new tutorials
303
+ - **Integration**: Builds on existing infrastructure
304
+ - **Cleanup**: Automatic resource cleanup after tests
305
+
306
+ ## Success Metrics
307
+
308
+ - **Tutorial Success Rate**: % of tutorials that pass verification
309
+ - **Time to Detection**: How quickly outdated tutorials are identified
310
+ - **False Positive Rate**: % of failures due to test issues vs actual problems
311
+ - **Coverage**: Number of tutorial steps automatically verified
312
+ - **Developer Confidence**: Reduced manual testing effort
313
+
314
+ ## Risk Mitigation
315
+
316
+ ### Technical Risks
317
+ - **Flaky Tests**: Use retry mechanisms and wait strategies
318
+ - **Environment Dependencies**: Containerized execution environments
319
+ - **Resource Cleanup**: Comprehensive cleanup in finally blocks
320
+ - **Process Management**: Proper process lifecycle management
321
+
322
+ ### Operational Risks
323
+ - **Maintenance Overhead**: Gradual rollout with proven patterns
324
+ - **CI/CD Load**: Efficient test execution and parallel processing
325
+ - **Team Adoption**: Clear documentation and training materials
@@ -20,10 +20,10 @@ Powerhouse is an initiative at the intersection of software development, legal i
20
20
  ></iframe>
21
21
  </div>
22
22
 
23
- Book of Powerhouse Outline:
23
+ Book of Powerhouse Outline:
24
24
 
25
25
  1. General Framework and Philosophy
26
26
  2. Powerhouse Software Architecture
27
27
  3. Technical Development Approaches
28
28
  4. SNOs as an extension of DAOs
29
- 5. The Powerhouse Operations Platform
29
+ 5. The Powerhouse Operations Platform
@@ -1,10 +1,9 @@
1
1
  # **Part 1: Powerhouse General Framework and Open-Source Capitalism**
2
2
 
3
- Powerhouse emerged in the wake of Ethereum’s DAO movement, which began gaining momentum after the collapse of *The DAO* in 2016. This turning point spurred the creation of blockchain-enabled organizations capable of operating without centralized corporate structures. Over the years, governance systems and decentralized operational tools have advanced, paving the way for the next generation of organizations across chains like Solana, Ethereum Layer 2 solutions, and beyond. Powerhouse aims to advance these principles and build large, global organizations around networks.
3
+ Powerhouse emerged in the wake of Ethereum’s DAO movement, which began gaining momentum after the collapse of _The DAO_ in 2016. This turning point spurred the creation of blockchain-enabled organizations capable of operating without centralized corporate structures. Over the years, governance systems and decentralized operational tools have advanced, paving the way for the next generation of organizations across chains like Solana, Ethereum Layer 2 solutions, and beyond. Powerhouse aims to advance these principles and build large, global organizations around networks.
4
4
 
5
5
  Powerhouse operates at the intersection of open-source innovation and decentralized coordination. This section outlines the philosophical foundation and systemic structure that guides its operations and vision—what we call “Open-Source Capitalism.”
6
6
 
7
-
8
7
  ## **Why Open-Source Capitalism?**
9
8
 
10
9
  Capitalism is the most powerful system of economic coordination ever invented. It incentivizes productivity, innovation, and risk-taking. But just as important—open-source has proven to be one of the most powerful engines of innovation within that system.
@@ -15,11 +14,8 @@ Yet this dynamic is incomplete. While open-source has dominated infrastructure,
15
14
 
16
15
  That’s the central promise of Open-Source Capitalism: not just to build open alternatives, but to make them self-sustaining, investable, and scalable. It’s about combining the pro-market, pro-innovation ethos of open-source with incentive structures that actually work—so we can build networks that don’t just survive, but thrive.
17
16
 
18
-
19
17
  ## **Four Principles of Open-Source Capitalism**
20
18
 
21
-
22
-
23
19
  1. **Coordination Through Marketplace Platforms** Open-Source Capitalism demands new types of platforms—public marketplaces where contributors, customers, and investors can interact transparently. Like Uber or Airbnb, these marketplaces optimize for liquidity and coordination, but with open governance and ownership. \
24
20
 
25
21
  2. **Incentive Alignment via Tokens and Revenue Sharing** Powerhouse uses Proof of Work Tokens (POWTs) to compensate contributors fairly over time, enabling deferred compensation models that align long-term incentives. \
@@ -28,8 +24,6 @@ That’s the central promise of Open-Source Capitalism: not just to build open a
28
24
 
29
25
  4. **Make Open Source Investable** By enabling investor flows through the Operational Collateral Fund (OCF), open-source projects gain sustainable funding channels. Returns are tied to the downstream use of open infrastructure. \
30
26
 
31
-
32
-
33
27
  ## **Decentralized Operations and Collaboration**
34
28
 
35
29
  Open-Source Capitalism doesn’t work without new organizational structures. DAOs promised a way forward, but fell short: plagued by coordination failures, incentive misalignment, and lack of clarity around roles, responsibilities, and execution. Powerhouse emerged from this gap—building systems that retain the openness of decentralized networks while introducing the operational rigor of traditional institutions.
@@ -1,13 +1,15 @@
1
1
  # Part 2: Powerhouse Software Architecture
2
2
 
3
- Powerhouse’s software architecture is designed to empower scalable, decentralized organizations with a modular, layered approach. It uses document models as the core unit that used across three layers:
4
- - the **Data Infrastructure Layer**, which handles secure storage and synchronization across local, cloud, and decentralized systems;
5
- - the **Host Application Layer**, which provides contributor tools like Powerhouse Connect and Fusion;
6
- - and the Customization **Layer**, enabling bespoke solutions for specific use cases.
3
+ Powerhouse’s software architecture is designed to empower scalable, decentralized organizations with a modular, layered approach. It uses document models as the core unit that used across three layers:
4
+
5
+ - the **Data Infrastructure Layer**, which handles secure storage and synchronization across local, cloud, and decentralized systems;
6
+ - the **Host Application Layer**, which provides contributor tools like Powerhouse Connect and Fusion;
7
+ - and the Customization **Layer**, enabling bespoke solutions for specific use cases.
7
8
 
8
9
  ## Software Architecture
9
10
 
10
11
  ### Document Models
12
+
11
13
  - A **document model** is a structured representation of data and workflows that captures relationships, states, and operations within a system. By treating documents as dynamic entities that evolve over time, document models allow multiple people to contribute, make changes, and track progress in a flexible and transparent way. Document models are central to Powerhouse’s development approach, forming the backbone of adaptable workflows and versatile data management. In environments where contributors work asynchronously and systems must respond to evolving needs, document models provide the flexibility and responsiveness that traditional, static structures often lack.
12
14
  - Building on this foundation, Powerhouse’s document models are designed to go beyond static data storage, encapsulating the complex relationships, states, and operations that drive decentralized workflows. Each document functions as a living entity, continuously evolving to reflect updates and interactions among contributors. This allows for:
13
15
  - **Asynchronous Collaboration**: Contributors can work on documents without being bound by linear processes. For example, a task document can move through different states (e.g., draft, review, approved) based on specific triggers or events.
@@ -15,18 +17,19 @@ Powerhouse’s software architecture is designed to empower scalable, decentrali
15
17
  - **Event-Driven Updates**: By integrating with Powerhouse’s event-driven architecture, documents can respond to real-time changes, such as new data inputs or status updates, ensuring workflows remain efficient and responsive.
16
18
 
17
19
  ### Three layers of Powerhouse
18
- 1. **Data Infrastructure Layer -** This layer is responsible for data storage and synchronization, whether locally, in the cloud, or on decentralized storage networks like Ceramic or IPFS. It includes:
20
+
21
+ 1. **Data Infrastructure Layer -** This layer is responsible for data storage and synchronization, whether locally, in the cloud, or on decentralized storage networks like Ceramic or IPFS. It includes:
19
22
  - **Reactor**: A storage node for documents and files, supporting multiple storage adapters for various environments.
20
23
  - **Powerhouse Network Components**: services required to build scalable networks of Reactor nodes, such as event buses, queues, caching services, and load balancers.
21
24
 
22
- 2. **Host Application Layer - t**his layer provides the tools to build apps and platforms using modular host applications. Each host application is an empty shell that gains functionality through plugins. The key host applications include:
25
+ 2. **Host Application Layer - t**his layer provides the tools to build apps and platforms using modular host applications. Each host application is an empty shell that gains functionality through plugins. The key host applications include:
23
26
  - **Powerhouse Connect**: Tools for contributors to perform their roles with tailored plugins for document management.
24
27
  - **Powerhouse Switchboard**: A scalable API service for aggregating data into operational, analytical, or other specialized read models.
25
28
  - **Powerhouse Fusion**: Public-facing collaboration platforms or marketplaces for the SNO’s platform economy.
26
29
  - **Powerhouse Renown**: Decentralized authentication and reputation management for contributors.
27
30
  - **Powerhouse Academy**: Onboarding and training tools for contributors, offering tutorials and reputation badges.
28
31
 
29
- 3. **Customization Layer - t**his layer consists of organization-specific plugins and instances of the host applications. It enables customization and deployment of unique platforms for each network organization. Examples include:
32
+ 3. **Customization Layer - t**his layer consists of organization-specific plugins and instances of the host applications. It enables customization and deployment of unique platforms for each network organization. Examples include:
30
33
  - **Connect Plugins**: Tailored apps for contributors.
31
34
  - **Switchboard Plugins**: Aggregated data and API services.
32
35
  - **Fusion Plugins**: Custom marketplaces and user-facing platforms.
@@ -1,10 +1,11 @@
1
1
  # Part 3: Development Approaches
2
2
 
3
- Powerhouse’s development approaches are designed to enable efficient, scalable, and innovative solutions for decentralized organizations. By drawing from blockchain principles, adopting Model-Driven Development (MDD), leveraging dynamic document models, and employing a Rapid Application Development (RAD) process, Powerhouse provides a comprehensive framework to address the unique challenges of decentralized systems.
3
+ Powerhouse’s development approaches are designed to enable efficient, scalable, and innovative solutions for decentralized organizations. By drawing from blockchain principles, adopting Model-Driven Development (MDD), leveraging dynamic document models, and employing a Rapid Application Development (RAD) process, Powerhouse provides a comprehensive framework to address the unique challenges of decentralized systems.
4
4
 
5
5
  These methodologies enhance collaboration, streamline workflows, and accelerate iteration cycles, empowering teams to design, implement, and adapt their solutions seamlessly while staying aligned with Powerhouse’s vision for sustainable and decentralized growth.
6
6
 
7
7
  ### Blockchain principles applied to decentralized operations
8
+
8
9
  - Powerhouse’s development approach draws inspiration from the principles of blockchain technology while adapting them to meet the specific needs of decentralized organizations. These principles heavily influence its architecture, blending blockchain’s strengths with practical adaptations for scalable operations.
9
10
  - Powerhouse shares several core ideas with blockchain:
10
11
  - **Immutability**: Like a blockchain, Powerhouse emphasizes immutable data records. Through event sourcing, every state change is preserved as an append-only event, ensuring transparent, auditable histories.
@@ -15,12 +16,15 @@ These methodologies enhance collaboration, streamline workflows, and accelerate
15
16
  - **Tailored Operations**: Unlike blockchain’s general-purpose design, Powerhouse’s architecture focuses on organizational needs, supporting custom workflows, dynamic governance, and flexible scaling.
16
17
 
17
18
  ### Model-Driven Development & Rapid Application Development (RAD)
19
+
18
20
  - Powerhouse leverages **Model-Driven Development (MDD)** and **Rapid Application Development (RAD)** to streamline the creation of scalable, decentralized systems.
19
21
  - MDD enables cross-functional collaboration by using **abstract models** as blueprints for workflows, data, and system behaviors—similar to how GraphQL schemas unify API design. These models ensure alignment across teams, enable early validation, and support seamless system evolution. **Meta-models** extend this by automating code generation, documentation, and workflow updates, reducing manual effort and ensuring consistency.
20
22
  - RAD accelerates development by eliminating backend complexity and leveraging **automated code generation**. Pre-built frameworks and reusable components let developers focus on UI/UX without managing backend logic. An **event-driven architecture** handles state and data sync, while document models serve as a **source of truth**, ensuring APIs, data structures, and front-end scaffolding stay in sync. Developers can rapidly iterate on tailored user experiences—akin to “swapping skins” in a game—without disrupting core functionality.
21
23
 
22
-
24
+
25
+
23
26
  ### CQRS (Command Query Responsibility Segregation)
27
+
24
28
  - CQRS, or Command Query Responsibility Segregation, is a key design principle in Powerhouse’s software architecture. It separates the responsibilities of handling write operations (commands) and read operations (queries) into distinct models, optimizing both for their specific purposes.
25
29
  - In the Powerhouse framework:
26
30
  - **Commands** handle operations that modify the state, such as creating or updating documents. These commands are validated and stored as events, forming the immutable history central to the system’s transparency and auditability.
@@ -29,8 +33,10 @@ These methodologies enhance collaboration, streamline workflows, and accelerate
29
33
  1. **Scalability**: Write and read models can scale independently, allowing Powerhouse to support large decentralized organizations without performance bottlenecks.
30
34
  2. **Maintainability**: By isolating business logic (commands) from query logic, developers can iterate on one without affecting the other, ensuring the system evolves efficiently.
31
35
  3. **Flexibility**: Powerhouse supports multiple types of read models—such as relational databases, full-text search, and analytics—each tailored to specific organizational needs.
32
-
36
+
37
+
33
38
  ### Event-driven Architectures (EDA)
39
+
34
40
  - Event-Driven Architecture (EDA) is a foundational element of Powerhouse’s software philosophy, designed to create responsive, scalable systems that support asynchronous workflows. In EDA, events represent meaningful changes or actions, such as “Document Updated” or “Contributor Added,” and these events trigger reactions across the system in real time.
35
41
  - EDA enables Powerhouse to design systems that are inherently responsive and scalable. By decoupling components, EDA allows systems to react to events independently, ensuring high availability and performance even as complexity grows. For example, when a document is updated, different processes like validation, notifications, and analytics generation can run in parallel without blocking each other. This architecture makes Powerhouse systems highly efficient in handling distributed operations, as it allows them to scale dynamically by adding or replicating components where needed. It also improves fault tolerance, as failures in one part of the system do not cascade to others due to the loosely coupled design.
36
- - **Asynchronous Workflows -** EDA is particularly effective in supporting asynchronous workflows, which are critical for decentralized organizations. In this model, components communicate through events, eliminating the need for direct dependencies. This loose coupling enables workflows to operate flexibly, allowing different tasks to be executed simultaneously without blocking others. For instance, when a contributor submits work, separate processes—like task approval, logging, and analytics—can run independently, ensuring smoother coordination. Additionally, event histories can be replayed to debug workflows or audit past operations, providing transparency and traceability essential to decentralized systems.
42
+ - **Asynchronous Workflows -** EDA is particularly effective in supporting asynchronous workflows, which are critical for decentralized organizations. In this model, components communicate through events, eliminating the need for direct dependencies. This loose coupling enables workflows to operate flexibly, allowing different tasks to be executed simultaneously without blocking others. For instance, when a contributor submits work, separate processes—like task approval, logging, and analytics—can run independently, ensuring smoother coordination. Additionally, event histories can be replayed to debug workflows or audit past operations, providing transparency and traceability essential to decentralized systems.
@@ -1,44 +1,37 @@
1
- # Part 4: Scalable Network Organizations (SNOs)
1
+ # Part 4: Scalable Network Organizations (SNOs)
2
2
 
3
3
  Decentralized Autonomous Organizations (DAOs) once promised to revolutionize global collaboration by enabling decentralized governance, transparent decision-making, and equitable ownership. However, the reality has often fallen short. DAOs have struggled with legal ambiguity, resource allocation inefficiencies, and broken incentive structures. These challenges have stifled their ability to scale and compete with centralized organizations.
4
4
 
5
5
  Scalable Network Organizations (SNOs) emerge as the next evolutionary step. Combining the principles of decentralization with the operational rigor of traditional organizations, SNOs provide a structured framework for decentralized governance, sustainable operations, and global scalability. Powerhouse’s vision for SNOs aims to deliver on the original promise of DAOs, empowering organizations to scale without sacrificing their decentralized principles.
6
6
 
7
-
8
7
  ### Core Components of SNOs[​](https://staging.powerhouse.academy/docs/bookofpowerhouse/SNOsandANewModelForOSSandPublicGoods#core-components-of-snos)
9
8
 
10
9
  At the heart of Scalable Network Organizations (SNOs) are five entities, each fulfilling a critical role in scaling decentralized operations. From governance to funding and IP management, these components work together to ensure alignment, collaboration, and financial sustainability.
11
10
 
12
-
13
-
14
- * DAO
15
- * The DAO is the governing entity responsible for setting the strategic vision and ensuring alignment across the SNO. Through on-chain governance mechanisms powered by smart contracts, the DAO facilitates transparent decision-making, distributed ownership, and accountability. Members participate in proposing and voting on budgets, initiatives, and key operational decisions, creating a decentralized system where authority is widely distributed rather than concentrated in a single entity.
16
- * By maintaining immutable records and eliminating the need for intermediaries, the DAO supports scalable and adaptable governance structures that suit decentralized networks. Its ability to flexibly adapt rules and processes ensures that the SNO remains efficient and innovative as it grows, while retaining the values of transparency and inclusivity.
17
- * Operational Hub (OH)
18
- * The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
19
- * The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
20
- * Operational Collateral Fund (OCF)
21
- * The OCF provides the financial infrastructure to fuel the SNO’s growth. It allocates resources to high-potential initiatives and rewards contributors by issuing Proof of Work Tokens (POWTs). These tokens align incentives by linking compensation to measurable contributions, ensuring that individuals and teams are motivated to create long-term value. POWTs represent a stake in the success of the network, making contributors invested in the outcomes of the projects they support.
22
- * Beyond its internal role, the OCF also attracts external investment by offering structured opportunities for funding impactful projects within the network. By maintaining transparency in its allocation processes and linking funding to measurable outputs, the OCF builds trust among both contributors and investors, creating a virtuous cycle where capital supports meaningful innovation.
23
- * Revenue Generating Hub (RGH)
24
- * The RGH is the SNO’s commercial interface, enabling the network to generate sustainable revenue while maintaining its decentralized principles. It manages licensing agreements, product sales, and customer-facing activities, ensuring that all revenue-generating operations align with the broader goals set by the DAO. By addressing the regulatory complexities associated with handling fiat revenue or contractual obligations, the RGH provides a seamless bridge between decentralized networks and traditional market systems.
25
- * The RGH supports multiple revenue streams, including enterprise licensing for proprietary versions of open-source software, subscription models for SaaS offerings, and consulting services tailored to client needs. A portion of the revenue collected flows back into the ecosystem, funding operations, rewarding contributors through the OCF, and sustaining the open-source projects that drive the SNO’s long-term success.
26
- * IP-Holding Entity (IPSPV)
27
- * The IP-Holding Entity safeguards the SNO’s intellectual property assets, including trademarks, copyrights, and other IP rights. It is responsible for enforcing licensing agreements and ensuring that the use of the network’s IP aligns with governance decisions made by the DAO. By employing a dual licensing model, the IPSPV supports open-source availability through copyleft licenses while generating revenue from enterprise licenses, allowing businesses to use proprietary versions of the SNO’s software.
28
- * The IPSPV also plays a critical role in protecting the network’s creative assets from exploitation or infringement. It ensures that the IP is managed as a collective resource, aligned with the community’s mission and values, while providing a steady revenue stream for reinvestment into the ecosystem. By separating IP management from operational activities, the IPSPV ensures that the SNO remains focused on innovation without losing control of its most valuable assets.
29
-
11
+ - DAO
12
+ - The DAO is the governing entity responsible for setting the strategic vision and ensuring alignment across the SNO. Through on-chain governance mechanisms powered by smart contracts, the DAO facilitates transparent decision-making, distributed ownership, and accountability. Members participate in proposing and voting on budgets, initiatives, and key operational decisions, creating a decentralized system where authority is widely distributed rather than concentrated in a single entity.
13
+ - By maintaining immutable records and eliminating the need for intermediaries, the DAO supports scalable and adaptable governance structures that suit decentralized networks. Its ability to flexibly adapt rules and processes ensures that the SNO remains efficient and innovative as it grows, while retaining the values of transparency and inclusivity.
14
+ - Operational Hub (OH)
15
+ - The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
16
+ - The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
17
+ - Operational Collateral Fund (OCF)
18
+ - The OCF provides the financial infrastructure to fuel the SNO’s growth. It allocates resources to high-potential initiatives and rewards contributors by issuing Proof of Work Tokens (POWTs). These tokens align incentives by linking compensation to measurable contributions, ensuring that individuals and teams are motivated to create long-term value. POWTs represent a stake in the success of the network, making contributors invested in the outcomes of the projects they support.
19
+ - Beyond its internal role, the OCF also attracts external investment by offering structured opportunities for funding impactful projects within the network. By maintaining transparency in its allocation processes and linking funding to measurable outputs, the OCF builds trust among both contributors and investors, creating a virtuous cycle where capital supports meaningful innovation.
20
+ - Revenue Generating Hub (RGH)
21
+ - The RGH is the SNO’s commercial interface, enabling the network to generate sustainable revenue while maintaining its decentralized principles. It manages licensing agreements, product sales, and customer-facing activities, ensuring that all revenue-generating operations align with the broader goals set by the DAO. By addressing the regulatory complexities associated with handling fiat revenue or contractual obligations, the RGH provides a seamless bridge between decentralized networks and traditional market systems.
22
+ - The RGH supports multiple revenue streams, including enterprise licensing for proprietary versions of open-source software, subscription models for SaaS offerings, and consulting services tailored to client needs. A portion of the revenue collected flows back into the ecosystem, funding operations, rewarding contributors through the OCF, and sustaining the open-source projects that drive the SNO’s long-term success.
23
+ - IP-Holding Entity (IPSPV)
24
+ - The IP-Holding Entity safeguards the SNO’s intellectual property assets, including trademarks, copyrights, and other IP rights. It is responsible for enforcing licensing agreements and ensuring that the use of the network’s IP aligns with governance decisions made by the DAO. By employing a dual licensing model, the IPSPV supports open-source availability through copyleft licenses while generating revenue from enterprise licenses, allowing businesses to use proprietary versions of the SNO’s software.
25
+ - The IPSPV also plays a critical role in protecting the network’s creative assets from exploitation or infringement. It ensures that the IP is managed as a collective resource, aligned with the community’s mission and values, while providing a steady revenue stream for reinvestment into the ecosystem. By separating IP management from operational activities, the IPSPV ensures that the SNO remains focused on innovation without losing control of its most valuable assets.
30
26
 
31
27
  ### Legal Foundations for SNOs[​](https://staging.powerhouse.academy/docs/bookofpowerhouse/SNOsandANewModelForOSSandPublicGoods#legal-foundations-for-snos)
32
28
 
33
29
  Legal structures are crucial for the success of SNOs, providing clarity, compliance, and protection.
34
30
 
35
-
36
-
37
- * Multisig Participation Agreements (MPAs) \
38
- MPAs are a foundational legal tool within the SNO framework. These agreements define the roles and responsibilities of multisig wallet signers, ensuring accountability and mitigating internal liability risks. By formalizing governance processes, MPAs reduce the chaos and inefficiency often associated with decentralized decision-making. They also protect contributors by clarifying liability boundaries, preventing signers from inadvertently exposing themselves to legal risks. \
39
- MPAs are fully customizable, allowing SNOs to adapt them to their specific operational needs. They integrate seamlessly with Gnosis Safe wallets, creating a transparent and secure environment for managing resources.
40
- * Swiss Associations \
41
- Swiss Associations offer a flexible and cost-effective legal wrapper for early-stage SNOs. These entities provide liability protection, separate legal personhood, and the ability to engage in commercial activities that support the SNO’s mission. Notably, Swiss Associations do not require registration, preserving privacy while maintaining compliance. Their reputation as part of Switzerland’s crypto-friendly regulatory environment makes them ideal for DAOs transitioning into SNOs. These are typically used as legal structures for the OCR and IPSPV, while the OH and RGH may be Swiss foundations but their jurisdiction is likely determined by where inbound and outbound payments are taking place.
42
- * Open Source Legal Templates \
43
- Powerhouse has developed a library of open-source legal templates to simplify the setup and operation of SNO entities. These templates include Contributor Agreements, MPAs, and licensing contracts, reducing the complexity and cost of navigating legal requirements. By standardizing these processes, Powerhouse enables SNOs to focus on innovation and growth.
44
-
31
+ - Multisig Participation Agreements (MPAs) \
32
+ MPAs are a foundational legal tool within the SNO framework. These agreements define the roles and responsibilities of multisig wallet signers, ensuring accountability and mitigating internal liability risks. By formalizing governance processes, MPAs reduce the chaos and inefficiency often associated with decentralized decision-making. They also protect contributors by clarifying liability boundaries, preventing signers from inadvertently exposing themselves to legal risks. \
33
+ MPAs are fully customizable, allowing SNOs to adapt them to their specific operational needs. They integrate seamlessly with Gnosis Safe wallets, creating a transparent and secure environment for managing resources.
34
+ - Swiss Associations \
35
+ Swiss Associations offer a flexible and cost-effective legal wrapper for early-stage SNOs. These entities provide liability protection, separate legal personhood, and the ability to engage in commercial activities that support the SNO’s mission. Notably, Swiss Associations do not require registration, preserving privacy while maintaining compliance. Their reputation as part of Switzerland’s crypto-friendly regulatory environment makes them ideal for DAOs transitioning into SNOs. These are typically used as legal structures for the OCR and IPSPV, while the OH and RGH may be Swiss foundations but their jurisdiction is likely determined by where inbound and outbound payments are taking place.
36
+ - Open Source Legal Templates \
37
+ Powerhouse has developed a library of open-source legal templates to simplify the setup and operation of SNO entities. These templates include Contributor Agreements, MPAs, and licensing contracts, reducing the complexity and cost of navigating legal requirements. By standardizing these processes, Powerhouse enables SNOs to focus on innovation and growth.