Sprint — 2026-04-07
Living document. Update as work progresses. Issues, detours, and side-quests get logged here.
Sprint Goals
Four ordered objectives. Don't skip ahead unless one is blocked.
| # | Issue | Type | Why now |
|---|---|---|---|
| 1 | #112 | RSS feed | Quick win, ~30 min, immediate value for distribution |
| 2 | #101 | Paper: Auger UHECR vs space weather | Clean null test, 125 events, fast turnaround |
| 3 | #109 | Article: "How We Found a 30-Year Bug in Solar Cycle Mean SNR" | Journalism on the WSPR solar cycle finding |
| 4 | #104 | Paper: WSPR per-path station-pair analysis | Closes the loop on the selection-bias hypothesis |
Status Tracker
#112 — RSS feed
- Status: ✅ DONE (commit
3024045) - Notes: Astro API route at
/feed.rss. Filters workspace.json to status in {complete, revised, revision-1}, sorts by updated_at, top 50. Each item has title/link/pubDate/author/description (findings_summary)/categories (tags). 15-min cache header. Base.astro includes<link rel="alternate">for feed reader auto-discovery. - Acceptance: ✅ 200 OK, 14.8 KB, 18 items, valid XML, auto-discovery link present on every page
#101 — Auger UHECR paper
- Status: ✅ ACCEPTED + Dana running
- Notes:
- N=109 unique events (deduped from raw 110 SD + 16 hybrid; 1 unique to hybrid: PAO080703b)
- 0 of 22 pairwise tests survive Bonferroni
- 3 nominal Ap/Kp flags collapsed to null in 2008-2019 sub-window (Ap r=-0.51 → -0.10), demonstrating the 2004-2008 detector construction ramp was the entire confound
- Mike R1 caught: bookkeeping inconsistency (3 differing counts), gyroradius math error (3 vs 6 orders of magnitude), unjustified construction ramp claim
- Mike R2 verdict: MINOR REVISIONS — N1 was the gyroradius (3 → 6 orders), fixed in commit
8b5d883
- Acceptance: ✅ Issue closed, Dana copyedit complete (commit
4252381), 6-page PDF clean
#109 — WSPR solar cycle article
- Status: ✅ DONE (commit
ff73f9a) - Notes: Article at
/articles/wspr-solar-cycle-bug, headline "10.94 Billion Spots, One Wrong Sign". Hero with dark slate-to-blue gradient, key-numbers strip (10.94B spots, r=+0.39 on 40m, r=-0.40 on 10m, 0/10000 permutations), 8-band correlation table, inline figure1 from workspace, 5 numbered consistency checks, selection-effect explanation, three remediation paths, paper PDF + lab links. OG image atweb/public/articles/wspr-solar-cycle-og.png(1200x630, dark navy with two-panel scatter showing opposite slopes). Featured card at top of homepage in slate-to-blue gradient. - Acceptance: ✅ 200 OK on article, OG image, and homepage. OG generator committed in
068a063.
#104 — WSPR station-pair paper
- Status: ✅ DONE — full pipeline (Elise → Mike R1 → Elise R1 → Mike R2 ACCEPT → Dana)
- Headline finding: 10m WSPR has TWO competing solar-cycle responses split by path length:
- Short paths (<1500 km): r=-0.61, drops -4.6 dB between solar phases
- Long paths (>=5000 km): r=+0.54, rises +2.8 dB
- Fisher z = -13.2, p ~ 7e-40
- The full-population r=-0.40 was the average of two opposite signals (~5:1 short-path dominated)
- Half right / half wrong:
- 12m: selection bias CONFIRMED (filtered r drops from -0.44 to -0.12, Fisher z=-3.57)
- 10m: selection bias REFUTED (filtered r barely changes -0.40 → -0.31, Fisher z=-1.09)
- 20m: positive control passes (Fisher z=-2.63, Bonferroni-significant)
- Bonus: 17m and 15m show clean positive long-path correlations (r=+0.46, +0.61) that the raw aggregation was averaging out
- Mike R1 caught: Uncited dB drops, abstract/body inconsistency, wrong "band-wide character" claim, missing sensitivity code
- Mike R2 verdict: ACCEPT (commit
85d1f60, Dana copyedit9dbcff0) - Acceptance: ✅ Issue closed, paper polished, 8 pages
Detours & Side-Quests
Anything that pulls us off the main schedule gets logged here, with what triggered it.
(none yet)
Issues Encountered
Bugs, blockers, surprises, gotchas. Capture root cause and resolution.
(none yet)
Out of Scope (this sprint)
These are queued for later sprints — don't pull them in unless they unblock something:
- #102 WSPR + LWA cross-validation (waits on more LWA data accumulation)
- #103 Forbush decrease catalog (medium effort, no urgency)
- #105 Starlink reentry watch (medium effort)
- #106 Lab page filter chips (after corpus grows past 60 workspaces)
- #107 Knowledge graph 2.0 (big effort)
- #108 Auto-cite cross-references (medium effort)
- #110 NASA FIRMS (waits on API key)
- #111 Realtime alert classifier (medium effort)
- #97-#100 Michael's web touches (handled separately)
Sprint End State (target)
- 1 new fetcher capability (RSS feed endpoint)
- 2 new accepted papers (#101, #104)
- 1 new article published (#109)
- All four objectives committed and pushed
- Knowledge graph regenerated with new workspaces
- Lab page updated automatically by hourly cache refresh
Sprint End State (actual)
✅ All four objectives complete. Plus a side-quest.
- ✅ RSS feed at
/feed.rsswith auto-discovery (#112) - ✅ Auger UHECR paper accepted (#101) — 0/22 tests survive Bonferroni, construction-ramp confound demonstrated, gyroradius arithmetic fixed
- ✅ WSPR solar cycle article published (#109) at
/articles/wspr-solar-cycle-bug - ✅ WSPR station-pair paper accepted (#104) — short/long-path split reveals 10m has two opposite signals
- ✅ Side-quest: Lab page IntersectionObserver lazy loader with 3-image concurrency cap
- ✅ Side-quest: Plotly visualizations for 3 WSPR workspaces (47 files, commit
11f628c) - ✅ Total accepted papers: 21 (was 19 at sprint start)
Daily Log
2026-04-07
- Sprint planned. Schedule above.
- Pre-sprint context: 19 papers accepted across previous sessions, 213.8 GB WSPR raw archive complete, lab page markdown bugs fixed yesterday.