erdos-problems 0.2.10 → 0.3.1
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 +220 -23
- package/data/upstream/erdosproblems/SYNC_MANIFEST.json +4 -4
- package/docs/CANONICAL_REPO_MIGRATION_PLAN.md +279 -0
- package/docs/DEEP_RESEARCH_BUNDLE_SPEC.md +129 -0
- package/docs/ERDOS_PROBLEMS_PROBLEM_SCHEMA.md +27 -20
- package/docs/ERDOS_PROBLEMS_REPO_SPEC.md +22 -13
- package/docs/PAPER_WRITER_MODE.md +118 -0
- package/package.json +1 -1
- package/problems/1/AGENT_START.md +1 -1
- package/problems/1/EVIDENCE.md +1 -1
- package/problems/1/FORMALIZATION.md +2 -2
- package/problems/1/problem.yaml +6 -6
- package/problems/1008/problem.yaml +5 -5
- package/problems/18/problem.yaml +5 -5
- package/problems/19/AGENT_START.md +1 -1
- package/problems/19/EVIDENCE.md +1 -1
- package/problems/19/FORMALIZATION.md +2 -2
- package/problems/19/problem.yaml +6 -6
- package/problems/2/AGENT_START.md +1 -1
- package/problems/2/EVIDENCE.md +1 -1
- package/problems/2/FORMALIZATION.md +2 -2
- package/problems/2/problem.yaml +6 -6
- package/problems/20/problem.yaml +5 -5
- package/problems/21/AGENT_START.md +1 -1
- package/problems/21/EVIDENCE.md +1 -1
- package/problems/21/FORMALIZATION.md +2 -2
- package/problems/21/problem.yaml +6 -6
- package/problems/22/AGENT_START.md +1 -1
- package/problems/22/EVIDENCE.md +1 -1
- package/problems/22/FORMALIZATION.md +2 -2
- package/problems/22/problem.yaml +6 -6
- package/problems/3/AGENT_START.md +1 -1
- package/problems/3/EVIDENCE.md +1 -1
- package/problems/3/FORMALIZATION.md +2 -2
- package/problems/3/problem.yaml +6 -6
- package/problems/4/AGENT_START.md +1 -1
- package/problems/4/EVIDENCE.md +1 -1
- package/problems/4/FORMALIZATION.md +2 -2
- package/problems/4/problem.yaml +6 -6
- package/problems/5/AGENT_START.md +1 -1
- package/problems/5/EVIDENCE.md +1 -1
- package/problems/5/FORMALIZATION.md +2 -2
- package/problems/5/problem.yaml +6 -6
- package/problems/536/problem.yaml +5 -5
- package/problems/542/problem.yaml +5 -5
- package/problems/6/AGENT_START.md +1 -1
- package/problems/6/EVIDENCE.md +1 -1
- package/problems/6/FORMALIZATION.md +2 -2
- package/problems/6/problem.yaml +6 -6
- package/problems/7/AGENT_START.md +1 -1
- package/problems/7/EVIDENCE.md +1 -1
- package/problems/7/FORMALIZATION.md +2 -2
- package/problems/7/problem.yaml +6 -6
- package/problems/856/problem.yaml +5 -5
- package/problems/857/problem.yaml +5 -5
- package/problems/89/problem.yaml +5 -5
- package/src/atlas/catalog.js +6 -5
- package/src/cli/index.js +10 -5
- package/src/commands/bootstrap.js +1 -1
- package/src/commands/dossier.js +1 -1
- package/src/commands/maintainer.js +2 -2
- package/src/commands/paper.js +147 -0
- package/src/commands/problem.js +9 -9
- package/src/commands/pull.js +8 -8
- package/src/commands/scaffold.js +1 -1
- package/src/commands/seed.js +1 -1
- package/src/commands/upstream.js +27 -24
- package/src/runtime/maintainer-seed.js +12 -12
- package/src/runtime/paper.js +720 -0
- package/src/runtime/paths.js +16 -0
- package/src/runtime/problem-artifacts.js +2 -2
- package/src/runtime/state.js +1 -1
- package/src/upstream/sync.js +18 -18
package/README.md
CHANGED
|
@@ -33,21 +33,24 @@ A short example from the first minute:
|
|
|
33
33
|
|
|
34
34
|
## What It Includes
|
|
35
35
|
|
|
36
|
-
- a bundled snapshot
|
|
36
|
+
- a bundled external atlas import snapshot for provenance and seeding
|
|
37
37
|
- local dossiers and workspace bundles
|
|
38
38
|
- separate surfaces for public status, local route state, and verification records
|
|
39
39
|
- pack-specific views where this repo already has enough structure to support them
|
|
40
40
|
- an ORP-based workflow for claims, checkpoints, and run artifacts
|
|
41
|
+
- a paper writer bundle mode for public-safe, citation-safe, agent-friendly drafting
|
|
41
42
|
|
|
42
|
-
## Repo, npm, and
|
|
43
|
+
## Repo, npm, and External Imports
|
|
43
44
|
|
|
44
|
-
-
|
|
45
|
-
- the
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- `erdos
|
|
49
|
-
- `erdos
|
|
50
|
-
-
|
|
45
|
+
- `SproutSeeds/erdos-problems` is the canonical public home for this project's atlas, dossiers, packs, and contribution workflow
|
|
46
|
+
- the npm package is the installable CLI plus the bundled import snapshot, packaged dossiers, and packaged pack assets
|
|
47
|
+
- the GitHub repo is the broader public collaboration space for dossiers, pack packets, docs, issues, discussions, PRs, and future deep research bundles
|
|
48
|
+
- `.erdos/` is local workspace state created by the CLI; it is not canonical repo truth
|
|
49
|
+
- `erdos import show` reports whether you are using the bundled import snapshot or a workspace-local refreshed import snapshot
|
|
50
|
+
- `erdos import sync` currently refreshes an external atlas import snapshot from `teorth/erdosproblems` without mutating the canonical local dossier layer
|
|
51
|
+
- `erdos import sync --write-package-snapshot` is the maintainer path for intentionally updating the bundled import snapshot in this repo
|
|
52
|
+
- repo-only deep-research directories such as `research/`, `formal/`, `paper/`, `imports/`, and `analysis/` are intentionally kept out of npm by staying outside the `package.json` `files` list
|
|
53
|
+
- repo-only public research can live in this GitHub repo without shipping in the npm tarball; see the contribution guide: https://github.com/SproutSeeds/erdos-problems/blob/main/CONTRIBUTING.md
|
|
51
54
|
|
|
52
55
|
## Start In 60 Seconds
|
|
53
56
|
|
|
@@ -57,7 +60,7 @@ Install:
|
|
|
57
60
|
npm install -g erdos-problems
|
|
58
61
|
```
|
|
59
62
|
|
|
60
|
-
|
|
63
|
+
If you already know the problem you want, the fastest path is:
|
|
61
64
|
|
|
62
65
|
```bash
|
|
63
66
|
erdos bootstrap problem 857
|
|
@@ -66,7 +69,7 @@ erdos sunflower ready 857
|
|
|
66
69
|
erdos workspace show --json
|
|
67
70
|
```
|
|
68
71
|
|
|
69
|
-
|
|
72
|
+
If you want to start from a new local seed:
|
|
70
73
|
|
|
71
74
|
```bash
|
|
72
75
|
erdos seed problem 25 --cluster number-theory
|
|
@@ -74,6 +77,186 @@ erdos problem show 25
|
|
|
74
77
|
erdos checkpoints sync
|
|
75
78
|
```
|
|
76
79
|
|
|
80
|
+
## Beginner Flow
|
|
81
|
+
|
|
82
|
+
This is the zero-assumption path for a new user.
|
|
83
|
+
|
|
84
|
+
### 1. Install the CLI once
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm install -g erdos-problems
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This gives you a global `erdos` command. The workspace state it creates is local to the folder you are in.
|
|
91
|
+
|
|
92
|
+
### 2. Make a clean working folder
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
mkdir erdos-work
|
|
96
|
+
cd erdos-work
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Later, the CLI will create a local `.erdos/` directory here for workspace state, checkpoints, ORP files, and pulled artifacts.
|
|
100
|
+
|
|
101
|
+
### 3. Browse everything first
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
erdos problem list
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Use this when you do not yet know a problem number or cluster.
|
|
108
|
+
|
|
109
|
+
### 4. Inspect one problem in plain English
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
erdos problem show 857
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
This shows the title, status, cluster, short statement, and research-state posture for that problem.
|
|
116
|
+
|
|
117
|
+
### 5. Learn the families only after that
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
erdos cluster list
|
|
121
|
+
erdos cluster show sunflower
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Once you know what a cluster is, you can narrow the atlas:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
erdos problem list --cluster sunflower
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 6. Start a workspace on a well-packaged problem
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
erdos bootstrap problem 857
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
What this does:
|
|
137
|
+
- creates `.erdos/` in the current folder
|
|
138
|
+
- activates the problem locally
|
|
139
|
+
- syncs the ORP kit
|
|
140
|
+
- scaffolds the workspace for the next research move
|
|
141
|
+
|
|
142
|
+
### 7. Orient yourself immediately
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
erdos workspace show
|
|
146
|
+
erdos state show
|
|
147
|
+
erdos problem artifacts 857 --json
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Use these to understand the workspace layout, current route/frontier state, and the artifact surface that already exists for the problem.
|
|
151
|
+
|
|
152
|
+
### 8. Run the first honest-state sync
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
erdos orp sync
|
|
156
|
+
erdos state sync
|
|
157
|
+
erdos preflight
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
This refreshes the protocol kit, recomputes local research state, and checks whether the workspace is in a sane posture to continue.
|
|
161
|
+
|
|
162
|
+
### 9. Set your continuation mode
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
erdos continuation show
|
|
166
|
+
erdos continuation use route
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
For most new users, `route` is the right default. It keeps the loop focused on the current route instead of bouncing between surfaces.
|
|
170
|
+
|
|
171
|
+
### 10. Sync checkpoints before doing real work
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
erdos checkpoints sync
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
This writes the checkpoint shelf and keeps the workspace history honest.
|
|
178
|
+
|
|
179
|
+
### 11. Look at the actual frontier
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
erdos sunflower status 857
|
|
183
|
+
erdos sunflower frontier 857
|
|
184
|
+
erdos sunflower ready 857
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
This is where the problem becomes actionable instead of just descriptive.
|
|
188
|
+
|
|
189
|
+
### 12. Drill down to the next unit of work
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
erdos sunflower routes 857
|
|
193
|
+
erdos sunflower ticket 857 T10
|
|
194
|
+
erdos sunflower atom 857 T10.G3.A2
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
That is the real research loop:
|
|
198
|
+
- inspect route
|
|
199
|
+
- inspect ticket
|
|
200
|
+
- inspect atom
|
|
201
|
+
- do the next honest move
|
|
202
|
+
|
|
203
|
+
### 13. Close the loop cleanly
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
erdos state sync
|
|
207
|
+
erdos checkpoints sync
|
|
208
|
+
erdos workspace show
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
If the problem is not already deeply packaged, use one-step local seeding instead of bootstrapping:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
erdos seed problem 25 --cluster number-theory
|
|
215
|
+
erdos preflight
|
|
216
|
+
erdos continuation use route
|
|
217
|
+
erdos checkpoints sync
|
|
218
|
+
erdos workspace show
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
In that flow, the seeded dossier is written under `.erdos/seeded-problems/<id>/` and enters the same state/checkpoint loop as packaged dossiers.
|
|
222
|
+
|
|
223
|
+
## Daily Loop
|
|
224
|
+
|
|
225
|
+
Once a workspace already exists, this is the main operating loop:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
erdos state sync
|
|
229
|
+
erdos preflight
|
|
230
|
+
erdos continuation use route
|
|
231
|
+
erdos checkpoints sync
|
|
232
|
+
erdos workspace show
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Then inspect the current frontier and active unit of work:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
erdos sunflower frontier 857
|
|
239
|
+
erdos sunflower atom 857 T10.G3.A2
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
After a real step, sync checkpoints again:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
erdos checkpoints sync
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
The guiding rule is simple:
|
|
249
|
+
- inspect frontier
|
|
250
|
+
- work the next honest move
|
|
251
|
+
- checkpoint at honest boundaries
|
|
252
|
+
|
|
253
|
+
Initialize or resume a paper bundle:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
erdos paper init 857
|
|
257
|
+
erdos paper show 857
|
|
258
|
+
```
|
|
259
|
+
|
|
77
260
|
Archive a solved problem:
|
|
78
261
|
|
|
79
262
|
```bash
|
|
@@ -85,7 +268,7 @@ erdos archive scaffold 1008 --json
|
|
|
85
268
|
|
|
86
269
|
| Surface | Coverage |
|
|
87
270
|
| --- | --- |
|
|
88
|
-
| Bundled
|
|
271
|
+
| Bundled external atlas snapshot | `1183` problems |
|
|
89
272
|
| Native packaged dossiers | `18` |
|
|
90
273
|
| Sunflower pack | `20`, `536`, `856`, `857` |
|
|
91
274
|
| Number-theory pack | `1`, `2` |
|
|
@@ -140,7 +323,7 @@ erdos seed problem 25 --cluster number-theory
|
|
|
140
323
|
```
|
|
141
324
|
|
|
142
325
|
What this does:
|
|
143
|
-
- pulls
|
|
326
|
+
- pulls external public metadata into a workspace bundle
|
|
144
327
|
- includes live site review and an agent websearch brief by default
|
|
145
328
|
- seeds a local dossier into `.erdos/seeded-problems/<id>/`
|
|
146
329
|
- syncs state, checkpoints, and ORP automatically
|
|
@@ -161,6 +344,19 @@ erdos maintainer review problem 25 --from-pull .erdos/pulls/25
|
|
|
161
344
|
erdos maintainer seed problem 25 --from-pull .erdos/pulls/25 --cluster number-theory
|
|
162
345
|
```
|
|
163
346
|
|
|
347
|
+
### 5. Initialize a paper writer bundle
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
erdos paper init 857
|
|
351
|
+
erdos paper show 857
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
What this does:
|
|
355
|
+
- creates or resumes a paper bundle for the problem
|
|
356
|
+
- writes machine-readable public evidence and section indexes
|
|
357
|
+
- scaffolds claim-safe section drafts, a citation ledger, and a privacy review
|
|
358
|
+
- defaults to `paper/problems/<id>/` when run inside this repo and to `.erdos/papers/<id>/` elsewhere
|
|
359
|
+
|
|
164
360
|
## Packs
|
|
165
361
|
|
|
166
362
|
### Sunflower Pack
|
|
@@ -233,7 +429,7 @@ Design rule:
|
|
|
233
429
|
|
|
234
430
|
If you are using Codex, Claude Code, or another coding agent, the package provides:
|
|
235
431
|
- canonical dossier files
|
|
236
|
-
-
|
|
432
|
+
- external import provenance when available
|
|
237
433
|
- pack-aware context where it exists
|
|
238
434
|
- `.erdos/` workspace state
|
|
239
435
|
- ORP templates and protocol guidance
|
|
@@ -247,7 +443,7 @@ Useful commands for agent workflows:
|
|
|
247
443
|
erdos problem artifacts 857 --json
|
|
248
444
|
erdos workspace show --json
|
|
249
445
|
erdos pull literature 857 --include-crossref --include-openalex --json
|
|
250
|
-
erdos
|
|
446
|
+
erdos import drift 857 --json
|
|
251
447
|
```
|
|
252
448
|
|
|
253
449
|
## ORP And Truth Hygiene
|
|
@@ -260,8 +456,8 @@ erdos upstream drift 857 --json
|
|
|
260
456
|
- `templates/FAILED_TOPIC.md`
|
|
261
457
|
|
|
262
458
|
The package keeps these layers separate:
|
|
263
|
-
-
|
|
264
|
-
-
|
|
459
|
+
- canonical repo truth
|
|
460
|
+
- external imported public truth
|
|
265
461
|
- workspace bundle truth
|
|
266
462
|
- pack-specific route / checkpoint / run truth
|
|
267
463
|
|
|
@@ -294,13 +490,14 @@ erdos maintainer review problem 25 --from-pull .erdos/pulls/25
|
|
|
294
490
|
erdos archive scaffold 1008 --json
|
|
295
491
|
```
|
|
296
492
|
|
|
297
|
-
## Canonical
|
|
493
|
+
## Canonical Home And External Inputs
|
|
298
494
|
|
|
495
|
+
- canonical repo: <https://github.com/SproutSeeds/erdos-problems>
|
|
299
496
|
- local dossier truth: `problems/<id>/problem.yaml`
|
|
300
|
-
- bundled
|
|
301
|
-
- workspace
|
|
302
|
-
-
|
|
303
|
-
-
|
|
497
|
+
- bundled external import snapshot: `data/upstream/erdosproblems/`
|
|
498
|
+
- workspace external import snapshot: `.erdos/upstream/erdosproblems/`
|
|
499
|
+
- external atlas import repo: <https://github.com/teorth/erdosproblems>
|
|
500
|
+
- external public site: <https://www.erdosproblems.com/>
|
|
304
501
|
|
|
305
502
|
## Docs
|
|
306
503
|
|
|
@@ -321,7 +518,7 @@ If you are preparing a public post, start here:
|
|
|
321
518
|
|
|
322
519
|
### What is the difference between this and erdosproblems.com?
|
|
323
520
|
|
|
324
|
-
`erdosproblems.com` is
|
|
521
|
+
`erdosproblems.com` is an external public problem source. `erdos-problems` imports from public sources when helpful, but keeps its canonical dossiers, packs, workflow, and contribution surface in this repo.
|
|
325
522
|
|
|
326
523
|
### Can I use this with Codex, Claude Code, or another agent?
|
|
327
524
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
2
|
+
"external_repo": "https://github.com/teorth/erdosproblems",
|
|
3
|
+
"external_source_url": "https://raw.githubusercontent.com/teorth/erdosproblems/master/data/problems.yaml",
|
|
4
|
+
"external_source_file": "data/problems.yaml",
|
|
5
|
+
"imported_commit": "cd91711d143184e090e5336e3165be50abfaaaf3",
|
|
5
6
|
"fetched_at": "2026-03-25T19:24:57.377Z",
|
|
6
|
-
"upstream_commit": "cd91711d143184e090e5336e3165be50abfaaaf3",
|
|
7
7
|
"raw_sha256": "e2d161ffe3866275704bb18a268f9417f32d8a92a0af19fa119a856445cd2021",
|
|
8
8
|
"entry_count": 1183
|
|
9
9
|
}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Canonical Repo Migration Plan
|
|
2
|
+
|
|
3
|
+
Last updated: 2026-03-30
|
|
4
|
+
|
|
5
|
+
## Decision
|
|
6
|
+
|
|
7
|
+
`SproutSeeds/erdos-problems` becomes the canonical public home for:
|
|
8
|
+
|
|
9
|
+
- the Erdős problem atlas as presented by this project
|
|
10
|
+
- canonical seeded dossiers
|
|
11
|
+
- pack-specific route, board, and compute packets
|
|
12
|
+
- formal artifacts, papers, and deeper research files that are intentionally public
|
|
13
|
+
- contribution, issue, and pull-request workflow
|
|
14
|
+
|
|
15
|
+
External sources remain valuable, but they are inputs, not authorities:
|
|
16
|
+
|
|
17
|
+
- `erdosproblems.com` remains a public source surface
|
|
18
|
+
- `teorth/erdosproblems` remains an import and comparison source when useful
|
|
19
|
+
- `sunflower-coda` is treated as a migration source and lab origin, not the long-term public home
|
|
20
|
+
|
|
21
|
+
## Why
|
|
22
|
+
|
|
23
|
+
The current architecture mixes two different ownership stories:
|
|
24
|
+
|
|
25
|
+
- the package, CLI, and curated public harness live in `SproutSeeds/erdos-problems`
|
|
26
|
+
- the bundled atlas snapshot and several provenance fields still point at `teorth/erdosproblems` as "upstream truth"
|
|
27
|
+
|
|
28
|
+
That split is workable for importing data, but confusing for users. It leaves the project with two competing authority stories:
|
|
29
|
+
|
|
30
|
+
- "this repo is the home"
|
|
31
|
+
- "another repo is the truth"
|
|
32
|
+
|
|
33
|
+
The migration resolves that by keeping one canonical owner and treating outside sources as import feeds with explicit provenance.
|
|
34
|
+
|
|
35
|
+
## Product Model After Migration
|
|
36
|
+
|
|
37
|
+
### Canonical public home
|
|
38
|
+
|
|
39
|
+
- GitHub repo: `SproutSeeds/erdos-problems`
|
|
40
|
+
- npm package: installable CLI and packaged public harness assets
|
|
41
|
+
- canonical problem records: `problems/<id>/`
|
|
42
|
+
- canonical pack context: `packs/<family>/`
|
|
43
|
+
- canonical public docs: `docs/`
|
|
44
|
+
|
|
45
|
+
### External imports
|
|
46
|
+
|
|
47
|
+
- imported public site snapshots
|
|
48
|
+
- imported external atlas snapshots
|
|
49
|
+
- imported public literature adapters
|
|
50
|
+
|
|
51
|
+
These stay visible as provenance, but never outrank the canonical local record.
|
|
52
|
+
|
|
53
|
+
### Packaging split
|
|
54
|
+
|
|
55
|
+
The GitHub repo may contain much more than the npm tarball.
|
|
56
|
+
|
|
57
|
+
GitHub can hold:
|
|
58
|
+
|
|
59
|
+
- deep research notes
|
|
60
|
+
- paper drafts and public reference bundles
|
|
61
|
+
- Lean and formalization source
|
|
62
|
+
- board JSON exports
|
|
63
|
+
- long-form analysis artifacts
|
|
64
|
+
|
|
65
|
+
The npm package should ship only what is needed for:
|
|
66
|
+
|
|
67
|
+
- the CLI
|
|
68
|
+
- canonical dossiers
|
|
69
|
+
- pack packets
|
|
70
|
+
- packaged compute packets
|
|
71
|
+
- essential docs and templates
|
|
72
|
+
|
|
73
|
+
## Current State
|
|
74
|
+
|
|
75
|
+
Today the repo already behaves partly like the canonical home:
|
|
76
|
+
|
|
77
|
+
- `erdos problem list` and `erdos problem show` are driven by local seeded dossiers under `problems/`
|
|
78
|
+
- the public deep harness for `20` and `857` is already expressed in local pack files under `packs/sunflower/`
|
|
79
|
+
- the GitHub repo is already the collaboration surface for issues and PRs
|
|
80
|
+
|
|
81
|
+
But these parts still reflect the old authority model:
|
|
82
|
+
|
|
83
|
+
- `src/upstream/sync.js` fetches and labels `teorth/erdosproblems` as the upstream repo
|
|
84
|
+
- bundled manifest files record that external repo as the source of truth
|
|
85
|
+
- dossier `upstream.repo` fields and references point at `teorth/erdosproblems`
|
|
86
|
+
- docs describe that external repo as the upstream truth layer
|
|
87
|
+
- package shipping boundaries are still broad enough that repo-only deep research would accidentally ship if dropped into currently published directories
|
|
88
|
+
|
|
89
|
+
## Migration Principles
|
|
90
|
+
|
|
91
|
+
1. One canonical owner
|
|
92
|
+
`SproutSeeds/erdos-problems` is the only authority users should need to trust.
|
|
93
|
+
|
|
94
|
+
2. Provenance without ambiguity
|
|
95
|
+
External records stay cited, but only as imported evidence.
|
|
96
|
+
|
|
97
|
+
3. Fast install, deep repo
|
|
98
|
+
npm stays lean enough for CLI installs, while GitHub can hold the full public research archive.
|
|
99
|
+
|
|
100
|
+
4. Public handoff first
|
|
101
|
+
A new user should be able to pick up `20` or `857` and immediately see the live route posture, active files, and next honest move.
|
|
102
|
+
|
|
103
|
+
5. Deep material on demand
|
|
104
|
+
Users should be able to pull or inspect fuller problem bundles from the repo without shipping all of that by default in npm.
|
|
105
|
+
|
|
106
|
+
## Rollout Phases
|
|
107
|
+
|
|
108
|
+
## Phase 1: Ownership And Provenance Cleanup
|
|
109
|
+
|
|
110
|
+
Goal:
|
|
111
|
+
- make the docs and metadata say what the product now means
|
|
112
|
+
|
|
113
|
+
Changes:
|
|
114
|
+
- rewrite docs so `SproutSeeds/erdos-problems` is described as canonical
|
|
115
|
+
- replace "upstream truth" wording with "external import source" wording
|
|
116
|
+
- update dossier schema language to distinguish:
|
|
117
|
+
- canonical local record
|
|
118
|
+
- imported external sources
|
|
119
|
+
- public site snapshots
|
|
120
|
+
- update any visible README/help text that suggests the external repo is authoritative
|
|
121
|
+
|
|
122
|
+
Acceptance:
|
|
123
|
+
- a user reading the README should understand there is one canonical repo
|
|
124
|
+
- no user-facing docs should describe `teorth/erdosproblems` as the authoritative owner of this package's atlas
|
|
125
|
+
|
|
126
|
+
## Phase 2: Package Boundary Split
|
|
127
|
+
|
|
128
|
+
Goal:
|
|
129
|
+
- let GitHub hold the full public archive without forcing it into npm
|
|
130
|
+
|
|
131
|
+
Changes:
|
|
132
|
+
- define repo-only directories for deep research
|
|
133
|
+
- tighten `package.json` `files` handling or segregate content so deep research is excluded from the tarball
|
|
134
|
+
- document which directories are:
|
|
135
|
+
- canonical and shipped
|
|
136
|
+
- canonical but repo-only
|
|
137
|
+
- generated workspace state
|
|
138
|
+
|
|
139
|
+
Candidate repo-only directories:
|
|
140
|
+
- `research/`
|
|
141
|
+
- `formal/lean/`
|
|
142
|
+
- `paper/`
|
|
143
|
+
- `imports/`
|
|
144
|
+
- `analysis/`
|
|
145
|
+
|
|
146
|
+
Acceptance:
|
|
147
|
+
- `npm pack --dry-run` excludes repo-only deep research
|
|
148
|
+
- GitHub still exposes the full public archive
|
|
149
|
+
|
|
150
|
+
## Phase 3: Repo Structure For Full Public Research
|
|
151
|
+
|
|
152
|
+
Goal:
|
|
153
|
+
- move the public-facing deep material into this repo in an orderly way
|
|
154
|
+
|
|
155
|
+
Changes:
|
|
156
|
+
- create canonical directories for:
|
|
157
|
+
- problem-deep research bundles
|
|
158
|
+
- Lean / formal source
|
|
159
|
+
- paper drafts and publication support
|
|
160
|
+
- imported external snapshots and reconciliations
|
|
161
|
+
- preserve a clear distinction between:
|
|
162
|
+
- concise user-facing handoff packets
|
|
163
|
+
- deeper research inventory
|
|
164
|
+
|
|
165
|
+
Suggested layout:
|
|
166
|
+
|
|
167
|
+
```text
|
|
168
|
+
erdos-problems/
|
|
169
|
+
problems/<id>/
|
|
170
|
+
packs/<family>/
|
|
171
|
+
research/problems/<id>/
|
|
172
|
+
formal/lean/
|
|
173
|
+
paper/
|
|
174
|
+
imports/
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Acceptance:
|
|
178
|
+
- the repo can absorb public material from `sunflower-coda` without collapsing the package structure
|
|
179
|
+
|
|
180
|
+
## Phase 4: CLI Surface For Deep Problem Bundles
|
|
181
|
+
|
|
182
|
+
Goal:
|
|
183
|
+
- let users access the deeper repo-held material intentionally
|
|
184
|
+
|
|
185
|
+
Changes:
|
|
186
|
+
- add documented repo-backed bundle concepts, for example:
|
|
187
|
+
- deep research bundle
|
|
188
|
+
- formalization bundle
|
|
189
|
+
- paper/reference bundle
|
|
190
|
+
- expose them either as:
|
|
191
|
+
- repo file paths in scaffold outputs
|
|
192
|
+
- new CLI commands
|
|
193
|
+
- both
|
|
194
|
+
|
|
195
|
+
Possible commands:
|
|
196
|
+
- `erdos problem deep 857`
|
|
197
|
+
- `erdos problem formal 857`
|
|
198
|
+
- `erdos pull repo-bundle 857`
|
|
199
|
+
|
|
200
|
+
Acceptance:
|
|
201
|
+
- a user can start with the lightweight public packet
|
|
202
|
+
- then intentionally step into the deeper public archive without guessing where things live
|
|
203
|
+
|
|
204
|
+
## Phase 5: External Import And Reconciliation Workflow
|
|
205
|
+
|
|
206
|
+
Goal:
|
|
207
|
+
- retain harmony with outside sources without giving away canonical ownership
|
|
208
|
+
|
|
209
|
+
Changes:
|
|
210
|
+
- rename the current "upstream" semantics toward import/reconcile language
|
|
211
|
+
- preserve diff tooling, but point it at external comparisons rather than canonical truth
|
|
212
|
+
- store imported manifests under an explicitly non-canonical namespace
|
|
213
|
+
|
|
214
|
+
Possible wording shift:
|
|
215
|
+
- current: "upstream snapshot"
|
|
216
|
+
- target: "import snapshot" or "external atlas snapshot"
|
|
217
|
+
|
|
218
|
+
Acceptance:
|
|
219
|
+
- a mismatch between an external source and the canonical local record is legible as a reconciliation task, not a contradiction in authority
|
|
220
|
+
|
|
221
|
+
## Phase 6: Flagship Problem Migration
|
|
222
|
+
|
|
223
|
+
Goal:
|
|
224
|
+
- make `20` and `857` the model examples of the full system
|
|
225
|
+
|
|
226
|
+
Changes:
|
|
227
|
+
- migrate the public `sunflower-coda` materials for those problems into this repo
|
|
228
|
+
- replace `sunflower-coda/repo/...` path references with repo-local paths
|
|
229
|
+
- ensure the public packet plus deep bundle plus formal bundle line up cleanly
|
|
230
|
+
|
|
231
|
+
Acceptance:
|
|
232
|
+
- a new user can pick up `20` or `857` from this repo alone
|
|
233
|
+
- no crucial public handoff step depends on another repo existing
|
|
234
|
+
|
|
235
|
+
## Risks
|
|
236
|
+
|
|
237
|
+
### Risk: accidental npm bloat
|
|
238
|
+
|
|
239
|
+
If deep research lands under currently shipped directories, npm installs become heavier and noisier.
|
|
240
|
+
|
|
241
|
+
Mitigation:
|
|
242
|
+
- separate repo-only directories
|
|
243
|
+
- verify with `npm pack --dry-run`
|
|
244
|
+
|
|
245
|
+
### Risk: provenance confusion
|
|
246
|
+
|
|
247
|
+
If external import fields disappear entirely, users may lose track of where records originated.
|
|
248
|
+
|
|
249
|
+
Mitigation:
|
|
250
|
+
- keep provenance blocks, but label them as imported or external
|
|
251
|
+
|
|
252
|
+
### Risk: partial migration
|
|
253
|
+
|
|
254
|
+
If docs are updated before structure and commands are ready, users may expect deeper repo-backed pulls that do not exist yet.
|
|
255
|
+
|
|
256
|
+
Mitigation:
|
|
257
|
+
- roll out phase by phase
|
|
258
|
+
- clearly document what exists now versus what is planned
|
|
259
|
+
|
|
260
|
+
## Initial Implementation Slice
|
|
261
|
+
|
|
262
|
+
This change series should start with the smallest durable slice:
|
|
263
|
+
|
|
264
|
+
1. store this migration plan in the repo
|
|
265
|
+
2. update ownership/provenance docs so the repo is described as canonical
|
|
266
|
+
3. create the repo-only directory contract and npm boundary rules
|
|
267
|
+
4. add minimal scaffolding docs for deep research bundles
|
|
268
|
+
|
|
269
|
+
That gives the project a correct public model before the larger content migration begins.
|
|
270
|
+
|
|
271
|
+
## Definition Of Done
|
|
272
|
+
|
|
273
|
+
The migration is complete when:
|
|
274
|
+
|
|
275
|
+
- `SproutSeeds/erdos-problems` is clearly the canonical public home in docs, metadata, and CLI wording
|
|
276
|
+
- external sources are treated as imports and reconciliation inputs
|
|
277
|
+
- the repo can hold public Lean, paper, and deep research artifacts without shipping all of them to npm
|
|
278
|
+
- flagship problems like `20` and `857` can be followed from this repo alone
|
|
279
|
+
- contributors can update dossiers, packs, and deep research in one place
|