open-research-protocol 0.3.0
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 +94 -0
- package/INSTALL.md +159 -0
- package/LICENSE +22 -0
- package/PROTOCOL.md +140 -0
- package/README.md +312 -0
- package/bin/orp.js +38 -0
- package/cli/orp.py +3595 -0
- package/cone/CONTEXT_LOG.md +33 -0
- package/docs/AGENT_LOOP.md +63 -0
- package/docs/CHOOSING_OR_IGNORING_INSTRUMENTS.md +128 -0
- package/docs/CODA_ORP_CONTRACT.md +222 -0
- package/docs/CORE_ABILITY_REFOCUS_CHECKLIST.md +62 -0
- package/docs/DISCOVER.md +69 -0
- package/docs/EXTERNAL_CONTRIBUTION_GOVERNANCE.md +275 -0
- package/docs/MATHLIB_COLLABORATION_FLOW_PROMPT.md +112 -0
- package/docs/NPM_RELEASE_CHECKLIST.md +55 -0
- package/docs/ORP_V1_ATOMIC_DISCOVERY_EVOLUTION.md +186 -0
- package/docs/OSS_CONTRIBUTION_AGENT_LOOP.md +69 -0
- package/docs/PRESENTATION_BOW.md +100 -0
- package/docs/PROFILE_PACKS.md +227 -0
- package/docs/SUNFLOWER_CODA_PR_GOVERNANCE_MAPPING.md +77 -0
- package/docs/WHY_INSTRUMENTS.md +118 -0
- package/examples/README.md +21 -0
- package/examples/example_claim.md +33 -0
- package/examples/example_failed.md +24 -0
- package/examples/example_verification.md +36 -0
- package/examples/orp.erdos-problems.catalog.yml +88 -0
- package/examples/orp.external-pr-governance.yml +223 -0
- package/examples/orp.sunflower-coda.atomic.yml +144 -0
- package/examples/orp.sunflower-coda.live-compare.yml +181 -0
- package/examples/orp.sunflower-coda.pr-governance.yml +253 -0
- package/examples/packet.problem_scope.example.json +123 -0
- package/examples/reports/README.md +16 -0
- package/examples/reports/sunflower_live_compare_20.RUN_SUMMARY.md +37 -0
- package/examples/reports/sunflower_live_compare_367.RUN_SUMMARY.md +37 -0
- package/examples/reports/sunflower_live_compare_857.RUN_SUMMARY.md +37 -0
- package/llms.txt +58 -0
- package/modules/instruments/ADVERSARIAL/README.md +109 -0
- package/modules/instruments/ADVERSARIAL/TEMPLATE.md +27 -0
- package/modules/instruments/COMPRESSION/README.md +112 -0
- package/modules/instruments/COMPRESSION/TEMPLATE.md +27 -0
- package/modules/instruments/INSTRUMENT_TEMPLATE.md +30 -0
- package/modules/instruments/ORBIT/README.md +124 -0
- package/modules/instruments/ORBIT/TEMPLATE.md +28 -0
- package/modules/instruments/README.md +179 -0
- package/package.json +54 -0
- package/packs/README.md +16 -0
- package/packs/erdos-open-problems/README.md +287 -0
- package/packs/erdos-open-problems/data/README.md +43 -0
- package/packs/erdos-open-problems/data/erdos_open_problems.md +697 -0
- package/packs/erdos-open-problems/data/erdos_problems.active.json +15561 -0
- package/packs/erdos-open-problems/data/erdos_problems.all.json +26289 -0
- package/packs/erdos-open-problems/data/erdos_problems.closed.json +10760 -0
- package/packs/erdos-open-problems/data/erdos_problems.open.json +15561 -0
- package/packs/erdos-open-problems/docs/SUNFLOWER_ADAPTER_DEPENDENCIES.md +63 -0
- package/packs/erdos-open-problems/pack.yml +131 -0
- package/packs/erdos-open-problems/profiles/erdos-problems-catalog-sync.yml.tmpl +99 -0
- package/packs/erdos-open-problems/profiles/sunflower-live-compare.yml.tmpl +188 -0
- package/packs/erdos-open-problems/profiles/sunflower-mathlib-pr-governance.yml.tmpl +253 -0
- package/packs/erdos-open-problems/profiles/sunflower-problem857-discovery-public-repo.yml.tmpl +152 -0
- package/packs/erdos-open-problems/profiles/sunflower-problem857-discovery.yml.tmpl +154 -0
- package/packs/external-pr-governance/README.md +116 -0
- package/packs/external-pr-governance/adapters/formal-conjectures/README.md +35 -0
- package/packs/external-pr-governance/adapters/mathlib/README.md +37 -0
- package/packs/external-pr-governance/pack.yml +146 -0
- package/packs/external-pr-governance/profiles/oss-feedback-hardening.yml.tmpl +92 -0
- package/packs/external-pr-governance/profiles/oss-pr-governance.yml.tmpl +233 -0
- package/packs/issue-smashers/README.md +92 -0
- package/packs/issue-smashers/adapters/formal-conjectures/README.md +17 -0
- package/packs/issue-smashers/adapters/generic-github/README.md +16 -0
- package/packs/issue-smashers/adapters/mathlib/README.md +32 -0
- package/packs/issue-smashers/bootstrap/README.md +19 -0
- package/packs/issue-smashers/bootstrap/setup-issue-smashers.sh +18 -0
- package/packs/issue-smashers/examples/issue-smashers.workspace.yml +24 -0
- package/packs/issue-smashers/pack.yml +178 -0
- package/packs/issue-smashers/profiles/issue-smashers-feedback-hardening.yml.tmpl +102 -0
- package/packs/issue-smashers/profiles/issue-smashers.yml.tmpl +258 -0
- package/scripts/npm-postinstall-check.js +31 -0
- package/scripts/orp +11 -0
- package/scripts/orp-agent-integrate.sh +197 -0
- package/scripts/orp-checkpoint.sh +184 -0
- package/scripts/orp-erdos-problems-sync.py +580 -0
- package/scripts/orp-init.sh +50 -0
- package/scripts/orp-pack-fetch.py +155 -0
- package/scripts/orp-pack-install.py +2273 -0
- package/scripts/orp-pack-render.py +188 -0
- package/spec/v1/LIFECYCLE_MAPPING.md +40 -0
- package/spec/v1/orp.config.schema.json +385 -0
- package/spec/v1/packet.schema.json +552 -0
- package/spec/v1/profile-pack.schema.json +95 -0
- package/templates/CLAIM.md +33 -0
- package/templates/FAILED_TOPIC.md +19 -0
- package/templates/ISSUE_TEMPLATE.md +22 -0
- package/templates/VERIFICATION_RECORD.md +34 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# ORP + Instruments — A Calm Introduction
|
|
2
|
+
|
|
3
|
+
> *A protocol for truth under pressure, with optional ways of seeing.*
|
|
4
|
+
|
|
5
|
+
This short document ties together ORP and Instruments for presentation. It is not exhaustive. It is meant to orient, reassure, and invite.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What ORP Is
|
|
10
|
+
|
|
11
|
+
ORP (Open Research Protocol) governs **what happens after a claim is made**:
|
|
12
|
+
|
|
13
|
+
- claims must be explicit
|
|
14
|
+
- verification must be concrete
|
|
15
|
+
- failures are recorded, not hidden
|
|
16
|
+
- disagreement resolves by evidence, not argument
|
|
17
|
+
|
|
18
|
+
ORP is intentionally minimal. It does not tell you *what to think* or *how to explore*.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Why Instruments Exist
|
|
23
|
+
|
|
24
|
+
Most disagreement begins **before** claims — at framing.
|
|
25
|
+
|
|
26
|
+
Instruments are optional, process-only tools that help choose a reference frame *before* making a claim. They influence questions, not outcomes.
|
|
27
|
+
|
|
28
|
+
- ORP governs truth
|
|
29
|
+
- Instruments explore reality
|
|
30
|
+
|
|
31
|
+
Verification is blind to instruments.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## The Relationship (One Glance)
|
|
36
|
+
|
|
37
|
+
Curiosity
|
|
38
|
+
↓
|
|
39
|
+
[ Instrument (optional) ] → predictions / focus
|
|
40
|
+
↓
|
|
41
|
+
Claim (ORP)
|
|
42
|
+
↓
|
|
43
|
+
Verification
|
|
44
|
+
↓
|
|
45
|
+
✓ Accepted | ✗ Downgraded / Failed (recorded)
|
|
46
|
+
|
|
47
|
+
You may enter at any point. Instruments are never required.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## The Initial Instrument Set
|
|
52
|
+
|
|
53
|
+
These instruments are **examples**, not requirements:
|
|
54
|
+
|
|
55
|
+
- **Orbit Lens** — persistence, balance, gradients, stability
|
|
56
|
+
- **Compression Lens** — essence, invariants, minimal description
|
|
57
|
+
- **Adversarial Lens** — failure modes, counterexamples, robustness
|
|
58
|
+
|
|
59
|
+
They are orthogonal. Use one, several, or none.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## How to Choose (or Not)
|
|
64
|
+
|
|
65
|
+
- If the problem feels unclear → try an instrument
|
|
66
|
+
- If the claim is obvious → skip instruments
|
|
67
|
+
- If framing helps → use it
|
|
68
|
+
- If it doesn’t → ignore it
|
|
69
|
+
|
|
70
|
+
ORP works either way.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Invitation
|
|
75
|
+
|
|
76
|
+
If you notice a repeatable way of seeing that:
|
|
77
|
+
- reveals structure,
|
|
78
|
+
- generates predictions,
|
|
79
|
+
- or exposes failure modes,
|
|
80
|
+
|
|
81
|
+
that may be a new instrument.
|
|
82
|
+
|
|
83
|
+
Create it. Share it. Discard it if it fails.
|
|
84
|
+
|
|
85
|
+
ORP will still work.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Closing
|
|
90
|
+
|
|
91
|
+
This system is designed to:
|
|
92
|
+
- reduce ego
|
|
93
|
+
- increase clarity
|
|
94
|
+
- preserve failed work
|
|
95
|
+
- allow multiple perspectives without multiple truths
|
|
96
|
+
|
|
97
|
+
It offers a place to stand, not a path to follow.
|
|
98
|
+
|
|
99
|
+
*Use what helps. Ignore the rest.*
|
|
100
|
+
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# ORP Profile Packs (v1 Draft)
|
|
2
|
+
|
|
3
|
+
This is now an advanced/internal ORP surface.
|
|
4
|
+
|
|
5
|
+
If you are using ORP normally, prefer:
|
|
6
|
+
|
|
7
|
+
- `orp collaborate ...` for collaboration
|
|
8
|
+
- `orp erdos ...` for Erdos-specific work
|
|
9
|
+
|
|
10
|
+
Read this document when you are maintaining ORP, installing domain templates
|
|
11
|
+
directly, or working on pack internals.
|
|
12
|
+
|
|
13
|
+
Profile packs let ORP stay general while domain experts publish reusable workflows for specific problem sets.
|
|
14
|
+
|
|
15
|
+
## Core principle
|
|
16
|
+
|
|
17
|
+
- ORP core: generic runtime/spec/lifecycle.
|
|
18
|
+
- Profile packs: optional domain bundles (gates, profiles, adapters, docs).
|
|
19
|
+
|
|
20
|
+
This keeps one stable ORP runtime while enabling many ecosystems.
|
|
21
|
+
|
|
22
|
+
## Pack layout
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
packs/<pack-id>/
|
|
26
|
+
pack.yml
|
|
27
|
+
README.md
|
|
28
|
+
profiles/
|
|
29
|
+
*.yml.tmpl
|
|
30
|
+
adapters/ # optional
|
|
31
|
+
docs/ # optional
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## `pack.yml` metadata
|
|
35
|
+
|
|
36
|
+
Canonical fields:
|
|
37
|
+
|
|
38
|
+
- `schema_version`: `1.0.0`
|
|
39
|
+
- `pack_id`: stable id
|
|
40
|
+
- `name`, `version`, `description`
|
|
41
|
+
- `orp_version_min`: optional compatibility floor
|
|
42
|
+
- `variables`: render-time variables (for example `TARGET_REPO_ROOT`)
|
|
43
|
+
- `templates`: available config templates
|
|
44
|
+
|
|
45
|
+
Schema:
|
|
46
|
+
|
|
47
|
+
- `spec/v1/profile-pack.schema.json`
|
|
48
|
+
|
|
49
|
+
## Template variables
|
|
50
|
+
|
|
51
|
+
Templates use `{{VAR_NAME}}` placeholders.
|
|
52
|
+
|
|
53
|
+
Example:
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
working_dir: {{TARGET_REPO_ROOT}}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Render-time values are supplied via `--var KEY=VALUE`.
|
|
60
|
+
|
|
61
|
+
## Install flow (fresh ORP -> pack adoption)
|
|
62
|
+
|
|
63
|
+
Recommended via ORP CLI:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
orp pack list
|
|
67
|
+
|
|
68
|
+
orp pack install \
|
|
69
|
+
--pack-id erdos-open-problems
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If developing ORP locally, the equivalent command is `./scripts/orp`.
|
|
73
|
+
|
|
74
|
+
External pack source via CLI-only flow:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
orp pack fetch \
|
|
78
|
+
--source https://github.com/example/orp-packs.git \
|
|
79
|
+
--pack-id erdos-open-problems \
|
|
80
|
+
--install-target /path/to/repo
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
This installs rendered config files and writes a dependency audit report:
|
|
84
|
+
|
|
85
|
+
- `./orp.erdos-catalog-sync.yml`
|
|
86
|
+
- `./orp.erdos-live-compare.yml`
|
|
87
|
+
- `./orp.erdos-problem857.yml`
|
|
88
|
+
- `./orp.erdos.pack-install-report.md`
|
|
89
|
+
|
|
90
|
+
Issue Smashers workspace install:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
orp pack install \
|
|
94
|
+
--pack-id issue-smashers
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
This writes:
|
|
98
|
+
|
|
99
|
+
- `./orp.issue-smashers.yml`
|
|
100
|
+
- `./orp.issue-smashers-feedback-hardening.yml`
|
|
101
|
+
- `./orp.issue-smashers.pack-install-report.md`
|
|
102
|
+
- `./issue-smashers/README.md`
|
|
103
|
+
- `./issue-smashers/WORKSPACE_RULES.md`
|
|
104
|
+
- `./issue-smashers/setup-issue-smashers.sh`
|
|
105
|
+
- `./issue-smashers/analysis/ISSUE_SMASHERS_WATCHLIST.json`
|
|
106
|
+
- `./issue-smashers/analysis/ISSUE_SMASHERS_STATUS.md`
|
|
107
|
+
- `./issue-smashers/analysis/PR_DRAFT_BODY.md`
|
|
108
|
+
|
|
109
|
+
Use this pack when you want the generic external contribution lifecycle plus a
|
|
110
|
+
standard workspace convention for multi-repo issue work. It does not clone repos
|
|
111
|
+
automatically and it keeps command hooks install-and-adapt by default.
|
|
112
|
+
|
|
113
|
+
Default install behavior is starter-friendly:
|
|
114
|
+
|
|
115
|
+
- includes `catalog`, `live_compare`, and `problem857`,
|
|
116
|
+
- scaffolds starter 857/20/367 board scripts + board JSON seeds for install-and-go,
|
|
117
|
+
- keeps `governance` optional.
|
|
118
|
+
|
|
119
|
+
Public-only setup (no private adapters yet):
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
orp pack install \
|
|
123
|
+
--pack-id erdos-open-problems \
|
|
124
|
+
--include catalog
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Clean-room public pack cycle:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
orp pack install \
|
|
131
|
+
--pack-id erdos-open-problems \
|
|
132
|
+
--include catalog
|
|
133
|
+
|
|
134
|
+
orp --config orp.erdos-catalog-sync.yml \
|
|
135
|
+
gate run --profile erdos_catalog_sync_active
|
|
136
|
+
|
|
137
|
+
orp report summary
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
This path has been validated against the published npm package in a fresh directory and is the recommended first pack workflow.
|
|
141
|
+
|
|
142
|
+
Clean-room public Problem 857 cycle:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
orp pack install \
|
|
146
|
+
--pack-id erdos-open-problems \
|
|
147
|
+
--include problem857
|
|
148
|
+
|
|
149
|
+
orp erdos sync \
|
|
150
|
+
--problem-id 857 \
|
|
151
|
+
--out-problem-dir analysis/erdos_problems/selected
|
|
152
|
+
|
|
153
|
+
orp --config orp.erdos-problem857.yml \
|
|
154
|
+
gate run --profile sunflower_problem857_discovery
|
|
155
|
+
|
|
156
|
+
orp report summary
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
This lane remains starter-heavy overall, but `spec_faithfulness` now performs a real public consistency check against the synced Problem 857 payload.
|
|
160
|
+
|
|
161
|
+
If you want a fresh repo to pull the real public `sunflower-lean` repo instead of starter-only 857 scaffolding, install with:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
orp pack install \
|
|
165
|
+
--pack-id erdos-open-problems \
|
|
166
|
+
--include problem857 \
|
|
167
|
+
--var PROBLEM857_SOURCE_MODE=public_repo \
|
|
168
|
+
--var PROBLEM857_PUBLIC_REPO_URL=https://github.com/SproutSeeds/sunflower-lean
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
This syncs the public Lean repo into `sunflower_lean/` and generates the ORP-owned 857 bridge files that the discovery workflow needs.
|
|
172
|
+
|
|
173
|
+
Strict mode for private adapter readiness:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
./scripts/orp pack install \
|
|
177
|
+
--pack-id erdos-open-problems \
|
|
178
|
+
--target-repo-root /path/to/sunflower-coda/repo \
|
|
179
|
+
--include live_compare \
|
|
180
|
+
--include problem857 \
|
|
181
|
+
--include governance \
|
|
182
|
+
--no-bootstrap \
|
|
183
|
+
--strict-deps
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Manual render path (advanced):
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
python3 scripts/orp-pack-render.py --pack packs/erdos-open-problems --list
|
|
190
|
+
python3 scripts/orp-pack-render.py --pack packs/erdos-open-problems --template sunflower_live_compare_suite \
|
|
191
|
+
--var TARGET_REPO_ROOT=/path/to/repo --out /path/to/repo/orp.erdos-live-compare.yml
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Then run ORP with the rendered config:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
orp --repo-root /path/to/scratch-repo --config /path/to/repo/orp.erdos-live-compare.yml \
|
|
198
|
+
gate run --profile sunflower_live_compare_857
|
|
199
|
+
|
|
200
|
+
orp --repo-root /path/to/scratch-repo report summary --run-id <run_id>
|
|
201
|
+
|
|
202
|
+
export ORP_ISSUE_NUMBER=34959
|
|
203
|
+
export ORP_BRANCH_NAME=cody/issue-34959-cancellation-bounds
|
|
204
|
+
export ORP_NATURALITY_MODULE=Mathlib/Combinatorics/SetFamily/Shade
|
|
205
|
+
export ORP_PR_BODY_FILE=/path/to/repo/analysis/MATHLIB_DRAFT_PR_BODY.md
|
|
206
|
+
|
|
207
|
+
orp --repo-root /path/to/scratch-repo --config /path/to/repo/orp.erdos-mathlib-pr-governance.yml \
|
|
208
|
+
gate run --profile sunflower_mathlib_full_flow
|
|
209
|
+
|
|
210
|
+
orp --repo-root /path/to/scratch-repo --config /path/to/repo/orp.erdos-catalog-sync.yml \
|
|
211
|
+
gate run --profile erdos_catalog_sync_active
|
|
212
|
+
|
|
213
|
+
orp erdos sync --problem-id 857 --problem-id 20
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Publishing model
|
|
217
|
+
|
|
218
|
+
- Packs can live in this repo (`packs/`) or external repos.
|
|
219
|
+
- Users can copy/install packs without changing ORP core.
|
|
220
|
+
- Version packs independently (for example `0.1.0`, `0.2.0`).
|
|
221
|
+
|
|
222
|
+
## Quality guidance
|
|
223
|
+
|
|
224
|
+
- Keep templates repo-agnostic (no personal absolute paths).
|
|
225
|
+
- Keep required variables minimal.
|
|
226
|
+
- Document assumptions in pack README.
|
|
227
|
+
- Prefer profile variants over hardcoded behavior in ORP core.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Sunflower-Coda PR Governance Mapping (ORP)
|
|
2
|
+
|
|
3
|
+
Date analyzed: 2026-03-05
|
|
4
|
+
|
|
5
|
+
For the generalized cross-ecosystem version, read:
|
|
6
|
+
|
|
7
|
+
- `docs/EXTERNAL_CONTRIBUTION_GOVERNANCE.md`
|
|
8
|
+
|
|
9
|
+
This note maps live `sunflower-coda/repo` PR-governance flow into ORP profile-pack gates without hardwiring ORP core to one team.
|
|
10
|
+
|
|
11
|
+
## Sources reviewed
|
|
12
|
+
|
|
13
|
+
- `docs/MATHLIB_SUBMISSION_CHECKLIST.md`
|
|
14
|
+
- `docs/MATHLIB_ISSUE_VIABILITY_GATE.md`
|
|
15
|
+
- `docs/MATHLIB_DRAFT_PR_TEMPLATE.md`
|
|
16
|
+
- `docs/UPSTREAM_PR_LANE.md`
|
|
17
|
+
- `docs/UPSTREAM_SCOUT_LOOP.md`
|
|
18
|
+
- `scripts/mathlib-issue-viability-gate.py`
|
|
19
|
+
- `scripts/mathlib-issue-local-gate.sh`
|
|
20
|
+
- `scripts/mathlib-tighten-fine-tooth-gate.sh`
|
|
21
|
+
- `scripts/mathlib-ready-to-draft-gate.sh`
|
|
22
|
+
- `scripts/mathlib-pr-body-preflight.py`
|
|
23
|
+
- `scripts/upstream-pr-lane.sh`
|
|
24
|
+
- `scripts/upstream-pr-plan.py`
|
|
25
|
+
|
|
26
|
+
## Live contract extracted
|
|
27
|
+
|
|
28
|
+
- Viability decision contract:
|
|
29
|
+
- `PASS`, `COORDINATE`, `CLOSE_CANDIDATE`, `BLOCKED_NOT_OPEN`
|
|
30
|
+
- gate output key: `decision=<...>`
|
|
31
|
+
- Queue policy contract (anti-spam):
|
|
32
|
+
- `policy.submission_mode=<...>`
|
|
33
|
+
- `policy.max_prs_per_session=<...>`
|
|
34
|
+
- `policy.require_explicit_approval=<...>`
|
|
35
|
+
- Local gate contract:
|
|
36
|
+
- `gate=PASS`
|
|
37
|
+
- marker output: `marker_file=...`
|
|
38
|
+
- Tighten gate contract:
|
|
39
|
+
- `tighten_fine_tooth=PASS`
|
|
40
|
+
- Ready-to-draft contract:
|
|
41
|
+
- `ready_to_draft=PASS`
|
|
42
|
+
- PR body preflight contract:
|
|
43
|
+
- `gate=PASS`
|
|
44
|
+
- includes metrics line (`metrics: ...`)
|
|
45
|
+
|
|
46
|
+
## ORP representation
|
|
47
|
+
|
|
48
|
+
Added template:
|
|
49
|
+
|
|
50
|
+
- `packs/erdos-open-problems/profiles/sunflower-mathlib-pr-governance.yml.tmpl`
|
|
51
|
+
|
|
52
|
+
Profiles:
|
|
53
|
+
|
|
54
|
+
- `sunflower_mathlib_pre_open`
|
|
55
|
+
- checklist presence
|
|
56
|
+
- queue policy guard
|
|
57
|
+
- lane checklist snapshot
|
|
58
|
+
- issue viability decision
|
|
59
|
+
- naturality snippet
|
|
60
|
+
- `sunflower_mathlib_draft_readiness`
|
|
61
|
+
- local issue gate (core build/lint only)
|
|
62
|
+
- tighten/fine-tooth
|
|
63
|
+
- ready-to-draft freeze
|
|
64
|
+
- PR body preflight
|
|
65
|
+
- `sunflower_mathlib_full_flow`
|
|
66
|
+
- combined pre-open + draft-readiness gates
|
|
67
|
+
|
|
68
|
+
## Why this stays general
|
|
69
|
+
|
|
70
|
+
- ORP core remains unchanged (`spec + runtime + packets`).
|
|
71
|
+
- Sunflower/mathlib details live in an optional pack template.
|
|
72
|
+
- The same runtime can execute different packs for different ecosystems.
|
|
73
|
+
- Runtime inputs are parameterized:
|
|
74
|
+
- `TARGET_REPO_ROOT`, `MATHLIB_REPO_ROOT`, policy defaults
|
|
75
|
+
- per-run env (`ORP_ISSUE_NUMBER`, `ORP_BRANCH_NAME`, `ORP_NATURALITY_MODULE`, `ORP_PR_BODY_FILE`, `ORP_READY_NOTE`)
|
|
76
|
+
|
|
77
|
+
This keeps ORP broadly reusable while preserving high-rigor local gate behavior for your active workflow.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Why Instruments
|
|
2
|
+
|
|
3
|
+
> *No single lens owns understanding.*
|
|
4
|
+
|
|
5
|
+
ORP was built to govern **truth under pressure**.
|
|
6
|
+
Instruments exist to explore reality *before* truth is claimed.
|
|
7
|
+
|
|
8
|
+
This document explains why instruments matter — and invites you to create your own.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Why Instruments Exist
|
|
13
|
+
|
|
14
|
+
Most disagreements do not begin at verification.
|
|
15
|
+
They begin much earlier — at framing.
|
|
16
|
+
|
|
17
|
+
Two people can look at the same system and ask different questions:
|
|
18
|
+
- one looks for balance,
|
|
19
|
+
- another looks for failure,
|
|
20
|
+
- another looks for essence.
|
|
21
|
+
|
|
22
|
+
None of these are wrong.
|
|
23
|
+
They are **different instruments**.
|
|
24
|
+
|
|
25
|
+
ORP makes room for this reality instead of fighting it.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## What Instruments Are (and Are Not)
|
|
30
|
+
|
|
31
|
+
Instruments are:
|
|
32
|
+
- ways of choosing a reference frame
|
|
33
|
+
- tools for generating better questions
|
|
34
|
+
- methods for producing testable predictions
|
|
35
|
+
|
|
36
|
+
Instruments are not:
|
|
37
|
+
- claims
|
|
38
|
+
- evidence
|
|
39
|
+
- conclusions
|
|
40
|
+
- authorities
|
|
41
|
+
|
|
42
|
+
ORP governs claims.
|
|
43
|
+
Instruments guide curiosity.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Why Modularity Matters
|
|
48
|
+
|
|
49
|
+
If ORP required a single framing, it would eventually fail.
|
|
50
|
+
|
|
51
|
+
Truth survives by being:
|
|
52
|
+
- approached from multiple angles
|
|
53
|
+
- stressed by incompatible questions
|
|
54
|
+
- verified independently of framing
|
|
55
|
+
|
|
56
|
+
Modular instruments allow this without chaos.
|
|
57
|
+
|
|
58
|
+
You may:
|
|
59
|
+
- use one instrument
|
|
60
|
+
- use several
|
|
61
|
+
- ignore them entirely
|
|
62
|
+
|
|
63
|
+
ORP still works.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## A Place to Stand, Not a Path to Follow
|
|
68
|
+
|
|
69
|
+
Instruments do not tell you where to go.
|
|
70
|
+
They give you a place to stand and look.
|
|
71
|
+
|
|
72
|
+
You are free to:
|
|
73
|
+
- discard an instrument
|
|
74
|
+
- combine instruments
|
|
75
|
+
- invent a new one
|
|
76
|
+
|
|
77
|
+
What matters is what happens **after** claims are made.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Invitation: Create an Instrument
|
|
82
|
+
|
|
83
|
+
If you notice a repeatable way of seeing that:
|
|
84
|
+
- reveals new structure,
|
|
85
|
+
- generates predictions,
|
|
86
|
+
- or exposes hidden failure modes,
|
|
87
|
+
|
|
88
|
+
that may be an instrument.
|
|
89
|
+
|
|
90
|
+
You are invited to:
|
|
91
|
+
- write it down
|
|
92
|
+
- make it process-only
|
|
93
|
+
- define its forces and invariants
|
|
94
|
+
- share it as a module
|
|
95
|
+
|
|
96
|
+
No permission required.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## The Only Constraint
|
|
101
|
+
|
|
102
|
+
Every instrument must ultimately answer to verification.
|
|
103
|
+
|
|
104
|
+
If it helps generate true claims, it belongs.
|
|
105
|
+
If it does not, it will naturally fall away.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Closing
|
|
110
|
+
|
|
111
|
+
Truth does not come from unanimity.
|
|
112
|
+
It comes from well-governed interaction between perspectives.
|
|
113
|
+
|
|
114
|
+
ORP is the harbor.
|
|
115
|
+
Instruments are the vessels.
|
|
116
|
+
|
|
117
|
+
*Bring the one you need — or build a new one.*
|
|
118
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Examples (non-exhaustive)
|
|
2
|
+
|
|
3
|
+
These files are intentionally **minimal** and **illustrative**.
|
|
4
|
+
|
|
5
|
+
- Treat `templates/` as the canonical spec for fields/structure.
|
|
6
|
+
- Treat `PROTOCOL.md` as the canonical spec for workflow rules.
|
|
7
|
+
- Do not treat examples as checklists or requirements.
|
|
8
|
+
|
|
9
|
+
Additional v1 runtime draft examples:
|
|
10
|
+
|
|
11
|
+
- `orp.sunflower-coda.atomic.yml` — discovery-first profile for atomic board workflows.
|
|
12
|
+
- `orp.sunflower-coda.live-compare.yml` — side-by-side gate-compare profiles for sunflower Problems 857/20/367.
|
|
13
|
+
- `orp.sunflower-coda.pr-governance.yml` — local-first PR governance profile set (pre-open, draft-readiness, full flow).
|
|
14
|
+
- `orp.external-pr-governance.yml` — generic external OSS contribution governance example.
|
|
15
|
+
- `orp.erdos-problems.catalog.yml` — Erdos catalog sync profile (all/open/closed + open-default active set).
|
|
16
|
+
- `packet.problem_scope.example.json` — example `problem_scope` packet with board/ticket/gate/atom context.
|
|
17
|
+
- `reports/` — example one-page run summaries for sunflower live-compare profiles.
|
|
18
|
+
|
|
19
|
+
Pack install flow can generate these config files automatically:
|
|
20
|
+
|
|
21
|
+
- `orp pack install --pack-id erdos-open-problems`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Example Claim (Heuristic)
|
|
2
|
+
|
|
3
|
+
## Title
|
|
4
|
+
Observed improvement from optimization pass
|
|
5
|
+
|
|
6
|
+
## Claim ID
|
|
7
|
+
`CLAIM-20260120-optimizer-speedup`
|
|
8
|
+
|
|
9
|
+
## Claim Level
|
|
10
|
+
Heuristic
|
|
11
|
+
|
|
12
|
+
## Statement
|
|
13
|
+
After tuning parameters X/Y, runtime appears ~25% faster on workload W on machine M.
|
|
14
|
+
|
|
15
|
+
## Scope / Assumptions
|
|
16
|
+
Single machine, single dataset; no cross-hardware validation yet.
|
|
17
|
+
|
|
18
|
+
## Canonical Artifacts
|
|
19
|
+
- `analysis/benchmarks/run_20260120.json`
|
|
20
|
+
- `analysis/benchmarks/log_20260120.txt`
|
|
21
|
+
|
|
22
|
+
## Verification Hook
|
|
23
|
+
- Command(s):
|
|
24
|
+
- `python3 analysis/benchmarks/run.py --config analysis/benchmarks/config.json`
|
|
25
|
+
- Expected outputs:
|
|
26
|
+
- A benchmark JSON and log file with comparable metrics.
|
|
27
|
+
|
|
28
|
+
## Status
|
|
29
|
+
In review
|
|
30
|
+
|
|
31
|
+
## Next Hook
|
|
32
|
+
Run the same benchmark on a second machine and upgrade to Verified if consistent.
|
|
33
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Example Failed Path Record
|
|
2
|
+
|
|
3
|
+
## Topic
|
|
4
|
+
Attempted proof strategy based on assumption A
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
The approach fails because assumption A does not hold in general (counterexample found).
|
|
8
|
+
|
|
9
|
+
## What was attempted
|
|
10
|
+
Tried to derive property P from assumption A using lemma L and case split.
|
|
11
|
+
|
|
12
|
+
## Why it failed
|
|
13
|
+
Counterexample: artifact `analysis/counterexamples/case_001.json` violates lemma precondition.
|
|
14
|
+
|
|
15
|
+
## Evidence
|
|
16
|
+
- `analysis/counterexamples/case_001.json`
|
|
17
|
+
- `analysis/notes/attempt_20260120.md`
|
|
18
|
+
|
|
19
|
+
## What this rules out
|
|
20
|
+
Any proof relying on assumption A as a global invariant.
|
|
21
|
+
|
|
22
|
+
## What might still work (next hook)
|
|
23
|
+
Restrict to a narrower class where assumption A holds, or replace A with weaker condition A'.
|
|
24
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Example Verification Record (INCONCLUSIVE → downgrade)
|
|
2
|
+
|
|
3
|
+
## Verified Claim ID
|
|
4
|
+
`CLAIM-20260120-optimizer-speedup`
|
|
5
|
+
|
|
6
|
+
## Verifier
|
|
7
|
+
`someone-else`
|
|
8
|
+
|
|
9
|
+
## Date
|
|
10
|
+
2026-01-20
|
|
11
|
+
|
|
12
|
+
## Environment
|
|
13
|
+
- OS / hardware: Linux x86_64
|
|
14
|
+
- Python: 3.12
|
|
15
|
+
|
|
16
|
+
## Inputs
|
|
17
|
+
- `analysis/benchmarks/config.json`
|
|
18
|
+
|
|
19
|
+
## Commands Run
|
|
20
|
+
`python3 analysis/benchmarks/run.py --config analysis/benchmarks/config.json`
|
|
21
|
+
|
|
22
|
+
## Outputs
|
|
23
|
+
- `analysis/benchmarks/run_20260120_verifier.json`
|
|
24
|
+
|
|
25
|
+
## Result
|
|
26
|
+
INCONCLUSIVE
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
Verifier could not reproduce the claimed speedup because the benchmark uses a non-deterministic source and lacks fixed seeds.
|
|
30
|
+
|
|
31
|
+
## Default action if FAIL/INCONCLUSIVE
|
|
32
|
+
Downgrade the claim to Conjecture (or keep Heuristic but mark “blocked by determinism”).
|
|
33
|
+
|
|
34
|
+
## Next Hook
|
|
35
|
+
Add deterministic seeding and re-run the benchmark.
|
|
36
|
+
|