open-research-protocol 0.4.19 → 0.4.20
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/AGENT_INTEGRATION.md +8 -0
- package/README.md +197 -16
- package/cli/orp.py +14427 -9787
- package/docs/AGENT_LOOP.md +38 -0
- package/docs/ORP_AUTONOMY_PROJECT_COMPILATION_MODEL.md +252 -0
- package/docs/START_HERE.md +230 -9
- package/package.json +1 -1
- package/packages/orp-workspace-launcher/README.md +19 -1
- package/packages/orp-workspace-launcher/src/core-plan.js +72 -2
- package/packages/orp-workspace-launcher/src/hosted-state.js +9 -0
- package/packages/orp-workspace-launcher/src/index.js +2 -0
- package/packages/orp-workspace-launcher/src/ledger.js +74 -2
- package/packages/orp-workspace-launcher/src/list.js +18 -0
- package/packages/orp-workspace-launcher/src/orp-command.js +8 -4
- package/packages/orp-workspace-launcher/src/orp.js +13 -0
- package/packages/orp-workspace-launcher/src/registry.js +10 -0
- package/packages/orp-workspace-launcher/src/sync.js +12 -0
- package/packages/orp-workspace-launcher/src/tabs.js +39 -2
- package/packages/orp-workspace-launcher/test/core-plan.test.js +13 -0
- package/packages/orp-workspace-launcher/test/ledger.test.js +50 -0
- package/packages/orp-workspace-launcher/test/list.test.js +19 -0
- package/packages/orp-workspace-launcher/test/tabs.test.js +51 -6
- package/spec/v1/workspace.schema.json +36 -2
package/AGENT_INTEGRATION.md
CHANGED
|
@@ -6,6 +6,14 @@ integrate ORP by adding an **ORP section** to that file.
|
|
|
6
6
|
This makes ORP the agent’s default operating mode: explicit claim levels, reproducible verification, first-class failed paths,
|
|
7
7
|
and dispute resolution by verification/downgrade (not debate).
|
|
8
8
|
|
|
9
|
+
If you are working inside an ORP-governed repo, ORP can also scaffold and maintain the repo's own `AGENTS.md` and
|
|
10
|
+
`CLAUDE.md` files:
|
|
11
|
+
|
|
12
|
+
- `orp init` now scaffolds them if missing and refreshes ORP-managed blocks if they already exist
|
|
13
|
+
- `orp agents sync` refreshes the ORP-managed blocks later without replacing surrounding human notes
|
|
14
|
+
- `orp agents audit` checks whether those files are still aligned
|
|
15
|
+
- `orp agents root set /absolute/path/to/projects` establishes an optional umbrella parent directory so child repos can inherit high-level guidance
|
|
16
|
+
|
|
9
17
|
## Core Rule
|
|
10
18
|
|
|
11
19
|
Do not let ORP process scaffolding masquerade as evidence or repository truth.
|
package/README.md
CHANGED
|
@@ -9,13 +9,16 @@ Maintained by SproutSeeds. Research stewardship: Fractal Research Group ([frg.ea
|
|
|
9
9
|
[](./LICENSE)
|
|
10
10
|
[](https://www.npmjs.com/package/open-research-protocol)
|
|
11
11
|
|
|
12
|
-
> Agent-first CLI for workspace ledgers, local governance, secrets, scheduling, packets, reports, and research workflows.
|
|
12
|
+
> Agent-first CLI for workspace ledgers, operating agendas, local governance, secrets, scheduling, packets, reports, and research workflows.
|
|
13
13
|
|
|
14
14
|
**Links:** [GitHub](https://github.com/SproutSeeds/orp) · [npm](https://www.npmjs.com/package/open-research-protocol) · [frg.earth](https://frg.earth)
|
|
15
15
|
|
|
16
16
|
ORP is a unified CLI for research and research-like engineering. It helps humans and agents:
|
|
17
17
|
|
|
18
18
|
- keep a durable workspace ledger
|
|
19
|
+
- keep a durable operating agenda
|
|
20
|
+
- keep a durable connections registry
|
|
21
|
+
- keep a durable opportunities ledger
|
|
19
22
|
- resolve the right secret
|
|
20
23
|
- schedule the next loop
|
|
21
24
|
- checkpoint and protect progress
|
|
@@ -38,6 +41,9 @@ The current animation intentionally uses the same human-facing command surfaces
|
|
|
38
41
|
- `hosted` for ideas, workspaces, runners, and the control plane
|
|
39
42
|
- `secrets` for create-or-reuse plus local Keychain sync
|
|
40
43
|
- `workspace` for the hosted + local saved workspace ledger and recovery commands
|
|
44
|
+
- `agenda` for Codex-ranked actions and suggestions across current work
|
|
45
|
+
- `connections` for service accounts, data sources, deploy targets, and research destinations
|
|
46
|
+
- `opportunities` for contests, programs, grants, and other tracked openings
|
|
41
47
|
- `schedule` for recurring Codex jobs
|
|
42
48
|
- `governance` for local checkpoints and repo safety
|
|
43
49
|
- `planning` for frontier, compute, packet, and report surfaces
|
|
@@ -88,7 +94,9 @@ That guide now follows the same clearer rhythm we liked in `erdos-problems`:
|
|
|
88
94
|
It walks through:
|
|
89
95
|
|
|
90
96
|
- `orp init`
|
|
97
|
+
- umbrella and project-level `AGENTS.md` / `CLAUDE.md` guidance
|
|
91
98
|
- local-first workspace ledgers
|
|
99
|
+
- local-first opportunity boards
|
|
92
100
|
- saved Codex and Claude resume commands
|
|
93
101
|
- secrets setup
|
|
94
102
|
- the checkpoint and governance loop
|
|
@@ -101,7 +109,12 @@ If you want the shortest honest map of day-to-day ORP, start here:
|
|
|
101
109
|
```bash
|
|
102
110
|
orp
|
|
103
111
|
orp home
|
|
112
|
+
orp agents audit
|
|
104
113
|
orp workspace tabs main
|
|
114
|
+
orp agenda refresh --json
|
|
115
|
+
orp agenda refresh-status --json
|
|
116
|
+
orp agenda focus
|
|
117
|
+
orp opportunities list
|
|
105
118
|
orp secrets ensure --alias openai-primary --provider openai --current-project
|
|
106
119
|
orp checkpoint create -m "capture loop state"
|
|
107
120
|
orp packet emit --profile default
|
|
@@ -111,17 +124,178 @@ orp schedule list
|
|
|
111
124
|
orp mode nudge sleek-minimal-progressive
|
|
112
125
|
```
|
|
113
126
|
|
|
114
|
-
That sequence covers discovery, workspace recovery, secret resolution, governance, artifacts, planning, automation, and perspective-shift support.
|
|
127
|
+
That sequence covers discovery, agent-guide alignment, workspace recovery, agenda refresh, secret resolution, governance, artifacts, planning, automation, and perspective-shift support.
|
|
115
128
|
|
|
116
129
|
The shorter rule is:
|
|
117
130
|
|
|
118
131
|
- recover the workspace
|
|
132
|
+
- keep the agent guides aligned
|
|
133
|
+
- refresh the agenda
|
|
134
|
+
- inspect the active opportunities
|
|
119
135
|
- inspect repo safety
|
|
120
136
|
- resolve the right secret
|
|
121
137
|
- inspect the current frontier
|
|
122
138
|
- do the next honest move
|
|
123
139
|
- checkpoint at honest boundaries
|
|
124
140
|
|
|
141
|
+
## Agenda Quick Start
|
|
142
|
+
|
|
143
|
+
Use `agenda` when you want ORP to keep two ranked lists for the current operating moment:
|
|
144
|
+
|
|
145
|
+
- `actions` for the things most likely to need attention now
|
|
146
|
+
- `suggestions` for the next best expansions toward the current north star
|
|
147
|
+
|
|
148
|
+
Run one refresh:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
orp agenda refresh --json
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Check whether recurring refreshes are enabled on this machine:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
orp agenda refresh-status --json
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
If you want scheduled Codex refreshes, you must opt in explicitly. Nothing auto-runs until you do. The starter preset uses local morning, afternoon, and evening times:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
orp agenda enable-refreshes --json
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
If you want your own times instead of the default `09:00`, `14:00`, and `19:00`, set them directly:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
orp agenda enable-refreshes --morning 08:30 --afternoon 13:00 --evening 18:30 --json
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Turn them back off any time:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
orp agenda disable-refreshes --json
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Inspect the resulting lists:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
orp agenda actions
|
|
182
|
+
orp agenda suggestions
|
|
183
|
+
orp agenda focus
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
If you want to pin an explicit north star instead of relying on inferred context:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
orp agenda set-north-star "Advance the ocular controller and ORP ecosystems"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The practical model is:
|
|
193
|
+
|
|
194
|
+
- `agenda refresh` is a real Codex reasoning pass
|
|
195
|
+
- it reads current main-workspace context, GitHub pressure, connections, and opportunities
|
|
196
|
+
- it writes two saved ranked lists locally
|
|
197
|
+
- recurring agenda refreshes stay disabled until the user explicitly enables them
|
|
198
|
+
- the default scheduled windows are morning, afternoon, and evening, but the user can set custom times
|
|
199
|
+
- `focus` is the fastest operator and agent recall surface
|
|
200
|
+
|
|
201
|
+
## Opportunities Quick Start
|
|
202
|
+
|
|
203
|
+
Use `opportunities` when you want a separate editable list of contests, programs, grants, or other openings without mixing that into `workspace`.
|
|
204
|
+
|
|
205
|
+
Create one board:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
orp opportunities create main-opportunities --label "Main Opportunities"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Add one tracked item:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
orp opportunities add main-opportunities --title "vision-prize" --kind contest --section ocular-longevity --priority high --url https://example.com/vision-prize
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Inspect the current board:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
orp opportunities show main-opportunities
|
|
221
|
+
orp opportunities focus main-opportunities --limit 5
|
|
222
|
+
orp opportunities list
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Update or remove one item:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
orp opportunities update main-opportunities vision-prize --status submitted
|
|
229
|
+
orp opportunities remove main-opportunities vision-prize
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Mirror or restore the same board across machines once you authenticate:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
orp auth login
|
|
236
|
+
orp opportunities sync main-opportunities --json
|
|
237
|
+
orp opportunities pull main-opportunities --json
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
The practical model is:
|
|
241
|
+
|
|
242
|
+
- local board first, always usable without an account
|
|
243
|
+
- hosted mirror optional, for the same user across multiple rigs
|
|
244
|
+
- `sync` pushes the current local board to hosted ORP
|
|
245
|
+
- `pull` restores the hosted copy onto this machine
|
|
246
|
+
|
|
247
|
+
## Connections Quick Start
|
|
248
|
+
|
|
249
|
+
Use `connections` when you want one place to remember service accounts, data sources, deployment targets, and research destinations without storing raw credentials inline.
|
|
250
|
+
|
|
251
|
+
Inspect the built-in provider templates when they help:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
orp connections providers
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Add one saved connection that references an ORP secret alias:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
orp connections add github-main --provider github --label "GitHub Main" --account cody --organization sproutseeds --auth-secret-alias github-main
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
If one service needs several tokens, keep them together under named secret bindings:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
orp connections add huggingface-main --provider huggingface --label "Hugging Face" --account cody --secret-binding primary=hf-main --secret-binding publish=hf-publish --secret-binding inference=hf-inference
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
If ORP has never seen the service before, `custom` is still a normal first-class path:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
orp connections add my-science-portal --provider custom --label "My Science Portal" --url https://example.org --secret-binding primary=my-science-token
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Inspect or update the registry:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
orp connections show github-main
|
|
279
|
+
orp connections list
|
|
280
|
+
orp connections update github-main --status paused
|
|
281
|
+
orp connections remove github-main
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Mirror the same registry across machines once you authenticate:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
orp auth login
|
|
288
|
+
orp connections sync --json
|
|
289
|
+
orp connections pull --json
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
The practical model is:
|
|
293
|
+
|
|
294
|
+
- `secrets` holds the actual sensitive value
|
|
295
|
+
- `connections` holds the provider/account/capability record and which secret alias or named secret bindings power it
|
|
296
|
+
- built-in providers help you start faster, but `custom` works for anything new or niche
|
|
297
|
+
- hosted sync is optional and mirrors the whole registry for the same user
|
|
298
|
+
|
|
125
299
|
## Secrets Quick Start
|
|
126
300
|
|
|
127
301
|
Today, ORP secrets use the hosted ORP secret inventory as the canonical store, with optional local macOS Keychain caching. That means the real first step for secrets is:
|
|
@@ -242,10 +416,10 @@ orp agent work --once --json
|
|
|
242
416
|
Local desk and automation:
|
|
243
417
|
|
|
244
418
|
```bash
|
|
245
|
-
orp workspace create main-
|
|
419
|
+
orp workspace create mac-main --machine-label "Mac Studio"
|
|
246
420
|
orp workspace list
|
|
247
421
|
orp workspace tabs main
|
|
248
|
-
orp workspace add-tab main --path /absolute/path/to/project --resume-command "codex resume <id>"
|
|
422
|
+
orp workspace add-tab main --path /absolute/path/to/project --remote-url git@github.com:org/project.git --bootstrap-command "npm install" --resume-command "codex resume <id>"
|
|
249
423
|
orp workspace remove-tab main --path /absolute/path/to/project
|
|
250
424
|
orp workspace sync main
|
|
251
425
|
orp secrets list --json
|
|
@@ -263,7 +437,10 @@ For secrets, the simplest plain-English rule is:
|
|
|
263
437
|
Local governance:
|
|
264
438
|
|
|
265
439
|
```bash
|
|
266
|
-
orp
|
|
440
|
+
orp agents root set /absolute/path/to/projects
|
|
441
|
+
orp init --projects-root /absolute/path/to/projects
|
|
442
|
+
orp agents audit
|
|
443
|
+
orp agents sync
|
|
267
444
|
orp status --json
|
|
268
445
|
orp branch start work/<topic> --json
|
|
269
446
|
orp checkpoint create -m "describe completed unit" --json
|
|
@@ -336,21 +513,25 @@ Stable artifact paths:
|
|
|
336
513
|
2. Link to `orp/PROTOCOL.md` from your repo `README.md`.
|
|
337
514
|
3. Customize **Canonical Paths** inside `orp/PROTOCOL.md` to match your repo layout.
|
|
338
515
|
4. Run `orp init` in the repo root to establish ORP governance.
|
|
339
|
-
5.
|
|
340
|
-
6. Use
|
|
341
|
-
7.
|
|
516
|
+
5. If you keep many repos under one umbrella directory, run `orp agents root set /absolute/path/to/projects` once and let `orp init --projects-root /absolute/path/to/projects` link each child repo back to that parent guidance.
|
|
517
|
+
6. Use `orp agents audit` whenever you want to confirm `AGENTS.md` and `CLAUDE.md` are still aligned without overwriting human notes.
|
|
518
|
+
7. Use `orp status`, `orp branch start`, `orp checkpoint create`, and `orp backup` as the default implementation loop.
|
|
519
|
+
8. Use the templates for all new claims and verifications.
|
|
520
|
+
9. Optional (agent users): integrate ORP into your agent’s primary instruction file (see `orp/AGENT_INTEGRATION.md`).
|
|
342
521
|
|
|
343
522
|
## Quick start (new project)
|
|
344
523
|
|
|
345
524
|
1. Copy this folder into a new project directory.
|
|
346
|
-
2.
|
|
347
|
-
3.
|
|
348
|
-
4.
|
|
349
|
-
5.
|
|
350
|
-
6.
|
|
351
|
-
7.
|
|
352
|
-
8.
|
|
353
|
-
9.
|
|
525
|
+
2. If you keep projects under one umbrella directory, run `orp agents root set /absolute/path/to/projects` once from anywhere.
|
|
526
|
+
3. Run `orp init` immediately so the repo starts ORP-governed and scaffolds or updates `AGENTS.md` and `CLAUDE.md`.
|
|
527
|
+
4. Edit `PROTOCOL.md` to define your canonical paths and claim labels.
|
|
528
|
+
5. Run `orp agents audit` to confirm the repo-level agent files are aligned and still preserving human notes.
|
|
529
|
+
6. Start implementation on a work branch with `orp branch start`.
|
|
530
|
+
7. Create regular checkpoint commits with `orp checkpoint create`.
|
|
531
|
+
8. Use `orp backup` whenever you want ORP to capture current work to a dedicated remote backup ref.
|
|
532
|
+
9. Validate promotable task/decision/hypothesis artifacts with `orp kernel validate <path> --json`.
|
|
533
|
+
10. Start by adding one small claim + verification record using the templates.
|
|
534
|
+
11. Optional (agent users): integrate ORP into your agent’s primary instruction file (see `AGENT_INTEGRATION.md`).
|
|
354
535
|
|
|
355
536
|
**Activation is procedural/social, not runtime:** nothing “turns on” automatically. ORP works only if contributors follow it.
|
|
356
537
|
|