@dp-pcs/ogp 0.3.3 → 0.4.2
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.
- package/README.md +275 -49
- package/dist/cli/completion.d.ts +5 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +148 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/config.d.ts +3 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +207 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/expose.d.ts.map +1 -1
- package/dist/cli/expose.js +20 -13
- package/dist/cli/expose.js.map +1 -1
- package/dist/cli/federation.d.ts.map +1 -1
- package/dist/cli/federation.js +182 -6
- package/dist/cli/federation.js.map +1 -1
- package/dist/cli/setup.d.ts +19 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +507 -32
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +348 -32
- package/dist/cli.js.map +1 -1
- package/dist/daemon/agent-comms.d.ts.map +1 -1
- package/dist/daemon/agent-comms.js +14 -9
- package/dist/daemon/agent-comms.js.map +1 -1
- package/dist/daemon/intent-registry.d.ts.map +1 -1
- package/dist/daemon/intent-registry.js +7 -4
- package/dist/daemon/intent-registry.js.map +1 -1
- package/dist/daemon/keypair.d.ts.map +1 -1
- package/dist/daemon/keypair.js +34 -13
- package/dist/daemon/keypair.js.map +1 -1
- package/dist/daemon/message-handler.d.ts.map +1 -1
- package/dist/daemon/message-handler.js +7 -0
- package/dist/daemon/message-handler.js.map +1 -1
- package/dist/daemon/notify.d.ts +19 -0
- package/dist/daemon/notify.d.ts.map +1 -1
- package/dist/daemon/notify.js +329 -73
- package/dist/daemon/notify.js.map +1 -1
- package/dist/daemon/openclaw-bridge.d.ts +34 -0
- package/dist/daemon/openclaw-bridge.d.ts.map +1 -0
- package/dist/daemon/openclaw-bridge.js +261 -0
- package/dist/daemon/openclaw-bridge.js.map +1 -0
- package/dist/daemon/peers.d.ts +8 -0
- package/dist/daemon/peers.d.ts.map +1 -1
- package/dist/daemon/peers.js +48 -14
- package/dist/daemon/peers.js.map +1 -1
- package/dist/daemon/projects.d.ts.map +1 -1
- package/dist/daemon/projects.js +7 -4
- package/dist/daemon/projects.js.map +1 -1
- package/dist/daemon/server.d.ts +16 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +147 -46
- package/dist/daemon/server.js.map +1 -1
- package/dist/shared/config.d.ts +52 -1
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +18 -11
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/framework-detection.d.ts +31 -0
- package/dist/shared/framework-detection.d.ts.map +1 -0
- package/dist/shared/framework-detection.js +91 -0
- package/dist/shared/framework-detection.js.map +1 -0
- package/dist/shared/help.d.ts +5 -0
- package/dist/shared/help.d.ts.map +1 -0
- package/dist/shared/help.js +280 -0
- package/dist/shared/help.js.map +1 -0
- package/dist/shared/meta-config.d.ts +44 -0
- package/dist/shared/meta-config.d.ts.map +1 -0
- package/dist/shared/meta-config.js +89 -0
- package/dist/shared/meta-config.js.map +1 -0
- package/dist/shared/migration.d.ts +57 -0
- package/dist/shared/migration.d.ts.map +1 -0
- package/dist/shared/migration.js +255 -0
- package/dist/shared/migration.js.map +1 -0
- package/docs/CLI-REFERENCE.md +1360 -0
- package/docs/GETTING-STARTED.md +942 -0
- package/docs/MIGRATION.md +202 -0
- package/docs/MULTI-FRAMEWORK-DEMO.md +352 -0
- package/docs/MULTI-FRAMEWORK-DESIGN.md +378 -0
- package/docs/MULTI-FRAMEWORK-IMPL.md +197 -0
- package/docs/case-studies/CRASH_RESOLUTION_20260407.md +190 -0
- package/docs/case-studies/OpenClaw_Hermes_Status_Report_20260407.md +142 -0
- package/docs/case-studies/OpenClaw_Stability_Fix_Summary.md +209 -0
- package/docs/case-studies/README.md +40 -0
- package/docs/case-studies/crash_observations.md +250 -0
- package/docs/federation-flow.md +21 -31
- package/docs/hermes-implementation-checklist.md +4 -0
- package/docs/rendezvous.md +13 -14
- package/package.json +9 -3
- package/scripts/completion.bash +123 -0
- package/scripts/completion.zsh +372 -0
- package/scripts/test-migration-execute.js +74 -0
- package/scripts/test-migration.js +42 -0
- package/skills/ogp/SKILL.md +197 -64
- package/skills/ogp-agent-comms/SKILL.md +107 -41
- package/skills/ogp-expose/SKILL.md +84 -21
- package/skills/ogp-project/SKILL.md +66 -58
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill_name: ogp-project
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.1.0
|
|
4
4
|
description: >
|
|
5
5
|
Tool-agnostic project collaboration for AI assistants. Users keep their own tools
|
|
6
6
|
(Linear, Jira, Obsidian, GitHub, iCloud, local files — anything). This skill makes
|
|
@@ -20,9 +20,13 @@ requires:
|
|
|
20
20
|
bins:
|
|
21
21
|
- ogp
|
|
22
22
|
state_paths:
|
|
23
|
+
- ~/.ogp-meta/config.json
|
|
23
24
|
- ~/.ogp/config.json
|
|
24
25
|
- ~/.ogp/projects.json
|
|
25
26
|
- ~/.ogp/peers.json
|
|
27
|
+
- ~/.ogp-hermes/config.json
|
|
28
|
+
- ~/.ogp-hermes/projects.json
|
|
29
|
+
- ~/.ogp-hermes/peers.json
|
|
26
30
|
install: npm install -g @dp-pcs/ogp
|
|
27
31
|
docs: https://github.com/dp-pcs/ogp
|
|
28
32
|
---
|
|
@@ -35,6 +39,7 @@ The OGP daemon must be installed and configured. If you see errors like 'ogp: co
|
|
|
35
39
|
npm install -g @dp-pcs/ogp
|
|
36
40
|
ogp-install-skills
|
|
37
41
|
ogp setup
|
|
42
|
+
ogp config show
|
|
38
43
|
ogp start
|
|
39
44
|
```
|
|
40
45
|
|
|
@@ -42,6 +47,8 @@ ogp start
|
|
|
42
47
|
|
|
43
48
|
**Note on Multi-Agent Routing (OGP 0.2.28+):** When `notifyTargets` is configured in `~/.ogp/config.json`, project-related federation messages can be routed to specific agents. Each agent can have its own project context and policies.
|
|
44
49
|
|
|
50
|
+
**Note on Multi-Framework Mode:** Projects are framework-local. Use `ogp --for openclaw ...` or `ogp --for hermes ...` consistently so you query and log to the intended state directory.
|
|
51
|
+
|
|
45
52
|
Full documentation: https://github.com/dp-pcs/ogp
|
|
46
53
|
|
|
47
54
|
|
|
@@ -108,16 +115,16 @@ Whenever the user expresses intent to start work on something project-related, r
|
|
|
108
115
|
### Step 1: Check local project state
|
|
109
116
|
```bash
|
|
110
117
|
# Quick scan of recent activity
|
|
111
|
-
ogp project query <project-id> --limit 20
|
|
118
|
+
ogp --for openclaw project query <project-id> --limit 20
|
|
112
119
|
|
|
113
120
|
# Check for anything on this specific topic
|
|
114
|
-
ogp project query <project-id> --search "<keywords from user's intent>"
|
|
121
|
+
ogp --for openclaw project query <project-id> --search "<keywords from user's intent>"
|
|
115
122
|
```
|
|
116
123
|
|
|
117
124
|
### Step 2: Query peer agents
|
|
118
125
|
```bash
|
|
119
126
|
# For each approved peer in the project, ask if they know anything relevant
|
|
120
|
-
ogp federation agent <peer-id> <project-id> "My user is about to start working on <what they said>. Anything I should know before we begin?"
|
|
127
|
+
ogp --for openclaw federation agent <peer-id> <project-id> "My user is about to start working on <what they said>. Anything I should know before we begin?"
|
|
121
128
|
```
|
|
122
129
|
|
|
123
130
|
### Step 3: Surface findings
|
|
@@ -135,7 +142,7 @@ ogp federation agent <peer-id> <project-id> "My user is about to start working o
|
|
|
135
142
|
User: "Let's start working on the companion app"
|
|
136
143
|
|
|
137
144
|
Agent (internally):
|
|
138
|
-
1. ogp project query my-project --search "companion app"
|
|
145
|
+
1. ogp --for openclaw project query my-project --search "companion app"
|
|
139
146
|
→ Found: "User B flagged companion app as out of scope in v1" (decision, 3 days ago)
|
|
140
147
|
|
|
141
148
|
Agent (to user): "Before you dive in — there's a note in the project from 3 days ago:
|
|
@@ -147,8 +154,8 @@ Want to check with them first, or are you overriding that?"
|
|
|
147
154
|
User: "Let's start working on the companion app"
|
|
148
155
|
|
|
149
156
|
Agent (internally):
|
|
150
|
-
1. ogp project query my-project --search "companion app" → nothing found
|
|
151
|
-
2. ogp federation agent peer-b my-project "My user is about to start on the companion app. Anything I should know?"
|
|
157
|
+
1. ogp --for openclaw project query my-project --search "companion app" → nothing found
|
|
158
|
+
2. ogp --for openclaw federation agent peer-b my-project "My user is about to start on the companion app. Anything I should know?"
|
|
152
159
|
→ Peer agent responds: "No conflicts. Bob hasn't touched that area."
|
|
153
160
|
|
|
154
161
|
Agent: [starts working — no announcement needed]
|
|
@@ -170,16 +177,16 @@ When your agent queries a peer agent, the peer agent responds according to its o
|
|
|
170
177
|
**Configuring your own response policy** (how YOUR agent handles incoming queries):
|
|
171
178
|
```bash
|
|
172
179
|
# See current policies
|
|
173
|
-
ogp agent-comms policies
|
|
180
|
+
ogp --for openclaw agent-comms policies
|
|
174
181
|
|
|
175
182
|
# Auto-answer project queries (full detail)
|
|
176
|
-
ogp agent-comms add-topic <peer-id> <project-id> --level full
|
|
183
|
+
ogp --for openclaw agent-comms add-topic <peer-id> <project-id> --level full
|
|
177
184
|
|
|
178
185
|
# Escalate to human before answering
|
|
179
|
-
ogp agent-comms add-topic <peer-id> <project-id> --level escalate
|
|
186
|
+
ogp --for openclaw agent-comms add-topic <peer-id> <project-id> --level escalate
|
|
180
187
|
|
|
181
188
|
# Summary only
|
|
182
|
-
ogp agent-comms add-topic <peer-id> <project-id> --level summary
|
|
189
|
+
ogp --for openclaw agent-comms add-topic <peer-id> <project-id> --level summary
|
|
183
190
|
```
|
|
184
191
|
|
|
185
192
|
Response levels:
|
|
@@ -202,7 +209,7 @@ If the user skips questions, that's fine — the agent operates in generalized m
|
|
|
202
209
|
|
|
203
210
|
### Step 1: Create the project
|
|
204
211
|
```bash
|
|
205
|
-
ogp project create <project-id> <name> --description "<description>"
|
|
212
|
+
ogp --for openclaw project create <project-id> <name> --description "<description>"
|
|
206
213
|
```
|
|
207
214
|
|
|
208
215
|
### Step 2: Run the interview
|
|
@@ -214,7 +221,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
214
221
|
**Q1: How do you track tasks for this project?**
|
|
215
222
|
*(e.g. Linear, Jira, GitHub Issues, Trello, a text file, nothing formal)*
|
|
216
223
|
|
|
217
|
-
- If answered → `ogp project contribute <id> context.tools "Tasks tracked in: <answer>"`
|
|
224
|
+
- If answered → `ogp --for openclaw project contribute <id> context.tools "Tasks tracked in: <answer>"`
|
|
218
225
|
- Agent behavior unlocked: When a peer agent asks about tasks/issues/tickets, search here first. If the tool has an API or CLI, offer to query it directly.
|
|
219
226
|
- Example agent behavior: *"Stan's agent is asking what's in your backlog for this project. I can check Linear for you — want me to pull the open items?"*
|
|
220
227
|
- If skipped → agent notes task tracking is unspecified; will only know what's been logged manually
|
|
@@ -224,7 +231,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
224
231
|
**Q2: Where do you keep notes or docs for this project?**
|
|
225
232
|
*(e.g. Obsidian vault at ~/notes/project-x, Notion, GitHub wiki, Apple Notes, Google Docs, a local folder)*
|
|
226
233
|
|
|
227
|
-
- If answered → `ogp project contribute <id> context.notes "<location>"`
|
|
234
|
+
- If answered → `ogp --for openclaw project contribute <id> context.notes "<location>"`
|
|
228
235
|
- Agent behavior unlocked: When a peer asks about ideas, decisions, meeting notes, or any written context — go look there first before saying "I don't know."
|
|
229
236
|
- Example agent behavior: *"Before I answer Stan's question about the API design, let me check your Obsidian vault..."*
|
|
230
237
|
- If skipped → agent can only surface what's been explicitly logged to the project
|
|
@@ -234,7 +241,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
234
241
|
**Q3: Is there a code repository?**
|
|
235
242
|
*(e.g. GitHub URL, GitLab, local git repo path)*
|
|
236
243
|
|
|
237
|
-
- If answered → `ogp project contribute <id> context.repository "<url or path>"`
|
|
244
|
+
- If answered → `ogp --for openclaw project contribute <id> context.repository "<url or path>"`
|
|
238
245
|
- Agent behavior unlocked: When peer asks about code, architecture, or recent commits — check the repo. Can run `git log`, search files, check open PRs.
|
|
239
246
|
- If skipped → agent won't know where code lives
|
|
240
247
|
|
|
@@ -243,7 +250,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
243
250
|
**Q4: Where do you store files for this project?**
|
|
244
251
|
*(e.g. ~/Documents/project-x, iCloud Drive, Google Drive, Dropbox, S3 bucket)*
|
|
245
252
|
|
|
246
|
-
- If answered → `ogp project contribute <id> context.workspace "<path or location>"`
|
|
253
|
+
- If answered → `ogp --for openclaw project contribute <id> context.workspace "<path or location>"`
|
|
247
254
|
- Agent behavior unlocked: When peer asks about assets, specs, or anything file-based — look here.
|
|
248
255
|
- If skipped → agent won't look for files outside the project log
|
|
249
256
|
|
|
@@ -252,9 +259,9 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
252
259
|
**Q5: Is anyone else working on this with you?**
|
|
253
260
|
*(peer IDs, names, or email addresses of collaborators)*
|
|
254
261
|
|
|
255
|
-
- If answered → `ogp project contribute <id> context.collaborators "<names/peer-ids>"`
|
|
262
|
+
- If answered → `ogp --for openclaw project contribute <id> context.collaborators "<names/peer-ids>"`
|
|
256
263
|
- Agent behavior unlocked: Know who to ping during pre-task checks. Know whose agent to query when looking for context.
|
|
257
|
-
- Also offer: *"Want me to send them a federation invite?"* — if yes, run `ogp project request-join <peer-id> <project-id> <name>`
|
|
264
|
+
- Also offer: *"Want me to send them a federation invite?"* — if yes, run `ogp --for openclaw project request-join <peer-id> <project-id> <name>`
|
|
258
265
|
- If skipped → no peer checks until collaborators are added later
|
|
259
266
|
|
|
260
267
|
---
|
|
@@ -262,7 +269,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
262
269
|
**Q6: Anything else I should know about this project?**
|
|
263
270
|
*(free text — constraints, deadlines, important context, tools not covered above)*
|
|
264
271
|
|
|
265
|
-
- If answered → `ogp project contribute <id> context "<free text>"`
|
|
272
|
+
- If answered → `ogp --for openclaw project contribute <id> context "<free text>"`
|
|
266
273
|
- This catches anything the structured questions missed
|
|
267
274
|
- If skipped → fine, move on
|
|
268
275
|
|
|
@@ -296,17 +303,17 @@ I'll check this context before starting any work on this project.
|
|
|
296
303
|
### Explicit Project Logging
|
|
297
304
|
| User Input | Action |
|
|
298
305
|
|------------|--------|
|
|
299
|
-
| "add/log/save/put/track this to [project]" | `ogp project contribute <id> context "<summary>"` |
|
|
300
|
-
| "remember for [project] that..." | `ogp project contribute <id> context "<summary>"` |
|
|
301
|
-
| Decision made during conversation | `ogp project contribute <id> decision "<summary>"` |
|
|
302
|
-
| Blocker encountered | `ogp project contribute <id> blocker "<summary>"` |
|
|
303
|
-
| Work completed | `ogp project contribute <id> progress "<summary>"` |
|
|
306
|
+
| "add/log/save/put/track this to [project]" | `ogp --for openclaw project contribute <id> context "<summary>"` |
|
|
307
|
+
| "remember for [project] that..." | `ogp --for openclaw project contribute <id> context "<summary>"` |
|
|
308
|
+
| Decision made during conversation | `ogp --for openclaw project contribute <id> decision "<summary>"` |
|
|
309
|
+
| Blocker encountered | `ogp --for openclaw project contribute <id> blocker "<summary>"` |
|
|
310
|
+
| Work completed | `ogp --for openclaw project contribute <id> progress "<summary>"` |
|
|
304
311
|
|
|
305
312
|
### No Project Specified
|
|
306
313
|
If logging intent is clear but no project named:
|
|
307
314
|
```
|
|
308
315
|
📝 I can log this for you. Which project?
|
|
309
|
-
Active: [list from `ogp project list`]
|
|
316
|
+
Active: [list from `ogp --for openclaw project list`]
|
|
310
317
|
Or name a new one to create it.
|
|
311
318
|
```
|
|
312
319
|
|
|
@@ -331,20 +338,20 @@ When a peer agent sends a query to your project topic, your agent should:
|
|
|
331
338
|
**Searching your context to answer:**
|
|
332
339
|
```bash
|
|
333
340
|
# Search project contributions
|
|
334
|
-
ogp project query <project-id> --search "<keywords>"
|
|
341
|
+
ogp --for openclaw project query <project-id> --search "<keywords>"
|
|
335
342
|
|
|
336
343
|
# Check specific context entries
|
|
337
|
-
ogp project query <project-id> --type context.notes
|
|
338
|
-
ogp project query <project-id> --type context.repository
|
|
339
|
-
ogp project query <project-id> --type decision
|
|
344
|
+
ogp --for openclaw project query <project-id> --type context.notes
|
|
345
|
+
ogp --for openclaw project query <project-id> --type context.repository
|
|
346
|
+
ogp --for openclaw project query <project-id> --type decision
|
|
340
347
|
|
|
341
348
|
# Recent activity
|
|
342
|
-
ogp project query <project-id> --limit 20
|
|
349
|
+
ogp --for openclaw project query <project-id> --limit 20
|
|
343
350
|
```
|
|
344
351
|
|
|
345
352
|
**Replying to a peer query:**
|
|
346
353
|
```bash
|
|
347
|
-
ogp federation agent <peer-id> <project-id> "<your answer>"
|
|
354
|
+
ogp --for openclaw federation agent <peer-id> <project-id> "<your answer>"
|
|
348
355
|
```
|
|
349
356
|
|
|
350
357
|
---
|
|
@@ -354,44 +361,44 @@ ogp federation agent <peer-id> <project-id> "<your answer>"
|
|
|
354
361
|
### Project Management
|
|
355
362
|
```bash
|
|
356
363
|
# Create project
|
|
357
|
-
ogp project create <id> <name> [--description "..."]
|
|
364
|
+
ogp --for openclaw project create <id> <name> [--description "..."]
|
|
358
365
|
|
|
359
366
|
# Join existing project
|
|
360
|
-
ogp project join <id> [name] [--create] [--description "..."]
|
|
367
|
+
ogp --for openclaw project join <id> [name] [--create] [--description "..."]
|
|
361
368
|
|
|
362
369
|
# List all projects
|
|
363
|
-
ogp project list
|
|
370
|
+
ogp --for openclaw project list
|
|
364
371
|
|
|
365
372
|
# Get project status
|
|
366
|
-
ogp project status <id>
|
|
373
|
+
ogp --for openclaw project status <id>
|
|
367
374
|
```
|
|
368
375
|
|
|
369
376
|
### Contributions & Logging
|
|
370
377
|
```bash
|
|
371
378
|
# Add contribution
|
|
372
|
-
ogp project contribute <id> <type> <summary> [--metadata '{"key":"value"}']
|
|
379
|
+
ogp --for openclaw project contribute <id> <type> <summary> [--metadata '{"key":"value"}']
|
|
373
380
|
|
|
374
381
|
# Query contributions
|
|
375
|
-
ogp project query <id> [--type <type>] [--search <text>] [--limit <n>]
|
|
376
|
-
#
|
|
382
|
+
ogp --for openclaw project query <id> [--type <type>] [--search <text>] [--limit <n>]
|
|
383
|
+
# Prefer --type. --topic remains a compatibility alias.
|
|
377
384
|
```
|
|
378
385
|
|
|
379
386
|
### Cross-Peer Collaboration
|
|
380
387
|
```bash
|
|
381
388
|
# Request to join peer's project
|
|
382
|
-
ogp project request-join <peer-id> <project-id> <name>
|
|
389
|
+
ogp --for openclaw project request-join <peer-id> <project-id> <name>
|
|
383
390
|
|
|
384
391
|
# Send contribution to peer project
|
|
385
|
-
ogp project send-contribution <peer-id> <project-id> <type> <summary>
|
|
392
|
+
ogp --for openclaw project send-contribution <peer-id> <project-id> <type> <summary>
|
|
386
393
|
|
|
387
394
|
# Query peer project contributions
|
|
388
|
-
ogp project query-peer <peer-id> <project-id> [--
|
|
395
|
+
ogp --for openclaw project query-peer <peer-id> <project-id> [--type <type>] [--limit <n>]
|
|
389
396
|
|
|
390
397
|
# Get peer project status
|
|
391
|
-
ogp project status-peer <peer-id> <project-id>
|
|
398
|
+
ogp --for openclaw project status-peer <peer-id> <project-id>
|
|
392
399
|
|
|
393
400
|
# Send agent-to-agent message on project topic
|
|
394
|
-
ogp federation agent <peer-id> <project-id> "<message>"
|
|
401
|
+
ogp --for openclaw federation agent <peer-id> <project-id> "<message>"
|
|
395
402
|
```
|
|
396
403
|
|
|
397
404
|
---
|
|
@@ -445,32 +452,32 @@ Peer activity:
|
|
|
445
452
|
### Peer Agent Not Responding
|
|
446
453
|
```bash
|
|
447
454
|
# Check peer is online
|
|
448
|
-
ogp federation ping <peer-alias>
|
|
455
|
+
ogp --for openclaw federation ping <peer-alias>
|
|
449
456
|
|
|
450
457
|
# Check agent-comms policies
|
|
451
|
-
ogp agent-comms policies <peer-id>
|
|
458
|
+
ogp --for openclaw agent-comms policies <peer-id>
|
|
452
459
|
|
|
453
460
|
# Check activity log
|
|
454
|
-
ogp agent-comms activity <peer-id>
|
|
461
|
+
ogp --for openclaw agent-comms activity <peer-id>
|
|
455
462
|
```
|
|
456
463
|
|
|
457
464
|
### Project Not Found
|
|
458
465
|
```bash
|
|
459
|
-
ogp project list
|
|
460
|
-
ogp project status-peer <peer-id> <project-id>
|
|
466
|
+
ogp --for openclaw project list
|
|
467
|
+
ogp --for openclaw project status-peer <peer-id> <project-id>
|
|
461
468
|
```
|
|
462
469
|
|
|
463
470
|
### Logging Failures
|
|
464
471
|
```bash
|
|
465
|
-
ogp project status <project-id>
|
|
466
|
-
ogp status
|
|
472
|
+
ogp --for openclaw project status <project-id>
|
|
473
|
+
ogp --for openclaw status
|
|
467
474
|
```
|
|
468
475
|
|
|
469
476
|
### Cross-Peer Issues
|
|
470
477
|
```bash
|
|
471
|
-
ogp federation list --status approved
|
|
472
|
-
ogp federation scopes <peer-id>
|
|
473
|
-
ogp federation send <peer-id> message '{"text":"ping"}'
|
|
478
|
+
ogp --for openclaw federation list --status approved
|
|
479
|
+
ogp --for openclaw federation scopes <peer-id>
|
|
480
|
+
ogp --for openclaw federation send <peer-id> message '{"text":"ping"}'
|
|
474
481
|
```
|
|
475
482
|
|
|
476
483
|
---
|
|
@@ -480,10 +487,10 @@ ogp federation send <peer-id> message '{"text":"ping"}'
|
|
|
480
487
|
**Data Flow:**
|
|
481
488
|
```
|
|
482
489
|
User says something project-related
|
|
483
|
-
→ Agent checks local project state (ogp project query)
|
|
484
|
-
→ Agent pings peer agents (ogp federation agent)
|
|
490
|
+
→ Agent checks local project state (ogp --for <framework> project query)
|
|
491
|
+
→ Agent pings peer agents (ogp --for <framework> federation agent)
|
|
485
492
|
→ Surfaces conflicts/info before starting
|
|
486
|
-
→ Logs outcomes (ogp project contribute)
|
|
493
|
+
→ Logs outcomes (ogp --for <framework> project contribute)
|
|
487
494
|
→ Federation syncs to peers
|
|
488
495
|
```
|
|
489
496
|
|
|
@@ -491,5 +498,6 @@ User says something project-related
|
|
|
491
498
|
The project doesn't care what tools you use. `context.notes`, `context.repository`, `context.tools` are just text. If you keep notes in Obsidian, that's in `context.notes`. If your peer uses GitHub wikis, that's in their `context.notes`. Peer agents read each other's context entries and know where to look — or know what to ask.
|
|
492
499
|
|
|
493
500
|
**Storage:**
|
|
494
|
-
- `~/.ogp/projects.json` —
|
|
495
|
-
- `~/.ogp/peers.json` — peer identities and federation state
|
|
501
|
+
- `~/.ogp/projects.json` / `~/.ogp-hermes/projects.json` — project data and contributions per framework
|
|
502
|
+
- `~/.ogp/peers.json` / `~/.ogp-hermes/peers.json` — peer identities and federation state per framework
|
|
503
|
+
- `~/.ogp-meta/config.json` — enabled frameworks and default selection
|