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,94 @@
|
|
|
1
|
+
# Agent Integration (Agentic Flow)
|
|
2
|
+
|
|
3
|
+
If you use an AI agent that reads a **primary instruction Markdown file** (agent-specific; the agent will know the filename),
|
|
4
|
+
integrate ORP by adding an **ORP section** to that file.
|
|
5
|
+
|
|
6
|
+
This makes ORP the agent’s default operating mode: explicit claim levels, reproducible verification, first-class failed paths,
|
|
7
|
+
and dispute resolution by verification/downgrade (not debate).
|
|
8
|
+
|
|
9
|
+
## Agent discovery surfaces
|
|
10
|
+
|
|
11
|
+
Before deeper work, agents can discover ORP through three lightweight entry points:
|
|
12
|
+
|
|
13
|
+
- `llms.txt` — concise repo/package map for agents that scan docs before acting.
|
|
14
|
+
- `orp about --json` — machine-readable tool metadata, stable artifact paths, schemas, and available packs.
|
|
15
|
+
- `orp pack list --json` — machine-readable inventory of bundled packs.
|
|
16
|
+
- `docs/AGENT_LOOP.md` — canonical ORP operating rhythm for agent-led workflows.
|
|
17
|
+
|
|
18
|
+
## What to add to your agent’s instruction file
|
|
19
|
+
|
|
20
|
+
Copy/paste this section into your agent’s main instruction Markdown file:
|
|
21
|
+
|
|
22
|
+
<!-- ORP:BEGIN -->
|
|
23
|
+
## Open Research Protocol (ORP)
|
|
24
|
+
|
|
25
|
+
**Non-negotiable boundary:** ORP docs/templates are **process-only** and are **not evidence**. Evidence must live in canonical
|
|
26
|
+
artifact paths (code/data/proofs/logs/papers).
|
|
27
|
+
|
|
28
|
+
### Default operating rules
|
|
29
|
+
|
|
30
|
+
- **Always label claims** as one of: **Exact / Verified / Heuristic / Conjecture**.
|
|
31
|
+
- If unsure, **downgrade** rather than overclaim.
|
|
32
|
+
- For **Exact/Verified**: include a **Verification Hook** (commands + expected outputs + determinism notes) and produce a
|
|
33
|
+
**Verification Record** with **PASS / FAIL / INCONCLUSIVE**.
|
|
34
|
+
- If verification is **FAIL**: **downgrade immediately** and link the failure evidence.
|
|
35
|
+
- Treat **failed paths** as assets: record dead ends as a `Failed Path Record` with the blocking reason/counterexample and a
|
|
36
|
+
next hook.
|
|
37
|
+
- Resolve disputes by **verification or downgrade**, not argument.
|
|
38
|
+
|
|
39
|
+
### How to work in an ORP repo
|
|
40
|
+
|
|
41
|
+
- Before starting: read `PROTOCOL.md` and confirm the project’s **Canonical Paths** are defined.
|
|
42
|
+
- When proposing a result: create/update a claim (via `templates/CLAIM.md`) that points to canonical artifacts (not ORP docs).
|
|
43
|
+
- When verifying: run the hook and write `templates/VERIFICATION_RECORD.md`.
|
|
44
|
+
- When something fails: write `templates/FAILED_TOPIC.md` and link it from the claim/issue.
|
|
45
|
+
|
|
46
|
+
### Instruments (optional; upstream framing only)
|
|
47
|
+
|
|
48
|
+
- ORP may include optional Instruments under `modules/instruments/` (e.g., Orbit / Compression / Adversarial).
|
|
49
|
+
- Instruments are **process-only** and must not contain evidence/results. Verification remains blind to instruments.
|
|
50
|
+
- If an Instrument is used, note it in the claim’s **Instrument (optional)** section (name + parameters explored).
|
|
51
|
+
|
|
52
|
+
### Protocol sync checks (required)
|
|
53
|
+
|
|
54
|
+
To prevent drift (especially after **context compaction / summarization**), re-check ORP and re-sync this block:
|
|
55
|
+
|
|
56
|
+
- at **session start** / **new task**,
|
|
57
|
+
- **immediately after any context compaction/summarization**,
|
|
58
|
+
- before publishing any **Verified/Exact** claim,
|
|
59
|
+
- after pulling/updating ORP files in the repo.
|
|
60
|
+
|
|
61
|
+
Sync procedure:
|
|
62
|
+
1) Find the ORP root directory (the folder containing `PROTOCOL.md`).
|
|
63
|
+
2) Ensure this ORP block matches `<ORP_ROOT>/AGENT_INTEGRATION.md` (between `<!-- ORP:BEGIN -->` and `<!-- ORP:END -->`).
|
|
64
|
+
3) If out of date, sync it (script or manual):
|
|
65
|
+
- `<ORP_ROOT>/scripts/orp-agent-integrate.sh --sync /path/to/your/agent/instructions.md`
|
|
66
|
+
|
|
67
|
+
### ORP checkpoint tool (recommended for agent workflows)
|
|
68
|
+
|
|
69
|
+
Use the checkpoint tool to keep handoffs/compactions honest and to reduce “drift-by-forgetting” before `git commit` / `git push`.
|
|
70
|
+
|
|
71
|
+
- Command:
|
|
72
|
+
- `<ORP_ROOT>/scripts/orp-checkpoint.sh --sync --agent-file /path/to/your/agent/instructions.md "checkpoint note"`
|
|
73
|
+
- Recommended moments:
|
|
74
|
+
- after context compaction/summarization or handoff
|
|
75
|
+
- before `git commit` / `git push`
|
|
76
|
+
- before publishing any **Verified/Exact** claim
|
|
77
|
+
|
|
78
|
+
This writes a process-only entry to `<ORP_ROOT>/cone/CONTEXT_LOG.md` and reports ORP snippet sync status.
|
|
79
|
+
|
|
80
|
+
<!-- ORP:END -->
|
|
81
|
+
|
|
82
|
+
## Optional helper script
|
|
83
|
+
|
|
84
|
+
If you want an automated insert into a file you specify, use:
|
|
85
|
+
|
|
86
|
+
```sh
|
|
87
|
+
./scripts/orp-agent-integrate.sh --sync /path/to/your/agent/instructions.md
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
To check for drift (no changes), use:
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
./scripts/orp-agent-integrate.sh --check /path/to/your/agent/instructions.md
|
|
94
|
+
```
|
package/INSTALL.md
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Installing ORP into a repo
|
|
2
|
+
|
|
3
|
+
ORP supports both:
|
|
4
|
+
|
|
5
|
+
- docs-first template adoption (`PROTOCOL.md`, templates), and
|
|
6
|
+
- optional runtime CLI usage (`orp`) for gates/packets/packs.
|
|
7
|
+
|
|
8
|
+
The default runtime story is now:
|
|
9
|
+
|
|
10
|
+
- `orp discover ...` for profile-based GitHub scanning and opportunity selection
|
|
11
|
+
- `orp collaborate ...` for repository collaboration
|
|
12
|
+
- `orp erdos ...` for Erdos-specific workflows
|
|
13
|
+
- `orp pack ...` only when you need advanced/internal template install behavior
|
|
14
|
+
|
|
15
|
+
Optional global CLI install:
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npm i -g open-research-protocol
|
|
19
|
+
orp
|
|
20
|
+
orp -h
|
|
21
|
+
orp about --json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
CLI prerequisites:
|
|
25
|
+
|
|
26
|
+
- Python 3 on `PATH`
|
|
27
|
+
- `PyYAML` (`python3 -m pip install pyyaml`)
|
|
28
|
+
|
|
29
|
+
Agent-friendly discovery surfaces:
|
|
30
|
+
|
|
31
|
+
- bare `orp` for the CLI home screen with packs, repo status, and quick actions
|
|
32
|
+
- `orp home --json` for machine-readable landing context
|
|
33
|
+
- `orp discover profile init --json` for a portable discovery profile scaffold
|
|
34
|
+
- `orp discover github scan --profile orp.profile.default.json --json` for ranked GitHub repo/issue/person recommendations
|
|
35
|
+
- `orp collaborate init` for immediate collaboration scaffolding
|
|
36
|
+
- `orp collaborate workflows --json` for built-in collaboration workflow discovery
|
|
37
|
+
- `orp collaborate gates --workflow full_flow --json` for the exact gate chain
|
|
38
|
+
- `llms.txt` for quick repo/package discovery
|
|
39
|
+
- `orp about --json` for machine-readable capabilities, schemas, artifacts, and bundled packs
|
|
40
|
+
- `docs/DISCOVER.md` for the discovery profile model and Coda relationship
|
|
41
|
+
- `docs/AGENT_LOOP.md` for the intended agent operating rhythm
|
|
42
|
+
- `orp pack list --json` for machine-readable bundled pack inventory
|
|
43
|
+
|
|
44
|
+
Fastest collaboration setup in a fresh repo:
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
orp collaborate init
|
|
48
|
+
orp collaborate workflows --json
|
|
49
|
+
orp collaborate run --workflow full_flow --json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This uses ORP's built-in collaboration ability. You do not need to think in
|
|
53
|
+
terms of separate governance packs for the default collaboration path.
|
|
54
|
+
|
|
55
|
+
To choose where collaboration should start, scaffold a profile first:
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
orp discover profile init --owner SproutSeeds --owner-type org
|
|
59
|
+
orp discover github scan --profile orp.profile.default.json --json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Option 0 — Smoke-test ORP in a fresh directory
|
|
63
|
+
|
|
64
|
+
This is the fastest way to verify the published CLI before integrating ORP into a real repo.
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
mkdir test-orp && cd test-orp
|
|
68
|
+
npm i -g open-research-protocol
|
|
69
|
+
orp init
|
|
70
|
+
orp gate run --profile default
|
|
71
|
+
orp packet emit --profile default
|
|
72
|
+
orp report summary
|
|
73
|
+
find orp -maxdepth 3 -type f | sort
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Expected outcomes:
|
|
77
|
+
|
|
78
|
+
- `orp.yml` is created in the working directory
|
|
79
|
+
- `orp/artifacts/<run_id>/RUN.json` is written after `gate run`
|
|
80
|
+
- `orp/packets/*.json` and `orp/packets/*.md` are written after `packet emit`
|
|
81
|
+
- `orp/artifacts/<run_id>/RUN_SUMMARY.md` is written after `report summary`
|
|
82
|
+
|
|
83
|
+
Then validate a real public pack flow:
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
orp pack list
|
|
87
|
+
orp pack install --pack-id erdos-open-problems --include catalog
|
|
88
|
+
orp --config orp.erdos-catalog-sync.yml gate run --profile erdos_catalog_sync_active
|
|
89
|
+
orp report summary
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
This exercises the published pack install path plus a real pack-backed gate run.
|
|
93
|
+
|
|
94
|
+
## Option A — Add ORP to an existing repo
|
|
95
|
+
|
|
96
|
+
1) Copy the folder into your repo (recommended: `orp/`):
|
|
97
|
+
|
|
98
|
+
```sh
|
|
99
|
+
mkdir -p /path/to/your/repo/orp
|
|
100
|
+
cp -R /path/to/orp/* /path/to/your/repo/orp/
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
2) Link it from your repo `README.md` (example):
|
|
104
|
+
|
|
105
|
+
```md
|
|
106
|
+
## Protocol
|
|
107
|
+
This project follows ORP: `orp/PROTOCOL.md`.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
3) Edit `orp/PROTOCOL.md` and fill in the **Canonical Paths** section for your repo. This is required for correctness.
|
|
111
|
+
|
|
112
|
+
4) Start using templates for all claims/verifications:
|
|
113
|
+
- `orp/templates/CLAIM.md`
|
|
114
|
+
- `orp/templates/VERIFICATION_RECORD.md`
|
|
115
|
+
- `orp/templates/FAILED_TOPIC.md`
|
|
116
|
+
|
|
117
|
+
5) Optional (agent users): integrate ORP into your agent’s primary instruction file:
|
|
118
|
+
- Read `orp/AGENT_INTEGRATION.md`
|
|
119
|
+
- Or run: `orp/scripts/orp-agent-integrate.sh --sync /path/to/your/agent/instructions.md`
|
|
120
|
+
- Optional checkpoint tool (writes a process-only handoff/compaction log): `orp/scripts/orp-checkpoint.sh --sync --agent-file /path/to/your/agent/instructions.md "checkpoint note"`
|
|
121
|
+
|
|
122
|
+
## Option B — Start a new project from ORP
|
|
123
|
+
|
|
124
|
+
1) Create a new project directory and copy ORP in:
|
|
125
|
+
|
|
126
|
+
```sh
|
|
127
|
+
mkdir -p /path/to/new-project
|
|
128
|
+
cp -R /path/to/orp/* /path/to/new-project/
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
2) Rename/edit `README.md` and `PROTOCOL.md` for your project.
|
|
132
|
+
|
|
133
|
+
3) Define canonical paths (paper/code/data/etc) in `PROTOCOL.md`.
|
|
134
|
+
|
|
135
|
+
4) Optional (agent users): integrate ORP into your agent’s primary instruction file:
|
|
136
|
+
- Read `AGENT_INTEGRATION.md`
|
|
137
|
+
- Or run: `scripts/orp-agent-integrate.sh --sync /path/to/your/agent/instructions.md`
|
|
138
|
+
- Optional checkpoint tool (writes a process-only handoff/compaction log): `scripts/orp-checkpoint.sh --sync --agent-file /path/to/your/agent/instructions.md "checkpoint note"`
|
|
139
|
+
|
|
140
|
+
## Optional helper script
|
|
141
|
+
|
|
142
|
+
If you want a guided copy:
|
|
143
|
+
|
|
144
|
+
```sh
|
|
145
|
+
./scripts/orp-init.sh /path/to/your/repo/orp
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
If you are evaluating ORP for the first time, prefer Option 0 before copying files into a larger repo.
|
|
149
|
+
|
|
150
|
+
## Important note: “activation”
|
|
151
|
+
|
|
152
|
+
ORP becomes real only when your team adopts the procedure:
|
|
153
|
+
|
|
154
|
+
- claims must be labeled,
|
|
155
|
+
- Exact/Verified claims must have verification hooks,
|
|
156
|
+
- disagreements are resolved by verification or downgrade,
|
|
157
|
+
- and failures are recorded as first-class artifacts.
|
|
158
|
+
|
|
159
|
+
There is no automated enforcement unless you add it (CI hooks, PR checks, etc.).
|
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 SproutSeeds
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
package/PROTOCOL.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Project Protocol (ORP)
|
|
2
|
+
**Last updated:** 2026-01-21
|
|
3
|
+
|
|
4
|
+
ORP is a **process-only** protocol for producing trustworthy results.
|
|
5
|
+
|
|
6
|
+
**Boundary (non-negotiable):** This document and all ORP templates are **not evidence**. They must not be cited as proof for
|
|
7
|
+
results. Evidence must live in your project’s **canonical artifact paths** (code, data, logs, proofs, papers, etc.).
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Canonical Paths (Source of Truth)
|
|
12
|
+
|
|
13
|
+
Every project must define, in concrete paths, where authoritative artifacts live. Edit this list for your repo:
|
|
14
|
+
|
|
15
|
+
- **Paper/spec (if any):** `paper/`
|
|
16
|
+
- **Code:** `src/` (or `core/`, etc.)
|
|
17
|
+
- **Analysis/experiments:** `analysis/`
|
|
18
|
+
- **Data/artifacts:** `data/`
|
|
19
|
+
- **Formal proofs (optional):** `proof/` / `lean/` / `coq/`
|
|
20
|
+
- **Runbooks/logs (optional):** `runbooks/` / `logs/`
|
|
21
|
+
|
|
22
|
+
Rule: **All claims must point to canonical artifacts.** If a claim cannot be tied to a canonical artifact, it is not a claim yet.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Claim Levels
|
|
27
|
+
|
|
28
|
+
All claims must be labeled as exactly one of:
|
|
29
|
+
|
|
30
|
+
- **Exact** — proven/certified; independently reproducible with explicit commands and artifacts.
|
|
31
|
+
- **Verified** — confirmed for a specific artifact (e.g., a construction, dataset, or run) but not claimed optimal/universal.
|
|
32
|
+
- **Heuristic** — strong evidence, not exhaustive.
|
|
33
|
+
- **Conjecture** — hypothesis / model / pattern; explicitly unproven.
|
|
34
|
+
|
|
35
|
+
Default rule: **When unsure, downgrade.**
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Artifact Requirements (Minimum)
|
|
40
|
+
|
|
41
|
+
### Exact claims
|
|
42
|
+
Must include a verification hook that another person can run:
|
|
43
|
+
|
|
44
|
+
- precise command(s),
|
|
45
|
+
- inputs (paths, versions),
|
|
46
|
+
- outputs (logs, certificates, checksums),
|
|
47
|
+
- and a verification record showing PASS.
|
|
48
|
+
|
|
49
|
+
### Verified claims
|
|
50
|
+
Must include:
|
|
51
|
+
|
|
52
|
+
- the artifact (data/model/etc),
|
|
53
|
+
- a verifier script or deterministic procedure,
|
|
54
|
+
- and a verification record showing PASS.
|
|
55
|
+
|
|
56
|
+
### Heuristic / Conjecture
|
|
57
|
+
Must include:
|
|
58
|
+
|
|
59
|
+
- scope and limitations,
|
|
60
|
+
- what would upgrade it to Verified/Exact,
|
|
61
|
+
- and at least one concrete next hook.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Verification Records (Required for Exact/Verified)
|
|
66
|
+
|
|
67
|
+
Use `templates/VERIFICATION_RECORD.md`.
|
|
68
|
+
|
|
69
|
+
**Default dispute action:**
|
|
70
|
+
- If verification is **FAIL** → downgrade the claim level immediately.
|
|
71
|
+
- If verification is **INCONCLUSIVE** → downgrade by default (or keep the original label but add an explicit “blocked by X” note).
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Dispute Workflow (Verifier-first)
|
|
76
|
+
|
|
77
|
+
If two contributors disagree:
|
|
78
|
+
|
|
79
|
+
1) The claim owner provides canonical artifacts + commands.
|
|
80
|
+
2) A verifier attempts reproduction and writes a verification record.
|
|
81
|
+
3) Outcomes:
|
|
82
|
+
- PASS → claim stands at its label.
|
|
83
|
+
- FAIL → claim is downgraded (and linked to the failure record).
|
|
84
|
+
- INCONCLUSIVE → downgrade by default; open a follow-up issue.
|
|
85
|
+
|
|
86
|
+
Disputes must resolve via **verification or downgrade**, not argument.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Failed Paths (First-class artifacts)
|
|
91
|
+
|
|
92
|
+
Failures are valuable when they prevent repeated work.
|
|
93
|
+
|
|
94
|
+
Use `templates/FAILED_TOPIC.md` to record:
|
|
95
|
+
|
|
96
|
+
- what was tried,
|
|
97
|
+
- what failed and why,
|
|
98
|
+
- the minimal counterexample / blocking reason,
|
|
99
|
+
- and a “next hook” for future attempts.
|
|
100
|
+
|
|
101
|
+
Suggested naming convention:
|
|
102
|
+
|
|
103
|
+
- `analysis/FAILED_<topic>.md` (or your repo’s canonical analysis area)
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Alignment / Polish Log (Non-blocking; Append-only)
|
|
108
|
+
|
|
109
|
+
When a verification/audit **PASSES** but yields optional suggestions (wording, clarity, alignment),
|
|
110
|
+
record them in an append-only log (recommended path):
|
|
111
|
+
|
|
112
|
+
- `analysis/ALIGNMENT_LOG.md`
|
|
113
|
+
|
|
114
|
+
Rules:
|
|
115
|
+
- Non-authoritative; non-blocking.
|
|
116
|
+
- Must not upgrade claims.
|
|
117
|
+
- Must not be cited as evidence.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Roles (Optional, but recommended)
|
|
122
|
+
|
|
123
|
+
This protocol supports role separation:
|
|
124
|
+
|
|
125
|
+
- **Explorer** — proposes claims, builds artifacts.
|
|
126
|
+
- **Verifier** — reproduces/checks claims; can downgrade labels.
|
|
127
|
+
- **Synthesizer** — integrates results into shared structure without introducing new claims.
|
|
128
|
+
|
|
129
|
+
No maintainer tie-break is required if verification hooks exist and downgrade rules are followed.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Contribution Workflow (default)
|
|
134
|
+
|
|
135
|
+
If unsure where something belongs, record it at a lower claim level and let verification decide.
|
|
136
|
+
|
|
137
|
+
1) Write a claim using `templates/CLAIM.md` and put the real content in canonical paths.
|
|
138
|
+
2) Run verification and write `templates/VERIFICATION_RECORD.md`.
|
|
139
|
+
3) Only then update any shared docs (paper/README) with language matching the claim level.
|
|
140
|
+
4) If something fails, record it with `templates/FAILED_TOPIC.md`.
|