{
  "task": "jdp-tess-injection",
  "schema_version": 1,
  "synthetic": true,
  "label": "SYNTHETIC INJECTION RECOVERY",
  "label_text": "Synthetic injection-recovery campaign. This is not a detection. No observation, real target, or discovery is involved.",
  "seed": 20261022,
  "campaign_fingerprint": "5d3e2e4e0c5fbcf9c11ef8ae15ee1f13536b81bce31cbebf38ea365949d73e21",
  "grid": {
    "injected_t0_offsets_days": [
      -0.005,
      0.0,
      0.005
    ],
    "noise_sigma": [
      6e-05,
      0.0001
    ],
    "signs": [
      "plus",
      "minus"
    ],
    "injection_count": 12,
    "seed_rule": "base_seed + 100 * offset_index + noise_index"
  },
  "settings": {
    "estimator": "tess_timing.fit.fit_transit",
    "model": "tess_timing.transit.transit_flux",
    "fixed_parameters": {
      "period_days": 5.0,
      "radius_ratio": 0.1,
      "duration_days": 0.04,
      "impact_parameter": 0.3,
      "u1": 0.3,
      "u2": 0.25,
      "dilution": 0.0,
      "baseline_offset": 0.0003
    },
    "time": {
      "reference_t0_days": 2450000.5,
      "cadence_days": 0.001388888888888889,
      "cadence_seconds": 120.0,
      "cadence_count": 50,
      "time_span_days": 0.06805555555555556
    },
    "noise": {
      "distribution": "Gaussian",
      "unit": "relative flux",
      "generator": "numpy.random.default_rng",
      "antithetic_pairs": true,
      "description": "Each cell draws one standard-normal vector and adds it with a positive and a negative sign, so the pair has zero mean noise."
    },
    "fit": {
      "free_parameters": [
        "t0",
        "radius_ratio",
        "duration",
        "baseline_offset",
        "jitter"
      ],
      "initial_guesses": {
        "t0": null,
        "radius_ratio": 0.1,
        "duration_days": 0.04
      },
      "max_nfev": 4000
    }
  },
  "runtime_seconds": 162.639,
  "runtime": {
    "seconds": 162.639,
    "budget_seconds": 300.0,
    "within_budget": true,
    "method": "Wall-clock time from the start of the run through the injection fits and figure generation. The first measured value for this campaign is pinned in runtime-ledger.json so repeated runs are byte-identical."
  },
  "software": {
    "python": "3.12.1",
    "numpy": "1.26.4",
    "scipy": "1.15.3",
    "astropy": "7.2.0",
    "tess_timing": "0.1.0"
  },
  "gate": {
    "source": "docs/SIMULATION-ROADMAP.md section 5.4",
    "quantity": "absolute timing bias divided by median reported t0 uncertainty",
    "threshold": 0.2,
    "value": 0.033014596682477186,
    "passes": true
  },
  "aggregates": {
    "injection_count": 12,
    "bias_days": -6.363261491060257e-07,
    "bias_seconds": -0.05497857928276062,
    "median_reported_sigma_t0_days": 1.9274085194073017e-05,
    "median_reported_sigma_t0_seconds": 1.6652809607679087,
    "bias_over_median_sigma": 0.033014596682477186,
    "scatter_days": 1.4099546630141186e-05,
    "scatter_seconds": 1.2182008288441986,
    "scatter_over_median_sigma": 0.7315287074935699,
    "pull_mean": -0.07764078483462687,
    "pull_rms": 0.6265057092533168,
    "max_abs_pull": 1.2884866135081086,
    "fraction_within_0.2_sigma": 0.16666666666666666,
    "fraction_within_1_sigma": 0.8333333333333334,
    "fraction_within_2_sigma": 1.0,
    "count_within_0.2_sigma": 2,
    "all_fits_converged": true
  },
  "injections": [
    {
      "index": 1,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": -0.005,
        "noise_sigma": 6e-05,
        "noise_sign": "plus"
      },
      "seed": 20261022,
      "injected_t0_days": 2450000.495,
      "recovered_t0_days": 2450000.4950179267,
      "reported_sigma_t0_days": 1.6235760678828537e-05,
      "error_days": 1.7926562577486038e-05,
      "error_seconds": 1.5488550066947937,
      "pull": 1.1041406024703426,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 28,
        "cadence_count": 50,
        "rms_ppm": 57.87153583601618,
        "chi_square_per_dof": 0.9750790040050502,
        "radius_ratio": 0.09990796922282183,
        "duration_days": 0.040023477447420484,
        "baseline_offset": 0.00029665510397807734,
        "jitter": 1.4708692861161941e-05
      }
    },
    {
      "index": 2,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": -0.005,
        "noise_sigma": 6e-05,
        "noise_sign": "minus"
      },
      "seed": 20261022,
      "injected_t0_days": 2450000.495,
      "recovered_t0_days": 2450000.4949872494,
      "reported_sigma_t0_days": 9.895902088066415e-06,
      "error_days": -1.2750737369060516e-05,
      "error_seconds": -1.1016637086868286,
      "pull": -1.2884866135081086,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 57.68642333149225,
        "chi_square_per_dof": 1.0270619926099942,
        "radius_ratio": 0.1001250938504,
        "duration_days": 0.03998839825772157,
        "baseline_offset": 0.00030808158197274835,
        "jitter": 2.146282753153474e-07
      }
    },
    {
      "index": 3,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": -0.005,
        "noise_sigma": 0.0001,
        "noise_sign": "plus"
      },
      "seed": 20261023,
      "injected_t0_days": 2450000.495,
      "recovered_t0_days": 2450000.494983398,
      "reported_sigma_t0_days": 2.0552660222726102e-05,
      "error_days": -1.6602221876382828e-05,
      "error_seconds": -1.4344319701194763,
      "pull": -0.8077894392485954,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 109.37887718932646,
        "chi_square_per_dof": 1.1395992973378064,
        "radius_ratio": 0.10014354876105216,
        "duration_days": 0.04005452927866213,
        "baseline_offset": 0.0003381755363088059,
        "jitter": 4.080029611107583e-05
      }
    },
    {
      "index": 4,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": -0.005,
        "noise_sigma": 0.0001,
        "noise_sign": "minus"
      },
      "seed": 20261023,
      "injected_t0_days": 2450000.495,
      "recovered_t0_days": 2450000.4950058204,
      "reported_sigma_t0_days": 1.7995510165419932e-05,
      "error_days": 5.820300430059433e-06,
      "error_seconds": 0.502873957157135,
      "pull": 0.3234306989108699,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 28,
        "cadence_count": 50,
        "rms_ppm": 109.0335292806016,
        "chi_square_per_dof": 1.085708387462032,
        "radius_ratio": 0.09991810976771644,
        "duration_days": 0.03998034670705534,
        "baseline_offset": 0.0002696578045382151,
        "jitter": 4.654530843823541e-05
      }
    },
    {
      "index": 5,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.0,
        "noise_sigma": 6e-05,
        "noise_sign": "plus"
      },
      "seed": 20261122,
      "injected_t0_days": 2450000.5,
      "recovered_t0_days": 2450000.5000100844,
      "reported_sigma_t0_days": 2.69553613767957e-05,
      "error_days": 1.0084360837936401e-05,
      "error_seconds": 0.8712887763977051,
      "pull": 0.3741133608625051,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 62.794261379628686,
        "chi_square_per_dof": 1.1087812425060792,
        "radius_ratio": 0.09999335400908352,
        "duration_days": 0.0399807280155487,
        "baseline_offset": 0.00029383647043933724,
        "jitter": 1.87457966220242e-05
      }
    },
    {
      "index": 6,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.0,
        "noise_sigma": 6e-05,
        "noise_sign": "minus"
      },
      "seed": 20261122,
      "injected_t0_days": 2450000.5,
      "recovered_t0_days": 2450000.4999892213,
      "reported_sigma_t0_days": 2.720775009797519e-05,
      "error_days": -1.077866181731224e-05,
      "error_seconds": -0.9312763810157776,
      "pull": -0.39616145320720186,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 62.90133015484099,
        "chi_square_per_dof": 0.5808774558345126,
        "radius_ratio": 0.09997929296015537,
        "duration_days": 0.040025806441911733,
        "baseline_offset": 0.0003017222954942781,
        "jitter": 6.299365427124546e-05
      }
    },
    {
      "index": 7,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.0,
        "noise_sigma": 0.0001,
        "noise_sign": "plus"
      },
      "seed": 20261123,
      "injected_t0_days": 2450000.5,
      "recovered_t0_days": 2450000.5000224626,
      "reported_sigma_t0_days": 4.730966053132679e-05,
      "error_days": 2.2462569177150726e-05,
      "error_seconds": 1.9407659769058228,
      "pull": 0.47479878157816846,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 112.6936876757278,
        "chi_square_per_dof": 1.0648591847068098,
        "radius_ratio": 0.10018636688862416,
        "duration_days": 0.03999221441435162,
        "baseline_offset": 0.00033468464417344177,
        "jitter": 5.7021778342302626e-05
      }
    },
    {
      "index": 8,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.0,
        "noise_sigma": 0.0001,
        "noise_sign": "minus"
      },
      "seed": 20261123,
      "injected_t0_days": 2450000.5,
      "recovered_t0_days": 2450000.49997652,
      "reported_sigma_t0_days": 4.9039071233485394e-05,
      "error_days": -2.3480039089918137e-05,
      "error_seconds": -2.028675377368927,
      "pull": -0.47880268731283065,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 112.53861964596557,
        "chi_square_per_dof": 0.9571652528985717,
        "radius_ratio": 0.09983001493917991,
        "duration_days": 0.04000732939032859,
        "baseline_offset": 0.0002669322667959866,
        "jitter": 6.857046833804185e-05
      }
    },
    {
      "index": 9,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.005,
        "noise_sigma": 6e-05,
        "noise_sign": "plus"
      },
      "seed": 20261222,
      "injected_t0_days": 2450000.505,
      "recovered_t0_days": 2450000.5049984003,
      "reported_sigma_t0_days": 1.2731786255186958e-05,
      "error_days": -1.5995465219020844e-06,
      "error_seconds": -0.1382008194923401,
      "pull": -0.12563410112625992,
      "within_0.2_sigma": true,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 64.47648717626451,
        "chi_square_per_dof": 1.1061898434358626,
        "radius_ratio": 0.09998861107891634,
        "duration_days": 0.04001050761826693,
        "baseline_offset": 0.0002946935099551778,
        "jitter": 2.3994003759012057e-05
      }
    },
    {
      "index": 10,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.005,
        "noise_sigma": 6e-05,
        "noise_sign": "minus"
      },
      "seed": 20261222,
      "injected_t0_days": 2450000.505,
      "recovered_t0_days": 2450000.5050001265,
      "reported_sigma_t0_days": 1.3563129937530725e-05,
      "error_days": 1.2665987014770508e-07,
      "error_seconds": 0.010943412780761719,
      "pull": 0.009338542853388346,
      "within_0.2_sigma": true,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 64.41474516086973,
        "chi_square_per_dof": 1.1157568460814462,
        "radius_ratio": 0.09999379861756749,
        "duration_days": 0.040000016264726,
        "baseline_offset": 0.00030357243220170606,
        "jitter": 2.3064754635659915e-05
      }
    },
    {
      "index": 11,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.005,
        "noise_sigma": 0.0001,
        "noise_sign": "plus"
      },
      "seed": 20261223,
      "injected_t0_days": 2450000.505,
      "recovered_t0_days": 2450000.5049927933,
      "reported_sigma_t0_days": 1.612502970269146e-05,
      "error_days": -7.206574082374573e-06,
      "error_seconds": -0.6226480007171631,
      "pull": -0.4469184997018461,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 28,
        "cadence_count": 50,
        "rms_ppm": 103.45506908671598,
        "chi_square_per_dof": 1.1178375674536345,
        "radius_ratio": 0.09996722476798496,
        "duration_days": 0.03996358035621881,
        "baseline_offset": 0.0002874192823394678,
        "jitter": 2.5269498739751275e-05
      }
    },
    {
      "index": 12,
      "synthetic": true,
      "grid_cell": {
        "injected_t0_offset_days": 0.005,
        "noise_sigma": 0.0001,
        "noise_sign": "minus"
      },
      "seed": 20261223,
      "injected_t0_days": 2450000.505,
      "recovered_t0_days": 2450000.5050083613,
      "reported_sigma_t0_days": 2.562638981620637e-05,
      "error_days": 8.361414074897766e-06,
      "error_seconds": 0.722426176071167,
      "pull": 0.3262813894140457,
      "within_0.2_sigma": false,
      "fit": {
        "converged": true,
        "status": 3,
        "in_transit_cadences": 29,
        "cadence_count": 50,
        "rms_ppm": 103.47803268654616,
        "chi_square_per_dof": 1.108384599344451,
        "radius_ratio": 0.10003705011330084,
        "duration_days": 0.040051456201398654,
        "baseline_offset": 0.0003147609102738802,
        "jitter": 2.709322967085272e-05
      }
    }
  ],
  "limits": [
    "Every light curve is synthetic and generated in this script.",
    "No archive product, real target, detection, or discovery is used.",
    "Period, limb darkening, impact parameter, and dilution are fixed.",
    "The fit is a demonstration on seeded noise, not a real timing measurement."
  ]
}
