erdos-problems 0.1.13 → 0.2.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 +117 -4
- package/docs/RESEARCH_LOOP.md +21 -2
- package/package.json +1 -1
- package/packs/number-theory/README.md +17 -0
- package/packs/number-theory/problems/1/CHECKPOINT_TEMPLATE.md +7 -0
- package/packs/number-theory/problems/1/CONTEXT.md +8 -0
- package/packs/number-theory/problems/1/FRONTIER_NOTE.md +8 -0
- package/packs/number-theory/problems/1/OPS_DETAILS.yaml +25 -0
- package/packs/number-theory/problems/1/REPORT_TEMPLATE.md +7 -0
- package/packs/number-theory/problems/1/ROUTE_HISTORY.md +5 -0
- package/packs/number-theory/problems/1/ROUTE_PACKET.yaml +13 -0
- package/packs/number-theory/problems/1/context.yaml +25 -0
- package/packs/number-theory/problems/2/CHECKPOINT_TEMPLATE.md +7 -0
- package/packs/number-theory/problems/2/CONTEXT.md +8 -0
- package/packs/number-theory/problems/2/FRONTIER_NOTE.md +8 -0
- package/packs/number-theory/problems/2/OPS_DETAILS.yaml +25 -0
- package/packs/number-theory/problems/2/REPORT_TEMPLATE.md +7 -0
- package/packs/number-theory/problems/2/ROUTE_HISTORY.md +5 -0
- package/packs/number-theory/problems/2/ROUTE_PACKET.yaml +13 -0
- package/packs/number-theory/problems/2/context.yaml +25 -0
- package/packs/sunflower/README.md +17 -4
- package/packs/sunflower/problems/20/CHECKPOINT_TEMPLATE.md +29 -0
- package/packs/sunflower/problems/20/FRONTIER_NOTE.md +13 -0
- package/packs/sunflower/problems/20/OPS_DETAILS.yaml +44 -0
- package/packs/sunflower/problems/20/REPORT_TEMPLATE.md +23 -0
- package/packs/sunflower/problems/20/ROUTE_HISTORY.md +18 -0
- package/packs/sunflower/problems/536/CHECKPOINT_TEMPLATE.md +7 -0
- package/packs/sunflower/problems/536/FRONTIER_NOTE.md +8 -0
- package/packs/sunflower/problems/536/OPS_DETAILS.yaml +39 -0
- package/packs/sunflower/problems/536/REPORT_TEMPLATE.md +7 -0
- package/packs/sunflower/problems/536/ROUTE_HISTORY.md +5 -0
- package/packs/sunflower/problems/856/CHECKPOINT_TEMPLATE.md +7 -0
- package/packs/sunflower/problems/856/FRONTIER_NOTE.md +8 -0
- package/packs/sunflower/problems/856/OPS_DETAILS.yaml +39 -0
- package/packs/sunflower/problems/856/REPORT_TEMPLATE.md +7 -0
- package/packs/sunflower/problems/856/ROUTE_HISTORY.md +5 -0
- package/packs/sunflower/problems/857/CHECKPOINT_TEMPLATE.md +32 -0
- package/packs/sunflower/problems/857/FRONTIER_NOTE.md +18 -0
- package/packs/sunflower/problems/857/OPS_DETAILS.yaml +65 -0
- package/packs/sunflower/problems/857/REPORT_TEMPLATE.md +26 -0
- package/packs/sunflower/problems/857/ROUTE_HISTORY.md +25 -0
- package/src/cli/index.js +22 -3
- package/src/commands/archive.js +46 -0
- package/src/commands/cluster.js +4 -0
- package/src/commands/maintainer.js +20 -2
- package/src/commands/number-theory.js +199 -0
- package/src/commands/problem.js +3 -0
- package/src/commands/pull.js +180 -5
- package/src/commands/sunflower.js +290 -12
- package/src/commands/upstream.js +129 -0
- package/src/commands/workspace.js +20 -0
- package/src/runtime/archive.js +87 -0
- package/src/runtime/checkpoints.js +27 -0
- package/src/runtime/maintainer-seed.js +70 -0
- package/src/runtime/number-theory.js +169 -0
- package/src/runtime/paths.js +16 -0
- package/src/runtime/state.js +63 -3
- package/src/runtime/sunflower.js +329 -2
- package/src/runtime/workspace.js +4 -0
- package/src/upstream/literature.js +83 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Problem 20 Route History
|
|
2
|
+
|
|
3
|
+
## Closed public route layers
|
|
4
|
+
|
|
5
|
+
- `uniform_prize`
|
|
6
|
+
- `uniform_prize_final_k3`
|
|
7
|
+
|
|
8
|
+
## Current honest public route
|
|
9
|
+
|
|
10
|
+
- `uniform_k3_frontier`
|
|
11
|
+
|
|
12
|
+
## Residual route context
|
|
13
|
+
|
|
14
|
+
- `uniform_prize_full_all_k`
|
|
15
|
+
|
|
16
|
+
Why it matters:
|
|
17
|
+
- the public pack should keep the closed `k=3` route visible
|
|
18
|
+
- but it should also keep the remaining support-lane obligations visible without pretending there is a ready atom when there is not
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Problem 536 Frontier Note
|
|
2
|
+
|
|
3
|
+
Treat 536 as a bridge problem, not a fake deep proof lane.
|
|
4
|
+
|
|
5
|
+
The honest live work is:
|
|
6
|
+
- preserve the natural-density LCM analogue statement
|
|
7
|
+
- keep its bridge to `857` explicit
|
|
8
|
+
- tighten public references and transfer notes without pretending the analogue has a theorem-board frontier yet
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
packet_id: sunflower536_ops_details_v1
|
|
2
|
+
summary: Public bridge-board drill-down packet for problem 536.
|
|
3
|
+
routes:
|
|
4
|
+
- route_id: natural_density_lcm_bridge
|
|
5
|
+
title: Natural-Density LCM Bridge
|
|
6
|
+
status: active
|
|
7
|
+
theorem_module: ""
|
|
8
|
+
summary: Freeze public status, exact analogue wording, and the bridge back to 857.
|
|
9
|
+
why_now: This is the active public bridge route for the natural-density analogue.
|
|
10
|
+
next_move: Close the public-status review atom before widening the analogue story.
|
|
11
|
+
ticket_ids: [T1, T2, T3]
|
|
12
|
+
tickets:
|
|
13
|
+
- ticket_id: T1
|
|
14
|
+
title: Dossier Source Lock
|
|
15
|
+
route_id: natural_density_lcm_bridge
|
|
16
|
+
route_leaf: public_status_and_statement_lock
|
|
17
|
+
status: active
|
|
18
|
+
summary: Freeze the public open-state and exact statement wording.
|
|
19
|
+
gate_story: This is where the bridge board becomes trustworthy.
|
|
20
|
+
current_blocker: The public-status review still needs to be frozen.
|
|
21
|
+
next_move: Close `T1.G1.A3`.
|
|
22
|
+
atom_ids: [T1.G1.A3]
|
|
23
|
+
atoms:
|
|
24
|
+
- atom_id: T1.G1.A3
|
|
25
|
+
title: Run the public-status review and freeze the exact open-state snapshot for problem 536
|
|
26
|
+
ticket_id: T1
|
|
27
|
+
route_id: natural_density_lcm_bridge
|
|
28
|
+
gate_id: T1.G1
|
|
29
|
+
tier: P0-SpecLock
|
|
30
|
+
kind: review
|
|
31
|
+
status: ready
|
|
32
|
+
summary: This is the smallest honest public move for 536.
|
|
33
|
+
why_now: The bridge board already marks it ready.
|
|
34
|
+
next_move: Freeze the public-status artifacts and checkpoint the bridge state.
|
|
35
|
+
verification_hook:
|
|
36
|
+
- erdos sunflower routes 536
|
|
37
|
+
- erdos sunflower tickets 536
|
|
38
|
+
dependencies:
|
|
39
|
+
- public-status review bundle
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Problem 536 Route History
|
|
2
|
+
|
|
3
|
+
- Initial public posture: dossier bridge with sunflower-family linkage.
|
|
4
|
+
- Current public posture: natural-density analogue bridge with explicit route packet and ops detail packet.
|
|
5
|
+
- Next maturity threshold: freeze stronger transfer notes into `857` before adding deeper pack machinery.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Problem 856 Frontier Note
|
|
2
|
+
|
|
3
|
+
Treat 856 as a bridge problem whose value is in clean exponent-transfer context, not a fake theorem frontier.
|
|
4
|
+
|
|
5
|
+
The honest live work is:
|
|
6
|
+
- preserve the harmonic-density LCM analogue
|
|
7
|
+
- keep the exponent-transfer relationship to `857` explicit
|
|
8
|
+
- improve bridge artifacts and references without overstating proof structure
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
packet_id: sunflower856_ops_details_v1
|
|
2
|
+
summary: Public bridge-board drill-down packet for problem 856.
|
|
3
|
+
routes:
|
|
4
|
+
- route_id: harmonic_density_lcm_bridge
|
|
5
|
+
title: Harmonic-Density LCM Bridge
|
|
6
|
+
status: active
|
|
7
|
+
theorem_module: ""
|
|
8
|
+
summary: Freeze public status, density-language wording, and the exponent-transfer bridge back to 857.
|
|
9
|
+
why_now: This is the active public bridge route for the harmonic-density analogue.
|
|
10
|
+
next_move: Close the public-status review atom before widening the exponent-transfer story.
|
|
11
|
+
ticket_ids: [T1, T2, T3]
|
|
12
|
+
tickets:
|
|
13
|
+
- ticket_id: T1
|
|
14
|
+
title: Dossier Source Lock
|
|
15
|
+
route_id: harmonic_density_lcm_bridge
|
|
16
|
+
route_leaf: public_status_and_density_lock
|
|
17
|
+
status: active
|
|
18
|
+
summary: Freeze the public open-state and the exact density-language statement.
|
|
19
|
+
gate_story: This is where the bridge board becomes trustworthy.
|
|
20
|
+
current_blocker: The public-status review still needs to be frozen.
|
|
21
|
+
next_move: Close `T1.G1.A3`.
|
|
22
|
+
atom_ids: [T1.G1.A3]
|
|
23
|
+
atoms:
|
|
24
|
+
- atom_id: T1.G1.A3
|
|
25
|
+
title: Run the public-status review and freeze the exact open-state snapshot for problem 856
|
|
26
|
+
ticket_id: T1
|
|
27
|
+
route_id: harmonic_density_lcm_bridge
|
|
28
|
+
gate_id: T1.G1
|
|
29
|
+
tier: P0-SpecLock
|
|
30
|
+
kind: review
|
|
31
|
+
status: ready
|
|
32
|
+
summary: This is the smallest honest public move for 856.
|
|
33
|
+
why_now: The bridge board already marks it ready.
|
|
34
|
+
next_move: Freeze the public-status artifacts and checkpoint the bridge state.
|
|
35
|
+
verification_hook:
|
|
36
|
+
- erdos sunflower routes 856
|
|
37
|
+
- erdos sunflower tickets 856
|
|
38
|
+
dependencies:
|
|
39
|
+
- public-status review bundle
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Problem 856 Route History
|
|
2
|
+
|
|
3
|
+
- Initial public posture: dossier bridge with weak-sunflower linkage.
|
|
4
|
+
- Current public posture: harmonic-density analogue bridge with explicit route packet and ops detail packet.
|
|
5
|
+
- Next maturity threshold: freeze cleaner exponent-transfer notes into `857` before deepening the pack.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Problem 857 Checkpoint Template
|
|
2
|
+
|
|
3
|
+
## Status Ladder
|
|
4
|
+
|
|
5
|
+
- Open problem:
|
|
6
|
+
- Active route:
|
|
7
|
+
- Route breakthrough:
|
|
8
|
+
- Problem solved:
|
|
9
|
+
|
|
10
|
+
## Active ticket
|
|
11
|
+
|
|
12
|
+
- Ticket id:
|
|
13
|
+
- Leaf theorem:
|
|
14
|
+
- Gate progress:
|
|
15
|
+
- Atom progress:
|
|
16
|
+
|
|
17
|
+
## Frontier
|
|
18
|
+
|
|
19
|
+
- First ready atom:
|
|
20
|
+
- Why this atom is honest:
|
|
21
|
+
- What changed since the last checkpoint:
|
|
22
|
+
|
|
23
|
+
## Verification
|
|
24
|
+
|
|
25
|
+
- Exact / Verified / Heuristic / Conjecture:
|
|
26
|
+
- Verification hook:
|
|
27
|
+
- Verification record:
|
|
28
|
+
|
|
29
|
+
## Next move
|
|
30
|
+
|
|
31
|
+
- Next honest move:
|
|
32
|
+
- What remains blocked:
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Problem 857 Frontier Note
|
|
2
|
+
|
|
3
|
+
- Open problem: yes
|
|
4
|
+
- Active route: `anchored_selector_linearization`
|
|
5
|
+
- Active ticket: `T10`
|
|
6
|
+
- First ready atom: `T10.G3.A2`
|
|
7
|
+
- Route breakthrough: yes
|
|
8
|
+
- Problem solved: no
|
|
9
|
+
|
|
10
|
+
Current honest framing:
|
|
11
|
+
- the public weak-sunflower pack is no longer bottlenecked on generic counting closure
|
|
12
|
+
- the live public frontier is the anchored-selector linearization seam
|
|
13
|
+
- the next honest move is to promote the helper/theorem stack into `anchored_selector_linearization_realized`
|
|
14
|
+
|
|
15
|
+
Boundary:
|
|
16
|
+
- historical tickets stay visible for context
|
|
17
|
+
- they do not outrank the active `T10` frontier
|
|
18
|
+
- no route breakthrough should be widened into a solved-problem claim
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
packet_id: weak857_ops_details_v1
|
|
2
|
+
summary: Public drill-down packet for the live weak-sunflower frontier.
|
|
3
|
+
routes:
|
|
4
|
+
- route_id: anchored_selector_linearization
|
|
5
|
+
title: Anchored-Selector Linearization
|
|
6
|
+
status: active
|
|
7
|
+
theorem_module: sunflower-coda/repo/sunflower_lean/SunflowerLean/ObstructionExport.lean
|
|
8
|
+
summary: Export the live anchored-selector helper stack into a route-facing leaf that remains honest about the open-problem boundary.
|
|
9
|
+
why_now: This is the only live public route with a dependency-satisfied ready atom.
|
|
10
|
+
next_move: Promote the helper/theorem stack into `anchored_selector_linearization_realized`.
|
|
11
|
+
ticket_ids: [T10]
|
|
12
|
+
source_paths:
|
|
13
|
+
- packs/sunflower/problems/857/ATOMIC_BOARD.yaml
|
|
14
|
+
- packs/sunflower/problems/857/FRONTIER_NOTE.md
|
|
15
|
+
- route_id: o1a_existential_explicit_export
|
|
16
|
+
title: O1a Existential Explicit Export
|
|
17
|
+
status: strict_closed
|
|
18
|
+
theorem_module: sunflower-coda/repo/sunflower_lean/SunflowerLean/ObstructionGlobalBridge.lean
|
|
19
|
+
summary: Closed public route exporting the O1a obstruction into an explicit remainder package.
|
|
20
|
+
why_now: This is the last fully closed route layer immediately beneath the active anchored-selector frontier.
|
|
21
|
+
next_move: Use it as support context only; do not spend new frontier energy here.
|
|
22
|
+
ticket_ids: [T9]
|
|
23
|
+
tickets:
|
|
24
|
+
- ticket_id: T10
|
|
25
|
+
title: "Route Redesign T10: Anchored-Selector Linearization"
|
|
26
|
+
route_id: anchored_selector_linearization
|
|
27
|
+
route_leaf: anchored_selector_linearization_realized
|
|
28
|
+
status: active
|
|
29
|
+
summary: Turn the packaged helper stack into a stable public route leaf.
|
|
30
|
+
gate_story: The early gates are satisfied; the live public pressure is concentrated inside the G3 seam.
|
|
31
|
+
current_blocker: The helper/theorem stack must be promoted into the named route-facing leaf without blurring historical context into closure.
|
|
32
|
+
next_move: Close `T10.G3.A2`.
|
|
33
|
+
atom_ids: [T10.G3.A2]
|
|
34
|
+
source_paths:
|
|
35
|
+
- packs/sunflower/problems/857/ATOMIC_BOARD.yaml
|
|
36
|
+
- ticket_id: T9
|
|
37
|
+
title: "Route Redesign T9: O1a Existential Explicit Export"
|
|
38
|
+
route_id: o1a_existential_explicit_export
|
|
39
|
+
route_leaf: exists_anchor_with_explicit_M_remainder_export_of_ObstructionO1a
|
|
40
|
+
status: closed
|
|
41
|
+
summary: Closed public ticket exporting the obstruction route into an explicit anchored remainder theorem.
|
|
42
|
+
gate_story: This ticket is historical support, not the live frontier.
|
|
43
|
+
current_blocker: none
|
|
44
|
+
next_move: Keep it as support context for the active route.
|
|
45
|
+
atom_ids: []
|
|
46
|
+
atoms:
|
|
47
|
+
- atom_id: T10.G3.A2
|
|
48
|
+
title: Promote the helper/theorem stack into anchored_selector_linearization_realized
|
|
49
|
+
ticket_id: T10
|
|
50
|
+
route_id: anchored_selector_linearization
|
|
51
|
+
gate_id: T10.G3
|
|
52
|
+
tier: P2-QuantAssembly
|
|
53
|
+
kind: work
|
|
54
|
+
status: ready
|
|
55
|
+
summary: This is the exact public atom where the active route becomes a real named leaf.
|
|
56
|
+
why_now: The board already marks it ready, so this is the smallest honest public move.
|
|
57
|
+
next_move: Prove or package the helper stack cleanly and checkpoint the route if the leaf closes.
|
|
58
|
+
verification_hook:
|
|
59
|
+
- erdos sunflower frontier 857
|
|
60
|
+
- erdos sunflower tickets 857
|
|
61
|
+
dependencies:
|
|
62
|
+
- anchored_selector_linearization helper stack remains verified
|
|
63
|
+
- route/ticket packet wording stays synchronized
|
|
64
|
+
source_paths:
|
|
65
|
+
- packs/sunflower/problems/857/ATOMIC_BOARD.yaml
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Problem 857 Report Template
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
- Route worked:
|
|
6
|
+
- Ticket worked:
|
|
7
|
+
- Atom worked:
|
|
8
|
+
- Claim level achieved:
|
|
9
|
+
|
|
10
|
+
## Artifacts
|
|
11
|
+
|
|
12
|
+
- Lean/module artifacts:
|
|
13
|
+
- Board artifacts:
|
|
14
|
+
- Compute/run artifacts:
|
|
15
|
+
- Checkpoint updates:
|
|
16
|
+
|
|
17
|
+
## Frontier shift
|
|
18
|
+
|
|
19
|
+
- Old frontier:
|
|
20
|
+
- New frontier:
|
|
21
|
+
- Did the route breakthrough state change?
|
|
22
|
+
|
|
23
|
+
## Honesty check
|
|
24
|
+
|
|
25
|
+
- What remains open?
|
|
26
|
+
- What should not be overclaimed?
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Problem 857 Route History
|
|
2
|
+
|
|
3
|
+
## Closed public route layers
|
|
4
|
+
|
|
5
|
+
- `global_family_card_export`
|
|
6
|
+
- `explicit_remainder_export`
|
|
7
|
+
- `explicit_M_remainder_export`
|
|
8
|
+
- `o1a_existential_explicit_export`
|
|
9
|
+
|
|
10
|
+
## Historical context routes
|
|
11
|
+
|
|
12
|
+
- `o1a_foundation`
|
|
13
|
+
- `o1a_certificate_reduction`
|
|
14
|
+
- `o1a_residual_router`
|
|
15
|
+
- `o1a_hard_upgrade`
|
|
16
|
+
- `b2_recurrence_spine`
|
|
17
|
+
- `post_counting_redesign`
|
|
18
|
+
|
|
19
|
+
## Current frontier route
|
|
20
|
+
|
|
21
|
+
- `anchored_selector_linearization`
|
|
22
|
+
|
|
23
|
+
Why it matters:
|
|
24
|
+
- this is the first route that still exposes live public pressure in the pack
|
|
25
|
+
- it links the local theorem stack to a problem-facing public frontier without pretending the open problem is solved
|
package/src/cli/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { runArchiveCommand } from '../commands/archive.js';
|
|
1
2
|
import { runBootstrapCommand } from '../commands/bootstrap.js';
|
|
2
3
|
import { runCheckpointsCommand } from '../commands/checkpoints.js';
|
|
3
4
|
import { runClusterCommand } from '../commands/cluster.js';
|
|
4
5
|
import { runContinuationCommand } from '../commands/continuation.js';
|
|
5
6
|
import { runDossierCommand } from '../commands/dossier.js';
|
|
6
7
|
import { runMaintainerCommand } from '../commands/maintainer.js';
|
|
8
|
+
import { runNumberTheoryCommand } from '../commands/number-theory.js';
|
|
7
9
|
import { runOrpCommand } from '../commands/orp.js';
|
|
8
10
|
import { runPreflightCommand } from '../commands/preflight.js';
|
|
9
11
|
import { runProblemCommand } from '../commands/problem.js';
|
|
@@ -26,6 +28,12 @@ function printUsage() {
|
|
|
26
28
|
console.log(' erdos problem artifacts [<id>] [--json]');
|
|
27
29
|
console.log(' erdos cluster list');
|
|
28
30
|
console.log(' erdos cluster show <name>');
|
|
31
|
+
console.log(' erdos archive show <id>');
|
|
32
|
+
console.log(' erdos archive scaffold <id>');
|
|
33
|
+
console.log(' erdos number-theory status [<id>] [--json]');
|
|
34
|
+
console.log(' erdos number-theory frontier [<id>] [--json]');
|
|
35
|
+
console.log(' erdos number-theory routes [<id>] [--json]');
|
|
36
|
+
console.log(' erdos number-theory tickets [<id>] [--json]');
|
|
29
37
|
console.log(' erdos workspace show');
|
|
30
38
|
console.log(' erdos orp show [--json]');
|
|
31
39
|
console.log(' erdos orp sync [--json]');
|
|
@@ -41,17 +49,24 @@ function printUsage() {
|
|
|
41
49
|
console.log(' erdos sunflower ladder [<id>] [--json]');
|
|
42
50
|
console.log(' erdos sunflower routes [<id>] [--json]');
|
|
43
51
|
console.log(' erdos sunflower tickets [<id>] [--json]');
|
|
52
|
+
console.log(' erdos sunflower frontier [<id>] [--json]');
|
|
53
|
+
console.log(' erdos sunflower route <problem-id> <route-id> [--json]');
|
|
54
|
+
console.log(' erdos sunflower ticket <problem-id> <ticket-id> [--json]');
|
|
55
|
+
console.log(' erdos sunflower atom <problem-id> <atom-id> [--json]');
|
|
56
|
+
console.log(' erdos sunflower compute run [<id>] [--json]');
|
|
44
57
|
console.log(' erdos dossier show <id>');
|
|
45
58
|
console.log(' erdos upstream show');
|
|
46
59
|
console.log(' erdos upstream sync [--write-package-snapshot]');
|
|
47
60
|
console.log(' erdos upstream diff [--write-package-report]');
|
|
61
|
+
console.log(' erdos upstream drift [<id>] [--include-site] [--json]');
|
|
48
62
|
console.log(' erdos scaffold problem <id> [--dest <path>]');
|
|
49
63
|
console.log(' erdos bootstrap problem <id> [--dest <path>] [--sync-upstream]');
|
|
50
64
|
console.log(' erdos seed problem <id> [--include-site|--no-site] [--include-public-search|--no-public-search] [--refresh-upstream] [--cluster <name>] [--repo-status <status>] [--harness-depth <depth>] [--title <title>] [--family-tag <tag>] [--related <id>] [--formalization-status <status>] [--active-route <route>] [--route-breakthrough] [--problem-solved] [--allow-non-open] [--dest-root <path>] [--no-activate] [--no-loop-sync] [--force] [--json]');
|
|
51
|
-
console.log(' erdos pull problem <id> [--dest <path>] [--include-site] [--include-public-search] [--refresh-upstream]');
|
|
52
|
-
console.log(' erdos pull artifacts <id> [--dest <path>] [--refresh-upstream]');
|
|
53
|
-
console.log(' erdos pull literature <id> [--dest <path>] [--include-site] [--include-public-search] [--refresh-upstream]');
|
|
65
|
+
console.log(' erdos pull problem <id> [--dest <path>] [--include-site] [--include-public-search] [--include-crossref] [--include-openalex] [--refresh-upstream] [--json]');
|
|
66
|
+
console.log(' erdos pull artifacts <id> [--dest <path>] [--refresh-upstream] [--json]');
|
|
67
|
+
console.log(' erdos pull literature <id> [--dest <path>] [--include-site] [--include-public-search] [--include-crossref] [--include-openalex] [--refresh-upstream] [--json]');
|
|
54
68
|
console.log(' erdos maintainer seed problem <id> [--from-pull <path>] [--dest-root <path>] [--cluster <name>] [--allow-non-open]');
|
|
69
|
+
console.log(' erdos maintainer review problem <id> [--from-pull <path>] [--dest-root <path>] [--title <title>]');
|
|
55
70
|
}
|
|
56
71
|
|
|
57
72
|
const args = process.argv.slice(2);
|
|
@@ -65,6 +80,10 @@ if (!command || command === 'help' || command === '--help') {
|
|
|
65
80
|
exitCode = runProblemCommand(rest);
|
|
66
81
|
} else if (command === 'cluster') {
|
|
67
82
|
exitCode = runClusterCommand(rest);
|
|
83
|
+
} else if (command === 'archive') {
|
|
84
|
+
exitCode = runArchiveCommand(rest);
|
|
85
|
+
} else if (command === 'number-theory') {
|
|
86
|
+
exitCode = runNumberTheoryCommand(rest);
|
|
68
87
|
} else if (command === 'workspace') {
|
|
69
88
|
exitCode = runWorkspaceCommand(rest);
|
|
70
89
|
} else if (command === 'orp') {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getArchiveView, scaffoldArchive } from '../runtime/archive.js';
|
|
2
|
+
|
|
3
|
+
export function runArchiveCommand(args) {
|
|
4
|
+
const [subcommand, problemId] = args;
|
|
5
|
+
|
|
6
|
+
if (!subcommand || subcommand === 'help' || subcommand === '--help') {
|
|
7
|
+
console.log('Usage:');
|
|
8
|
+
console.log(' erdos archive show <id>');
|
|
9
|
+
console.log(' erdos archive scaffold <id>');
|
|
10
|
+
return 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (!problemId) {
|
|
14
|
+
console.error('Missing problem id.');
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (subcommand === 'show') {
|
|
19
|
+
const archive = getArchiveView(problemId);
|
|
20
|
+
if (!archive) {
|
|
21
|
+
console.error(`Unknown problem: ${problemId}`);
|
|
22
|
+
return 1;
|
|
23
|
+
}
|
|
24
|
+
console.log(`${archive.displayName} archive view`);
|
|
25
|
+
console.log(`Title: ${archive.title}`);
|
|
26
|
+
console.log(`Solved: ${archive.solved ? 'yes' : 'no'}`);
|
|
27
|
+
console.log(`Archive mode: ${archive.archiveMode}`);
|
|
28
|
+
console.log(`Next move: ${archive.nextMove}`);
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (subcommand === 'scaffold') {
|
|
33
|
+
try {
|
|
34
|
+
const result = scaffoldArchive(problemId);
|
|
35
|
+
console.log(`Archive scaffold created: ${result.archiveDir}`);
|
|
36
|
+
console.log(`Archive mode: ${result.payload.archiveMode}`);
|
|
37
|
+
return 0;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error(String(error.message ?? error));
|
|
40
|
+
return 1;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
console.error(`Unknown archive subcommand: ${subcommand}`);
|
|
45
|
+
return 1;
|
|
46
|
+
}
|
package/src/commands/cluster.js
CHANGED
|
@@ -10,6 +10,10 @@ function printCluster(cluster) {
|
|
|
10
10
|
console.log(' Weak sunflower core: 857');
|
|
11
11
|
console.log(' Strong sunflower sibling: 20');
|
|
12
12
|
console.log(' Related analogues: 536, 856');
|
|
13
|
+
} else if (cluster.name === 'number-theory') {
|
|
14
|
+
console.log(' Open starter cockpit: 1');
|
|
15
|
+
console.log(' Counterexample/archive cockpit: 2');
|
|
16
|
+
console.log(' Additional dossier seeds: 3, 4, 5, 6, 7, 18, 542');
|
|
13
17
|
}
|
|
14
18
|
}
|
|
15
19
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { seedProblemFromPullBundle } from '../runtime/maintainer-seed.js';
|
|
2
|
+
import { reviewPullBundleForSeeding, seedProblemFromPullBundle } from '../runtime/maintainer-seed.js';
|
|
3
3
|
|
|
4
4
|
function parseMaintainerSeedArgs(args) {
|
|
5
5
|
const [kind, problemToken, ...rest] = args;
|
|
@@ -137,10 +137,11 @@ export function runMaintainerCommand(args) {
|
|
|
137
137
|
if (!subcommand || subcommand === 'help' || subcommand === '--help') {
|
|
138
138
|
console.log('Usage:');
|
|
139
139
|
console.log(' erdos maintainer seed problem <id> [--from-pull <path>] [--dest-root <path>] [--cluster <name>] [--repo-status <status>] [--harness-depth <depth>] [--title <title>] [--family-tag <tag>] [--related <id>] [--formalization-status <status>] [--active-route <route>] [--route-breakthrough] [--problem-solved] [--allow-non-open] [--force]');
|
|
140
|
+
console.log(' erdos maintainer review problem <id> [--from-pull <path>] [--dest-root <path>] [--title <title>]');
|
|
140
141
|
return 0;
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
if (
|
|
144
|
+
if (!['seed', 'review'].includes(subcommand)) {
|
|
144
145
|
console.error(`Unknown maintainer subcommand: ${subcommand}`);
|
|
145
146
|
return 1;
|
|
146
147
|
}
|
|
@@ -156,6 +157,23 @@ export function runMaintainerCommand(args) {
|
|
|
156
157
|
}
|
|
157
158
|
|
|
158
159
|
try {
|
|
160
|
+
if (subcommand === 'review') {
|
|
161
|
+
const result = reviewPullBundleForSeeding(parsed.problemId, {
|
|
162
|
+
fromPullDir: parsed.fromPullDir ? path.resolve(parsed.fromPullDir) : null,
|
|
163
|
+
destRoot: parsed.destRoot ? path.resolve(parsed.destRoot) : null,
|
|
164
|
+
title: parsed.title,
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
console.log(`Prepared maintainer review for problem ${parsed.problemId}`);
|
|
168
|
+
console.log(`Review checklist: ${result.reviewPath}`);
|
|
169
|
+
console.log(`Proposed destination: ${result.destinationDir}`);
|
|
170
|
+
console.log(`Title: ${result.title}`);
|
|
171
|
+
console.log(`Upstream record used: ${result.usedUpstreamRecord ? 'yes' : 'no'}`);
|
|
172
|
+
console.log(`Site snapshot used: ${result.usedSiteSnapshot ? 'yes' : 'no'}`);
|
|
173
|
+
console.log(`Public status review used: ${result.usedPublicStatusReview ? 'yes' : 'no'}`);
|
|
174
|
+
return 0;
|
|
175
|
+
}
|
|
176
|
+
|
|
159
177
|
const result = seedProblemFromPullBundle(parsed.problemId, {
|
|
160
178
|
fromPullDir: parsed.fromPullDir ? path.resolve(parsed.fromPullDir) : null,
|
|
161
179
|
destRoot: parsed.destRoot ? path.resolve(parsed.destRoot) : null,
|