{
  "schema": "semiagora.github-seed-simulation.v1",
  "execution_mode": "precomputed-only",
  "experiment_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
  "slug": "current-mirror-compliance",
  "title": "Current mirror compliance and output resistance",
  "model_boundary": "normalized current-source model, no BSIM or layout parasitics",
  "public_boundary": [
    "No live server solver execution.",
    "No PDK or compact-model ingestion.",
    "No process recipe, equipment operation, qualification signoff, upload, account, payment, comment, newsletter signup, or submission workflow.",
    "Third-party GitHub tools remain source links unless separately reviewed."
  ],
  "headline_metric": {
    "name": "largest_abs_current_error_pct",
    "value_pct": 38.16667,
    "case": {
      "output_resistance_kohm": 80,
      "vout_v": 0.1
    }
  },
  "rows": [
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.1,
      "current_uA": 30.91667,
      "current_error_pct": -38.16667,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.2,
      "current_uA": 49.75,
      "current_error_pct": -0.5,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.3,
      "current_uA": 49.8125,
      "current_error_pct": -0.375,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.4,
      "current_uA": 49.875,
      "current_error_pct": -0.25,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.5,
      "current_uA": 49.9375,
      "current_error_pct": -0.125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.6,
      "current_uA": 50,
      "current_error_pct": 0,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.7,
      "current_uA": 50.0625,
      "current_error_pct": 0.125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.8,
      "current_uA": 50.125,
      "current_error_pct": 0.25,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 0.9,
      "current_uA": 50.1875,
      "current_error_pct": 0.375,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 1,
      "current_uA": 50.25,
      "current_error_pct": 0.5,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 1.1,
      "current_uA": 50.3125,
      "current_error_pct": 0.625,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 80,
      "vout_v": 1.2,
      "current_uA": 50.375,
      "current_error_pct": 0.75,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.1,
      "current_uA": 31.01389,
      "current_error_pct": -37.97222,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.2,
      "current_uA": 49.875,
      "current_error_pct": -0.25,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.3,
      "current_uA": 49.90625,
      "current_error_pct": -0.1875,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.4,
      "current_uA": 49.9375,
      "current_error_pct": -0.125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.5,
      "current_uA": 49.96875,
      "current_error_pct": -0.0625,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.6,
      "current_uA": 50,
      "current_error_pct": 0,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.7,
      "current_uA": 50.03125,
      "current_error_pct": 0.0625,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.8,
      "current_uA": 50.0625,
      "current_error_pct": 0.125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 0.9,
      "current_uA": 50.09375,
      "current_error_pct": 0.1875,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 1,
      "current_uA": 50.125,
      "current_error_pct": 0.25,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 1.1,
      "current_uA": 50.15625,
      "current_error_pct": 0.3125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 160,
      "vout_v": 1.2,
      "current_uA": 50.1875,
      "current_error_pct": 0.375,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.1,
      "current_uA": 31.0625,
      "current_error_pct": -37.875,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.2,
      "current_uA": 49.9375,
      "current_error_pct": -0.125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.3,
      "current_uA": 49.95312,
      "current_error_pct": -0.09375,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.4,
      "current_uA": 49.96875,
      "current_error_pct": -0.0625,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.5,
      "current_uA": 49.98438,
      "current_error_pct": -0.03125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.6,
      "current_uA": 50,
      "current_error_pct": 0,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.7,
      "current_uA": 50.01562,
      "current_error_pct": 0.03125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.8,
      "current_uA": 50.03125,
      "current_error_pct": 0.0625,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 0.9,
      "current_uA": 50.04688,
      "current_error_pct": 0.09375,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 1,
      "current_uA": 50.0625,
      "current_error_pct": 0.125,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 1.1,
      "current_uA": 50.07812,
      "current_error_pct": 0.15625,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    },
    {
      "simulation_id": "SA-SEED-CIR-MIRROR-COMPLIANCE-001",
      "domain": "circuit",
      "output_resistance_kohm": 320,
      "vout_v": 1.2,
      "current_uA": 50.09375,
      "current_error_pct": 0.1875,
      "teaching_point": "Current mirrors need output headroom and output resistance, not only matched devices."
    }
  ],
  "methods": [
    "Target current is adjusted by finite output resistance and a compliance penalty.",
    "Current error is measured relative to the nominal target current.",
    "Worst case is selected by largest absolute current-error percentage."
  ],
  "limitations": [
    "No transistor sizing, mismatch Monte Carlo, PVT corner, layout parasitic, or BSIM model is included.",
    "No analog IP signoff or production bias recommendation is made.",
    "Use ngspice or Xyce with a public model deck for publishable circuit evidence."
  ],
  "evidence": [
    "Seed sweep JSON records output resistance, voltage, current, and error rows.",
    "CSV export preserves the compliance sweep table.",
    "GitHub expedition notes Xyce and PySpice as external solver references."
  ],
  "sources": [
    {
      "label": "Xyce",
      "url": "https://github.com/Xyce/Xyce",
      "note": "External SPICE-compatible solver reference; the public card is a precomputed educational surrogate."
    },
    {
      "label": "PySpice",
      "url": "https://github.com/PySpice-org/PySpice",
      "note": "External Python SPICE interface reference kept behind a license/dependency boundary."
    }
  ],
  "source_seed_run": "07_assets/factory_lab/experiments/GITHUB_OPEN_SOURCE_SEED_SWEEP_2026-08-14/"
}
