{
 "date": "2026-10-12",
 "group": "Orbit and upper-atmosphere studies",
 "generated_at": "2026-10-13T07:30:30Z",
 "sources": [
  "job logs and records brought home from the cluster",
  "the hub's jobs list",
  "notebook entries",
  "the research register",
  "commits under tools/hpc"
 ],
 "read_against_pass_lines_today": [
  "the error atlas",
  "the antenna study"
 ],
 "totals": {
  "jobs": 0,
  "studies_read_against_pass_lines_today": 2,
  "studies_with_jobs": 0,
  "finished": 0,
  "stopped": 0,
  "running_at_end": 0,
  "saving_jobs": 0,
  "node_hours": 0
 },
 "pass_line_definition": "A pass line is the result a study's plan named, before the run, as the answer to its question.",
 "studies": [
  {
   "short_name": "the detector rerun",
   "state": "scored; follow-ups owed",
   "provisional": false,
   "pass_line_counts": {
    "met": 1,
    "being read": 1,
    "not met": 2
   },
   "pass_lines": [
    {
     "name": "The published counts come back",
     "status": "not met",
     "reading": "The published counts come back: not met. 22 of 36 quantities fall inside their ranges, so this line is not met. The ranges allow for rows added to the archive during the morning of 20 September.",
     "reason": "22 of 36 quantities fall inside their ranges, so this line is not met."
    },
    {
     "name": "Separation of 10 or more on the SGP4 axis",
     "status": "met",
     "reading": "Separation of 10 or more on the SGP4 axis: met. The separation is 18.212 on the rows to 20 September and 26.848 on all rows to 3 October, so this line is met. Before the rule the figures are 6.9 and 10.399.",
     "reason": "The separation is 18.212 on the rows to 20 September and 26.848 on all rows to 3 October, so this line is met."
    },
    {
     "name": "The SGP4 axis corroborates the inclination by itself",
     "status": "being read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Per-object counts move more than the two halves of a record differ",
     "status": "not met",
     "reading": "R, with a 95% interval from 2,000 object resamples: not met. Not met in all four rows",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 1.29,
   "next": [
    "name the 15 objects behind the failed check against the published counts (11 passive, 4 payload) from an object table as of 20 September, and rerun the check with it"
   ]
  },
  {
   "short_name": "the close-pass study",
   "state": "scored; follow-ups owed",
   "provisional": false,
   "pass_line_counts": {
    "met": 4,
    "not met": 1
   },
   "pass_lines": [
    {
     "name": "A normal error spread covers the truth",
     "status": "not met",
     "reading": "Truth coverage, normal spread: not met. Within one sigma the three directions sit at 0.589, 0.588 and 0.639, inside the 58% to 78% band. Within two they sit at 0.812, 0.781 and 0.865, under 90%.",
     "reason": ""
    },
    {
     "name": "Student-t coverage on held-out objects",
     "status": "met",
     "reading": "Student-t coverage on held-out objects: met. both ways round. The pooled fit gives 1.87 degrees of freedom (1.81 radial, 1.56 along-track, 2.54 cross-track); the two halves give 1.82 and 1.92.",
     "reason": "Below 2 the spread has no finite variance, so sigma here is a scale."
    },
    {
     "name": "Shuffled pairs: summed chance against the count",
     "status": "met",
     "reading": "The summed chance under 1 km must lie inside the 95% Poisson interval of the count under 1 km, on all pairs and on low-orbit pairs with a long axis under 200 m.: met. Met",
     "reason": ""
    },
    {
     "name": "Round integral",
     "status": "met",
     "reading": "Round integral: met. the largest difference from the site's chance was 1.3e-06 against 0.0002. Geometry: met; 99.89% of passes reproduce the record's miss within 10 m.",
     "reason": ""
    },
    {
     "name": "Geometry",
     "status": "met",
     "reading": "Geometry: met. 99.89% of passes reproduce the record's miss within 10 m.",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 0.21,
   "next": [
    "a check of the low-orbit factor on debris or rocket bodies with precise orbits; today 11 objects (five laser spheres, six altimetry satellites) set every non-Starlink low ellipse, along-track factor 13.8"
   ]
  },
  {
   "short_name": "the burn-cadence detector",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 3,
    "not met": 3
   },
   "pass_lines": [
    {
     "name": "1. Recall of 50 mm/s cross-track burns, cadence minus step at least +0.30",
     "status": "not met",
     "reading": "1. Recall of 50 mm/s cross-track burns, cadence minus step at least +0.30: not met. Not met: +0.0027 at k = 134.477. At the same level the cadence detector finds 0.0464 of 75 mm/s burns, 0.1103 of 100 mm/s and 0.3055 of 200 mm/s;",
     "reason": ""
    },
    {
     "name": "2. Passive control at most 5%, upper bound at most 8%",
     "status": "met",
     "reading": "2. Passive control at most 5%, upper bound at most 8%: met. Met: 49 of 4,408 windows of the test half, 0.0111, Jeffreys interval 0.0083 to 0.0145.",
     "reason": ""
    },
    {
     "name": "3a. The period survives the step shuffle, grid",
     "status": "met",
     "reading": "3. The period survives the step shuffle in at most 10% of declared trains: partly met. On the grid, met: 0.0182 of 2,092 declared trains. On payload windows, not met: 159 of 1,295, 0.1228. On passive ring windows from both halves, 1 of 93.",
     "reason": ""
    },
    {
     "name": "3b. The period survives the step shuffle, payload windows",
     "status": "not met",
     "reading": "3. The period survives the step shuffle in at most 10% of declared trains: partly met. On the grid, met: 0.0182 of 2,092 declared trains. On payload windows, not met: 159 of 1,295, 0.1228. On passive ring windows from both halves, 1 of 93.",
     "reason": ""
    },
    {
     "name": "4. At least 80% of declared trains within 10% of the planted period",
     "status": "not met",
     "reading": "4. At least 80% of declared trains within 10% of the planted period: not met. Not met: 0.7610 of 2,092. The share falls with the cadence, from 0.865 at 7 days to 0.517 at 56 days. Passive ring objects reach 0.969 over 1,451 trains;",
     "reason": ""
    },
    {
     "name": "5. Median recovered over planted size within 0.80 to 1.25",
     "status": "met",
     "reading": "5. Median recovered over planted size within 0.80 to 1.25: met. Met: 0.9741 over 2,092 trains.",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 4.61,
   "next": [
    "a declaration level chosen on held-out data that meets pass lines 1 and 2 together: thresholds rebuilt from each window's own resampled residuals, or a level set on the years the recall covers (the 2023 to 2025 passive windows give 80.959, where recall is 0.0302)"
   ]
  },
  {
   "short_name": "the error atlas",
   "state": "scored; follow-ups owed",
   "provisional": false,
   "pass_line_counts": {
    "met": 2,
    "partly met": 2,
    "not met": 2
   },
   "pass_lines": [
    {
     "name": "L1 held-out coverage",
     "status": "partly met",
     "reading": "L1 pooled: met. within one scale 0.655 to 0.742, within two 0.915 to 0.980, both halves L1 medium: not met. 118 objects; within two cross-track 0.983 on one half, every other value inside L1 geosynchronous: not met. 18 objects; within two along-track 0.895 on one half, radial 0.995 on the other L1 low: not met. 12 objects, 6 a half; within two along-track 1.000 both ways, radial 0.829 and 0.891",
     "reason": ""
    },
    {
     "name": "L2 planted errors recovered",
     "status": "partly met",
     "reading": "L2a: met. growth error 0.068 to 0.079; scale spread 0.054 to 0.064 dex; degrees of freedom 1.51, 1.91, 2.98, 24.47 for 1.5, 1.9, 3, 30 L2b: not met. factor recovered 2.0; planted half within two scales 0.830 radial, 0.870 along, 0.945 cross",
     "reason": "Cross-track, coverage of the planted half fell from 0.993 to 0.945 and stayed inside the band, so a doubled cross-track error does not show."
    },
    {
     "name": "L3 factors stable across Septembers",
     "status": "not met",
     "reading": "L3a: not met. geosynchronous 1.35 at most, met; medium 1.73 along and 1.69 cross, not met; low one September only L3b: not met. medium within two along-track 0.871; geosynchronous within one along-track 0.561",
     "reason": ""
    },
    {
     "name": "N1 truth shuffled among objects",
     "status": "not met",
     "reading": "N1: not met. medium radial 0.246 against 0.139 and along 0.192 against 0.084; cross -0.202 against 0.103; low and geosynchronous below their shuffles",
     "reason": ""
    },
    {
     "name": "N2 class labels scrambled",
     "status": "met",
     "reading": "N2: met. 3.07, 3.20 and 2.94 against 2.11, 2.41 and 2.89",
     "reason": ""
    },
    {
     "name": "R the close-pass fit reproduced",
     "status": "met",
     "reading": "R: met. 19 quarters, largest difference 0",
     "reason": ""
    }
   ],
   "verdict_today": "A1v3 and A4v3 are not met; three fallback coverage quarters and three precise-orbit groups fail.",
   "node_hours_last_7_days": 0.25,
   "next": [
    "split the residuals by object and element-set age and measure each group's calibration influence, to tell a directional mismatch from sparse calibration"
   ]
  },
  {
   "short_name": "the thermosphere study",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 4,
    "not met": 2
   },
   "pass_lines": [
    {
     "name": "P1 quiet agreement",
     "status": "met",
     "reading": "P1, quiet agreement: met. Met in all 15 shells read. From 250 to 600 km, 0.874 to 0.997 of quiet shell-days lie within a factor of 1.5 of the model (line 0.80);",
     "reason": "Each shell's ratio is scaled so that its median on quiet days is 1, so P1 measures the scatter of the ratio around the model's day-to-day shape and says nothing about the absolute level."
    },
    {
     "name": "P2 storm enhancement",
     "status": "not met",
     "reading": "P2, storm enhancement: not met. Not met in any of the 8 shells from 250 to 650 km.",
     "reason": ""
    },
    {
     "name": "P3 planted signal",
     "status": "not met",
     "reading": "P3, planted signal: not met. Not met. From 250 to 600 km the median recovered share of a planted factor of 1.5 is 0.791 to 0.998;",
     "reason": ""
    },
    {
     "name": "N1 storm dates shuffled",
     "status": "met",
     "reading": "N1, storm dates shuffled: met. Met in every shell. The real median rise of recovered density is 1.138 to 1.511 against shuffled 99th percentiles of 1.046 to 1.105.",
     "reason": "This null reads recovered density, which is the ratio times the model, so the model's own storm term passes it."
    },
    {
     "name": "N2 objects scrambled across shells",
     "status": "met",
     "reading": "N2, objects scrambled across shells: met. Met. The log storm response of the ratio falls by 0.0176 per 100 km from 250 to 800 km; 20 scrambles give slopes of -0.0040 to +0.0028.",
     "reason": ""
    },
    {
     "name": "R1 the raw sets",
     "status": "met",
     "reading": "R1, the raw sets: met. Met as read on 3 October: all five objects at 370 to 538 km fall 1.77 to 3.89 times faster on 10 and 11 May 2024 than in the six days before, at 4.9 to 6.7 standard errors.",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 1.4,
   "next": [
    "the comparison with the published catalog-derived density record (Narayanan, Sicoli and Mehta, arXiv 2604.24646) and with Gondelach and Linares 2020: yearly quiet-day ratio and storm rise by shell"
   ]
  },
  {
   "short_name": "the two full-depth screen runs (authority and deep)",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 10,
    "not met": 1
   },
   "pass_lines": [
    {
     "name": "A1 messaged passes found",
     "status": "met",
     "reading": "490 of 490, line 97 percent",
     "reason": ""
    },
    {
     "name": "A3 passes the authority would have dropped",
     "status": "met",
     "reading": "0 of 10,157, line at most 2 percent",
     "reason": ""
    },
    {
     "name": "N1 low-orbit null",
     "status": "met",
     "reading": "0.090",
     "reason": ""
    },
    {
     "name": "N2 low-orbit null",
     "status": "met",
     "reading": "0.172",
     "reason": ""
    },
    {
     "name": "Brute 10-second check",
     "status": "met",
     "reading": "99 percent",
     "reason": ""
    },
    {
     "name": "Against the September record",
     "status": "met",
     "reading": "959,029 to 959,001, ratio 1.00003",
     "reason": ""
    },
    {
     "name": "D1, the 60-second step",
     "status": "met",
     "reading": "Met. Of 11,956 passes under 10 km in the 10-second screen on 12 days, the 60-second screen holds 11,915 within 60 s (0.9966, 95% interval 0.9954 to 0.9975; line 0.99 per run). By region the summary gives medium 33 of 53 and belt 94 of 111.",
     "reason": ""
    },
    {
     "name": "D2, measured over shuffled",
     "status": "met",
     "reading": "Met. Stretched passes under 10 km give 0.9982 (0.9954 to 1.0012) on 1,006 days, inside 0.95 to 1.05, and 0.9912 (0.9816 to 1.0005) under 3 km. The line covers stretched orbits only.",
     "reason": ""
    },
    {
     "name": "D3, the spread over neighboring sets",
     "status": "not met",
     "reading": "Not met in any region at either line. The spread is the greatest minus the least count of passes under the line over every combination of each object's sets within three days, divided by the nearest-set count; the line is 0.40.",
     "reason": ""
    },
    {
     "name": "D4, the 1 October record",
     "status": "met",
     "reading": "Met. Over 33 whole months, stretched passes under 10 km number 990,176 against 989,641 (ratio 1.00054), and 88,461 against 88,413 under 3 km; medium gives 4,910 against 4,908 under 10 km and 518 against 518 under 3 km.",
     "reason": ""
    },
    {
     "name": "R1, a second propagator",
     "status": "met",
     "reading": "Met in all three regions. The ten closest passes of each region, recomputed every 0.1 s from the same two element sets by a second, independent implementation of SGP4, agree within 0.0014 km in all 30.",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 5.5,
   "next": [
    "the authority comparison outside the 37 days the public message store holds (needs a longer message archive)",
    "the 88 and 443 extra stretched passes of January 2024 and September 2026 against the 1 October record (sets added to the archive after 1 October is the first guess)"
   ]
  },
  {
   "short_name": "the reentry forecast",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 4,
    "not met": 5
   },
   "pass_lines": [
    {
     "name": "NP1 density error against the model",
     "status": "met",
     "reading": "NP1 density error against the model: met. 0.79 all days, 0.85 storm days",
     "reason": ""
    },
    {
     "name": "NP2 density error against persistence",
     "status": "met",
     "reading": "NP2 density error against persistence: met. 0.93 at 6 h, 0.81 at 24 h, 0.78 at 72 h",
     "reason": ""
    },
    {
     "name": "NP3 density intervals hold",
     "status": "not met",
     "reading": "NP3 density intervals hold: not met. 0.52, 0.48, 0.43 against 0.75 to 0.85",
     "reason": ""
    },
    {
     "name": "NN1 the catalog adds skill the shuffled catalog does not",
     "status": "met",
     "reading": "NN1 catalog adds skill the shuffled catalog does not: met. 0.059 against -0.009",
     "reason": ""
    },
    {
     "name": "NW1 solar wind helps on storm days",
     "status": "not met",
     "reading": "NW1 solar wind helps on storm days: not met. 0.958 against 0.95",
     "reason": ""
    },
    {
     "name": "RP1 reentry windows hold",
     "status": "met",
     "reading": "RP1 reentry windows hold: met. 79.8, 76.9, 77.7 percent by lead band",
     "reason": ""
    },
    {
     "name": "RP2 error against the official messages",
     "status": "not met",
     "reading": "RP2 error against the official messages: not met. 6.2 h against 3.3 h, 63 messages, 13 objects",
     "reason": ""
    },
    {
     "name": "RP3 shuffled density is worse",
     "status": "not met",
     "reading": "RP3 shuffled density is worse: not met. 1.10 times, 4 of 10 draws",
     "reason": ""
    },
    {
     "name": "RP4 forecast-fed beats model-fed",
     "status": "not met",
     "reading": "RP4 forecast-fed beats model-fed: not met. 0.99 against 0.90",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 0.36,
   "next": [
    "figure: reentry error against the number of sets in the fit window (what carries the two-day error)"
   ]
  },
  {
   "short_name": "the fuel gauge",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 2,
    "not met": 7
   },
   "pass_lines": [
    {
     "name": "P1a engine type, bus families held out",
     "status": "not met",
     "reading": "P1a engine type, bus families held out: not met. 0.70 against 0.75",
     "reason": ""
    },
    {
     "name": "P1b engine type, operators held out",
     "status": "met",
     "reading": "P1b engine type, operators held out: met. 0.82 against 0.70",
     "reason": ""
    },
    {
     "name": "N1 bus-shuffled null",
     "status": "not met",
     "reading": "N1 bus-shuffled null: not met. 0.64, gap 0.06 against 0.10",
     "reason": ""
    },
    {
     "name": "P2 delta-v budget within a factor of 2",
     "status": "not met",
     "reading": "P2 delta-v budget within a factor of 2: not met. 67 percent against 70",
     "reason": ""
    },
    {
     "name": "P3 retirement forecast inside its band",
     "status": "not met",
     "reading": "P3 retirement forecast inside its band: not met. 3 of 11 years against 8",
     "reason": ""
    },
    {
     "name": "P4 fuel adds skill over age",
     "status": "not met",
     "reading": "P4 fuel adds skill over age: not met. 0.004 against 0.02",
     "reason": ""
    },
    {
     "name": "N3 fuel shuffled adds none",
     "status": "not met",
     "reading": "N3 fuel shuffled adds none: not met. 0.0052 against 0.005",
     "reason": ""
    },
    {
     "name": "R1 planted burns recovered",
     "status": "met",
     "reading": "R1 planted burns recovered: met. GEO 100 percent, LEO 92 percent",
     "reason": ""
    },
    {
     "name": "R2 payload burn rate over the passive floor",
     "status": "not met",
     "reading": "R2 payload burn rate over the passive floor: not met. GEO 17.8, LEO-mid 2.5, others under 0.2",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 0.09,
   "next": [
    "the belt delta-v record as a site reading (per fleet, per year), with the passive floor beside it"
   ]
  },
  {
   "short_name": "the avoidance map",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 1,
    "not met": 9
   },
   "pass_lines": [
    {
     "name": "P1 placebo day at most a third of the real rate",
     "status": "not met",
     "reading": "P1 placebo day at most a third of the real rate: not met. 0.82",
     "reason": ""
    },
    {
     "name": "P2 placebo at most a third, fleet by fleet",
     "status": "not met",
     "reading": "P2 placebo at most a third, fleet by fleet: not met. 0 of 40 fleets",
     "reason": ""
    },
    {
     "name": "P3 objects that cannot burn at most a third",
     "status": "not met",
     "reading": "P3 objects that cannot burn at most a third: not met. 0.58",
     "reason": ""
    },
    {
     "name": "P4 recall of SpaceX planned burns over 100 m",
     "status": "not met",
     "reading": "P4 recall of SpaceX planned burns over 100 m: not met. 21 percent against 50",
     "reason": ""
    },
    {
     "name": "P4b the counted calendar's recall",
     "status": "not met",
     "reading": "P4b the counted calendar's recall: not met. 14 percent",
     "reason": ""
    },
    {
     "name": "P5 Starlink count against the public figure",
     "status": "not met",
     "reading": "P5 Starlink count against the public figure: not met. 0.51, 0.31, 0.18 of reported",
     "reason": ""
    },
    {
     "name": "P6 planted 300 m dodges caught",
     "status": "met",
     "reading": "P6 planted 300 m dodges caught: met. 95 percent",
     "reason": ""
    },
    {
     "name": "P7 held-out-fleet classifier",
     "status": "not met",
     "reading": "P7 held-out-fleet classifier: not met. lowest AUC 0.56 against 0.75",
     "reason": ""
    },
    {
     "name": "P8 both parties moved, over chance",
     "status": "not met",
     "reading": "P8 both parties moved, over chance: not met. 1.23 times against 2",
     "reason": ""
    },
    {
     "name": "P9 burns before recorded passes, over shifted",
     "status": "not met",
     "reading": "P9 burns before recorded passes, over shifted: not met. 1.15 times against 2",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 1.75,
   "next": [
    "a who-moves-for-whom reading on the fleets whose own ephemerides are public (SpaceX), with the ephemeris as truth instead of the catalog"
   ]
  },
  {
   "short_name": "the intercept forecast",
   "state": "scored; follow-ups owed",
   "provisional": false,
   "pass_line_counts": {
    "not yet read": 8
   },
   "pass_lines": [
    {
     "name": "Line 0 the minute search finds the 10-second passes",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Line 3 recall on recorded belt approaches",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Line 1 belt drifts stand out",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Line 1 phasing stands out",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Line 1 plane changes stand out",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Line 2 station-keeping near chance",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Line 2 raises and lowerings near chance",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    },
    {
     "name": "Held belt satellites, no excess expected",
     "status": "not yet read",
     "reading": "",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 0.67,
   "next": [
    "a null matched to held belt satellites' slot spacing before the 3.5x excess is read"
   ]
  },
  {
   "short_name": "the antenna study",
   "state": "scored; follow-ups owed",
   "provisional": false,
   "pass_line_counts": {
    "partly met": 1,
    "not met": 3
   },
   "pass_lines": [
    {
     "name": "G1 recovered terms within three bounds of the published field",
     "status": "not met",
     "reading": "G1 recovered terms within three bounds of the published field: not met. C22 438 bounds, S22 36 bounds off",
     "reason": ""
    },
    {
     "name": "G2 planted changes recovered at three sizes",
     "status": "not met",
     "reading": "G2 planted changes recovered at three sizes: not met. C22 -0.1, -1.4, -1.5 bounds; S22 -4.3, -5.9, -4.9",
     "reason": ""
    },
    {
     "name": "G3 synthetic null: 9 of 10 draws within three bounds, mean within one",
     "status": "partly met",
     "reading": "G3 synthetic null: 9 of 10 draws within three bounds, mean within one: not met. C22 10 of 10, mean -1.1; S22 0 of 10, mean -4.5 G3 constants check: a shifted catalog J2 moves the result under one bound: met. 0.002 bounds",
     "reason": ""
    },
    {
     "name": "G4 error falls as the square root of the object count to a floor",
     "status": "not met",
     "reading": "G4 error falls as the square root of the object count to a floor: not met. synthetic C22 at the floor from 10 objects; real C22 flat at 2.4e-9; real S22 falls to 2.5e-10",
     "reason": ""
    }
   ],
   "verdict_today": "S3-a and S3-b met; S3-c: real degree-8 advantage 618, so the longitude pattern is not gravity above degree 2.",
   "node_hours_last_7_days": 47.37,
   "next": [
    "compare the pattern with each slot's station-keeping history"
   ]
  },
  {
   "short_name": "the kick study",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "not met": 4
   },
   "pass_lines": [
    {
     "name": "K1 planted kicks recovered, slow drifts not counted",
     "status": "not met",
     "reading": "K1 planted kicks recovered, slow drifts not counted: not met. 3 floors 0.5 percent, 10 floors 70; drifts 0.3 percent",
     "reason": ""
    },
    {
     "name": "K2 null rate at most a third of the real rate",
     "status": "not met",
     "reading": "K2 null rate at most a third of the real rate: not met. 0.101 against 0.099",
     "reason": ""
    },
    {
     "name": "K3 the 2007 and 2009 breakups show as spikes",
     "status": "not met",
     "reading": "K3 the 2007 and 2009 breakups show as spikes: not met. 1.03 and 1.20 times neighbors",
     "reason": ""
    },
    {
     "name": "K4 flux by height follows the known shape",
     "status": "not met",
     "reading": "K4 flux by height follows the known shape: not met. peak at 1,900 km; 400 to 600 km thirty times 800 to 1,000",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 0.12,
   "next": [
    "nothing from the public elements; a reading would need the publisher's tracking data"
   ]
  },
  {
   "short_name": "the wind study",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 2,
    "not met": 3
   },
   "pass_lines": [
    {
     "name": "W1 mean zonal wind within three floors of HWM14",
     "status": "met",
     "reading": "W1 mean zonal wind within three floors of HWM14: met. 0.3 against -7.1 m/s, 1.7 floors",
     "reason": ""
    },
    {
     "name": "W2 planted winds recovered",
     "status": "met",
     "reading": "W2 planted winds recovered: met. 0.6 to 1.3 floors at all amplitudes",
     "reason": ""
    },
    {
     "name": "W3 both nulls recover nothing",
     "status": "not met",
     "reading": "W3 both nulls recover nothing: not met. sign flips 1.5 floors; shuffles 8 of 10 under one",
     "reason": ""
    },
    {
     "name": "W4 drag-scale sensitivity within the stated factor",
     "status": "not met",
     "reading": "W4 drag-scale sensitivity within the stated factor: not met. -37 and +47 m/s against 3.8",
     "reason": ""
    },
    {
     "name": "W5 gain falls as the square root of the count",
     "status": "not met",
     "reading": "W5 gain falls as the square root of the count: not met. floor 5.5 m/s reached by 318 objects; curve not followed",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 1.23,
   "next": [
    "reopen only with an independent drag scale per object (an accelerometer-calibrated density record would do; the catalog alone cannot)"
   ]
  },
  {
   "short_name": "the resonant gravity study",
   "state": "scored; follow-ups owed",
   "provisional": true,
   "pass_line_counts": {
    "met": 1,
    "not met": 3
   },
   "pass_lines": [
    {
     "name": "R1 lumped coefficient per band against Kaula's rule",
     "status": "not met",
     "reading": "R1 lumped coefficient per band against Kaula's rule: not met. 17 of 38 bands within three floors",
     "reason": ""
    },
    {
     "name": "R2 planted terms recovered",
     "status": "met",
     "reading": "R2 planted terms recovered: met. every band, all three sizes",
     "reason": ""
    },
    {
     "name": "R3 synthetic null",
     "status": "not met",
     "reading": "R3 synthetic null: not met. clean in 36 of 38 bands; constants check passed",
     "reason": ""
    },
    {
     "name": "R4 gain against band count",
     "status": "not met",
     "reading": "R4 gain against band count: not met. square-root law across bands; within a band more effective objects than the bound allowed",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 2.61,
   "next": [
    "v4 with physical drag"
   ]
  },
  {
   "short_name": "the storm-wave study",
   "state": "finished and scored",
   "provisional": false,
   "pass_line_counts": {
    "met": 2,
    "not met": 2
   },
   "pass_lines": [
    {
     "name": "V1 pooled speed within three floors of the CHAMP range",
     "status": "met",
     "reading": "V1 pooled speed within three floors of the CHAMP range: met. -0.4 h, floor 3.75 h; zero delay also inside",
     "reason": ""
    },
    {
     "name": "V2 planted speeds recovered at all three amplitudes",
     "status": "not met",
     "reading": "V2 planted speeds recovered at all three amplitudes: not met. two and four rises recovered, one rise not",
     "reason": ""
    },
    {
     "name": "V3 quiet and moved nulls give no delay in 9 of 10 draws",
     "status": "met",
     "reading": "V3 quiet and moved nulls give no delay in 9 of 10 draws: met. 0 of 10 against in each",
     "reason": ""
    },
    {
     "name": "V4 single-storm spread consistent with the 12-hour floor",
     "status": "not met",
     "reading": "V4 single-storm spread consistent with the 12-hour floor: not met. 4.7 h",
     "reason": ""
    }
   ],
   "verdict_today": null,
   "node_hours_last_7_days": 0.29,
   "next": [
    "nothing from the public elements; the daily fit span smears the arrival"
   ]
  }
 ],
 "jobs": [],
 "failures": [],
 "timing_estimates": [],
 "commits": [
  {
   "id": "c1074ac0",
   "subject": "Select Jean accounts by queue to prevent delayed AIML starts"
  },
  {
   "id": "989a2f81",
   "subject": "Prevent broken pipes during archive staging and round checks"
  },
  {
   "id": "5f6bb365",
   "subject": "Refresh package site files and check existing rehearsal inputs"
  },
  {
   "id": "ddb4c43a",
   "subject": "Rehearse orbit rounds before copying packages"
  },
  {
   "id": "d08e6a47",
   "subject": "Require orbit package success lines before launch"
  },
  {
   "id": "3ec353c2",
   "subject": "Report rejected orbit paths and resolve detector job folders"
  },
  {
   "id": "f1c20615",
   "subject": "Reset bundle inventory after cleanup and carry CUDA burn inputs"
  },
  {
   "id": "b5f6d36f",
   "subject": "Carry round queues and retry refused Jean accounts"
  },
  {
   "id": "a44f288e",
   "subject": "Allow uncharged queues by site in orbit bundles"
  },
  {
   "id": "6e112215",
   "subject": "Learn burn probabilities, sizes and directions from object histories"
  },
  {
   "id": "0054c3a0",
   "subject": "Preserve shared inputs during orbit cleanup"
  },
  {
   "id": "c43e5ef0",
   "subject": "Check AMD devices through the tensor runtime"
  },
  {
   "id": "347a8238",
   "subject": "Pack shared debug-only packages in space rounds"
  },
  {
   "id": "6dec1a5b",
   "subject": "Select orbit job sites from the exported system name"
  },
  {
   "id": "586e038f",
   "subject": "Add an offline ROCm 6.4 tensor stack for shared GPU jobs"
  },
  {
   "id": "367528f1",
   "subject": "Use the site work folder for orbit rounds"
  },
  {
   "id": "7b359b71",
   "subject": "Calibrate precise-orbit groups and explain missed keeping burns"
  },
  {
   "id": "ec48efb4",
   "subject": "Hold orbit launches on a short debug job"
  },
  {
   "id": "90d082e6",
   "subject": "Add the density model seed sweep and reference ablations"
  },
  {
   "id": "3b1cb386",
   "subject": "Give the Jean sweep run card its space need"
  },
  {
   "id": "853bd3c4",
   "subject": "Add a clean-all round that takes every space folder off Jean"
  },
  {
   "id": "2eac2961",
   "subject": "Run D3 on CPU nodes and test day-to-day skill against the nowcast"
  },
  {
   "id": "97c149c2",
   "subject": "Add D3 of the density study: a model trained on Swarm itself"
  },
  {
   "id": "638fb266",
   "subject": "Antenna stage 3: gravity in the fit cut at degree 2 against degree 8"
  },
  {
   "id": "b0e24bb4",
   "subject": "Era scan v2: block bootstrap of the detrended series"
  },
  {
   "id": "17cb4287",
   "subject": "Calibrate era change-point strength against 100 turned copies"
  }
 ]
}