erdos-problems 0.2.10 → 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/README.md +45 -21
- 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
|
|
|
@@ -74,6 +77,13 @@ erdos problem show 25
|
|
|
74
77
|
erdos checkpoints sync
|
|
75
78
|
```
|
|
76
79
|
|
|
80
|
+
Initialize or resume a paper bundle:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
erdos paper init 857
|
|
84
|
+
erdos paper show 857
|
|
85
|
+
```
|
|
86
|
+
|
|
77
87
|
Archive a solved problem:
|
|
78
88
|
|
|
79
89
|
```bash
|
|
@@ -85,7 +95,7 @@ erdos archive scaffold 1008 --json
|
|
|
85
95
|
|
|
86
96
|
| Surface | Coverage |
|
|
87
97
|
| --- | --- |
|
|
88
|
-
| Bundled
|
|
98
|
+
| Bundled external atlas snapshot | `1183` problems |
|
|
89
99
|
| Native packaged dossiers | `18` |
|
|
90
100
|
| Sunflower pack | `20`, `536`, `856`, `857` |
|
|
91
101
|
| Number-theory pack | `1`, `2` |
|
|
@@ -140,7 +150,7 @@ erdos seed problem 25 --cluster number-theory
|
|
|
140
150
|
```
|
|
141
151
|
|
|
142
152
|
What this does:
|
|
143
|
-
- pulls
|
|
153
|
+
- pulls external public metadata into a workspace bundle
|
|
144
154
|
- includes live site review and an agent websearch brief by default
|
|
145
155
|
- seeds a local dossier into `.erdos/seeded-problems/<id>/`
|
|
146
156
|
- syncs state, checkpoints, and ORP automatically
|
|
@@ -161,6 +171,19 @@ erdos maintainer review problem 25 --from-pull .erdos/pulls/25
|
|
|
161
171
|
erdos maintainer seed problem 25 --from-pull .erdos/pulls/25 --cluster number-theory
|
|
162
172
|
```
|
|
163
173
|
|
|
174
|
+
### 5. Initialize a paper writer bundle
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
erdos paper init 857
|
|
178
|
+
erdos paper show 857
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
What this does:
|
|
182
|
+
- creates or resumes a paper bundle for the problem
|
|
183
|
+
- writes machine-readable public evidence and section indexes
|
|
184
|
+
- scaffolds claim-safe section drafts, a citation ledger, and a privacy review
|
|
185
|
+
- defaults to `paper/problems/<id>/` when run inside this repo and to `.erdos/papers/<id>/` elsewhere
|
|
186
|
+
|
|
164
187
|
## Packs
|
|
165
188
|
|
|
166
189
|
### Sunflower Pack
|
|
@@ -233,7 +256,7 @@ Design rule:
|
|
|
233
256
|
|
|
234
257
|
If you are using Codex, Claude Code, or another coding agent, the package provides:
|
|
235
258
|
- canonical dossier files
|
|
236
|
-
-
|
|
259
|
+
- external import provenance when available
|
|
237
260
|
- pack-aware context where it exists
|
|
238
261
|
- `.erdos/` workspace state
|
|
239
262
|
- ORP templates and protocol guidance
|
|
@@ -247,7 +270,7 @@ Useful commands for agent workflows:
|
|
|
247
270
|
erdos problem artifacts 857 --json
|
|
248
271
|
erdos workspace show --json
|
|
249
272
|
erdos pull literature 857 --include-crossref --include-openalex --json
|
|
250
|
-
erdos
|
|
273
|
+
erdos import drift 857 --json
|
|
251
274
|
```
|
|
252
275
|
|
|
253
276
|
## ORP And Truth Hygiene
|
|
@@ -260,8 +283,8 @@ erdos upstream drift 857 --json
|
|
|
260
283
|
- `templates/FAILED_TOPIC.md`
|
|
261
284
|
|
|
262
285
|
The package keeps these layers separate:
|
|
263
|
-
-
|
|
264
|
-
-
|
|
286
|
+
- canonical repo truth
|
|
287
|
+
- external imported public truth
|
|
265
288
|
- workspace bundle truth
|
|
266
289
|
- pack-specific route / checkpoint / run truth
|
|
267
290
|
|
|
@@ -294,13 +317,14 @@ erdos maintainer review problem 25 --from-pull .erdos/pulls/25
|
|
|
294
317
|
erdos archive scaffold 1008 --json
|
|
295
318
|
```
|
|
296
319
|
|
|
297
|
-
## Canonical
|
|
320
|
+
## Canonical Home And External Inputs
|
|
298
321
|
|
|
322
|
+
- canonical repo: <https://github.com/SproutSeeds/erdos-problems>
|
|
299
323
|
- local dossier truth: `problems/<id>/problem.yaml`
|
|
300
|
-
- bundled
|
|
301
|
-
- workspace
|
|
302
|
-
-
|
|
303
|
-
-
|
|
324
|
+
- bundled external import snapshot: `data/upstream/erdosproblems/`
|
|
325
|
+
- workspace external import snapshot: `.erdos/upstream/erdosproblems/`
|
|
326
|
+
- external atlas import repo: <https://github.com/teorth/erdosproblems>
|
|
327
|
+
- external public site: <https://www.erdosproblems.com/>
|
|
304
328
|
|
|
305
329
|
## Docs
|
|
306
330
|
|
|
@@ -321,7 +345,7 @@ If you are preparing a public post, start here:
|
|
|
321
345
|
|
|
322
346
|
### What is the difference between this and erdosproblems.com?
|
|
323
347
|
|
|
324
|
-
`erdosproblems.com` is
|
|
348
|
+
`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
349
|
|
|
326
350
|
### Can I use this with Codex, Claude Code, or another agent?
|
|
327
351
|
|
|
@@ -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
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Deep Research Bundle Spec
|
|
2
|
+
|
|
3
|
+
Last updated: 2026-03-30
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
This document defines how `SproutSeeds/erdos-problems` can hold the full public research archive without forcing all of it into the npm package.
|
|
8
|
+
|
|
9
|
+
The package should keep a two-speed model:
|
|
10
|
+
|
|
11
|
+
- fast install and immediate dossier/pack handoff through npm
|
|
12
|
+
- deeper public research bundles through the GitHub repo
|
|
13
|
+
|
|
14
|
+
## Repo-only directories
|
|
15
|
+
|
|
16
|
+
These directories are intended to live in the GitHub repo but stay out of the npm tarball:
|
|
17
|
+
|
|
18
|
+
- `research/`
|
|
19
|
+
- `formal/`
|
|
20
|
+
- `paper/`
|
|
21
|
+
- `imports/`
|
|
22
|
+
- `analysis/`
|
|
23
|
+
|
|
24
|
+
They remain repo-only by staying outside the `package.json` `files` list.
|
|
25
|
+
|
|
26
|
+
## Recommended layout
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
research/
|
|
30
|
+
problems/<id>/
|
|
31
|
+
README.md
|
|
32
|
+
boards/
|
|
33
|
+
checkpoints/
|
|
34
|
+
notes/
|
|
35
|
+
wave-history/
|
|
36
|
+
|
|
37
|
+
formal/
|
|
38
|
+
lean/
|
|
39
|
+
README.md
|
|
40
|
+
SunflowerLean/
|
|
41
|
+
|
|
42
|
+
paper/
|
|
43
|
+
README.md
|
|
44
|
+
problems/<id>/
|
|
45
|
+
references/
|
|
46
|
+
|
|
47
|
+
imports/
|
|
48
|
+
README.md
|
|
49
|
+
external-atlas/
|
|
50
|
+
public-site/
|
|
51
|
+
|
|
52
|
+
analysis/
|
|
53
|
+
README.md
|
|
54
|
+
problem20/
|
|
55
|
+
problem857/
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Problem handoff model
|
|
59
|
+
|
|
60
|
+
Every serious problem should eventually have three public layers:
|
|
61
|
+
|
|
62
|
+
### 1. Canonical dossier
|
|
63
|
+
|
|
64
|
+
Lives in `problems/<id>/`.
|
|
65
|
+
|
|
66
|
+
Use for:
|
|
67
|
+
- source page
|
|
68
|
+
- canonical local status
|
|
69
|
+
- short statement
|
|
70
|
+
- references
|
|
71
|
+
- evidence ledger
|
|
72
|
+
- formalization posture
|
|
73
|
+
|
|
74
|
+
### 2. Public pack packet
|
|
75
|
+
|
|
76
|
+
Lives in `packs/<family>/problems/<id>/`.
|
|
77
|
+
|
|
78
|
+
Use for:
|
|
79
|
+
- active route
|
|
80
|
+
- current frontier
|
|
81
|
+
- ready queue
|
|
82
|
+
- checkpoint/report templates
|
|
83
|
+
- concise operational handoff
|
|
84
|
+
|
|
85
|
+
### 3. Deep research bundle
|
|
86
|
+
|
|
87
|
+
Lives in `research/problems/<id>/`.
|
|
88
|
+
|
|
89
|
+
Use for:
|
|
90
|
+
- long-form notes
|
|
91
|
+
- board exports
|
|
92
|
+
- route decompositions
|
|
93
|
+
- wave histories
|
|
94
|
+
- intermediate artifacts
|
|
95
|
+
- deeper public context not needed in the npm install
|
|
96
|
+
|
|
97
|
+
## Formal bundle
|
|
98
|
+
|
|
99
|
+
Formalization source should live under `formal/lean/` or another clearly scoped formal directory inside this repo.
|
|
100
|
+
|
|
101
|
+
Pack packets may point into those repo-local formal files, but should not point back out to `sunflower-coda` once the migration is complete.
|
|
102
|
+
|
|
103
|
+
## Paper bundle
|
|
104
|
+
|
|
105
|
+
Paper drafts, publication notes, and public reference-reading order should live under `paper/`.
|
|
106
|
+
|
|
107
|
+
The npm install does not need all of this by default, but the repo should be able to present it as part of the canonical public archive.
|
|
108
|
+
|
|
109
|
+
For problem-specific writing, prefer `paper/problems/<id>/` bundles created by `erdos paper init <id>`.
|
|
110
|
+
|
|
111
|
+
## Import bundle
|
|
112
|
+
|
|
113
|
+
External imports should live under `imports/` when they are intentionally retained in the repo.
|
|
114
|
+
|
|
115
|
+
These are not canonical dossier truth. They are imported provenance and reconciliation material.
|
|
116
|
+
|
|
117
|
+
## Migration order
|
|
118
|
+
|
|
119
|
+
1. store this directory contract in the repo
|
|
120
|
+
2. create the repo-only directories with READMEs
|
|
121
|
+
3. migrate flagship public materials for `20` and `857`
|
|
122
|
+
4. update pack references from `sunflower-coda/...` to repo-local paths
|
|
123
|
+
5. add CLI affordances for pointing users at the deeper repo-held bundles
|
|
124
|
+
|
|
125
|
+
## Success criteria
|
|
126
|
+
|
|
127
|
+
- the GitHub repo can hold the full public archive
|
|
128
|
+
- npm remains focused on install-critical assets
|
|
129
|
+
- a user can understand the shallow-to-deep handoff without guessing
|