Research-Stack/6-Documentation/docs/RESEARCH_EXECUTION_PLAN_2026-06-10.md
allaun 5f80fd8429 chore(repo): push local 768-commit branch state onto clean remote baseline
This squashes all local history (768 commits) onto the scrubbed PR #90
baseline. Individual commits were lost during filter-repo corruption;
the working tree content is preserved intact.

Build: N/A (working tree state only)
2026-06-15 22:46:50 -05:00

192 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Research Execution Plan — 2026-06-10
**Status:** EXECUTION_PLAN_ACTIVE
**Rule:** every goal below has a receipt-shaped success criterion. A goal
without its receipt is not done, regardless of how much work happened near it.
**Companion docs:** `erdos329-synthesis-program-2026-06-10.md` (Track C
rationale), `NUTBREAKER_*.md` ×4 in this directory (Track B payloads),
`sidon-lifting-relaxation-program.md` (guardrails, inherited everywhere).
---
## Track A — Substrate repair (unblocks everything; do first)
### A1. cupfox back on the Tailscale mesh
- **Goal:** `tailscale status` on this machine lists cupfox (100.72.130.76)
and `kubectl get nodes -o wide` returns all agents Ready.
- **How:** console/physical access to cupfox → check `systemctl status
tailscaled` and `tailscale up`; if the box is down, boot it. Then from the
laptop: `kubectl get nodes`.
- **Blocks:** C1 (Ray jobs), C3, any fabric-tier work.
### A2. Fix neon IP drift
- **Goal:** no file in `distributed-compute-fabric` references the stale
Tailscale IP 100.100.75.113; `verify-internal.sh` exits 0.
- **Status:** ✅ DONE — 3 files updated (infrastructure-status.md, research plan,
SSH config). Live IP 100.92.88.64. MagicDNS name `neon-64gb` is the durable
reference moving forward.
### A3. ENE database access from this machine
- **Goal:** `psql "$DATABASE_URL" -c "select count(*) from <equations table>"`
returns ~33,890 from the neon-hosted Postgres.
- **Status:** ✅ DONE — Postgres 16 running on neon (arxiv-pg container, port 5432).
Shared user `services`, databases created for `appflowy`, `obsidian_sync`, `ene`.
DATABASE_URL exported in `~/.bashrc` and `~/.config/ene/ene.env`.
Redis (port 6379) and CouchDB (port 5984) also running on neon for service support.
### A4. Relocate singer-theorem-lean out of /tmp
- **Goal:** repo lives at a permanent path, builds there
(`lake build` exit 0), ContextStream mapping updated.
- **How:** `mv /tmp/singer-theorem-lean ~/Projects/singer-theorem-lean` (create
dir), rebuild, update the pattern in `~/.contextstream/mappings.json` (and
legacy `~/.contextstream-mappings.json`).
- **Risk if skipped:** /tmp is wiped on reboot; the public Erdos30 export
vanishes.
### A5. Session restart to load the MCP stack
- **Goal:** in a fresh Claude Code session, `/mcp` shows contextstream,
lean-lsp, nixos, k8s, arxiv all connected and their tools callable.
- **How:** restart Claude Code. Nothing else needed; all five are registered
at user scope and health-check ✔.
---
## Track B — Formal debt (sorry + axiom elimination)
Fire order is chosen so each success de-risks the next. All prompts are in
`6-Documentation/docs/`. Verification commands are inside each prompt.
### B1. Singer port — fire `NUTBREAKER` (Singer prompt, already existed)
- **Goal:** `SidonSets.lean:738` sorry closed; `lake build` 0 errors;
`grep -n sorry Semantics/SidonSets.lean` empty.
- **Why first:** clearest success criteria, upstream reference exists
(Erdos30/SingerTheorem.lean), and C2 consumes the result.
### B2. SSMS — fire `NUTBREAKER_SSMS_PROMPT.md`
- **Goal:** `ssms_step_nonexpansive` + `ssms_contraction_theorem` proven;
no sorry in SSMS.lean; Compiler + full build at baseline.
### B3. AdjugateMatrix — fire `NUTBREAKER_ADJUGATE_MATRIX_PROMPT.md`
- **Goal:** `cofactor_identity` closed OR formally classified (exactness
hypotheses added, epistemic branch documented). Both outcomes are receipts.
### B4. BraidSpherionBridge — fire `NUTBREAKER_BRAID_SPHERION_BRIDGE_PROMPT.md`
- **Goal:** all 9 drift-repair sorries closed, zero new axioms.
### B5. Burgers bridge — fire `NUTBREAKER_BURGERS_BRIDGE_PROMPT.md`
- **Goal:** `burgersToBraidDef` constructive def + shim-replay witness +
energy/mass correspondence lemmas on a stated domain; bare-axiom uses
contained. Step-correspondence level (exact / bounded-error / witnessed
conjecture) explicitly reported.
### B6. Axiom census receipt (cheap, high leverage — can run today)
- **Goal:** AGENTS.md gains a standing "Axiom Census" table: per-module axiom
count + one-line justification status; regenerating it is part of the
post-interaction workflow.
- **How:** `grep -rn '^axiom\|^\s*axiom ' Semantics/Semantics/*.lean
Semantics/Semantics/**/*.lean | sort` → table. Add the regeneration command
to the workflow section.
- **Why:** converts the "746 verified modules" claim from vulnerable to
audit-proof; the ledger starts pricing axioms the way RRC prices everything.
Failed nutbreaker runs route down-pipeline per the existing tier map:
DeepSeek-Prover MCP for lemma-sized fragments, fix-* subagents for
context-heavy residue, epistemic blocks to manual decision.
---
## Track C — Erdős #329 attack ladder (from the synthesis doc)
### C1. Obstruction mining run on neon *(needs A1 or direct neon access + A3)*
- **Goal:** RRC-tagged receipt rows in the ENE DB for Singer(q) and
BoseChowla(p,h) witnesses across ≥100 prime powers: collision_count (must
be 0), |Forbidden ∩ [1,cN]| for c ∈ {1,2,4,8}, Ω_N, Γ, M_Sidon. Mirror to
Garage S3.
- **How:** integer-only Python batch (pattern: `rrc_ray_tagger.py`), Ray over
the fabric or run directly on neon. The Γ growth curves decide which family
carries the program.
### C2. Statement-level interop *(needs B1)*
- **Goal:** `LimsupDensityOne` in SidonSets.lean matches
`formal-conjectures/ErdosProblems/329.lean`'s formulation;
`finiteWitness_requiresCollisionZero` and
`additiveEmbedding_preservesCollisions` proven (both short).
- **How:** Tier 2 (DeepSeek-Prover) or in-session with lean-lsp MCP; the
second lemma is the parent doc's "additive inclusion creates no slack"
warning made permanent.
### C3. Evolutionary digit-rule search *(needs A1, C1)*
- **Goal:** first generation of p-adic digit-choice rules evaluated with
M_Sidon fitness and collision-zero hard gate; best-of-generation receipts
archived; survivor rules converted to `native_decide` finite certificates.
- **How:** AlphaEvolve-shaped loop on the fabric — Hermes/Gemma for mutation
volume, Fable for escape moves, neon for audits. Outputs are
`R_finite + U_asymptotic` by construction.
### C4. K/M → Forbidden-set formal bridge — promote or refute
- **Goal:** a Lean statement transporting the `totalKS`/`kmReflectanceBound`
residual functional to Forbidden-set counting for one explicit lift family,
either proven (subquadratic obstruction bound — major) or refuted (the
analogy is formula-shape only — also a receipt, closes S1 as P_analogy).
### C5. Nesting theorem attempt on the best C1/C3 family
- **Goal:** the actual #329 swing: a compatible-lift-chain theorem for the
empirically best family. No deadline; this rung is earned by the others.
---
## Track D — Metamathematical grounding (from the Chaitin discussion)
### D1. Mass Numbers ⇄ resource-bounded Kolmogorov complexity
- **Goal:** the mass-number doctrine gains a formal-grounding section mapping
MassNumber(S,D,C,R) onto resource-bounded K / Levin's Kt, with the
decoder-sup trap door named as forbidden; one Lean lemma tying a concrete
MassNumber receipt to a decidable resource-bounded bound.
- **How:** doc edit in `mass_numbers_deanthropocentric_revision.md` +
small module or extension near MassNumberAdapter.lean.
### D2. Weld the trap doors into RRC
- **Goal:** RRC_OPERATING_CONTRACT.md gains three explicit QUARANTINE
triggers: (1) any claim taking the supremum over all decoders, (2) any
claim made from the limit of the certification ladder rather than a stage,
(3) any signed incompressibility certificate. W-axis cross-ref to the
TuringFeferman ordinal-logic literature added to the Omega extension doc.
- **Why:** the framework currently survives Chaitin by good habits; this makes
survival structural.
---
## Track E — External interface
### E1. Community-legible Sidon/Singer artifact *(needs A4, B1)*
- **Goal:** singer-theorem-lean (at its permanent home) builds against its
pinned mathlib with zero OTOM vocabulary, README maps every theorem to
community-standard names, definitions align with 329.lean.
- **Why:** first externally verifiable OTOM output; mathlib's difference-set
coverage is thin; this is the lineage of Pilatte's frontier method.
### E2. Upstream contribution (after E1 stabilizes)
- **Goal:** statement-level PR to google-deepmind/formal-conjectures (or
lemma-level to mathlib) accepted, or constructive review feedback received.
- **How:** start with the 329-adjacent finite lemmas from C2; smallest
publishable unit first.
---
## Dependency graph and firing order
```text
Today, no blockers: B1 → B2/B3/B4 (parallel) → B5, and B6 any time
Needs user input: A3 (DATABASE_URL), A1 (cupfox physical access)
After A1+A3: C1 → C3 After B1: C2 → E1 → E2
Independent: A2, A4, A5, D1, D2
Earned, not scheduled: C4 → C5
```
## Standing rules for every track
1. Narrow build target before broad; broad before claiming.
2. A refutation receipt counts as success (C4 explicitly).
3. No new axioms anywhere except via the documented epistemic branch (B3).
4. Receipts to ENE DB + Garage when fabric is up; to `shared-data/` when not.
5. Post-interaction workflow (root AGENTS.md) applies to every session.